Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

SS symmetry

Article
Weight Queue Dynamic Active Queue
Management Algorithm
Mahmoud Baklizi
Department of Computer Networks Systems, The World Islamic Science & Education University W.I.S.E,
Amman 00962, Jordan; mbaklizi@wise.edu.jo

Received: 16 November 2020; Accepted: 11 December 2020; Published: 14 December 2020 

Abstract: The current problem of packets generation and transformation around the world is router
congestion, which then leads to a decline in the network performance in term of queuing delay (D)
and packet loss (PL ). The existing active queue management (AQM) algorithms do not optimize the
network performance because these algorithms use static techniques for detecting and reacting to
congestion at the router buffer. In this paper, a weight queue active queue management (WQDAQM)
based on dynamic monitoring and reacting is proposed. Queue weight and the thresholds are
dynamically adjusted based on the traffic load. WQDAQM controls the queue within the router buffer
by stabilizing the queue weight between two thresholds dynamically. The WQDAQM algorithm is
simulated and compared with the existing active queue management algorithms. The results reveal
that the proposed method demonstrates better performance in terms mean queue length, D, PL ,
and dropping probability, compared to gentle random early detection (GRED), dynamic GRED,
and stabilized dynamic GRED in both heavy or no-congestion cases. In detail, in a heavy congestion
status, the proposed algorithm overperformed dynamic GRED (DGRED) by 13.3%, GRED by 19.2%,
stabilized dynamic GRED (SDGRED) by 6.7% in term of mean queue length (mql). In terms of D in
a heavy congestion status, the proposed algorithm overperformed DGRED by 13.3%, GRED by 19.3%,
SDGRED by 6.3%. As for PL , the proposed algorithm overperformed DGRED by 15.5%, SDGRED by
19.8%, GRED by 86.3% in term of PL .

Keywords: congestion algorithms; GRED; SDGRED; implementation; queue weight

1. Introduction
Computer network devices are utilized in smart homes, smart buildings, organizations, universities,
companies, and countries. The wide distribution of computer networks is a consequence of many factors,
and among these is the emerging of the Internet-of-Things (IoT). The ever-increasing use of computer
networks has resulted in increasing computer crimes and cyber-attacks. Moreover, the connected
terminals throughout these networks add a heavy load on the network resources and devices [1].
As a result, the amount of data transferred across the network devices, such as computers and routers,
greatly increases. To share the network resources [2–6], the transferred data are divided into packets.
Every device that generates packets must be temporarily stored at the router buffer before forwarding
to the next router or its destination. When the router buffer becomes full, congestion occurs, and it will
lead to the case of packet loss (Figure 1) [7–10].

Symmetry 2020, 12, 2077; doi:10.3390/sym12122077 www.mdpi.com/journal/symmetry


Symmetry 2020, 12, 2077 2 of 16
Symmetry 2020, 12, x FOR PEER REVIEW 2 of 15

Figure 1.
Figure Congested router.
1. Congested router.

TCP protocol
TCP protocolhas hasitsitscongestion
congestion control,
control, however,
however,congestion
congestion control at theatrouter
control buffer buffer
the router that results
that
in using TCP over the underlying networks is not considered [4,11].
results in using TCP over the underlying networks is not considered [4,11]. Congestion plays Congestion plays a prominent role
a
in the deterioration
prominent role in theofdeterioration
network performance.of networkThis phenomenon
performance. Thisincreases
phenomenon the queuing
increasesdelay (D) and
the queuing
packet(D)
delay lossand (PLpacket
) and decreases
loss (PL) and the number
decreases of the
packets
numbertransferred
of packets to their destination,
transferred which
to their is called
destination,
throughput (T) [10,12–14]. To face such a challenge, many active queue
which is called throughput (T) [10,12–14]. To face such a challenge, many active queue management management (AQM) algorithms
were developed
(AQM) algorithms andwere
improved
developedto detect
andcongestion
improved at to an earlycongestion
detect stage and improve
at an early network performance.
stage and improve
Several examples include the enhanced adaptive gentle random
network performance. Several examples include the enhanced adaptive gentle random early early detection (GRED) [15], stabilized
dynamic GRED
detection (GRED)(SDGRED) [16], Markov-modulated
[15], stabilized dynamic GRED (SDGRED) queuing systems [17], FL Intelligent
[16], Markov-modulated Traffic
queuing
Management
systems [17], [18], fuzzy logic
FL Intelligent approach
Traffic Managementfor congestion
[18], fuzzycontrol
logic[19], and dynamic
approach GRED (DGRED)
for congestion control [19], [20],
Markov-modulated [17], FLACC [19], and dynamic stochastic
and dynamic GRED (DGRED) [20], Markov-modulated [17], FLACC [19], and dynamic stochastic early discovery [20]. These algorithms,
although
early they have
discovery [20].great
These influence in easing
algorithms, the congestion,
although they havesuffer
great from somein
influence limitations.
easing theFor example,
congestion,
the DGRED algorithm adopts the concept of target average
suffer from some limitations. For example, the DGRED algorithm adopts the concept of target queue length (Taql), and thus drops
a large number of packets to statically stabilize the queue length at
average queue length (Taql), and thus drops a large number of packets to statically stabilize the queuea specific length. In addition,
GRED at
length algorithms use static
a specific length. thresholds
In addition, GREDand q w , which lead
algorithms to bursty
use static trafficand
thresholds problems
qw, which andlead
rapid to
congestion in the router buffer, respectively. Therefore, the router
bursty traffic problems and rapid congestion in the router buffer, respectively. Therefore, the router buffer rapidly increases and
becomes
buffer full. increases and becomes full.
rapidly
The performance
The performance measures, measures, delay delay (D),(D), packet
packet loss
loss (P(PLL)) and
and throughput
throughput (T) (T) have
have aa primary
primary
concern because they are used to evaluate whether the network performance is satisfactorynot
concern because they are used to evaluate whether the network performance is satisfactory or or [21].
not
The existing
[21]. The existing algorithms
algorithmsdo not doprovide
not providethe best theperformance
best performance according to theto
according mean queuequeue
the mean lengthlength
(mql),
D andD
(mql), PLand
. This PL.is because the existing
This is because algorithms
the existing used a static
algorithms usedtechnique for detecting
a static technique for and reacting
detecting andto
congestion at the router buffer. Therefore, a dynamic algorithm
reacting to congestion at the router buffer. Therefore, a dynamic algorithm must be developed to must be developed to manage the
packet dropping
manage the packet based on thebased
dropping dynamic on theweight queue.
dynamic weight queue.
This study proposes a new algorithm
This study proposes a new algorithm called weight queue called weight queue dynamic
dynamic active
active queue
queue management
management
algorithm (WQDAQM) to address the limitations of the
algorithm (WQDAQM) to address the limitations of the existing ones and improve existing ones and improve network performance.
network
The proposed algorithm is integrated with the TCP protocol to maintain
performance. The proposed algorithm is integrated with the TCP protocol to maintain the established the established conversation
for data exchange
conversation in high
for data performance
exchange in high [22]. The specific[22].
performance objective of this study
The specific objectiveis to of
decrease
this studythe mean
is to
queue length
decrease the mean (mql),queue
PL , and D compared
length (mql), PLwith , andother algorithms.
D compared withTheother proposed
algorithms. algorithm controls
The proposed
and manages
algorithm the packet
controls droppingthe
and manages by maintaining
packet dropping the queue weight and the
by maintaining the thresholds
queue weight dynamically.
and the
The rest of the paper is organized as follows, Section 2 presents the literature
thresholds dynamically. The rest of the paper is organized as follows, Section 2 presents the literature review, and Section 3
discusses
review, and theSection
proposed WQDAQM
3 discusses algorithm,WQDAQM
the proposed Section 4 explains
algorithm, the Section
simulation mechanism,
4 explains Section 5
the simulation
discusses the results of all compared algorithms, and Section 6 provides
mechanism, Section 5 discusses the results of all compared algorithms, and Section 6 provides the the conclusion.
conclusion.

