# Congestion Control Based on Multiple Model Adaptive Control

Authors: Xinhao Yang; Ze Li
Journal: Mathematical Problems in Engineering
 (2013)

---

## Abstract

The congestion controller based on the multiple model adaptive control is designed for the network congestion in TCP/AQM network. As the conventional congestion control is sensitive to the variable network condition, the adaptive control method is adopted in our congestion control. The multiple model adaptive control is introduced in this paper based on the weight calculation instead of the parameter estimation in past adaptive control. The model set is composed by the dynamic model based on the fluid flow. And three  “local” congestion controllers are nonlinear output feedback controller based on variable RTT, H2 output feedback controller, and proportional-integral controller, respectively. Ns-2 simulation results in section 4 indicate that the proposed algorithm restrains the congestion in variable network condition and maintains a high throughput together with a low packet drop ratio.


---

## Body

## 1. Introduction

In recent years, with the rapid growth of network size and network applications, congestion control has been exposed as an essential factor in communication network design. Congestion [1] occurs when the aggregate demand for a resource exceeds the available capacity of the resource, which may deteriorate the performance and the reliability of the network. Resulting effects from such congestion include long delays in data delivery, wasted resources due to lost or dropped packets, and even possible congestion collapse [2], in which all communications cease in the entire network.TCP can only provide best effort service, in which the traffic is processed as quickly as possible, but there is no guarantee as to timeliness or actual delivery [3]. Moreover, it is difficult for the data source to perceive the network condition. When the incoming packet rate is higher than the router’s outgoing packet rate, the queue size will increase and eventually give rise to the congestion. The queue management scheme in router will use queue to smooth spike in the incoming packet rates. In the Drop Tail (DT) policy which is the most extensive dropping policy, the packet will be dropped when it arrives and finds the queue full. It has been shown that the DT mechanism interacts badly with TCP’s congestion control mechanisms and could lead to a poor performance [3].In the same time, Active Queue Management (AQM) is the early notification of incipient congestion so that TCP senders can reduce their transmission rate before the queue overflows [4]. Random Early Detection (RED) [5, 6] is an important AQM mechanism, which is recommended by Internet Engineering Task Force (IETF) [7]. The basic idea behind RED queue management is to detect incipient congestion early and convey congestion notification to the end hosts, allowing them to reduce their transmission rates before queues in the network overflow and packets are dropped. To fulfill this aim, RED maintains an exponentially weighted moving average of the queue length which it uses to detect congestion. RED takes an average measure of the queue length and randomly drop packets that are within a threshold between minth and maxth. As a result, RED requires a wide range of parameters to operate correctly under different congestion scenarios. When RED parameters are not correctly defined, RED may perform even worse than the traditional tail drop policy [8, 9].To solve the problem of the parameter setting in RED, application of the control theory to solve the congestion problem has been considered since late 1990s [10]. In such approach, the main idea is to analyses the dynamic of TCP/AQM networks, build the mathematical models, and use the available tools to design and analyze suitable congestion controllers [11]. Based on the close loop system for the communication networks, several conventional controllers such as P, PI [12], PID [13], Lyapunov Drifts [14], and variable structure control (VSC) [15] have been designed as AQM scheme in TCP/AQM networks.Due to inevitability of the time-variable parameters in network, some limitations and disadvantages are presented in the controllers mentioned above. For example, PI controllers are very sensitive to system parameter variations, and PID controller would generate a high fluctuation in queue length of router buffers [13]. Consequently, the controller seems necessary, which is of better performance in variable network condition. In [16], a self-regulating AQM controller has been proposed, which has been compared with RED and PI controllers in variable network parameters. However, it is known that self-regulatory control performs weakly in the presence of noise. In order to overcome this, congestion controller based on adaptive controller is presented in [17–23]. The parameters in conventional adaptive controllers would be considered as the infinite model identification [24].Through the analysis above, the congestion control based on multiple model adaptive control (MMAC) is designed in this paper. Multiple model adaptive control [25–28] is considered as the finite model identification method, which uses the weight calculation rather than the parameters estimation. Simulation results indicate that the proposed multiple model adaptive congestion control (MMACC) is superior from queue length in bottleneck router, throughput for the data source, and drop ratio for the whole communication network of the conventional congestion control.We believe that three aspects of this paper will make it interesting to general readers. Firstly, the congestion control algorithm based on the adaptive control is proposed in variable network condition. Secondly, the multiple model adaptive control is introduced in this paper based on the weight calculation instead of the parameter estimation in traditional adaptive control. Finally, the model set is introduced in the paper, which is composed by the dynamic model based on the fluid flow. The rest of the paper is structured as follows. The dynamic model of TCP/AQM in congestion control is discussed in Section2. Section 3 investigates the design of our proposed MMACC for congestion control. Simulation results are presented in Section 4. Finally, Section 5 concludes the paper.


