A key challenge in a future analytics-driven signage system is how to incorporate the analytics insights into content scheduling decisions. In this section, we introduce existing content scheduling approaches from the digital signage domain, and also provide an overview of basic scheduling algorithms that have been developed in the context of fundamental task and process scheduling research.
5.2 The Need for Dynamic Content Scheduling 112
5.2.1 Existing Content Scheduling Approaches
Traditionally, content scheduling for public displays is carried out using predefined timelines or playlists that consist of a detailed description of when and where a certain piece of content should be shown – either for individual displays or for a group of displays. Examples of a commercial system with such complex timeline-based scheduling capabilities include Sony Ziris [Son] and BroadSign [Bro] that provided users with comprehensive user interfaces, allowing detailed control of content shown on individual displays within the signage network. The use of a combination of scheduling techniques has been used in a number of research works including [Fin+96;MCL01;Chu+03;Elh+14]. For example, researchers often utilised interaction-driven content scheduling (i.e. based on explicit input of the viewer through mobile phones [Dav+09]) combined with simple cycling through a predefined set of content items [KGR08]. Further research, such as work conducted by Storz et al. [Sto+06] and Elhart et al. [Elh+14], explored the design and development of scheduling systems that allow the specification of a range of scheduling constraints including a server-based scheduler that manages the content selection on a network of displays. Elhart et al. [Elh+14] further developed a scheduling language that allows the specification and formalisation of complex content scheduling constraints and requirements in digital signage.
The scheduling approaches above typically lack consideration for contextual and other events that may influence the scheduling decision of current or future content. The need for digital signage players that support dynamic interventions and content changes becomes crucial when considering contextual information alongside analytical insights for content scheduling decisions. For example, digital signage systems can learn and adapt to a certain behaviour or an audience that is currently moving through a space by passing on analytics information of the audience to digital signs situated in their proximity. A digital signage player deployed in the space could consider such real-time insights and use that information to dynamically inform the scheduling decision of the currently shown content item. Whilst state-of-the-art signage players only support intervention for a very limited set of context such as direct content interactions and input, the support for the described scenario would require a highly dynamic and flexible scheduling system.
5.2.2 Scheduling in Operating Systems
The problem of scheduling content onto a public display can be seen as a resource alloca- tion problem: a number of content items (likely to have originated from a distinct set of stakeholders) representing ‘tasks’ compete over limited screen real-estate representing the ‘resource’. In the context of operating systems, a number of resource allocation and process scheduling techniques have been developed considering varying constraints and requirements – some of these resource allocation techniques have formed the basis for the content scheduling algorithms described above. To provide an overview of fundamental task scheduling tech- niques, Panwalkar and Iskander [PI77] conducted a survey of techniques developed in early research. The authors of [PI77] categorised scheduling approaches into three overarching
5.2 The Need for Dynamic Content Scheduling 113
classes: priority-based scheduling (tasks are allocated based on specific attributes such as due dates by prioritising tasks with the earliest deadlines first or the number of resources requested), heuristics (tasks are allocated based on more sophisticated mathematical rules that take additional factors into considerations such as intended task loads), and other rules (tasks are allocated based on rules designed for a specific purpose, or a combination of priority- based approaches and heuristics) [PI77]. Specific to operating systems, Arpaci-Dusseau and Arpaci-Dusseau provide an overview of existing scheduling approaches including ‘first in, first out’, ‘shortest job first’, ‘shortest time to completion’ and ‘round robin’ (switches between jobs after each process execution cycle, i.e. tasks receive an equal amount of time slices to complete their jobs) [AA15].
Examples of more sophisticated scheduling algorithms includeStride Scheduling, a “deter- ministic allocation mechanism for time-shared resources” [WW95] developed by Waldspurger and Weihl. W. In this approach, resources (over which a number of tasks are competing) are allocated ‘deterministic time slices’ whilst the access to such resources is represented by tickets. Tasks that have been allocated a number of tickets hold ‘access rights’ to these resources. In return, the scheduler executes (competing) tasks in strides that are inversely proportional to the number of tickets a task holds; i.e. a task with twice as many tickets is given twice as much access to resources compared to other tasks [WW95].
An alternative approach for the distribution of tasks in a resource-constrained context
is Lottery Scheduling, first introduced as a“flexible proportional-share resource manage-
ment” [WW94] approach by Waldspurger and Weihl. The system was motivated by the challenge to schedule a large set of computational tasks competing for a limited set of avail- able computing resources. To provide a way of ‘fair’ scheduling and distribution of tasks, the lottery scheduling approach provides a mechanism for modelling rights to resources in the form of lottery tickets that are allocated to tasks waiting for resources. Once the allocation of lottery tickets is complete, a lottery is held to determine the allocation of resources to tasks. Waldspurger and Weihl state that this approach “effectively allocates resources to competing clients in proportion to the number of tickets that they hold” [WW94], i.e. providing a fair yet effective way to distribute resources to tasks reflecting their requirements. Changes to the allocation of lottery tickets reflecting changes in the resource requirements are immediately reflected in the subsequent draw allowing the Lottery Scheduler to dynamically and quickly respond to changes.
In addition to the proportional distribution of lottery tickets, Waldspurger and Weihl devel- oped additional, modular mechanisms to allow tasks that influence the resulting draw [WW94]. First, the scheduler supports the transfer of lottery tickets between tasks. For example, if a task is waiting due to another task using up or blocking resources, the pending task may temporarily transfer tickets to the blocking task to enable a faster execution. In order to enable high prioritisation of certain tasks, the authors provide the ability for a ‘client’ (i.e. the entity holding resources) to create a large number of tickets and allocate these to the task that is to be prioritised—defined as “ticket inflation”. For more detailed resource allocation within a single client or task, the scheduler allows the creation of internal “ticket currencies” used within an