IP Library Granted Patent US 6,947,445
Granted Patent B1
US 6,947,445 · App. 09/716,924 · Granted Sep 20, 2005

Available bandwidth control mechanism

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 6,947,445
App. No.
09/716,924
Granted
Sep 20, 2005
Kind
B1
Abstract

An approach for controlling bandwidth allocations for a switching system with transmission constraints is disclosed. A scheduler within a switching system generates bandwidth metrics for a destination site. A traffic control processing logic receives the bandwidth metrics. The traffic control processing logic includes a utilization module that determines utilization associated with the destination site based upon the received bandwidth metrics, and an error calculation module that computes the difference between the determined utilization and a target utilization. A gain and filtering module, which is also a part of the traffic control processing logic, computes a correction value based upon the difference between the determined utilization and the target utilization, in which the correction value being associated with the destination site. Further, the traffic control processing logic includes an adder that outputs a control value based upon a reference control value and the correction value. A bandwidth control processor assigns bandwidth allocation based upon the control value.

Claims (163)

1. A method for controlling bandwidth allocations, the method comprising:

receiving bandwidth metrics for a destination site from a scheduler;

determining utilization associated with a destination site based upon the received bandwidth metrics;

computing a difference between the determined utilization and a target utilization;

commuting a correction value based upon the difference between the determined utilization and the target utilization, the correction value being associated with the destination site;

outputting a control value based upon a reference control value and the correction value, wherein the reference control value is based upon a current limit value that is active during a measurement period of the bandwidth metrics;

allocating bandwidth based upon the control value; and correlating the control value with the received bandwidth metrics.

2. The method according to claim 1 , wherein the correlating step comprises:

generating a control sequence number corresponding to the control value.

3. A method for controlling bandwidth allocations, the method comprising:

receiving bandwidth metrics for a destination site from a scheduler;

determining utilization associated with a destination site based upon the received bandwidth metrics;

computing a difference between the determined utilization and a target utilization;

computing a correction value based upon the difference between the determined utilization and the target utilization, the correction value being associated with the destination site;

outputting a control value based upon a reference control value and the correction value;

allocating bandwidth based upon the control value; and

reading a control sequence number associated with the measurement period, the control sequence number being included in a metric message that contains the bandwidth metrics.

4. A method for controlling bandwidth allocations, the method comprising:

receiving bandwidth metrics for a destination site from a scheduler;

determining utilization associated with a destination site based upon the received bandwidth metrics;

computing a difference between the determined utilization and a target utilization;

computing a correction value based upon the difference between the determined utilization and the target utilization, the correction value being associated with the destination site;

outputting a control value based upon a reference control value and the correction value;

allocating bandwidth based upon the control value; and

storing the control value, wherein the control value is indexed by a control sequence number.

5. A method for controlling bandwidth allocations, the method comprising:

receiving bandwidth metrics for a destination site from a scheduler;

determining utilization associated with a destination site based upon the received bandwidth metrics;

computing a difference between the determined utilization and a target utilization:

computing a correction value based upon the difference between the determined utilization and the target utilization, the correction value being associated with the destination site;

outputting a control value based upon a reference control value and the correction value, wherein the reference control value is stored in a control storage, and the reference control value having an index based upon a round-trio control time (RTCT), the RTCT being a time between sending of the control value and a subsequent control value; and

allocating bandwidth based upon the control value.

6. The method according to claim 5 , wherein the RTCT includes propagation delay, message transmit/receive delays, and message processing delay.

7. The method according to claim 5 , further comprising:

sending the control value on a predetermined interval, the index being based upon a ratio of the RTCT and the predetermined interval.

8. The method according to claim 5 , further comprising:

sending the control value to a traffic control processing logic that is located remotely from the scheduler.

9. A method for controlling bandwidth allocations, the method comprising:

receiving bandwidth metrics for a destination site from a scheduler;

determining utilization associated with a destination site based upon the received bandwidth metrics;

computing a difference between the determined utilization and a target utilization;

computing a correction value based upon the difference between the determined utilization and the target utilization, and based upon a split gain that specifies at least one of a first gain and a second gain based upon the computed difference, the correction value being associated with the destination site;

outputting a control value based upon a reference control value and the correction value; and

allocating bandwidth based upon the control value.

10. A method for controlling bandwidth allocations, the method comprising:

receiving bandwidth metrics for a destination site from a scheduler;

determining utilization associated with a destination site based upon the received bandwidth metrics;

computing a difference between the determined utilization and a target utilization;

computing a correction value based upon the difference between the determined utilization and the target utilization, and based upon a unity gain, the correction value being associated with the destination site;

outputting a control value based upon a reference control value and the correction value; and

