B. Fuzzy Compensation of Saturated Sources

A Robust Adaptive Congestion Control for
Communication Networks with Time-Varying Delays
Antonio Pietrabissa, Francesco Delli Priscoli, Andrea Fiaschetti, Federico Di Paolo

Abstract— This paper presents a congestion control for highspeed networks in the single bottle-neck case with time-varying
multiple delays, aimed at avoiding congestion by setting the
rates of the traffic flows. The novelty of this paper is that the
controller explicitly deals with saturated sources. The
controller consists in the a main controller based on classical
control theory coupled with a controller based on fuzzy logic:
the former works properly when the sources are not saturated;
the latter provides a saturation compensation by setting an
adaptive multiplicative gain which acts on the rate command.
The scheme also provides robust stability to both time-delay
uncertainties and saturation uncertainties. Simulations prove
the effectiveness of the scheme.
NOTATION
 x1
0
diag xi   
 ...

0
rowzi   z1
0
 y1 

y 
x2 ... 0 
; col yi    2 ;
 ... 
... ... ... 

 
0 0 xn 
 yn 
0
z2
...
... z n .
I. INTRODUCTION
C
ONGESTION control schemes regulate the traffic rate
of the flows entering the network nodes. The congestion
control problem can be formulated in different ways
depending on the followed approach:
Most proposed congestion control schemes are based on
end-to-end (ETE) feedback exchange: the traffic sources
receive the feedback from the nodes of the network and
adjust their transmission rate. By far, the most used
congestion control protocol is the TCP ([8]), but ETE
schemes has been proposed by high number of studies. For
instance, in [9], the congestion control problem is formulated
as a stochastic control problem where the controls of
different users are subject to different delays; in [10], a
neural network-based adaptive control methodology is
developed to prevent congestion.
In contrast, in hop-by-hop (HBH) congestion control also
A. Pietrabissa, F. Delli Priscoli, A. Fiaschetti and F. Di Paolo are with
the “Dipartimento di Informatica e Sistemistica” of the University of Rome
“La Sapienza”, via Eudossiana 18, 00184, Rome, Italy (A. Pietrabissa is the
the nodes of the network regulate the transmission rates, on
the basis of feedback from the neighbouring nodes. The main
advantage of HBH schemes is that they reacts faster to
congestions. However, currently used congestion control
schemes are ETE: the main reason is that HBH schemes
introduce complexity in the switches and lead to scalability
problems, since they require the nodes to keep per-flow
information. Examples of HBH congestion control are in [1],
in which the control equation is based on a model of the
system, whose inaccuracies are corrected via the feedback
and [2], which makes use of Internal Model Control and of
the Smith’s principle.
Finally, there are congestion control scheme in which the
controller operates in the bottle-neck node, i.e., the desired
transmission rates of the sources are communicated by the
bottle-neck node itself to the sources based on the bottleneck queue length. For instance, in the literature, in [13] the
congestion control scheme obtains robust stability in a
single-bottle-neck scenario with time-invariant time-delays;
in [11], an H∞ controller is designed guaranteeing stability
robustness with respect to uncertain time-varying multiple
time-delays. This kind of controller is used, for instance, in
ATM and MPLS networks.
The proposed work considers the single-bottle-neck
scenario. As noted in [11], the most difficult characteristic of
rate-based control in single-bottleneck networks is
constituted by the presence of multiple time-varying
feedback delays. In fact, the rate command computed by the
controller in the bottle-neck node has to be transmitted
backward to the different sources, thus entailing different
backward time delays; then the sources regulate their
transmission rate according to the received command;
finally, the packets arrives in the bottle-neck queue with the
regulated rate just after the delays from each source to the
node, the so-called forward time-delays.
The objectives of the congestion control scheme are:
1. The queue length in the bottle-neck node must be
driven to a reference queue length;
corresponding author; phone: +39-335-8135654; fax: +39-06-44585356; email: [email protected]).
Forward delays
Source1
Tfw n(t)
rIN 1(t)
…
…
…
Sourcen
Tfw 1(t)
+
–
+
∫
ZOH
r 1(t)
d[k]
F
q(t)
rIN n(t)
…
…
Tbw n(t)
Direct disturb
compensation
d(t)
…
Tbw 1(t)
Bottle-neck node
Bottle-neck node
Source saturation
matrix
Forward delay
matrix
KSAT
Tfw
1
z-1
rIN[k]
1
z-1

