1 Introduction

Active queue management (AQM) is an effective approach designed for controlling congestion at routers. AQM aims to signal incipient congestion before the buffer is completely full. In recent years, AQM protocols based on control strategies have been proposed in order to prevent congestion. The objective of these strategies is to control the queue length (or average queue length). Previous studies indicated that the proportional-integral (PI) controller is one of the popular control strategies that is frequently applied to transmission control protocol (TCP)/AQM networks [1, 2]. Each part of the PI controller contributes to achieving the queue length target. In particular, the integral action is required to accomplish a zero steady-state error, whereas the proportional action is used in the transient stage in order to keep the output queue length close to the target value. The performance of several control strategies using the PI controller for AQM was discussed in [3, 4].

However, it is difficult to achieve high-control performance under all operating conditions with a linear PI controller owing to dynamic networking environments, such as the number of TCP flows. Moreover, it is difficult to estimate round-trip propagation time (RTPT) accurately. Furthermore, re-tuning is required for a fixed PI-AQM controller in order to maintain low buffer occupancy, small queuing delays, low queue length fluctuation or jitter (stability), low packets losses, and high link utilization under heavy congestion. In the past several years, considerable effort has been devoted to the development of several approaches for improving the adaptability and robustness of AQM such as the self-tanning method [5], which varies the maximum drop probability by adaptively adjusting control parameters based on the estimated network parameter variations. For example, Hao et al. [2] proposed an adaptive proportional–integral–derivative (PID) controller—an improved expert intelligent PID controller—which tunes the PID control parameters according to the queue length error. Xu et al. [6] proposed an improved nonlinear PI-AQM controller that can adapt its response to the performance of the closed-loop control system of [7] in order to tune the PID parameters can use the fuzzy control rules and neuronal network. Qing [8] and Zhou [9] proposed an adaptive PID controller based on a neuronal network predictive control technique. The proposed controller requires a more complex control structure, whereas an adaptive fuzzy controller requires human knowledge and expertise. In addition, their work focused on estimating all the input-output data within such a complex system to determine the appropriate structure of the neural network controller under these circumstances, and enhance variable structure PI (VSPI) controller to compensate for the nonlinearity of the conventional linear PI controller. The design of the VSPI controller is described in [10]. The VSPI controller adaptively adjusts the integral gain to the queue error [10]; the nonlinear gain function has two parameters to be determined, β and σ. In particular, the extreme value of β makes the VSPI degenerate to either the corresponding PI conventional controller or a simple proportional controller. Extensive simulations demonstrated that VSPI achieves fast control response and has good stability. However, to the best of authors’ knowledge, very few studies have been reported in the literature that discuss the issue of the PI controller combined with the VS controller to design active queue management (AQM) routers that support TCP flows. Furthermore, comparing to PI controller, the implementation of the proposed VSPI controller in miniaturized devices like Field Programmable Gate Arrays (FPGA) and microcontrollers has a very small scale due to its complexity in implementation and its computation time requirement.

The remainder of the paper is organized as follows: Sect. 2 describes the general closed loop of the TCP/AQM control problem in the special case of the use of PI as AQM, and presents the proposed variable structure. Section 4 discusses the numerical results and performance analysis of the VSPL-AQM with PI. Section 5 concludes the paper.

2 TCP/AQM System with Static PI Controller

Herein, the system in which the static PI controller is used as an AQM algorithm is described [11, 12]. Next, a method is proposed to adaptively adjust the PI controller parameters according to the queue length error to guarantee that the TCP/AQM system is stable. Figure 1 shows a classic closed-loop TCP system with the PID controller in [12].

Fig. 1
figure 1

TCP/AQM network system with static PI controller

In the TCP/AQM system, qref represents the target queue length (reference queue length), p(t) represents the drop probability, and e(t) represents the queue length error between the target queue length and the instantaneous queue length q(t). C and P are the controller and plan, respectively. The plan is conveniently described by the transfer function [11]:

$$P(s) = \frac{K}{{a_{1} s^{2} + a_{2} s + a_{3} }}$$
(1)

where \(K = \frac{{C^{3} R}}{2N}\), \(a_{1} = \frac{{R^{3} C}}{2N}\), \(a_{2} = R + \frac{{C^{2} R}}{2N}\), \(a_{3} = 1\), where C: bottleneck link capacity (packets/s), N: number of adaptive connections, R: round-trip propagation time.

The process plan modeled with time delay is represented by a convenient notation [11]:

$$P(s) = \frac{{Ke^{ - sR} }}{{a_{1} s^{2} + a_{2} s + a_{3} }}$$
(2)

The Proportional-Integral-Derivative (PID) controller is widely used in various engineering applications since they are easy to implement using low storage memory, their computational complexity is low and they are applicable to most control systems. The basic structure of controller C as the standard PID regulator is given by this transfer function [2, 9]:

$$PID = k_{p} + \frac{{k_{i} }}{s} + k_{d} s$$
(3)

where \(k_{p}\), \(k_{i}\), and \(k_{d}\) are proportional and integral parameters.

A fixed gain PID is adequate for controlling a nominal TCP/AQM process; however, the requirement for high performance with changes in operating conditions or environment parameters (R,C,N) are beyond the capabilities of a simple PID controller. In the next section, a novel PI controller with the typical structure of a conventional PI with a variable integral action is introduced.

3 TCP/AQM System with Static VSPI Controller

Let the integral gain of the PI controller be a function of the queue length error e(t). Figure 2 describes the system employing the VSPI controller. \(\phi (t)\) is defined by equation (5). Thus, the VSPI controller is a nonlinear controller in which the integral gain is not constant; the input to \(\phi (t)\) is the dynamic queue length error e (t) and the output is the scaled error.

Fig. 2
figure 2

TCP/AQM network system with static VSPI controller

V(t) = \(\phi (t)\)e(t) is the scaled error which is the input to the conventional PI controller that generates the control action p(t) [12]:

$$p(t) = k_{p} e(t) + k_{i} \int {[\varphi (t)e(t)]dt}$$
(4)
$$\varphi (e(t)) = \exp \left( {\frac{{ - e(\tau )^{2} }}{{2\beta^{2} \sigma^{2} }}} \right)$$
(5)

For a fixed value of \(\sigma\), we initially assume that the output of the TCP/AQM network system is zero, in which corresponds to setting \(\sigma = \frac{{q_{ref} }}{{1 + k_{p} \times K}}\). Thus, the only free unknown parameter is \(\beta^{2}\).

As per Fig. 2, the difference between the proposed PI and the static controller can be explained as follows: when the error is close to zero, the integral action is influenced by a negative exponential, and when the error is large, the contribution of the integral action is practically negligible according to the characteristics of the well-known Gaussian function, the integral action is the same as that of the classic PI. Therefore, the integral action is primarily used to drive the steady-state error to zero (Fig. 3).

Fig. 3
figure 3

Tuning function of PI controller ki versus queue error

4 Parameter Setting

When the queue length error of the system TCP/AQM is zero,

$$\sigma = \frac{{q_{ref} }}{{1 + k_{p} K}}$$
(6)

In Eq. (1), \(K = \frac{{C^{3} R}}{2N}\) is a numerical value; consider the case of (N = 60, C = 15 Mbps corresponding to 1875 packets/s, R = 0.36 s) used in [12].