allocating bandwidth based upon the control value.

11. A communication system for controlling bandwidth allocations, comprising:

a scheduler configured to generate bandwidth metrics for a destination site; and

a traffic control processing logic configured to receive the bandwidth metrics, the traffic control processing logic comprising,

a utilization module configured to determine utilization associated with a destination site based upon the received bandwidth metrics,

an error calculation module configured to compute a difference between the determined utilization and a target utilization,

a gain and filtering module configured to compute a correction value based upon the difference between the determined utilization and the target utilization, the correction value being associated with the destination site, and

an adder configured to output a control value based upon a reference control value and the correction value, wherein the reference control value is based upon a current limit value that is active during a measurement period of the bandwidth metrics, the current limit value being received by the traffic control processing logic; and

a bandwidth control processor configured to perform bandwidth allocation based upon the control value; and

wherein the gain and filtering module generates a control sequence number corresponding to the control value.

12. The system according to claim 11 , wherein the scheduler reads the control sequence number associated with the measurement period, the control sequence number being included in a metric message that contains the bandwidth metrics.

13. The system according to claim 11 , wherein the traffic control processing logic further comprises:

a control storage configured to store the control value, the control value being indexed by the control sequence number.

14. The system according to claim 11 , wherein the reference control value is stored in the control storage, the reference control value having an index based upon a round-trip control time (RTCT), the RTCT being a time between sending of the control value and a subsequent control value.

15. The system according to claim 14 , wherein the RTCT includes propagation delay, message transmit/receive delays, and message processing delay.

16. The system according to claim 14 , wherein the control value is sent to the traffic control processing logic on a predetermined interval, the index being based upon a ratio of the RTCT and the predetermined interval.

17. A communication system for controlling bandwidth allocations, comprising;

a scheduler configured to generate bandwidth metrics for a destination site; and

a traffic control processing logic configured to receive the bandwidth metrics, the traffic control processing logic comprising,

a utilization module configured to determine utilization associated with a destination site based upon the received bandwidth metrics,

an error calculation module configured to compute a difference between the determined utilization and a target utilization,

a gain and filtering module configured to compute a correction value based upon the difference between the determined utilization and the target utilization, the correction value being associated with the destination site, and

an adder configured to output a control value based upon a reference control value and the correction value; and

a bandwidth control processor configured to perform bandwidth allocation based upon the control value; and

wherein the scheduler resides in a payload of a satellite and the traffic control processing logic is located remotely from the satellite.

18. A communication system for controlling bandwidth allocations, comprising:

a scheduler configured to generate bandwidth metrics for a destination site; and

a traffic control processing logic configured to receive the bandwidth metrics, the traffic control processing logic comprising,

a utilization module configured to determine utilization associated with a destination site based upon the received bandwidth metrics,

an error calculation module configured to compute a difference between the determined utilization and a target utilization,

a gain and filtering module configured to compute a correction value based upon the difference between the determined utilization and the target utilization, and based upon a split gain that specifies at least one of a first gain and a second gain based upon the computed difference, the correction value being associated with the destination site, and

an adder configured to output a control value based upon a reference control value and the correction value; and

a bandwidth control processor configured to perform bandwidth allocation based upon the control value.

19. A communication system for controlling bandwidth allocations, comprising

a scheduler configured to generate bandwidth metrics for a destination site; and

a traffic control processing logic configured to receive the bandwidth metrics, the traffic control processing logic comprising,

a utilization module configured to determine utilization associated with a destination site based upon the received bandwidth metrics,

an error calculation module configured to compute a difference between the determined utilization and a target utilization,

a gain and filtering module configured to compute a correction value based upon the difference between the determined utilization and the target utilization, and based upon a unity gain, the correction value being associated with the destination site, and

an adder configured to output a control value based upon a reference control value and the correction value; and

a bandwidth control processor configured to perform bandwidth allocation based upon the control value.

20. A traffic control processing device for managing available bandwidth based upon bandwidth metrics from a scheduler, comprising:

a utilization module configured to determine utilization associated with a destination site based upon the received bandwidth metrics;

an error calculation module configured to compute a difference between the determined utilization and a target utilization;

a gain and filtering module configured to compute a correction value based upon the difference between the determined utilization and the target utilization, the correction value being associated with a destination site:

an adder configured to output a control value based upon a reference control value and the correction value, wherein the reference control value is based upon a current limit value that is active during a measurement period of the bandwidth metrics, the current limit value being received by the traffic control processing logic; and

wherein the gain and filtering module generates a control sequence number corresponding to the control value.

21. The device according to claim 20 , wherein the scheduler reads the control sequence number associated with the measurement period, the control sequence number being included in a metric message that contains the bandwidth metrics.

