IP Library Granted Patent US 8,225,353
Granted Patent B2
US 8,225,353 · App. 12/434,369 · Granted Jul 17, 2012

Method and apparatus for scheduling broadcast information

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,225,353
App. No.
12/434,369
Granted
Jul 17, 2012
Kind
B2
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.

Claims (93)

1. A computer-implemented method for delivering objects to one or more receiver units, comprising:

receiving a number of incoming objects at a computing device, each object corresponding to one or more classes;

maintaining objects from a variety of classes in an object schedule at the computing device, wherein each object has a utility factor comprising one or more of the importance of the object, and the number of objects previously transmitted in a same or related class as the current object;

delivering selected objects from the object schedule to the one or more receiver units associated with one or more display devices,

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 Utility obj 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.

2. The method of claim 1 , wherein objects from a variety of classes are maintained by determining which of the incoming objects are to be added to the object schedule and which of the cached objects in the object schedule are to be evicted, such that objects from a variety of classes are maintained in the object schedule.

3. The method of claim 1 , 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.

4. The method of claim 1 , 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.

5. The method of claim 4 , wherein the object schedule has an overall schedule utility factor, the overall schedule utility factor is calculated by combining via a schedule function the utility factors for each of the classes.

6. The method of claim 5 , wherein the schedule function is a summing function.

7. The method of claim 5 , wherein objects from a variety of classes are maintained in the object schedule by:

receiving a new object;

scheduling the new object in an initial position within the object schedule; and

reordering the scheduled objects so that the overall schedule utility factor is increased.

8. The method of claim 1 , wherein the value of the utility factor Utility obj for each object is related to the importance factor of the object times a freshness function R(AGE), where R(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.

9. A computer-implemented method for delivering objects to one or more receiver units, comprising:

receiving a number of incoming objects at a computing device, each object corresponding to one or more classes;

maintaining objects from a variety of classes in an object schedule, at the computing device wherein each object has a utility factor comprising one or more of the importance of the object, and the number of objects previously transmitted in a same or related class as the current object;

delivering selected objects from the object schedule to the one or more receiver units associated with one or more display devices,

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;

wherein 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 Utility obj 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.

10. A computer-implemented method for scheduling objects for delivery to one or more receiver units, the method comprising:

receiving one or more incoming objects at a computing device, 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 importance of the object or the number of objects previously transmitted in a same or related class as a current object at the computing device;

calculating an overall schedule utility factor for the schedule by combining the utility factors of each of the scheduled objects using a predefined function at the computing device;

reordering the scheduled objects so that the overall schedule utility factor is increased at the computing device; and

delivering one or more of the objects from the top of the schedule associated with one or more display devices,

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.

11. The method of claim 10 , further comprising:

repeating the moving, calculating, determining, and retaining steps until the updated overall schedule utility factor is not greater than the previous overall schedule utility factor; and

returning the selected object to its previous position when the updated overall schedule utility factor is not greater than the previous overall schedule utility factor.

12. A computer-implemented 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 at a computing device;

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 importance of the object or the number of objects previously transmitted in a same or related class as a current object at the computing device;

calculating an overall schedule utility factor for the schedule by combining the utility factors of each of the scheduled objects using a predefined function at the computing device;

reordering the scheduled objects so that the overall schedule utility factor is increased at the computing device; and

delivering one or more of the objects from the top of the schedule associated with one or more display devices,

wherein reordering the scheduled objects includes:

moving a selected object to a random 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.

13. The method of claim 12 , further comprising:

repeating the moving, calculating, determining, and retaining steps until the updated overall schedule utility factor is not greater than the previous overall schedule utility factor; and

returning the selected object to its previous position when the updated overall schedule utility factor is not greater than the previous overall schedule utility factor.

14. The method of claim 12 , further comprising:

selecting another object and moving the selected object to a random position in the schedule;

repeating the moving, calculating, determining, and retaining steps until the updated overall schedule utility factor is not greater than the previous overall schedule utility factor; and

returning the selected object to its previous position when the updated overall schedule utility factor is not greater than the previous overall schedule utility factor.

15. The method of claim 10 , wherein the utility factor of an object is higher than another similarly situated object if the object is more timely.

16. The method of claim 10 , wherein the utility factor of an object increases the overall schedule utility factor more than another similarly situated object if the object provides more variety to the object schedule.

17. The method of claim 10 , wherein each object in the schedule has an estimated time for delivery based on the position of the object in the schedule, and the value of the utility factor for the object is dependent on the estimated time for delivery.

18. The method of claim 17 , wherein the estimated time for delivery of each object is calculated by:

estimating a current channel bandwidth for delivery of the scheduled objects; and

calculate an estimated time for delivery for each object using the size of each scheduled object and the estimated channel bandwidth.

19. A computer-implemented 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 at a computing device;

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 importance of the object or the number of objects previously transmitted in a same or related class as a current object at the computing device;

calculating an overall schedule utility factor for the schedule by combining the utility factors of each of the scheduled objects using a predefined function at the computing device;

reordering the scheduled objects so that the overall schedule utility factor is increased at the computing device; and

delivering one or more of the objects from the top of the schedule associated with one or more display devices,

wherein each object in the schedule is a member of one or more classes, and the value of the utility factor for each class is dependent on a measure of the objects assigned to the class;

wherein the measure of the objects is the number of objects assigned to the class;

wherein the measure of the objects is the number of object bytes assigned to the class; and

wherein the measure of the objects is the sum of the object utility factors assigned to the class.

20. 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 comprising one or more of the importance of the object, and the number of objects previously transmitted in a same or related class as the current object;

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.

21. The information delivery system of claim 20 , 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.

22. The information delivery system of claim 20 , wherein the object schedule has an overall schedule utility factor, the overall schedule utility factor is calculated by combining, via a schedule function, the utility factors for each of the classes.

23. The information delivery system of claim 22 , wherein the schedule function is a summing function.

24. 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 comprising one or more of the importance of the object, and the number of objects previously transmitted in a same or related class as the current object;

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; and

delivery means for delivering one or more of the objects from the top of the schedule to the one or more receiver units;

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.

Assignments (10)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
CHANGE OF NAME Recorded Jun 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049586/0470 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
Reel/Frame 048825/0294 →
CHANGE OF NAME Recorded Mar 14, 2017
From: ARRIS ENTERPRISES INC
To: ARRIS ENTERPRISES LLC
Reel/Frame 041995/0031 →
SECURITY AGREEMENT Recorded May 28, 2013
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS; BIGBAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030498/0023 →
MERGER Recorded Apr 16, 2013
From: ARRIS GROUP, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 030228/0349 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2010
From: VULCAN VENTURES INC.; DIGEO, INC.
To: ARRIS GROUP, INC.
Reel/Frame 025764/0156 →