–
q[k]
+
q[k]
Rate
Controller
–
r[k]
qREF[k]
+
+
r n(t)
–
+
Tbw
G
qREF[k]
+
Rate controller
Backward delay
matrix
Backward delays
Figure 1: Single-bottleneck feedback system
Figure 2: System model
The shares of the available capacity of the bottleneck node must be assigned to the flows respecting a
defined fairness criterion.
The novelty of the proposed controller is that it explicitly
deals with saturated sources via a fuzzy logic-based
compensator, allowing both control objectives to be met
even when one or more sources have no back-logged
packets; the compensator operates by setting an adaptive
multiplicative gain which acts on the rate command. The
proposed scheme guarantees robust stability with respect to
time-varying multiple delays and in the presence of the
adaptive multiplicative gain.
Based on the error e[k], the bottle-neck rate controller
computes the nx1 rate vector
r[k] = col{ri[k]}
(3)
where ri[k] is the allowed rate for source i (i.e., the controller
sets the transmission rates of the sources).
The allowed rates are transmitted to the sources and the
commands arrive after generally different and time-varying;
delays, which will be referred to as backward delays and
denoted with Tbw i(t) , with i = 1,…,n.
Finally, the sources regulate their transmission rate
according to the received rate command. Note that, in this
paper, the sources are not considered as persistent; this
models the realistic case of sources transmitting with rates
which are lower than the allowed rates (for instance, because
they have not enough back-logged packets).
2.
The paper is organized as follows: in Section II, the
network model is developed; in Section III the bottle-neck
node controller are developed; Section IV presents the
simulation results; finally, in Section VI, the conclusions are
drawn.
II. SINGLE BOTTLE-NECK NETWORK MODEL
The considered network model is analogous to the one in
[11], and is shown in Fig. 1.
The scenario consists in n traffic sources transmitting
packets towards the bottle-neck node. The transmission
delays between the sources and the bottle-neck node are
generally different and time-varying; these delays will be
referred to as forward delays and denoted with Tfw i(t) , with
i = 1,…,n. The packets arrive in the bottle-neck node buffer
with rate rIN i(t), with i = 1,…,n.
The bottle-neck node is modelled by an integrator, since
the variation of the queue length is given by the difference
between the input rate rIN(t) = rIN i(t) +…+ rIN n(t) and the
buffer depletion rate, denoted with d(t):
r ( s)  d ( s)
(1)
q ( s )  IN
s
The queue length is sampled with sampling period TS, so
that q[k] = q(kTS), and compared with a reference queue
length, qREF[k]. The resulting queue length error, defined as
e[k] = qREF[k] – q[k]
(2)
The corresponding discrete-time system model is shown in
Fig. 2, where
-   1 1 ... 1  row{1} is a 1xn row vector;
- the controller G(z) is a nx1 matrix and computes the
allowed rates ri[k] based on the queue error e[k];
- Tbw(z) is the backward delay matrix, which is an nxn,
diagonal, time-varying matrix1:
Tbw (z)  diag z Tb wi

-

Similarly, Tfw(z) is the forward delay matrix, which is an
nxn, diagonal, time-varying matrix:
T
Tfw ( z )  diag z fw i
 
-
KSAT is the source saturation matrix and models the fact
that sources are not persistent; KSAT is an nxn, diagonal,
time-varying gain matrix:
K SAT  diag K SATi 
where the elements KSAT i[k] are real numbers such that:
0 < KSAT i[k] < 1 k
(4)
1 For the sake of simplicity, in this paper a generic delay T is considered
equal to an integer number of TS; generally, this is not true and T =
(n + )TS, where n is an integer number and  is a real number between 0
and 1; in this case, the generic quantity x[k – T] is computed as follows: x[k
– T] = (1 – ) x[k – n] + x[k – n – 1].
d[k]
F
rF[k]
1
z-1
Direct disturb compensation
Smith predictor controller G(z)
qREF[k]
+
+
–
K
–
rSP[k]
+
+
rIN[k]
r[k]
Tbw
Tfw

–
+
q[k]
1
z-1
Nominal Plant P(z)
1
z-1
+
–


