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 rowzi 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 jTi K f K K SAT i e i 1 i 1 z 1 z 1 n z 1 n K f K e jTi ~ i 1 n K f Ke j T fw i Tb w i i 1 n n K f K e jTi ~ i 1 n K f K e jTi ~ i 1 e (22) j n e ~ jTi i 1 n e n (23) e jTi i 1 ~ jTi ~ 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((250)t) Tfw 2 = 1.85+0.2 sin((50)t) Tfw 3 = 0.9+0.5 cos((250)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
© Copyright 2026 Paperzz