Rate-based multi-level active queue management with drop precedence differentiation
First Claim
1. A method for controlling a data flow in a data network, the method comprising:
- setting a stable integral controller gain ki for said data network;
specifying a plurality of precedence grades, each of said precedence grades having a priority associated thereto;
for each precedence grade, calculating a cumulative data arrival rate R(n) where R(n) is the sum of the data arrival rates for a particular precedence grade under consideration plus the data arrival rates of all precedence grades with a higher priority than said particular precedence grade under consideration;
for each precedence grade calculating a normalized error signal e(n), according to the relation
e(n)=(T(n)−
R(n))/x,
where T(n) is an assigned precedence grade capacity at time n, and x is a nominal packet size;
for each precedence grade computing a mark/drop probability p(n) according to the relation
p(n)=min {max [p(n−
1)+ki·
Δ
t·
e(n), 0], pmax}
where Δ
t is the time interval between a (n−
1)th and the nth computation, and 0<
pmax≦
1; and
for each precedence grade executing a packet mark/drop routine based upon the calculated mark/drop probability p(n).
15 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a rate-based multi-level Active Queue Management with drop precedence differentiation method and apparatus which uses traffic rate information for congestion control. Using a nonlinear fluid-flow model of Traffic Control Protocol, an integral controller in a closed-loop configuration with gain settings characterized for stable operation allows a matching of the aggregate rate of the active TCP connections to the available capacity. Further disclosed is a method for calculation of the regime of gains over which stable operation of a given network obtains. An enhancement of the basic algorithm provides the ability to drop low-precedence packets in preference to higher precedence packets. This approach allows for a rate-based AQM approach for application in a differentiated service environment.
18 Citations
17 Claims
-
1. A method for controlling a data flow in a data network, the method comprising:
-
setting a stable integral controller gain ki for said data network; specifying a plurality of precedence grades, each of said precedence grades having a priority associated thereto; for each precedence grade, calculating a cumulative data arrival rate R(n) where R(n) is the sum of the data arrival rates for a particular precedence grade under consideration plus the data arrival rates of all precedence grades with a higher priority than said particular precedence grade under consideration; for each precedence grade calculating a normalized error signal e(n), according to the relation
e(n)=(T(n)−
R(n))/x,
where T(n) is an assigned precedence grade capacity at time n, and x is a nominal packet size;for each precedence grade computing a mark/drop probability p(n) according to the relation
p(n)=min {max [p(n−
1)+ki·
Δ
t·
e(n), 0], pmax}
where Δ
t is the time interval between a (n−
1)th and the nth computation, and 0<
pmax≦
1; andfor each precedence grade executing a packet mark/drop routine based upon the calculated mark/drop probability p(n). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for controlling a data flow in a data network, the apparatus comprising:
-
an integral controller having an integral controller gain ki setting for which the said network is stable; a cumulative data rate calculator for calculating a cumulative data arrival rate R(n) associated with each of said plurality of precedence grades, wherein R(n) is the sum of the data arrival rates for a particular precedence grade under consideration plus the data arrival rates of all precedence grades with a higher priority than said particular precedence grade under consideration; an error signal calculator for calculating a normalized error signal e(n) for each of said plurality of precedence grades according to the relation
e(n)=(T(n)−
R(n))/x,
where T(n) is an assigned precedence grade capacity at time n, and x is a nominal packet size;a mark/drop probability processor for computing a mark/drop probability p(n) for each of said plurality of precedence grades according to the relation
p(n)=min {max [p(n−
1)+ki·
Δ
t·
e(n), 0], pmax}
where Δ
t is the time interval between a (n−
1)th and the nth computation, and 0<
pmax≦
1; anda packet mark/drop module for executing a packet mark/drop routine based upon the calculated mark/drop probability p(n). - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product comprising a computer readable medium having stored thereon computer executable instructions for controlling a data flow in a data network, the computer executable instructions comprising:
-
instructions for setting a stable gain of a integral controller gain ki for said data network; instructions for specifying a plurality of precedence grades, each of said precedence grades having a priority associated thereto; instructions for calculating, for each precedence grade, a cumulative data arrival rate R(n) where R(n) is the sum of the data arrival rates for a particular precedence garde under consideration and the data arrival rates of all precedence grades with a higher priority than said particular precedence grade under consideration; instructions for calculating, for each precedence grade, a normalized error signal e(n), according to the relation
e(n)=(T(n)−
R(n))/x,where T(n) is an assigned precedence grade capacity at time n, and x is a nominal packet size; instructions for computing, for each precedence grade, a mark/drop probability p(n) according to the relation
p(n)=min {max [p(n−
1)+ki·
Δ
t·
e(n), 0], pmax}
where Δ
t is the time interval between a (n−
1)th and the nth computation, and 0<
pmax≦
1; andinstructions for executing, for each precedence grade, a packet mark/drop routine based upon the calculated mark/drop probability p(n).
-
Specification