~
T
Figure 3: Controller with Smith predictor and direct disturb compensation
-
Finally, we consider that the depletion rate of the bottleneck buffer can be measured (to measure d[k] it is
sufficient that the node counts the packets sent during
the kth sampling interval); thus, we will develop also a
direct disturb compensator A, which is an nx1 matrix.
The following equations describe the system:
r ( z)  d ( z)
q( z )  IN
z 1
rIN ( z )  r( z )  rIN 1 ( z )  ...  rIN n ( z)
rIN ( z )  Tfw ( z )K SAT Tbw ( z )r( z )
(5)
(6)
(7)
(8)
r ( z )  G ( z ) e( z )  A ( z ) d ( z )
(note that eq. (5) is the discrete-time version of eq. (1))
Since no hypotheses on source behaviour have been
considered, we only know that i) they transmits at the
allowed rate if they have enough back-logged packets, ii)
they transmits with a lower rate otherwise. In fact, by
equations (4) and (7), it follows that
rIN i[k] = KSAT i r i [k-Tfw i-Kbw i] < r i[k-Tfw i-Kbw i]
(9)
k, i = 1, ..., n.
III. NODE CONTROLLER
Firstly, in Section III.A., we develop the bottle-neck node
controller considering i) the time-delays known and constant,
ii) persistent sources. Then, to take into account time-varying
source saturations, in Section IV.B. a saturation compensator
based on fuzzy-logic will be developed; the resulting scheme
is adaptive with respect to time-varying saturations. Finally,
in Section IV.B., the adaptive controller will be rendered
robust with respect to time-varying delays.
A. Smith-predictor and direct disturb compensation
In this Section, a preliminary controller is developed by
considering that the time-delays Tfw i(t) and Tbw i(t)are
~
constant and equal to the known nominal values T fw i and
~
Tbw i , respectively, and that the sources are persistent, i.e.,
that they have infinite back-logged packets.
Fig. 3 shows the resulting nominal system plant P(z)
(which is an 1xn transfer function matrix):
~
~
T T

1
~
~
 z bwi fw i
P( z ) 
ΣTfw ( z )Tbw ( z )  row
z 1

 z 1


(10)



In fact, if no saturation occurs, it means that the saturation
matrix KSAT is equal to the nxn identity matrix I = diag{1}.
Since the plant is a linear time-delay system, a Smithpredictor (SP) controller has been chosen to overcome the
stability problems caused by the delays (see [6] and [7], and
see [2] and [4] for application of the SP to communication
networks). By considering that the delay-free plant P0(z) is
the following:
1
 1 
(11)
P0 ( z ) 
Σ  row

z 1
 z  1
and by defining the nominal delay matrix
~
~
~
~
~
~
T T
(12)
T( z )  Tfw ( z )Tbw ( z )  diag z bwi fw i  diag z Ti


 
the resulting SP controller G(z) (which is an nx1 transfer
function matrix) is described by the following equation:
K ( z)
G( z) 
1  P0 ( z )  P ( z )K ( z )
(13)


Ki
 col 
~ 
 z  1  K i 1  z  Ti 
where K(z) = col{Ki} is the primary controller; the selected
primary controller is a column matrix of proportional
controllers Ki, i = 1, …, n.
The resulting SP controller is shown in Fig. 3.
By simple algebra, Lemma 1 follows.


Lemma 1. By setting Ki , i = 1, …, n ,such that
n
K
i 1
i
 1 , it
follows that
n
~
P ( z ) T( z ) K ( z )
q( z )
 0

q REF ( z ) 1  P0 ( z )K ( z )
K z
i 1
~
Ti
i
(14)
n
z 1   K i
i 1
Then, the system is stable and if qREF[k] = qREF u-1[k] –
where u-1[k] is the discrete-time step function – q[k] is driven
to qREF .
Moreover, by setting Ki = 1/n, i = 1, …, n, it follows that
~
q( z )
1 n
(14’)
  z Ti 1
q REF ( z ) n i 1
Thus if qREF[k] = qREF u-1[k], and d[k] = 0, it follows that q[k]
is equal to qREF and that the SP rate command rSP i[k] is
equal to 0 for i = 1, …, n and for k > max T~i .
i 1,..., n