2. Related Works
Several algorithms were created to manage the queue and control congestion at the router buffer
[3,8,11,23]. The default algorithm for congestion control is the drop tail (DT) algorithm [24]. This
algorithm uses the first-in first-out (FIFO) principle, in which the arriving packets are dropped once
the router buffer overflows, as illustrated in Figure 2 [11]. The DT does not have thresholds, and when
the maximum capacity of the router buffer is reached, the new arriving packets are dropped directly.
Symmetry 2020, 12, 2077 3 of 16

2. Related Works
Several algorithms were created to manage the queue and control congestion at the router
buffer [3,8,11,23]. The default algorithm for congestion control is the drop tail (DT) algorithm [24].
This algorithm uses the first-in first-out (FIFO) principle, in which the arriving packets are dropped
once the router buffer overflows, as illustrated in Figure 2 [11]. The DT does not have thresholds,
Symmetry 2020, 12, x FOR PEER REVIEW 3 of 15
and when the maximum capacity of the router buffer is reached, the new arriving packets are dropped
directly. The main disadvantages of DT include increasing bursty traffic and PL , decreasing delay and
The main disadvantages of DT include increasing bursty traffic and PL, decreasing delay and T, and
T, and causing global synchronization [2,11].
causing global synchronization [2,11].

Figure 2. Drop tail (DT) router buffer.


Figure 2. Drop tail (DT) router buffer.

To overcome
To overcome the the limitations
limitations of of the
the DTDT algorithm,
algorithm, AQM AQM algorithms
algorithms are are introduced
introduced [15,25,26].
[15,25,26].
Unlike the former, which depends on the capacity of the router,
Unlike the former, which depends on the capacity of the router, the latter use thresholds the latter use and
thresholds
parameters and
parameters
to manage and to maintain
manage and maintain
congestion congestion
at an early stage.atAQM
an early stage. AQM
algorithms use thealgorithms use the
average queue average
length (aql)
queue length (aql) and queue length (q) as signs to notify the algorithm to
and queue length (q) as signs to notify the algorithm to adjust the dropping of arriving packets before adjust the dropping of
arriving packets before the capacity limit of the router buffer is reached,
the capacity limit of the router buffer is reached, thereby managing the congestion and maintaining the thereby managing the
congestion and
performance maintaining
measures at thethe performance
optimal level as measures at the optimal
much as possible. All AQM levelalgorithms
as much asdeliver
possible. All
better
AQM algorithms deliver better results than
results than the DT algorithm in terms of mql, D, and PL . the DT algorithm in terms of mql, D, and P L.

Floyed and
Floyed and Jacobson
Jacobson [27][27] proposed
proposed an an algorithm
algorithm called
called random
random earlyearly detection
detection (RED)
(RED) to to manage
manage
the congestion
the congestion at at an
an early
early stage
stage and
and overcome
overcome the the drawbacks
drawbacks and and limitations
limitations of of the
the DTDT algorithm.
algorithm.
The main mechanism of this algorithm involves computing the aql of
The main mechanism of this algorithm involves computing the aql of the incoming packets and droppingthe incoming packets and
dropping
them beforethem
the before the router
router buffer bufferfull.
becomes becomes full. Tothe
To calculate calculate
dropping theprobability
dropping probability (DP), the
(DP ), the calculated
calculated aql and the router buffer thresholds (min and max thresholds)
aql and the router buffer thresholds (min and max thresholds) are maintained to implement packet are maintained to
implement packet dropping based on the following scenarios: (1) if aql < min
dropping based on the following scenarios: (1) if aql < min threshold, no packet is dropped; (2) if min threshold, no packet is
dropped; (2)
threshold> aqlif<min
max threshold>
threshold,aql < maxare
packets threshold,
droppedpackets
followingare adropped
specific following
equation; anda specific equation;
(3) if aql > max
and (3) if aql > max threshold, all packets are dropped, and D P = 1 because the incoming packet will
threshold, all packets are dropped, and DP = 1 because the incoming packet will be eliminated [27].
be eliminated
Therefore, [27]. Therefore,
the random dropping the random
in the droppingis in
RED algorithm the RED
a good algorithm
solution is a good
for avoiding burstysolution for
traffic and
avoiding
global bursty trafficInand
synchronization. globalthis
addition, synchronization.
algorithm achieves In addition, this algorithm
better performance than the achieves better
DT algorithm.
performance than the DT algorithm. Figure
Figure 3 depicts the router buffer in the former [25]. 3 depicts the router buffer in the former [25].
implement packet dropping based on the following scenarios: (1) if aql < min threshold, no packet is
dropped; (2) if min threshold> aql < max threshold, packets are dropped following a specific equation;
and (3) if aql > max threshold, all packets are dropped, and DP = 1 because the incoming packet will
be eliminated [27]. Therefore, the random dropping in the RED algorithm is a good solution for
avoiding2020,
Symmetry bursty traffic and global synchronization. In addition, this algorithm achieves better
12, 2077 4 of 16
performance than the DT algorithm. Figure 3 depicts the router buffer in the former [25].

Figure
Figure 3.
3. Router
Router buffer
buffer in
in the
the random early detection
random early detection (RED)
(RED) algorithm.
algorithm.

As the RED algorithm enhances the performance measures of congestion control and addresses
Symmetry 2020, 12, x FOR PEER REVIEW 4 of 15
the limitations of the DT algorithm, researchers begin to improve AQM algorithms with reference to
the RED mechanism. For instance, Floyd [25] created GRED, which aims to manage full congestion.
the RED mechanism. For instance, Floyd [25] created GRED, which aims to manage full congestion.
The objective of GRED is to stabilize the aql among the min, max, and doublemax thresholds (Figure 4).
The objective of GRED is to stabilize the aql among the min, max, and doublemax thresholds (Figure
Unlike RED, GRED uses three thresholds that provide the opportunity to control congestion at an early
4). Unlike RED, GRED uses three thresholds that provide the opportunity to control congestion at an
stage by dropping the packets in three stages to prevent the router buffer from the building itself.
early stage by dropping the packets in three stages to prevent the router buffer from the building
The mechanism of GRED is executed as follows. First, the router buffer receives the packet when
itself. The mechanism of GRED is executed as follows. First, the router buffer receives the packet
aql reaches the min threshold. If the min threshold < aql ≤ max threshold, GRED drops the packet
when aql reaches the min threshold. If the min threshold < aql ≤ max threshold, GRED drops the
randomly following a specific equation. Secondly, DP is increased following a specific equation when
packet randomly following a specific equation. Secondly, DP is increased following a specific
aql is between the max and doublemax thresholds. Lastly, DP becomes 1 when the aql exceeds the
equation when aql is between the max and doublemax thresholds. Lastly, DP becomes 1 when the aql
doublemax threshold. As a result, every packet will overflow.
exceeds the doublemax threshold. As a result, every packet will overflow.

Figure 4.
Figure 4. Gentle
Gentle random
random early
early detection
detection (GRED)
(GRED) router
router buffer.
buffer.

However,GRED
However, GREDhas has a problem
a problem regarding
regarding the number
the number of thresholds
of thresholds that it that it contains,
contains, which
which results
in a parameterization issue [20]. The parameter should be set to a defined value to obtain a gooda
results in a parameterization issue [20]. The parameter should be set to a defined value to obtain
good performance.
performance. In addition,
In addition, the behavior
the behavior of aql be
of aql cannot cannot be suddenly
suddenly changed.changed.
When aqlWhenreliesaql
on relies
the minon
the min threshold area, and heavy congestion occurs, aql needs a long time to modify
threshold area, and heavy congestion occurs, aql needs a long time to modify its value, and thus causes its value, and
thus
the causes
router the torouter
buffer buffer
overflow. ThetoGRED
overflow. The GRED
algorithm is one ofalgorithm is one
the important AQM of the important
algorithms. AQM
DGRED
isalgorithms.
an enhanced DGRED
versionisofan
GREDenhanced version
[20], which of GREDto[20],
is developed which
improve theiscongestion
developedinvestigation
to improve[20]. the
congestion investigation [20]. This algorithm is based on Taql; the value of
This algorithm is based on Taql; the value of Taql should be between the min and max thresholdsTaql should be between
the min and
following max thresholds
a specific equation tofollowing
stabilizeaaqlspecific equation
at a specific to stabilize
position aql at athe
and prevent specific
routerposition and
buffer from
prevent itself
building the router buffer from[20].
and overflowing building
Figureitself andthe
5 shows overflowing [20]. Figure
Taql at the router buffer.5Theshows
DGREDthe Taql at the
algorithm
router buffer. The DGRED algorithm achieves a better performance than other AQM algorithms and
stabilizes the Taql at a specific level to prevent the buffer from overflowing rapidly.
Figure 4. Gentle random early detection (GRED) router buffer.