## 2. A Fluid-Flow Model of TCP Behavior

In this section, we overview the system model [29] for TCP and queue dynamics based on fluid-flow and stochastic differential equation analysis. This model describes a sample path of each long-lived TCP connection with an additive increase and multiplicative decrease (AIMD) strategy and is given by the following coupled, nonlinear differential equations:
(1)W˙(t)=1R(t)-W(t)2W(t-R(t))R(t-R(t))p(t-R(t)),q˙(t)=-C(t)+N(t)R(t)W(t),
where W is the average congestion window size (packets), q is the average queue length (packets), R(t)=q(t)/C(t)+Tp is the round trip time (secs), and p is the probability of packet mark/drop in AQM, which takes value only in [0,1]. C, Tp and N denote the link capacity (packets/sec), the propagation delay (secs), and the connection number, respectively. 1/R(t) indicates the additive increase strategy, and W(t)/2 means the multiplicative decrease strategy. Simulation results demonstrated that this model accurately captured the dynamics of TCP. Hollot et al. [30] illustrated these differential equations in the block diagram of Figure 1 which highlights TCP window-control and queue dynamics.Figure 1
Block diagram of TCP’s congestion avoidance flow-control mode.Taking (W,q) as the state variables and p as the reference input, the equilibrium point (W0, q0, p0) is defined by W˙=0 and q˙=0, so that
(2)W0=2p0=R0C0N0=q0+C0TpN0,p0=2N02(R0C0)2=2N02(q0+C0Tp)2,R0=q0C0+Tp,
where the steady sate queue length q0 is the desired queue length in the buffer and N(t)≡N0 and C(t)≡C0 are assumed as constants.Employing small signal linearization, we linearize the model (1) about equilibrium point and ignore the delay term. The simplified dynamics is given as
(3)x1•(t)=-N0R02C0(x1(t)+x1(t-R0))-R0C022N02u(t-R0)-1R02C0(x2(t)-x2(t-R0)),x2•(t)=N0R0x1(t)-1R0x2(t),
where x1(t)=δW=W(t)-W0, x2(t)=δq=q(t)-q0, u(t)=δp=p(t)-p0.Based on (3) and assuming R0≫N0/C0 (which allows us to ignore the delay), the open loop transfer function of linearized system can be obtained as
(4)P(s)=K(T1s+1)(T2s+1),
where K=(R0C0)3/4N02, T1=R0, T2=R02C0/2N0.Remark 1.
For typical network condition,W0≫1 is a reasonable assumption. Based on formula (2), we can get W0=R0C0/N0, so R0≫N0/C0.Discrediting (4) with sampling period Ts using the bilinear Z-transformation s=(2/T)((1-z-1)/(1+z-1)), the equivalent discrete system model of the linearized TCP/AQM can be written as follows:
(5)P(z)=b0+b1z-1+b2z-21+a1z-1+a2z-2,
where
(6)a1=2(Ts2-4T1T2)(Ts+2T1)(Ts+2T2),a2=(Ts-2T1)(Ts-2T2)(Ts+2T1)(Ts+2T2),b0=b2=KTs2(Ts+2T1)(Ts+2T2),b1=2KTs2(Ts+2T1)(Ts+2T2).


## 3. Congestion Control Based on Multiple Model Adaptive Control

In this section, we present the proposed multiple model adaptive congestion controller. First, we describe the multiple model adaptive control taken into consideration. Then, we introduce the “local” congestion controller assigned in MMAC.


### 3.1. The MMAC Controller