Eq. 14’ shows that, thanks to the developed controller the
transfer function between the reference queue length and the
actual queue length is simply given by the summation of
delays, so that no overshoots occur.
then if d[k] = d u-1[k] and qREF[k] = 0, q[k] = 0 and the rate
command rF i[k] = i d for k > max T~i and i = 1, …, n.
i 1,..., n
Finally, from Lemma 1 and Lemma 2 the following
Theorem 1 holds:
Theorem 1. By setting F = col{i} and K = col{1/n}, if
~
KSAT = I,
Tfw Tbw = T( z ) ,
qREF[k] = qREF u-1[k]
and
d[k] = d u-1[k],
k > max T~i :
i 1,..., n
Remark 1. By setting Ki = 1/n, i = 1, …, n, from eq. (13) it
follows that the SP rate command rSP i[k] of source i is
computed as follows:


1 n  k


(15)
rSP i [k ]  q REF [k ]  q[k ]     rSP i [k  l ] 


~
n
j 1  l  k T j




th
Eq. (15) shows that the i rate command is equal to the
queue length error minus a summation. Considering that
Ki = 1/n, i = 1, …, n, it follows that rSP i[k] = rSP j[k],
i = 1, …, n, i = 1, …, n; thus, eq. (15) can be written as:



1 n  k

(16)
rSP i [k ]  q REF [k ]  q[k ]     rSP j [k  l ] 


~
n j 1  l k T j




Thus, the third term represents the nth fraction of the inflight packets, i.e., the packets already allowed to be
transmitted which are not arrived in the buffer yet.
However, the SP controller alone is not sufficient to drive
the queue length error to zero in the presence of the
disturbance d[z], as can be recognized by computing the
transfer function between d[z] and d[z]. Thus, since d[z] is a
measured variable, a direct disturbance compensation
scheme has been added.
d[z] represents the available capacity of the bottle-neck
node, which has to be share among the sources based on the
selected fairness criterion, i.e., based on selected fairness
weights i, i = 1, …, n. Thus, the desired source rate rIN i[k]
is simply i d[k], i = 1, …, n. By defining the nx1 fairness
matrix F = col{i}, the disturbance compensation is simply
obtained with the simple scheme shown in Fig. 3.
By computing the transfer functions between q(z) and d(z)
and between the compensation rate command rF i[k] and
d(z):
~
q( z )   1
 1  P0 ( z )K ( z )  P0 ( z )T( z )K ( z )

 PF 

d ( z)  z  1
1  P0 ( z )K ( z )

~
n
~  1  P ( z ) K ( z )  P ( z ) T( z ) K ( z )

0
0
   z 1    i z Ti 1 
1  P0 ( z )K ( z )
i 1


rF ( z )
 Fd ( z )  col i d ( z )
d ( z)
Lemma 2 follows.
(17)
(18)
Lemma 2. By setting Ki = 1/n, i = 1, …, n, and F = col{i},

1.
2.
3.

the
following
properties
hold
for
q[k] = qREF (queue length tracking);
rIN[k] = d (full link utilization);
the rate command r[k] = rSP[k] + rF[k] = Fd so that
ri[k] = i d (fairness).
B. Fuzzy Compensation of Saturated Sources
In this Section, source saturation occurrences will be
considered.
The effect of the saturation matrix KSAT is that the input
rate feeding the buffer is less than the rate command. In fact,
considering equations (4)-(7), the following relation holds:
n
rIN [k ]   K SAT i [k ]ri [k  T fw i  Tbw i ]
i 1
(16)
n
  ri [k  T fw i  Tbw i ]
i 1
Due to this difference, the controller developed in
Section III.A. cannot achieve the properties of Theorem 1
any more. The solution would be to multiply each rate
command ri[k] by a gain Kf i[k] such that:
Kf i[k] = 1 / KSAT i[k + Tfw i + Tbw i]
(17)
so that
n
rIN [k ]   K SAT i [k ]K f i [k ]ri [k  T fw i  Tbw i ]
i 1
(18)
n
  ri [k  T fw i  Tbw i ]
