IP Library Granted Patent US 7,546,622
Granted Patent B2
US 7,546,622 · App. 11/409,623 · Granted Jun 9, 2009

Method and apparatus for scheduling broadcast information

Assignee: Vulcan Ventures, Inc.
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 7,546,622
App. No.
11/409,623
Granted
Jun 9, 2009
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 (78)

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

using a computer to perform the steps of:

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

delivering selected objects from the object 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.

2. A method according to 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 be evicted, such that objects from a variety of classes are maintained in the object schedule.

3. A method according to 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. A method according to claim 1 , 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.

5. A method according to claim 4 , wherein the schedule function is a summing function.

6. A method according to claim 4 , 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.

7. A method according to claim 1 , wherein each object in the object schedule has an estimated time for delivery based on the position of the object in the schedule.

8. A method according to claim 7 , wherein each object in the schedule has an importance factor.

9. A method according to claim 8 , wherein the utility factor for each object is dependent on the estimated time for delivery and the importance factor.

10. A method according to claim 9 , 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.

11. A method according to claim 10 , wherein the value of the utility factor Utilityobj 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.

12. A method according to claim 1 , 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.

13. A method according to claim 12 , 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.

14. A method according to claim 13 , wherein the contribution of each object to the ClassVarietyScore decreases with time.

15. A method according to claim 14 , wherein each class has a class importance factor.

16. A method according to claim 15 , 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.

17. A method for scheduling objects for delivery to one or more receiver units, the method comprising:

using a computer to perform the steps of:

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 undated overall schedule utility factor is greater than the previous overall schedule utility factor; and

retaining the new position of the selected object if the undated 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.

18. A method according to claim 17 , 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.

19. A method according to claim 17 , wherein the utility factor of an object is higher than another similarly situated object if the object is more timely.

20. A method according to claim 17 , 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.

21. A method according to claim 17 , 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.

22. A method according to claim 21 , wherein the estimated time for delivery of each object is calculated by:

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

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

23. A method according to claim 22 , 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.

24. A method according to claim 23 , wherein the measure of the objects is the number of objects assigned to the class.

25. A method according to claim 23 , wherein the measure of the objects is the number of object bytes assigned to the class.

26. A method according to claim 23 , wherein the measure of the objects is the sum of the object utility factors assigned to the class.

27. 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, the timeliness 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.

28. An information delivery system according to claim 27 , 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.

29. An information delivery system according to claim 27 , 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.

30. An information delivery system according to claim 29 , wherein the schedule function is a summing function.

31. A method for scheduling objects for delivery to one or more receiver units, the method comprising:

using a computer to perform the steps of:

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

delivering one or more of the objects from the top of the schedule.

32. A method according to claim 31 , 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.

33. A method according to claim 31 , 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.

Assignments (14)
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 →
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 →
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 →
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.
To: ARRIS GROUP, INC.
Reel/Frame 025764/0050 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2009
From: INTREON CORPORATION
To: DIGEO, INC.
Reel/Frame 022593/0390 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2009
From: GEOCAST NETWORK SYSTEMS, INC.
To: INTREON CORPORATION
Reel/Frame 022593/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2009
From: TASH, JONATHAN K.
To: GEOCAST NETWORK SYSTEMS, INC.
Reel/Frame 022593/0372 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2009
From: DIGEO, INC.
To: VULCAN VENTURES, INC.
Reel/Frame 022309/0016 →
Continuity (2)
Continuation 0970900400 · Nov 8, 2000
Related Publication 20060259944A1 · Nov 16, 2006