IP Library Granted Patent US 7,979,571
Granted Patent B2
US 7,979,571 · App. 10/319,117 · Granted Jul 12, 2011

Method and system for providing load sensitive throttling

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,979,571
App. No.
10/319,117
Granted
Jul 12, 2011
Kind
B2
Abstract

An approach is provided for shaping traffic of a communication system. Resource usage of a network element of the communication system is determined. The usage is compared with thresholds that are established according to loading of the communication system; these thresholds correspond to various transmission states that limit usage of the resources of the communication system (e.g., bandwidth). Further, based on the comparison, the resource usage of the network element is controlled according to a particular transmission state, thereby ensuring fair access. This approach as particular applicability to shared capacity systems, such as a satellite communication system.

Claims (89)

1. A method for shaping traffic of a communication system, the method comprising:

determining resource usage of a plurality of network elements in the communication system;

comparing the usage with a plurality of thresholds, the thresholds being determined according to loading of the communication system;

causing a computer to adjust, based on the comparison, the resource usage of the network elements, in order to balance system resources, according to one of a plurality of transmission states corresponding to the plurality of thresholds; and

causing the computer to selectively determine the transmission state of stored content for the plurality of network elements,

wherein the resource usage of at least one network element is adjusted to be different from the resource usage for another network element based at least in part on the resource usage of the network elements over time.

2. A method according to claim 1 , further comprising:

maintaining a flow control meter to track the loading of the communication system;

setting a throttle meter based on the value of the flow control meter to control the resource usage; and

computing the plurality of thresholds according to the throttle meter.

3. A method according to claim 1 , further comprising:

selectively buffering content that is to be transmitted to the network elements according to a leaky bucket scheme, wherein bucket depth associated with the leaky bucket scheme is set according to the one transmission state.

4. A method according to claim 1 , wherein the communication system utilizes a flow control window to transmit content to the network elements, the method further comprising:

setting size of the flow control window according to the one transmission state.

5. A method according to claim 1 , wherein the communication system includes a satellite communication system, and at least one network element is a Very Small Aperture Terminal (VSAT), the method further comprising:

limiting use of outroutes of the satellite network according to the one transmission state.

6. A method according to claim 1 , wherein the transmission states in the comparing step include an unthrottled state, a soft throttle state, a hard throttle state, and a discard throttle state.

7. A method according to claim 1 , further comprising:

correlating the transmission states to a plurality of quality of service (QoS) levels.

8. A non-transitory hardware computer-readable storage medium encoded with executable instructions and executable by a computer for shaping traffic of a communication system, the instructions being arranged, upon execution, to cause one or more processors to perform: determining resource usage of a plurality of network elements in the communication system;

comparing the usage with a plurality of thresholds, the thresholds being determined according to loading of the communication system;

adjusting, based on the comparison, the resource usage of the network elements, in order to balance system resources, according to one of a plurality of transmission states corresponding to the plurality of thresholds; and

selectively determining the transmission state of stored content for the plurality of network elements,

wherein the resource usage of at least one network element is adjusted to be different from the resource usage for another network element based at least in part on the resource usage of the network elements over time.

9. A network apparatus for shaping traffic of a communication system, the apparatus comprising:

a plurality of buffers configured to selectively store corresponding content destined to respective plurality of hosts; and

logic configured to determine throughput associated with each of the buffers, and to specify one of a plurality of transmission states based upon a comparison of the throughput with a plurality of thresholds corresponding to the transmission states in order to balance the system resources, the thresholds being established based upon loading of the communication system, wherein the logic permits selective transmission of the stored content according to the one transmission state, wherein the transmission state for one host is selected to be different from the transmission state for another host based at least in part on the throughput used by the hosts over time.

10. An apparatus according to claim 9 , further comprising:

a flow control meter configured to track the loading of the communication system; and

a throttle meter based on the value of the flow control meter to control the selective transmission, wherein the plurality of thresholds are set according to the throttle meter.

11. An apparatus according to claim 9 , wherein the buffers are serviced according to a leaky bucket scheme, wherein bucket depths associated with the leaky bucket scheme is set according to the one transmission state.

12. An apparatus according to claim 9 , wherein the content is transmitted to an associated host according to a flow control window, the size of the flow control is set according to the one transmission state.

13. An apparatus according to claim 9 , wherein the communication system is a satellite network including a network element that is a Very Small Aperture Terminal (VSAT), and the logic being further configured to control use of outroutes of the satellite network according to the one transmission state.

14. An apparatus according to claim 9 , wherein the transmission states include an unthrottled state, a soft throttle state, a hard throttle state, and a discard throttle state.

15. An apparatus according to claim 9 , wherein the transmission states are correlated with a plurality of quality of service (QoS) levels.

16. A hub station system for shaping traffic of a communication system, the system comprising:

a transmission system for communicating over a satellite to a plurality of terminals each interfacing with a host; and

a gateway coupled to the transmission system and configured to communicate with a data network coupled to a content server, the gateway including,

memory configured to selectively store content destined to the hosts from the content server, and

logic configured to determine throughput associated with the hosts, and to specify one of a plurality of transmission states based upon a comparison of the throughput with a plurality of thresholds corresponding to the transmission states in order to balance system resources, the thresholds being established based upon loading of the transmission system, wherein the logic permits selective transmission of the stored content according to the one transmission state, wherein the transmission state for one host is selected to be different from the transmission state of another host based at least in part on the throughput used by the hosts over time.