i 1
Obviously, it is impossible to obtain eq. (17), since
KSAT i[k] is not known in advance and the time delays Tfw i
and Tbw i are time-varying.
Moreover, there are two more problems:
a. the controller cannot measure the input rates rIN i[k] of
the single sources, but it can only compute the
aggregate input rate rIN[k] from the measured variables
q[k]and d[k];
b. if all the sources are saturates, even if we increase the
rate commands by multiplying them by a gain, the input
rate rIN[k] would remain constant: the non-linear effect
of the saturation would require an infinite gain!
To deal with these problems, a saturation compensation
block based on fuzzy logic has been developed, which sets
the above-mentioned gains Kf i[k] according to linguistic
rules.
First of all, we re-design the control scheme of Fig. 3 as
shown in Fig. 4, where K is a constant, Kf is the nxn
adaptive fuzzy gain matrix such that Kf = diag{Kf} and D is
a nx1 matrix such that D = col{1}. Note that if K = 1 / n and
Kf = KSAT = I the scheme of Fig. 4 is equivalent to the
scheme of Fig. 3. Note also that the matrixes D and Kf
explicitly appear in the plant models of the controller (in
Fig. 4, the SP controller is depicted in the so-called Internal
Model Control form, in which the internal structure of the
controller reveals the presence of explicit plant models
([5])).
As shown in the figure, the fuzzy saturation compensator
is based on rIN[k – TMEAN], where TMEAN is the average
n
nominal delay, r[k] =  ri [k ] and e’[k], which is the error
i 1
driving the primary controller K. The output of the
compensator is the adaptive fuzzy gain Kf[k].
The fuzzy saturation compensator operates according to
the following linguistic rules, in which all the inputs are
opportunely low-pass filtered to overcome the consistency
problems due to the time-delays:
1. If rIN[k – TMEAN] > r[k] then increase Kf;
2. If rIN[k – TMEAN] < r[k] then decrease Kf;
3. If rIN[k – TMEAN] = r[k] and e’[k] > 0 then increase Kf;
4. If rIN[k – TMEAN] = r[k] and e’[k] < 0 then decrease Kf;
5. If Kf[k]r[k] is increasing and rIN[k – TMEAN] is not
increasing then decrease Kf;
6. If Kf[k]r[k] is not increasing and rIN[k – TMEAN] is
increasing then decrease Kf;
The first two rules are defined to overcome the abovementioned problem a.: the fuzzy compensator tries to
regulate Kf in such a way that eq. (17) is met.
Rules 3 and 4 are required since the first two rules could
drive the system to a state in which eq. (17) is met but the
error e’[k] is not null: in this case the SP controller could not
correctly drive q[k] to qREF[k].
Finally, rules 5 and 6 are defined to overcome problem b.
In fact, if rIN[k – TMEAN] does not follow the variations of
Kf[k]r[k] it can be inferred that all the sources are saturated,
and that it is useless keeping on increasing Kf.
C. Robustness with respect to Time-Varying Delays
In this Section we consider the robustness issues entailed
by the time-varying delays and by the adaptive fuzzy gain
matrix Kf introduced in Section III.B.
The controller developed in Section IV.A. can be
rendered robust with respect to time-varying delays an to the
adaptive fuzzy gain by detuning the primary controller K of
the SP controller.
The uncertainties of the plant model are i) the difference
between the time-varying time delays and their nominal
values; ii) the saturation gain matrix KSAT.
Let us define the time-delay uncertainty i[k] of the
feedback loop of source i as follows:
~
(19)
 i [k ]  Tbw i [k ]  T fw i [k ]  Ti
Let us assume that the maximum value  of the timedelay uncertainties is known:
~
(20)
  max Tbw i [k ]  T fw i [k ]  Ti
i 1,..., n
Moreover, the maximum value of the elements of KSAT is
known from eq. (4): Ki < 0, i = 1, …, n.
By following the procedure of [12], based on the Nyquist
criterion, it can be stated that the system of Fig. 4 is robust if
the following relations hold:
(21)
(e j )l (e j )  1   [0,2)
where (ej) is the complementary sensitivity function and
l(ej) is the multiplicative model error.
Considering the control scheme of Fig. 4, (ej) l(ej) are
given by:
nK f K
P0 (e j )K f DK
 j
j
1  P0 (e )K f DK
e  1  nK f K
(e j ) 

~
l (e j )  P0 (e j )T(e j )K f DK
P (e
j
0

1
~
)Tfw (e j )K SAT Tbw (e j )K f DK  P0 (e j )T(e j )K f DK
~

 j T fw i Tb w i 
K f K  e  jTi
 K f K  K SAT i e
i 1
i 1



z 1
z 1


n

z 1
n
K f K  e  jTi
~
i 1
n

K f Ke

 j T fw i Tb w i
i 1

n
n







 K f K  e  jTi
