[studies in computational intelligence] computational intelligence for modelling and prediction...

18
CHAPTER 21 Fuzzy Congestion Control In Packet Networks Tapio Frantti 1 Technical Research Center of Finland. Kaitov¨ ayl¨ a 1, PL 1100, 90571, Oulu, Finland [email protected] Abstract: In this paper an adaptive fuzzy congestion control solution for active queue man- agement in packet switched networks which use TCP to solve end-to-end flow control is de- scribed. It supports end-to-end control for packet data traffic between intermediate nodes, such as routers, in the network. In the presented solution, a fuzzy controller with an adaptive fuzzy membership function generation and tuning procedure and a multilevel hierarcical decision making method regulates the rejection probability of received packets on intermediate nodes to prevent buffer overflow and the rejection of all transmitted packets during congestion. In the simulations we compared a fuzzy controller with a fixed shape of membership functions with the fuzzy controller with adaptive membership functions. Membership functions were updated according to the incoming traffic in order to keep the equation form rule base as sim- ple as possible. The simulation results showed that the developed adaptive control algorithm decreased the packet loss rate with a lower occupation of the buffer and increased the link utilisation via decreasing the retransmission rate more effectively. Keywords: active queue management, congestion control, fuzzy control 1 Introduction Communication networks like the Internet provide unreliable, connectionless, packet delivery at the lowest levels of communication. Therefore, packets can be lost or destroyed due to trans- mission errors, network hardware failure, or too heavy traffic loads. Moreover, these networks can deliver packets out of order, with substantial delay, or deliver duplicates. A network may also dictate an optimal packet size or pose other constraints. The Internet also has two independent flow problems. First, internet protocols need end- to-end flow control and secondly, they need a mechanism for intermediate nodes (like routers) to control the amount of traffic (congestion control). Congestion is a condition of severe de- lay caused by the overload of datagrams at routers. Usually congestion can arise from two different causes: a high-speed computer may generate traffic faster than a network can trans- fer it or many computers send datagrams simultaneously through a single router. Hence, if a router has insufficient memory to hold the received datagrams, congestion follows. Adding memory may temporarily help, but it has been pointed out (see [9]) that an infinite amount of T. Frantti: Fuzzy Congestion Control In Packet Networks, Studies in Computational Intelligence www.springerlink.com c Springer-Verlag Berlin Heidelberg 2005 (SCI) 2, 291–308 (2005)

Upload: lipo

Post on 28-Mar-2017

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

CHAPTER 21

Fuzzy Congestion Control In Packet Networks

Tapio Frantti1

Technical Research Center of Finland. Kaitovayla 1, PL 1100, 90571, Oulu, [email protected]

Abstract: In this paper an adaptive fuzzy congestion control solution for active queue man-agement in packet switched networks which use TCP to solve end-to-end flow control is de-scribed. It supports end-to-end control for packet data traffic between intermediate nodes, suchas routers, in the network. In the presented solution, a fuzzy controller with an adaptive fuzzymembership function generation and tuning procedure and a multilevel hierarcical decisionmaking method regulates the rejection probability of received packets on intermediate nodesto prevent buffer overflow and the rejection of all transmitted packets during congestion. Inthe simulations we compared a fuzzy controller with a fixed shape of membership functionswith the fuzzy controller with adaptive membership functions. Membership functions wereupdated according to the incoming traffic in order to keep the equation form rule base as sim-ple as possible. The simulation results showed that the developed adaptive control algorithmdecreased the packet loss rate with a lower occupation of the buffer and increased the linkutilisation via decreasing the retransmission rate more effectively.

Keywords: active queue management, congestion control, fuzzy control

1 Introduction

Communication networks like the Internet provide unreliable, connectionless, packet deliveryat the lowest levels of communication. Therefore, packets can be lost or destroyed due to trans-mission errors, network hardware failure, or too heavy traffic loads. Moreover, these networkscan deliver packets out of order, with substantial delay, or deliver duplicates. A network mayalso dictate an optimal packet size or pose other constraints.

The Internet also has two independent flow problems. First, internet protocols need end-to-end flow control and secondly, they need a mechanism for intermediate nodes (like routers)to control the amount of traffic (congestion control). Congestion is a condition of severe de-lay caused by the overload of datagrams at routers. Usually congestion can arise from twodifferent causes: a high-speed computer may generate traffic faster than a network can trans-fer it or many computers send datagrams simultaneously through a single router. Hence, if arouter has insufficient memory to hold the received datagrams, congestion follows. Addingmemory may temporarily help, but it has been pointed out (see [9]) that an infinite amount of

T. Frantti: Fuzzy Congestion Control In Packet Networks, Studies in Computational Intelligence

www.springerlink.com c© Springer-Verlag Berlin Heidelberg 2005(SCI) 2, 291–308 (2005)

Page 2: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

292 T. Frantti

memory will make congestion even worser. This is due to the fact that datagrams have alreadytimed out before getting out of the queue, leading to duplicates. The datagrams will also beforwarded to the next intermediate node thus increasing the load all the way to the destina-tion. Slow processors on the routing devices can also lead to congestion. The bookkeepingtasks of routers (queueing buffers, updating tables) cause queues if the line capacity exceedsprocessing capacity (a mismatch between the parts of the system). This problem will persistuntil all the parts are in balance, but this equal capacity makes gradual updates of the networkdifficult due to the renewal of all parts of the system at the same time. Moreover, congestionfeeds itself and becomes worse. With a lack of buffer space, a router has to discard arrivingdatagrams, leading to retransmission after time-out on the transmitting node, which can notdiscard datagrams before acknowledgement.

