﻿Pitfalls in the Fluid Modeling of RTT Variations in
Window-Based Congestion Control
Abstract—Deterministic delay differential equation models,
where the packet traffic is modeled as a fluid, are widely
used to study congestion control algorithms in the Internet.
In this paper, we point out some pitfalls in such fluid modeling
of window flow control algorithms. Specifically, we argue
that the modeling assumptions used to capture the variability
in the RTT (due to queue length fluctuations) may
play a critical role in our ability to design stable algorithms.
We study two scenarios to illustrate the dramatic impact
of RTT modeling. We first consider TCP-Reno with RED,
and show that assuming that the RTT is a constant (when
it is actually time-varying) leads to conservative parameter
choices, i.e., the system continues to be stable even with variable
RTT. On the other hand, for the recently proposed Stabilized
Vegas, we show the following result: while the network
can be stabilized under the constant RTT assumption,
there is no choice of parameters that would stabilize the system
when the RTT variations are taken into account! Interestingly,
such problems do not arise if the congestion-control
mechanisms at the end-users are rate-based.
Keywords— Congestion Control, Round Trip Delay, TCP
Vegas, Stabilized Vegas, RED
I. INTRODUCTION
TCP-Reno and its variants, along with Droptail at the
routers, are the most widely-used congestion control algorithms
in the Internet. In the last ten years, several alternatives
have been proposed to Droptail, most of which work
by providing congestion feedback based on the queue
lengths at the routers. These mechanisms, called Active
Queue Management (AQM) schemes, include RED [1],
REM [2], AVQ [3, 4], BLUE [5], E-RED [6, 7]. In addition,
many new source congestion control algorithms have
also been proposed, including TCP Vegas [8], Stabilized
Vegas [9], HighSpeed TCP [10] and Scalable TCP [11].
A widely used approach to study the stability of these
algorithms is to choose a fluid model of the congestioncontrolled
network, and work with the nonlinear delay differential
equations that characterize the dynamics of the
All the three authors are with the Department of Electrical and Computer
Engineering and Coordinated Science Laboratory, University of
Illinois at Urbana-Champaign, 1308 West Main Street, Urbana, IL
61801-2307, USA. E-mails: (shaoliu, basar1, rsrikant)@uiuc.edu
Research supported by the NSF ITR Grant CCR 00-85917, DARPA
Grant F30602-00-2-0542 and AFOSR URI F49620-01-1-0365.
Shao Liu, Tamer Bas¸ar and R. Srikant
closed-loop system [12, 13, 14]. Since it is hard to analyze
the global stability of nonlinear delayed systems (see [15,
16, 17, 18] for some recent results), a common approach
is to linearize the nonlinear system [19, 20, 21, 22, 23]
and perform local analysis via the multivariable Nyquist
Criterion [24, 25]. In the process of this linearization, a
variety of modeling assumptions are made explicitly or
implicitly, whose consequences, however, have not been
fully explored. The aim of this paper is to address this issue,
and perform a detailed study of the assumptions on
RTT variations in linearizing the system of window-based
congestion control.
We first study the combination of TCP-Reno, the most
popular source algorithm, and RED, the widely-studied
AQM scheme. We carry out a comparative study of the
two models derived by assuming RTT to be either constant
or time-varying. We show that the variable nature of RTTs
helps stabilize the Reno-RED system, that is, the stability
region for the variable RTT case is larger than that for the
constant RTT. We perform Matlab and ns-2 simulations to
support this conclusion.
We then study delay-based source algorithms, in particular,
Stabilized Vegas [9]. A modification of TCP-Vegas,
Stabilized Vegas uses the queueing delay as the congestion
measure, and adapts the source window size and thus
the source rate based on both the current value and rate of
change of the queueing delay. In [9], RTT is taken to be a
constant in the linearization, which has led to the conclusion
that Stabilized Vegas is stable and scalable combined
with Droptail. However, queueing delay, taken as the congestion
measure, is not a constant, which then makes RTT
also time varying. We show in this paper that if all delays
are taken as time-varying, then “Stabilized Vegas” cannot
be stabilized using the technique presented in [9]. In other
words, for a general topology network, it is not possible
to design the parameters of the algorithm to stabilize the
network.
II. NETWORK MODELING
We have a set of users/routes, R, and a set of
links/resources, L. For each user r ∈ R, its route involves
a set of links, which is a subset of L, denoted Lr. Each link
l ∈ L may be used by several routes; accordingly, we write
1
l ∈ r if l ∈ Lr. Each user r ∈ R has an associated flow
rate xr, and each link l ∈ L has an associated link aggre-
gate rate yl = �
r∈R:l∈r xr, and a fixed capacity cl. Introduce
the source rates (column) vector x := (xr, r ∈ R),
the link rate (column) vector y := (yl, l ∈ L), and the
routing matrix A := (Alr, l ∈ L, r ∈ R), where Alr = 1
if l ∈ r and 0 otherwise; then we have the relationship
y = Ax [12, 13].
The router algorithm at link l determines the congestion
measure (also called congestion signal or shadow
price or price in short) pl and sends this price back to the
sources over this link. Source r receives the route aggregate
congestion measure/price qr. If the price is in the
form of queueing delay, then qr = �
l∈r pl. If the price
is in the form of packet drop/marking probability, then
qr = 1 − �
l∈r (1 − pl), but if all pl’s are sufficiently small,
an approximate relationship here is still qr = �
l∈r pl.
Introducing the column vectors p = (pl, l ∈ L) and
q = (qr, r ∈ R), then q = A T p. The source algorithm
adjusts the rate xr based on qr. Most source algorithms, including
all variants of TCP, are window based in the sense
that they modify (adjust) the source window size Wr based
on qr directly for all r ∈ R. Accordingly, the source rate
xr depends on qr indirectly, and approximately we have
the relationship xr = Wr/Tr, where Tr is the RTT of route
r.
Incorporating delays into the model, we have the following
network topology relationships:
yl(t) = �
r:l∈r
qr(t) = �
l∈r
xr(t − τ f
lr (t)) , (1)
pl(t − τ b lr (t)) , (2)
where τ f
lr (t) and τ b lr are the forward delay from source r
to link l and the backward delay from link l back to source
r, respectively, at time t, and we have
Tr(t) = τ f
lr (t) + τ b lr (t), ∀l ∈ r, ∀r ∈ R . (3)
The window based source algorithm can be characterized
by the following equations:
˙Wr(t) = xr(t − Tr(t))fr(Wr(t), Tr(t), qr(t)) , (4)
xr(t) = Wr(t)
Tr(t)
Tr(t) = Tp,r + Tq,r(t) = Tp,r + �
l∈r
, (5)
Tq,l(t − τ b lr (t)) , (6)
where Tp,r is the propagation delay and Tq,r(t) is the
queueing delay, which is the sum of Tq,l, the queueing delay
at link l, for all l ∈ r. The source algorithm determines
the function fr.
The queue length or queueing delay based router algorithm
is characterized by the following equations:
˙bl(t) = yl(t) − cl , (7)
˙al(t) = kl(bl(t) − al(t)) , (8)
Tq,l(t) = bl(t)/cl , (9)
pl(t) = gl(al(t)) , (10)
where bl(t) and al(t) are, respectively, the instantaneous
and exponentially averaged queue length of router l at time
t, and the router algorithm determines the function gl. In
general, pl depends on al. If pl depends on bl directly,
we take kl = ∞ and thus al = bl. If pl is a function
of the queueing delay Tq,l, then kl = ∞ and gl(al(t)) =
gl(bl(t)) = ˜gl(bl(t)/cl) = ˜gl(Tq,l(t)).
The equations (1)-(10) constitute the fluid model of
the window-based congestion control system. To study
the stability of the system, we linearize the nonlinear
equations. Let ˆxr, ˆqr, ˆyl, ˆpl, ˆτ f
lf , ˆτ b lr and ˆ Tr denote the
equilibrium values of the corresponding variables and let
δxr, δqr, δyl, δpl, δτ f
lf , δτ b lr and δTr denote the perturbations
from the corresponding equilibrium values. For
notational simplicity and allowing a slight abuse of notation,
sometimes we will use xr, qr, yl, pl instead of
δxr, δqr, δyl, δpl, when the difference is clear from the
context.
Before we perform the linearization, we need to state
explicitly some needed assumptions on the RTT variations.
III. RTT MODELING, GENERAL DISCUSSION
If we view RTT as a constant, then the linearization is
fairly straightforward:
δ ˙xr(t) = δ ˙ Wr(t)
Tr
= ˆxr
(
Tr
ˆ ∂fr
δqr(t) +
∂qr
ˆ ∂fr
Trδxr(t)) ,
∂Wr
(11)
δpl(t) = ˆ g ′ lδal , (12)
δ ˙al(t) = kl(δbl − δal) , (13)
δ ˙ bl = δyl . (14)
The perturbed versions of the rates and the prices still satisfy
(1) and (2). Denote the Laplace transforms of δx(t),
δy(t), δp(t), and δq(t), respectively, by X(s), Y (s), P (s),
and Q(s), and define the routing matrix with delay in the
frequency domain as A(s) = (Alr(s), l ∈ L, r ∈ R) [24],
where
Alr(s) = exp(−sτ f
lr ) if l ∈ r ,
= 0 otherwise .
2
Then, we have the relationships
Y (s) = A(s)X(s) , (15)
Q(s) = diag(e −sTr )A T (−s)P (s) , (16)
X(s) = F (s)Q(s) , (17)
P (s) = diag(ˆg ′ kl 1
l
)Y (s) , (18)
s + kl s
where F (s) depends on fr, ∀r ∈ R. Then, the loop function
L(s) can easily be obtained, and stability analyzed
using the multivariable Nyquist Criterion [26] [24]. Note
that if kl = ∞, then kl = 1.
s+kl
If we model the delays as variables, however, some difficulties
arise, since the variable delays appear both as independent
variables and as arguments of other variables.
The standard approach is to model delays which appear as
arguments (inside the parentheses following another variable,
such as xr(t − τ f
lr (t)) as constants and to model the
independent variable delays (like xr(t) = Wr(t)/Tr(t))
to be variables. This method is widely used (e.g., [27] and
[20]), but without much justification.
We provide below some evidence supporting this simplification.
In the fluid model (1)-(10), delays appear as
arguments in (1), (2), (4) and (6). The linearization of (2)
yields
δqr(t) =
=
qr(t) − ˆqr
�
l∈r (pl(t − τ b =
lr (t)) − ˆpl)
�
l∈r (pl(t − τ b lr (t)) − pl(t − ˆτ b lr )
+pl(t − ˆτ b =
lr ) − ˆpl)
�
l∈r δpl(t − ˆτ b �
lr ) + l∈r ˙pl(tlr)(−δτ b lr (t))
≈ �
l∈r δpl(t − ˆτ b lr ) ,
(19)
where tlr is some time between t− ˆτ b lr and t−τ b lr (t). Since
˙pl = 0 at equilibrium and ˙pl(tlr) is in the order of o(1), the
product of ˙pl(tlr) and −δτ b lr (t) is of a smaller order than
δpl.
Similarly, the linearization of (1) and (6) yields:
δyl(t) = �
δxr(t − ˆτ f
lr ) , (20)
δTr(t) = �
l∈r
r:l∈r
δTq,l(t − ˆτ b lr
�
) = δbl(t − ˆτ b lr )/cl . (21)
As for (4), since fr = 0 at equilibrium, xr(t − Tr(t))
is replaced by ˆxr in the linearized equation and it makes
no difference whether Tr(t) is a constant or not. From the
above analysis, it is reasonable to model delays that appear
as arguments to be constants.
However, it is not clear whether we can linearize an argument
when linearizing a nonlinear system and thus the
l∈r
above analysis is not very precise. To support this claim
we will use Matlab simulations, which will also show
that the delay variations as independent variables, as in
xr(t) = Wr(t)/Tr(t), are more significant than the delay
variations as arguments of other variables. Since Matlab
does not provide routines to solve variable delay differential
equations, we had to discretize the system to obtain delay
difference equations and use the difference equations
to perform the Matlab simulations. The discretization time
slot was taken to be 0.1 ms. Since we focus on RED and
Stabilized Vegas in this paper, we simulate RED and TCP
Vegas for a single link and single source scenario, with a
link capacity of 1 packet per 100 time slots, and a propagation
delay of 1000 time slots. For RED, we set the link
price to be 0.002 times the instantaneous queue length in
packets. For TCP Vegas, we set the target queued packet
to be 7 and the maximum queueing delay to be 1000 time
slots. For each algorithm, we start with the initial conditions
near their equilibrium points and plot the window
size for three cases: 1) delays are variable everywhere; 2)
delays are variable as independent variables and constant
as arguments; 3) delays are constant everywhere. These
plots are in Figures 1-6. We see that the difference between
case 1 and case 2 is much less significant than the difference
between case 1 and case 3. This comparison convincingly
supports our claim that we can model delays as
arguments to be constants, but we cannot do the same simplification
when delays appear as independent variables,
such as the delay term in xr(t) = Wr(t)/Tr(t). The linearized
equations (1)-(2) and (12)-(14) remain the same
and the only change is that (11) is now replaced by the
following:
˙xr(t) = ˙ Wr(t)
Tr(t)
which further results in
δ ˙xr(t) = δ ˙ Wr(t)
ˆTr
= ˆxr
ˆTr
− ˆxr
ˆTr
= ˆxr
ˆTr
− ˆxr
ˆTr
( ˆ ∂fr
3
− Wr(t)
T 2 r (t) ˙
Tr(t) , (22)
− ˆ Wr
ˆT 2 δ
r
˙ Tr(t)
∂qr δqr(t) + ˆ ∂fr
∂Wr Trδxr(t))
�
l∈r δTq,l(t ˙ − ˆτ b lr )
( ˆ ∂fr
∂qr δqr(t) + ˆ ∂fr
∂Wr Trδxr(t))
�
l∈r δ˙ bl(t − ˆτ b lr )/cl .
(23)
Remark 1. It is possible for a variable delay difference
equation to use older information instead of the latest one.
For example, if at time 10, the delay is 5 slots, and at time
11, the delay is 7 slots, then the adaptation will use the information
at time 5 for time 10, but the information used at
time 11 will be the one at time 4. To avoid such noncausality
in the implementation, we have included memory in our
simulations, and used the most currently available information.
16
15
14
13
12
11
10
0 2 4 6 8 10 12
x 10 5
9
Fig. 1. RED algorithm: the window size trajectory, case 1.
1
0.5
0
−0.5
−1
0 2 4 6 8 10 12
x 10 5
−1.5
Fig. 2. RED algorithm: the window size difference between case
2 and case 1.
1
0
−1
−2
−3
−4
−5
0 2 4 6 8 10 12
x 10 5
−6
Fig. 3. RED algorithm: the window size difference between case
3 and case 1.
IV. RTT MODELING FOR RED
Several results exist on the stability analysis of RED,
such as those in [20], [21], [28] and [27]. The first three
discuss the single link identical sources case and the last
one studies the general network topology case. Their common
conclusion is that RED becomes unstable as RTT increases
or capacity becomes large. Here we focus on the
single link identical sources case as in [20].
The nonlinear differential equations characterizing TCP
and the queueing behavior are:
˙W (t) = 1
R(t)
W (t)W (t − R(t))
− p(t − R(t)) , (24)
2R(t − R(t))
22
20
18
16
14
12
10
8
6
0 0.5 1 1.5 2 2.5
x 10 5
4
Fig. 4. Vegas algorithm: the window size trajectory, case 1.
1.5
1
0.5
0
−0.5
−1
−1.5
−2
−2.5
0 0.5 1 1.5 2 2.5
x 10 5
−3
Fig. 5. Vegas algorithm: the window size difference between
case 2 and case 1.
˙b(t) =
4
W (t)
N(t) − C , (25)
R(t)
where W (t) is the window size, R(t) is the RTT, p is the
packet marking probability and b(t) is queue length. The
linearization leads to
˙W (t) = − N
R2 0C (W (t) + W (t − R0))
R0C 2
−
2N 2 p(t − R0) ,
(26)
˙b(t) = N
W (t) − 1
b(t) . (27)
R0
Note that (27) is derived by assuming RTT to be variable
and R(t) = Rp + b(t)/C. If we model the RTT as a
constant, then instead of (27), we get
R0
˙b(t) = N
W (t) . (28)
R0
In the Laplace domain, the transfer function from p(s) to
q(s) is
P (s) =
(C2 )
2N e−sR0
(s + 2N
R2 1
)(s +
0C R0
) , (29)
which becomes as follows if RTT is modeled as a constant:
˜P (s) =
(C2 )
2N e−sR0
(s + 2N
R2 . (30)
)s
0C The transfer function for RED, on the other hand, is
C(s) = Cred(s) = Lred
, (31)
s/K + 1
15
10
5
0
−5
0 0.5 1 1.5 2 2.5
x 10 5
−10
Fig. 6. Vegas algorithm: the window size difference between
case 3 and case 1.
where
pmax
Lred =
; K = −
maxth − minth
loge(1 − α)
.
δ
(32)
Here, α > 0 is the queue length averaging parameter, δ is
the sample time and pmax, maxth, and minth are the RED
parameters.
Thus the overall closed-loop transfer function (when
RTT is not a constant) is
and thus
L(jω) =
L(s) =
( s
K
(R0C) 3
Lred (2N) 2 e−sR0 + 1)( s
2N
R 2 0 C
κe −jωR0
+ 1)( s
, (33)
+ 1) R0
(1 + jωR0
jωR0
a )(1 + b )(1 + jωR0)
, (34)
(R0C) 3
where κ = Lred (2N) 2 , a = KR0, and b = 2N
R0C .
If we model the RTT as a constant, then using (30) we
have
and hence
˜L(jω) =
˜L(s) =
( s
K
Lred (R0C) 3
(2N) 2 e −sR0
+ 1)( s
2N
R 2 0 C
κe −jωR0
+ 1) s
R0
(1 + jωR0
jωR0
a )(1 + b )(jωR0)
, (35)
. (36)
Note that the only difference between these two is that
the term 1/(1 + jωR0) is replaced by 1/jωR0 if RTT is
modeled as a constant instead of being treated as a variable
in the expression x(t) = W (t)/R(t). Clearly, the term
1/(1+jωR0) is easier to stabilize than the term 1/(jωR0).
We next provide some numerical results on the stability
conditions under the two modeling assumptions. From the
Nyquist Criterion, we know that the necessary and sufficient
stability conditions for the two models are that L(jω)
and ˜ L(jω) do not encircle −1 as ω varies from −∞ to
∞. From the shape of the eigenloci, it is easy to see that
the above conditions are equivalent to the conditions that
L(jω) and ˜ L(jω) cross the real line to the right of −1.
Suppose L(jω) and ˜ L(jω) cross the real line from the
left of the origin at ω1 and ω2, respectively. Then,
ω1R0 + arctan(ω1R0) + arctan( ω1R0
a )
+ arctan( ω1R0
b ) = π + 2nπ ,
ω2R0 + arctan( ω2R0
a
5
(37)
) + arctan(ω2R0 ) =
b
π
+ 2mπ ,
2
(38)
where n and m are integers. The stability conditions are
then |L(jω1)| < 1 and | ˜ L(jω2)| < 1. For fixed values of
the parameters a and b, there are multiple roots of ω1 and
ω2, but there are unique roots in [0, π] for m = n = 0, and
these unique roots of ω1 and ω2 yield the smallest values
for |L(jω1)| and | ˜ L(jω2)|. For the unique roots in [0, π],
introduce
θ1 = � 1 + (ω1R0) 2
θ2 = ω2R0
�
�
1 + ( ω1R0
a )2
1 + ( ω2R0
a )2
�
�
1 + ( ω1R0
)
b
2 ,
1 + ( ω2R0
)
b
2 .
Then, |L(jω1)| = κ/θ1 and | ˜ L(jω2)| = κ/θ2, and thus
the necessary and sufficient stability conditions for the two
models are:
κ < θ1 and κ < θ2 .
For each fixed values of the parameters a and b, the two
threshold values, θ1 and θ2, are uniquely solvable and we
plot these thresholds as functions of a and b in Figure 7.
We see that the threshold functions are symmetric about
a and b, and to have a clear picture, we only need to plot
the dependence of the thresholds on a for some fixed values
of b. These dependencies are plotted in Figures 8-12.
3
2
1
0
0
25
50
75
100 0
100
Fig. 7. Thresholds as functions of a, and b (upper one for variable
RTT and lower one for constant RTT).
From the figures, we deduce the following:
• The stability region in the variable RTT case is larger
than in the constant RTT case. Thus the variable nature of
RTT helps to stabilize the system.
25
50
75
100
100
80
60
40
20
VarRTT �Gray� vs ConstRTT �Dash� : b�0.01
20 40 60 80 100
Fig. 8. Thresholds as functions of a, with b fixed at 0.01.
VarRTT �Gray� vs ConstRTT �Dash� : b�0.1
30
25
20
15
10
5
20 40 60 80 100
Fig. 9. Thresholds as functions of a, with b fixed at 0.1.
• The difference between the stability thresholds in these
two cases is relatively small if both a and b are large (>>
1) and the difference is very significant if either a or b is
small (<< 1).
The above analysis points to a design which is stable
if RTT is modeled as variable but not stable if RTT is a
constant. An example would be a single link with capacity
83.2 Mbps (C = 10 packets per ms for 1040 bytes
packet: 1000 bytes of data plus 40 bytes of header) shared
by N = 150 identical users, with propagation delay of
40 ms. The link’s buffer limit is 500 packets and the
RED parameters are maxp = 0.1, thmin = 150 packets,
thmax = 350 packets, and wq = 0.004. So the equilibrium
queueing delay is bounded between 15 ms and 35
ms, and R0 is between 55 ms and 75 ms. Also it is easy to
see that Lred = 0.1/200 = 0.0005, K ≈ wq ∗ C = 0.04.
To show that this system is stable for the variable RTT
case but unstable for the constant RTT case, it is sufficient
to show that the variable RTT case is stable for R0 = 75
ms and the constant RTT case is unstable for R0 = 55
ms, since a large R0 will destabilize the system for both
models. If R0 = 75 ms, we have
a = KR0 = 4 and b = 2N/R0C = 0.4 ,
κ =
Lred(R0C) 3
(2N) 2
= 2.34 < θ1 = 3.61 .
So the variable RTT case is stable for all R0 ≤ 75 ms. If
5
4
3
2
1
VarRTT �Gray� vs ConstRTT �Dash� : b�1
20 40 60 80 100
Fig. 10. Thresholds as functions of a, with b fixed at 1.
3
2.5
2
1.5
VarRTT �Gray� vs ConstRTT �Dash� : b�10
20 40 60 80 100
Fig. 11. Thresholds as functions of a, with b fixed at 10.
R0 = 55 ms, we have
a = KR0 = 2.2 and b = 2N/R0C = 6/11 ,
κ =
Lred(R0C) 3
(2N) 2
= 0.924 > θ2 = 0.792 .
So the constant RTT case is unstable for all R0 ≥ 55 ms.
Thus we have shown that the system is stable under variable
RTT modeling and unstable under constant RTT modeling.
The above conclusion is for local analysis of the dynamic
system. For the original nonlinear system, we have
performed Matlab simulations to show the asymptotic stability
of the system under the two models. We choose
R0 = 65 ms for this simulation (corresponding to an equilibrium
queue length of 250 packets). The window sizes
and the buffer lengths of the two cases are plotted in Figures
13-16. From the figures, it is clear that RED is stable
for the variable RTT case but unstable for the constant RTT
case.
Both the linear analysis and Matlab simulations are
based on the fluid analysis. At the packet level, we have
performed ns-2 simulations. Simulation 1 is a regular
RED simulation corresponding to the above scenario under
the variable RTT modeling. The queue length and the
throughput are plotted in Figures 17-18, from which we
see that both the queue length oscillations and the throughput
oscillations are small and it is rare to have full queue
or empty queue, so the system is stable. And we notice
that the equilibrium queue length is 250 packets, so
6
3
2.5
2
1.5
VarRTT �Gray� vs ConstRTT �Dash� : b�100
20 40 60 80 100
Fig. 12. Thresholds as functions of a with b fixed at 100.
w(t)
5
4.5
4
3.5
3
2.5
0 1000 2000 3000 4000
time t
5000 6000 7000 8000
Fig. 13. RED for the variable RTT case: window size.
R0 = 65 ms, which agrees with the R0 we picked in the
Matlab simulations. Simulation 2 uses RED implemented
in a virtual queue (REDvq) [29, 4, 30]. We choose the
virtual queue’s capacity in this simulation to be equal to
the real queue’s capacity in the previous simulation (so
that the equilibrium arrival rates at the queues in both
systems are equal). Thus, we choose the virtual capacity
˜ C = 83.2, and with a utilization factor of γ = 0.8,
we choose C = 83.2/0.8 = 104 Mbps (see [29, 4, 30]
for a more detailed explanation of these parameters). We
choose the propagation delay to be 65 ms. The equilibrium
queueing delay is zero, since the equilibrium arrival
rate equals to the virtual capacity, which is smaller than
the real capacity. So, the equilibrium RTT is also 65 ms
and thus the same as the equilibrium RTT in simulation 1.
The virtual queue length and the throughput are plotted in
Figures 19-20, from which we can see that both the virtual
queue length oscillations and the throughput oscillations
are much more significant than those in simulation 1. This
then implies that the system is unstable. We do not plot
the queueing length for REDvq since its remains close to
zero all the time. So this REDvq simulation corresponds
to the above scenario under the constant RTT modeling.
Note that this result is not contradictory to the results in
[30] since the model in [30] is rate-based and not windowbased.
Remark 2. In the REDvq simulation, we note that the RTT
is a constant (the propagation delay) plus the queueing
b(t) and a(t)
400
350
300
250
200
150
100
0 1000 2000 3000 4000
time t
5000 6000 7000 8000
Fig. 14. RED for the variable RTT case: instantaneous (solid
line) and average (dashed line) queue lengths.
w(t)
7.5
7
6.5
6
5.5
5
4.5
4
3.5
3
2.5
0 1000 2000 3000 4000
time t
5000 6000 7000 8000
Fig. 15. RED for the constant RTT case: window size.
delay. So the differentiation of the RTT results in a term
corresponding to the derivative of the real queue length.
However, when we linearize this system, since the arrival
rate into the queue is smaller than its capacity at equilibrium,
even small perturbations in the arrival rate will
result in the queue length being equal to zero and thus, in
the linearized fluid model, in addition to the queue length
being zero, the fluctuations in the queue length will also be
zero, and thus the RTT can be modeled as a constant.
V. RTT MODELING IN TCP VEGAS AND STABILIZED
VEGAS
In [9], the authors have shown that TCP-Vegas is not
stable for multi-link networks, and to overcome this shortcoming
they have proposed a modified version, called Stabilized
Vegas, which adjusts the source window size not
only based on the delay, but also on the rate of change of
delay; this modified TCP has been shown to be stable in [9]
under a constant RTT assumption. The model makes two
partly contradicting assumptions regarding RTT: RTT is
assumed to be a constant when converting window dynamics
to rate dynamics (e.g., ˙xr(t) = ˙ Wr(t)/Tr) while the
queueing delay is taken to be a variable (since the queue
length dynamics, and therefore the queueing delay dynamics,
appear explicitly even in their linearized model). Indeed,
as we will show shortly, an analysis that assumes
RTT to be a variable consistently throughout leads to the
conclusion that neither TCP-Vegas nor Stabilized Vegas is
7
b(t) and a(t)
900
800
700
600
500
400
300
200
100
0
−100
0 1000 2000 3000 4000
time t
5000 6000 7000 8000
Fig. 16. RED for the constant RTT case: instantaneous (solid
line) and average (dashed line) queue lengths. It is hard to
see the dashed line since it almost overlaps the solid line.
500
450
400
350
300
250
200
150
100
50
"redrq_final" using 1:2
0
0 5 10 15 20 25 30 35 40
Fig. 17. RED algorithm: the real queue.
stable in multi-link networks if the number of bottleneck
links of a source exceeds 4. We provide an example which
demonstrates the instability of both the linearized system
(by theoretical analysis) and the original nonlinear system
(by Matlab simulations). We finally extend our analysis
to a general delay based source algorithm which adjusts
Wr(t) based on both qr(t) and on ˙qr(t) and show that
this general source algorithm is unstable under the variable
RTT modeling. From this analysis, it seems unlikely
if not impossible for a delay-based window-flow algorithm
to be stable and scalable using the technique in [9].
A. The analysis of TCP Vegas and Stabilized Vegas in [9]
The fluid model of TCP-Vegas is characterized by the
following equations
˙Wr = 1
Tr
sgn(1 − xr(t)qr(t)
) , (39)
αrdr
˙pl = [ 1
(yl − cl)] + pl . (40)
cl
These dynamics correspond to the general dynamic system
(1)-(10) with
fr(Wr(t), Tr(t), qr(t)) = sgn(1 − xr(t)qr(t)
)/Wr(t) ,
and kl = ∞, gl(al) = ˜g(Tq,l) = Tq,l.
αrdr
1.2e+08
1e+08
8e+07
6e+07
4e+07
2e+07
"redrqthr" using 1:2
0
0 5 10 15 20 25 30 35 40
Fig. 18. RED algorithm: the throughput.
500
450
400
350
300
250
200
150
100
50
’redvq_result2’ using 1:3
0
0 5 10 15 20 25 30 35 40
Fig. 19. REDvq algorithm: the virtual queue.
Note that
sgn(x) ≈ 2
π tan−1 (ηz) , (41)
and the approximation becomes exact in the limit as η →
∞. Although TCP Vegas uses the change of RTT as the
congestion measure, the analysis of [9] takes RTT to be a
constant in the linearization. This leads to (using also the
sgn-tan approximation):
˙xr = 2
π
1
T 2 r
tan −1 η(1 − xr(t)qr(t)
) , (42)
αrdr
and hence
Xr(s) = − ˆxr ar
, (43)
ˆqr sTr + ar
where ar = 2η/(πˆxrTr). The loop function of the closedloop
system is:
L(s) = diag( ˆxr
ˆqr
where
= diag( MTr
ˆqr
ar
sTr+ar e−sTr )AT (−s)diag( 1
cls )A(s)
are−sTr sTr(sTr+ar) )ÂT (−s) Â(s) ,
8
(44)
� �
1
ˆxr
Â(s) = diag( )A(s)diag( ) . (45)
cl
M
This leads to the stability condition in [9], which shows
that Vegas cannot be stable in multi-link networks. Even
for a single bottleneck link network to be stable, the queueing
delay needs to be very large, larger than the propagation
delay in most cases. To remove this deficiency of
1.2e+08
1e+08
8e+07
6e+07
4e+07
2e+07
’redvqthr’ using 1:2
0
0 5 10 15 20 25 30 35 40
Fig. 20. REDvq algorithm: the throughput.
TCP Vegas, [9] introduces Stabilized Vegas, with the idea
of adding the rate of change of qr into the model:
˙Wr = w
Tr(t) tan−1 ηr(t)(1 − xr(t)qr(t)
− kr(t) ˙qr(t)) ,
αrdr
(46)
kr(t) = Tr(t)
, (47)
aqr(t)
ηr(t) = µa
w xr(t)Tr(t) , (48)
where a, µ and w are two parameters to be chosen by the
algorithm. The parameter w can be picked to be 1, and it is
claimed in [9] that a and µ determine the stability region.
Still assuming Tr(t) to be a constant, Tr, the linearization
yields:
˙xr(t) = − µa
Tr
xr(t) − µaˆxr
qr(t) −
Tr ˆqr
µˆxr
˙qr(t) , (49)
ˆqr
Xr(s) = − µˆxr
(
ˆqr
sTr + a
sTr + µa )Qr(s) , (50)
and the loop function of the closed-loop system becomes
L(s) = diag( MTr
ˆqr
µ(sTr + a)
sTr(sTr + µa) e−sTr ) ÂT (−s) Â(s) .
(51)
As shown in [9], if both a and µ are very small, the eigen-
µ(jωTr+a)
locus of jωTr(jωTr+µa) e−jωTr crosses the real line at −b
with b << 1, so Stabilized Vegas allows a larger M and
ˆTr/ˆqr ratio, which improves the stability region.
Small µ and small a mean a large kr(t) and an extremely
small ηr(t). So the adaptation speed relative to
qr(t) is extremely slow, and the adaptation speed relative
to ˙qr(t) is much higher than the former, but still very slow.
B. Variable RTT modeling for Stabilized Vegas
Since the two assumptions in [9] on RTT modeling are
not consistent (as we have already pointed out), we rework
here the stability analysis based on consistent variable
RTT modeling.
Since the price qr is the route queueing delay, Tq,l(t) =
qr(t). From (6), Tr(t) ˙ = ˙qr(t). From (22), we have the
new source dynamics:
˙xr = w
T 2 r (t) tan−1 ηr(t)(1 − xr(t)qr(t)
αrdr
−kr(t) ˙qr(t)) − xr(t)
Tr(t) ˙qr(t) .
Linearization yields:
˙xr(t) = ˙ Wr(t)
ˆTr
= − µa
ˆTr
− ˆxr
˙qr(t)
ˆTr
xr(t) − µaˆxr
ˆTr ˆqr
Xr(s) = −
µaˆxr
ˆTr ˆqr
= − ˆxr
ˆTr
qr(t) − ( µˆxr
ˆqr
µˆxr ˆxr
+( + ˆqr ˆTr )s
s+ µa
ˆTr
crS ˆ Tr+br
s ˆ Qr(s) .
Tr+ar
9
(52)
ˆxr
+ ) ˙qr(t) ,
ˆTr
(53)
Qr(s)
(54)
where cr = 1 + µ ˆ Tr
ˆqr , br = µa ˆ Tr
ˆqr and ar = µa. Then, the
loop function of the closed-loop system is
L(s) = diag(M crs ˆ Tr+br
ˆTr(s ˆ ˆxr
Tr+ar) M e−s ˆ Tr )AT (−s)
×diag( 1
cls )A(s)
= diag(M crs ˆ Tr+br
s ˆ Tr(s ˆ Tr+ar) e−s ˆ Tr )ÂT (−s) Â(s) .
(55)
We notice that br > ar, since ˆ Tr > ˆqr and cr > 1. The
cr term is the key difference between the two models. For
constant RTT modeling, cr = µTr/ˆqr and can be arbitrarily
small as µ becomes small, while for variable RTT
modeling, cr is lower bounded by 1. We will see below
that this key difference will make Stabilized Vegas unstable
for large M under variable RTT modeling.
For the loop function L(jω) to be stable, we need
M crjω ˆ Tr+br
jω ˆ Tr(jω ˆ Tr+ar) e−jω ˆ Tr to cross the real line to the right
of −1. This is impossible for large M: Let x = ω ˆ Tr,
and suppose the eigenlocus crosses real line at −b when
x = x0. Then, obviously, x < π. And since cr > 1 and
br > ar,
and
| jcrx + br
| > 1, ∀x , (56)
jx + ar
b = M
x0
| jcrx0 + br
| >
jx0 + ar
M
. (57)
π
So if M > 4, it is impossible to achieve stability.
These results show clearly that the sufficient stability
condition for Stabilized Vegas as given in [9] does not
hold. To conclude firmly that Stabilized Vegas could be
unstable for a general network topology under the variable
RTT modeling, we only need to provide an example
demonstrating that. Consider the network scenario with
7 links and 2 users, as shown in Figure 21. User 1 uses
link 1 − 4 in its forward loop and uses link 5 in its backward
loop. User 2 uses links 0 − 4 in its forward loop
and uses link 6 in its backward loop. For this network,
d = 25ms, c = 100 Mbps, d0 = 25 ms, d5 = 100 ms,
d6 = 75 ms, c0 = c5 = c6 = 1 Gbps. Since c0, c5, c6 are
sufficiently large, we know that links 1 − 4 are the bottleneck
links, and the queueing delay is nonzero only at these
links. Both users choose Stabilized Vegas as the source algorithm
and all the links choose Droptail. The target values
for the queueing delays are ˆpl = 5 ms, l = 1, 2, 3, 4,
and the equilibrium rates are ˆxr = 50 Mbps, r = 1, 2. At
equilibrium, the delays are as in the following table:
user l1 l2 l3 l4
R1:forward 0 25 50 75
R1:backward 200 175 150 125
R2:forward 25 50 75 100
R2:backward 175 150 125 100
In the above table, all delays are in the units of milliseconds
and the round trip delays for both users are 200
ms. We choose the time unit to be one millisecond and
the rate unit to be packets per millisecond. Then, we have
c = 10, ˆxr = ˆpl = 5, ˆqr = 20, for all r = 1, 2 and
l = 1, 2, 3, 4, and α = αrdr = 100, r = 1, 2. The RTTs
are Tr = 180 + qr, r = 1, 2. For this network scenario, it
is easy to check that µ = 0.003 and a = 0.01 satisfy the
stability condition given in Theorem 4 of [9]. So the system
will be stable for the constant RTT modeling. However,
for the variable RTT modeling, the system is not locally
stable: cr = 1 + 0.003 ∗ 10 = 1.03, br = 0.0003,
ar = 0.00003, M = 4, and
A(s) =
⎛
⎜
⎝
1 e −25s
e −25s e −50s
e −50s e −75s
e −75s e −100s
⎞
⎟
⎠ . (58)
�From the above values, it is easy to check that Â(s) =
1/8A(s) and
�
. (59)
Define
Â T �
1 1 e−25s (−s) Â(s) =
2 e25s 1
θ(s) = M crs ˆ Tr + br
s ˆ Tr(s ˆ Tr + ar) e−s ˆ Tr .
Note that since ar, br, cr, ˆ Tr are independent of r, θ(s)
does not have r as a subscript. We already know that θ(jω)
crosses the real line to the left of −1 as ω varies from 0 to
∞. We obtain the loop function for this system as:
L(s) = diag(θ(s)) ÂT (−s) ÂT (s)
= 1
�
θ(s) θ(s)e−25s 2 θ(s)e25s �
.
θ(s)
(60)
We see that the two eigenvalues of L(s) are 0 and θ(s). So
one of the eigenvalues of L(jω) crosses the real line to the
left of −1 and thus the linearized system is unstable.
Through this example, we have shown that Stabilized
Vegas is not locally stable for a general network topology.
However, the instability seen in the local analysis
does not mean necessarily that the nonlinear system will
exhibit large oscillations. For the nonlinear delayed system
of the fluid model, we perform Matlab simulations to
demonstrate the global behavior. We assume that the link
prices are upper bounded by 20. This can be achieved by
limiting the buffer size to be 200 packets (then the maximum
queueing delay is 200/10 = 20). For this case, the
trajectories of x and p are plotted in Figures 22-23. From
the graphs, we see that the system is not asymptotically
stable: the rates cannot converge to their equilibrium values
and the prices are almost always near the maximum
allowed values. The reason for this undesired behavior is
the following: the prices change fast and the rates change
slow, so the price pl reaches its upper limit early and stays
there until yl decreases to be lower than c. Once yl < cl,
pl begins to decrease and qr begins to decrease also. However,
the rate xr depends on the change of qr very sensitively,
and the decrease of qr will increase xr, and thus yl
is increased back to be larger than cl and then pl begins to
increase soon. That is why pl oscillates between 19 and 20
with a high frequency, and the fast oscillation of pl destabilizes
xr, and xr becomes divergent in the long run.
l5:d5,c5
d0/c0
d/c d/c d/c d/c
l0 l1 l2 l3 l4
Destination 1
Source 2 l6:d6,c6
Destination 2
5.008
5.006
5.004
5.002
4.998
4.996
4.994
Source 1
Fig. 21. Topology of the network
5
5.55 5.6 5.65 5.7 5.75 5.8 5.85 5.9 5.95 6
x 10 5
Fig. 22. X vs t
Remark 3. Our verification of the instability of Stabilized
Vegas in the presence of RTT variations has been performed
in Matlab. This already demonstrates the fact that
even though our analysis shows instability by performing
10
20
19.99
19.98
19.97
19.96
19.95
19.94
2.75 2.8 2.85 2.9 2.95 3 3.05 3.1
x 10 5
Fig. 23. p vs t
a local analysis around the equilibrium, the original nonlinear
system exhibits large oscillations as a result of this
instability. We were unable to perform ns-2 simulations
since an ns-2 model of Stabilized Vegas does not seem to be
publicly available at this time. However, it would be surprising
if an ns-2 packet implementation showed dramatically
different results (such as small oscillations around
the equilibrium). If that were the case, then our analysis
points to a different kind of problem with the fluid modeling
of RTT variations: if the ns-2 simulations are stable,
then again it points out that the local stability analysis of
a fluid model of Stabilized Vegas is insufficient to deduce
any conclusions regarding the stability of the actual system.
However, such a conclusion seems unlikely given the
overwhelming evidence in support of fluid modeling over
the last few years.
C. Variable RTT modeling for general delay based algorithms
In previous subsection, we have shown that neither TCP
Vegas nor Stabilized Vegas is stable for a general network
topology under the variable RTT modeling. Then a natural
question that arises is: can we modify Stabilized Vegas
to achieve stability? Is there any source algorithm adapting
Wr based on qr and ˙qr which is stable? We will show
below that the answer to this question is not in the affirmative.
A general delay based algorithm can be characterized
by (40) and the following equation:
˙Wr(t) = xr(t − Tr(t))hr(Wr, zr(t)) , (61)
where zr(t) = vr − xr(t)qr(t) − kr(t) ˙qr(t) and vr is a
constant denoting the target number of packets queued in
the path. If kr ≡ 0, then it is a generalization of TCP-
Vegas. If kr(t) �= 0, then it is a generalization of Stabilized
Vegas. Here, kr(t) could be a function of Wr(t), qr(t), and
xr(t); and we need hr(Wr, 0) = 0, which guarantees that
the window size keeps unchanged when zr(t) = 0 and
thus the utility function is logarithmic and the fairness is
proportional.
From the analysis before, we know that in the Laplace
domain, the perturbations satisfy (15), (16) and Pl(s) =
1
cls Yl(s).
Modeling RTT to be variable, the source law yields
˙xr = ˙wr(t)
Tr(t)
= xr(t−Tr(t))
Tr(t)
Linearization yields:
Wr(t)
− ˙
Tr(t) 2 Tr(t)
hr(Wr, zr(t)) − Wr(t)
Tr(t) 2 ˙qr(t) .
˙xr(t) = ˆxr
( ˆTr
ˆ hwWr(t) + ˆ hz(−ˆxrqr(t) − ˆqrxr(t)
− ˆ kr ˙qr(t))) − ˆ Wr
ˆT 2 r
= − ˆx2 r
ˆTr
−( ˆxr
ˆTr
˙qr(t)
ˆhzqr(t) − ˆxr ˆqrˆ hz xr(t)
ˆTr
ˆhz ˆ kr + ˆ Wr
ˆT 2 ) ˙qr(t) ,
r
11
(62)
(63)
where ˆ hw = 0 and ˆ hz is a function of ˆ Wr. The linearization
in the Laplace domain is
Xr(s) = − ˆxr
ˆTr
crs ˆ Tr + br
s ˆ Qr(s) , (64)
Tr + ar
where ar = ˆ hz ˆxr ˆqr = ˆ hzvr, br = ˆxr ˆ hz ˆ Tr, cr = 1 + ˆ hz ˆ kr.
And the loop function of the closed-loop system is
L(s) = diag(M crs ˆ Tr+br
ˆTr(s ˆ ˆxr
Tr+ar) M e−s ˆ Tr )AT (−s)
×diag( 1
cls )A(s)
= diag(M crs ˆ Tr+br
s ˆ Tr(s ˆ Tr+ar) e−s ˆ Tr )ÂT (−s) Â(s) .
(65)
We notice that L(s) for the general source law has the
same form as L(s) for Stabilized Vegas and still we have
br > ar since ˆ Tr > qr, and cr > 1. From the analysis on
Stabilized Vegas, we know that this general source law is
also unstable when M > 4.
So we have shown that the general delay based algorithm
is also unstable for a multiple bottleneck link network.
VI. CONCLUSION
In this paper, we have studied the impact of modeling
RTT variations on the design of congestion control/AQM
parameters in the Internet. Specifically, we have shown
that assuming that the RTT is a constant, when it is actually
time-varying, may lead to erroneous conclusions regarding
the stability of window flow control mechanisms.
It is important to note that this problem arises in the process
of converting window sizes to rates in the fluid model.
Thus, the instability of Stabilized Vegas that we have noted
can be avoided if the congestion control at the end user
is rate-based. We are not necessarily advocating the use
of rate-based congestion control since it is well-known
that window flow control has advantages such as its inherent
self-clocking feature. Our conclusion is that extreme
care has to be exercised in analyzing window flow control
mechanisms using fluid models if the RTT is time-varying.
Another way (instead of rate control) to avoid the problem
is to nearly eliminate queueing delays by using virtual
queues to provide congestion feedback.
REFERENCES
[1] S. Floyd and V. Jacobson, “Random early detection gateways for
congestion avoidance,” IEEE/ACM Transactions on Networking,
August 1993.
[2] S. Athuraliya, V. H. Li, S. H. Low, and Q. Yin, “REM: Active
queue management,” IEEE Network, vol. 15, May/June 2001.
[3] S. Kunniyur and R. Srikant, “End-to-end congestion control: utility
functions, random losses and ECN marks,” in Proceedings of
IEEE Infocom, Tel Aviv, Israel, March 2000.
[4] S. Kunniyur and R. Srikant, “Analysis and design of an adaptive
virtual queue algorithm for active queue management,” in Proceedings
of ACM Sigcomm, San Diego, CA, August 2001, pp.
123–134.
[5] W.-C. Feng, K. G. Shin, D. D. Kandalur, and D. Saha, “The
BLUE active queue management algorithms,” IEEE/ACM Transactions
on Networking, vol. 10, no. 4, pp. 513–528, August 2002.
[6] S. Liu, T. Bas¸ar, and R. Srikant, “Controlling the Internet: A survey
and some new results,” in Proceedings of the IEEE Conference
on Decision and Control, Maui, Hawaii, December 2003,
pp. 3048–3057.
[7] S. Liu, T. Bas¸ar, and R. Srikant, “Exponential-RED: A stabilizing
AQM scheme for low- and high-speed TCP protocol,” to appear
in the IEEE/ACM Transactions on Networking. Manuscript available
at http://comm.csl.uiuc.edu/ srikant/pub.html.
[8] L. Brakmo, S. O’Malley, and L. Peterson, “TCP Vegas: New techniques
for congestion detection and avoidance,” in Proceedings of
ACM SIGCOMM Symposium, August 1994, pp. 24–35.
[9] D. H. Choe and S. H. Low, “Stabilized Vegas,” in Proceedings of
IEEE Infocom, San Francisco, CA, April 2003.
[10] S. Floyd, “Highspeed TCP for large congestion windows,” Internet
draft, draft-floyd-tcp-highspeed-01.txt, December 2003,
Available at http://www.icir.org/floyd/hstcp.html.
[11] T. Kelly, “On engineering a stable and scalable TCP variant,”
Cambridge University Engineering Department Technical Report
CUED/F-INFENG/TR.435, June 2002.
[12] F. P. Kelly, A. Maulloo, and D. Tan, “Rate control in communication
networks: shadow prices, proportional fairness and stability,”
Journal of the Operational Research Society, vol. 49, pp.
237–252, 1998.
[13] F. P. Kelly, “Mathematical modelling of the Internet,” in Mathematics
Unlimited - 2001 and Beyond (Editors B. Engquist and W.
Schmid). Berlin: Springer-Verlag, 2001, pp. 685–702.
[14] F. P. Kelly, “Fairness and stability of end-to-end congestion control,”
European Journal of Control, vol. 9, pp. 159–176, 2003.
[15] F. Paganini, “A global stability result in network flow control,”
Systems and Control Letters, 2002.
[16] X. Fan, M. Arcak, and J. Wen, “Lp stability and delay robustness
of network flow control,” in Proceedings of the IEEE Conference
on Decision and Control, Maui, Hawaii, December 2003.
[17] L. Ying, G. Dullerud, and R. Srikan, “Global stability of Internet
congestion controllers with heterogeneous delays,” in Pro-
ceedings of the American Control Conference, Boston, MA, June
2004.
[18] R. La, P. Ranjan, and E. Abed, “Global stability conditions for
rate control with arbitrary communication delays,” 2004, university
of Maryland CSHCN TR 2003-25.
[19] R. Johari and D. Tan, “End-to-end congestion control for the Internet:
Delays and stability,” IEEE/ACM Transactions on Networking,
vol. 9, no. 6, pp. 818–832, December 2001.
[20] C. Hollot, V. Misra, D. Towsley, and W. Gong, “A control theoretic
analysis of RED,” in Proceedings of IEEE Infocom, Anchorage
Alaska, April 2001.
[21] C. Hollot, V. Misra, D. Towsley, and W. Gong, “Analysis and
design of controllers for AQM routers supporting TCP flows,”
IEEE Transactions on Automatic Control, vol. 47, June 2002.
[22] L. Massouli, “Stability of distributed congestion control with heterogeneous
feedback delays,” IEEE Transactions on Automatic
Control, vol. 47, pp. 895–902, June 2002.
[23] G. Vinnicombe, “On the stability of end-to-end congestion
control for the Internet,” 2001, university of Cambridge
Technical Report CUED/F-INFENG/TR.398. Available at
http://www.eng.cam.ac.uk/˜gv.
[24] G. Vinnicombe, “On the stability of networks operating
TCP-like congestion control,” in Proceedings of the IFAC
World Congress, Barcelona, Spain, 2002, university of Cambridge
Technical Report CUED/F-INFENG/TR.398. Available at
http://www.eng.cam.ac.uk/˜gv.
[25] G. Vinnicombe, “Robust congestion control for the Internet,”
2002, university of Cambridge Technical Report. Available at
http://www.eng.cam.ac.uk/˜gv.
[26] C. A. Desoer and Y. T. Wang, “On the generalized Nyquist stability
criterion,” IEEE Transactions on Automatic Control, vol. 25,
pp. 187–196, 1980.
[27] S. H. Low, F. Paganini, and J. C. Doyle, “Internet congestion control,”
IEEE Control Systems Magazine, vol. 22, pp. 28–43, February
2002.
[28] R. Srikant, The Mathematics of Internet Congestion Control.
Springer Verlag, March 2004.
[29] R. Gibbens and F. P. Kelly, “Resource pricing and the evolution of
congestion control,” Automatica, vol. 35, pp. 1969–1985, 1999.
[30] A. Lakshmikantha, C. Beck, and R. Srikant, “Robustness of real
and virtual queue based active queue management schemes,” to
appear at IEEE/ACM Transactions on Networking, 2004. An earlier
version appeared in the Proc. American Control Conference,
June 2003.
12
