Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
i
Congestion Control Approach based on Effective Random Early
Detection and Fuzzy Logic
By
Maimuna Abdulfattah Ahmad Khattari
Supervisor
Dr. Gassan Samara
This Thesis was Submitted in Partial Fulfillment of the
Requirements for the Master Degree in Computer Science
Faculty of Graduate Studies
Zarqa University
Zarqa, Jordan
First Semester
December, 2015
ii
خبمعت الضسقبء
إلرار تفىض
, أفض خبمعت الضسقابء تخضاذ و ان ماه سيابلخ / أيشحخا لتم خبابث, أ ممو عبذ الفخبذ احمذ خطبسأوب
المؤي بث, أ الئبث, أ األشخبص عىذ يتبم ح ب الخعتمبث الىبفزة ف الدبمعت.
الخقع:
الخبسن:
Zarqa University
Authorization Statement
I Maimuna Abdulfattah Ahmad Khatari, authorize Zarqa University to supply copies
of my thesis to libraries or establishments or individuals on request, according to the
University regulations.
Signature:
Date:
iii
COMMITTEE DECISION
This is to certify that the thesis entitled (Congestion Control Approach based on
Effective Random Early Detection and Fuzzy Logic) was successfully defended and
approved on -----------------------------.
Examination Committee Members Signature
Dr. ……………………….. (Supervisor) -------------------------
Dr. ……………………….. (Member) -------------------------
Dr. ……………………….. (Member) -------------------------
Dr. ……………………….. (Member) -------------------------
iv
ACKNOWLEDGMENTS
First and foremost, I would like to thank Allah for this blessing to complete this
thesis successfully.
I would like to express my deepest gratitude to my advisor, Dr.Gassan Samara,
for his support and guidance throughout this thesis.
I would also like to thank my family for their continuing love and support,
especially my husband, thank you from the bottom of my heart, Loads of love and
thanks to you all.
v
TABLE OF CONTENTS
Contents Page
List of Tables.............................................................................................................. vii
List of Figures….........................................................................................................viii
List of Acronyms ………………………………………………………………...........x
List of Publications …………………………………………………………….……xii
Abstract in Arabic…...................................................................................................xiii
Abstract in English…..................................................................................................xiv
Chapter 1: Introduction ………………………………………………………………... 1
1.1 Introduction………................................................................................................. 1
1.2 Problem Statement…….......................................................................................... 5
1.3 Objectives................................................................................................................ 5
1.4 Thesis Contributions............................................................................................... 6
1.5 Scope and Limitations............................................................................................. 6
1.6 Thesis Organization..................................................................................................6
Chapter 2: Literature Review and Related Works ………………………………..…. 8
2.1 Introduction............................................................................................................. 8
2.2 Overview of Congestion Factors at the Router Buffer............................................ 9
2.3 Congestion Control at the Router Buffer….......................................................... 12
2.4 Queue-Based Active Queue Management............................................................ 14
2.4.1 Average- Based...................................................................................... 14
2.4.2 Queue- Based………............................................................................. 17
2.4.3 Average & Queue- Based....................................................................... 17
2.4.4 Packet loss- Based…………...…………............................................... 18
2.5 Load-Based Active Queue Management............................................................... 19
2.5.1 Arrival- Based…………………............................................................ 19
2.5.2 Load Factor- Based..................….......................................................... 20
2.6 Hybrid Active Queue Management....................................................................... 21
2.7 Fuzzy Based Active Queue Management............................................................. 22
2.8 ERED……………………………........................................................................ 25
2.9 AQM and Delay………………………………………………………………… 26
vi
2.10 Conclusion……................................................................................................... 32
Chapter 3: Methodology ...........................................................................................33
3.1 Introduction…....................................................................................................... 33
3.2 Methodology……................................................................................................. 33
3.2.1 Initialization........................................................................................... 36
3.2.2 Fuzzification…....................................................................................... 36
3.2.3 Rules Evaluation.................................................................................... 36
3.2.4 Aggregation............................................................................................ 37
3.2.5 Defuzzification....................................................................................... 37
3.3 Conclusion …........................................................................................................ 38
Chapter 4: System Design .........................................................................................39
4.1 Hybrid-based ERED……...................................................................................... 39
4.1.1 Delay Calculation................................................................................... 39
4.1.2 Hybrid-ERED Mechanism..................................................................... 41
4.1.3 Algorithm………………………………............................................... 42
4.2 Fuzzy-based hybrid-ERED….….......................................................................... 48
4.2.1 Initialization...…………………............................................................ 48
4.2.2 Fuzzification…………………............................................................... 50
4.2.3 Rules Evaluation…………….................................................................51
4.2.4 Aggregation…………………................................................................ 53
4.2.5 Defuzzification...……………................................................................ 53
4.2.6 Calculate Final Dropping Probability................................................. 54
4.3 Conclusion ……………………........................................................................... 55
Chapter 5: Results…………………………………………………………………..56
5.1 Introduction…....................................................................................................... 56
5.2 Environment…...................................................................................................... 56
5.3 Parameter settings……….……............................................................................ 58
5.4 Results……........................................................................................................... 59
5.5 Summary………………………........................................................................... 70
Chapter 6: Conclusion and Future Works …………………………………….....71
6.1 Conclusion…......................................................................................................... 71
6.2 Future Work…...................................................................................................... 72
References ………………………………………………………………..…….……73
vii
LIST OF TABLES
Number Table Caption Page
Table 2-2
Evaluation of AQM Methods
24
Table 3-1 Parameter settings 35
Table 4-1 Examples of the Set of Fuzzy Logic Rules 52
Table 4-2 Complete Set of Fuzzy Logic Rules 53
Table 5-2 Empirical weight settings 58
Table 5-3 Empirical FIP settings 59
Table 5-4 Performance comparison with arrival rate 0.93 60
Table 5-5 Performance comparison with arrival rate 0.66 62
Table 5-6 Performance comparison with arrival rate 0.5 63
Table 5-7 Performance comparison with arrival rate 0.33 64
viii
LIST OF FIGURES
Number Figure Caption Page
Figure 1-1 Buffer Queue and RED Parameters 3
Figure 2-1 The Congestion at the Router Buffer 9
Figure 2-2 Bad vs. Good Network Performance Measures 11
Figure 2-3 Congestion Control using AQM 13
Figure 2-4 AQM Methods Classification 13
Figure 2-5
Illustration of Traffic Scenarios in Router Buffer with a
Constant Departure Rate 27
Figure 2-6
Illustration of Packets Arrival/Departure in the Buffer over
Time in Optimal Case 28
Figure 2-7
Illustration of Packets Arrival/Departure in the Buffer over
Time in Nearly Optimal Case 29
Figure 2-8
Illustration of Packets Built-up Queue over Time when Delay
Increase 30
Figure 2-9
Illustration of Packets Overload the Buffer over Time in
Unstable Traffic 31
Figure 3-1 Flowchart of the Hybrid ERED 34
Figure 3-2 Flowchart of Fuzzy Hybrid ERED 35
Figure 4-1 DEsti vs. (ArrEsti /DepEsti) 41
Figure 4-2 Initial Membership Functions for avg 49
Figure 4-3 Initial Membership Functions for q 49
Figure 4-4 Initial Membership Functions for Dp 49
Figure 4-5 Mapping Crisp into Linguistic Term 51
Figure 4-6 Aggregating Output 54
Figure 5-1 (a) Mean Queue Length Comparison 65
Figure 5-2 (b) Number of Packet Dropped Comparison 66
Figure 5-3 (c) Number of Packet Lost Comparison 67
Figure 5-4 (d) Number of Packet Missed Comparison 68
ix
Figure 5-5 (e) Throughput Comparison 69
Figure 5-6 (f) Delay Comparison 70
x
LIST OF ACRONYMS
QoS Quality of Service
TCP Transmission Control Protocol
UDP User Datagram Protocol
Q Queue Length
Avg Average Queue Length
AQM Active Queue Management
Dp Dropping Probability
RED Random Early Detection
ERED Effective Random Early Detection
IETF Internet Engineering Task Force
RFC Request for Comment
FIP Fuzzy Inference Process
W Weight
Qi Queue Size at The Current Time
Avgi-1 Avg Calculated in The Previous Time Slot
PL Packet Loss
pk The Probability the Router Buffer Being Full
Β Packet Departure Probability
T Throughput
P0 Probability of Router Being in The Idle Status
D Delay
Mql Mean Queue Length
DT Drop Tail
xi
FRED Flow Random Early Detection
DSRED Double Slope Random Early Deduction
ARED Adaptive RED
AIMD Additive Increase Multiplicative Decrease
GRED Gentle RED
SRED Stabilized Random Early Drop
MRED Modified RED
AVQ Adaptive Virtual Queue
SAVQ Stable Adaptive Virtual Queue
EAVQ Enhanced Adaptive Virtual Queue
LUBA Link Utilization Based Aqm
SVB Stabilized Virtual Buffer
RAQM Rate AQM
RaQ Robust Active Queue Management
PI Proportional Integral Controller
FL Fuzzy Logic
BL Binary Logic
FEM Fuzzy Explicit Marking
COG Center of Gravity
IDE Integrate Development Environment
xii
List of Publications
Maimuna Khatari, Gassan Samara “Congestion Control Approach based on
Effective Random Early Detection and Fuzzy Logic", MAGNT Research
Report,(ISSN.1444-8939) Vol.3 (8). PP: 180-193, 2015. [Indexed in Thomson ISI].
xiii
نهج التحكم باالختناق اعتمادا على التحمك المبكر العشىائ والمنطك الضباب
إعذاد
ممىنه عبذ الفتاح احمذ خطاري
إشراف
د. غسان سمارة
الملخص
ا ماه عتا ازي العاماا الحاذ مىاب، ال طشة الحضماالصدحبم ف المخضن المخ ضذ مه حأخش فقذان
داسة قبئمات االوخااابس الى ااطت اا مدمعاات معشفاات مااه حااا ان ااذات لخقىاابث داسة الماااسد المخختفاات.األ اام
الحاضم تحازتيشق الخح م ف االصدحبم لدبص الخخ ح ف االصدحبم ح طش عت ف مشحتت مب شة، حبذأ
. حضمتالفقذان الخأخش ف قج مب ش تذت الحذ مه
ال ثشة الخ حضدوب تبالداء الدذ ف ك ف الخاسصمبثفعبلت ال ف الع ائ المب ش احذ خاسصمت
ال حبخاز تعاه االصدحبم الاخح م فا الخقتاا ماه فقاذان الحاضم ماع رلاى ماه احاذ عتاب ا ان ازي الطشقات
المعبش الثاتج. حققت ف ححذذ قم ضم , اضب حاخ م تتصل الحاالعخببس عبما الخبخش ف
اقخشحج ف زي االيشح يشقت امخذاد لخاسصمت فعبلت ال ف الع ائ المب ش حأخز تعه االعخبابس
الىخابئح حباه م المعابش .عبما الخبخش ال حمت ثم حدمع تىب ته االيخذالل الغبمض لتخقتا مه م تت ححذذ ق
: الخابخش ,حازت الحاضم س اياقبيب ان الطشقت المقخشح حعطا وخابئح افضاا فا االداء فقاب لتمقابل الخبلات
الخابخش تى ابت حقتاا% تبالعخمابد عتا احخمبلات صال الحاضم حام 100-10خ بسة الحضم تى ابت قتتج فقذاوب .
كبواج وخبئدا افضاا % امب تبلى بت الداء الىمرج الز خىذ عتا االياخذالل الغابمض لتطشقات المقخشحا 00-00
مه حا الخبخش فقذان الحضم.
xiv
Congestion Control Approach based on Effective Random Early
Detection and Fuzzy Logic
By
Maimuna Abdulfattah Ahmad Khattari
Supervisor
Dr. Gassan Samara
ABSTRACT
Congestion in router buffer increases the delay and packet loss, subsequently,
controlling these factors and reducing them are objectives for various resource
management techniques. Active Queue Management (AQM) is a well known set of
methods for router buffer’s congestion control. AQM methods detect and control
congestion in early stage and start dropping packets early aiming at reducing packet
loss and delay.
Effective Random Early Detection (ERED) method, among many other AQM
methods, gives a good performance in detect and control congestion and preserve
packet loss. However, the ERED’s drawback is in neglecting the delay. Moreover,
ERED faces a real parameterization problem.
This Thesis proposed an extended ERED method that considers the delay in its
process and combines the extended ERED method with a Fuzzy Inference Process
that eases the problem of parameter initialization and parameter dependency. The
results shows that the parametric-based form of the proposed work gives a better
performance results, according to the performance measures, delay, dropping and
xv
packet loss. The loss has been decreased by 10-100% depends on the arrival
probability. Delay has been decreased by 30-60%.The performance of the fuzzy-based
form of the proposed method is better than the parametric-based form and ERED in
terms of delay and packet loss.
1
Chapter 1
Introduction
1.1 Introduction
A lot of data is being transmitted and exchanged over the Internet for various
purposes as the internet technology is rapidly evolved day after day. The huge data
are transmitted over various network topologies are intermediated by links and
routers. Congestion referred to increase the data rate in a way that the network
resources cannot handle it. A host sending data over Transmission Control Protocol
(TCP) avoid congestion by a windowing mechanism which adjust the sending rates
based on the status of the network estimated by the time and amount of the received
acknowledgement. Other protocols, such as User Datagram Protocol (UDP) and
protocols used in wireless and mobile ad-hock networks do not adhere to such
mechanism. Transmitting using such protocols and even with the TCP protocol may
lead to congestion at the routers (Lim, et al., 2011).
A router receives data packets from source(s) and directs them into their
destination. The data being transferred are accommodated temporarily at the router
buffer before it is processed and sent out to their destinations. The number of packets
accommodated in the router buffer is defined as the queue length q, and the average
number of packets over a time window is called the average queue length avg. Both q
and avg are affected by the packet arrival rate, packet departure and the rates of
packets processing at the router. The router buffer has a fixed capacity that allows
limited numbers of packets to be accommodated [(Woodward, 1993), (Chitra, and
Padamavathi, 2010), (Seifaddini, 2013)]. A low packet departure rates compared to
2
high packet arrival cause the packets to stack in the queue and subsequently increase q
and avg accordingly. Increasing the q and avg cause what so called congestion
(Abbasov and Korukoglu, 2009).
Congestion in router buffer comes with the increment in packets queued. If the
number of stacked packets increased, these packets will be subject to notable delay.
When the number of packets reached the maximum capacity of the router buffer, the
buffer will be overflowed and all the arriving packets are being loss. Delay and Packet
loss are major problems of network and their control and reduction are objectives for
various management techniques. Consequently, a congestion control management
mechanism is operated on the router to response to the congestion when occur
(Naixue, et al., 2010).
Active Queue Management (AQM) is a well known set of methods for router
buffer’s congestion control. AQM methods detect and control congestion in early
stage and start dropping packets early aiming at reducing packet loss and delay. These
methods depend on continuously calculating dropping probability Dp for the
upcoming packets in order to prevent congestion. Examples of the existing AQM
methods are Random Early Detection (RED), Adaptive RED (ARED), Gentle RED
(GRED), Adaptive GRED (AGRED), Dynamic GRED (DGRED), BLUE, dynamic
threshold based BLUE (DT BLUE), GREEN, ERED, Subsidized RED (SubRED) and
others (Alfa, 2010).
RED (Floyd and Jacobson 1993), and many other AQM methods, use avg as
indicator of the queue status. The avg is evaluated by multiple thresholds.
MinThreshold is a position in the buffer, if not exceeded by avg, the buffer can be
considered to be of fair amount of packets in the queue. While, maxThreshold
3
parameter is another position, if reached or exceeded by avg, may be an indication of
congestion. Accordingly, Dp increases when the queued packets reach maxThreshold.
Figure 1.1 illustrates the buffer router and the positions of the parameters used by
RED.
Figure 1.1: Buffer Queue and RED Parameters
RED avoids congestion by dropping packets at early stage with a probability
value Dp. The dropping probability is a function of avg. Subsequently, when the avg
is less than minThreshold, RED drops no packets. All packets are dropped if avg
exceeds maxThreshold. The actual congestion control is implemented when avg is
between minThreshold and maxThreshold, the advantages of RED are as following
(Kwon and Fahmy, 2002):
RED predicts congestion in early stage, by dropping packets.
RED avoids global synchronization (that happened when packet not
dropped randomly) by dropping packets randomly.
RED avoids dropping packets unnecessarily when a short heavy traffic
presented (false congestion) as it uses avg as congestion indicator not q. avg
dose not increased rapidly when false congestion occurs.
4
RED has been successfully adopted by the Internet Engineering Task Force
(IETF) in RFC 2309. However, the problems of RED can be summarized as (Kwon
and Fahmy, 2002):
RED suffers from insensitivity to current queue status, in sudden
congestion, RED slowly adapts and results is packet loss, as it uses avg
instead of q. Notice that considering q will lead to drop packets
unnecessarily when a short heavy traffic presented.
The parameter initialization problem of the RED which affects the
performance of RED.
RED may harm the delay as it does not take into consideration the arrival
and departure rates (traffic-load amount).
The Effective RED (ERED), (Abbasov and Korukoglu, 2009) was proposed to
overcome the insensitivity to current queue size. ERED uses the queue size (q) as
congestion indicator side by side with the avg. Congestion is controlled based on the
following scenarios: When avg is between minThreshold and maxThreshold and q is
greater than minThreshold, ERED drop arrival packets with Dp as calculated in RED.
While, when avg is less than minThreshold and q is less than 1.75* maxThreshold,
Dp is set to a high value. In the rest of the scenarios ERED acts like RED does.
Subsequently, ERED solves the problem of insensitivity to current queue status, in
sudden congestion. However, the ERED’s drawbacks are the parameterization.
Moreover, ERED does not take into consideration the delay in the calculation of Dp.
1.2 Problem Statement:
5
Generally, the sensitivity to current queue size and detection congestion in early
stage, detect of false congestion, delay avoidance, global synchronization avoidance,
avoid parameterization are the factors that should be presented in a congestion
controller. Unfortunately, there is no single congestion control algorithm that takes
into consideration these factors. This problem can be further divided into sub-
problems, these are:
How to implement congestion control method that detects congestion in
early stage, detects false congestion, avoids delay and avoids global
synchronization.
How to solve the problem of parameter initialization and defeat its effects
on the performance of the congestion control method.
1.3 Objectives:
Because ERED has gained the most of the factors listed above for optimal
congestion controller, it will be adapted as the base for achieving the goal of this
thesis that are developing a congestion controller that takes into consideration the
previously mentioned factors for an optimal congestion controlling process. The
objectives of this research are as follows:
To extend the ERED method to consider the Delay in the calculated Dp and
extend the range of the calculated Dp value so that packets are dropped
only if it is necessary to do so, and are dropped rapidly when the risk of
congestion increases.
To combine the ERED algorithm with a Fuzzy Inference Process that shall
solve the problem of parameter initialization.
6
1.4 Thesis Contributions:
The contribution of this thesis:
1. Proposing a congestion control algorithm that takes into consideration
detection congestion in early stage.
2. Detect of false congestion, avoid delay, global synchronization and
parameterization.
1.5 Scope and Limitations:
In computer networks, congestion management and control can be implemented
at several levels in the network; this work focuses on congestion control at the router
buffer. Thus, this work shall consider congestion at a router buffer. Single router
buffer will be used in simulation and testing. The queue for testing and verification is
modeled using the discrete time queue.
1.6 Thesis Organization:
This research is organized into six chapters. Chapter One introduced the principles
behind network congestion control along with the research problem, objectives and
contribution. Chapter Two presents the literature review of the congestion
occurrences effects and influences and the congestion control algorithms. Chapter
Three covers the proposed work. Chapter Four covers the simulation, analysis and
discussion of the proposed algorithm as well as its performance through detailed
experiments. Chapter Five provides results. Finally, Chapter six provides the
conclusions and recommendations for further research.
7
Chapter 2
Literature Review and Related Works
This Chapter discusses the problem of congestion at the router buffer and the
existing methods that were proposed to control this problem and ease its bad influence
on Quality of Service (QoS). The discussion starts by explaining the congestion
problem in the networks, the influence of congestion on the network and the
performance measurements that are effected by congestion. Then, the existing queue-
based congestion control methods are discussed followed by the load-based methods
and then the hybrid-based methods. Then, discussed ERED followed by induction on
the traffic statues that may or may not cause congestion and how congestion
controller response to each status with reference to queue size and delay. The recent
advances in congestion control mechanisms using fuzzy logic are then discussed.
Finally, this chapter is closed by a conclusion.
2.1 Introduction:
Congestion initiated with increment of the amount of packets queued in the
buffer. As the queue is built up, the packets in the queue start to face considerable
delay. When the packets continuously queued in the buffer, the queue gets filled and
no more packets can be served, packet loss occurs. In this case, the buffer is described
as suffered from the problem of congestion, as illustrated in Figure 2.1. Generally,
congestion at the router buffer occurs if the packet departure and packet processing
rates are not sufficient compare to packet arrival rate. Congestion had a bad influence
on the network; this bad influence was the motivation behind the development of
congestion control methods which will also be discussed in this chapter.
8
Figure 2.1: The Congestion at the Router Buffer
2.2 Overview of Congestion Factors at the Router Buffer
Congestion at the router buffer occurs if the packet departure and packet
processing rates are less than packet arrival rate. Arrival rate and departure rate
(together can be referred to as load factor) are the main reason behind congestion.
Queue size, packet loss, throughput and delay are factors influenced by the congestion
(Woodward, 1993).
Arrival rate is the average number of packets received by a single node (router) in
a time window (multiple time slots) and can be determined by monitoring the packets
arrived at the node. Departure rate is the average number of packets departed from a
node in a time window. Load factor is the ratio between arrival rates to the departure
rate as given in Equation 2.1.
⁄
(2.1)
Queue size (q) is the number of queued packets in the router buffer. Mean queue
length (mql) is the average number of packets queued in the router buffer over time.
Average queue length (avg) is an average value of the q at current and earlier time
Packet Loss
High Packet Arrival Rate Low Packet Departure Rate
The Router Buffer
9
calculated as low-pass filter in a time window as given in equation 2.2 (Woodward,
1993).
( )
(2.2)
Where w is a predefined weight, is the queue size at the current time, and
, is the avg calculated in the previous time slot.
Packet loss (PL) is the failure of one or more transmitted packets to arrive at their
destination node. PL is calculated as given in Equation 2.3 (Woodward, 1993).
( )
(2.3)
Where represents the probability the router buffer being full and represents
the packet departure probability. Subsequently, PL is always less than and the
maximum value of PL is that equal to . As such, if the node is always full (e.g.:
=1.0) and no packets are departed (e.g.: =0.0), the PL value will be equal to 1.
Throughput (T) is the probability of packets successfully passes through the
router buffer per time slot, T is calculated as given in Equation 2.4 (Woodward,
1993).
( )
(2.4)
Where , represents the probability of router being in the idle status (no packets
in the buffer) and , represents the packet departure probability. Subsequently, T is
always less than and the maximum value of T is that equals to .
10
Delay (D) is the waiting time for each packet at the router buffer. D is calculated
as given in Equation 2.5 (Woodward, 1993).
(2.5)
As such, these factors and measures, discussed above, can be used as indicators
for early congestion prediction. According to these measures, congestion occurs when
the load factor is above 100%.In this case the arrival rate is higher than the departure
rate and when q or avg are high, which cause packets to queue sequentially in the
router buffer. As such, this will increase PL, D and mql and decrease T. However,
these changes considered as problem for network performance. The aims of the
congestion control process are to predict, detect and prevent congestion in early stage
to decrease PL, D and mql, and increase T, Figure 2.2.
Figure 2.2: Bad vs. Good Network Performance Measures
Packet Loss
Delay
Mean Queue
length
Throughput
Decrease
Decrease
Decrease
Increase
Increase
Increase
Increase
Decrease
Measures Good Network
Performance
Bad Network
Performance
11
2.3 Congestion Control at the Router Buffer
The earliest method for congestion control is a drop tail (DT). DT is simple
congestion control method that is based on predefined queuing threshold. Using DT,
when the number of packets queued in the buffer reach the predefined threshold, all
the arrival packets are dropped accordingly. DT threshold might be set to the buffer
capacity in such a case, no congestion control is conducted and all arrival packets
after the threshold reach is getting lost. On the other hand, when DT threshold is set to
the minimum, huge amount of packets are dropped unnecessary. Subsequently, DT
threshold was mostly set to be above the half of the buffer capacity, given that, in both
cases of normal heavy traffic and sudden congestion status, DT fails to maintain
network performance and keep dropping packets in flat rate, cause unnecessary
dropping in normal traffic and huge amount of packet loss in congestion status.
Generally, DT handles congestion at router buffers in a late stage which consider as
the main drawback of DT (Lin and Morris, 1997).
Active Queue Management (AQM) was proposed to overcome the limitation of
DT. AQM methods maximize the network performance as it does not drop packets
unnecessarily in normal traffic and detect and control congestion in early stage and
start dropping packets early to reduce packet loss and delay. AQM is operated by
gathering information about the performance measures. Then, AQM calculates a
dropping probability (Dp) with each arrival packet. Different method calculates Dp in
different ways, either by estimating the load factor (load-based AQM) or based on the
calculated performance measures (queue-based AQM) or both (hybrid-based AQM).
Based on the calculated Dp, AQM methods decide whether to drop or to allow the
12
packet to be queued in order to maximize the network performance (Jamali, etal,
2014), as illustrated in Figure 2.3.
Figure 2.3: Congestion Control using AQM
A lot of AQM methods were developed that calculates the Dp in different ways,
these methods can be classified into queue-based, load-based, hybrid based and fuzzy
based, this classification is illustrated in Figure 2.4.
Figure 2.4: AQM Methods Classification
Generally, all AQM methods, as an active congestion control have taken into
consideration one or more of the following factors:
1. Avoid global synchronization by dropping packets randomly.
2. Minimize packet loss by predicting congestion in early stage.
Packet Dropping
Measures Calculation
Dp Calculation Packet Queuing
The Router Buffer
Queue-based Hybrid-based
AVG-based Arrival-based
Load-based Fuzzy-based
AQM
Q-based
AVG & Q-based
PL-based Load Factor-based
13
3. Minimize packet loss in response to sudden congestion, by taken into
consideration the sensitivity to current queue status.
4. Avoid unnecessarily packet dropping when a short heavy traffic presented
(false congestion) by taken into consideration the sensitivity to average queue
length over a sufficient time window.
5. Minimize delay by taken into consideration the arrival and departure rates
(traffic-load amount).
6. Avoid parameter initialization problem which affects the overall performance.
The discussion of the AQM methods categories and sub-categories in the
following sections will focus on these congestion control factors and other
requirements and other criteria as coming along.
2.4 Queue-Based Active Queue Management
Queue-based methods use avg, q or PL as congestion indicator. The measures,
avg, q and PL, are calculated continuously. These measures are then used for
calculating Dp with each arrival packet; the calculated value is then used to decide on
dropping packets.
2.4.1 Average- Based
Several AQM methods have used avg as congestion indicator, such as RED
(Floyd and Jacobson, 1993), FRED (Lin and Morris, 1997), DSRED (Floyd and
Jacobson, 1993) (Zheng and Atiquzzaman, 2000), ARED (Floyd, et al., 2001) and
GRED (Floyd, 2000). RED the core of most AQM methods, queue-based active
queue management method uses avg as congestion indicators. The avg status
compares two thresholds values decide the value of Dp and the amount of packets to
14
be dropped. In RED, when avg is less than minThreshold, RED drops no packets
(e.g.: Dp is set to 0). While, all packets are dropped if avg exceeds maxThreshold
(e.g.: Dp is set to 1). The actual congestion control is implemented when avg is
between min and max threshold (e.g.: Dp is set to the value in the range [0-1]). RED
calculates Dp using linear function of avg and maxp and the thresholds. In terms of
advantages and disadvantages, RED avoid global synchronization by dropping
packets randomly, predict congestion in early stage and avoid dropping packets
unnecessarily when a short heavy traffic presented (false congestion) as it is based on
average queue length over a sufficient time window. However, RED does not
response to sudden congestion, as it does not take into consideration the current queue
status, RED also may harm delay as it does not take into consideration the arrival and
departure rates (traffic-load amount) and finally, RED required a lot of parameter
initialization which effects the overall performance.
Flow Random Early Detection (FRED) (Lin and Morris, 1997), extends RED by
promoting fair buffer allocation between flows. Subsequently FRED does not
dropping packets fully randomly. Instead it drops packets that are received from the
source that exceeded its allocated share and keeps the packets from sources that do
not exceed its allocated share. FRED use the same technique as RED, including the
thresholds, parameters and Dp function, the difference is that FRED adds a step to
drop packets from exceeded sources independent from the calculate Dp.
Double Slope Random Early deduction (DSRED) (Zheng and Atiquzzaman,
2000) extends RED with the aim at reducing the packet dropping in non-congestion
status. DSRED uses avg as congestion indicator and a combination of two Dp
calculation functions. These functions are linear which operated in loops, one of them
severely reacts with the increment of avg and the other is non-severed. By adjusting
15
the control parameter, the DSRED will response to the increment of avg by high drop
rate first followed by a low drop rate, or vice versa.
Adaptive RED (ARED) (Floyd and Shenker, 2001), uses avg as similar to RED
and calculates Dp by additive increase multiplicative decrease (AIMD) function. This
approach focus on setting an optimal value for a parameter maxp, by which the
dropping probability increases rapidly when avg increases to avoid buffer overflowed.
The AIMD has proven to give better response to sudden congestion compares to
RED.
Gentle RED (GRED) (Floyd, 2000) also uses avg, and is built as extends to
ARED by optimizing the parameters for maxp. AGRED adds a new position at the
router buffer called doubleMaxThreshold that is a double value of the maxThreshold.
By doing so, AGRED tries to react differently when the number of packets exceeds
maxThreshold in order to avoid buffer overflowing but at the same time do not drop
many packets unnecessarily.
Overall, avg-based AQM avoid global synchronization by dropping packets
randomly, predict congestion in early stage and avoid dropping packets unnecessarily.
On the other hand, these methods do not response to sudden congestion, may harm
delay and required massive parameter initialization. In terms of results, RED, FRED
and SRED achieve mostly similar results; DSRED always has lower queuing delay,
smaller queue size and lower packet drops than the RED, SRED and FRED. ARED,
GRED and AGRED have better results compare to DSRED (Morris, 2000).
In summary, avg-based AQM methods try to set optimal values for Dp to avoid
drop many packets unnecessarily. Other methods were also built on top of RED with
the overall aim to enable stabilization of the avg under all circumstances, e.g.: heavy,
16
light and no congestion in order to enhance network performance. However, it was
notably the inflexibility of these methods with the status of avg, which leads to either
drop packets unnecessarily or more packets store in buffer which lead to overflow and
delay.
2.4.2 Queue- Based
Few AQM methods have used q as congestion indicator, such as Stabilized
Random Early Drop (SRED) (Ott, et al., 1999) uses an estimated number of active
connections or flows with q as congestion indicators and operates similar to RED and
FRED. Subsequently, SRED calculates DP based on q. SRED, similar to RED avoid
global synchronization by dropping packets randomly, predict congestion in early
stage and response to sudden congestion as it is based on q not avg. On the other
hand, SRED may drop packets unnecessarily, when false congestion occurs, may
harm delay and required massive parameter initialization. Some other methods that
use q as congestion indicator were developed ((Fakharian and Abbasi, 2015), (Jamali,
et al, 2014), (Kadhum and Manickam, 2014)).
Overall, as an extension to avg-based method, q-based AQM avoid global
synchronization by dropping packets randomly, predict congestion in early stage.
However, q-based method may drop packets unnecessarily. On the other hand, q-
based methods response to sudden congestion more effectively compares to avg-
based.
2.4.3 Average & Queue- Based
The Effective RED (ERED) (Abbasov and Korukoglu, 2009), is a unique AQM
method, that was proposed to overcome the limitations of q-based and avg-based
17
methods. ERED uses q and avg as congestion indicators. Congestion is controlled
based on the following scenarios: When avg is between minThreshold and
maxThreshold and q is greater than minThreshold, ERED drop arrival packets with
Dp as calculated in RED. While, when avg is less than minThreshold and q is less
than 1.75* maxThreshold, Dp is set to a high value. In the rest of the scenarios ERED
acts like RED does.
In terms of advantages and disadvantages, ERED avoids global synchronization
by dropping packets randomly, predicts congestion in early stage, and avoids
dropping packets unnecessarily when a short heavy traffic presented (false
congestion) as it is based on average queue length over a time and responses to
sudden congestion, as it does take into consideration the current queue status.
However, ERED harms delay as it does not take into consideration the arrival and
departure rates (traffic-load amount) and ERED required massive parameter
initialization which affects the overall performance.
2.4.4 Packet loss - Based
Other AQM methods have used PL as congestion indicator, such as BLUE (Feng,
et al., 1999) and MRED (Koo, et al., 2001). BLUE (Feng, et al., 1999) uses PL and
link idle as indicators of congestion and Dp is calculated in linear function. If the
queue is continually dropping packets due to buffer overflow, BLUE increase Dp,
while Dp is decreased if the queue becomes empty (e.g.: link is idle). Two parameters
are used to adjust Dp based on the congestion status, the freeze_time determines the
minimum interval between two successive updates. The value of freeze_time should
be randomized in order to avoid global synchronization. The other parameters are
used to determine the amount by which Dp is increased/decreased.
18
Modified RED (MRED) (Koo, et al., 2001) uses estimation of packet loss and
link utilization as congestion indicators. MRED is estimate average queue length
using these indicators and implements dropping as in RED.
In terms of advantages and disadvantages, PL-based AQM methods avoid global
synchronization by dropping packets randomly, avoids dropping packets
unnecessarily when a short heavy traffic presented (false congestion) and enhance
delay measure compare to avg-based and q-based. However, PL-based AQM fail
sometimes to predicts congestion in early stage and does not response to sudden
congestion and finally, PL-based AQM required massive parameter initialization.
Generally, Queue-based AQM regardless of its sub-type focus on using the status
of the queue to determine the Dp that is used for congestion control. Different
methods use different indicators, parameters and functions. Overall ERED have
shown robustness in much of the congestion control factors mentioned above.
2.5 Load-Based Active Queue Management
Load-based methods use arrival rate or load factor as congestion indicator.
Similar to queue-based methods avoid congestion by calculating Dp with each arrival
packet, and use the calculated value to decide on dropping packets at early stage to
avoid congestion.
2.5.1 Arrival- Based
Adaptive Virtual Queue (AVQ) (Kunniyur and Srikant, 2003) used link load as
congestion indicator. AVQ maintains a virtual queue whose capacity is less than the
actual capacity of the link. The number of packet queued in the virtual queue
synchronized with the number in the real one. Packets in the real queue are dropped
19
when the virtual buffer overflowed. The dropping increased when the utilization of
virtual capacity is increased and all packets are dropped when the transmitting rate
exceed the virtual queue capacity.
AVQ is responsive to changes in network load (Congestion) and is able to
maintain a small queue length even when network load keeps increasing (Kunniyur
and Srikant, 2003). Stable Adaptive Virtual Queue (SAVQ) (Long, et al., 2005)
extends AVQ. Enhanced Adaptive Virtual Queue (EAVQ) algorithm (Yanping, et al.,
2007) uses an enhance estimation of the arrival rate at the network.
In terms of advantages and disadvantages, arrival-based AQM methods avoid
global synchronization by dropping packets randomly, predict congestion in early
stage, response to sudden congestion and improve delay. However, arrival-based
AQM drop packets unnecessarily when a short heavy traffic presented (false
congestion) and required massive parameter initialization.
2.5.2 Load Factor- Based
Link Utilization Based AQM (LUBA) (Agarwal , et al., 2004) use estimation of
the load factor as congestion indicator. If the overload factor U=λ/μ (where λ is the
totla arrival rate at the router and μ is the outgoing link capacity of the router), is
below the target link utilization, the router is non-congested and packets are not
marked or dropped. When it is greater, all arriving packets are dropped, the router is
congestion.
In terms of advantages and disadvantages, load-based AQM methods avoid global
synchronization by dropping packets randomly, predict congestion in early stage,
response to sudden congestion and improve delay. However, load-based AQM drop
20
packets unnecessarily when a short heavy traffic presented (false congestion) and
required massive parameter initialization.
Overall, considering the load in the AQM enhances the delay. However, there is
tradeoff between queuing delay and queue utilization. Intuitively, larger buffers lead
to higher utilizations of the link, but they also result in larger queuing delays.
2.6 Hybrid Active Queue Management
As mentioned previously, both queue-based and load-based through its sub-types
have advantages and disadvantages. In the attempt to maximize the benefits of both
types, hybrid AQM methods were proposed.
Stabilized Virtual Buffer (SVB) (Deng, et al., 2002) considers arrival rate and q
as congestion indicators and calculates Dp in linear equation with the aim at
stabilizing congestion control factors at router buffer.
Rate AQM (RAQM) (Chonggang , et al., 2005) uses the arrival rate and q as
congestion indicators. RAQM works in two modes that each calculates Dp in different
way. In the load dependent mode, only the total arrival rate is used to regulate the
output rate. In queue dependent mode, it also uses the q to further adjust the packet
drop probability and to regulate the queue length to the expected value.
Robust Active Queue Management (RaQ) (Sun and Zukerman, 2007) uses the
arrival rate and q as congestion indicators to calculate Dp. RaQ used dual inner loops
controller. A loop uses the arrival rate and the other loop uses q. Other methods, such
as Proportional Integral Controller (PI) (Hollot, et al., 2001), uses as congestion
indicators, q and traffic load. Yellow (Chengnian , et al., 2005) use the arrival rate and
q as congestion indicator.
21
In terms of advantages and disadvantages, hybrid-based AQM methods avoid
global synchronization by dropping packets randomly, response to sudden congestion
and improve delay. However, hybrid-based AQM methods may drop packets
unnecessarily when a short heavy traffic presented (false congestion) and they
required massive parameter initialization.
2.7 Fuzzy Based Active Queue Management
Fuzzy Logic (FL) has been used recently to solve the parameterization problem in
AQM. Several methods, such as Fuzzy BLUE method ((Feng , et al., 1999), (Wu-
chang , et al., 2002)) and Fuzzy RED method ((Chrysostomou , et al., 2003),(
Chrysostomou, , et al., 2003)), has been developed based on existing non-fuzzy AQM
methods.
FL is a field of study that concerns with the uncertainty and inexact modeling of a
problem [(Negnevitsky, 2009), (Abdel-Jaber, , et al., 2008),( Pedrycz and Vasilakos,
2000) ,( Ingoley ,2012), (Loukas, 2000))) . Opposite to binary logic (BL) (Zadeh,
1975), which depends on two values (0, 1), FL associates a fuzzy value, for the desire
output variables, between [0, 1].
With AQM methods, FL is used to calculate the packet dropping probability.
Fuzzy Explicit Marking (FEM) [(Chrysostomou, et al., 2003), (Negnevitsky, 2005),
(Hiok and Qiu, 2000)] is AQM method that is extending RED by replacing the
utilized thresholds in RED with a fuzzy inference process (FIP). FEM calculates Dp
as an output linguistic variable based on two input linguistic variables, that are the
changing rate in the buffer (CRB) and current buffer length (CBL) as parallel to
using avg in RED ((Negnevitsky, 2009) , (Chrysostomou, , et al., 2003)). REDD1
(Abdel-Jaber, et al., 2008), fuzzy based method, that was built on top of RED method.
22
The REDD1 relies on two input linguistic variables, which are avg and PL, to
generate one output linguistic variable, Dp.
Other fuzzy-based AQM methods were built on other than RED, such as
Adaptive Fuzzy-based AQM AFRED (Wang, et al., 2003) which used Gentle RED at
its core. AFRED uses as its input variable the avg and the output is Dp. Fuzzy Logic
Controller Random Early Marking (FUZREM) (Changbiao and Fengfeng, 2008)
implements a FI for REM (Yongju, et al., 2009). DEEP BLUE (Masoumzadeh, et al.,
2009) consists of combining the BLUE AQM algorithm with the FIP.
Fuzzy Control RED (FCRED) (Sun, et al., 2007) consists of a fuzzy controller
adjusting the maxp parameter of the RED algorithm based on the input variable avg.
RED-based fuzzy controller (Moghaddam, 2010) is also used to adjust the value of
maxp of RED. There are many other methods that use FIP to extend existing AQM
methods [(Negnevitsky, 2009), (Yaghmaee and AminToosi, 2003) ,( Zadeh ,1965)
,(Klir, 1995)].
Overall, these methods have solved the parameter initialization problem that
presented in other AQM methods. The drawbacks of these methods are inherited from
its core methods.
Table 2.2 summarizes the evaluation of the developed methods based on the
congestion control factors.
23
Table 2.2: Evaluation of AQM Methods
Ind
icato
r
Av
oid
Glo
bal
Sy
nch
ron
iza
tio
n
Pre
dic
t C
on
ges
tio
n
in E
arl
y s
tag
e
Res
po
nse
to
su
dd
en
Co
ng
esti
on
Av
oid
un
nec
essa
ry
pa
cket
dro
pp
ing
No
del
ay
Av
oid
Pa
ram
eter
iza
tio
n
RED Avg Yes Yes No Yes No No
FRED Avg Yes Yes No Yes No No
DSRED Avg Yes Yes No Yes No No
ARED Avg Yes Yes No Yes No No
GRED Avg Yes Yes No Yes No No
SRED Q Yes Yes Yes No No No
ERED Avg & Q Yes Yes Yes Yes No No
BLUE PL Yes No No Yes Yes No
MRED PL Yes No No Yes Yes No
AVQ Arrival rate Yes Yes Yes No Yes No
SAVQ Arrival rate Yes Yes Yes No Yes No
EAVQ Arrival rate Yes Yes Yes No Yes No
LUBA Load rate Yes Yes Yes No Yes No
SVB Arrival rate & Q Yes No Yes No Yes No
RAQM Arrival rate & Q Yes No Yes No Yes No
RaQ Arrival rate & Q Yes No Yes No Yes No
PI Load rate & Q Yes No Yes No Yes No
Yellow Arrival rate & Q Yes No Yes No Yes No
FEM Avg Yes Yes No Yes No Yes
24
REDD1 Avg & PL Yes Yes No Yes No Yes
AFRED Avg Yes Yes Yes No Yes Yes
FUZREM Arrival rate & Q Yes No Yes No Yes Yes
DEEP BLUE PL Yes No No Yes Yes Yes
FCRED Avg Yes Yes No Yes No Yes
RED-FC Q Yes Yes No Yes No Yes
2.8 ERED
AQM methods for congestion control at the router buffer have been developed for
the same purpose that is achieving the best QoS; however each method uses different
process with various considerations. ERED, has used as the technique for calculation
Dp as the one used in RED and enhance it. ERED has gained more advantages,
compare to RED, as it considers one more measure than RED that is the queue size q.
Subsequently, ERED has gained most of the advantages that a congestion controller
may have. However, ERED has shortages in terms of delay and parameterization
which need to be addressed. Accordingly, ERED will be extended to consider the
delay measure to improve its performance in terms of the delay.
The proposed work extends the ERED algorithms by injecting the measure of
delay into its main algorithm. By doing this, the ERED algorithm is upgraded from
being queue-based into a hybrid-based, as the utilized delay will be estimated based
on the load factor. Then, the extended ERED is wrapped by fussy inference process
(FIP) to solve the parameter initialization problem.
2.9 AQM and Delay
25
In computer networks, the undesirable increase of delay (D) affect on the increase
of the queue size mql. The desirable increase in Throughput (T) is also affect on the
increase of mql. Reducing D through reducing mql, by dropping packets, will increase
T, which is not desirable. As such, no AQM method will be better than the other when
the traffic load is normal or slightly heavy. When the load is low, no sacrifice is
necessary as D, T and mql. However, the differences of the AQM methods in terms of
their achievement on D and T are stated clearly in the congestion and pre-congestion
states. This is because the decision of dropping or allowing new arrival packets to
queue will affect these measures simultaneously in positive or negative manner.
Figure 2.5 illustrates the network statuses with different packet arrival rate, that
creates or does not create congestion in the buffer, compares to optimal rate (e.g.: rate
that can be handle efficiently by the network), with assumption that departure rate are
constant.
#Pac
kets
Arr
ival
#Time
Optimal Line
#Pac
kets
Arr
ival
#Time
Optimal Line Delay
#Pac
kets
Arr
ival
#Time
Optimal Line
Delay
#Pac
kets
Arr
ival
#Time
Optimal Line
Delay
#Pac
kets
Arr
ival
#Time
Optimal Line
Delay
(d) Overload
(a) Optimal (b) Nearly Optimal (c) Built-up Queue
Less than
optimal
26
Figure 2.5: Illustration of Traffic Scenarios in Router Buffer with a Constant
Departure Rate
Figure 2.5(a) illustrates arrival packet is represented by a straight line. The
optimal line, a non-real demonstration shows that the numbers of packets pass by the
router are increased overtime in linear manner, which means that the packets arrival
rate is constant. The optimal line demonstrates the scenario where no packet loss
occurs, no dropping is required and no delay is faced. Subsequently, any load-based
or queue-based will efficiently operates in such a case. Figure 2.6 illustrates a
demonstration of the packets arrival/departure to the queue over time in the optimal
case.
Figure 2.6: Illustration of Packets Arrival/Departure in the Buffer over Time in
Optimal Case
Congestion controller is required when the rate of packet arrival is not at the
optimal rate as shown in Figure 2.5(b). For example, the increase of the packet arrival
rate, with the assumption the departure is constant, will lead to accumulate packets in
Buffer in out
Demonstration
Evolving Process
Tim
e
....
.
27
the buffer and subsequently, packets will start facing delay. However, if this
increment followed by decrement to a value significantly below the optimal rate, the
buffer would build up for a short period only and will get back into its optimal state.
For example, say that the optimal rate leads to have 4 packets queued at any time in
the buffer to avoid any delay and packet loss. Increasing the arrival rate, will lead to
have more packets queued in the buffer, says 6 packets in the queue. Then, having
arrival rate below optimal will lead to have 4 or less packets queued in the buffer
continuously in the following time slots. Early dropping of packets in such a case is
just a waist, as the delay and queue size will increase temporary for a limited time
only and no packet loss will occur. Any load-based or queue-based will efficiently
response to such a case. As the given scenario has a limited and short bad affect and
AQM method does not drop packets in such a case. Figure 2.7 illustrates a
demonstration of the packets arrival/departure to the queue over time in the case.
Buffer in out
Demonstration
Evolving Process
Tim
e
....
.
28
Figure 2.7: Illustration of Packets Arrival/Departure in the Buffer over Time in
Nearly Optimal Case
In another case, when the arrival rate increases significantly and packets are
accumulated in the buffer, queue is built up and the accumulated packets start facing
delay. Then after awhile the rate maybe decreases and got back into the optimal rate,
but the buffer would be already built up and all the subsequent packets will face
similar delay. For example, say that the optimal rate leads to have 4 packets queued at
any time in the buffer to avoid any delay. Increasing the arrival rate for a short while,
will lead to have more packets queued in the buffer, says 6 packets in the queue. Even
if the traffic load got back to the optimal rate, 6 packets queued in the buffer
continuously in the following time slots. Having 6 packets will lead to have a packet
delayed in each time slot. An option in this case is to sacrifice, by dropping, all the
packets that rose above the optimal rate to avoid the delay of all subsequent packets
that reached within the optimal rate. Notice that, the number of packet queued might
not be large, but it is still causes delay. Figure 2.5(c) illustrates such a case. Generally,
drop some packets in this case, will preserve the delay. Only load-based technique
that consider the delay will implements dropping in this case if the queue size is
considered to be small. Figure 2.8 illustrates a demonstration of the packets
arrival/departure to the queue over time in the case.
29
Figure 2.8: Illustration of Packets Built-up Queue over Time when Delay
Increase
In another case if the traffic increased, initially then followed by another increase
and other increases. Avoid dropping in early stage will harms delay and huge packet
loss will occur. In this case, the status can be view clearly by measuring the number of
packets queued without looking into delay, as the queue size increases there is a need
to drop packets. Figure 2.5(d) illustrates such a case. Early dropping of packets is
necessary, as the delay and dropping rates will both be influenced negatively
otherwise. Both load-based and queue-based will finally lead to packet dropping but
the fast response will be initiated from queue- based. Figure 2.9 illustrates a
demonstration of the packets arrival/departure to the queue over time in the case.
Buffer in out
Demonstration
Evolving Process Ti
me
....
.
30
Figure 2.9: Illustration of Packets Overload the Buffer over Time in Unstable
Traffic
Overall, there are some cases wherein the queue size should be used to prevent
congestion and some other times delay should be used to enhance the performance
measure. Subsequently, there is a need to decide whether to drop packets based on
queue and delay states. It is to be noted that there is no optimal rate as similar to the
one drawn in Figure 2.5, in real implementation, subsequently the discussed scenarios
do not applied literally. Moreover, similar to all these scenarios might be happened
sequentially in a short while.
2.10 Conclusion
Buffer in out
Demonstration
Evolving Process Ti
me
....
.
31
Overall, a lot of AQM methods were developed that calculates the Dp in different
ways, these methods can be classified into queue-based, load-based, hybrid based and
fuzzy based. Many of these algorithms were proposed to address some problem in the
core AQM method that called RED.
Overall, ERED has gain most of the factors listed above for optimal congestion
controller. However, ERED has shortage in terms of delay and parameterization
which need to be addressed.
32
Chapter 3
Methodology
This Chapter presents the methodology that will be followed in order to develop
the proposed congestion controller to achieve the desired goals. A brief introduction is
given in section 3.1 followed by the methodology in section 3.2 and the conclusion in
the last.
3.1 Introduction
To start with, the methodology is designed with the aim to clarify the work phases
in clear steps. The desired work is mainly divided into two steps: The first step aims
to achieve the first goal which combining the delay factor into a congestion control
process. The second is to wrap the process with a Fuzzy Inference Process (FIP). Both
of these followed an identified methodology as will be given in next section.
3.2 Methodology
The methodology adopted to achieve the desired goals is conducted as follows:
The parameters are initialized first. Then, a packet generated and sent to the queue.
The packet as generated and sent, maybe lost if the queue is full, or it might be
dropped or queued as decided based on calculated the value of drop probability Dp for
each packet arrival by using the proposed method parametric and FIP-based, where
Packet arrival is simulated based on a pre-determined probability value called
“Alpha” that is in the range between 0-1. A random number generation is used to
generate a random number to be compared with alpha. If the number generated below
alpha then the packet is arrived to the buffer, else no packet is arrived.
33
The properties of random number besides it is random, it also generates a
distributed number. When Alpha is 0.5 then for a 100 slots, 50 slots will allow packet
arrival. Packet departure is simulated based on a pre-determined value called “Beta”
and is happened in a similar way as the packet arrival and based on random number
generation.
Congestion Control checks the statuses of the queue calculates the average queue
length and decides whether to drop the packet or to queue it. In the same time slot, a
packet maybe departed. This process is repeated for each time slot. This process is
illustrated in Figure 3.1.
Figure 3.1: Flowchart of the Hybrid ERED
Parameter Initialization
Finish No
Results Collection
Yes
AQM Method Calculate Dp based on Equation (extends ERED by including delay consideration in the implemented)
Packet Arrival
Queue Status Checking Drop/ Loss /Queue-in
Packet Departure
34
The parameters used in the experiments for are given in Table 5.1 as follows:
Table 3.1: Parameter settings
Parameter Initial Value
Probability of packet arrival 0.33, 0.5, 0.66, 0.93
Probability of packet departure 0.5
Number of slots 2,000,000
Warm-up 800,000
Router buffer capacity 20
Queue Weight 0.002
maxp 0.1
minth 3
maxth 9
The process of implementing Fuzzy-based congestion controller is given in
Figure 3.2.
Figure 3.2: Flowchart of Fuzzy Hybrid ERED
Create Fuzzy Sets Input
& Output Variables Create Membership
Functions Create Rule Set
Fuzzy Sets Membership Functions Rule Set
Crisp Input Fuzzification Rules Evaluation
Aggregation Defuzzification
Initialization
35
3.2.1 Initialization
The fuzzy sets should be determined in this step; the set may have the form
{"low", "medium", "high"}. Also, the membership functions are drawn in this step;
the membership function describes the slop of each linguistic term in the fuzzy set in
the space of the crisp input variable. The membership function which can be
formulated for the input and output linguistic variables used well-established
approaches of trapezoidal (Klir, 1995) or triangular (Negnevitsky, 2009). The
initialization of these sets and functions are subject to trial and error approach. Thus,
the initialization is altered and modified after the initial experiments are conducted. In
another word, the sets and membership functions should be trained to determine the
boundary and the slop of each linguistic term.
The rules are also determined, the rules utilized to obtain the linguistic terms for
the output variable from the linguistic terms of the input variables. The fuzzy
linguistic rules are created by error and trial methods.
3.2.2 Fuzzification
Based on the sets and memberships, in the Fuzzification step, the input crisp
values of the input linguist variables are converted into their equivalent linguistic
terms in the fuzzy set. Each crisp value can be converted into one or multiple
linguistic terms in its corresponding fuzzy set.
3.2.3 Rules Evaluation
Fuzzy rules, part of the fuzzy logic theory describe the connection between the
inputs and outputs variables. A fuzzy rule is a conditional statement of the form "IF x
is X AND y is Y THEN z is Z", where "x", "y" and “z” are the linguistic variables and
36
“X”, “Y” and “Z” are their representative linguist terms (Bazaz, et al., 2013). Thus, in
this step, the output of the fuzzification process is injected as input to the rule
evaluation and the output is a linguistic term(s) for the output variable.
3.2.4 Aggregation
The next step is to aggregate the output of all rules applied. If the inputs can be
anticipated on multiple rules, then multiple linguistic terms for the output variable
will be obtained. Each of these will also have a probability value which is obtained in
this step. This step is start with obtain a probability value for each output linguistic
term in which the input can be anticipated. The probability value of the output is
obtained as the maximum value of the probability of the input linguistic terms
anticipated.
Moreover, if the same linguistic term is appeared multiple times then the
maximum value for this term is considered.
3.2.5 Defuzzification:
Defuzzification, the final step generates a single crisp value for the output
linguistic variable. One of the popular defuzzification techniques is the center of
gravity (COG) method, which aims to find out the point located on the center of the
aggregate fuzzy set for each output linguistic. Given that multiple output linguistic
terms is obtained as multiple rules are anticipated, each with a probability value, the
final output crisp result is obtained mostly by the center of gravity.
3.3 Conclusion
37
Generally, original ERED and its ancestor method, RED, harms delay and
number of packet queued as it does not take into consideration the rates of traffic and
its transformation over time. Generally, the queue-size measure is helpful to avoid
congestion and thus, packet loss. However, delay is useful to avoid long packet
queuing time and dropping packets unnecessary especially, when the load decreases
significantly. Hybrid-ERED method is proposed by extended ERED method to
consider the delay measure. Fuzzy hybrid-ERED wrap the proposed method with
fuzzy inference process, to solve the parameter initialization problem.
38
Chapter 4
The System Design
This Chapter presents the proposed method for congestion control. The proposed
method is built on top of ERED method and is developed in two stages: The first
stage extends ERED by including delay consideration in the implemented congestion
controller mechanism (Hybrid-based ERED). The second stage further extends the
method resulted in the first stage by including fuzzy inference process to solve the
parameter initialization problem (Fuzzy-based Hybrid ERED). This chapter starts
with discussed the hybrid-ERED then the fuzzy hybrid ERED. Finally, a conclusion is
presented at the end of the chapter.
4.1 Hybrid-based ERED:
The proposed hybrid-ERED uses three congestion indicators, these are: q, avg
and DEsti. DEsti will be calculated through the arrival rate and departure rate. Dp will
be calculated to be increased/decreased linearly with the increment/decrement of the
value of the congestion indicators. In the hybrid-ERED, a few scenarios are
considered that is drawn based on the status of the indicators according to some
thresholds.
4.1.1 Delay Calculation:
Network delay generally is imposed of different types of delays, these are:
processing delay, transmission delay, propagation delay and queuing delay, the
subject of the proposed method. The queuing delay considered with the congestion
control can be calculated according to various laws. A derivation of the Little's law
39
(Allen, 1990), which has a fair estimation of the time that packet spends in the queue.
As such, estimated delay DEsti, is calculated as given in Equation 4.1.
( ) ( )
(4.1)
The estimated delay is proportional to the increment of the arrival rate and
inverse proportional to the departure rate. The estimated arrival rate is low-pass filter
of the average arrival rates over previous and current packets arrival events. The
arrival estimate is calculated as given in equation 4.2.
( ) ( )
(4.2)
Where p is the time value, is the value calculated previously for the arrival
rate, Arrp is the number of packets arrived in current time and warr is the weight
value. The estimated departure rate is calculated similarly as given in Equation 4.3.
( ) ( )
(4.3)
The low pass filter gives a more value to the older value to contribute to the
calculated output. This is implemented by given the weights parameters and
values below 0.5(Baklizi, et al., 2014). Subsequently, it is changed gradually
when the rate changes overtime. However, the same Equations above, Equation 4.2
and Equation 4.3 can be used for normal averaging process by given the weights
values equal to 0.5 and can be used as high-pas filter by given values above 0.5.
Subsequently, the value of DEsti in the optimal case, when the rate of arrival equal
to the rate of departure and only a single packet queued is equal to one. The value of
40
one is the edge between positive/high delay and negative/no-delay. Positive/high
delay has a value above one, which occurs when the arrival rate is more than the
departure rate and the queue is not empty. Negative/no-delay delay has a value below
one, which occurs when the departure rate is more than the arrival rate and the queue
is not full of packets. DEsti is proportional with the term (ArrEsti /DepEsti) as given in
Figure 4.1.
Figure 4.1: DEsti vs. (ArrEsti /DepEsti)
4.1.2 Hybrid-ERED Mechanism:
In the proposed Hybrid-ERED, avg and q indicators are tight up with thresholds.
These indicators according to their values with respect to the threshold values
determine the status of congestion. Based on the value of avg and q Hybrid-ERED
either drops no packets, drop packets based on Dp that is calculated using Equation
4.4, drop packets based on Dp calculated using Equation 4.5, which generates values
below the values generated in 4.4, subsequently drop less packets or drop all packets.
( h)
h h ,
( )
(4.4)
41
(4.5)
Equation 4.5 is bored from ERED as it is. This Equation drops fewer packets than
Equation 4.4 and it is used in non-severe congestion as will be discussed in the
following. Thus, adjusting this Equation is not valuable. The first part Equation 4.4 is
derived from ERED and is connected with the second part that has been developed in
hybrid-ERED to consider the delay. The parameter wD is a weight value determines
the contribution of the delay status in the network to the overall calculated Dp value.
The delay itself affects the calculated Dp value through the calculated delay, DEsti. As
mentioned previously in the optimal network status the value of the DEsti is 1.
4.1.3 Algorithm:
The Hybrid-ERED algorithm that integrates with delay measure is given below in
Algorithm 4.1.
Algorithm 4.1: Hybrid-ERED:
1
2
4
4
5
6
7
8
INITIALIZATION:
avg:= 0
count:= 0
FOR EACH arrival packet
CALCULATE new avg as follows:
IF q = 0 THEN avg:= (1 - wavg) f(idel Time)
* avg // When q = 0 , Idel time =
time
IF q != 0 THEN avg:= (1 - wavg)* avg + wavg *q
42
9
10
11
12
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
CALCULATE Dest and its related parameters as follows:
IF q = FULL THEN arrp = arrp-1 and depp:= (1-wdep)* depp-1 + wdep * #departedp
IF q != FULL THEN
arrp:= (1-warr)* arrp-1 + warr * #arrivedp and depp:= (1-wdep)* depp-1 + wdep *
#departedp
Dest:= (1 - depp) * arrp *q
CALCULATE Dp and its related parameters, and implements packet dropping, as:
if (minth2 ≤ avg < max th3) && (q≥min th2)
Dp'= maxp * (avg-min th)/(max th-min th)
Dp = Dp'/ (1-count* Dp') + wd(D est)
with probability Dp
drop packet
count := 0
else if (avg < min th2) && (q>max th2)
Calculate Dp = maxp / (1-count* maxp)
with probability Dp
drop packet
count := 0
else if (avg ≥ max th3)
Drop packet
Count = 0
else
43
Count = -1
Lines 1-4 provide the necessary initialization, in which the parameter avg is set to
0 and count to 0. Lines 4-30 are repeated with each arrival packet, mainly four major
processes is implemented with each arrival packet, there are:
Calculate the value of avg, in lines 5-7 as follows: Case 1 in line 6, if the q is
empty, q is the size of the buffer, and then avg is calculated based on the
function powered by the idle time. The more idle time (the longer the buffer
remains empty), as given in Equation 4.6. Case 2 in line 7, if q is not empty,
avg is calculated as low-pass filter of the average queue size, as given in
Equation 4.7.
( ) ( )
(4.6)
( ) ( )
(4.7)
Calculate the value of DEsti, lines 8-12, as follows: Case 1 in line 9, if the q is
full, then packets will be lost and no packets will arrive, subsequently, the
estimated arrival ArrEsti, cannot be updated and it remains as calculated before
buffer over flooding while estimated departure DepEsti, is calculated as given
in Equation 4.3 and discussed earlier. Case 2 in lines 10-11, if q is not full,
both the estimated arrival ArrEsti, and estimated departure DepEsti, are
calculated as given in Equation 4.2, Equation 4.3 and discussed earlier.
Calculate the value of Dp and implements packet dropping or queuing, lines
14-30, as follows: Case 1 in lines 15-20, if the avg between minth2 and
44
maxth3, and q above the minth2 the dropping probability Dp is calculated as
given in Equation 4.4 and discussed earlier. If the arrived packet will be
dropped according to the calculated Dp value as given in lines 16-17, the value
of the variable count is set to 0, as given in line 20. Case 2 in lines 21-25, if
the avg is less than minth2 and q above the maxth2 the dropping probability
Dp is calculated as given in Equation 4.5 and discussed earlier. If the arrived
packet will be dropped according to the calculated Dp value the value of the
variable count is set to 0. Case 3 in lines 26-28, if the avg is more than
maxth3, regardless of the q vale, the dropping probability Dp is set to 1, the
arrived packet is dropped and the value of the variable count is set to 0. Case 4
in lines 29-30, if the avg is between minth2 and maxth3 and q vale is less than
min th2 or if the avg is less than minth2 and q vale is between minth2 and
maxth3 the dropping probability Dp is set to 0 and the value of the variable
count is set to -1.
Keep track of the starting of idle time, the comment in line 6, the idle time
starts when the buffer gets empty.
The proposed method control congestion by calculating a Dp value based on
some input measures that estimated from the current buffer and traffic statues, there
parameters are: Queue size q, Average Queue Length avg, Estimated Arrival Rate
ArrEsti, Estimated Departure Rate DepEsti, Estimated Delay DEsti, A fixed value maxp
and count since the last dropped packet count. Mainly, the dropping is controlled
when q, avg values are between some thresholds that are: minth, minth2, maxth,
maxth2, maxth3. The utilized, measures, parameters and thresholds are identified as
follows:
1. Queue (q): The number of packets queued in the buffer.
45
2. Average Queue Length (avg): The average number of packets over a time
window calculated using low-pass filtering.
3. Estimated Arrival Rate (ArrEsti): The average number of packets received in a
time window. This value is updated with every arrival packet, when the buffer
overflowed, ArrEsti value freeze.
4. Estimated Departure Rate (DepEsti): The average number of packets departure
in a time window. This value is updated with every arrival packet.
5. Estimated Delay (DEsti): the amount of time units the packets stayed in the
buffer. This value is updated with every arrival packet
6. The count since the last dropped packet (count): number of packets queued
after the last packets dropped.
7. Full: packet number stored in router buffer equal buffer capacity.
8. Empty: no packet in router buffer.
The Thresholds are:
1. minth: A fixed value that refers to a position in the router buffer, if not
exceeded by the queued packets, according to avg and q, no dropping is
necessary as the queue will be considered of fair size.
2. minth2: A value that refers to a position in the router buffer, if not exceeded
by the queued packets, according to avg and q, no dropping is necessary as the
queue will be considered of fair size. minth2: is not a fixed value and it is
calculated as it is calculated as given in Equation 4.8.
3. maxth: A fixed value that refers to a position in the router buffer, if exceeded
by the queued packets, according to avg and q, the arrived packets should be
dropped as the queue will be considered to be in risk stage.
46
4. maxth2: A value that refers to a position in the router buffer, if exceeded by
the queued packets, according to avg and q, all the arrived packets should be
dropped. maxth2 is not a fixed value and it is calculated as it is calculated as
given in Equation 4.9.
5. maxth3: A value that refers to a position in the router buffer, if exceeded by
the queued packets, according to avg and q, the arrived packets should be
dropped. This stage is more risky than previous one. Maxth3 is not a fixed
value and it is calculated as it is calculated as given in Equation 4.10. These
parameters and equations have been borrowed from ERED (Abbasov and
Korukoglu, 2009).
(4.8)
(4.9)
(4.10)
Dp is calculated based on the status of the buffer and with reference to the
parameters identified previously based on the following scenarios:
1. When avg between minth2 and maxth3, and q above the minth2, packets are
dropped randomly with probability Dp.
2. When avg is less than minth2 and q above the maxth2, packets are dropped
randomly with probability Dp, however, with probability value less than the
one calculated in the previous case.
3. When avg above maxth3, all arrived packets are dropped (e.g.: Dp = 1.0).
47
4. When avg is between minth2 and maxth3 and q vale is less than min th2 or if
the avg is less than minth2 and q vale is between minth2 and maxth2, no
packets are dropped (e.g.: Dp = 0.0).
4.2 Fuzzy-based hybrid-ERED:
The proposed hybrid-ERED is wrapped with fuzzy inference process, to solve the
parameter initialization problem, in this section. Specifically, the thresholds and the
maxp parameters' values should be eliminated. The proposed method relies on two
input linguist variables that are avg and q. The output is initial Dp value. As a FIP-
based, the proposed method will be implemented in sequential process that are,
initialization, fuzzification, rules evaluation, aggregation and defuzzification.
4.2.1 Initialization:
The fuzzy sets is determined as: q: {empty, low, moderate, full}, avg:{low,
moderate, high}, Dp: {zero, low, medium, high}. The membership function can be
formulated for the input and output linguistic variables, using well-established
approaches of trapezoidal (Klir, 1995) or triangular (Negnevitsky, 2009). For the
simplicity triangular membership function was selected. Figure 4.2, Figure 4.3 and 4.4
illustrates the membership function of the linguistic variables according to the
selected triangular function.
The membership function should be trained to determine the boundary and the
slop of each linguistic term.
48
Figure 4.2: Initial Membership Functions for avg
Figure 4.3: Initial Membership Functions for q
Figure 4.4: Initial Membership Functions for Dp
4.2.2 Fuzzification:
low Moderate High
Empty Moderate Full Low
Zero Medium High Low
49
The Fuzzification step converts the input crisp values of the linguist variables avg
and q into equivalent linguistic terms in the fuzzy set.
Consider that the avg membership has been trained and determined as given in
Equation 4.2, subsequently; the following Equation 4.11, Equation 4.12 and Equation
4.14 are representative for low, moderate and high, respectively.
* +
(4.11)
* +
(4.12)
* +
(4.14)
Where, each function is represented by 4-values. The first value is the lower-
bound of the first line of the triangle and the second value is the upper-bound of that
line. The third and fourth values are the upper-bound and lower-bound of the second
line, respectively. Each function is represented by two lines, the low-bound is referred
to "a" and the upper-bound is "b". Subsequently, each of the two lines in each
function is represented, the low-bound is referred to "a1" and the upper-bound is "b1"
for the first line and low-bound is referred to a2 and the upper-bound is b2 for the
second line. For an input crisp value x, if (x<a1 or x>b2) then the output probability
of x to belong to that function is 0.0, while if (a1=b1=0.0) or (x>b1 and x<a2) then
the output probability of x to belong to that function is 1.0, finally if a1<x<b2, then
the output probability of x to belong to that function is x-a/b-a, depends on the line at
which x is occurred.
50
Subsequently, if an input crisp value for avg is given as 0.3, then the output fuzzy
term will be as follows: µavg = (low, 0.3) = 0.3-0.2/0.4-0.2 = 0.5. µavg = (moderate,
0.3) = 0.3-0.2/0.5-0.2 = 0.33. µavg = (high, 0.3) =0.0. This example is represented in
Figure 4.5. In summary, in this step, the fuzzy sets and the fuzzy membership
functions are determined.
Figure 4.5: Mapping Crisp into Linguistic Term
4.2.3 Rules Evaluation:
Rules Evaluation determines the rules utilized to obtain the linguistic terms of the
output variable from the linguistic terms of the input variables. As mentioned, the
linguistic terms of the input are obtained in the previous step. Example of the fuzzy
rules is given in Table 4.1 .More rules are added to be tested as given in Table 4.2.
However, all these rules will be tested and verified, the final set of rules will be
obtained when the experiments are implemented.
low Moderate High
0.3
51
Table 4.1: Examples of the Set of Fuzzy Logic Rules
Rules
IF q is empty AND avg is low THEN Dp is zero
IF q is empty AND avg is moderate THEN Dp is zero
IF q is empty AND avg is high THEN Dp is zero
IF q is low AND avg is low THEN Dp is zero
IF q is low AND avg is high THEN Dp is zero
IF q is low AND avg is moderate THEN Dp is zero
IF q is moderate AND avg is low THEN Dp is low
IF q is moderate AND avg is moderate THEN Dp is low
IF q is moderate AND avg is high THEN Dp is medium
IF q is full AND avg is low THEN Dp is medium
IF q is full AND avg is moderate THEN Dp is high
IF q is full AND avg is high THEN Dp is high
Table 4.2: Complete Set of Fuzzy Logic Rules
Avg Q
52
Empty Low Moderate Full
Low Zero Zero low/ moderate/ low/ moderate/
high
Moderate zero/ low/
moderate
zero/ low/
moderate
low/ moderate/
high
low/ moderate/
high
High zero/ low/
moderate/ high
zero/ low/
moderate/ high
moderate/ high low/ moderate/
high
4.2.4 Aggregation:
The next step is to aggregate the output of all rules, multiple outputs will be
obtained from previous step. Each of these will also have a probability value which is
obtained in this step. This step is start with obtain a probability value for each output
in which the input can be anticipated. The probability value of the output is obtained
as the maximum value of the probability of the input linguistic term, as given in
Equation 4.14.
( ( ) ( ))
(4.14)
4.2.5 Defuzzification:
Defuzzification, the final step generates a crisp value for the output linguistic
term based on its fuzzy set. One of the popular defuzzification techniques is the center
of gravity (COG) method, which aims to find out the point located on the center of the
aggregate fuzzy set for each output linguistic. Given that multiple output linguistic
terms is obtained as multiple rules are anticipated, each with a probability value, the
53
final output crisp result is obtained mostly by the center of gravity, which is
calculated as given in Equation 4.15. Figure 4.11 shows how the multiple linguistic
terms can be assigned for a single output variable.
∑ ( )
∑ ( )
(4.15)
Where the upper term represents the value of the probability of the output
linguistic term x multiplied by all the values covered by this term, e.g.: 0.0, 0.1 and
0.2. The lower term represents the number of values multiplied by the probability.
Figure 4.6: Aggregating Output
4.2.6 Calculate Final Dropping Probability
As a final fuzzy inference process, the output of the fuzzy inference process is
then merged with the delay measure to produce the final dropping probability. The
final dropping probability is calculated as given in Equation 4.16.
( )
(4.16)
zero medium high low
54
Where Dp' is the output of the fuzzy inference process and Dp is the final
dropping probability.
4.3 Conclusion:
Generally, original ERED and its ancestor method, RED, harm delay and it does
not take into consideration the rates of traffic over time. Generally, the queue-size
measure is helpful to avoid congestion and thus, packet loss. However, delay is useful
to avoid long packet queuing time and dropping packets unnecessary especially, when
the load decreases significantly. Hybrid-ERED method is proposed by extended
ERED method to consider the delay measure. Fuzzy hybrid-ERED wraps the
proposed method with fuzzy inference process, to solve the parameter initialization
problem.
55
Chapter 5
Results
This Chapter presents, compares and discusses the results of the Fuzzy Hybrid
ERED method that has been proposed in previous Chapter. The proposed and
compared methods are developed, executed and compared in this chapter. The pre-
evaluation execution of the developed methods that aims to set up some parameters'
values is presented in Section 5.3. The actual results, the comparison and the
discussion are given in Section 5.4. Finally the summary and conclusion are given in
Section 5.5.
5.1 Introduction:
In order to prove the efficiency of the proposed method, an experiment is
conducted. The proposed and compared methods are developed in the same
environment and then executed, finally the results are collected which forms the
outcome of the conducted experiments. In order to highlight the value added by the
proposed method, the results are compared with the results obtained by other
methods, these are: ERED which is the base of the proposed method and the one with
the best results so far as given in (Abbasov and Korukoglu, 2009). RED is the root of
most of the AQM methods.
5.2 Environment:
The simulation of the network process is implemented using one of the well-
known approaches called Discrete Time Queue (Alfa, 2010). The Discrete Time
Queue tracks, measures and evaluates the status of the network and network resources
56
at equal time intervals called slots. At each slot, either a packet arrive event or
departed event or both events may occur. Two subsequent packets arrival without
departure makes two time slots and so on. Several methods have been modeled and
tested using discrete-time queues. The other approach, called continuous model,
measures and evaluates the network performance periodically with equally length
periods. However, this approach does not efficiently address the events of packet
arrival and departures accurately. As the AQM is based on calculating Dp with each
arrival packets (event based), Discrete time queue was chosen to verify the proposed
work.
Experiments are simulated under the discrete time queue in Java. The
programming code is developed in NetBeans 7.5 IDE. The results are obtained in a
machine with Windows 7 operating system, Core i7 2500GHz and 6 GB RAM.
For the discrete time queue, packet arrival and packet departure rates are
established as probability values. Probability for arrival, and similarly for departure,
with 0 values, means no packets will be arrived at any time slot, with probability of
1.0 a packet surely will arrive at each time slot. For a value of 0.5, there is equal
chance for the packet to arrive or not at each time slot. The probability of the packet
departure in the conducted experiments was set to 0.5. And the probability of packet
arrival was set 0.33, 0.5, 0.66 and 0.93. When the arrival probability is below the
departure, no congestion is expected, while congestion or pre-congestion is expected
when the arrival rate is higher than the departure rate. Two Million time slots were
used in the experiments. This value allows for sufficient results, part of these slots are
used as a warm-up before the steady state, with total number of 800000 slots, and the
rest is for experimental measures. The buffer size of 20 packets was used (Baklizi, et
57
al., 2014). minth, maxth, maxp, and weight values are set to 3, 9, 0.1, and 0.002,
respectively, as recommended in RED(Floyd and Jacobson, 1993).
5.3 Parameter settings:
Besides the common parameters introduced above, the proposed method involves
other parameters that are: The delay weight, which is the value given to the delay in
the overall Dp calculation. The weight used in the calculation of the arrival rate, this
weight is used to balance between the previous and current arrival values to come out
with weighted average value for the estimated arrival rate. Note that, in real
implementation, the arrival rate is not fixed; the fixed value for the arrival probability
cannot be used with the proposed method. Thus, the estimated arrival is used as
discussed in Chapter four and the weight used by this estimation is set in this section.
The weight used in the calculation of the departure rate. These parameters are set up
empirically side by side with the fuzzy sets and memberships values used in the Fuzzy
Inference Process (FIP). The weights values attempted and the final weights set ups
are given in Table 5.2. While the final sets and memberships are given in Table 5.3.
The FIP values are set up in trial and error approach.
Table 5.2: Empirical weight settings
Parameter Attempted Final Value
Delay Weight
1.0, 0.9, 0.8, .., 0.1, 0.09,
0.08, ..0.01
0.05
Arrival Weight
1.0, 0.9, 0.8, .., 0.1, 0.09,
0.08, ..0.01
0.2
Departure Weight 1.0, 0.9, 0.8, .., 0.1, 0.09, 0.2
58
0.08, ..0.01
Table 5.3: Empirical FIP settings
Parameter Attempted Final Value
Queue Set
2, 3, 4, 5, 6 Linguistic Variables 4 Linguistic Variable: {zero, low,
moderate, full}
Queue Membership {0,0,0.6,0.7},{0.6,0.7,0.7,0.8},{0.7,0.8,0.8,0.9},{0.8,0.9,0.9,1.0}
Average Queue Length Set
2, 3, 4, 5, 6 Linguistic Variables 3 Linguistic Variable: { low,
moderate, high}
Average Queue Length
Membership
{0,0,0.6,0.7},{0.6,0.8,0.8,0.9},{0.8,0.9,0.9,1.0}
Dropping Probability
2, 3, 4, 5, 6 Linguistic Variables 4 Linguistic Variable: {zero, low,
moderate, high}
Dropping Probability
Membership
{0,0,0.3,0.5},{0.3,0.5,0.5,0.6},{0.5,0.6,0.8,0.9},{0.8,0.9,1.0,1.0}
5.4 Results:
The overall results of the compared and proposed methods are given in Table 5.4.
The results are compared under a heavy congestion, where the arrival probability is
0.93, while the departure probability is 0.5. As given in the table, the number of
packet arrival and number of packet departure for used with the execution of each
method are listed first; the packet arrival is almost equal. As for the packet departure,
not all packets arrived will be departed as these packets are subject to packet loss and
59
packet dropping, thus differs from one method to another. The first 800,000 time slots
out of the total times slots 2,000,000, used in the experiments are for warm-up. The
measures and all factors in warm-up period are simply discarded. The numbers of
packet loss and packet drops are then given and the total number of aggregating these
values are given as packet missed. Note that, if a similar number of packets missed in
all methods, it does not means that there performance are equal, because dropping a
packet is better than losing it, as simple fact in network performance evaluation.
Subsequently, a method that has ability to predict congestion in early stage and drop a
packet is highly better than the one that will finally queued-up and start losing
packets. The aim of showing the overall packet missed is to show that having more
packet dropping is an advantage.
Table 5.4: Performance comparison with arrival rate 0.93
Method
#Packe
t
arrived
#Packet
departe
d
#Packe
t Loss
#Packet
droppe
d
Overal
l
Packet
Missed
Delay
RED
111555
7 598376 323055 195136
517181 33.6367
5
ERED
111580
2 599997 69893 555915
515807 32.2766
5
HybridERED
111580
2 599997 3385 511787 515172
23.2277
FuzzyHybridERE 111559599275 0 516318 516318 21.5663
60
D 2 8
As noted, the proposed HybridERED improves the packet loss by dropping more
packets. This dropping cannot be considered as disadvantage, because finally the
overall missed packets for ERED and HybridERED are equal. Subsequently, the
Hybrid ERED dropped packets in-order to prevent the loss, which will for sure occur
in this case as the arrival rate is higher than departure rate. Moreover, the delay is
enhanced significantly by the proposed HybridERED.
As for the fuzzy based method, it is notably that using the FIP to enhance the
results in packet loss and delay. Subsequently, the proposed method is its parametric
and FIP-based forms perform highly better than ERED.
The results of the compared and proposed methods where the arrival probability
is 0.66, 0.5 and 0.33, while the departure probability is 0.5 are given in Table 5.5,
Table 5.6 and Table 5.7. As noted the number of packet arrivals in the following
tables are decreased as the arrival probability decreased.
As noted, when the arrival probability decreased from 0.93 to 066 (Table 5.4 and
Table 5.5), the performance of the HybridERED is better than of the fuzzy method in
term of the packet dropping. Packet loss and delay are still better in the fuzzy method.
However, dropping packets unnecessary is disadvantage. Thus the best performance
here is the HybridERED method. If the HybridERED method is compared to ERED
and RED method loss less packets and has less overall packet missed. Overall, the
proposed method is its parametric form performs better than ERED, when arrival
probability is equal to 0.66.
61
Table 5.5: Performance comparison with arrival rate 0.66
Method
#Packe
t
arrived
#Packet
departe
d
#Packe
t Loss
#Packet
droppe
d
Overal
l
Packet
Missed
Delay
RED
791269 595965 77569 117828
195297 28.3759
1
ERED 789265 601956 8765 178555 187320 25.1288
HybridERED 788967 602121 3385 183563 186858 20.237
FuzzyHybridERE
D 791685 566053 0 225632
225632
9.55655
When the arrival probability decreased to be 0.5 which is equal to the departure
probability, this case means no congestion occurs. In Table 5.6 it is noted that the
performance of the HybridERED is better than of the fuzzy method in term of the
packet dropping. Packet loss and delay are still better in the fuzzy method. If
compared to ERED and RED, HybridERED method loss less packets and has less
overall packet missed. Overall, the proposed method is its parametric form performs
better than ERED, when arrival probability is equal to 0.5
62
Table 5.6: Performance comparison with arrival rate 0.5
Method
#Packe
t
arrived
#Packet
departe
d
#Packe
t Loss
#Packet
droppe
d
Overal
l
Packet
Missed
Delay
RED
601386 575795 5070 20535
25605 16.5393
7
ERED
602113 581530 2055 18526
20581 17.8527
5
HybridERED
601959 581365 2055 18526
20581 17.6903
5
FuzzyHybridERE
D 597857 560056 0 29787
29787
8.66399
When the arrival probability decreased to be 0.33 which is less than the departure
probability, this case means no congestion occurs and the congestion control method
should not drop packets. In Table 5.7 it is noted that the performance of all the
compared methods are same.
63
Table 5.7: Performance comparison with arrival rate 0.33
Method
#Packe
t
arrived
#Packet
departe
d
#Packe
t Loss
#Packet
droppe
d
Overal
l
Packet
Missed
Delay
RED
395363 395363 0 0
0 3.9295
6
ERED
395363 395363
0 0 0 3.9295
6
HybridERED
395363 395363
0 0 0 3.9295
6
FuzzyHybridERE
D 395551 395363 0 0
0 3.9295
6
64
To give more depth on the performance of the proposed and compared methods,
these methods are compared with different arrival probabilities, with mql, dropping,
PL, missed, delay and throughput as given in Figure 5.1, Figure 5.2, Figure 5.3,
Figure 5.4, Figure 5.5 and Figure 5.6.
As noted, fuzzy method trends to drop packets unnecessarily, unlike the
parametric-based Hybrid method. Subsequently, the parametric-based can be used
when all the performance measures are demanded, while the performance of the fuzzy
is still better in case that delay is a critical factor, because it produces better delay
minimization compares to the other methods. Finally, the throughput which depends
on the number of packet departed and the utilization of queue, is almost equal for all
methods excepts it is less for FIP-based form as it drops more packets.
65
As illustrated in Figure 5.1 the mql for RED, ERED and Parametric-based Hybrid
are similar in arrival probability 0.5. Above this value, RED getting more value for
mql compared to ERED and the Parametric-based Hybrid. This is because RED tends
to avoid packet dropping. Thus, accumulates more packets in buffer when arrival
packets above 0.5. ERED and Parametric-based Hybrid has less mql as both tend to
drop more packets to avoid congestion. ERED mql is higher compared to Parametric-
based Hybrid as it also tries to avoid packet dropping. The FIP Hybrid get the lowest
mql when the arrival probability above and below 0.5. This is because the proposed
takes into consideration the delay factor. From the results, it is clear that the delay of
the fuzzy approach will be the best. However, this may indicates that the dropping
rate of the fuzzy is high.
Figure 5.1: (a) Mean Queue Length Comparison
66
In Figure 5.2 the dropping rate for RED, ERED and Parametric-based Hybrid are
similar in arrival probability 0.5. Above this value, RED drops less packets compared
to ERED and the Parametric-based Hybrid, for the same reason as discussed in the
mql. At arrival probability 0.75, Parametric-based Hybrid starts to drop more packets
compared to ERED. FIP Hybrid method trends to drop more packets in all cases.
However, this dropping is necessary at this case, where the arrival packets exceed the
departed packets. This dropping cannot be considered as disadvantage. Subsequently,
the Hybrid ERED dropped packets in-order to prevent the loss, which will sure occur
in this case as the arrival rate is higher than departure rate.
Figure 5.2: (b) Number of Packet Dropped Comparison
67
Figure 5.3 RED starts losing packets at 0.5 arrival probability with high rate.
ERED starts losing packets with higher probability arrival of 0.75. Parametric-based
and FIP HybridERED decreased packet loss significantly with arrival probability
above 0.5. These results depend on the analysis of previous figures of mql and packet
dropping.
Figure 5.3: (c) Number of Packet Lost
Comparison
68
Figure 5.4 all the compared methods almost missed the same amount of packets.
This is normal, as the arrival packets exceeding the departure packets. The packets
that have no room to be accommodated will be dropped or will be lost.. As the
numbers of packets in all the compared methods are similar, the total of packet missed
in each one is almost similar. However, FIP is tends to miss more packets because
high rate of packet dropping.
Figure 5.4: (d) Number of Packet Missed
Comparison
69
Figure 5.5 the throughput which depends on the number of packet departed and
the utilization of queue is almost equal for all methods except it is less for FIP-based
form as it drops more packets.
Figure 5.5: (e) Throughput Comparison
70
Figure 5.6 the FIP is better for achieving the best delay with arrival probability
above 0.5. Parametric-based HybridERED gives also better delay achievements
compared to RED and ERED.
5.5 Summary:
This chapter presented the performance evaluation of the proposed method in its
parametric and FIP-based forms. The performance evolutions show that the
parametric-based gives a better performance results, for all the performance measures.
Chapter 6
Conclusion and Future Works
Congestion control management was addressed in this thesis. This chapter
summarizes the findings and the future work.
Figure 5.6: (f) Delay Comparison
71
6.1 Conclusion:
In this thesis, a method for congestion control was developed and tested. The
proposed method extends a well known method called ERED in two ways:
First, the proposed method extends ERED by considering the delay issues in
the router buffer. The delay has been estimated using an equation with the
inputs of estimated arrival and estimated departure rates. Subsequently, the
extended method has transferred the original ERED method from being queue-
based into queue-based and load-based (Hybrid) method.
Second, the proposed Hybrid method has been implemented with a Fuzzy
Inference Process (FIP) to solve the problem of parameter initialization.
Experimental has been implemented. The result shows that the proposed method
in its two forms; parametric-based and fuzzy-based have improved the performance of
congestion control in terms of packet dropping, packet loss and delay. The
performance was enhanced by decreasing the packet loss, the queuing delay and
solves the parameter initialization problem.
The loss has been decreased by 10-100% depends on the arrival probability; Delay
has been decreased by 30-60%. The performance of the fuzzy is better than the
parametric-based form and ERED in terms of delay and packet loss.
6.2 Future Work:
Using the estimated delay as one of the thresholds that used to determine the
amount of dropping probability.
72
Proposing a new fuzzy logic-based congestion control method that uses the
delay, average queue length and queue length as input linguistic variables to
control the congestion in the networks.
Estimating the performance of the proposed method in wireless network
environment.
73
REFERENCES
Abbasov, B. and Korukoglu, S. (2009), Effective RED: An Algorithm To Improve
RED's Performance By Reducing Packet Loss Rate. Journal of Network
and Computer Applications, Vol. 32, No.3, pp. 703-709.
Abdel-Jaber, H., Mahafzah, M., Thabtah, F., Woodward, M. (2008), Fuzzy Logic
Controller Of Random Early Detection Based On Average Queue Length
and Packet Loss Rate. In Performance Evaluation of Computer and
Telecommunication Systems.
Agarwal, M., Gupta, R., and Kargaonkar, V. (2004), Link Utilization Based AQM
And Its Performance. In Global Telecommunications Conference, IEEE.
Alfa, A.S. (2010), Queuing Theory for Telecommunications.
Allen, A.O. (1990), Probability, Statistics, And Queuing Theory. Academic Press.
Baklizi, M., Abdel-Jaber, H., Ahmad Abu-Shareha, Mosleh M. Abualhaj, and
Sureswaran Ramadass (2014), Fuzzy Logic Controller Of Gentle Random
Early Detection Based On Average Queue Length And Delay Rate.
International Journal of Fuzzy Systems. Vol. 16, No. 1, pp. 9-19.
Bazaz, Y., kumar, S., and Anand, S. (2013), Congestion Control Mechanism using
Fuzzy Logic. International Journal of Emerging Trends & Technology in
Computer Science (IJETTCS), Vol. 2, No.3.
Changbiao, X. and Fengfeng, L. (2008), A Congestion Control Algorithm Of Fuzzy
Control In Routers, in International Conference on Wireless
Communications, Networking and Mobile Computing.
74
Chengnian Long , Bin Zhao, Xinping Guan and Jun Yang (2005), The Yellow Active
Queue Management Algorithm. Computer Networks, Vol. 47, No.4, pp.
525-550.
Chitra, K. and Padamavathi, D.G. (2010), Adaptive Choke: An Algorithm To
Increase The Fairness In Internet Routers. Int. J. Advanced Networking
and Applications, Vol.01, No.06, pp. 382-386.
Chonggang Wang, Bo Li, Y. Thomas Hou and Kazem Sohraby (2005), A Stable
Rate-Based Algorithm For Active Queue Management. Computer
Communications. Vol.28, No.15, pp. 1731-1740.
Chrysostomou, C., Pitsillides, A., Rossides, L., Polycarpou, M. and Sekercioglu, A.
(2003), Congestion Control In Differentiated Services Networks Using
Fuzzy-RED. Control Engineering Practice Vol.11 No.10, pp. 1153-1170.
Chrysostomou, C., Pitsillides A. and Sekercioglu Y.A. (2003), Fuzzy Explicit
Marking For Congestion Control In Differentiated Services Networks, in
Proceedings of the Eighth IEEE International Symposium on Computers and
Communications.
Deng, X., Sungwon Yi, Kesidis, G. and Das, C.R (2002), Stabilized Virtual Buffer
(SVB)-An Active Queue Management Scheme For Internet Quality-Of-
Service. In Global Telecommunications Conference, GLOBECOM'02, IEEE.
Fakharian, A. and Abbasi, A. (2015), Design of Congestion Controller for TCP
Networks Based On LMI Formulation. Journal of Optimization in Industrial
Engineering, Vol. 8, No.17, pp. 51-56.
75
Feng, W.-c., Dilip D. Kandlur , Debanjan Saha and Kang G. Shin (1999), BLUE: A
New Class of Active Queue Management Algorithms. University of
Michigan.
Floyd, S. (2000), Recommendations On Using The Gentle Variant Of RED.
http://www.aciri.org/floyd/red/gentle.html Access date: 12/10/2015.
Floyd, S. and Jacobson, V. (1993), Random Early Detection Gateways For
Congestion Avoidance. IEEE/ACM Trans. Netw., Vol. 1 No.4, pp. 397-413.
Floyd, S., Gummadi, R., and Shenker, S. (2001), Adaptive RED: An Algorithm For
Increasing The Robustness Of RED's Active Queue Management. AT&T
Center for Internet Research at ICSI.
Hiok, H. and Qiu, B. (2000), Fuzzy Logic Target Utilization And Prediction For
Traffic Control. in Global Telecommunications Conference.
Hollot, C.V., Vishal Misra, Don Towsley and Wei-BoGong (2001), On Designing
Improved Controllers For AQM Routers Supporting TCP Flows.
Twentieth Annual Joint Conference of the IEEE Computer and
Communications Societies. Proceedings.
Ingoley, S.N. and Nashipudi, M. (2012), A Review: Fuzzy Logic In Congestion
Control Of Computer Network, in International Conference in Recent
Trends in Information Technology and Computer Science.
Jamali, S., Alipasandi, N., and Alipasandi, B. (2014), An Improvement Over
Random Early Detection Algorithm: A Self-Tuning Approach. Journal of
Electrical and Computer Engineering Innovations, Vol. 2, No.2 pp. 57-61.
76
Kadhum, M. and Manickam, S. (2014), Control Update Frequency Of Queue
Changes Velocity For Congestion Management In High-Speed Networks.
in Communication, Networks and Satellite (COMNETSAT), IEEE
International Conference.
Klir, G.J. (1995), Fuzzy Logic. Potentials, IEEE. Vol.14, No.4, pp. 10-15.
Koo, J., Byunghun Song , Kwangsue Chung and Hyukjoon Lee (2001), MRED: A
New Approach To Random Early Detection. In Information Networking,
Proceedings. 15th International Conference, IEEE.
Kunniyur, S. and Srikant, R. (2003), End-To-End Congestion Control Schemes:
Utility Functions, Random Losses and ECN Marks. Networking,
IEEE/ACM Transactions, Vol.11, No.05, pp. 689-702.
Kwon, M. and Fahmy, S. (2002), Comparison Of Load-Based And Queue-Based
Active Queue Management Algorithms. The Convergence of Information
Technologies and Communications.
Lim, L.B., L.Guan, A. Grigg, I.W. Phillips, X.G.Wang and I.U. Awan. (2011),
Controlling Mean Queuing Delay Under Multi-Class Bursty and
Correlated Traffic. Journal of Computer and System Sciences, Vol. 77,
No.05, pp. 898-916.
Lin, D. and Morris, R. (1997), Dynamics of Random Early Detection. Vol.27, No.4,
pp. 127-137.
Long, C.-N., Zhao, B., and Guan, X.-P. (2005), SAVQ: Stabilized Adaptive Virtual
Queue Management Algorithm. Communications Letters, IEEE, Vol.9,
No.1, pp.78-80.
77
Loukas, R., Kohler, S., Andreas, P. and Tran-Gia Phuoc (2000), Fuzzy RED:
Congestion Control For TCP/IP Diff-Serv. in Electrotechnical Conference,
MELECON, 10th Mediterranean.
Masoumzadeh, S.S., Taghizadeh, G., Meshgi, K. and Shiry, S. (2009), Deep Blue: A
Fuzzy Q-Learning Enhanced Active Queue Management Scheme, in
International Conference on Adaptive and Intelligent Systems (ICAIS'09),
IEEE. pp. 43-48.
Moghaddam, M.H.Y. (2010), A Fuzzy Active Queue Management Mechanism For
Internet Congestion Control, in Third International Workshop on Advanced
Computational Intelligence (IWACI), IEEE. pp. 203-208.
Morris, R. (2000), Scalable Tcp Congestion Control. in Proceedings of the IEEE
INFOCOM.
Naixue, X., Athanasios V. Vasilakos, Laurence T. Yang, Cheng-Xiang Wang
,Rajgopal Kannan, Chin-Chen Chang and Yi Pan (2010), A Novel Self-
Tuning Feedback Controller For Active Queue Management Supporting
TCP Flows. Inf. Sci., Vol.180, No.11, pp. 2249-2263.
Negnevitsky, M. (2009), Artificial Intelligence: A Guide To Intelligent Systems.
Computer Networks Vol.53, pp. 650–667
Ott, T.J., Lakshman, T.V., and Wong, L. (1999), SRED: Stabilized RED. in
INFOCOM '99.Eighteenth Annual Joint Conference of the IEEE Computer
and Communications Societies.
Pedrycz, W. and Vasilakos, A. (2000), Computational Intelligence In
Telecommunications Networks.
78
Seifaddini, O., A. Abdullah, and a.H. Vosough (2013), RED, GRED, AGRED
Congestion Control Algorithms in Heterogeneous Traffic Types. In
International Conference on Computing and Informatics.
Sun, J. and Zukerman, M. (2007), RAQ: A Robust Active Queue Management
Scheme Based On Rate and Queue Length. Computer Communications,
Vol.30, No.8, pp. 1731-1741.
Sun, J., Zukerman, M., and Palaniswami, M. (2007), Stabilizing RED Using a Fuzzy
Controller, in International Conference on Communications (ICC'07), IEEE,
pp. 266-271.
Wang C., Li B., Sohraby K., and Peng Y. (2003), AFRED: An Adaptive Fuzzy-
Based Control Algorithm For Active Queue Management, in International
Conference on Local Computer Networks (LCN'03), IEEE. pp. 12-20.
Woodward, M.E. (1993), Communication and Computer Networks: Modeling
With Discrete-Time Queues. Wiley-IEEE Computer Society Press.
Wu-chang Feng, Shin, K.G., Kandlur, D.D. and Saha, D. (2002), The BLUE Active
Queue Management Algorithms. Networking, IEEE/ACM Transactions,
Vol.10, No.4, pp. 513-528.
Yaghmaee, M.H. and AminToosi, H. (2003), A Fuzzy Based Active Queue
Management Algorithm. Computer Department, Ferdowsi University of
Mashhad, Faculty of Engineering, pp. 458-462.
Yanping, Q., Hohai Univ, Lin Xiangze and Ji Wei (2007), A Stable Enhanced
Adaptive Virtual Queue Management Algorithm For TCP Networks. In
Control and Automation, International Conference, IEEE.
79
Yongju, X., Lianzhi, W., and Yalin, W. (2009), An Adaptive Target Queue Length
FREM Algorithm, in International Conference on Information Science and
Engineering (ICISE), IEEE. pp. 1634-1638.
Zadeh, L.A., (1965), Fuzzy Sets. Information and Control, Vol.8, No.3, pp. 338-
353.
Zadeh, L.A., (1975), The Concept Of A Linguistic Variable And Its Application
To Approximate Reasoning I, II, III. Information Sciences, Vol. 8, No.3, pp.
199-249.
Zheng, B. and Atiquzzaman, M. (2000), DSRED: An Active Queue Management
Scheme For Next Generation Networks. in Local Computer Networks.
25th Annual IEEE Conference.