However, GRED has a problem regarding the number of thresholds that it contains, which
results in a parameterization issue [20]. The parameter should be set to a defined value to obtain a
good performance.
Symmetry 2020, 12, 2077 In addition, the behavior of aql cannot be suddenly changed. When aql relies
5 of on
16
the min threshold area, and heavy congestion occurs, aql needs a long time to modify its value, and
thus causes the router buffer to overflow. The GRED algorithm is one of the important AQM
achieves a better performance than other AQM algorithms and stabilizes the Taql at a specific level to
algorithms. DGRED is an enhanced version of GRED [20], which is developed to improve the
prevent the buffer from overflowing rapidly.
congestion investigation [20]. This algorithm is based on Taql; the value of Taql should be between
Similar to GRED, DGRED suffers from a parameterization problem because of its several thresholds
the min and max thresholds following a specific equation to stabilize aql at a specific position and
and Taql. Therefore, the SDGRED algorithm is developed to improve and manage congestion [20].
prevent the router buffer from building itself and overflowing [20]. Figure 5 shows the Taql at the
This algorithm uses dynamic thresholds based on the value of aql to detect congestion at an early stage.
router buffer. The DGRED algorithm achieves a better performance than other AQM algorithms and
Figure 6 presents the SDGRED router buffer.
stabilizes the Taql at a specific level to prevent the buffer from overflowing rapidly.

Symmetry 2020, 12, x FOR PEER REVIEW 5 of 15

congestion [20]. This algorithm uses dynamic thresholds based on the value of aql to detect congestion
at an early stage. Figure 6 presents the
Figure
Figure 5.SDGRED
5. router(DGRED)
Dynamic GRED
Dynamic GRED buffer. buffer.
(DGRED) buffer.

Similar to GRED, DGRED suffers from a parameterization problem because of its several
thresholds and Taql. Therefore, the SDGRED algorithm is developed to improve and manage

Figure 6.
Figure 6. Stabilized
Stabilized dynamic
dynamic GRED
GRED (SDGRED)
(SDGRED)router
routerbuffer.
buffer.

Unlikein
Unlike inDGRED,
DGRED, all all thresholds
thresholds in
in the
the SDGRED
SDGRED algorithm
algorithm change
changefollowing
followingthe statusofofaql
thestatus aqlatat
therouter
the routerbuffer
buffer [16].
[16]. Moreover,
Moreover, SDGRED
SDGRED eliminates
eliminates TaqlTaql to decrease
to decrease the parameterization
the parameterization in theinrouter
the
router This
buffer. buffer. This algorithm
algorithm reduces reduces congestion
congestion in either in either congested
congested or non-congested
or non-congested cases. The cases. The
SDGRED
SDGRED improves
algorithm algorithmthe improves
networkthe network performance
performance in terms
in terms of mql, of mql,
D, PL and D, PL and
decreases decreases the
the dependency on
dependency on a specific parameter. However, this algorithm requires further
a specific parameter. However, this algorithm requires further improvement to reduce the bursty trafficimprovement to
reduce
when thethe bursty of
number traffic whenpackets
arriving the number of arriving
increases, packets
especially increases,
during especially
high traffic. Thisduring
studyhigh traffic.
investigates
This
the study investigates
congestion detection the congestion
mechanism, detection mechanism,
advantages, advantages,
and disadvantages of theand
DT, disadvantages
RED, GRED, DGRED, of the
DT, RED, GRED, DGRED, and SDGRED algorithms. These algorithms aim to
and SDGRED algorithms. These algorithms aim to control the congestion before the router buffers control the congestion
before the
become router buffers
occupied. become
In general, occupied. Inofgeneral,
the drawbacks the drawbacks
the algorithms that useofa non-adaptive
the algorithmsmechanism,
that use a
non-adaptive
such as DT, RED, mechanism,
and GRED such as DT, RED,
algorithms, and static
include GREDparameters,
algorithms,fixed
include static parameters,
threshold values, andfixed
fixed
dropping calculation. The adaptive mechanism, such as DGRED and SDGRED algorithms, areand
threshold values, and fixed dropping calculation. The adaptive mechanism, such as DGRED just
SDGRED algorithms, are just for thresholds. Table 1 compares the existing AQM algorithms and
highlights the gaps that will be covered in this paper.

Table 1. Summary of the existing active queue management (AQM) algorithms.

Adaptive/
Symmetry 2020, 12, 2077 6 of 16

for thresholds. Table 1 compares the existing AQM algorithms and highlights the gaps that will be
covered in this paper.

Table 1. Summary of the existing active queue management (AQM) algorithms.

Adaptive/
Algorithms Metric(s) Dropping Mechanism Advantages Disadvantages
Non Adaptive
High PL , high delay and
Drop all packets only after Simple and low computation
Drop tail Queue length (q) Non Adaptive low throughput, and leads
the buffer gets overloaded overhead requirements
to global synchronization
Eliminate global Sensitive to
Symmetry
RED 2020, 12,(Qavg)
x FOR PEER REVIEW
Non Adaptive Drop packets stochastically 6 of 15
synchronization problems sudden congestion
Several threshold values,
More robust to
GRED (Qavg) adaptive Drop packets stochastically parameterization
Uses dynamic sudden congestion
and overflow
Several threshold values,
DGRED Qavg adaptive thresholds based on
Drop packets stochastically Stabilize Qavg partially Several threshold values,
parameterization
Stabilize Qavg and overflow
SDGRED Qavg adaptive the value of aql to
Uses dynamic thresholds
parameterization and
based on the value of aql to
partially Several threshold values,
SDGRED Qavg adaptive detectdetect
congestion at an
congestion at
Stabilize Qavg partially overflow
parameterization
and overflow
an early stage
early stage

Managing
Managingthe thecongestion in dynamic
congestion in dynamicrouterrouter
buffersbuffers
is urgent. is The algorithms
urgent. mentioned previously
The algorithms mentioned
fail
previously fail to address the issue regarding the bursty traffic congestion caused byofthe
to address the issue regarding the bursty traffic congestion caused by the numbers packets in the
numbers of
router buffer. This problem leads to an increase in average time and P L . Therefore,
packets in the router buffer. This problem leads to an increase in average time and PL. Therefore, the the WQDAQM
algorithm
WQDAQM is algorithm
proposed is toproposed
improve to theimprove
PL and the
D ofPLdynamic
and D ofrouter
dynamicbuffers.
routerThis algorithm
buffers. aims to
This algorithm
identify and avoid congestion in the buffer by stabilizing aql at a level that is less
aims to identify and avoid congestion in the buffer by stabilizing aql at a level that is less thanthan the router buffer
the
capacity by using a dynamic q w .
router buffer capacity by using a dynamic qw.
3. Proposed Algorithm
3. Proposed Algorithm
The WQDAQM algorithm adopts several processes used in the SDGRED mechanism and utilizes
The WQDAQM algorithm adopts several processes used in the SDGRED mechanism and
a dynamic qw to timely manage the congestion. Unlike the latter, which uses a static value that is
utilizes a dynamic qw to timely manage the congestion. Unlike the latter, which uses a static value
intended for its buffer technique, the aim of the proposed algorithm is to control the dropping of the
that is intended for its buffer technique, the aim of the proposed algorithm is to control the dropping
packets by dynamically stabilizing the qw between the min and max thresholds. Another aim of the
of the packets by dynamically stabilizing the qw between the min and max thresholds. Another aim
proposed algorithm is to enhance the network performance in terms of mql, PL , and D compared with
of the proposed algorithm is to enhance the network performance in terms of mql, PL, and D
other AQM algorithms when full congestion occurs.
compared with other AQM algorithms when full congestion occurs.
As illustrated in Figure 7, the router buffer in the proposed algorithm is separated into three parts,
As illustrated in Figure 7, the router buffer in the proposed algorithm is separated into three
namely, min, max, and doublemax thresholds. Congestion is measured based on aql.
parts, namely, min, max, and doublemax thresholds. Congestion is measured based on aql.

