Method and apparatus for scheduling broadcast information
First Claim
Patent Images
1. A method for delivering objects to one or more receiver units, comprising:
- receiving a number of incoming objects, each object corresponding to one or more classes;
maintaining objects from a variety of classes in an object schedule, wherein each object has a utility factor, and the value of the utility factor is dependent, at least to some degree, on the position of the object in the object schedule; and
delivering selected objects from the object schedule to the one or more receiver units based on the position of the object in the object schedule,wherein each class has a utility factor that is calculated by combining, via a sub-linear function, the utility factors of those scheduled objects that correspond to the class, and wherein the sub-linear function includes a square-root function.
13 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus are disclosed for efficiently scheduling incoming information objects so that timely objects from a variety of content classes are scheduled for broadcast. The incoming information objects are preferably received from one or more information sources, and are tagged with attributes that associate each object with one or more classes of information (e.g., sports, news, etc.), and provide a gauge of the timeliness or ‘age’ of the object. The tags can be used to select and broadcast objects from a variety of classes, and to identify the most timely objects at any give time.
78 Citations
40 Claims
-
1. A method for delivering objects to one or more receiver units, comprising:
-
receiving a number of incoming objects, each object corresponding to one or more classes; maintaining objects from a variety of classes in an object schedule, wherein each object has a utility factor, and the value of the utility factor is dependent, at least to some degree, on the position of the object in the object schedule; and delivering selected objects from the object schedule to the one or more receiver units based on the position of the object in the object schedule, wherein each class has a utility factor that is calculated by combining, via a sub-linear function, the utility factors of those scheduled objects that correspond to the class, and wherein the sub-linear function includes a square-root function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 35)
-
-
16. A method for scheduling objects for delivery to one or more receiver units, the method comprising:
-
receiving one or more incoming objects, each having a utility factor; scheduling the objects for delivery in an initial scheduling order, the value of the utility factor for each of the objects being dependent, at least to some degree, on the position of the object in the schedule; calculating an overall schedule utility factor for the schedule by combining the utility factors of each of the scheduled objects using a predefined function; reordering the scheduled objects so that the overall schedule utility factor is increased, wherein reordering the scheduled objects includes; moving a selected object up one position in the schedule; calculating an updated overall schedule utility factor; determining if the updated overall schedule utility factor is greater than the previous overall schedule utility factor; and retaining the new position of the selected object if the updated overall schedule utility factor is greater than the previous overall schedule utility factor; and delivering one or more of the objects from the top of the schedule. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. An information delivery system, comprising
a receiver for receiving a stream of incoming objects, each object corresponding to one or more classes; -
object schedule for storing a set of the incoming objects, wherein each object has a utility factor, and the value of the utility factor is dependent, at least to some degree, on a position of the object in the object schedule; object scheduler for determining which of the incoming objects to add to the object schedule and which of the cached objects to evict from the object schedule, such that objects from a variety of classes are maintained in the object store; and delivery means for delivering selected cached objects from the object schedule to one or more receiver units based on the position of the object in the object schedule, wherein each class has a utility factor that is calculated by combining, via a sub-linear function, the utility factors of those scheduled objects that correspond to the class, and wherein the sub-linear function includes a square-root function. - View Dependent Claims (30, 31)
-
-
32. A system for scheduling objects for delivery to one or more receiver units, comprising:
-
a receiver for receiving one or more objects, each object having a utility factor; an object scheduler for scheduling the objects for delivery in an initial scheduling order, the value of the utility factor for each of the objects being dependent, at least to some degree, on the position of the object in the schedule; the object scheduler calculating an overall schedule utility factor for the schedule by combining the utility factors of each of the scheduled objects using a predetermined function; the object scheduler reordering the scheduled objects so that the overall schedule utility factor is increased, wherein reordering the scheduled objects includes; moving a selected object up one position in the schedule; calculating an updated overall schedule utility factor; determining if the updated overall schedule utility factor is greater than the previous overall schedule utility factor; and retaining the new position of the selected object if the updated overall schedule utility factor is greater than the previous overall schedule utility factor; and delivery means for delivering one or more of the objects from the top of the schedule to the one or more receiver units.
-
-
33. A method for transmitting one or more objects (O1, . . . ON) to one or more receiver units, wherein each object Oi has one or more packets (P1, . . . PK) and a packet transfer rate Ri, the method comprising:
-
initializing a transmit time (T1, . . . TN) for each object to zero; calculating a score, Si, for each object using the relation Si=Ri*(Tc−
Ti), where Tc is the current time;transmitting one or more packets from the object with the highest score, Si; and setting the transmit time Ti for the object with the highest score to the current time Tc. - View Dependent Claims (34)
-
-
36. A method for transmitting one or more objects to one or more receiver units, wherein each object has one or more data packets, comprising:
-
providing a next transmit time variable for each object; initializing the next transmit time variable for each object to a predetermined value; selecting the object with the lowest next transmit time variable; transmitting one or more packets from the selected object; and incrementing the next transmit time variable for the selected object by an incremental value; repeating the selecting, transmitting and incrementing steps; wherein the incremental value is dependent on the transfer rate for the selected object, and wherein the incremental value is l/(the transfer rate) for the selected object. - View Dependent Claims (37)
-
-
38. A method for delivering objects to one or more receiver units, comprising:
-
receiving a number of incoming objects, each object corresponding to one or more classes; maintaining objects from a variety of classes in an object schedule, wherein each object has a utility factor, and the value of the utility factor is dependent, at least to some degree, on the position of the object in the object schedule; and delivering selected objects from the object schedule to the one or more receiver units based on the position of the object in the object schedule, wherein each object in the object schedule has an estimated time for delivery based on the position of the object in the schedule, wherein each object in the schedule has an importance factor, wherein the utility factor for each object is dependent on the estimated time for delivery and the importance factor, and wherein the value of the utility factor Utilityobj for each object is related to the importance factor of the object times a function f(AGE), where f(AGE) is a predetermined function that decreases with an AGE of the object, the AGE of the object being related to the estimated time for delivery. - View Dependent Claims (39)
-
-
40. A method for delivering objects to one or more receiver units, comprising:
-
receiving a number of incoming objects, each object corresponding to one or more classes; maintaining objects from a variety of classes in an object schedule, wherein each object has a utility factor, and the value of the utility factor is dependent, at least to some degree, on the position of the object in the object schedule; and delivering selected objects from the object schedule to the one or more receiver units based on the position of the object in the object schedule, wherein each object in the schedule is a member of one or more classes, and the utility factor for each object is dependent on a ClassVarietyScore of each of the member classes, the ClassVarietyScore for each class is a measure of the number of member objects of the class that were previously broadcast and/or are scheduled to be broadcast, wherein the contribution of each object to the ClassVarietyScore decreases with time, wherein each class has a class importance factor, and wherein the utility factor Utilityobj for each object is the sum over all member classes, the class importance factor of each member class times a function g(ClassVarietyScore), where g(ClassVarietyScore) is a predetermined function that decreases with the ClassVarietyScore of the class.
-
Specification