~
i 1
n
K f K  e  jTi
~
i 1
e

(22)
 j 
n
e
~
 jTi
i 1
n
e
n
(23)
  e  jTi
i 1
~
 jTi
~
 e  j   1
i 1
where the first inequality has been obtained by setting KSAT i
= 1 and the second one by considering the worst-case timedelay uncertainty of eq. (20).
Eq. (22) is a low-pass filter, whereas the module of
eq. (23) is upper-bounded by
 e j  1   [0, / )
(24)
l m (e j )  
 2
  [/ , )
which is a high-pass filter. To verify eq. (21), it is then
sufficient to find the appropriate value of K to tune the lowpass filter.
From the theory in [12], it can be demonstrated that by
setting K such that nKfK = 1  e
Theorem 2 follows:


3
, eq. (21) is verified. Thus,
Fuzzy saturation
compensator
e’[k]
d[k]
F
rF[k]
1
z-1
Plant P(z)KfD
qREF[k]
+
–
+
rSP[k]
K
–
D
rSP[k]
+
+
r[k]
Kf
Plant Model
P0(z)KfD
1
z-1

Tbw
KSAT
Tfw
rIN[k]

–
+
q[k]
1
z-1
~
Plant Model P(z)KfD
Kf
D
D
~
T
Kf
–
1
z-1

+
Figure 3: Robust adaptive scheme with fuzzy saturation compensation
Theorem 2. If K is set as follows:


1  e 3
K ( , K f ) 
nK f
Table 1:Common simulation parameters
(25)
Number of Sources
Forward Delays [s]
then the system is robustly stable with respect to the
uncertainties in the time-delays and in the adaptive fuzzy
gain.
IV. SIMULATIONS
In this Section, numerical simulations of the proposed
congestion control scheme are provided. Several simulation
runs have been executed to test the congestion control
scheme in different traffic situations and with different
uncertainties and source saturations.
The parameters of the simulation runs are summarized in
Table 1. The time-delay uncertainties and the source
maximum rates are different in the simulation runs, as
specified in Table 2:
The controller gain K has been set as in eq. (24), and,
thus, varies with the adaptive fuzzy gain Kf.
The parameters of the first 4 simulation runs are the same
as the ones of [11], so that the performances of the two
proposed scheme can be compared. The last simulation run
has been set up to show the behaviour of the proposed
scheme when all the sources are saturated.
The first three simulation runs have been performed
without saturation (during the simulations, the rates assigned
by the controller are always lower than 100 packets/sec, so
that the saturation gains of the saturation matrix KSAT are
always equal to 1), to test the linear control system
developed in Section III.A and the robust condition
computed in Section III.C. The results are shown in Fig. 5,
and confirm that the control scheme is capable i) of driving
the queue length to the reference queue length, and ii) of
achieving fairness among the rates assigned to the sources.
In fact, the figure shows that, after a transient period, the
queue length reaches 30 packets and the assigned rates are
the correct share of d (the share of source i can be computed
by multiplying d = 60 packets/sec by the weight i of
Table 1).
Backward Delays [s]
Nominal Delays [s]
Sampling Time [s]
Reference queue
length [packets]
Depletion rate
[packets / sec]
Fairness weigths
n=5
Tfw 1 = 0.9+0.5 sin((250)t)
Tfw 2 = 1.85+0.2 sin((50)t)
Tfw 3 = 0.9+0.5 cos((250)t)
Tfw 4 = 1.88+0.3 cos((2 50)t)
Tfw 5 = 1.8+0.4 sin((2 50)t)
Tfw 1 = 0.1+0.1 sin(( 50)t)
Tfw 2 = 0.15+0.1 cos(( 50)t)
Tfw 3 = 0.1+0.05 sin(( 100)t)
Tfw 4 = 0.12+0.05 cos(( 100)t)
Tfw 5 = 0.2+0.05 sin(( 50)t)
~
T 1=1
~
T 2=2
~
T 3=1
~
T 4=2
~
T 5=2
TS = 0.05
qREF[k] = 30 u-1[k]
d[k] = 60 u-1[k]
1 = 0.2
2 = 0.1
3 = 0.4
4 = 0.2
5 = 0.1
Table 2: Time-delay uncertainties and source saturations
Sim. run
 [s]
