Slow-start adaptive mechanisms to improve efficiency of bandwidth allocation
First Claim
1. A method comprisingdetecting, at a network device operably connected to a link in a network, a first transport layer data flow corresponding to a first host and a second host among a plurality of transport layer data flows transmitted across the link;
- estimating, at a start of the first transport layer data flow between the first host and the second host, an initial rate demand for the first transport layer data flow, wherein the first host and the second host implement, relative to the first transport layer data flow, a protocol that utilizes a slow-start phase, wherein the initial rate demand is an estimated rate capacity for the first transport layer data flow of a communications path between the first and second host, wherein the communications path includes the link;
allocating bandwidth of the link to a plurality of data flows including assigning a target rate to the first transport layer data flow wherein the target rate is less than the initial rate demand for the first transport layer data flow;
enforcing, at the network device, the target rate on the first transport layer data flow;
maintaining a count of packets associated with the first transport layer data flow; and
increasing the target rate allocated to the first transport layer data flow, if the count of packets associated with the first transport layer data flow exceeds at least one threshold.
12 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatuses and systems directed to improving the efficiency of bandwidth allocation schemes by adapting to slow-start mechanisms associated with network communications protocols, such as the TCP/IP protocol suite. In one implementation, the present invention scales down the initial target rate assigned to a data flow to a fraction of an initial estimate of the effective rate capacity of the communications path between two hosts. As packets are received, the target rate is gradually increased, eventually up to the detected rate capacity of the communications path. Implementations of the present invention improve the efficiency of bandwidth allocation by reducing the over-allocation of bandwidth to data flows during the slow-start phase, leaving more bandwidth available to other data flows.
-
Citations
22 Claims
-
1. A method comprising
detecting, at a network device operably connected to a link in a network, a first transport layer data flow corresponding to a first host and a second host among a plurality of transport layer data flows transmitted across the link; -
estimating, at a start of the first transport layer data flow between the first host and the second host, an initial rate demand for the first transport layer data flow, wherein the first host and the second host implement, relative to the first transport layer data flow, a protocol that utilizes a slow-start phase, wherein the initial rate demand is an estimated rate capacity for the first transport layer data flow of a communications path between the first and second host, wherein the communications path includes the link; allocating bandwidth of the link to a plurality of data flows including assigning a target rate to the first transport layer data flow wherein the target rate is less than the initial rate demand for the first transport layer data flow; enforcing, at the network device, the target rate on the first transport layer data flow; maintaining a count of packets associated with the first transport layer data flow; and increasing the target rate allocated to the first transport layer data flow, if the count of packets associated with the first transport layer data flow exceeds at least one threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising
detecting, at a network device operably connected to a link in a network, a first transport layer data flow corresponding to a first host and a second host among a plurality of transport layer data flows transmitted across the link; -
estimating, at a start of the first transport layer data flow between the first host and the second host, an initial rate demand for the first transport layer data flow, wherein the first host and the second host implement, relative to the first transport layer data flow, a protocol that utilizes a slow-start phase, wherein the initial rate demand is an estimated rate capacity for the data flow of a communications path between the first and second host, wherein the communications path includes the link; allocating bandwidth of the link to a plurality of data flows including assigning a target rate to the first transport layer data flow wherein the target rate is a fraction of the initial rate demand for the first transport layer data flow; enforcing, at the network device, the target rate on the first transport layer data flow; maintaining a count of transmitted bytes associated with the first transport layer data flow; and increasing the target rate allocated to the first transport layer data flow, if the count of transmitted bytes associated with the first transport layer data flow increases. - View Dependent Claims (13, 14, 15)
-
-
16. An apparatus comprising:
-
a packet processor operative to detect, among a plurality of transport layer data flows, a first transport layer data flow in network traffic traversing a link in a communications path between a first host and a second host, wherein the first host and the second host implement, relative to the first transport layer data flow, a protocol that utilizes a slow- start phase; maintain a count of packets or bytes associated with the first transport layer data flow; a path rate detection module operative to estimate the initial rate demand for the first transport layer data flow, wherein the initial rate demand is an estimated rate capacity for the first transport layer data flow of a communications path between the first and second host; a bandwidth allocation module operative to allocate bandwidth of the link to a plurality of transport layer data flows including allocating bandwidth to the first transport layer data flow based in part on a target rate associated with the first transport layer data flow; and wherein the apparatus is operative to set a target rate for the first transport layer data flow wherein the target rate is less than the initial rate demand for the first transport layer data flow; and increase the target rate associated with the first transport layer data flow, if the count of packets or bytes associated with the first transport layer data flow exceeds a threshold value. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A method comprising
allocating a limited amount of bandwidth to a plurality of transport layer data flows traversing a network between respective first and second hosts based on target rates associated with the transport layer data flows; - and
in response to detection of and for each data flow of at least a subset of the data flows, estimating an initial rate demand for the transport layer data flow between a first host and a second host, wherein the first host and the second host implement, relative to the transport layer data flow, a protocol that utilizes a slow-start phase, wherein the initial rate demand is an estimated rate capacity for the data flow of a communications path between the first and second host; setting a target rate to the transport layer data flow wherein the target rate is less than the initial rate demand for the transport layer data flow; maintaining a count of packets associated with the transport layer data flow; and increasing the target rate of the transport layer data flow, if the count of packets associated with the transport layer data flow exceeds at least one threshold.
- and
Specification