Now, the system equation with inputu(k), output y(k), and the system noise e(k) can be written as
(7)A(z-1)y(k)=B(z-1)u(k)+e(k),
where A(z-1)=1+a1z-1+⋯+anz-n is a single polynomial of order n with coefficients ai  and B(z-1)=b0+b1z-1+⋯+bmz-m is a general polynomial of order m with coefficients bi.Remark 2.
According to the statistics of MCI, 95% of bytes and 90% of packets are transported within the TCP scheme [31]. So the non-TCP data traffics, such as UDP, are considered as the noise in congestion control model.In order to estimate the online parameters, the outputy(k) can be rewritten as
(8)y(k)=θφT(k),
where
(9)θ=[-a1,…,-an,b0,b1,…,bm],φ(k)=[y(k-1),…,y(k-n),u(k),…,u(k-m)],
where M={Mi,i=1,2,…,N} is the model set that may include the true model of the unknown plant P. Further, define yi as the output of Mi. For each model Mi∈M, its output error is given by
(10)ei=y(k)-yi(k).A concise block diagram is shown in Figure2 to represent an MMAC system, where “local” controller Ci is designed according to any possible control strategies, if Ci stabilizes model Mi. Then, the global control u(k) is obtained by
(11)u(k)=∑i=1Npi(k)ui(k),
where ui(k) is the output of the “local” controller Ci.Figure 2
Block diagram of MMAC system.Typically, controller weightspi(k) are calculated through a bank of Kalman filters [32]. But in [28], a new algorithm is proposed which is simpler in pi(k) calculation; that is,
(12)pi(0)=li(0)=1N,li′(k)=1+1k∑r=1kei2(r),lmin′(k)=mini{li′(k)},li(k)=lmin′(k)li′(k)li(k-1),pi(k)=li(k)∑r=1Nlr(k).


### 3.2. “Local” Congestion Controller

The model setM is composed by three kinds of congestion models including nonlinear model, local linearization model, and the model without time delay. The model set is described as follows:
(13)M={Mi,i=1,2,3}.
In other words, three “local” congestion controllers (C1, C2, and C3) should be designed to stabilize the submodel Mi, respectively.Firstly, nonlinear output feedback control based on variable RTT (NOFC-VRTT,C1) [33] is designed according to nonlinear dynamic model (1); that is,
(14)p1(k)=2[(N0W^(k)q-(k)-1-k1(q-(k)-q-*))N0q-(k)+(N0W^(k)q-(k)-1)(k1q-*-1)+k2q-(k)(N0W^(k)q-(k)-1-k1(q-(k)-q-*))]×(N0W^2(k)q-(k))-1.
The congestion window observer is chosen as
(15)W^˙(k)=C0q-(k)-C02W^2(k)q-(k)p(k),
where
(16)q-=1q+TpC,q-*=1q0+TpC0.
The control parameters k1 and k2 should satisfy the following inequalities:
(17)1≤k1q-*+k2q-≤2,0≤N0q-+1-k1q-*-k2q--k1k2q-z2≤2N0q-(2-k1q-*-k2q-).Secondly, based on the linear state space model (3), the H2 output feedback controller (H2OFC, C2) could be presented as
(18)x^(t)•=A^0x^(t)+A^1x^(t-R0)+B^y(t),u(t)=C^0x^(t)+C^1x^(t-R0)+D^y(t).This controller could also be described in the frequency domain by the nonrational transfer function(19)C2(s)=(C^0+C^1e-sR0)(sI-A^0-A^1e-sR0)-1B^+D^,
where the parameter matrices A^0, A^1, B^, C^0, C^1, and D^ are regulated by the linear matrix inequalities. A detailed description of the regulation could be seen in Section 3 of [34]. In the same time, the transfer function in the z-domain is obtained by the bilinear Z-transformation.Lastly, the classical proportional integral control (PI,C3) is adopted in the transfer function model (4), and the parameter tuning is discussed in paper [35]:
(20)C3(s)=Kp+Kis=KPI(s/z+1)s.


## 3.1. The MMAC Controller

