Fast dynamic measurement of bandwidth in a TCP network environment
First Claim
1. A method for facilitating communication of packets between a sending entity and a receiving entity through a communication device on a network, the method comprising:
- setting, by the sending entity, a congestion window between the sending entity and the receiving entity to at least three packets;
sending at least one “
priming”
packet from the sending entity to avoid a transmission delay caused by a slow start algorithm on the communication device;
receiving an acknowledgement packet at the sending entity;
sending immediately thereafter, two bandwidth measurement packets back to back from the sending entity to the receiving entity to measure bandwidth of a connection between the sending entity and the receiving entity, wherein the priming packet is not used for the bandwidth measurement.
1 Assignment
0 Petitions
Accused Products
Abstract
The fast dynamic measurement of bandwidth in a TCP network environment utilizes a single pair of packets to calculate bandwidth between two entities on a network (such as the Internet). This calculation is based upon the packet-pair technique. This bandwidth measurement is extremely quick. On its journey across a network, communication devices may delay the packet pairs. In particular, TCP networks have two algorithms designed to delay some packets with the goal of increasing the overall throughput of the network. However, these algorithms effectively delay a packet pair designed to measure bandwidth. Therefore, they distort the measurement. These algorithms are Nagle and Slow Start. The fast dynamic measurement of bandwidth implements countermeasures to overcome the delays imposed by these algorithms. Such countermeasures include disabling the application of the Nagle Algorithm; minimizing the buffering of packets by sending a “push” packet right after the packet pair; and avoiding the Slow Start Algorithm by priming it with a dummy packet.
93 Citations
5 Claims
-
1. A method for facilitating communication of packets between a sending entity and a receiving entity through a communication device on a network, the method comprising:
-
setting, by the sending entity, a congestion window between the sending entity and the receiving entity to at least three packets; sending at least one “
priming”
packet from the sending entity to avoid a transmission delay caused by a slow start algorithm on the communication device;receiving an acknowledgement packet at the sending entity; sending immediately thereafter, two bandwidth measurement packets back to back from the sending entity to the receiving entity to measure bandwidth of a connection between the sending entity and the receiving entity, wherein the priming packet is not used for the bandwidth measurement. - View Dependent Claims (2, 3)
-
-
4. A computer-readable medium storing computer-executable instructions that, when executed by a computer, performs acts to facilitate communication of packets between a sending entity and a receiving entity through a communication device on a network, the acts comprising:
-
setting, by the sending entity, a congestion window between the sending entity and the receiving entity to at least three packets; sending at least one priming packet from the sending entity to avoid a transmission delay caused by a stow start algorithm on the communication device; receiving an acknowledgement packet at the sending entity; sending immediately thereafter, two bandwidth measurement rackets back to back from the sending entity to the receiving entity to measure bandwidth of a connection between the sending entity and the receiving entity, wherein the priming racket is not used for the bandwidth measurement.
-
-
5. An apparatus comprising:
-
a sending entity having a processor and a transmission-delay avoider executable on the processor to perform acts to facilitate communication of rackets between the sending entity and a receiving entity through a communication device on a network, the acts comprising; setting, by the sending entity, a congestion window between the sending entity and the receiving entity to at least three packets; sending at least one priming packet from the sending entity to avoid a transmission delay caused by a slow start algorithm on the communication device; receiving an acknowledgement packet at the sending entity; sending immediately thereafter, two bandwidth measurement packets back to back from the sending entity to the receiving entity to measure bandwidth of a connection between the sending entity and the receiving entity, wherein the priming packet is not used for the bandwidth measurement.
-
Specification