As indicated by equation (5), when the variable β tends to zero the integral action is negligible and the PI controller degenerates into a simple proportional controller. Conversely, when the variable β is large, the exponent tends to zero and the associated conventional PI controller is recovered. For that reason, the proposed controller provides step responses that range between those of proportional P and PI regulator with the same gains. Figure 4a shows the step responses with the static PI and P controller. Figure 4b shows the step responses corresponding to \(\beta\) = 0, 0.5, 1, 2, 3, 5, and 10, and the curve when \(\beta\) = 0 overlaps. The one obtained with a simple P controller. Similarly, when \(\beta\) = 10, the step response is the same as that of the static PI controller for intermediate values of \(\beta\), and the proposed controller uses the integral action for steady-state behavior, thus reducing the overshoot and avoiding fluctuation. \(\beta\) is used to define a small response speed of p(t). According to [11], there is a time delay before the end hosts detect the occurrence of congestion; some undesirable packets are sent out by sources after congestion has occurred. This may cause an unnecessary increase in p(t); a reasonable trade-off is chosen as \(\beta\) = 2.

Fig. 4
figure 4

Step response a with static PI and P controller and b with VSPI correspond to \(\beta\) = 0, 0.5, 1, 2, 3, 5, and 10

5 Simulation Results and Discussion

This section discusses the performance of VSPI-AQM. Extensive simulations are conducted using Network Simulator 2 (NS–2) [13], PI [11] to validate and compare PI with the proposed AQM. For the PI controller, default parameters in NS–2 [12] a = 0.00001822, b = 0.00001816 and sampling frequency w = 170 are used. Note that, certain defaults parameters are generally used in the studies of AQM schema and the parameters of VSPI-AQM are set as discussed later. The stabilization of the instantaneous queue size at a target value is one of the key performance indexes to evaluate AQM. If the instantaneous queue can be regulated to remain close to a desirable target, then an increased demand can be achieved to use the internet for high speed and delay sensitive application with differing quality of service (QoS) requirements, particularly when the queue length target is achieved independent of traffic condition [14, 15].

5.1 Network Topology

Figure 5 shows that the single bottleneck link lies between two routers R1and R2 with a capacity of 15 Mbps, and delay of 80 ms whereas the other links are assumed to have sufficient capacity to carry their traffic. Router R1 uses the PI controller and VSPI controller whereas the other routers use Droptail. The packet size is 1000 bytes, the buffer size is 900 packets, and the target queue length is set to 200 packets. All the upper applications of TCP have continual file transfer protocol (FTP) application, and the time of simulation is 200 s.

Fig. 5
figure 5

The single bottleneck topology

Firstly, it is tested whether VSPI can regulate the queue length around the expected target for different loads, and then the capacities and different target queue lengths are linked.

5.2 Different Loads

The instantaneous queue lengths of the AQM algorithm based on PI and VSPI with a fixed network condition for 100 and 1500 TCP connections are shown in Figs. 6 and 7. It can be seen that the typical PI controller has slow transient response and a large value of fluctuation around the target value, whereas under the VSPI controller, the queue length converges faster to the target value and has better queue length stability with small fluctuations.

Fig. 6
figure 6

Instantaneous queue length for 100 TCP connections, a PI controller and b VSPI controller

Fig. 7
figure 7

Instantaneous queue length for 1500 TCP connections, a PI controller and b VSPI controller

Table 1 presents the average queue length and standard deviation of queue length (fluctuation) for different numbers of TCP connections. The average queue length of VSPI is nearly equal to the target value in all cases, whereas the average queue length of PI varies with the change in the number of connections, and the fluctuation of VSPI is smaller than that of PI.

Table 1 Mean and Standard deviation (STD) of queue length for different number of TCP connections

5.3 Different Targets

In this case, the target value is varied from 200 packets to 50 packets and 400 packets with 500 TCP flows. The results of instantaneous queue lengths in PI and VSPI are illustrated in Figs. 8 and 9. It is also observed that VSPI can regulate the queue length around any expected target value.

Fig. 8
figure 8

Instantaneous queue length for 500 TCP connections with the queue length target of 50, a PI controller and b VSPI controller

Fig. 9
figure 9

Instantaneous queue length for 500 TCP connections with the queue length target of 400 packets, a PI controller and b VSPI controller

