Fast dynamic measurement of bandwidth in a TCP network environment
First Claim
1. A method for facilitating communication of packets between entities on a network through a communication device, the method comprising:
- sending a delay-disable command from a sending entity to disable a Nagle algorithm on the communication device;
sending a pair of bandwidth measurement packets back-to-back from the sending entity to a receiving entity, wherein the sending of the pair of bandwidth measurement packets is performed at an application layer of a computer in accordance with an OSI model, and wherein disabling the Nagle algorithm prevents combining the pair of bandwidth measurement packets in one packet by the communication device; and
measuring bandwidth at the application layer based on the sending of the pair of bandwidth measurement packets.
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.
85 Citations
7 Claims
-
1. A method for facilitating communication of packets between entities on a network through a communication device, the method comprising:
-
sending a delay-disable command from a sending entity to disable a Nagle algorithm on the communication device; sending a pair of bandwidth measurement packets back-to-back from the sending entity to a receiving entity, wherein the sending of the pair of bandwidth measurement packets is performed at an application layer of a computer in accordance with an OSI model, and wherein disabling the Nagle algorithm prevents combining the pair of bandwidth measurement packets in one packet by the communication device; and measuring bandwidth at the application layer based on the sending of the pair of bandwidth measurement packets. - View Dependent Claims (2, 3)
-
-
4. A computer-readable medium storing computer-executable instructions that, when executed perform acts comprising:
-
sending a delay-disable command from a sending entity to a receiving entity through a communication device to disable a Nagle algorithm on the communication device; sending a pair of bandwidth measurement packets back-to-back from the sending entity to the receiving entity, wherein the sending of the pair of bandwidth measurement packets is performed at an application layer of a computer in accordance with an OSI model, and wherein disabling the Nagle algorithm prevents combining the pair of bandwidth measurement packets in one packet by the communication device; and measuring bandwidth at the application layer based on the sending of the pair of bandwidth measurement packets.
-
-
5. A method for facilitating bandwidth measurement between two entities through a communication device on a network, the method comprising:
-
sending a delay-disable command from a sending entity to disable a Nagle algorithm on the communication device; sending a pair of bandwidth-measurement packets from the sending entity to a receiving entity, wherein disabling the Nagle algorithm prevents combining the pair of bandwidth measurement packets in one packet by the communication device; receiving a bandwidth calculation based upon measurements related to just the pair of bandwidth-measurement packets and not based upon measurements using any other packets, wherein the bandwidth calculation is performed at an application layer in accordance with an OSI model.
-
-
6. An apparatus comprising:
-
a processor; a transmission-delay avoider operating at an application layer in accordance with an OSI model and executable on the processor to perform acts including; sending a delay-disable command from a sending entity to a receiving entity through a communication device to disable a Nagle algorithm on the communication device; sending a pair of bandwidth measurement packets back-to-back from the sending entity to the receiving entity, wherein disabling the Nagle algorithm prevents combining the pair of bandwidth measurement packets in one packet by the communication device; and a bandwidth meter operating at the application layer and executable on the processor to perform acts including calculating bandwidth based on said delay-disable command and said pair of bandwidth measurement packets.
-
-
7. A program module stored on a computer storage medium that, when executed perform the acts comprising:
-
sending a delay-disable command from a sending entity to a receiving entity through a communication device to disable a Nagle algorithm on the communication device; sending a pair of bandwidth measurement packets back-to-back from the sending entity to the receiving entity, wherein the sending of the pair of bandwidth measurement packets is performed at an application layer of a computer in accordance with an OSI model, and wherein disabling the Nagle algorithm prevents combining the pair of bandwidth measurement packets in one packet by the communication device; and measuring bandwidth at the application layer based on the sending of the pair of bandwidth measurement packets.
-
Specification