Now, the system equation with inputu(k), output y(k), and the system noise e(k) can be written as
(7)A(z-1)y(k)=B(z-1)u(k)+e(k),
where A(z-1)=1+a1z-1+⋯+anz-n is a single polynomial of order n with coefficients ai  and B(z-1)=b0+b1z-1+⋯+bmz-m is a general polynomial of order m with coefficients bi.Remark 2.
According to the statistics of MCI, 95% of bytes and 90% of packets are transported within the TCP scheme [31]. So the non-TCP data traffics, such as UDP, are considered as the noise in congestion control model.In order to estimate the online parameters, the outputy(k) can be rewritten as
(8)y(k)=θφT(k),
where
(9)θ=[-a1,…,-an,b0,b1,…,bm],φ(k)=[y(k-1),…,y(k-n),u(k),…,u(k-m)],
where M={Mi,i=1,2,…,N} is the model set that may include the true model of the unknown plant P. Further, define yi as the output of Mi. For each model Mi∈M, its output error is given by
(10)ei=y(k)-yi(k).A concise block diagram is shown in Figure2 to represent an MMAC system, where “local” controller Ci is designed according to any possible control strategies, if Ci stabilizes model Mi. Then, the global control u(k) is obtained by
(11)u(k)=∑i=1Npi(k)ui(k),
where ui(k) is the output of the “local” controller Ci.Figure 2
Block diagram of MMAC system.Typically, controller weightspi(k) are calculated through a bank of Kalman filters [32]. But in [28], a new algorithm is proposed which is simpler in pi(k) calculation; that is,
(12)pi(0)=li(0)=1N,li′(k)=1+1k∑r=1kei2(r),lmin′(k)=mini{li′(k)},li(k)=lmin′(k)li′(k)li(k-1),pi(k)=li(k)∑r=1Nlr(k).


## 3.2. “Local” Congestion Controller

The model setM is composed by three kinds of congestion models including nonlinear model, local linearization model, and the model without time delay. The model set is described as follows:
(13)M={Mi,i=1,2,3}.
In other words, three “local” congestion controllers (C1, C2, and C3) should be designed to stabilize the submodel Mi, respectively.Firstly, nonlinear output feedback control based on variable RTT (NOFC-VRTT,C1) [33] is designed according to nonlinear dynamic model (1); that is,
(14)p1(k)=2[(N0W^(k)q-(k)-1-k1(q-(k)-q-*))N0q-(k)+(N0W^(k)q-(k)-1)(k1q-*-1)+k2q-(k)(N0W^(k)q-(k)-1-k1(q-(k)-q-*))]×(N0W^2(k)q-(k))-1.
The congestion window observer is chosen as
(15)W^˙(k)=C0q-(k)-C02W^2(k)q-(k)p(k),
where
(16)q-=1q+TpC,q-*=1q0+TpC0.
The control parameters k1 and k2 should satisfy the following inequalities:
(17)1≤k1q-*+k2q-≤2,0≤N0q-+1-k1q-*-k2q--k1k2q-z2≤2N0q-(2-k1q-*-k2q-).Secondly, based on the linear state space model (3), the H2 output feedback controller (H2OFC, C2) could be presented as
(18)x^(t)•=A^0x^(t)+A^1x^(t-R0)+B^y(t),u(t)=C^0x^(t)+C^1x^(t-R0)+D^y(t).This controller could also be described in the frequency domain by the nonrational transfer function(19)C2(s)=(C^0+C^1e-sR0)(sI-A^0-A^1e-sR0)-1B^+D^,
where the parameter matrices A^0, A^1, B^, C^0, C^1, and D^ are regulated by the linear matrix inequalities. A detailed description of the regulation could be seen in Section 3 of [34]. In the same time, the transfer function in the z-domain is obtained by the bilinear Z-transformation.Lastly, the classical proportional integral control (PI,C3) is adopted in the transfer function model (4), and the parameter tuning is discussed in paper [35]:
(20)C3(s)=Kp+Kis=KPI(s/z+1)s.


## 4. Simulation