5.4 Different Link Capacities

In this case, the capacity is varied from 15 Mbps to 5 Mbps and 45 Mbps with 500 TCP flows. Figures 10 and 11 show the same results as noted in the previous observation.

Fig. 10
figure 10

Instantaneous queue length for 500 TCP connections with the bottleneck link capacity of 5 Mbps, a PI controller and b VSPI controller

Fig. 11
figure 11

Instantaneous queue length for 500 TCP connections with the bottleneck link capacity of 45 Mbps, a PI controller and b VSPI controller

5.5 Different Round-Trip Propagation Times

The main aim of this experiment is to examine the performance of the two schemas when the RTPT varies. In the first experiment, RTPTs are uniformly distributed between 50 and 500 ms with 500 TCP flows. Figure 12 illustrates the instantaneous lengths in PI and VSPI. VSPI still quickly regulates the queue length around the target value.

Fig. 12
figure 12

Instantaneous queue length for 500 TCP connections with RTT distributed randomly between 50 and 400 ms for a PI controller and b VSPI controller

5.6 Variation in Traffic Load

This experiment aims to examine the performance of the two schemas of AQM. When the number of TCP flows varies, and there are 600 TCP flows, FTP is divided into two groups; furthermore, each group of FTP starts every 100 s. In this case, the purpose is to observe the queue variance after 100 s, and evaluate the instantaneous queue length in PI and VSPI, since there are sudden traffic changes every 100 s. Figure 13 shows the comparison of the performance of AQM based on PI and VSPI. Although there is a heavy traffic change at 100 s, VSPI still quickly regulates the queue length to around the expected target value and effectively shortens the buffer overflow. On the contrary, there is worse stability and robustness to varying loads and longer buffer overflow in the PI schema.

Fig. 13
figure 13

Instantaneous queue length with the load–varying network parameters, a PI controller and b VSPI controller

5.7 TCP Connections Mixed with UDP Flows

These experiments aim to examine the robustness of each schema owing to disturbances caused by the UDP burst connection. In the first experiment, 500 TCP connections are mixed with 100 UDP flows, and in the second experiment, they are mixed with 400 UDP flows. The RTPTs of TCP connections are uniformly distributed between 50 and 500 ms, and the propagation delay of all the UDP flows is uniformly distributed between 40 and 400 ms. Each of the UDP sources follows an exponential ON/OFF traffic model, the idle and burst times have a mean of 0.5 s and 1 s, respectively. The packet size is set to 500 bytes, and the sending rate during ON time is 64 kb/s. Figures 14 and 15 present the queue lengths as they vary with time, and the results demonstrate the robustness and stability of VSPI.

Fig. 14
figure 14

Queue length variations for 500 TCP connections adding 100 UDP flows, a PI controller and b VSPI controller

Fig. 15
figure 15

Queue length variations for 500 TCP connections adding 400 UDP flows, a PI controller and b VSPI controller

6 Conclusion

In this study, a novel active queue management (AQM) regulator called variable structure proportional–integral (VSPI) is designed where the proportional action prevailing in the transient stage is explicitly considered. A linear input time delay system, which describes a transfer control protocol (TCP)/AQM network system is transformed into a linear time-invariant system using the state predictive control. Therefore, controllers are designed for the proposed network system based on linear control theories. In order to regulate the queue length to around the desired target with a faster response rate, the contribution of the integral action is dominant in the steady stage and hence the designed VSPI controller is the linear quadratic controller with an integrator. Simulation results for the TCP/AQM network system are analyzed using Network Simulator 2 (NS–2) and also compared with those of the PI controller and the improved controller. The results verify that the VSPI controller is better than other controllers for TCP/AQM networks. Moreover, the results indicate that the improved controller is stable and robust, and it can achieve a high quality of service (QoS). For future work, we proposed the design and analysis of PI controller based on Smith predictor for enhancing the performances of the TCP/AQM network systems