Flow control is related closely to the point-to-point traffic between a sender and a receiver.It guarantees that a fast sender can not continually send datagrams faster than a receiver canabsorb them. Hence, congestion control can be considered more as a global issue wheres flowcontrol is more a point to point issue with some direct feedback from the receiver to the sender.

The transmission control protocol (TCP) solves end-to-end flow control with a slidingwindow scheme, but it does not have a mechanism for congestion control1. However, a care-fully programmed TCP implementations can detect and recover from congestion while a poorimplementation can even make it worse [2]. Endpoints do not usually have the details aboutcongestion and its reasons. Routers, on the other hand, use techniques like ICMP (InternetControl Message Protocol) to inform hosts that congestion has occured.

In this chapter we present an adaptive fuzzy congestion control solution for active queuemanagement in networks which use TCP to solve end-to-end flow control. Therefore, weorganised the rest of the chapter as follows. Section 2 introduces the principles of congestioncontrol, admission control, congestion prevention datagrams and load shedding. In Section 3the TCP and congestion control issues are presented. Then Section 4 introduces the activequeue management (AQM) scheme. In Section 5 fuzzy techniques are presented and Section 8describes the developed fuzzy model. Section 7 explains an on-line tuning method for queuecontrol and in Sections 9 and 10 the developed simulation system model and achieved resultsare presented, respectively. Finally, conclusions are drawn in Section 11.

2 Principles of Congestion Control

Solutions to congestion control problems can be divided into two main categories, i.e., openloop and closed loop solutions. In the former, problems are attempted to be solved beforehandby good design whereas the latter solutions are based on feedback information. Open loopcontrol includes rules of acceptance for incoming traffic and rules for the discard of datagramsas well as scheduling decisions. In open loop control, the decisions are made without informa-tion about current network state. Closed loop control, on the other hand, has three congestioncontrol related parts namely traffic or system monitoring to detect when and where congestionoccurs, the transfer of information to places where an action should happen, and adjustmentof the system accordingly [17].The occurence of congestion can be identified via monitoring different kinds of metrics, likedefining the percentage share of discarded datagrams, average queue lengths, the percentage

1 For example, the basic Tahoe TCP implementation linearly increases its rate with no lossand exponentially decreases its rate when congestion is detected.

Page 3: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

Fuzzy Congestion Control In Packet Networks 293

share of datagrams that are timed out and are retransmitted, and the average value and vari-ance of datagram delay. A natural step after the monitoring and identification of congestion isto transfer information from the congested places to places where control actions can be per-formed. A host or routers can also periodically send so called probe datagrams to get explicitinformation about congestion via feedback. The purpose of the feedback information is that ahost can take appropriate actions (like to decrease its transmission rate) to reduce congestion.However, information delevery increases the load of the already congested network.

According to the taxonomy of Yang and Reddy 1995 [3] the open loop control algorithmscan further be divided into ones that act on the source and ones that act on the destination. Theclosed loop algortihms can be divided to implicit and explicit feedback algorithms. In explicitalgorithms datagrams are sent back from intermediate nodes to warn the source whereas inimplicit algorithms the source has to deduce the existence of congestion via local observations,such as round-trip delay times.

As stated above congestion occurs when the load on the network is temporarily greaterthan its resources. Therefore, in a congestion state one can either increase resources (increasebandwidth, split traffic via multiple routes, put backup devices on line) or decrease load (deny-ing and/or degrading services).

One of the main reasons for congestion is bursty traffic. Traffic shaping is commonly usedto regulate the average rate (and burstiness) of data transmission. It decreases congestion andhelps with quality of service (QoS) requirements. Congestion situations can also be affectedvia the right kind of prevention policies, like retransmission, acknowledgement, flow control,out-of-order datagram discard, queueing and service policies, as well as datagrams lifetimemanagement and routing algorithms [17].

2.1 Admission Control

Admission control is a widely used way to prevent congestion from getting worse. In it, aftercongestion has been signalled out, no more connections or virtual circuits are allowed to be setup until the congestion has gone away. It is not only crude but also a simple and robust method.In packet switched networks it is also possible to allow new virtual circuits by routing trafficvia different, uncongested routes. Another alternative solution is to negotiate an agreementbetween the hosts and network during the connection set up by specifying the volume andshape of the traffic as well as the quality of the service requirements. This, however, is not anoptimal solution for bandwidth usage, i.e., it tends to waste network resources because all thenecessary resources are guaranteed to be available.

2.2 Congestion Prevention Datagram

Routers on the network can monitor their output line utilisation. Hence, whenever the utilisa-tion of a line approaches a specified threshold level, the router transmits choke datagrams tothe sources in order to give warning signals to them. The source nodes or hosts are requiredto reduce their transmission rate to the specified destionation by n percentage. Another sug-gested paradigm for congestion prevention is weighted fair queueing, where a router selectsdatagrams from multiple queues in a round robin way to the idle output line. Router weightsmore bandwidth to some services than to other ones. Hence, the name of weighted fair queu-ing.

Page 4: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

294 T. Frantti

2.3 Load Shedding

If the congestion does not disappear without preventive actions, routers can throw away data-grams they can not handle. It can be done it either randomly or in a rational way, for example,for a file transfer the drop of a newer one is more rational than of an older one due to acknowl-edgement and retransmission procedures. On the contrary, in real-time data transfer newerones are more valuable than older ones. In the same way, for many applications some data-grams are more valuable than others. However, this requires the applications to mark theirdatagrams in priority classes to indicate their importance.

