Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Fuzzy logic in ATM
1. Fuzzy Logic Controller Edwin Hernandez M.
HCS Research Lab 1
The Design of a Fuzzy Traffic Controller for ATM1 Networks.
Edwin Hernandez Mondragon
HCS Lab – May 1999
University of Florida
Abstract
The paper presented here is a discussion of the Design of a Fuzzy Controller for ATM networks[1]. It
describes the way fuzzy logic is implemented using a set of rules and defuzzifing methods to generate the
output required. The generation of rules also required to be optimized using a Genetic Algorithms (G.A.)
and simulation results. At the same time the paper tries to explain weak points in the discussion presented
by the authors, R. Chen and C. Chang in the methodology applied. However the simulation results that
come out shows a big improvement between the traditional methods and the Fuzzy logic Controller (FLC).
Introduction
Fuzzy concepts derive from fuzzy phenomena that commonly occur in the natural world. For instance,
"snow", it is difficult to describe precisely since the intensity of the snow can differ a lot and is usually
perceived as light snow, hard snow, moderate snow and heavy snow, they are all used to describe snowing.
In other words, if you are predicting a good, fair or poor harvest based on the results of fuzzy judging, you
are using fuzzy reasoning.
Fuzzy logic is based upon the fuzzy sets and on the concepts of linguistic variables. A fuzzy set in a
universe of discourse U is characterized by a membership function mf, which assumes values in the interval
[0, 1]. A fuzzy set F is represented as a set of ordered pairs, each made up of a generic element u∈ U and
its degree of membership mf(u).
This means that there is a mapping.
Mf: U [0,1], u mf(u)
Now a linguistic variable x in a universe of discourse U is characterized by a set W(x)=(W1x, W2x,…..,
Wnx) and a set M(x)=(M1x, M2x, …. , Mnx), where W(x) is a term-set, i.e. the set of names the linguistic
variable x can assume, and Wix, is a fuzzy set whose membership funciton is Mix. If for instance, x
indicates temperature, W(x) could be the set W(x) = (Low, Medium, High), each element of which is
associated with a membership function.
In addition, the rules governing a fuzzy system are often written using linguistic expressions that formalize
the empirical rules by means of which, a human operator is able to describe the process in question using
his own experience. If x and y are taken to be two linguistic variables, fuzzy logic allows these variables to
be related by means of fuzzy conditional rules of the following type:
"IF (x is A) THEN (y is B)"
where (x is A) is the premise of the rule, while (y is B) is the conclusion. This rule makes it possible to
deduce, using specific inferential methodologies, a fuzzy set for y for each input variable x, whether is
associated with a fuzzy set of assumes a numerical value (crisp).
The degree of membership of the premise is calculated and, through application of a fuzzy logic inference
method to the conclusion, it allows the output y to be determined, The methods mentioned above are MAX-
DOT or MAX-MIN.
In general in a fuzzy conditional rule, "IF premise THEN conclusion", the premise is made up of a
statement in which fuzzy predicates Pj (in the following case called antecedents) of the general form (Xj is
Aj) are combined by different operators such as the fuzzy operators AND and OR: in this case Xj is a
linguistic variable defined in the universe of the discourse Uj and Aj is one of the names of the term set Xj.
The following is an example of a fuzzy conditional rule using such operators
1
Asynchronous Transfer Mode
2. Fuzzy Logic Controller Edwin Hernandez M.
HCS Research Lab 2
IF P1 and P2 or P3 then P4
Where
P1 = (X1 is A1); P2 = (X2 is A2)
P3 = (X3 is A3); P4 = (Y4 is B4).
To apply the inference method to the conclusion, it is first necessary to asses the degree of membership, θ,
of the premise, through assessment of the degrees of membership α, of each predicate Pi in the premise.
The membership degree, α, is calculated by assessing the degree of membership of a generic value of Xi in
the fuzzy set Ai. If Xi is made up of a generic value of Xi in the fuzzy set Ai. If Xi is made up of a fuzzy
set, its degree of membership is determined by making an intersection between the fuzzy vaule of Xi and
the fuzzy set Ai and choosing the maximum value of membership; if Xi is a crisp value, it degree of
membership in the fuzzy set Ai is made up the value the membership function Ai, assumes corresponding
to Xi.
In other words, the degree of membership, θ, of the premise can thus be calculated by assessing the fuzzy
operations on the predicates; the fuzzy logic operator AND when applietd to two predicates Pi and Pj,
returns the minimun of (αi, αj); the fuzzy logic OR, when applied to the fuzzy predicates, return the
maximum of (αi, αj).
Once the value of θ is known, an inference method can be applied to asses the consequence. The latter is
expressed in the form:
(Y1 is B1) AND (Y2 is B2) AND (Y3 is B3)
where: Yi are linguistic variables and Bi are names belonging to the term set W(Yi).
In this case, the fuzzy operators AND action on the output fuzzy predicates (also called consequents) have
a different meaning that in the premise. They only express in a single rule a number of rules with the same
premise but different conclusions.
If an output variable is present in more than one rule, the fuzzy values of the output variable obtained in the
single rules in which it appears are combined to forma a single fuzzy set through a union operation.
IF (x is LOW) OR (y is LOW) THEN (z is MEDIUM)
medium
LOW
LOW y
x
Y-Axis
Y-Axis
Y-Axis
alpha theta
X-Axis X-Axis X-Axis
IF (x is LOW) AND (y is MEDIUM) THEN (z is LOW)
1 MEDIUM 1
LOW 1
Y-Axis
x
Y-Axis
Y-Axis
Y-Axis
alpha
alpha theta
X-Axis X-Axis X-Axis
X-Axis
Figure 1.0 Inferential procedure with MAX-MIN method
OUT = centroid
3. Fuzzy Logic Controller Edwin Hernandez M.
HCS Research Lab 3
As shown in figure 1.0, there is the whole inferential procedure in a graphical way. It will be assumed that
there are two rules tat relate the two input variables x and y and the output variable z.
IF (x is LOW) OR (y is LOW) THEN (z is MEDIUM)
IF (x is LOW) AND (y is MEDIUM) THEN (z is LOW)
The method illustrated here, and used in the Design of a Fuzzy Traffic Controller in ATM networks, is the
MAX-MIN. According to this methodology, the final output is the union of the fuzzy sets assigned to that
output in a conclusion after truncating their degree of membership values to the peak at the degree of
membership corresponding to the premise.
Having obtained the final output membership function, y, it is possible to obtain a crisp value by adopting
one of several defuzzification techniques, of which the center of gravity method seems to give the best
results.
In this method, the output value is assumed to be the value corresponding to the abscissa of the center of
gravity of the output membership function, if we use Vi, to indicate membership degrees of the vector of
dimension n representing the output, the crisp Out value will be:
n
∑ j *V j
j =1
Out = n
∑V j=1
j
The Design of the Fuzzy Controller
ATM Basics
Moreover ATM, has been characterized to handle the mixture of different types of traffic, multimedia and
data services simultaneously, keeping a guaranteed Quality of Service (QoS) for each contract of service
signed by the user network. There are several ways in which a circuit is being defined in ATM, the circuit
is primary a virtual circuit between two or more nodes of the network. By the time the connection is
initiated, a contract of service is "signed", in which the client network will provide traffic to the ATM
network and the ATM network will keep the contract of service. This contracts of service can be :
• Constant Bit Rate - CBR, used for applications that require consistent quality of bandwidth. T1 or T2
can be emulated with a CBR circuit.
• Variable bit Rate - real time (VBR-rt). It is used for applications that require a small and controlled
network delay, but bandwidth requirements may vary during the life of the connection. Examples are,
desktop video-conference and voice.
4. Fuzzy Logic Controller Edwin Hernandez M.
HCS Research Lab 4
Call Set Up Request
Accept/Reject Admission Control
Coding Rate Control
Video Voice
1
Codec
Fuzzy Traffic Controller
2 Video Voice
Codec
type-1 . .
.
Traffic . .
.
.
. .
Video Voice
M1
Codec
pre-buffer
K1
1
2
K2 out
.
type-2 put
Traffic
. .
. . .
. .
.
M2
pre-buffer
Transmission
Customer Side Network Side
Rate Control
Figure 2.0 System model of the ATM switcher and the Fuzzy controller.
• Variable bit Rate - non real time (VBR - nrt). Applications not sensitive to network delay, airline
reservations and frame relay internetworking.
• Available Bit Rate (ABR). LAN Traffic and file transfer applications.
• Unspecified bit rate (UBR). No traffic or QoS is assured, file transfer or e-mail applications.
The model used for the ATM network is defined in figure 2.0, where two types of traffic can characterize
the inputs: Type-1 and Type-2, the first one belongs to the video and voice services, and all the data
services belongs to the second. As seen here there are two buffers K1 and K2, when the buffers are full the
packets are blocked and the traffic is lost. Therefore a Cr portion of the bandwidth should be reserved for
type-1 and (1-Cr) for the other part.
ATM call admission and congestion classic controllers
The basic requirements for an ATM controller consists of :
• Avoidance in the detection of false alarms of congestion
• Simplicity and cost effectiveness of the implementation
• Fast responsiveness, low response time to parameter violations
• High Selectivity respect to the traffic monitored, in other words make the controller being capable of
detecting any illegal traffic fluctuations).
Multimedia traffic has a lot of burstiness, various quality of service (QoS) and bandwidth requirements, an
ATM network requires a sophisticated, real-time traffic controller to handle the congestion control, call
admission, and the most important, guarantee the QoS for existing calls and to achieve high system
utilization.
5. Fuzzy Logic Controller Edwin Hernandez M.
HCS Research Lab 5
Several classical techniques are used to handle the call admission on the ATM network:
• The first approach uses the parameters supplied by the call to provide an accurate description of the
traffic behavior, or by measuring the traffic and making it fit into a model. From the model cell loss
rates can be inferred.
• The other method consists in inferring the upper bound if cell loss probability from the traffic
parameters specified by the users.
Call Set-Up Fuzzy Ce Network
Request Rp, Bandwidth Resource
Predictor Stimator
Rm, Tp
Cell Accept/ z Fuzzy Admission
Reject Controller
Coding
Coding Rate Rate
Control Manager
Transmis
Transmission sion Rate y
Rate Control Manager
Fuzzy Congestion
Controller
q q P
L
Performance Measures
Estimator
Fuzzy Traffic Controller
System
Information
Figure 3.0 Block diagram of the Fuzzy Logic Controller.
One approach for controlling the network traffic would be training an Neural Network, based in the call
admission controller, this admission controller uses the offered traffic characteristics, QoS, an the
performance measures the acceptance or rejection of the call.
It is known that the statistical fluctuations of the network traffic of multimedia services, can still produce
congestion even though an appropriate call admission control scheme is provided. The Congestion is
usually handled by thresholds in the buffers, but sometimes the gap between upper bound and lower bound
thresholds produces a drawback to the responsiveness of the system.
The use of a Fuzzy Logic Controller (FLC) has been proposed in this paper as the control strategy to keep
the QoS guaranteed in an environment where the mathematical modeling is null or very difficult.
As shown in figure 3.0, the FLC used determines the parameters q, ∆q and Pl, where q is the length of the
queue and ∆q is the change rate of the size of the queue and Pl is the cell-loss probability. The action is
generated as an output "y" from the fuzzy congestion controller, which is used by the Coding Rate
Controller and the Transmission Rate Manager, the Code Rate Controller handles the traffic type-1 and the
other controller is in charge of the Type-2. The Fuzzy Bandwidth Predictor uses Rp, Rm and Tp to generate
6. Fuzzy Logic Controller Edwin Hernandez M.
HCS Research Lab 6
an equivalent capacity, Ce, required for a new call with parameters PRO, ABR and PBRD.2 The Bandwidth
Predictor estimates Ce, which is used by the Network Resource Manager, which subtracts Ce from the Ca,
which is the available bandwidth. When the circuit is done, then Ce is added again to Ca.
In addition to this, the Fuzzy Admission Controller uses Pl, and the output y from the Congestion controller
and Ca to determine if the call is accepted or rejected.
Fuzzy Congestion Controller.
The membership functions used for the Controller are:
T(q) = { Empty(E), Full(F) }
T(∆q) = { Negative(N), Positive(P) }
T(Pl) = { Satisfied(S), Not Satisfied (NS) }
The Output y , is defined by:
T(y) = { Decrease More (DM), Decrease Slightly (DS), No change (NC), Increase Slightly (IS), Increase
More(IM) }
Usually a triangular function f(x:: xo, ao, a1) or a trapezoidal function can be used g(x:xo, x1, a0, a1) is
chosen to represent the membership function.
For this experiment, it was chosen the membership functions defined as:
T(q): µE(q) = g(q:0, Ee, 0, Ew)
T(q):µF(q) = g(q, Fe, Ki, Fw, 0).
Observe that Ki is used to relate the type of traffic used 1 or 2., in the same way, T(∆q), as:
T(∆q):µN(∆q) = g(∆q: -Ki, Ne, 0, Nw)
T(∆q):µP(∆q) = g(∆q:Pe, Ki, Pw, 0).
f(x) g(x)
Y-Axis
Y-Axis
X-Axis X-Axis
x0-a0 x0 x0+a1 x0-a0 x0 x1 x1+a1
Figure 4.0 Definitions of membership functions triangular and trapezoidal.
2
PBR : Peak bit rate
ABR : Available Bit Rate
PBRD : Peak Bit Rate Duration.
7. Fuzzy Logic Controller Edwin Hernandez M.
HCS Research Lab 7
And T(Pl) as:
T(Pl):µS(Pl) = g(Pl: 0, Se, 0, Sw).
T(pl):µNS(Pl) = g(Pl: NSe, 1, NSw, 0)
Graphically they can be represented as:
µ (q) µ (Pl)
E F S NS
1 1
Ee Fw Ki Se NSw 1
Ew=Fw Sw=NSw
Figure 5.0 Membership functions for queue and probability of loss.
In figures 5.0 and 6.0, can be found the different membership functions associated with the controller. The
Output is , will be mathematically described as:
µDM(y)= f(y: DMc, 0, 0)
µDS(y) = f(y: DSc, 0, 0)
µNC(y) = f(y, NCc, 0, 0)
µIS(y) = f(y: ISc, 0, 0)
µ (∆ q) µ (y)
N P DM DS NC IS IM
1 1
1
-Ki Ne Pw Ki DMc DSc NCc ISc IMc
Nw=Pw
µ IM(y) = f(y: IMc, 0, 0)
Figure 6.0 Membership functions for the ∆q and output of the controller.
As seen in figure 6.0, the µ(y) graph is a set of unitary impulses at DMc, DSc, NCc, Isc, Imc, where NCc is
0, given that NO CHANGE status is 0.
The rules set for the controller are based in the two threshold congestion control method. However the set
theory will dimension the size of the rule set as: T(q)xT(∆q)xT(Pl), where that's a matrix with all the
8. Fuzzy Logic Controller Edwin Hernandez M.
HCS Research Lab 8
combinations of x terms of T(q), T(∆q) and T(Pl), and for each set of rules an action to take from the 5
possibles.
But the table associated with the rules for a two threshold controller is defined in table 1.0, is the one for a
base lineup of the set of rules.
Table 1.0. Rule Structure for the Fuzzy Congestion Controller : Based upon the two threshold congestion
control algorithm.
Rule Q ∆q Pl Y Rule Q ∆q Pl Y
1 E N S IM 5 F N S DM
2 E N NS IM 6 F N NS DM
3 E P S IM 7 F P S DM
4 E P Ns IM 8 F P NS DM
The representation of the Fuzzy logic for the two threshold controller is:
- IF q is F, THEN y is DM
- IF q is E, THEN y is IM
The rule structure takes the form shown in table 1.0, because is based upon the two threshold control
algorithm. In other words IM and DM are the only options, however DS, IS and NC are also outputs.
Table 2.0. Optimized Rule Structure for the Fuzzy Congestion Controller : Generated with a G.A.
Rule Q ∆q Pl Y Rule Q ∆q Pl Y
1 E N S IM 5 F N S IM
2 E N NS IM 6 F N NS IM
3 E P S IS 7 F P S DS
4 E P Ns IM 8 F P NS NC
As observed here the G.A., that is not specified is used to generate the Logic here. Observe that the action
DM is eliminated from the rule Table. However there are a large amount of combinations to the table, than
could also be tested. In other words, the optimization method to choose the values of Y and the Q, ∆q and
Pl, have to be assigned according to the output obtained in simulation time.
The G.A. Heuristics to get the appropriate value if the Output should be done using all the possible
combinations and a heuristic like:
a) Get all rules for Q, ∆q and Pl.
b) Set all the actions IM, IS, DM, DS, NC, for all the rules.
c) Select a set of combinations of rules N, where N could be multiples of 2, but greater than 4. In other
words group the Tables as 4, 8, 16 and 32 rules.
d) Apply the defuzzifier to the rules and try a traffic generator in an environment simulation tool, such as
BONES3, where traffic can be generated to the model.
e) Get the List of Maximum values of rules, in other words according to the simulation results pick the
ones that maximizes the performance, combine them together and apply the algorithm again. Go to c).
This procedure is not defined in the paper, and moreover it is not know how to obtain the values of the
table 2.0.
3
Block Oriented Network Environment Simulator
9. Fuzzy Logic Controller Edwin Hernandez M.
HCS Research Lab 9
Continuing with the discussion of the defuzzifier, and how to select an output according to the set of rules
defined in table 2.0. The MAX-MIN algorithm is applied to the rules and supposing y is IM, the rules 1,2,4,
5 and 6 apply. Here is assumed values as qo, ∆qo and Plo, measured from the network.. The method for
defuzzifing the result consists basically in getting the minimum value of the membership function and from
all the values, picking up the maximum of them, in other words:
W1 = MIN (µE (q o ), µN (∆q 0 ), µS ( PL 0 )]* µIM ( y = IMC c )
The same procedure is done for rules 2, 4,5,6, and the result of them is:
w IM
= MAX ( w1 , w2 , w4 , w5 , w6 )
But Instead of using the Trapezoid method, the Tsukamoto's defuzzification method is applied for the
defuzzifier, in this method, values of Wim, Wis, Wds and Wdm (if any4). This contains a values of yo as:
( IM c * wIM + IS c * wIS + NCc * w NC + DS c * wDS + DM c * wDM )
yo =
( wIM + wIS + w NC + wDS + wDM )
The Fuzzy Bandwidth Predictor and Fuzzy Admission Controller are basically the same structure of
procedures, applying the Structured Rule determination using G.A. and the defuzzier as Tsukamoto's.
The optimized rule tables used for them are:
Table 3.0 Rule Structure for the Fuzzy Bandwidth Predictor
Rul Rp Rm Tp Ce Rul Rp Rm Tp Ce Rule Rp Rm Tp Ce
e e
1 S Lo Sh C1 7 M Lo Sh C1 13 L Lo Sh C4
2 S Lo Me C2 8 M Lo Me C3 14 L Lo Me C6
3 S Lo Lg C5 9 M Lo Lg C6 15 L Lo Lg C6
4 S Hi Sh C1 10 M Hi Sh C1 16 L Hi Sh C3
5 S Hi Me C1 11 M Hi Me C2 17 L Hi Me C5
6 S Hi Lg C4 12 M Hi Lg C5 18 L Hi Lg C6
And the membership functions are:
T(Rp) = { Small(S), Medium(M), Large(L)}
T(Rm) = { Low(LO), High (Hi)}
T(Tp) = {Short(Sh), Medium(Me), Long(Lg)}
And six quantization levels of C, T(Ce) = {C1, C2, C3, C4, C5, C6 }
They used for µS(Rp), a g(.) function, for µM(Rp) a f(.) function, a µL(Rp) a g(.) function, for µLo(Rm) a
g function, for µHi(Rm) a g(.), µSh(Tp) g(.), µMe(Tp), f(.), µLg(Tp) g(.).
For µC a set of impulses at C1, C2, C3, C4, C5 and C6.
Table 4.0 Rule Structure for the Fuzzy Admission Controller
Rule Pl y Ca z Rule Pl y Ca Z
1 S P E A 5 NS P E WR
2 S P NE WA 6 NS P NE R
3 S N E WA 7 NS N E R
4 S N NE WR 8 NS N NE R
4
It was erased from the Table 2.0 of "optimized rules"
10. Fuzzy Logic Controller Edwin Hernandez M.
HCS Research Lab 10
In this case the membership functions are:
T(Ca) = { Not Enough (NE), Enough (E) }
T(y) = { Negative (N), Positive(P) }
T(Pl) as in the previous case S, NS.
T(z) = {Accept(A), Weak Accept(WA), Weak Reject (WR), Reject(R) }
All the functions used for µCa, µy are g(.) type and for the output a set of impulses in R, WR, WA, A).
later is defined the values for R as 0, WR as 0.25, WA as 0.75 and A as 1.
According to the results of the simulation done by them, in which is not described how the simulation was
executed. However it shows and improvement of the FLC, and as a summary:
a) the Cell Blocking Probability in the conventional controller is 0.5, while in the FLC is approximately
0. In high bit rate and low bit rate sources
b) Using video traffic the Call blocking probability is improved, however is not clearly shown, and it is
seems to be a slight improvement. (according to the paper 4%).
c) The utilization of type-1 and type-2 traffic is increased in 11%.
The QoS requirement used was of 10^-5 cell loss probability, the generation of voice was done with a IBP,
Interrupt Bernoulli Process (IBP) and interframe coding (video) was modeled with Markov-Modulated
Bernoulli Processes (MMBP).
Finally, It is stated that it is still not clear and the algorithm stated on this paper, about the generation of the
appropriate rules and whether is needed a Self-learning capability or a neural net design.
REFERENCES
[1] R. Cheng, C. Chuang. "Design of a Fuzzy Traffic Controller for ATM Networks", IEEE/ACM
Transactions on Networking, vol 4, No3., pp 460-469, June 1996.
[2] V. Catania, G. Ficili, S. Palazzo, D. Panno. "A Comparative Analysis of Fuzzy versus Conventional
Policing Mechanisms for ATM networks", IEEE/ACM Transactions on Networking, vol. 4, No.3, June
1996.
[3] G. Sackett, C. Metz. "ATM and Multi-protocol Networking", McGrawHill, 1996.
[4] H. Li, V. Yen "Fuzzy Sets and Fuzzy Decision Making", CRC-Press, 1995.