17. A system according to claim 16 , wherein the gateway further includes:

a flow control meter configured to track the loading; and

a throttle meter based on the value of the flow control meter to control the selective transmission, wherein the plurality of thresholds are set according to the throttle meter.

18. A system according to claim 16 , wherein the content within the memory is processed according to a leaky bucket scheme, wherein bucket depths are set according to the one transmission state.

19. A system according to claim 16 , wherein the content is transmitted to the host according to a flow control window, the size of the flow control is set according to the one transmission state.

20. A system according to claim 19 , wherein the flow control window is managed according to a Transmission Control Protocol (TCP).

21. A system according to claim 16 , wherein the transmission states include an unthrottled state, a soft throttle state, a hard throttle state, and a discard throttle state.

22. A system according to claim 16 , wherein the transmission states are correlated with a plurality of quality of service (QoS) levels.

23. A method for controlling traffic in a shared capacity communication system, the method comprising:

maintaining a throttle meter on a computer for altering a transmission state of a plurality of users among a plurality of transmission states, the throttle meter being set based on loading of the communication system;

updating the throttle meter to reflect the resource usage of at least one of the plurality of users;

causing the computer to selectively transmit content destined for the users according to a new transmission state in response to the throttle meter in order to balance system resources, wherein the transmission state for one user is selected to be different from the transmission state of another user based at least in part on the resource usage of the users over time; and

updating the throttle meter to reflect a current loading of the communication system.

24. A method according to claim 23 , further comprising:

establishing a plurality of thresholds corresponding to the transmission states according to the throttle meter;

comparing throughput associated with the user with the thresholds; and

classifying the user into the new transmission state based on the comparison.

25. A method according to claim 23 , further comprising:

maintaining a flow control meter to track the loading of the communication system; and

setting the throttle meter based on the value of the flow control meter.

26. A method according to claim 23 , further comprising:

selectively buffering the content according to a leaky bucket scheme, wherein bucket depth associated with the leaky bucket scheme is set according to the new transmission state.

27. A method according to claim 23 , further comprising:

setting size of a flow control window associated with transmission of the content from a content server according to the new transmission state.

28. A method according to claim 23 , wherein the transmission states in the maintaining step include an unthrottled state, a soft throttle state, a hard throttle state, and a discard throttle state.

29. A method according to claim 23 , further comprising:

correlating the transmission states to a plurality of quality of service (QoS) levels.

30. A method according to claim 23 , wherein a measurement of resource usage is based on a level of a leaky bucket that tracks bytes of data sent to a user.

31. A non-transitory hardware computer-readable storage medium encoded with executable instructions and executable by a computer for controlling traffic in a shared capacity communication system, the instructions being arranged, upon execution, to cause one or more processors to perform:

maintaining a throttle meter for altering a transmission state of a plurality of users among a plurality of transmission states, the throttle meter being set based on loading of the communication system;

updating the throttle meter to reflect the resource usage of at least one of the plurality of users;

selectively transmitting content destined for the users according to a new transmission state in response to the throttle meter in order to balance system resources, wherein the transmission state for one user is selected to be different from the transmission state of another user based at least in part on the resource usage of the users over time; and

updating the throttle meter to reflect a current loading of the communication system.

32. An apparatus for controlling traffic in a shared capacity communication system, the apparatus comprising:

means for maintaining a throttle meter for altering a transmission state of a plurality of users among a plurality of transmission states, the throttle meter being set based on loading of the communication system;

means for updating the throttle meter to reflect the resource usage of at least one of the plurality of users; and

means for selectively transmitting content destined for the users according to a new transmission state in response to the throttle meter in order to balance system resources, wherein the transmission state for one user is selected to be different from another user based at least in part on the resource usage of the users over time, and the maintaining means updates the throttle meter to reflect a current loading of the communication system.

33. An apparatus according to claim 32 , further comprising:

means for establishing a plurality of thresholds corresponding to the transmission states according to the throttle meter;

means for comparing throughput associated with the user with the thresholds; and

means for classifying the user into the new transmission state based on the comparison.

34. An apparatus according to claim 32 , further comprising:

means for maintaining a flow control meter to track the loading of the communication system, wherein the means for maintaining the throttle meter sets setting the throttle meter based on the value of the flow control meter.

35. An apparatus according to claim 32 , further comprising:

means for selectively buffering the content according to a leaky bucket scheme, wherein bucket depth associated with the leaky bucket scheme is set according to the new transmission state.

36. An apparatus according to claim 32 , further comprising:

means for setting size of a flow control window associated with transmission of the content from a content server according to the new transmission state.

37. An apparatus according to claim 32 , wherein the transmission states include an unthrottled state, a soft throttle state, a hard throttle state, and a discard throttle state.

38. An apparatus according to claim 32 , wherein the transmission states are correlated with a plurality of quality of service (QoS) levels.

Assignments (13)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2002
From: DILLON, DOUGLAS; RAGLAND, RODERICK; HATFIELD, CHARLES; JAISWAL, ASHWIN
To: HUGHES ELECTRONICS CORPORATION
Reel/Frame 013593/0294 →