3 TCP and Congestion Control

The transmission control protocol (TCP) provides the interface2 and control mechanism fortraffic in TCP/IP networks3. TCP is a connection-oriented protocol, i.e., both connection end-points have to agree to participate. It is based on a fundamental technique known as positiveacknowledgement with retransmission, which requires a recipient to communicate with thesource using ackmowledgement (ACK) messages as it receives data. The sender keeps recordof each packets sent and waits for an ACK before sending the next packet. It also starts atimer after transmission and retransmits a packet if the timer expires. In order to adapt tovarying delays in an Internet environment, TCP uses an adaptive retransmission algorithmthat monitors delays in each connection and adjusts its timeout parameter accordingly. How-ever, a simple posive ACK protocol is very inefficient because it must delay sending a newpacket until receiving an ACK for the previous one. Therefore, the concept of a sliding win-dow was developed to make stream transmission more efficient. It simply allows a sender totransmit multiple packets before waiting for an ACK, i.e., when the window size is exhausted,the transmitting source has to wait for an ACK before sending a new packet. A well tunedsliding window protocol keeps the network completely saturated with packets, thus obtainingsubstantially higher throughput than a simple positive ACK protocol. Therefore, it increasestransmission efficiency and solves the flow control problem [2].

TCP allows the window size to vary over time according to the traffic density. The ACKincludes a window advertisement that informs the number of additional octects of data thereceiver is prepared to accept, i.e., it specifies the receiver’s current buffer size.

The TCP implementations like Tahoe, Reno and Vegas differ in window management.The basic Tahoe TCP implementation linearly increases its rate with no loss and exponen-tially decreases its rate when congestion is detected. In the Reno TCP implementation, tworefinements, fast recovery and congestion avoidance, are designed to recover from loss moreefficiently. In the first refinement, the window size is frozen when detecting a loss througha duplicate ACK. It allows a source to increase its window size by one upon receiving eachduplicate ACK, because each duplicate ACK signals that a packet has left the network. Thesecond refinement sets the window size to half of its value and the protocol enters the conges-tion avoidance phase directly. Therefore, slow-start is entered very rarely (only when a lossis detected by timeout). The new Reno implementation uses loss as a measure of congestionand this information is indirectly fed back to the source node through a DropTail queueing

2 The TCP specification does not dictate the details of the interface between the applicationprograms and TCP. TCP is usually implemented in the computer’s operating system andprogrammers can employ whatever interface the operating system supplies.

3 Actually TCP is an independent, general purpose protocol [2].

Page 5: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

Fuzzy Congestion Control In Packet Networks 295

dicipline that drops an arrival to a full buffer. In the DropTail mechanism a severe problemmight occur when the datagrams traveling through a router carry segments from many TCPconnections because the drop-tail then causes global synchronisation (it discards one segmentfrom n connections rather than n segments from one connection). In the TCP Vegas implemen-tation a source adjusts its rate based on the queueing delay. Queueing information is updatedby the first-in-first-out buffer process and fed to the source implicitly through round-trip timemeasurements [14].

4 Active Queue Management

TCP is insufficient for high quality of service (QoS) support due to the limited control abilityof end-points (Figure 1). Therefore, routers need a separate congestion avoidance mechanism,such as active queue management (AQM) with a built-in packet dropping/marking mecha-nism [1]. In the AQM scheme the routers explicitly or implicitly feedback the congestion toeach other by dropping or marking packets in the router queues. Hence, the end-nodes reactto it by reducing the amount of data transmitted. The targets of it are to reduce the averagequeue length in routers, decrease the end-to-end delay and reduce the packet loss probabilityby preventing buffer overflows. These ensure the efficient use of network resources.

By keeping the average queue size small, AQM also has the ability to accommodate burstytraffic without dropping packets. It emphesizes also the tradeoff between delay and throughput.Traditional methods, like ’drop packets on the front of full buffer’ or ’randomly drop packetson the front of full buffer’ are useful when a sub-set of the flow sharing the link monopolizesthe queue during the congestion. However, these kinds of solutions can not fully solve thequeueing problem [5].

RED (Random Early Discard/Drop/Detection) is an alternative AQM strategy to generatethe congestion measure. It is especially used to avoid global synchronisation. RED maintainsan exponentially weighted queue length and drops packets with a probability that increaseswith the average queue length. The operation of RED can be described by following rules [2]:

- if queue contains fewer than Tmin datagrams, add new one to the queue- if queue contains more than Tmax datagrams, discard the new one- if queue contains datagrams between Tmin and Tmax, randomly discard datagram with a

probability p.

Therefore, in [2] the RED policy for routers has been summarized as: if the input queueis full when a datagram arrives, discard the datagram; if the input queue is not full but thesize exceeds a minimum threshold, avoid synchronisation by discarding the datagram withprobability p. The computation of the probability p is the most complex task of RED. It isdefined for each datagram and its value depends on the current queue size and the thresholdvalues. However, it make sense to measure the queue size in ocetes instead of datagramsbecause it makes the discard propability proportional to the amount of transmitted data andhence small datagrams, like ACKs, have a lower discard probability than large datagrams.

