IP Library Granted Patent US 7,562,130
Granted Patent B2
US 7,562,130 · App. 10/010,521 · Granted Jul 14, 2009

Method and apparatus for selectively allocating and enforcing bandwidth usage requirements on network users

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,562,130
App. No.
10/010,521
Granted
Jul 14, 2009
Kind
B2
Abstract

A hybrid gateway includes functionality that allows bandwidth on a network (such as a satellite link) to be dynamically allocated and enforced. The hybrid gateway compares the thresholds defined for a requesting terminal's level of service and its measured running average data throughput to determine if the requesting terminal's bandwidth should be reduced (throttled). The hybrid gateway intercepts requests made by the requesting terminals and, if necessary, reduces the advertized window size of requests made by the requesting terminal, thereby reducing the transmission speed of the link and therefore the bandwidth of the link.

Claims (34)

1. A gateway for use in a system wherein a first apparatus, said gateway, and a second apparatus are in a TCP/IP network, wherein the first apparatus, said gateway, and the second apparatus have different IP addresses, said gateway comprising: a memory;

a packet receiving unit that is configured to receive a packet addressed at the IP level from the first apparatus to the second apparatus; and

a service plan determining unit that is configured to determine a level of service subscribed to by a user of the first apparatus;

a throttling unit that is configured to throttle the user of the first apparatus by (a) modifying the value of the TCP window size field of the packet so as to change the value from a value present in that field in the packet received by said packet receiving unit in accordance with (1) the level of service subscribed to by the user of the first apparatus and (2) bandwidth usage associated with the user of the first apparatus, and (b) sending the so modified packet to the second apparatus so that the second apparatus receives the so modified packet that has, in its TCP window size field, a value different from the value present in that field in the packet received by said packet receiving unit,

wherein the packet received by said packet receiving unit has, as its source IP address, the IP address of the first apparatus, and has, as its destination IP address, the IP address of the second apparatus,

wherein the modified packet sent to the second apparatus by said throttling unit has, as its source IP address, the IP address of the first apparatus, and has, as its destination IP address, the IP address of the second apparatus, and

wherein a memory is included in said gateway.

2. A gateway according to claim 1 , wherein the bandwidth usage is measured as an amount of data per unit of time.

3. A gateway according to claim 2 , wherein the transport level window size is the TCP window size field of the packet.

4. A gateway according to claim 1 , wherein the bandwidth usage is expressed as an average throughput.

5. A gateway according to claim 1 , wherein the bandwidth usage is determined using a leaky bucket analysis.

6. An apparatus according to claim 1 , wherein said throttling unit compares bandwidth usage to a threshold.

7. A method for use in a system wherein a first apparatus, a gateway, and a second apparatus are in a TCP/IP network, each of the first apparatus, the gateway, and the second apparatus having different IP addresses, said method comprising:

intercepting by the gateway of a packet addressed at the IP level from the first apparatus to the second apparatus; and

determining a level of service subscribed to by a user of the first apparatus;

determining whether or not to throttle a user of the first apparatus in accordance with (a) the level of service and (b) bandwidth usage by the user;

throttling by the gateway of the user of the first apparatus in accordance with a determination in said determining step that the user of the first apparatus should be throttled, said throttling comprising (1) modifying, by the gateway, of the value of the TCP window size field of the packet received in said intercepting step so as to change the value from a value present in that field in the packet received in said intercepting step and (2) sending the so modified packet to the second apparatus so that the second apparatus receives the so modified packet that has, in its TCP window size field, a value different from the value present in that field in the packet received in said intercepting step,

wherein the packet received in said intercepting step has, as its source IP address, the IP address of the first apparatus, and has, as its destination IP address, the IP address of the second apparatus, and

wherein the modified packet sent to the second apparatus has, as its source IP address, the IP address of the first apparatus, and has, as its destination IP address, the IP address of the second apparatus.

8. A method according to claim 7 , wherein the bandwidth usage is measured as an amount of data per unit of time.

9. A method according to claim 7 , wherein the bandwidth usage is expressed as an average throughput.

10. A method according to claim 7 , wherein the bandwidth usage is determined using a leaky bucket analysis.

11. A gateway for use in a system wherein a first apparatus, said gateway, and a second apparatus are in a TCP/IP network, each of the first apparatus, said gateway, and the second apparatus having different IP addresses, said gateway comprising: a memory;

packet receiving means for receiving a packet addressed at the IP level from the first apparatus to the second apparatus;

service plan determining means for determining a level of service subscribed to by a user of the first apparatus; and

throttling means for throttling a user of the first apparatus by modifying the value of the TCP window size field of the packet received by said packet receiving means so as to change the value from a value present in that field in the packet received by said packet receiving means in accordance with (1) the level of service subscribed to by the user of the first apparatus and (2) bandwidth usage associated with the user of the first apparatus,

wherein the second apparatus receives the modified packet that has, in its TCP window size field, a value different from the value present in that field in the packet received by said packet receiving means,

wherein the packet received by said packet receiving means of said gateway has, as its source IP address, the IP address of the first apparatus, and has, as its destination IP address, the IP address of the second apparatus,

wherein the modified packet sent to the second apparatus has, as its source IP address, the IP address of the first apparatus, and has, as its destination IP address, the IP address of the second apparatus, and

wherein a memory is included in said gateway.

12. A gateway according to claim 11 , wherein the bandwidth usage is measured as an amount of data per unit of time.

13. A gateway according to claim 12 , wherein said throttling means modifies the TCP window size field of the packet.

14. A gateway according to claim 11 , wherein the bandwidth usage is expressed as an average throughput.

15. A gateway according to claim 11 , wherein the bandwidth usage is determined using a leaky bucket analysis.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2017
From: DILLON, DOUGLAS; GUPTA, VIVEK
To: HUGHES ELECTRONICS CORPORATION
Reel/Frame 043140/0269 →
MERGER Recorded Jul 25, 2017
From: HUGHES ELECTRONICS CORPORATION
To: THE DIRECTV GROUP, INC.
Reel/Frame 043327/0804 →