Figure 7.
Figure 7. Weight
Weight queue
queue active
active queue
queue management
management (WQDAQM)
(WQDAQM)router
routerbuffer.
buffer.

The router
The router buffer
bufferoperates
operates normally
normally whenwhen the
the incoming
incoming packet
packet is
is less
less than
than the
the min
min threshold;
threshold;
that is,
that is, the
therate
rateof
ofthe
thepacket
packetarrival
arrivalisisless
lessthan
thanthat
thatofofpacket
packetdeparture.
departure. Therefore,
Therefore,no nocongestion
congestion
occurs in the router buffer. However, when the number of incoming packets increases, the arrival
quantity ranges between the min threshold and max threshold, and the buffer drops the packets
randomly in accordance with Equation (1):
D × (aql − min threshold)
max threshold − min threshold (1)
Symmetry 2020, 12, 2077 7 of 16

occurs in the router buffer. However, when the number of incoming packets increases, the arrival
quantity ranges between the min threshold and max threshold, and the buffer drops the packets
randomly in accordance with Equation (1):

Dmax ×(aql − min threshold)


max threshold − min threshold
DP = (1)
(1 − C × Dinit )

When the traffic increases and the number of packets exceeds the max threshold, DP increases
following Equation (2) to prevent the router buffer from the building itself. When the number of:

(1−Dmax )×(aql −max threshold)


Dmax + max threshold
DP = (2)
Symmetry 2020, 12, x FOR PEER REVIEW (1 − C × Dinit ) 7 of 15

arriving
arriving packets
packets exceeds
exceeds the
the doublemax
doublemax threshold,
threshold, D is set
DPP is set to
to 1,
1, which
which means
means that
that all
all incoming
incoming
packets
packets will
will be
be dropped
dropped and
and the
the router
router buffer
bufferisisoccupied.
occupied.
WQDAQM
WQDAQM also alsoupdates
updatesthethe
queue weight
queue parameter
weight at the router
parameter at thebuffer
routerto buffer
control to
thecontrol
congestion.
the
WQDAQM uses the SDGRED algorithm’s policy in dropping packets with probability
congestion. WQDAQM uses the SDGRED algorithm’s policy in dropping packets with probability when the
aql
whenis either
the aql between the min the
is either between threshold and max
min threshold andthreshold or between
max threshold the max
or between the threshold and
max threshold
doublemax threshold.
and doublemax threshold.

Phases
Phases of
of the
the WQDAQM
WQDAQM Algorithm
Algorithm
The
The WQDAQM
WQDAQMalgorithm algorithmisisimplemented
implemented inin
seven stages,
seven as illustrated
stages, in Figure
as illustrated 8. In8.stage
in Figure one,
In stage
the parameters are initialized as the packets start to arrive at the router buffer. The
one, the parameters are initialized as the packets start to arrive at the router buffer. The thresholds thresholds are
set
are to
set3,to9,3,and 18,18,
9, and which
whicharearethethe
samesameasas
the threshold
the thresholdvalues
valuesofofthe
theGRED,
GRED,DGRED
DGREDand and SDGRED
SDGRED
algorithms value of aql
algorithms [25]. The value of aql is set to zero, which indicates that no packet has reached the
[25]. The is set to zero, which indicates that no packet has reached the router
router
buffer
buffer yet.
yet. D Dmax , which represents the highest value of the primary packet that will be dropped, is set
max, which represents the highest value of the primary packet that will be dropped, is set
to
to 0.1
0.1 [25]. The value
[25]. The value of
of q
qww is
is dynamic
dynamic and and dependent
dependent on on the
the station
station of aql at
of aql at the
the router
router buffer.
buffer.

Stage 1: Parameter Stage 3:Queue Weight Stage 4:Average Queue


Stage 2:Packet Arrival
Initialization Adjustment Length Calculation
No

Stage 5:Dynamic
Stage 7:Collect Results Yes Finish Stage 6:Simulation
Threshold Calculation

Figure 8.
Figure 8. Implementation of the
Implementation of the WQDAQM
WQDAQM algorithm.
algorithm.

In stage two, the router buffer of the proposed algorithm starts receiving receiving the packets to store and
forward them
forward themtototheir
their destinations.
destinations. The
The Bernoulli
Bernoulli model
model is used
is used to manage
to manage the receiving
the receiving packets,
packets, which
which
is is suitable
suitable for thethat
for the buffer buffer
has that haslength
a static a static length
slot slotIn[28,29].
[28,29]. In stage,
the third the third stage, qw prominently
qw prominently drops the
drops the
packets packets
because DPbecause
depends DPondepends on of
the values theaql.
values
When of aql
aql.isWhen aql is small
extremely extremely small
and q, whichand q, which
represents
the real packet in the router buffer, is excessively high, the aql needs a long time to update itsupdate
represents the real packet in the router buffer, is excessively high, the aql needs a long time to value.
its value. Therefore,
Therefore, qw must beqwdynamic
must beto dynamic
balance to
aqlbalance
and q toaqldrop
andtheq topacket
drop the
andpacket
preventand prevent
sudden sudden
congestion
congestion
or or bursty
bursty traffic. traffic. The
The detailed detailed
process flowprocess flow isindisplayed
is displayed Figure 9. in Figure 9.

Begin Calculate aql value aql <= min_threshold Yes qw =0.002

No

min_threshold < aql


Yes qw = qw + 0.001
<= max_threshold

No

max_threshold < aql


No
<= double_max
Yes qw = qw + 0.002

End
forward them to their destinations. The Bernoulli model is used to manage the receiving packets,
which is suitable for the buffer that has a static length slot [28,29]. In the third stage, qw prominently
drops the packets because DP depends on the values of aql. When aql is extremely small and q, which
represents the real packet in the router buffer, is excessively high, the aql needs a long time to update
its value.
Symmetry Therefore,
2020, 12, 2077 qw must be dynamic to balance aql and q to drop the packet and prevent sudden8 of 16
congestion or bursty traffic. The detailed process flow is displayed in Figure 9.

Begin Calculate aql value aql <= min_threshold Yes qw =0.002

No

min_threshold < aql


Yes qw = qw + 0.001
<= max_threshold

No

max_threshold < aql


No
<= double_max
Yes qw = qw + 0.002

End

Figure 9.
9. Detailed
Detailed flow
flow of
of the
the dynamic
dynamic qqw process.
Figure w process.

Accordingly,in
Accordingly, inthe
theproposed
proposedalgorithm,
algorithm,when
whenthethevalue
valueofofaqlaql
is is less
less than
than thethe
minmin threshold,
threshold, qw qisw
is set
set to to 0.002,
0.002, which
which is the
is the same
same value
value as that
as that setthe
set in in the
GREDGRED algorithm
algorithm [25].[25]. No dropping
No dropping occurs
occurs in
in this
this situation
situation to allow
to allow moremore packets
packets to enter
to enter the router
the router buffer.
buffer. When When the value
the value of aqlofisaql is between
between the
the min
min max
and and max thresholds,
thresholds, qw is qdetermined
w is determined
as as
= + 0.001 (3)
qw = qw + 0.001 (3)
Symmetry 2020, 12, x FOR PEER REVIEW 8 of 15
The aql is updated, and packet dropping starts randomly according to Equation (1) to prevent the
router buffer
The from
aql is building
updated, anditself. In this
packet scenario,
dropping aql randomly
starts exceeds the min threshold,
according and the
to Equation (1)dynamic qw
to prevent
allows the value of aql to be updated. In this situation, more packets are dropping to prevent
the router buffer from building itself. In this scenario, aql exceeds the min threshold, and the dynamic the router
buffer arriving
qw allows at max
the value of threshold to maintain
aql to be updated. In this aql as small
the situation, as possible.
more packets are dropping to prevent the
When
router buffer value ofataql
thearriving maxis between
thresholdtheto max and doublemax
maintain thresholds,
the aql as small qw is calculated as
as possible.
When the value of aql is between the max and doublemax thresholds, qw is calculated as
qw = qw + 0.002 (4)
= + 0.002 (4)
As the value of aql increases, DP increases following Equation (2) that used in the GRED, DGRED,
As the value of aql increases, DP increases following Equation (2) that used in the GRED, DGRED,
and SDGRED algorithms. Moreover, the dropping probability is increased quickly to control the
and SDGRED algorithms. Moreover, the dropping probability is increased quickly to control the
congestion at the router buffer by dropping more packets before the packets arrive at the doublemax
congestion at the router buffer by dropping more packets before the packets arrive at the doublemax
threshold. As a result, every arriving packet will be overflow, and heavy congestion will occur.
threshold. As a result, every arriving packet will be overflow, and heavy congestion will occur.
Figure 10 shows the pseudocode for implementing the fourth stage. This code depends on the case
Figure 10 shows the pseudocode for implementing the fourth stage. This code depends on the
of the buffer. If the router buffer is unfilled, aql is calculated using the equation in line 4. Meanwhile,
case of the buffer. If the router buffer is unfilled, aql is calculated using the equation in line 4.
if the packets arrive at the router buffer, aql is determined using the equation in line six.
Meanwhile, if the packets arrive at the router buffer, aql is determined using the equation in line six.