One deficiency of the AQM methods is their probabilistic nature. Reliable multicasting,for example, persuades to develop protocols that incorporate redundant information to reduceor eliminate retransmission and one simple scheme is to send reduntant datagrams. Instead ofsending a single copy of each datagram, the source node sends n copies. This increases thetraffic load on the network. In order to tackle this, routers should check sequence numbers ofreceived datagrams and first discard duplicates in a congestion situation.

Page 6: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

296 T. Frantti

TCP/IP flow

a. ) wireline

b.) wireless

TCP/IP flow

end-node end-node

wireless terminals

wireline network

TCP/IP flow

acknowledges

acknowledges

acknowledges

buffer

router

buffer

router

gatewayrouter

buffer

Fig. 1. The traffic flow between the routers and end-nodes in an a.) wireline and b.) wirelessenvironment.

In [8] authors have analysed and very thoroughly researched the stability effects of wire-line network parameters by considering the network as a linear and constant system. Based onthe stability analysis, they designed a proportional integral (PI) controller for AQM. Anotherpaper [5] considers that the linear and constant system assumption is problematic, inaccu-rate and unrealistic because the actual network has many degrees of freedom. Therefore, theyrepresent the AQM algorithm based on fuzzy control theory. They claim and prove via experi-ments that a fuzzy controller is very useful in complex and time-varying networks because thefuzzy controller is independent of the mathematical model of the control plant.

In this chapter we enlarge the view of [5] by representing a fuzzy controller with an adap-tive fuzzy membership function generation and tuning procedure and a multilevel hierarcicaldecision making method in order to adapt to the incoming traffic. The procedure makes itpossible to use very small buffer sizes in very bursty conditions without buffer overflows thusdecreasing end-to-end delay, reducing packet loss probability and increasing the link utilisa-tion degree.

5 Adaptive Fuzzy Queue Controller

5.1 Fuzzy Set Theory and Fuzzy Logic

Fuzzy set theory was originally presented by Lotfi Zadeh in his seminal paper ”FuzzySets” [19]. Fuzzy logic was developed later from it to reason with uncertain and vague in-formation and to represent knowledge in an operationally powerful form. The name fuzzy setsis used to distinguish them from the crisp sets of the conventional set theory. The characteristicfunction of a crisp set C, µC(u), assigns a discrete value (usually either 0 or 1) to each ele-ment u in the universal set U. The characteristic function can be generalized so that the values

Page 7: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

Fuzzy Congestion Control In Packet Networks 297

assigned to the elements u of the universal set U fall within a prespecified range (usually tothe unit interval [0, 1]) indicating the degree of membership of these elements in the set. Thegeneralized function is called a membership function and the set defined with the aid of it is afuzzy set, respectively.

Standard operations of fuzzy set theory for the handling of fuzzy sets are complement,union (S-norm) and intersection (T-norm). More information about standard operations andother fuzzy set theoretical operations can be found, for example from reference [12], whichcovers the topic thoroughly.

5.2 Inference of the Grade of Membership

In systems, where the knowledge would be expressed in a linguistic form, a language-orientedapproach can be used in model generation. Conventional control engineering uses mathemat-ical models of a system and its inputs and outputs in order to design and analyse controlpolicy. In fuzzy control engineering fuzzy sets and reasoning are used to derive control ac-tions. The fuzzy control engineering approach is especially useful for systems with no precisemathematical model or where model derivation is laborious and for systems where most ofthe information is in qualitative form. Here the creation of a precise mathematical model wasconsidered to be very difficult because of the very non-linear nature of networks with severaldegrees of freedom. Therefore, we choose the fuzzy control based linguistic approach as afaster and more accurate modelling method for active queue management. The aim was toreduce the average length of the queue in routers, decrease the end-to-end delay and reducethe packet loss probability via the adaptive fuzzy controller.

The main idea of fuzzy modelling is the use of an expert’s knowledge for the rule basecreation. Rule base is usually presented with linguistic conditional statements, i.e., if-thenrules. However, in this paper we present rule bases (we have in this application two rule basesbecause of two level hierarchical reasoning) in the matrix form (see more details below andfrom the [10], [7]).

Reasoning can be done either using composition based or individual based inference. Inthe former all rules are combined into an explicit relation (describes the degrees of associationsbetween fuzzy sets given in a linguistic form) and then fired with a fuzzy input whereas inthe latter rules are individually fired with a crisp input and then combined into one overallfuzzy set. Here we used individual based inference with Mamdani’s implication [4] in bothreasoning levels of our model. The main reason for the choice was that it is easier to implement(the results are equivalent for both methods when Mamdani’s implication is used).

In individual based inference the grade of membership of each fired rule can be formedby taking the T-norm (see [12] for more details) value from the grades of membership of theinputs for each fired rule. Its definition is based on the intersection operation and the relationRc (c for conjunction defined by the T-norm)

µRc(x,y) = min(µA(x),µB(y)), (1)

where x and y denote input variables whereas A and B are meanings of the x and y, respectively[4]. The meaning of the whole set of rules is given by taking the S-norm (see [12] for moredetails) value of the grade(s) of membership from the rules with the same output value to forman output set with only linguistically different values.

In this application, the result of the first hierarchical level is the input to the second level ofreasoning. The advandage of hierarchical reasoning is the reduction of the number of rules inthe rule bases, the number of rules will increase linearly with the number of system variablesand not exponentially as in conventional systems [16]).

Page 8: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

298 T. Frantti

5.3 Linguistic Equations

