A Fuzzy Logic Based Network Congestion Control Using Active Queue Management Techniques

Conventional IP routers are passive devices that accept packets and perform the routing function on any input. Usually the tail-drop (TD) strategy is used where the input which exceeds the buffer capacity are simply dropped. In active queue management (AQM) methods routers manage their buffers by dropping packets selectively. We study one of the AQM methods called as random exponential marking (REM). We propose an intelligent approach to AQM based on fuzzy logic controller (FLC) to drop packets dynamically, keep the buffer size around desired level and also prevent buffer overflow. Our proposed approach is based on REM algorithm, which drops the packets by drop probability function. In our proposal we replace the drop probability function by a FLC to drop the packets, stabilize the buffer around the desired size and reduce delay. Simulation results show a better regulation of the buffer.


Introduction
Active queue management (AQM) techniques [1][2][3] provide mechanisms to control the queue length (i.e. the number of packets in a router's buffer) by actively discarding arriving packets before the router's buffer becomes full.For instance, one of typical AQM mechanisms [4][5][6][7] called random early detection (RED) [8,9] randomly drops an arriving packet with a probability proportional to its average queue length.However, it is known that RED's effectiveness is heavily dependent on the setting of its control parameters.Moreover, another problem that the average queue length of RED in steady state depends on the number of active TCP connections [10,11].Hence, in the literature, several variants of RED-H ERED (exponential RED) [12], RED (gentle RED) [13], DRED (dynamic RED) [14] and SRED (Stabilized RED) [15] have been proposed for solving the problems of RED.
To address these problems, it is necessary for an AQM algorithm to have a more efficient congestion indicator and control function.To avoid or to control congestion proactively before it becomes a problem, both the congestion indicator and the control function of an AQM algorithm should be adaptive to changes in the traffic environment such as the amount of traffic, the fluctuation of traffic load, and the nature of traffic.
Two adaptive and proactive AQM algorithms [16], proportional-integral-derivative (PID)-controller and the pro-active queue management (PAQM) [18], have been proposed to detect and control the incipient as well as the current congestion effectively and proactively.The goal of these algorithms is to control congestion proactively, to make the queue length agree with a desired level and to give smooth and low packet loss rates to each flow so as to remove the bias against bursty sources.
In this paper we use fuzzy logic controller (FLC) to design active queue management of IP networks, because fuzzy control does have better suitability to dynamic network environment without need for a precise model.There have been some fuzzy-based control algorithms for buffer management under ATM networks.The fuzzy control in our proposal is a static algorithm with static fuzzy rule and static parameters in membership functions.
This paper is organized as follows: in section 2 we discuss the random exponential marking (REM) algorithm, in section 3 we present an overview of fuzzy logic controller, in section 4 the details of our algorithm (FREM), in section 5 simulation study and analysis.Finally some conclusions and future works are given out in section 6.

REM Algorithm
REM attempts to obtain high utilization, low loss, and low queuing delay.The key insight is that REM [9,18] uses a congestion measure called price that is decoupled form performance measures such as packet loss or queue length [14].REM periodically samples the router queue and updates the congestion measure to reflect any mismatch between packet arrival and departure rates at the link (i.e., the difference between the demand and the service rate), and any queue size mismatch (i.e., the difference between the actual queue length and its target value ).Given the k samples of the router queue and the mismatch between packet arrival and departure rate, the congestion measure at time kT is computed by [18]: Target queue reference for the instantaneous queue.
α and γ Constants for computing the "congestion price" φ Constant for computing the mark or drop probability T Sampling interval for the instantaneous queue When there is a positive rate mismatch, i.e., the packet arrival rate is higher than the link capacity, over a time interval, more packets are backlogged at the router and cause the router queue to increase.Conversely, a negative rate mismatch over a time interval will drain the queue.Thus, REM can be detecting the rate mismatch by comparing the instantaneous queue length with its previous sampled value.

Overview of Fuzzy Logic Controller (FLC)
Fuzzy logic controllers, like expert systems, can be used to model human experiences and human decision making behaviors [17].In FLC the input-output relationship is expressed by using a set of linguistic rules or relational expressions.A FLC basically consists of four important parts including a fuzzifier, a defuzzifier, an inference engine and a rule base.As in many fuzzy control applications, the input data are usually crisp, so a fuzzification is necessary to convert the input crisp data into a suitable set of linguistic value that is needed in inference engine.Singleton fuzzifier is the general fuzzification method used to map the crisp input to a singleton fuzzy set.In the rule base of a FLC, a set of fuzzy control rules, which characterize the dynamic behavior of system, are defined.The inference engine is used to form inferences and draw conclusions from the fuzzy control rules.Fig. 1 shows the fuzzy logic controller architecture.The output of inference engine is sent to defuzzification unit.Defuzzification is a mapping from a space of fuzzy control actions into a space of crisp control actions.Suppose the FLC has n input variables including .The input vector X is defined as .
Furthermore, suppose the rule base consists of K rules with the following general form: where in the rule and are fuzzy sets of linguistic variables and y, respectively.The output f(X) of this fuzzy controller with singleton fuzzifier, product inference engine and center-average defuzzifier can be calculated as [17]: ) ( where is the center value of the output fuzzy set , in the rule.
is the membership function for fuzzy sets.In our proposed model we use two input variables to fuzzy controller which present the congestion measures for the current and previous time intervals and the output will be the drop probability value.

Fuzzy Random Exponential Marking (FREM)
Our algorithm FREM based on congestion measure's variable for REM algorithm, this variable call Price as we explained it in the section II, we will use this variable as input variable to fuzzy controller during two time intervals, current and previous sampled value.
In our algorithm we have two input variables, once for the current time sample and once for the previous time sample , based on these two inputs values the controller will decide the packet drop probability value (DPV) which presents the output for fuzzy controller.In order to calculate the packet drop probability value according to fuzzy logic controller (FLC) we need to define fuzzy sets, membership functions, and fuzzy control rules.In the following we will first present the full details of FLC components.The control symbol used in FREM is only price variable, which needs to be fuzzified firstly and so we should define the term set for it.In this paper we use to represent the level of congestion in the current time sample and to represent the level of congestion in the previous time sample.The term set of input linguistic variable can be defined as: Similarly for : The following equations used to calculate price periodically for the current time sample [8]: Similarly for the previous time sample: (7) where γ > 0 and α l > 0 are small constants, and [ .Here, is the aggregate buffer occupancy at queue l in period t and b is target queue length, is the aggregate input rate to queue in period t, and c is the available bandwidth to queue l in period t.The difference x measures rate mismatch and the difference b measures queue mismatch.The term set of output linguistic variable drop probability value (DPV) can be defined as: ) t The membership functions for the fuzzy inputs are given below figures 2 and 3. (Note that a triangular distribution is assumed for ease of computation and can be changed depending on the choice of the designer).The Rule Base component contains a set of If-Then rules that is the basis for the decision making process of the inference mechanism.This set of rules is designerdependent and can be modified to provide better performance.For example, where "DPV" generated by the fuzzy controller due to the combination of inputs.The following rule bases Table 2 summarizes all of the outputs generated by the fuzzy controller.
The inference engine is a two-step process that outputs the certainty that the input to the AQM controller should take on various values.The first step is to determine which sets of rules apply to the most current situation.This process involves determining the certainty that each rule applies and is highly variable depending on the choice of the   In defuzzification component we use the center of average to calculate the output value for fuzzy controller which presents the packet drop probability value (DPV), by using Eq.(3).

Simulation Study and Analysis
In this section, we compare the control performance of our fuzzy AQM algorithm (FREM) with existing AQM proposals that support fixing of a desired queue length value such as PID-controller and random exponential marking (REM) via simulation study over a wide range of traffic environments using NS-2 [20].

Simulation setup
We use a simple bottleneck network topology as shown in Fig. 4. The network consists of two routers, R1 and R2, with n TCP/Reno sources and n logically connected destinations.All TCP connections are connected to routers, R1 and R2, with link speeds 100 Mbps.The propagation delay is generated randomly.The bottleneck link between R1 and R2 is assumed to have a link speed of 0.7 Mbps and propagation delay 20 ms, all sources and destinations are assumed to use drop tail queue management with sufficient buffer capacity.The buffer at the bottleneck uses some AQM algorithm for example FREM and has capacity of 200 packets and the desired queue length value is set to 80 packets.Each packet is assumed to have an average size of 512 bytes.We considered only a single type of traffic flow (long-lived FTP flows), since each proposed AQM proposal is only good for a particular traffic condition; not for realistic IP traffic nor heterogeneous traffic environment.We specify simulation time 100 sec.

Performance metrics: The queue length
Control performance of an AQM algorithm can be measured by two measures: the transient performance (i.e., speed of response) and the steady-state error control (i.e., stability).We use the instantaneous queue length as a performance metric for the transient performance.For the steady-state control performance, we use the quadratic average of control deviation (QACD) [19] defined as: where is the desired queue length, Q is the i sampled queue length, i

Analysis of control performance
We examine the sensitivity of control performance of our FREM AQM algorithm, PIDcontroller and REM AQM algorithms.

Sensitivity to traffic load
We examine the control performance in terms of queue length, packet loss, delay and throughput under three different traffic load conditions i.e., number of sources (n = 100, 200 and 300).

The steady-state control performance
The steady-state control performance of FREM, REM and PID-controller can be evaluated in terms of QACD at three different traffic load levels: 100, 200, 300 flows.Table 3 shows the mean of QACD of the AQM algorithm respectively under three different traffic load levels for FREM, REM and PID-controller.FREM and PID controllers show robust steady-state control performance independent of traffic load levels in terms of relatively small mean for the QACD.However, the steady-state control performance of REM algorithm is highly dependent on traffic load level.The steady-state control error of REM algorithm is much higher than those of FREM algorithm and PID controller for all traffic load levels.Table 4 shows summary of average rates of delay of AQM algorithms under several traffic load levels.Our algorithm reduces the delay compared to traditional REM algorithm.capacity) and queue mismatch (i.e., difference between queue length and target) for current time interval and pr t for previous time interval.Our scheme stabilizes the queue length to the desired value and reduces the delay compared to traditional REM algorithm.The disadvantage of our scheme is that there is more packet loss.Our schemes show robust steady-state control performance independent of traffic load levels in terms of relatively small mean for QACD [19].However, the steady-state control performance of REM algorithm is highly dependent on traffic load level.Our scheme is based on output link capacity to calculate the inputs pr t+1 and pr t .So we need manual re-configuration of fuzzy logic controller based on the output link capacity.To configure or adapt the fuzzy controller dynamically to the network topology and traffic conditions, we need another controller such as PID-controller.

Fig
Fig. 2. The membership functions for ) 1 ( + t p l .Fig. 3.The membership functions for .) (t p l the number of inputs to the fuzzy controller.The second step of the Inference Mechanism is to determine which conclusion should be reached when the rules that are "ON" are applied to decide what should be the drop probability value to the controller should be.

Figs. 5 ,Fig. 5 .
Figs. 5, 6 and 7 show the queue length dynamics of FREM and REM respectively under 100, 200 and 300 sources.FREM shows good control performance independent of traffic load levels in terms of queue length dynamics around packets.Traditional REM algorithm fails to maintain the queue length around Q .80 = ref Q ref

Fig. 6 .
Fig. 6.The queue length of FREM and REM for 200 sources.

Fig. 9 .
Fig. 9.The queue length of FREM and PID for 200 sources.

Fig. 10 .
Fig. 10.The queue length of FREM and PID for 300 sources.

Table 2 .
Summary of all the outputs generated by the fuzzy controller.

Table 3 .
Summary of mean of QACD of AQM algorithms (packets).

Table 4 .
Summary of average delay rates of AQM algorithms in "ms".