Figure 10.
Figure 10. Pseudocode for the
Pseudocode for the calculation
calculation of
of aql.
aql.

In stage five, a dynamic threshold is utilized with the router buffer with each packet arrival. The
value of aql in the proposed algorithm is compared with the three thresholds (min, max and
doublemax threshold). The proposed algorithm updates both the max threshold and doublemax
threshold, according to Equations (5)–(7). The updating processes stabilize the value of aql near min
threshold to prevent the router buffer growing rapidly and overflowing, which leads to little packets
being dropped:
max_threshold = max_threshold − 2 × min_threshold (5)
Symmetry 2020, 12, 2077 9 of 16

In stage five, a dynamic threshold is utilized with the router buffer with each packet arrival.
The value of aql in the proposed algorithm is compared with the three thresholds (min, max and
doublemax threshold). The proposed algorithm updates both the max threshold and doublemax
threshold, according to Equations (5)–(7). The updating processes stabilize the value of aql near min
threshold to prevent the router buffer growing rapidly and overflowing, which leads to little packets
being dropped:
max_threshold = max_threshold − 2 × min _threshold (5)

Doublemax_threshold = Doublemax_threshold − 2 × min _threshold (6)

max_threshold = max_threshold + Min _threshold (7)

As such, if aql is less than the min threshold, no update occurs for the value of max threshold
and doublemax threshold. Also, if the value of aql is still less than min threshold × 2 and the max
threshold position arrives at the value >= min threshold ×. 3, the proposed algorithm starts to update
the position of max threshold and doublemax threshold using the following equations.
The proposed algorithm controls the congestion by examining the value of aql. As the number
of packets is below the min threshold, an update occurs, no packets are dropped in the router buffer,
and the dropping probability is represented by zero. In case, more packets arrive at the router buffer
and the value of aql increased and reached the min threshold, the WQDAQM algorithm starts dropping
the packets based in Equation (1), to allow the router buffer accommodating the arrival packets and
prevent the router overflowing. When the value of aql increases to the value that exceeds the max
threshold, the proposed algorithm starts dropping the packets according tEquation (2). Lastly, when
the value of aql increases, suddenly the doublemax threshold is reached, the dropping probability is
set to one, which means no arriving packets are accommodated as the router buffer is fully occupied
and overflowing.
The proposed algorithm is simulated in the seven stages. The FIFO technique is adopted, and only
one router is present. As previously mentioned, the Bernoulli model is used to represent the arrival of
the packets [30]. The Bernoulli phase is better when the router buffer is divided into static time length
time or slot [30].
The proposed and existing algorithms are simulated through a discrete-time methodology.
The packets depart from the router buffer with geometrically distributed service times [17]. The details
of the simulation are discussed in the next section.
The simulation results are collected in the final stage, and the outputs of the compared algorithm
are calculated. The results of the proposed algorithm are compared with those of the existing ones to
determine which algorithm achieves the best performance.

4. Simulation
The proposed and existing algorithms are simulated, and the results are evaluated using mql,
PL , D, T, and DP . The simulation is implemented in Java using NetBeans Integrated Development
Environment (IDE) 8.1 under 64bits Windows 10, in Intel Core i3 2.10GHz processor and 6 GB RAM.
A single router was modulated using first-in first-out (FIFO) with a variable arrival rate and departure
rate. The system architecture is illustrated in Figure 11.
Figure 12 shows the simulation cycle for the algorithms. The initialized parameters of the compared
algorithms are summarized in Table 2.
The proposed and existing algorithms are simulated, and the results are evaluated using mql, PL,
D, T, and DP. The simulation is implemented in Java using NetBeans Integrated Development
Environment (IDE) 8.1 under 64bits Windows 10, in Intel Core i3 2.10GHz processor and 6 GB RAM.
ASymmetry
single 2020,
router was modulated using first-in first-out (FIFO) with a variable arrival rate10and
12, 2077 of 16
departure rate. The system architecture is illustrated in Figure 11.

Arrival
TCP Sources Internet Departure
Symmetry 2020, 12, x FOR PEER REVIEW 10 of 15
AQM
The packet arrival and departure rates are set. The qw of the proposed and existing algorithms
Buffer
are assigned with dynamic and static values, respectively. The slot number and the buffer capacity
Capacity 20
are the same as those in the GRED algorithm [25]. The probability of the packet arrival is set within
0.18–0.93 to guarantee that either congestion orSystem
Figure 11. non-congestion
architecture. will occur.
Figure 11. System architecture.

Figure 12 shows the simulation cycle for the algorithms. The initialized parameters of the
compared algorithms are summarized in Table 2.

Table 2. Parameter initialization.

GRED DGRED SDGRED WQDAQM


Parameters
Algorithm Algorithm Algorithm Algorithm

Alpha 0.33–0.93 0.33–0.93 0.33–0.93 0.33–0.93

qw 0.002 0.002 0.002 Dynamic

Beta 0.5 0.5 0.5 0.5

Maximum
0.1 0.1 0.1 0.1
probability

Slot 2 million 2 million 2 million 2 million

Buffer size 20 20 20 20

Minimum T 3 Figure 12.


Figure
..Simulation cycle.
12.Simulation cycle. .. ..

Maximum T 9 ..
Table 2. Parameter initialization. .. ..
The thresholds in the GRED algorithm are set to 3, 9, and 18, whereas those in DGRED, SDGRED,
and WQDAQM Double areMT
Parameters
assignedGRED 18
Algorithm
dynamic DGRED..Algorithm
values. Dmax is set to SDGRED .. AlgorithmtheWQDAQM
0.1 following .. Algorithm values in
corresponding
Alpha 0.33–0.93 0.33–0.93 0.33–0.93 0.33–0.93
the DT and GRED qw
algorithms [25].
0.002
The buffer 0.002
capacity is set to0.002 20 packets to Dynamic
detect congestion at
small buffer sizes.BetaThe processes 0.5 in the router buffer
0.5 are divided 0.5 into time units called
0.5 slots, and the
packets may arriveprobability
Maximum or depart during 0.1 a specific slot.
0.1 The warm period 0.1 occurs when0.12,000,000 slots are
generated [31]. After such a period, the packet departure is evaluated, that is2 million
Slot 2 million 2 million 2 million if the departure is
Buffer size 20 20 20 20
terminated or not. If the generated number is less than beta (0.5), the number of departing packets is
Minimum T 3 .. .. ..
increased by one unit; otherwise, no
Maximum T 9
packet will depart.
..
Subsequently, ..
the number of ..
arriving packets
is checked. If this quantity
Double MT is less than
18 the number.. of departing packets, .. no congestion.. is present, and
the former is increased by one unit. Moreover, no packet is allowed to enter the router buffer. The
router buffer calculates the performance measures of all algorithms if the slot number reaches
7,999,999. The steps are repeated 10 times to obtain accurate results.

5. Evaluation Results
The results of the proposed WQDAQM algorithm are compared with those of GRED, DGRED,
and SDGRED algorithms, which were discussed in Section 2. All experiments are run ten times to
eliminate potential bias, and yield confidence intervals of the performance run. The algorithms were
assessed based on their mql, T, D, PL, and DP values. To facilitate easy comparison between the
Symmetry 2020, 12, 2077 11 of 16