In the framework of linguistic equations a linguistic model of a system can be described bygroups of linguistic relations [10]. The linguistic relations form a rule base of the systemthat can be converted into matrix equations. Suppose, as an example, that Xj, j = 1,..., m(m is an uneven number), is a linguistic level (e.g., negative big, negative small, zero, pos-itive small, and positive big) for a variable. The linguistic levels are replaced by integers−( j−1)

2 , ...,−2,−1,0,1,2, ...,( j−1)

2 . The direction of the interaction between fuzzy sets is pre-sented by coefficients Ai {−1,0,1}, i = 1,..., m. This means that the directions of the changesin the output variable decrease or increase depending on the directions of the changes in theinput variables [11]. Thus a compact equation is:

m

∑i, j=1

Ai jXj = 0. (2)

The mapping of linguistic relations to linguistic equations is described in Figure 2.

ze

ze

ze

ze

ze

ps ps ps

ps

ps

ps

pb

pbns

ns ns

ns

ns

ns ns

ns

nb

nb nb nb

nb

nb

ns

ns

ze

ze

ps

ps

pb

pb

linguistic levels linguistic levels

=>

-2 -1 0 1 2

-2

-1

0

1

2 41210

-1 0 1 0 3

-2 -1 -11 2

-3 -2 -1 -2 1

-4 -3 -2 -3 0

interaction coefficients

interaction coefficients

1 1 1 -1 1

1

1

1

1

1

Fig. 2. The mapping of linguistic relations to linguistic equations.

6 Network Traffic Model

In the literature ( [13], [15], [18]) it has been shown that Ethernet LAN traffic is statisti-cally self-similar (time-scaled discrete or continuous time processes have similar patterns, i.e.,the process in a larger scale is a copy of itself in smaller scales) and that none of the com-monly used traffic models is able to model this fractal-like behaviour. Moreover, in [13] ithas also been claimed that such a behaviour has serious implications for the design, control,and analysis of high-speed, cell-based networks, and that aggregating streams of such traffictypically intensifies the self-similarity (burstyness) instead of smoothing. On the other hand,it is a well-known truth that telecommunication traffic in traditional circuit-switched networks

Page 9: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

Fuzzy Congestion Control In Packet Networks 299

obeys a Poisson distribution. One should also note that in the case of packet switched voiceapplications (e.g., VoIP) the Poisson process model can be a reasonable approximation. There-fore, the simulation model, which was developed to rigorously test the adaptive active queuemanagement scheme on the routers, uses Pareto4 distributed traffic and interval times for theevaluation of the developed adaptive fuzzy queue management for non-voice data traffic inpacket-switched networks and Poisson distributed traffic and exponentially distributed intervaltimes for the evaluation of queue management for VoIP traffic in packet-switched networks.

A Pareto distribution has the following probability density function:

Ppareto(x) =αbα

xα+1 ,x ≥ b (3)

where α is a shape parameter and b is minimum value of x. The mean value of a Paretodistribution is

E(x) =αb

α−1(4)

For self-similar traffic α should be between one and two. When α ≤ 2, the variance of thedistribution is infinite. The formula to generate a Pareto distribution is

XPareto =b

U1α

(5)

where U is a uniformly distributed value in the range (0,1]. For the packet trains we used thevalues 1 for b (minimum size of the packet train) and 1.5 for the shape parameter α and for thesilence periods between packet trains, 8

1518 (size of the preamble compared to the maximumsize of the Ethernet packet) for b and 1.2 for α.

A Poisson distribution, on the other hand, has the following probability density function:

Ppoisson(x,λ) =λx

x!e−λ(x = 0,1, ...) (6)

where λ is the shape parameter which indicates the mean value of the events in the given timeinterval. The formula for the Poisson cumulative probability function is:

F(x,λ) =x

∑i=0

e−λλi

i!(7)

The Poisson percent point function does not exist in simple closed form like for the Paretodistribution above. Hence, it is computed numerically and is only defined for integer values ofx.

7 On-line Tuning in Queue Control

The source data originated from the incoming traffic density on the intermediate nodes. Theproblem was to find a suitable data period for the generation of reliable and reactive member-ship functions to estimate the variability of the incoming traffic density with a very compactpacket buffer and rule base (a compact rule base is especially required for embedded systems)

4 Self-similar network traffic can be generated by multiplexing several sources of Paretodistributed packet trains with silence periods between packet trains.

Page 10: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

300 T. Frantti

to control the packet rejection probability on the routers for congestion control. The require-ment of a small packet buffer decreases the need for silicon area on circuits. With the smallerbuffer size it is also easier to design more effective microprosessor pipelines for buffer read-ing (for more sophisticated algorithms than FIFO, for example). Furthermore, the small packetbuffer necessitates an effective congestion control algorith on the routers to allow very hightraffic density on the link with a tolerable packet loss rate. A larger buffer size with fixed fuzzymembership functions absorbs to some degree the changes in incoming traffic density. How-ever, it does not limit the incoming traffic via acknowledgements as effectively as the fuzzycontroller with automatically generated fuzzy membership functions in changing traffic con-ditions. This is due to the fact that with buffer overflow all the packets have to be retransmittedand the link has not adapted to the full buffer as it smoothly does with the adaptive controller.

In the traditional approach the division of dynamic scale into fuzzy membership functionshas to be done for the worst or near worst case. Hence, the resolution of control is inadequate inbetter conditions and causes unnecessary oscillations due to queue control around the set point.Naturally, we could also define a very large dynamic scale for the variables. However, weshould then also define a very large rule base (increasing exponentially with the dynamic scalesof variables), which unnecessarily increases the complexity of the model and the amount oftesting effort (testing of consistency, continuity and interaction of a set of rules, see [4] formore details) as well as the control time of the controller. Therefore, it looks obvious to modeltraffic behavior by taking into consideration the dynamic scale of the incoming traffic to therouters via the on-line tuning of membership functions.

