Method and apparatus for selectively allocating and enforcing bandwidth usage requirements on network users
First Claim
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, andwherein a memory is included in said gateway.
13 Assignments
0 Petitions
Accused Products
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.
157 Citations
15 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6)
- a memory;
-
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. - View Dependent Claims (8, 9, 10)
-
-
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. - View Dependent Claims (12, 13, 14, 15)
- a memory;
Specification