MULTIMEDIA SCHEDULER
First Claim
1. A job scheduling apparatus comprising:
- at least one processor programmed for;
providing a work manager, said work manager comprising at least one producer thread, a task queue and at least one worker thread; and
providing one or more scheduler objects associated with each producer thread;
wherein said work manager and associated scheduler objects are configured for creating and maintaining a job schedule according to predefined criteria, and wherein said at least one producer thread is configured for generating work requests and placing them in said task queue; and
wherein said worker threads are configured for executing said work requests.
3 Assignments
0 Petitions
Accused Products
Abstract
A song and ad scheduler supporting clip-based and stream-based scheduling of multimedia items generates several hours of schedule in advance. Having multiple channel capability, the scheduler uses as inputs: the channel, associated playlists, rotation pattern for the channel, and associated programming rules to produce a schedule of multimedia items for the channel. Initially, the scheduler produces a schedule for each channel of predetermined length; then it periodically revisits the channel to add more songs, keeping the schedule to the desired length. Length of the initial playlist is configurable. The scheduler uses a producer-consumer model for distributing work. Producer threads periodically scan the system for work to be done. When a producer thread encounters work to be done, e.g. adding to the schedule of a channel, the producer thread places a work request into a queue. Worker threads consume the work requests by fulfilling the requested work.
-
Citations
21 Claims
-
1. A job scheduling apparatus comprising:
-
at least one processor programmed for; providing a work manager, said work manager comprising at least one producer thread, a task queue and at least one worker thread; and providing one or more scheduler objects associated with each producer thread; wherein said work manager and associated scheduler objects are configured for creating and maintaining a job schedule according to predefined criteria, and wherein said at least one producer thread is configured for generating work requests and placing them in said task queue; and wherein said worker threads are configured for executing said work requests. - View Dependent Claims (13, 14, 15)
-
-
2. A multimedia scheduling apparatus for scheduling media items for a plurality of network broadcast channels;
- comprising;
at least one processor programmed for providing; at least one main application thread configured for initializing main components within the multimedia scheduling apparatus at least one work manager for each channel serviced; a property manager that provides access to application properties stored in any of properties or configuration files; at least one communication module for accepting requests on a server socket and calling appropriate routines to fulfill the requests; at least one scheduler for scheduling media objects; a database connection manager that serves as an access point to connect to a database; one or more utility threads; and a rules factory configured for caching a plurality of rules representing constraints on media item selection. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10)
- comprising;
-
11. A method for scheduling media items for a plurality of network broadcast channels, comprising the steps of:
-
initializing main components within a multimedia scheduling application by means of at least one main application thread; creating and maintaining a broadcast schedule for each channel according to predefined criteria by means of at least one work manager and associated scheduler objects for each channel serviced; accessing application properties stored in any of properties or configuration files by means of a property manager; accepting scheduling requests on a server socket and calling appropriate routines to fulfill the requests by means of a communication module; providing a database connection manager that serves as an access point to connect to a database; providing one or more utility threads; and providing a rules factory configured for caching a plurality of rules representing constraints on media item selection. - View Dependent Claims (12, 16, 17, 18, 19)
-
-
20. A computer-readable medium having computer-executable instructions embodied thereon, which when executed, establish a job scheduling apparatus, the job-scheduling apparatus comprising:
-
a work manager, said work manager comprising at least one producer thread, a task queue and at least one worker thread; and one or more scheduler objects associated with each producer thread; wherein said work manager and associated scheduler objects are configured for creating and maintaining a job schedule according to predefined criteria, and wherein said at least one producer thread is configured for generating work requests and placing them in said task queue; and wherein said worker threads are configured for executing said work requests.
-
-
21. A computer-readable medium having computer-executable instructions embodied thereon, which when executed, establish a multimedia scheduling apparatus for scheduling media items for a plurality of network broadcast channels, the multimedia scheduling apparatus comprising:
-
at least one work manager for each channel serviced; at least one scheduler for scheduling media objects; a property manager that provides access to application properties stored in any of properties or configuration files; at least one communication module for accepting requests on a server socket and calling appropriate routines to fulfill the requests; a database connection manager that serves as an access point to connect to a database; one or more utility threads; a rules factory configured for caching a plurality of rules representing constraints on media item selection; and at least one main application thread configured for initializing main components within the multimedia scheduling apparatus.
-
Specification