8 Fuzzy Model

The developed adaptive fuzzy model for active queue control consists of four sequential basicmodules: adaptive membership function generation, fuzzification, hierarchical inference anddefuzzification modules (Figure 3).

input:errorchange of error

membershipfunctionsgeneration

fuzzyfication1. levelreasoning

2. levelreasoning

defuzzyfication

output:rejectionprobability

Fig. 3. The structure of the developed fuzzy model.

Input values of the controller are error (e = set value of buffer length - length of buffer)and change of error (δe = error - earlier error) of the incoming traffic density on the router.The number of Ethernet frames (in this example, the TCP/IP protocols uses Ethernet frames -Ethernet frames are of variable length, with no frame smaller than 64 octets or larger than 1518octets, see Figure 4) created in one time unit on the transmitter (see Figure 1) was assumed tobe either Poisson or Pareto5 distributed. The transmission delay of each packet was assumed tobe normally distributed. The bursty nature of the traffic was modelled via increasing Poissonor Pareto distributed packet bursts randomly on the simulated link.

The error (e) and change of error (δe) of the incoming traffic are fuzzified according tothe adaptively tuned fuzzy membership function values (see below). The tuning is done for

5 Traditional telecommuniation network traffic is Poisson distributed with exponentially dis-tributed interval times. Data network traffic has a self-similar and long-range dependantnature, which obeys Pareto distributed interval times.

Page 11: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

Fuzzy Congestion Control In Packet Networks 301

8 octets 6 octets 6 octets 2 octets 4 octets46-1500 octets

PreambleDestinationAddress

SourceAddress

FrameType Frame Data CRC

Fig. 4. The format of an Ethernet frame (packet).

both input variables on the routers at the control action frequency (100 to 1000 Hz dependingon the incoming traffic density) and it includes data from the last 50 to 200 (depending on theset value of the model designer) measured input values.

The tuning of membership function values is performed by collecting periodically adiscrete density distribution of time series values of measured input data (see more detailsfrom [6]). The cumulative distribution is determined from it. As an illustration assume that theminimum and maximum values of time series values are determined. In order to find densitydistributions the values between the minimum and maximum values are selected for the den-sity distribution. The density distribution is defined by dividing the interval, for example, into10 classes and defining the share of the values in each of them. This is done by summing thenumber of samples in each class and dividing by the total number of samples in the interval.The cumulative distribution is achieved from the density values by summing them from leftto right (from small to large). The division points (corner points of quadraple shaped mem-bership functions) are defined from the cumulative distribution. We show the five label case(Figure 5):

- define value 0.125 on the vertical axis and find corresponding value from the horizontal axis= division point 1

- ...- define value 1.000 on the vertical axis and find corresponding value from the horizontal axis

= division point 8

In this method, when the number of divisions approaches the number of samples in the originaltime series, the division points form an original like distribution (see [6]). Therefore, we canconclude that the method is suitable for the division of a time series into linguistic areas if theresolution is high enough.

In the first inference level of hierarchical reasoning the fuzzy inferences are performedusing the fuzzy rules which are presented in matrix form (see references [10] and [7]). Therule base is composed by analysing the dynamics of incoming bursty traffic to the routers. Therule base on the first hierarchical level includes 25 rules (see Figure 6). The control strategyproduces the linguistic control output (incoming packets’ rejection probability). On the secondlevel of hierarchical reasoning, which includes only 3 rules, the second derivative value ofthe incoming traffic is used to regulate the earlier determined linguistic incoming packets’rejection probability. The final linguistic rejection probability is transformed back into thephysical domain to find the crisp control output value for the incoming packet’s rejectionprobability. In this (defuzzification) phase the center of area method (CoA) was used (see[20]).

9 Simulation System Model

In the simulated example (see Figures 7-10) we used the expected value of 50 000 packets/s,which results in a traffic rate of 600 Mb/s when an ethernet packet size of 1500 bytes (octets)

Page 12: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

302 T. Frantti

0.125

0.250

0.375

0.500

0.625

0.750

0.875

1.000

membership functions

division point 1

division point 2division point 3

division point 4

division point 6division point 5

division point 7

division point 8

Fig. 5. Division points from the cumulative distribution.

was assumed. The delay of each packet was assumed to be normally distributed6 with anexpected value of 5 ms and standard deviation of 1 ms. The bursty nature of the traffic (here

6 According to the central limit theorem the distribution of an average tends to be normaleven if the distribution from which the average is computed is non-normal.

Page 13: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

Fuzzy Congestion Control In Packet Networks 303

ZE ZE NS NB NB

NB

NS

NS

ZEPSPSPBPB

PB PB ZE ZE

NSZEPSPB

PS ZE ZE NS

change of error

error

PB=positive bigPS=positive smallZE=zeroNS=negative smallNB=negative big

For example:if error is PS and change of error is NB then power step size is PS

NB NS ZE PS PB

NB

NS

ZE

PS

PB

Fig. 6. The structure of the rule base.

a ratio of standard deviation in the number of arrivals to the mean number of arrivals7) wasmodelled via increasing packet bursts with a probability of 0.1. The expected size of burstswas 60 Mb/s and the delays of them were assumed to be normally distributed with an expectedvalue of 5 ms and standard deviation of 1 ms. Hence, the average data rate was 600 Mb/s+ 0.1× 600Mb/s = 660.0 Mb/s. The model was implemented using the C++ programminglanguage and it runs under the Linux OS.