Maximum
source
transmission
rates
[pkts/sec]
S1
S2
S3
S4
S5
1
3
100
100
100
100
100
2
0.25
100
100
100
100
100
3
8
100
100
100
100
100
4
3
10
20
20
20
5
5
3
10
10
24
10
00
The duration of the transient period depends on the
controller gain K. In these three cases, the fuzzy gain Kf is
always equal to 1 (i.e., the fuzzy compensator is not active)
and, thus, the controller gain K is set according to eq. (25)
based on the maximum uncertainty  : the larger is  , the
smaller is K and the slower is the dynamic. The values of Kf
and K are shown in Fig. 7.
Comparing the obtained results with the ones in [11], it
turns out that the performance of the two schemes is
analogous.
The fourth simulation run has been performed with
saturation to test the fuzzy saturation compensator block
developed in Section III.B. The results are shown in Fig. 6,
and confirm that the control scheme is still capable of
driving the queue length to the reference queue length. In
this case, due to the presence of the saturated sources, the
rate vector r[k] computed by the controller of Section III.A.
are not sufficient to overcome the saturation; thus, the fuzzy
gain is increased until the assigned rates ri[k], i = 1, …, 5,
multiplied by Kf is sufficient to saturate sources 1, 3 and 5
and to increase the input rates of the unsaturated sources 2
and 4 so that the sum of the input rates is equal to d. By so
doing, Fig. 6 shows that the sum of the assigned rates
5
K f [k ]r[k ]  K f [k ] ri [k ] becomes greater than d.
produce any increasing of the input rate, the saturation
situation is detected and Kf is decreased. This results in an
oscillating behaviour of Kf[k] around the value which
represent the saturation limit, as shown in Fig. 7.
V. CONCLUSIONS
In this paper, a congestion control protocol for high-speed
networks. The novelty of this paper consists in that it
explicitly address the source saturation problem.
The control scheme makes use of a main controller based
on classical control theory coupled with a saturation
compensator based on fuzzy logic: the former works
properly when the sources are not saturated; the latter
provides a saturation compensation by setting an adaptive
multiplicative gain which acts on the rate command. The
scheme also provides robust stability to both time-delay
uncertainties and saturation uncertainties.
Simulations have been provided, which validated the
effectiveness of the proposed scheme.
REFERENCES
[1]
[2]
i 1
Note that the scheme still obtains fairness among the
unsaturated flows: Fig. 6 shows that, after the transient
period, the input rate of source 4 rIN 4[k], whose fairness
wheight 4 is 0.2, is twice the input rate of source 2 rIN 2[k],
whose fairness wheight 2 is 0.1.
The values of the fuzzy gain Kf and of the controller gain
K for case 4 are shown in Fig. 7. Kf is increased until the sum
of the input rates is equal to d, and then it settles on a
constant value of about 1.4; according to eq. (25), K is
adaptively adjusted to assure robust stability.
Also in this case, the performance of the proposed scheme
and the one of [11] is analogous.
[3]
[4]
[5]
[6]
[7]
[8]
[9]
Finally, the last simulation run has been set up to show
that the proposed scheme is capable of dealing with the case
when all the sources are saturated: in fact, Table 2 shows
that, in simulation 5, the sum of the maximum rates of the
sources is lower than d = 60 packets/sec. In this case,
obviously, the controller cannot drive the queue length to the
reference queue length and the buffer remains empty. The
objective is thus just to allow each source to transmit with its
maximum rate.
As shown by Figures 6 and 7, this result is obtained by
increasing the value of the fuzzy gain Kf. However, since the
sum of the input rates is always lower than d regardless of
the value of Kf, the risk is that Kf is increased without
limitation. This risk is avoided thanks to the defined fuzzy
inference rules: in fact, when an increasing of Kf does not
[10]
[11]
[12]
[13]
P. Mishra, H. Kanakia, S. Tripathi, “On Hop-by-Hop Rate Based
Congestion Control”, IEEE ACM Transactions on Networking, 4(2),
224-239, 1996.
A. Pietrabissa, “Internal Model Hop-by-hop Congestion Control for
High-Speed Networks”, in Proc. of IEE European Control Conference
ECC’03, Cambridge , UK, Sept. 1-4, 2003.
S. Keshav, “A control-theoretic approach to flow control”, in Proc.
of ACM SIGCOMM'91, Zurich, Switzerland, pp. 3-15, September
1991.
S. Mascolo, “Congestion control in high-speed communication
networks using the Smith principle”, Automatica, vol. 35, n. 12, pp.
1921-1935, Dec. 1999.
R. D. Braatz, "Internal Model Control," in The Control Handbook (S.
Levine, ed.), CRC Press, pp. 215-224,1996.
O. Smith, "A Controller to Overcome Dead Time," ISA Journal, Vol.
6, No. 2, Feb. 1959.
Z. J. Palmor, "Time-delay compensation - Smith predictor and its
modifications," in The Control Handbook (S. Levine, ed.), CRC
Press, pp. 224-237, 1996.
W. Stalling, “High Speed Networks: TCP/IP and ATM Design
Principles”, Prentice Hall, San Francisco, 1998.
E. Altman, T. Basar, R. Srikant, “Congestion control as a stochastic
problem with action delays”, Automatica, Dec., 1999.
S. Jagannathan, J. Talluri, “Congestion control of ATM networks
using multilayer neural network approach: multiple source/single
switch scenario” in Proc. of ACC, Vol. 5, pp. 3789-3794, 2001.
Quet, P. F., Ataşlar, B., İftar, A., Őzbay, H., Kalyanaraman, S. and
Kang, T. (2002) Rate-based flow controllers for communication
networks in the presence of uncertain time-varying multiple timedelays, Automatica, 38(7), 917-928.
Morari, M. and Zafiriou, E. (1989) Robust Process Control. Prentice
Hall, Englewood Cliffs, New Jersey.
H. Ozbay, T. Kang, S. Kalyanaraman and ˙Iftar, A. ”Performance and
robustness analysis of an H∞-based flow controller”, In Proc. of the
Conference on Decision and Control, Vol. 3, pp. 2691–2696, 1999.
Case 1 – Queue length [pkts],
input rates [pkts/sec]
Case 2 – Queue length [pkts],
input rates [pkts/sec]
45
45
45
40
40
40
35
35
q[k]
30
rIN3[k]
25
15
10
rIN4[k]
rIN2[k]
10
5
0 0
20
rIN1[k]
15
rIN5[k]
rIN4[k]
rIN2[k]
100
150
Time [sec]
rIN1[k]
15
10
rIN5[k]
5
50
rIN3[k]
25
20
rIN1[k]
q[k]
30
rIN3[k]
25
20
35
q[k]
30
Case 3 – Queue length [pkts],
input rates [pkts/sec]
rIN4[k]
rIN2[k]
rIN5[k]
5
0 0
50
100
150
0 0
50
Time [sec]
100
150
Time [sec]
Figure 5: Simulation results with unsaturated sources
Case 4 – Queue length [pkts], input rates [pkts/sec]
Case 4 – Allowed flow rates [pkts/sec]
45
100
40
90
35
80
q[k]
70
30
60
25
rIN3[k]
20
15
Kf r[k]
rIN1[k]
10
50
30
10
rIN5[k]
0 0
50
Time [sec]
Kf r1[k]
20
rIN2[k]
5
Kf r3[k]
40
rIN4[k]
100
0 0
150
100
150
Case 5 – Allowed flow rates [pkts/sec]
45
100
40
90
35
80
Kf r[k]
70
30
rIN3[k]
25
60
50
20
Kf r3[k]
40
15
rIN4[k]
rIN1[k]
30
10
0 0
Kf r2[k] Kf r5[k]
50
Time [sec]
Case 5 – Queue length [pkts], input rates [pkts/sec]
5
Kf r4[k]
Kf r1[k]
Kf r4[k]
20
rIN2[k]
q[k] = rIN5[k] = 0
50
Time [sec]
100
10
Kf r2[k]
0 0
50
150
Kf r5[k] = 0
Time [sec]
100
150
Figure 6: Simulation results with saturated sources
Adaptive Gain K
Fuzzy Gain Kf
2
0.2
K[k] – Case 2
0.18
1.8
Kf[k] – Case 5
0.16
0.14
1.6
0.12
1.4
K[k] – Case 4 K[k] – Case 5
0.1
Kf[k] – Case 4
0.08
1.2
1
0.8 0
K[k] – Case 1
0.06
0.04
Kf[k] – Cases 1,2,3
50
Time [sec]100
K[k] – Case 3
0.02
150
0
0
50 Time [sec] 100
Figure 7: Fuzzy and primary controller gains
150