Method for flow scheduling
First Claim
1. A method for scheduling the flow of modules in an information transmission system, wherein said method comprises:
- a processor examining a list of module entries stored in a memory, each said module entry having a minimum beginning time, a maximum beginning time and a remaining duration; and
for each said module entry, said processor;
setting said minimum beginning time to a current time if said minimum beginning time is prior to said current time;
ordering said list of module entries by earliest minimum beginning time and, within module entries having identical minimum beginning times, ordering by earliest maximum beginning time;
selecting a first entry in said list of module entries;
scheduling a portion of said first entry to be scheduled, wherein scheduling said portion comprises determining a time period by taking the smaller of;
the difference between said current time and an earliest minimum beginning time of ones of said module entries having minimum beginning times later than said current time; and
the difference between said maximum beginning time of said first module entry and the earliest maximum beginning time of ones of said module entries having minimum beginning times less than or equal to said current time;
subtracting said portion from said remaining duration of said first entry;
adding said portion to said maximum beginning time of said first entry; and
adding said portion to said current time.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method implemented in an interactive television system for scheduling delivery of modules of interactive television applications from a broadcast station to a receiving station. In one embodiment, a list of modules and corresponding start times, end times and durations is provided. Minimum beginning times and maximum beginning times are determined for each of the modules. The modules in the list are prioritized, first according to minimum beginning times and then according to maximum beginning times. A module having the earliest maximum beginning time is selected from those modules for which the minimum beginning time is equal or prior to a current time. A portion of the selected module is scheduled. After a portion of a module is scheduled, the information in the module list is updated, the modules in the list are re-prioritized, and another module is selected for scheduling. This is repeated until all of the modules have been scheduled.
-
Citations
17 Claims
-
1. A method for scheduling the flow of modules in an information transmission system, wherein said method comprises:
-
a processor examining a list of module entries stored in a memory, each said module entry having a minimum beginning time, a maximum beginning time and a remaining duration; and
for each said module entry, said processor;
setting said minimum beginning time to a current time if said minimum beginning time is prior to said current time;
ordering said list of module entries by earliest minimum beginning time and, within module entries having identical minimum beginning times, ordering by earliest maximum beginning time;
selecting a first entry in said list of module entries;
scheduling a portion of said first entry to be scheduled, wherein scheduling said portion comprises determining a time period by taking the smaller of;
the difference between said current time and an earliest minimum beginning time of ones of said module entries having minimum beginning times later than said current time; and
the difference between said maximum beginning time of said first module entry and the earliest maximum beginning time of ones of said module entries having minimum beginning times less than or equal to said current time;
subtracting said portion from said remaining duration of said first entry;
adding said portion to said maximum beginning time of said first entry; and
adding said portion to said current time. - View Dependent Claims (2)
-
-
3. A method for scheduling the flow of modules in an information transmission system, said method comprising:
-
providing in a memory a plurality of module entries, wherein each said module entry includes a minimum beginning time and a maximum beginning time; and
a processor;
selecting one of said plurality of module entries from a first group of said plurality of module entries, wherein said minimum beginning time of said one of said plurality of module entries in said first group is less than or equip to a current time, and wherein said maximum beginning time of said selected one of said plurality of module entries is no more than said maximum beginning time of the remainder of said module entries in said first group; and
scheduling at least a portion of a module corresponding to said selected one of said plurality of module entries; and
calculating said portion of said module by taking the smaller of;
the difference between a current time and an earliest minimum beginning time of ones of said plurality of module entries having minimum beginning times later than said current time; and
the difference between said maximum beginning time of said selected module entry and the earliest maximum beginning time of ones of said plurality of module entries having minimum beginning times earlier than or equal to said current time.- View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12)
presenting an indication of an error if, for any of said plurality of module entries, a duration of said any module entry is greater than an end time of said any module entry minus said current time. -
11. The method of claim 3, further comprising calculating said portion of said module by subtracting an earliest maximum beginning time of said plurality of module entries from a current time.
-
12. The method of claim 3 wherein said maximum beginning time for each module entry is initially determined by subtracting a duration of said each module entry from an end time for said each module entry.
-
-
13. A scheduler comprising:
-
a processor; and
a first memory coupled to said processor and configured to store a plurality of module entries, each said module entry having a corresponding minimum beginning time, a maximum beginning time, an ending time and a duration;
wherein said processor is configured to examine said module entries, to select a first one of said module entries and to schedule said first one of said module entries, wherein said first one of said module entries has a highest priority, wherein said highest priority indicates that said first one of said module entries has said minimum beginning time less than or equal to a current time and has an earliest maximum beginning time among said module entries having said minimum beginning time prior or equal to said current time;
wherein said processor is further configured to determine a portion of a module corresponding to said selected module entry such that, after scheduling of said portion of said module, a second one of said module entries has said highest priority. - View Dependent Claims (14, 15, 16, 17)
-
Specification