Method and system for increasing throughput rate by dynamically modifying connection parameters
First Claim
1. A method of dynamically modifying at least one connection parameter between a client and a server connected via a network, thereby increasing throughput rate between said client and said server, comprising:
- (a) determining a connection rate between said client and said server;
(b) determining a round-trip delay in said network;
(c) determining a first window size value based on said connection rate and said round-trip delay;
(d) receiving a first packet from said client;
(e) determining a second window size value encoded in a window size field of said first packet;
(f) determining a first window scale value based on said first and second window size values,(g) comparing the first window scale value with a second scale value encoded in a window scale field of the first packet; and
(h) overwriting the second window scale value in the window scale field of the first packet with the first window scale value if the first window scale value is greater than the second window scale value.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems and computer program products for dynamically modifying at least one connection parameter between a client and a server connected via a network and thereby increasing throughput rate between the server and the client are provided.
The method comprises determining a first parameter value based on one or more characteristics of the network and a connection between the client and the server. The method further comprises determining whether a second parameter value encoded in a connection parameter field of the first packet received from the client is optimum based on a comparison with the first parameter value and overwriting the second parameter value with the first parameter value, if the second parameter value is not optimum.
-
Citations
30 Claims
-
1. A method of dynamically modifying at least one connection parameter between a client and a server connected via a network, thereby increasing throughput rate between said client and said server, comprising:
-
(a) determining a connection rate between said client and said server; (b) determining a round-trip delay in said network; (c) determining a first window size value based on said connection rate and said round-trip delay; (d) receiving a first packet from said client; (e) determining a second window size value encoded in a window size field of said first packet; (f) determining a first window scale value based on said first and second window size values, (g) comparing the first window scale value with a second scale value encoded in a window scale field of the first packet; and (h) overwriting the second window scale value in the window scale field of the first packet with the first window scale value if the first window scale value is greater than the second window scale value. - View Dependent Claims (2, 3, 4)
-
-
5. A method of dynamically modifying at least one connection parameter between a client and a server connected via a network, thereby increasing throughput rate between said client and said server, comprising:
-
(a) determining a connection rate between said client and said server; (b) determining a round-trip delay in said network; (c) determining a first window size value based on said connection rate and said round-trip delay; (d) receiving a first packet from said client; (e) determining a second window size value encoded in said first packet; and (f) overwriting the second window size value in the window size field of the first packet with the first window size value if the first window size value is greater than the second window size value. - View Dependent Claims (6, 7, 8)
-
-
9. A tangible computer program product comprising a non-transitory computer useable medium including control logic stored therein to dynamically modify at least one connection parameter between a client and a server, connected in a network via a network device, thereby increasing throughput rate between said client and said server, comprising:
-
(a) control logic means for causing a processor to determine a connection rate between said client and said server; (b) control logic means for causing a processor to determine a round-trip delay in said network; (c) control logic means for causing a processor to determine a first window size value based on the connection rate and the round-trip delay; (d) control logic means for causing a processor to determine if the first window size value is greater than a second window size value encoded in a window size field of a first packet received from said client; and (e) control logic means for causing a processor to determine whether the first window size value is greater than a maximum window size value; (f) control logic means for causing a processor to determine a first window scale value based on said first window size value and said maximum window size value if said first window size value is greater than said maximum window size value; (g) control logic means for causing a processor to overwrite a second window scale value encoded in a window scale field of said first packet with said first window scale value if said first window scale value is greater than said second window scale value; and (h) control logic means for causing a processor to overwrite the second window size value encoded in the window size field of said first packet with the maximum window size value if said maximum window size value is greater than said second window size value. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of dynamically modifying at least one connection parameter between a client and a server connected via a network, thereby increasing throughput rate between said server and said client, comprising:
-
(a) determining a first parameter value based on one or more characteristics of said network and a connection between said client and said server; (b) determining whether a second parameter value encoded in a connection parameter field of said first packet received from said client is optimum based on a comparison with said first parameter value; and (c) overwriting said second parameter value with said first parameter value in said connection parameter field, if said second parameter value is not optimum, thereby increasing throughput rate between said server and said client. - View Dependent Claims (19, 20, 21)
-
-
22. A tangible computer program product comprising a non-transitory computer useable medium including control logic stored therein to dynamically modify at least one connection parameter between a client and a server, connected in a network via a network device, thereby increasing throughput rate between said client and said server, comprising:
-
(a) control logic means for causing a processor to determine a connection rate between said client and said server; (b) control logic means for causing a processor to determine a round-trip delay in said network; (c) control logic means for causing a processor to determine a first window size value based on the connection rate and the round-trip delay;
control logic means for causing a processor to determine whether the first window size value is greater than an encoded second encoded window size value scaled by an encoded window scale value if it is determined that the first window size value is greater than the un-scaled second window size value and lesser than a maximum window size value; and(d) control logic means for causing a processor to overwrite the second window size value with the first window size value if the second window size value scaled by the encoded window scale value is lesser than the first window size value. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A method of dynamically modifying at least one connection parameter between a client and a server connected via a network, thereby increasing throughput rate between said client and said server, comprising:
-
(a) determining a first window size value based on a connection rate between said client and said server and a round-trip delay in said network; (b) receiving a first packet from said client; determining a second window size value encoded in said first packet; determining a window scale value encoded in said first packet; scaling the second window size value by the encoded scale value; determining whether the first window size value is greater than the scaled second window size value; de-scaling the first window size value by the encoded scale value if the first window size value is greater than the scaled second window size value; and overwriting the second window size value in the window size field of the first packet with the de-scaled first window size value. - View Dependent Claims (29, 30)
-
Specification