Fast dynamic measurement of bandwidth in a TCP network environment
First Claim
1-1. A method as recited in claim 1 further comprising establishing a TCP connection between the sending entity to the receiving entity, wherein the establishing is just before the sending of the set of 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.
74 Citations
9 Claims
-
1-1. A method as recited in claim 1 further comprising establishing a TCP connection between the sending entity to the receiving entity, wherein the establishing is just before the sending of the set of packets.
-
2-2. A method as recited in claim 1, wherein the flow-control function is the Slow Start Algorithm.
-
3-3. A program module having computer-executable instructions that, when executed by a computer, performs the method as recited in claim 1 at an application layer in accordance with an OSI model.
-
4-4. A computer-readable medium having computer-executable instructions that, when executed by a computer, performs the method as recited in claim 1.
-
5. A method for facilitating bandwidth measurement between two entities on a network, the method comprising:
-
sending a pair of bandwidth-measurement packets from a sending entity to a receiving entity, wherein a transmission delay between packets in the pair is intolerable;
immediately before, sending at least one “
priming”
packet to avoid a transmission delay between packets in the pair, wherein the delay is caused by flow-control functions of a communication device on the network. - View Dependent Claims (6)
-
-
7. A computer-readable medium having computer-executable instructions that, when executed by a computer, perform a method to facilitate speedy communication of packets between entities on a network, the method comprising:
-
sending a set of packets from a sending entity to a receiving entity, wherein a transmission delay between packets in the set is intolerable;
immediately before, sending at least one “
priming”
packet to avoid a transmission delay between packets in the set, wherein the delay is caused by flow-control functions of a communication device on the network.
-
-
8. An apparatus comprising:
-
a processor;
a transmission-delay avoider executable on the processor to;
send a set of packets from a sending entity to a receiving entity, wherein a transmission delay between packets in the set is intolerable;
immediately before, send at least one “
priming”
packet to avoid a transmission delay between packets in the set, wherein the delay is caused by flow-control functions of a communication device on the network.
-
-
9. A modulated data signal having data fields encoded thereon transmitted over a communications channel, comprising:
-
a first field including a “
priming”
packet;
a second field including a first bandwidth-measurement packet;
a third field including a second bandwidth-measurement packet;
wherein the “
priming”
packet facilitates minimization of transmission delay between packets, wherein the delay is caused by flow-control functions of a communication device on the network.
-
Specification