The packet arrival and departure rates are set. The qw of the proposed and existing algorithms are
assigned with dynamic and static values, respectively. The slot number and the buffer capacity are the
same as those in the GRED algorithm [25]. The probability of the packet arrival is set within 0.18–0.93
to guarantee that either congestion or non-congestion will occur.
The thresholds in the GRED algorithm are set to 3, 9, and 18, whereas those in DGRED, SDGRED,
and WQDAQM are assigned dynamic values. Dmax is set to 0.1 following the corresponding values
in the DT and GRED algorithms [25]. The buffer capacity is set to 20 packets to detect congestion at
small buffer sizes. The processes in the router buffer are divided into time units called slots, and the
packets may arrive or depart during a specific slot. The warm period occurs when 2,000,000 slots
are generated [31]. After such a period, the packet departure is evaluated, that is if the departure is
terminated or not. If the generated number is less than beta (0.5), the number of departing packets is
increased by one unit; otherwise, no packet will depart. Subsequently, the number of arriving packets
is checked. If this quantity is less than the number of departing packets, no congestion is present,
and the former is increased by one unit. Moreover, no packet is allowed to enter the router buffer.
The router buffer calculates the performance measures of all algorithms if the slot number reaches
7,999,999. The steps are repeated 10 times to obtain accurate results.

5. Evaluation Results
The results of the proposed WQDAQM algorithm are compared with those of GRED, DGRED,
and SDGRED algorithms, which were discussed in Section 2. All experiments are run ten times to
eliminate potential bias, and yield confidence intervals of the performance run. The algorithms were
assessed based on their mql, T, D, PL , and DP values. To facilitate easy comparison between the
proposed and existing algorithms, the improvement ratio is calculated as given in Equation (8):

ReferencePerformance − ComparedPerformance
IR = × 100% (8)
ReferencePerformance

5.1. mql
The results of the GRED, DGRED, SDGRED, and WQDAQM algorithms are evaluated using
various packet arrival probabilities (0.18, 0.33, 48, 0.67, 0.78, and 0.93) to ensure that either congestion
or non-congestion will occur at the router buffer. Figure 13 shows the mql values of the compared
algorithms. The value of mql is an important performance measure of router buffers. The small value
of mql is an indication that the router buffer prevents congestion and the increase in q.
Symmetry 2020, 12, x FOR PEER REVIEW 11 of 15

mql evaluation
17.5
15
12.5
10 DGRED
mql

7.5 GRED
5
SDGRED
2.5
0 WQDAQM

0.93 0.78 0.63 0.48 0.33 0.18


alpha

Figure 13.
Figure 13. Mean
Mean queue
queue length
length (mql)
(mql) vs.
vs. alpha.
alpha.

As depicted in Figure 13, the mql values of the proposed and existing algorithms are the same at
alpha’s value of 0.18 and 0.33. When the probability of packet arrival is less than that of packet
departure (a < B), each packet that arrives will depart. When the value of alpha is 0.48, the WQDAQM,
DGRED, and SDGRED algorithms demonstrate better performances than the GRED algorithm, and
bright congestion is present. When mql increases and the probability of packet arrival exceeds that of
0 WQDAQM

0.93 0.78 0.63 0.48 0.33 0.18


alpha
Symmetry 2020, 12, 2077 12 of 16
Figure 13. Mean queue length (mql) vs. alpha.

As depicted
As depicted in in Figure
Figure 13,
13, the mql values
the mql values of
of the
the proposed
proposed and and existing
existing algorithms
algorithms are are the
the same
same atat
alpha’s value of 0.18 and 0.33. When the probability of packet arrival is less than
alpha’s value of 0.18 and 0.33. When the probability of packet arrival is less than that of packet that of packet departure
(a < B), each
departure (a <packet that
B), each arrives
packet will
that depart.
arrives willWhen
depart.theWhen
valuetheof alpha
valueis of0.48,
alphatheis WQDAQM,
0.48, the WQDAQM,DGRED,
and SDGRED algorithms demonstrate better performances than
DGRED, and SDGRED algorithms demonstrate better performances than the GRED algorithm,the GRED algorithm, and bright
and
congestion is present. When mql increases and the probability of packet arrival exceeds
bright congestion is present. When mql increases and the probability of packet arrival exceeds that of that of packet
departure,
packet the proposed
departure, algorithm
the proposed overperforms
algorithm overperformsthe other algorithms.
the other algorithms. TheTheoverflow
overflow obtained by
obtained
the WQDAQM algorithm during heavy congestion is less than those obtained
by the WQDAQM algorithm during heavy congestion is less than those obtained by the existing ones. by the existing ones.
Consequently, the
Consequently, the proposed
proposed algorithm
algorithm maintains
maintains thethe mql
mql at
at aa level
level that
that isis lower
lower than
than thethe doublemax
doublemax
threshold to allow the arrival of many packets and prevent the rapid increase
threshold to allow the arrival of many packets and prevent the rapid increase in the size of the in the size of the router
router
buffer. In detail, in a heavy congestion status at a probability of packet arrival of
buffer. In detail, in a heavy congestion status at a probability of packet arrival of 0.93, the proposed 0.93, the proposed
algorithm overperformed
algorithm overperformed DGREDDGRED by by 13.3%,
13.3%, GRED
GRED by by 19.2%,
19.2%, SDGRED
SDGRED by by 6.7%
6.7% in in terms
terms of of mql.
mql.
5.2. D
5.2. D
The delay performance results of the compared algorithms are illustrated in Figure 14.
The delay performance results of the compared algorithms are illustrated in Figure 14.

D evaluation
30
27.5
25
22.5
20
17.5 DGRED
15

D
12.5 GRED
10
7.5
5 SDGRED
2.5
0 WQDAQM
0.93 0.78 0.63 0.48 0.33 0.18
alpha

Figure 14. D
Figure 14. D vs.
vs. alpha.
alpha.

The proposedand
The proposed and existing
existing algorithms
algorithms havehave identical
identical outputsoutputs
accordingaccording
to D, whento the
D, probability
when the
probability of packet arrival is 0.18 or 0.33 as the number of arriving packets is
of packet arrival is 0.18 or 0.33 as the number of arriving packets is less than that of departingless than that of
ones.
departing ones. The proposed algorithm exhibits better performance than the existing
The proposed algorithm exhibits better performance than the existing ones when heavy congestion is ones when
heavy congestion
present is present
in the router in the router
buffer because bufferhas
the former because
fewerthe former packets
departing has fewer departing
than the other packets than
algorithms.
The results further indicate that mql plays a key role in the delay equation D = mql/T. This equation
the other algorithms. The results further indicate that mql plays a key role in the delay equation D=
mql/T. This equation implies that D is small when mql is small. In detail, in a heavy congestion
implies that D is small when mql is small. In detail, in a heavy congestion status at a packet arrival of status
0.93, the proposed algorithm overperformed DGRED by 13.3%, GRED by 19.3%, SDGRED by 6.3% in
term of D.

5.3. T
The plot of T vs. the probability of packet arrival is illustrated in Figure 15.
The proposed and existing algorithms obtained identical results when the alpha was less than
beta. In addition, the light congestion occurs in the router buffer at packet arrival probabilities of
018, 0.33, and 0.48. When the value of alpha approaches that of beta and heavy congestion is present,
the compared algorithms stabilize at the value of the latter (0.5). In detail, in a heavy congestion status
at a packet arrival of 0.93, the proposed algorithm overperformed DGRED by 13.3%, GRED by 19.3%,
SDGRED by 6.3% in term of D.
at a packet arrival of 0.93, the proposed algorithm overperformed DGRED by 13.3%, GRED by 19.3%,
SDGRED by 6.3% in term of D.

5.3. T 2020, 12, 2077


Symmetry 13 of 16

The plot of T vs. the probability of packet arrival is illustrated in Figure 15.
Symmetry 2020, 12, x FOR PEER REVIEW 12 of 15

at a packet arrival of 0.93, the proposed algorithm overperformed DGRED by 13.3%, GRED by 19.3%,
SDGRED by 6.3% in term of D.
T evaluation
0.5
5.3. T
0.4
The plot of T vs. the probability of packet arrival is illustrated in Figure 15.

