IP Library Granted Patent US 8,824,281
Granted Patent B2
US 8,824,281 · App. 12/948,432 · Granted Sep 2, 2014

Network-friendly transmission control protocol (TCP) methods, apparatus and articles of manufacture

Inventors: Kadangode K. Ramakrishnan (Berkeley Heights, NJ); Mayutan Arumaithurai (Goettingen, DE); Xiaoming Fu (Goettingen, DE)
Assignee: AT&T Intellectual Property I, L.P.
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 8,824,281
App. No.
12/948,432
Granted
Sep 2, 2014
Kind
B2
Abstract

Example methods, apparatus and articles of manufacture to route policy requests are disclosed. A disclosed example method includes sending bandwidth probe packets at a probing rate, receiving a packet containing an indication representative of whether the probe packets triggered congestion, and selecting a transmission rate for sending data packets based on the probing rate and the indication.

Claims (47)

1. A method comprising:

sending first bandwidth probe packets at a first probing rate, the first probing rate being a different parameter than a data packet transmission rate at which data packets are sent, the first bandwidth probe packets being a different type of packet than the data packets;

in response to receiving a first packet containing a first indication that the first bandwidth probe packets triggered first congestion, estimating a first available bandwidth for the data packets based on the first probing rate and the first indication;

selecting a value for the data packet transmission rate based on a percentage of the first estimated available bandwidth;

sending second bandwidth probe packets at a second probing rate;

in response to receiving a second packet containing a second indication that the second bandwidth probe packets triggered second congestion, estimating a second available bandwidth for the data packets based on the second probing rate; and

adjusting the data packet transmission rate based on the second estimated available bandwidth.

2. The method as defined in claim 1 , wherein:

the first bandwidth probe packets comprise transmission control protocol packets;

the received first packet comprises an acknowledgement transmission control protocol packet; and

the first indication comprises an explicit congestion notification, the explicit congestion notification being set when a random early detection queue of a router contained more than a threshold number of packets in response to the first bandwidth probe packets.

3. The method as defined in claim 1 , further comprising sending the data packets at the selected value of the data packet transmission rate, wherein adjusting the data packet transmission rate based on the second estimated available bandwidth comprises decreasing the data packet transmission rate in response to the second indication that the second congestion was triggered.

4. The method as defined in claim 3 , further comprising increasing the data packet transmission rate in response to receiving a third indication that the second congestion was not triggered.

5. The method as defined in claim 4 , wherein the data packet transmission rate is increased by increasing a transmission window size by a number of packets.

6. The method as defined in claim 3 , wherein decreasing the data packet transmission rate comprises decreasing the data packet transmission rate to a second percentage of the selected data packet transmission rate.

7. The method as defined in claim 1 , wherein estimating the first available bandwidth comprises determining a number of the first bandwidth probe packets sent before receiving the first indication.

8. The method as defined in claim 1 , wherein the second probing rate for second bandwidth probe packets is calculated based on the first estimated available bandwidth.

9. An apparatus comprising:

memory having machine readable instructions stored thereon;

a processor to execute the instructions to perform operations comprising:

sending first bandwidth probe packets at a first probing rate, the first probing rate being a different parameter than a data packet transmission rate at which data packets are sent, the first bandwidth probe packets being a different type of packet than the data packets;

in response to receiving a first packet including a first indication that the first bandwidth probe packets triggered congestion, estimating a first available bandwidth for the data packets based on the first probing rate and the first indication;

selecting a value for the data packet transmission rate based on a percentage of the first estimated available bandwidth;

sending second bandwidth probe packets at a second probing rate;

in response to receiving a second packet containing a second indication that the second bandwidth probe packets triggered second congestion, estimating a second available bandwidth for the data packets based on the second probing rate; and

adjusting the data packet transmission rate based on the second estimated available bandwidth.

10. The apparatus as defined in claim 9 , wherein:

the first bandwidth probe packets comprise transmission control protocol data packets;

the received first packet comprises an acknowledgement transmission control protocol packet; and

the first indication comprises an explicit congestion notification flag, the explicit congestion notification flag having a first value when a queue of a router contained more than a threshold number of packets in response to the first bandwidth probe packets, the explicit congestion notification flag having a second value when the queue of the router contained less than the threshold number of packets in response to the first bandwidth probe packets.

11. The apparatus as defined in claim 9 , wherein the operations further comprise sending the data packets at the selected value of the data packet transmission rate, wherein adjusting the transmission rate based on the second estimated available bandwidth comprises decreasing the data packet transmission rate in response to the second indication that the second congestion was triggered.

12. The apparatus as defined in claim 11 , wherein the operations further comprise increasing the data packet transmission rate in response to a third indication that the second congestion was not triggered.

13. The apparatus as defined in claim 12 , wherein the operations further comprise increasing the data packet transmission rate by increasing a transmission window size by one packet.

14. The apparatus as defined in claim 11 , wherein decreasing the data packet transmission rate comprises decreasing the data packet transmission rate to a second percentage of the selected data packet transmission rate.

15. A tangible computer-readable storage medium comprising instructions that, when executed, cause a machine to perform operations comprising:

sending first bandwidth probe packets at a first probing rate from a network node, the first probing rate being a different parameter than a data packet transmission rate at which the network node is to send data packets, the first bandwidth probe packets being a different type of packet than the data packets;

in response to receiving a first packet containing a first indication that the first bandwidth probe packets triggered first congestion, estimating a first available bandwidth for the data packets based on the first probing rate and the first indication;

selecting a value for the data packet transmission rate of the network node based on a percentage of the first estimated available bandwidth; and

sending second bandwidth probe packets at a second probing rate;

in response to receiving a second packet containing a second indication that the second bandwidth probe packets triggered second congestion, estimating a second available bandwidth for the data packets based on the second probing rate; and

adjusting the transmission rate for sending second data packets based on the second probing rate and the second indication.

16. The storage medium as defined in claim 15 , wherein:

the first bandwidth probe packets comprise transmission control protocol packets;

the first received packet comprises an acknowledgement transmission control protocol packet; and

the first indication comprises an explicit congestion notification, the explicit congestion notification being set when a random early detection queue of a router contained more than a threshold number of packets in response to the first bandwidth probe packets.

17. The storage medium as defined in claim 15 , wherein the operations further comprise sending the data packets at the selected value of the data packet transmission rate, wherein adjusting the data packet transmission rate based on the second estimated available bandwidth comprises decreasing the data packet transmission rate in response to the second indication that the second congestion was triggered.

18. The storage medium as defined in claim 17 , wherein the operations further comprise increasing the data packet transmission rate in response to a third indication that the second congestion was not triggered.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2010
From: RAMAKRISHNAN, KADANGODE K.
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 025373/0038 →
Continuity (1)
Related Publication 20120120801A1 · May 17, 2012