22. The device according to claim 20 , wherein the traffic control processing logic further comprises:

a control storage configured to store the control value, the control value being indexed by the control sequence number.

23. The device according to claim 20 , wherein the reference control value is stored in the control storage, the reference control value having an index based upon a round-trip control time (RTCT), the RTCT being a time between sending of the control value and a subsequent control value.

24. The device according to claim 23 , wherein the RTCT includes propagation delay, message transmit/receive delays, and message processing delay.

25. The device according to claim 23 , wherein the control value is sent to the traffic control processing logic on a predetermined interval, the index being based upon a ratio of the RTCT and the predetermined interval.

26. A traffic control processing device for managing available bandwidth based upon bandwidth metrics from a scheduler, comprising:

a utilization module configured to determine utilization associated with a destination site based upon the received bandwidth metrics;

an error calculation module configured to compute a difference between the determined utilization and a target utilization;

a gain and filtering module configured to compute a correction value based upon the difference between the determined utilization and the target utilization, and based upon a split am that specifies at least one of a first gain and a second gain based upon the computed difference, the correction value being associated with the destination site; and

an adder configured to output a control value based upon a reference control value and the correction value.

27. A traffic control processing device for managing available bandwidth based upon bandwidth metrics from a scheduler, comprising:

a utilization module configured to determine utilization associated with a destination site based upon the received bandwidth metrics;

an error calculation module configured to compute a difference between the determined utilization and a target utilization;

a gain and filtering module configured to compute a correction value based upon the difference between the determined utilization and the target utilization, and based upon a unity gain, the correction value being associated with the destination site; and

an adder configured to output a control value based upon a reference control value and the correction value.

28. A computer-readable medium carrying one or more sequences of one or more instructions for controlling bandwidth allocations, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:

receiving bandwidth metrics for a destination site from a scheduler;

determining utilization associated with a destination site based upon the received bandwidth metrics;

computing a difference between the determined utilization and a target utilization;

computing a correction value based upon the difference between the determined utilization and the target utilization, the correction value being associated with the destination site;

outputting a control value based upon a reference control value and the correction value;

allocating bandwidth based upon the control value; and

correlating the control value with the received bandwidth metrics.

29. A computer-readable medium carrying one or more sequences of one or more instructions for controlling bandwidth allocations, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:

receiving bandwidth metrics for a destination site from a scheduler;

determining utilization associated with a destination site based upon the received bandwidth metrics;

computing a difference between the determined utilization and a target utilization;

computing a correction value based upon the difference between the determined utilization and the target utilization, the correction value being associated with the destination site;

outputting a control value based upon a reference control value and the correction value;

allocating bandwidth based upon the control value; and

generating a control sequence number corresponding to the control value.

30. A computer-readable medium carrying one or more sequences of one or more instructions for controlling bandwidth allocations, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:

receiving bandwidth metrics for a destination site from a scheduler

determining utilization associated with a destination site based upon the received bandwidth metrics;

computing a difference between the determined utilization and a target utilization;

computing a correction value based upon the difference between the determined utilization and the target utilization, the correction value being associated with the destination site;

outputting a control value based upon a reference control value and the correction value;

allocating bandwidth based upon the control value; and

storing the control value, wherein the control value is indexed by a control sequence number.

31. A computer-readable medium carrying one or more sequences of one or more instructions for controlling bandwidth allocations, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:

receiving bandwidth metrics for a destination site from a scheduler;

determining utilization associated with a destination site based upon the received bandwidth metrics;

computing a difference between the determined utilization and a target utilization;

computing a correction value based upon the difference between the determined utilization and the target utilization, the correction value being associated with the destination site;

outputting a control value based upon a reference control value and the correction value, wherein the reference control value is stored in a control storage the reference control value having an index based upon a round-trip control time (RTCT), the RTCT being a time between sending of the control value and a subsequent control value; and

allocating bandwidth based upon the control value.

32. The computer readable medium according to claim 31 , wherein the RTCT includes propagation delay, message transmit/receive delays, and message processing delay.

33. The computer readable medium according to claim 31 , further comprising computer-executable instructions for causing the computer system to perform the steps of:

sending the control value on a predetermined interval, the index being based upon a ratio of the RTCT and the predetermined interval.

34. The computer readable medium according to claim 31 , further comprising computer-executable instructions for causing the computer system to perform the steps of:

sending the control value to a traffic control processing logic that is located remotely from the scheduler.

35. A computer-readable medium carrying one or more sequences of one or more instructions for controlling bandwidth allocations, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:

receiving bandwidth metrics for a destination site from a scheduler;

determining utilization associated with a destination site based upon the received bandwidth metrics;