T
0.3 DGRED
0.2 GRED
T evaluation
0.1 SDGRED
0.5 WQDAQM
0
0.4
0.93 0.78 0.63 0.48 0.33 0.18

T
alpha 0.3 DGRED
0.2 GRED
Figure 15.
Figure 15. T
T vs.
vs. alpha.
alpha. SDGRED
0.1
WQDAQM
5.4. PThe proposed
L and DP and existing algorithms obtained identical results when 0 the alpha was less than
beta. In addition,
0.93 the0.78
light congestion
0.63 occurs 0.48in the router buffer0.18
0.33and at packet arrival probabilities of 018,
The number of packets dropped by the proposed the existing algorithms are analyzed in
0.33, and 0.48. When the value of alpha alpha
approaches that of beta and heavy congestion is present, the
this section. The PL and DP values of the GRED, DGRED, SDGRED, and WQDAQM algorithms are
compared algorithms stabilize at the value of the latter (0.5). In detail, in a heavy congestion status at
presented in Figures 16 and 17, respectively.
a packet arrival of 0.93, the proposed algorithm overperformed DGRED by 13.3%, GRED by 19.3%,
Figure 15 shows that the proposed algorithm achieves the lowest PL when heavy congestion is
Figure 15. T vs. alpha.
SDGRED by 6.3% in term of D.
present in the router buffer (packet arrival and packet departure). This phenomenon occurs because
the router buffer that is existing
managedalgorithms
by this algorithm
obtainedtakes a long time when
to overflow, andwas
theless
number
5.4. PThe proposed
L and DP and identical results the alpha than
of arriving
beta. packets
In addition, thereaches the doublemax
light congestion occursthreshold.
in the routerWhen
bufferalpha is lessarrival
at packet than beta, all algorithms
probabilities of 018,
0.33, The
and number
produced similar
0.48. Whenof packets
results. dropped
In details,
the value byapproaches
with
of alpha the traffic
low proposed
thatand
load, the
ofnobeta existing
PL occurs
and as algorithms
heavy a congestion are
is analyzed
result of using in
any of the
present, the
this section.
algorithms. The
As P L and
slight D P valuesoccurs
congestion of the GRED,
at a DGRED,
packet arrival SDGRED,
of 0.48, and
the WQDAQM
DGRED algorithms
overperformed
compared algorithms stabilize at the value of the latter (0.5). In detail, in a heavy congestion status at are
the
presented
proposed in Figures
algorithm
a packet arrival 162%
by
of 0.93, and 17, respectively.
theonly. The proposed
proposed algorithm algorithm and SDGRED
overperformed DGRED perform equally.
by 13.3%, GRED Atby
the19.3%,
same
time,
SDGREDthe proposed
by 6.3% inalgorithm overperformed GRED by 39.7%. In a heavy congestion status at a packet
term of D.
arrival of 0.93, the proposed algorithm overperformed DGRED by 15.5%, SDGRED by 19.8%, GRED by
PL vs. alpha
86.3%
5.4. PLin term
and DP of PL .
0.25
The relationship between DP and alpha is illustrated in Figure 16. The result reveals that the
The number of packets dropped by the proposed and the existing algorithms are analyzed in
0.2
proposed WQDAQM algorithm drops many packets in the router buffer when the beta is less than the
this section. The PL and DP values of the GRED, DGRED, SDGRED, and WQDAQM algorithms are
alpha and when the number of arriving packets is less than that of the departing
0.15 ones. DGRED
presented in Figures 16 and 17, respectively.
PL

0.1 GRED

PL vs. alpha 0.05 SDGRED


00.25 WQDAQM
0.93 0.78 0.63 0.48 0.33 0.18
0.2
alpha
0.15 DGRED
PL

Figure 16. PL vs. alpha. 0.1 GRED


0.05 SDGRED
Figure 15 shows that the proposed algorithm achieves the lowest PL when heavy congestion is
0 WQDAQM
present in0.93
the router0.78
buffer (packet
0.63 arrival0.48
and packet0.33
departure). This phenomenon occurs because
0.18
the router buffer that is managed by this algorithm takes a long time to overflow, and the number of
alpha

Figure16.
Figure 16. PPL vs.
vs. alpha.
alpha.
L

Figure 15 shows that the proposed algorithm achieves the lowest PL when heavy congestion is
present in the router buffer (packet arrival and packet departure). This phenomenon occurs because
the router buffer that is managed by this algorithm takes a long time to overflow, and the number of
produced similar results. In details, with low traffic load, no PL occurs as a result of using any of the
algorithms. As slight congestion occurs at a packet arrival of 0.48, the DGRED overperformed the
proposed algorithm by 2% only. The proposed algorithm and SDGRED perform equally. At the same
time, the proposed algorithm overperformed GRED by 39.7%. In a heavy congestion status at a packet
Symmetry 2020,
arrival of 12, 2077
0.93, the proposed algorithm overperformed DGRED by 15.5%, SDGRED by 19.8%, 14 of 16
GRED
by 86.3% in term of PL.

DP vs. alpha

0.48
0.4
0.32 DGRED

DP
0.24 GRED
0.16 SDGRED
0.08
WQDAQM
0
0.93 0.78 0.63 0.48 0.33 0.18
alpha

Figure17.
Figure 17. Dropping
Dropping probability
probability(D
(DP)) vs.
vs. alpha.
alpha.
P

The relationship between DP and alpha is illustrated in Figure 16. The result reveals that the
6. Conclusions
proposed WQDAQM algorithm drops many packets in the router buffer when the beta is less than
In this paper, the WQDAQM algorithm was proposed by enhancing the SDGRED algorithm
the alpha and when the number of arriving packets is less than that of the departing ones.
with dynamic dropping rates. This algorithm aims to maintain the aql between two dynamically
predetermined thresholds to prevent the buffer from exceeding the latter and overflowing.
6. Conclusions
The WQDAQM algorithm controls the congestion at the router buffer and prevents the loss of the
In this
packets. The paper,
proposed thealgorithm
WQDAQM algorithmwith
is compared wasGRED,
proposed by enhancing
DGRED, and SDGRED the SDGRED
algorithmsalgorithm
in terms
with dynamic dropping rates. This algorithm aims to maintain the aql between
of D, mql, PL , T, and DP to determine which among them achieves the best results based on the value of two dynamically
predetermined
alpha. The WQDAQM thresholds to prevent
algorithm resultedthe in
buffer
betterfrom
mql,exceeding
D, and PL the latter and
compared overflowing.
to SDGRED, DGRED The
WQDAQM
and algorithm controls
GRED algorithms when heavy the congestion
congestionatexiststhe router
in thebuffer
buffer.and prevents
However, the loss
when of the is
the alpha packets.
either
The than
less proposed algorithm
or greater is compared
than beta, with GRED,
all algorithms produce DGRED,
the same and SDGRED algorithms
throughputs. Moreover, intheterms of D,
proposed
mql, PL, T, drops
algorithm and Dfewer
P to determine
packets atwhich among
the router themcompared
buffers achieves the bestSDGRED,
to the results based
DGRED on the
andvalue
GRED of
alpha. The WQDAQM
algorithms. Accordingly, algorithm
WQDAQM resulted in better
enhances andmql, D, andthe
improves PL congestion
compared to SDGRED, DGRED
consequences at the
and GRED
router algorithms
buffer. whenappears
The limitation heavy congestion exists algorithm
as the proposed in the buffer.
withHowever, when theas
slight congestion alpha is either
the DGRED
less than or greater
overperformed than beta,algorithm
the proposed all algorithmsby 2% produce the same throughputs.
only. Accordingly, Moreover,
in future work, thewill
the focus proposed
be on
algorithm drops fewer packets at the router buffers compared
enhancing the performance of the proposed algorithm in a slightly congested network.to the SDGRED, DGRED and GRED
algorithms. Accordingly, WQDAQM enhances and improves the congestion consequences at the
Funding: This research
router buffer. receivedappears
The limitation no external funding.
as the proposed algorithm with slight congestion as the DGRED
overperformed
Conflicts the The
of Interest: proposed
authorsalgorithm
declare no by 2% only.
conflict Accordingly, in future work, the focus will be on
of interest.
enhancing the performance of the proposed algorithm in a slightly congested network.
References
Funding: This research received no external funding.
1. Al-Zubi, M.; Abu Shareha, A.A. Efficient signcryption scheme based on El-Gamal and Schnorr. Multimed.
Conflicts of Interest: The authors declare no conflict of interest.
Tools Appl. 2018, 78, 11091–11104. [CrossRef]
2. Welzl, M. Network Congestion Control: Managing Internet Traffic, 1st ed.; Wiley: Hoboken, NJ, USA, 2005;
References
pp. 10–12.
1. Baklizi,
3. Al-Zubi,M.;M.; Ababneh,
Abu Shareha,
J.M.;A.A. EfficientN.signcryption
Abdallah, Performancescheme based on of
investigations El-Gamal andagred
flred and Schnorr. Multimed.
active queue
Tools Appl. 2018,
management 78, 11091–11104.
methods. In Proceedings of the Academicsera 13th International Conference, Istanbul, Turkey,
23–24 February 2018; p. 14.
4. Khatari, M.; Samara, G. Congestion control approach based on effective random early detection and fuzzy
logic. MAGNT 2015, 3, 180–193.
5. Sun, D.; Zhao, K.; Fang, Y.; Cui, J. Dynamic Traffic Scheduling and Congestion Control across Data Centers
Based on SDN. Futur. Internet 2018, 10, 64. [CrossRef]
6. Abu Shareha, A.A.; Mandava, R.; Khan, L.; Ramachandram, D. Multimodal concept fusion using semantic
closeness for image concept disambiguation. Multimed. Tools Appl. 2011, 61, 69–86. [CrossRef]
Symmetry 2020, 12, 2077 15 of 16

