Method for transparently determining and setting an optimal minimum required TCP window size
First Claim
1. A method for minimizing queuing of data on a transmission link in a digital data packet communication environment having an arbitrary and unknown plurality of digital packet transmission stations interconnectable in data paths through a network, each said data path having associated therewith a flow of data comprising packets, wherein said data packet communication environment uses a sliding window method of rate control wherein a receiver sends a value for a window back to a sender as a receiver-advertised window, wherein said receiver-advertised window is associated with each packet of said particular flow along each said data path, said method comprising the steps of:
- for each particular flow of data and concurrent with a first packet exchange in said flow of data between said sender and said receiver connected via a particular data path, determining a network transit latency;
thereupon computing an optimal window value from said network transit latency for said data path independent of knowledge of number and latency of intermediate digital packet transmission stations, said optimal window value retaining validity for duration of said flow of data;
thereupon determining on each said packet of said particular flow from said receiver to said sender using a receiver-advertised window value, whether said receiver-advertised window value for said packet is greater than said optimal window value; and
if true thereupon, setting said receiver-advertised window to said optimal window value in order to override said receiver-advertised window.
18 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for optimally setting the receiver window size in a flow controlled protocol in order to minimize queuing in a packet telecommunications network. Embodiments according to the present invention are operable at an explicit path to identify per connection information from host address or physical interface, flow direction, or any combination of these elements. The present invention may function in conjunction with a rate detection method that determines both a message serialization delay component and a data size invariant delay component.
-
Citations
15 Claims
-
1. A method for minimizing queuing of data on a transmission link in a digital data packet communication environment having an arbitrary and unknown plurality of digital packet transmission stations interconnectable in data paths through a network, each said data path having associated therewith a flow of data comprising packets, wherein said data packet communication environment uses a sliding window method of rate control wherein a receiver sends a value for a window back to a sender as a receiver-advertised window, wherein said receiver-advertised window is associated with each packet of said particular flow along each said data path, said method comprising the steps of:
-
for each particular flow of data and concurrent with a first packet exchange in said flow of data between said sender and said receiver connected via a particular data path, determining a network transit latency;
thereuponcomputing an optimal window value from said network transit latency for said data path independent of knowledge of number and latency of intermediate digital packet transmission stations, said optimal window value retaining validity for duration of said flow of data;
thereupondetermining on each said packet of said particular flow from said receiver to said sender using a receiver-advertised window value, whether said receiver-advertised window value for said packet is greater than said optimal window value; and
if true thereupon,setting said receiver-advertised window to said optimal window value in order to override said receiver-advertised window. - View Dependent Claims (2, 3, 4, 5, 6, 7)
updating state information in data packets associated with said flow.
-
-
3. The method of claim 1 further wherein said digital data packet communication environment is an Internet Protocol (IP) message.
-
4. The method of claim 1 wherein said digital data packet communication environment is a Transmission Control Protocol (TCP) connection.
-
5. The method of claim 1 wherein said digital data packet communication environment is a User Datagram Protocol (UDP) session.
-
6. The method of claim 1 further comprising the step of:
determining said network latency based upon user input.
-
7. The method of claim 1 further comprising the step of:
determining said network latency based upon ascertainable factors about the underlying connection activity.
-
8. A system for transmitting data with minimal queuing on a transmission link in a digital data packet communication environment having an arbitrary and unknown plurality of digital packet transmission stations interconnectable in data paths through a network, each said data path having associated therewith a flow of data comprising packets, wherein said data packet communication environment uses a sliding window method of rate control wherein a receiver sends a value for a window back to a sender as a receiver-advertised window, wherein said window is associated with each packet of said particular flow along each said data path, said system comprising:
-
a sender;
a receiver, connected to said sender via a particular data path, said receiver operative to;
for each particular flow of data and concurrent with a first packet exchange in said flow of data between said sender and said receiver connected via a particular data path, determine a network transit latency;
compute an optimal window value from said network transit latency for said data path independent of knowledge of number and latency of intermediate digital packet transmission stations, said optimal window value retaining validity for duration of said flow of data;
determine on each said packet of said particular flow from said receiver to said sender using a receiver-advertised window value, whether said receiver-advertised window value for said packet is greater than said optimal window value; and
if true thereupon,set said receiver-advertised window to said optimal window value in order to override said receiver-advertised window. - View Dependent Claims (9, 10, 11, 12, 13)
update state information in data packets associated with said flow.
-
-
10. The system of claim 8 further wherein said digital data packet communication environment is an Internet Protocol (IP) message.
-
11. The system of claim 8 wherein said digital data packet communication environment is a Transmission Control Protocol (TCP) connection.
-
12. The system of claim 8 wherein said digital data packet communication environment is a User Datagram Protocol (UDP) session.
-
13. The system of claim 8 wherein said receiver is further operative to:
determine said network latency based upon user input.
-
14. A method for minimizing queuing of data on a transmission link in a digital data packet communication environment having an arbitrary and unknown plurality of digital packet transmission stations interconnectable in data paths through a network, each said data path having associated therewith a flow of data, wherein said data packet communication environment uses a sliding window method of rate control, wherein a window is associated with each said particular flow along each said data path, said method comprising the steps of:
-
for a particular flow of data, determining a network transit latency;
computing an optimal window value from said network transit latency according to the following relation;
-
-
15. A method for minimizing queuing of data on a transmission link in a digital data packet communication environment having an arbitrary and unknown plurality of digital packet transmission stations interconnectable in data paths through a network, each said data path having associated therewith a flow of data, wherein said data packet communication environment uses a sliding window method of rate control, wherein a window is associated with each said particular flow along each said data path, said method comprising the steps of:
-
for a particular flow of data, determining a network transit latency;
computing an optimal window value from said network transit latency without reference to juxtaposition of acknowledgment packets and data packets according to the following relation;
-
Specification