10 Results

In this section we present the effects of the developed fuzzy models on the required bufferlength in the router and the end-to-end throughput for the Pareto-Poisson incoming traf-fic model described earlier in Section 6. One fuzzy model utilizes predefined membershipfunctions for the input and output variables whereas the other applies adaptive membershipfunctions for the input values and predefined membership functions for the output. Adap-tive membership functions are not utilized for the output variable (incoming packet rejection

7 There exist at least two other commonly used definitions for burstyness: the ratio of peakbandwidth to the mean bandwidth and the ratio of arrival variance to the mean number ofarrivals.

Page 14: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

304 T. Frantti

probability) due to the stable scale of it (always between 0 and 1.0). Pareto distributed traffic(Pareto distributed ON-OFF periods with Poisson distributed traffic during the ON period) isused because it is more realistic for packet data networks with non-real time traffic (NRTT),as was assumed here. Generally applied, Poisson distributed traffic can be used to describe,e.g., voice over IP (VoIP) or some other kind of real-time traffic (RTT).

Fig. 7. Required length of the buffer in the router when fixed membership functions were used.Incoming data rate = 600 Mbit/s.

Figure 7 present the results achieved from the fuzzy model with fixed, manually created,fuzzy membership functions for the required buffer length in the router whereas Figure 8presents the results with adaptive membership functions with a period length (data samplecollection interval for the tuning of membership functions) of 50 ms for the required bufferlength in the router. In this comparison one can notice that the hierarchical fuzzy model withadaptive membership functions manages the buffer more economically. The required buffersize is continuously under 600 Mbit/s even if sometimes the buffer is occupated longer thanwith the non-adaptive model. This is probably due to traffic bursts and the adaptive model’sbetter ability to store incoming packets during and after bursts within the limit of the buffer.The fuzzy model with predefined membership functions more easily discards packets duringbursts due to its limited capability to adapt to changing circumstances. This kind of behavioralso explains the better throughput of the adaptive model (see Figures 9-10). Moreover, thebuffer size ’peak frequency’ is lower in the hierarchical fuzzy reasoning model with on-linetuned fuzzy membership functions, i.e., the created control method has a better predictivenature (lower packet loss rate and lower occupation of the buffer). Hence, we can state that hi-erarchical fuzzy reasoning with adaptive membership functions offers a good choice of active

Page 15: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

Fuzzy Congestion Control In Packet Networks 305

Fig. 8. Required length of the buffer in the router when adaptive membership functions wereused. Incoming data rate = 600 Mbit/s.

queue management for routers. This will even be emphesized if active queue management isapplied in a wireless environment in order to eliminate unnecessary retransmissions as radiosignal attenuation, fading, interference and shadowing in the wireless environment alreadythemselves cause a high retransmission rate.

We would like to note that unncessary retransmissions in a TCP/IP network can also beavoided via proper updating of the timeout parameter value. TCP can not update timeout val-ues (round trip time values, RTT) from retransmitted segments but an algorithm that merelyignores times from retransmitted values can also lead to failure when there is a sharp increasein delay [2]. Therefore, for example the Karn algorithm8 separates the computation of thetimeout value from the current RTT estimate. The current estimate is used to calculate theinitial timeout value and then backs off the timeout on each retransmission until it can suc-cessfully transfer a segment.

Figures 9-10 present end-to-end throughput when fixed fuzzy membership functions andadaptive membership functions were used, respectively. The average input data rate in the fig-ures is 600 Mbits/s. One can notice that the throughput is higher when adaptive membershipfunctions were used. This is due to the fact that the average input data rate increased from timeto time because of bursts over the (pre)designed limit of control area when fixed membershipfunctions were used, i.e., we should know the approximate traffic volume beforehand. There-fore, we can notice that by using adaptive membership functions, the model adapts itself tothe increased average data rate and it is not required to know beforehand the traffic volume

8 Phil Karn, an amateur radio enthusiast, developed the Karn algorithm to allow TCP ommu-nication across a high-loss packet radio connection.

Page 16: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

306 T. Frantti

Fig. 9. End-to-end throughput when fixed membership functions were used. Incoming datarate = 600 Mbit/s.

on the network. A fuzzy controller with manually predefined membership functions for theassumed traffic data rate instead acts (or has to act) on the above of predesigned control areawhen the incoming data rate is higher than assumed, applying the highest possible incomingpacket rejection probability to incoming packets, thus unnecessarily increasing the packet lossrate. Moreover, the adaptive model does not overreact to small traffic changes unlike the fuzzymodel with fixed fuzzy membership functions obviously does, which can be noticed from therequired buffer length’s peaks. This is probably due to the fact that the resolution of controlarea is lower for the model with fixed membership functions (see Section 7 for more detailsand explanations).