7. Baklizi, M.; Ababneh, J. A Survey in Active Queue Management Methods According to Performance
Measures. Int. J. Comput. Trends Technol. 2016, 38, 145–152. [CrossRef]
8. Abu-Shareha, A.A. Enhanced Random Early Detection using Responsive Congestion Indicators. Int. J. Adv.
Comput. Sci. Appl. 2019, 10, 358–367. [CrossRef]
9. Pedrycz, W.; Vasilakos, A. Computational Intelligence in Telecommunications Networks; CRC Press: Boca Raton,
FL, USA, 2000; p. 528.
10. Abdeljaber, H.; Ababneh, J.; Daoud, A.; Baklizi, M. Performance Analysis of the Proposed Adaptive Gentle
Random Early Detection Method under NonCongestion and Congestion Situations. In International Conference
on Digital Enterprise and Information Systems (DEIS); Springer: Berlin/Heidelberg, Germany, 2011; pp. 592–603.
11. Abualhaj, M.M.; Abu Shareha, A.A.; Al-Tahrawi, M.M. FLRED: An efficient fuzzy logic based network
congestion control method. Neural Comput. Appl. 2016, 30, 925–935. [CrossRef]
12. Baklizi, M.; Abdel-Jaber, H.; Abu-Shareha, A.A.; Abualhaj, M.M.; Ramadass, S. Fuzzy Logic Controller of
Gentle Random Early Detection Based on Average Queue Length and Delay Rate. Int. J. Fuzzy Syst. 2014, 16,
9–19.
13. Ababneh, J.; Abdel-Jaber, H.; Thabtah, F.; Hadi, W.; Badarneh, E. Derivation of Three Queue Nodes
Discrete-Time Analytical Model Based on DRED Algorithm. In Proceedings of the 2010 Seventh International
Conference on Information Technology: New Generations; Institute of Electrical and Electronics Engineers
(IEEE), Las Vegas, NV, USA, 12–14 April 2010; pp. 885–890.
14. Chintam, J.R.; Daniel, M. Real-Power Rescheduling of Generators for Congestion Management Using a Novel
Satin Bowerbird Optimization Algorithm. Energies 2018, 11, 183. [CrossRef]
15. Baklizi, M.; Ababneh, J. Performance Evaluation of the Proposed Enhanced Adaptive Gentle Random Early
Detection Algorithm in Congestion Situations. Int. J. Curr. Eng. Technol. 2016, 6, 1658–1664.
16. Baklizi, M. Stabilizing Average Queue Length in Active Queue Management Method. Int. J. Adv. Comput.
Sci. Appl. 2019, 10. [CrossRef]
17. Baklizi, M.; Ababneh, J.; Abualhaj, M.M.; Abdullah, N.; Abdullah, R. Markov-Modulated Bernoulli Dynamic
Gentle, Random Early Detection. J. Theor. Appl. Inf. Technol. 2018, 9, 6688–6698.
18. Liu, J.; Yang, O.W.W. Using Fuzzy Logic Control to Provide Intelligent Traffic Management Service for
High-Speed Networks. In IEEE Transactions on Network and Service Management; June 2013; Volume 10,
pp. 148–161. Available online: https://ieeexplore.ieee.org/document/6514996 (accessed on 20 June 2020).
19. Baklizi, M. FLACC: Fuzzy Logic Approach for Congestion Control. Int. J. Adv. Comput. Sci. Appl. 2019, 10,
43–50. [CrossRef]
20. Baklizi, M.; Abdeljaber, H.; Abualhaj, M.M.; Abdullah, N.; Ramadass, S.; Almomani, A. Dynamic Stochastic
Early Discovery: A New Congestion Control Technique to Improve Networks Performance. Int. J. Innov.
Comput. Inf. Control 2013, 9, 1113–1126.
21. Xia, W.; Wen, Y.; Foh, C.H.; Niyato, D.; Xie, H. A Survey on Software-Defined Networking. IEEE Commun.
Surv. Tutor. 2015, 17, 27–51. [CrossRef]
22. Abu-Shareha, A.A. Controlling Delay at the Router Buffer Using Modified Random Early Detection. Int. J.
Comput. Netw. Commun. 2019, 11, 63–75. [CrossRef]
23. Alsaaidah, A.; Zalisham, M.; Fadli, M.; Abdeljaber, H. Markov-Modulated Bernoulli-Based PErformence
Analysis for Gentle Blue and Blue Algorithms under Bursty and Correlated traffic. J. Comput. Sci. 2016, 12,
289–299. [CrossRef]
24. Brandauer, C.; Iannaccone, G.; Diot, C.; Fdida, S. Comparison of Tail Drop and Active Queue Management
Performance for Bulk-Data and Web-Like Internet Traffic. In Proceedings of the Sixth IEEE Symposium on
Computers and Communications, Hammamet, Tunisia, 5 July 2001.
25. Floyd, S. Recommendations on Using the Gentle Variant of RED. Available online: http://www.aciri.org/
floyd/red/gentle.html (accessed on 20 June 2020).
26. Loukas, R.; Kohler, S.; Andreas, P.; Phuoc, T.G. Fuzzy RED: Congestion control for TCP/IP Diff-Serv.
In Proceedings of the 10th Mediterranean Electrotechnical Conference, Information Technology and
Electrotechnology for the Mediterranean Countries, Lemesos, Cyprus, 29–31 May 2020.
27. Floyd, S.; Jacobson, V. Random early detection gateways for congestion avoidance. IEEE/ACM Trans. Netw.
1993, 1, 397–413. [CrossRef]
28. Ng, C.H.; Yuan, L.; Fu, L.; Zhang, L. Research note: Methodology for traffic modeling using two-state
Markov-modulated Bernoulli process. Comput. Commun. 1999, 22, 1266–1273. [CrossRef]
Symmetry 2020, 12, 2077 16 of 16

29. Woodward, M.E. Communication and Computer Networks: Modelling with Discrete-Time Queues; Wiley-IEEE
Computer Society Press: Washington, DC, USA, 1993.
30. Abdel-jaber, H.; Thabtah, F.; Woodward, M. Traffic Management for the Gentle Random Early Detection
Using Discrete-Time Queueing. In Proceedings of the International Business Information Management
Conference (9th IBIMA), Marrakech, Morocco, 4–6 January 2008; pp. 289–298.
31. Abdeljaber, H.; Thabtah, F.; Woodward, M.; Ababneh, J.; Bazar, H. Random Early Dynamic Detection
Approach for Congestion Control Baltic. J. Mod. Comput. 2014, 2, 16–31.

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional
affiliations.

© 2020 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).

You might also like