In this section, we verify the proposed MMACC via simulation using the Ns-2 simulator. The benchmark network topology is addressed as shown in Figure3. The following numerical values are considered as the system parameters: N=30 TCP sessions, Tp=0.1 s, q0=200 packets, and buffer size is 800 packets. Also, the bottleneck link bandwidth is 10 Mb/s with an average packet size of 500 byte which results in C=2500 packets/s. Using these parameters, we can calculate other parameters such as R0, W0, and p0 according to formula (2). Node Sd is set up as the UDP sender with a 0.5 Mb/s bandwidth as discussed in Section 3.1. The sample frequency is 160 Hz, and the simulation period equals to 300 s. The parameters of the three “local” controllers are designed by the network simulation condition above.Figure 3
Network topology.In detail, the parameters ofC1 are as follows:
(21)k1=224,k2=113.The parameters ofC2 are calculated as
(22)a=1.547e-9,b=0.3607.And the parameters ofC3 are
(23)Kp=1.822e-5,Ki=1.816e-5.Experiment 3.
Now we look at the bottleneck routernn1 running MMACC and router nn2 running drop tail algorithm. In order to verify the robustness of the proposed MMACC, the network condition is changed as follows: (a) initial condition; (b) propagation delay Tp is converted from 0.1 s to 0.15 s; (c) 15 new FTP sources start at 80 s and 15 FTP sources stop at 180 s randomly; (d) UDP/CBR source as noise starts at 80 s and stops at 240 s. Figure 4 shows the instantaneous queue length of the bottleneck router in variable network condition. As depicted in Figure 4, the instantaneous queue length maintains round the equilibrium value. The simulation results show that MMACC has a good robustness when network condition changes or modeling is uncertain.Robustness of MMACC.
(a)
(b)
(c)
(d)Experiment 4.
MMACC is considered as the linear combination of the NOFC-VRTT, H2OUT, and PI. In this simulation experiment, we compare the performance of the four congestion controllers. Figure 5 displays the queue length of the bottleneck router adopting the four congestion control strategies. It is indicated that MMACC has well disturbance attenuation and strong convergence. Tables 1 and 2 show that MMACC achieves a lower packet drop ratio and a higher link utilization than the other three congestion controls in variable network conditions. The simulation results show that MMACC provides better network performance and higher quality of service (QoS). On the other hand, PI controller omitted the high frequency part of the fluid model, and NOFC-VRTT controller only gave the range of the control coefficient. So the performance of H2OFC is much better among the three “local” congestion controllers.Table 1
Packet drop ratio in variable RTT.
RTT(s)
0.10
0.12
0.14
0.16
0.18
0.20
MMACC
0.393%
0.361%
0.329%
0.303%
0.282%
0.271%
NOFC-VRTT
0.683%
0.628%
0.581%
0.540%
0.492%
0.479%
H2OFC
0.931%
0.720%
0.630%
0.504%
0.393%
0.372%
PI
1.556%
1.263%
0.989%
0.767%
0.576%
0.497%Table 2
Link utilization in variable RTT.
RTT(s)
0.10
0.12
0.14
0.16
0.18
0.20
MMACC
95.41%
95.09%
94.83%
94.57%
94.22%
94.07%
NOFC-VRTT
95.27%
94.78%
94.45%
93.92%
93.47%
93.10%
H2OFC
95.03%
93.68%
92.04%
89.85%
86.76%
85.71%
PI
95.27%
94.72%
94.14%
93.05%
91.63%
89.69%Instantaneous queue length in the bottleneck router.
(a)
MMACC versus NOFC-VRTT
(b)
MMACC versus H2OFC
(c)
MMACC versus PI


## 5. Conclusion

A new AQM method for TCP network based on multiple model adaptive control has been presented in the paper. Three dynamic models based on the TCP/AQM fluid-flow mode have been designed for the MMAC. Then the proposed adaptive method regulates the weight of the “local” congestion controller. Simulation results demonstrate that the proposed MMACC scheme is able to preserve the queue length efficiently in the bottleneck router around the desired point. In addition, the superior performance of the proposed controller has been illustrated through the results obtained via Ns-2 simulation. In the MMACC, all of the “local” congestion controllers are queue-based AQM scheme. As the rate-based schemes, providing early feedback for congestion, the rate-based “local” congestion controller would improve our MMACC, which is the next step for us.



---

*Source: 714320-2013-11-24.xml*