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 pair of packets from a sending entity to a receiving entity;
sending at least one “
push”
packet after sending said pair of packets to avert a transmission delay between packets in the pair, wherein the size of the “
push”
packet is selected by the sending entity, in view of a Nagle Algorithm that is implemented by the communication device, to be specifically configured to force the transmission of the pair of packets by the communication device to avoid the transmission delay caused by packet buffering by the communication device on the network.
2 Assignments
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.
132 Citations
16 Claims
-
1. A method for facilitating communication of packets between entities on a network through a communication device, the method comprising:
-
sending a pair of packets from a sending entity to a receiving entity; sending at least one “
push”
packet after sending said pair of packets to avert a transmission delay between packets in the pair, wherein the size of the “
push”
packet is selected by the sending entity, in view of a Nagle Algorithm that is implemented by the communication device, to be specifically configured to force the transmission of the pair of packets by the communication device to avoid the transmission delay caused by packet buffering by the communication device on the network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for facilitating bandwidth measurement between two entities on a network through a communication device, the method comprising:
-
means for sending a pair of bandwidth-measurement packets from a sending entity to a receiving entity; means for sending, thereafter, at least one “
push”
packet to avert a transmission delay between packets in the pair, wherein the size of the “
push”
packet is selected by the sending entity, in view of a Nagle Algorithm that is implemented by a proxy device, to be specifically configured to force the transmission of the pair of packets by the proxy device to avoid the transmission delay caused by packet buffering by the proxy device on the network. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer-readable storage medium storing computer-executable instructions that, when executed by a computer, perform a method to facilitate communication of packets between entities on a network through a communication device, the method comprising:
-
sending a pair of packets from a sending entity to a receiving entity; sending at least one “
push”
packet to avert a transmission delay between packets in the pair, wherein the size of the “
push”
packet is selected by the sending entity, in view of a Nagle Algorithm that is implemented by the communication device, to be specifically configured to force the transmission of the pair of packets by the communication device to avoid the transmission delay caused by packet buffering by the communication device on the network.
-
-
16. An apparatus comprising:
-
a processor; a transmission-delay avoider executable on the processor to; send a pair of packets from a sending entity to a receiving entity through a communication device; send at least one “
push”
packet thereafter to avert a transmission delay between packets in the pair, wherein the size of the “
push”
packet is selected by the sending entity, in view of a Nagle Algorithm that is implemented by the communication device, to be specifically configured to force the transmission of the pair of packets by the communication device to avoid the transmission delay caused by packet buffering by the communication device on the network.
-
Specification