computing a difference between the determined utilization and a target utilization;

computing a correction value based upon the difference between the determined utilization and the target utilization, and based upon a split gain that specifies at least one of a first gain and a second gain based upon the computed difference, the correction value being associated with the destination site;

outputting a control value based upon a reference control value and the correction value; and

allocating bandwidth based upon the control value.

36. A computer-readable medium carrying one or more sequences of one or more instructions for controlling bandwidth allocations, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:

receiving bandwidth metrics for a destination site from a scheduler;

determining utilization associated with a destination site based upon the received bandwidth metrics;

computing a difference between the determined utilization and a target utilization;

computing a correction value based upon the difference between the determined utilization and the target utilization, and based upon a unity gain, the correction value being associated with the destination site;

outputting a control value based upon a reference control value and the correction value; and

allocating bandwidth based upon the control value.

Assignments (12)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION NUMBER 15649418 PREVIOUSLY RECORDED ON REEL 050600 FRAME 0314. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF PATENT SECURITY AGREEMENTS. Recorded Sep 3, 2020
From: WELLS FARGO, NATIONAL BANK ASSOCIATION
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 053703/0367 →
ASSIGNMENT OF PATENT SECURITY AGREEMENTS Recorded Oct 1, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 050600/0314 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED ON REEL 026499 FRAME 0290. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Sep 4, 2018
From: EH HOLDING CORPORATION; ECHOSTAR 77 CORPORATION; ECHOSTAR GOVERNMENT SERVICES L.L.C.; ECHOSTAR ORBITAL L.L.C.; ECHOSTAR SATELLITE OPERATING CORPORATION; ECHOSTAR SATELLITE SERVICES L.L.C.; ADVANCED SATELLITE RESEARCH, LLC; HELIUS ACQUISITION, LLC; HELIUS, LLC; HNS FINANCE CORP.; HNS LICENSE SUB, LLC; HNS REAL ESTATE, LLC; HNS-INDIA VSAT, INC.; HNS-SHANGHAI, INC.; HUGHES COMMUNICATIONS, INC.; HUGHES NETWORK SYSTEMS, LLC; HUGHES NETWORK SYSTEMS INTERNATIONAL SERVICE COMPANY
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 047014/0886 →
SECURITY AGREEMENT Recorded Jun 24, 2011
From: EH HOLDING CORPORATION; ECHOSTAR 77 CORPORATION; ECHOSTAR GOVERNMENT SERVICES L.L.C.; ECHOSTAR ORBITAL L.L.C.; ECHOSTAR SATELLITE OPERATING CORPORATION; ECHOSTAR SATELLITE SERVICES L.L.C.; ADVANCED SATELLITE RESEARCH, LLC; HELIUS ACQUISITION, LLC; HELIUS, LLC; HNS FINANCE CORP.; HNS LICENSE SUB, LLC; HNS REAL ESTATE, LLC; HNS-INDIA VSAT, INC.; HNS-SHANGHAI, INC.; HUGHES COMMUNICATIONS, INC.; HUGHES NETWORK SYSTEMS, LLC; HUGHES NETWORK SYSTEMS INTERNATIONAL SERVICE COMPANY
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 026499/0290 →
PATENT RELEASE Recorded Jun 16, 2011
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: HUGHES NETWORK SYSTEMS, LLC
Reel/Frame 026459/0883 →
ASSIGNMENT AND ASSUMPTION OF REEL/FRAME NOS. 16345/0401 AND 018184/0196 Recorded Apr 9, 2010
From: BEAR STEARNS CORPORATE LENDING INC.
To: JPMORGAN CHASE BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 024213/0001 →
RELEASE OF SECOND LIEN PATENT SECURITY AGREEMENT Recorded Aug 29, 2006
From: JPMORGAN CHASE BANK, N.A.
To: HUGHES NETWORK SYSTEMS, LLC
Reel/Frame 018184/0170 →
ASSIGNMENT OF SECURITY INTEREST IN U.S. PATENT RIGHTS Recorded Aug 29, 2006
From: JPMORGAN CHASE BANK, N.A.
To: BEAR STEARNS CORPORATE LENDING INC.
Reel/Frame 018184/0196 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 11, 2005
From: HUGHES NETWORK SYSTEMS, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 016345/0368 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jul 11, 2005
From: HUGHES NETWORK SYSTEMS, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 016345/0401 →
MERGER Recorded Jun 21, 2005
From: HUGHES ELECTRONICS CORPORATION
To: DIRECTV GROUP, INC.,THE
Reel/Frame 016427/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2005
From: DIRECTV GROUP, INC., THE
To: HUGHES NETWORK SYSTEMS, LLC
Reel/Frame 016323/0867 →