From the presented figures we can notice that FAQM (Fuzzy Active Queue Manage-ment) significantly decreases the packet loss rate with less overflows of the buffer. FAQMalso decreases control signalling between the transmitting nodes and routers by decreasingthe number of ICMP messages due to a decreased packet loss rate. Furthermore, it guaran-tees better utilisation of link capacity with a sliding window scheme (less slow-starts due toa lower packet loss rate). Also, by keeping the queue size small, the adaptive algorithm hasthe ability to accommodate itself more effectively to very bursty traffic than the non-adaptivealgorithm without unnecessarily dropping packets. The on-line tuning of membership func-tions and hierarchical reasoning also decrease the variance of the buffer length, allowing theuse of smaller buffer sizes and therefore the use of more optimised circuits and algorithmson routers. Moreover, the adaptive fuzzy controller adjusts itself very effectively to the in-creased (over a predefined maximum level) input data rate. This is especially important ifactive queue management is applied in a wireless environment. Hence, we are not required

Page 17: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

Fuzzy Congestion Control In Packet Networks 307

Fig. 10. End-to-end throughput when adaptive membership functions were used. Incomingdata rate = 600 Mbit/s.

to continuously update FAQM algorithms according to a link’s througput, such as increasedlink capacity due to, e.g., the update of interface media from cable to optical wire or from theupdate of IEEE802.11b to IEEE802.11a devices in wireless local area networks.

11 Conclusions

Here an adaptive fuzzy congestion control solution for active queue management in packetswitched networks was described. It supports end-to-end control for packet data traffic be-tween intermediate nodes, such as routers, in the network. In the presented solution, a fuzzycontroller regulates the rejection probability of received packets on intermediate nodes to pre-vent buffer overflow and the rejection of all transmitted packets during congestion. In thesimulations we compared a fuzzy controller with a fixed shape of membership functions withthe fuzzy controller with adaptive membership functions. Membership functions were updatedaccording to the incoming traffic in order to keep the equation form rule base as simple as pos-sible. The simulation results showed that the developed adaptive control algorithm decreasedthe packet loss rate with a less overflows of the buffer and increased the link utilisation viadecreasing the retransmission rate more effectively. Furthermore, the algorithm also decreasesthe power consumption of nodes (via decreasing retransmissions) and therefore increases thecommunication and standby times of battery devices.

Page 18: [Studies in Computational Intelligence] Computational Intelligence for Modelling and Prediction Volume 2 || Fuzzy Congestion Control In Packet Networks

308 T. Frantti

References

1. Braden, B. and et. al.: Recoindentations on queue management and congestion avoidancein the internet rfc2309, april 1998. RFC2309, (1998)

2. Comer, D. E.: Internetworking with TCP/IP, principles, protocols, and architectures.Prentice Hall, New Jersey, 4th edition edition, (2000)

3. C.Q., Y. and A.V.S., R.: A taxonomy for congestion control algorithms in packet switch-ing networks. IEEE Network Magazine, 9:34–35, (1995)

4. Driankov, D., Hellendoorn, H., and Reinfark, M.: An Introduction to Fuzzy Control.Springer-Verlag, New York, 3nd edition edition, (1996)

5. Fengyuan, R., Yong, R., and Xiuming, S.: Design of a fuzzy controller for active queuemanagement. Computer Communications, 25:874–883, (2002)

6. Frantti, T.: Timing of fuzzy membership functions from data. Doctor thesis, University ofOulu, Department of Process Engineering, Oulu, Finland, (2001)

7. Frantti, T. and Mahonen, P.: Fuzzy logic based forecasting model. Engineering Applica-tions of Artificial Intelligence, 14(2):189–201, (2001)

8. Hollot, C., Misra, V., Towsley, D., and Gong, W.: On designing improved controllers foraqm routers supporting tcp flows. In INFOCOM 2001 April 2001, Anchorage, Alaska,(2001)

9. J., N.: On packet switches with infinite storage. IEEE/ACM Transaction on Communica-tion, 35:435–438, (1987)

10. Juuso, E.: Linguistic equations framework for adaptive expert systems. In Stephenson,J., editor, Modelling and Simulation 1992, Proceedings of the 1992 European SimulationMulticonference, pages 99–103, (1992)

11. Juuso, E.: Linguistic simulation in production control. In Pooley, R. and Zobel, R., editors,UKSS’93 Conference of the United Kingdom Simulation Society, pages 34–38, Keswick,UK, (1993)

12. Klir, G. and Folger, T.: Fuzzy Sets, Uncertainty, and Information. Prentice Hall, NewYork, 1st edition, (1988)

13. Leland, W. E., Taqqu, M. S., Willinger, W., and Wilson, D. V.: On the self-similar natureof ethernet traffic (extended version). IEEE/ACM Transactions on Networking, 2(1):1–15,(1994)

14. Low, S., Paganini, F., and Doyle, J.: Internet congestion control: An analytical perspective.IEEE Control Systems Magazine, 22(1):28–43, (2002)

15. Paxson, V. and Floyd, S.: Wide area traffic: the failure of poisson modeling. IEEE/ACMTransaction on Networking, 3(3):226–244, (1995)

16. Raju, G., Zhou, J., and Kisner, R.: Hierarchical fuzzy control. International Journal ofControl, 54, No.5:1201–1216, (1991)

17. S., T. A.: Computer Networks. Prentice Hall, New Jersey, USA, 3rd edition, (1996)18. Willinger, W., Taqqu, M. S., and W. E. Leland, D. V. W.: Self-similarity in high-speed

packet traffic: analysis and modeling of ethernet traffic measurements. Statistical Science,10:67–85, (1995)

19. Zadeh, L.: Fuzzy sets. Information and Control, 8:338 – 353, (1965)20. Zimmerman, H. J.: Fuzzy Set Theory and Its Applications. Kluwer Academic Publishers,

Massachusetts, USA, 5th edition, (1992)