S S symmetry

Article Weight Queue Dynamic Algorithm

Mahmoud Baklizi

Department of Computer Networks Systems, The World Islamic Science & Education University W.I.S.E, Amman 00962, Jordan; [email protected]

 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 (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 (Figure1)[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

FigureFigure 1. 1. CongestedCongested router. router.

TCPTCP protocol hashas its its congestion congestion control, control, however, however, congestion congestion control control at the at router the router buffer buffer that results that resultsin using in TCP using over TCP the underlyingover the underlying networks isnetworks not considered is not [ 4considered,11]. Congestion [4,11]. plays Congestion a prominent plays role a prominentin the deterioration role in the of deterioration network performance. of network This performance. phenomenon This increasesphenomenon the queuing increases delay the queuing (D) and delaypacket (D) loss and (PL packet) and decreases loss (PL) and the numberdecreases of the packets number transferred of packet tos theirtransferred destination, to their which destination, is called whichthroughput is called (T) [throughput10,12–14]. To (T) face [10,12–14]. such a challenge, To face such many a activechallenge, queue many management active queue (AQM) management algorithms (AQM)were developed algorithms and were improved developed to detect and congestion improved atto andetect early congestion stage and improveat an early network stage and performance. improve networkSeveral examples performance. include Several the enhanced examples adaptive include gentle the random enhanced early adaptive detection (GRED)gentle random [15], stabilized early detectiondynamic GRED(GRED) (SDGRED) [15], stabilized [16], Markov-modulateddynamic GRED (SDGRED) queuing systems[16], Markov-modulated [17], FL Intelligent queuing Traffic systemsManagement [17], [FL18 ],Intelligent fuzzy logic Traffic approach Management for congestion [18], fuzzy control logic [ 19approach], and dynamic for congestion GRED (DGRED) control [19], [20], andMarkov-modulated dynamic GRED [ 17(DGRED)], FLACC [20], [19 ],Markov-modulated and dynamic stochastic [17], earlyFLACC discovery [19], and [20 dynamic]. These algorithms, stochastic earlyalthough discovery they have [20]. great These influence algorithms, in easing although the congestion, they have sugreatffer frominfluence some in limitations. easing theFor congestion, example, sufferthe DGRED from some algorithm limita adoptstions. For the conceptexample, of the target DGRED average algorithm queue lengthadopts (Ttheaql ),concept and thus of target drops averagea large numberqueue length of packets (Taql),to and statically thus drops stabilize a large the number queue of length packets at to a specificstatically length. stabilize In the addition, queue lengthGRED at algorithms a specific length. use static In addition, thresholds GRED and qalgorithmsw, which leaduse static to bursty thresholds traffic and problems qw, which and lead rapid to burstycongestion traffic in problems the router and bu rapidffer, congestion respectively. in Therefore,the router buffer, the router respectively. buffer rapidly Therefore, increases the router and bufferbecomes rapidly full. increases and becomes full. TheThe performance measures, measures, delay delay (D), (D), packet packet loss loss (P LL)) and and throughput throughput (T) (T) have have a a primary primary concernconcern because theythey areare used used to to evaluate evaluate whether whethe ther the network network performance performance is satisfactory is satisfactory or not or [not21]. [21].The existingThe existing algorithms algorithms do not do provide not provide the best the performancebest performance according according to the to mean the mean queue queue length length (mql), (Dmql and), D P Land. This PL. is becauseThis is because the existing the existing algorithms algori usedthms a static used technique a static technique for detecting for anddetecting reacting and to reactingcongestion to congestion at the router at butheff er.router Therefore, buffer. aTher dynamicefore, algorithma dynamic must algorith be developedm must be todeveloped manage theto managepacket dropping the packet based dropping on the based dynamic on the weight dynamic queue. weight queue. ThisThis study proposes a new algorithm called we weightight queue dynamic active queue management algorithmalgorithm (WQDAQM)(WQDAQM) to to address address the limitationsthe limitation of thes existingof the onesexisting and improveones and network improve performance. network performance.The proposed The algorithm proposed is integrated algorithm withis integrated the TCP with protocol the TCP to maintain protocol the to maintain established the conversation established conversationfor data exchange for data in high exchange performance in high [22 performance]. The specific [22]. objective The specific of this studyobjective is to of decrease this study the meanis to decreasequeue length the mean (mql), queue PL, and length D compared (mql), PL with, and other D compared algorithms. with The other proposed algorithms. algorithm The proposed controls algorithmand manages controls the packet and manages dropping the by maintainingpacket dropping the queue by maintaining weight and the thresholdsqueue weight dynamically. and the thresholdsThe rest of dynamically. the paper is organizedThe rest of asthe follows, paper is Section organized2 presents as follows, the literature Section 2 review,presents and the Sectionliterature3 review,discusses and the Section proposed 3 discusses WQDAQM the proposed algorithm, WQDAQM Section4 explains algorithm, the simulationSection 4 explains mechanism, the simulation Section5 mechanism,discusses the Section results 5 of discusses all compared the results algorithms, of all andcompared Section 6algorithms, provides the and conclusion. Section 6 provides the 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 Figure2[ 11]. The DT does not have thresholds, andSymmetry when 2020 the, 12 maximum, x FOR PEER capacity REVIEW of the router buffer is reached, the new arriving packets are dropped3 of 15 directly. The main disadvantages of DT include increasing bursty traffic and P , decreasing delay and The main disadvantages of DT include increasing bursty traffic and PL, decreasingL 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.

ToTo overcomeovercome thethe limitationslimitations ofof thethe DTDT algorithm,algorithm, AQM algorithms are introduced [15,25,26]. [15,25,26]. UnlikeUnlike thethe former, former, which which depends depends on the on capacity the capacity of the router,of the therouter, latter the use thresholdslatter use andthresholds parameters and toparameters manage and to maintainmanage and congestion maintain at ancongestion early stage. at AQMan early algorithms stage. AQM use the algorithms average queue use the length average (aql) andqueue queue length length (aql (q)) and as signsqueue to length notify (q) the as algorithm signs toto notify adjust the the algorithm dropping to of adjust arriving the packets dropping before of thearriving capacity packets limit ofbefore the router the capacity buffer is reached,limit of th therebye router managing buffer theis reached, congestion thereby and maintaining managing thethe performancecongestion and measures maintaining at the the optimal performance level as measures much as possible. at the optimal All AQM level algorithms as much as deliver possible. better All AQM algorithms deliver better results than the DT algorithm in terms of mql, D, and PL. results than the DT algorithm in terms of mql, D, and PL. FloyedFloyed andand JacobsonJacobson [[27]27] proposedproposed anan algorithmalgorithm calledcalled randomrandom earlyearly detectiondetection (RED)(RED) toto managemanage thethe congestioncongestion atat anan earlyearly stagestage andand overcomeovercome thethe drawbacksdrawbacks andand limitationslimitations of the DT algorithm. TheThe mainmain mechanism mechanism of thisof this algorithm algorithm involves involves computing computing the aql theof the aql incoming of the incoming packets and packets dropping and dropping them before the router buffer becomes full. To calculate the dropping probability (DP), the them before the router buffer becomes full. To calculate the dropping probability (DP), the calculated aqlcalculatedand the routeraql and bu theffer thresholdsrouter buffer (min thresholds and max thresholds)(min and max are maintained thresholds) to are implement maintained packet to droppingimplement based packet on dropping the following based scenarios: on the following (1) if aql < scenarios:min threshold, (1) if aql no < packet min threshold, is dropped; no (2)packet if min is thresholddropped;> (2)aql if< minmax threshold> threshold, aql packets < max arethreshold, dropped packets following are adropped specific following equation; anda specific (3) if aqlequation;> max and (3) if aql > max threshold, all packets are dropped, and DP = 1 because the incoming packet will threshold, all packets are dropped, and DP = 1 because the incoming packet will be eliminated [27]. Therefore,be eliminated the random [27]. Therefore, dropping the in the random RED algorithm dropping is in a goodthe RED solution algorithm for avoiding is a good bursty solution traffic and for globalavoiding synchronization. bursty traffic In and addition, global this synchronization. algorithm achieves In addition, better performance this algorithm than the achieves DT algorithm. better Figureperformance3 depicts than the the router DT algorithm. bu ffer in the Figure former 3 de [25picts]. the router buffer in the former [25].

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

As the RED algorithm enhances the performance measures of congestion control and addresses the limitations of the DT algorithm, researchers begin to improve AQM algorithms with reference to

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

The main disadvantages of DT include increasing bursty traffic and PL, decreasing delay and T, and causing global synchronization [2,11].

Figure 2. Drop tail (DT) router buffer.

To overcome the limitations of the DT algorithm, AQM algorithms are introduced [15,25,26]. Unlike the former, which depends on the capacity of the router, the latter use thresholds and parameters to manage and maintain congestion at an early stage. AQM algorithms use the average queue length (aql) and queue length (q) as signs to notify the algorithm to adjust the dropping of arriving packets before the capacity limit of the router buffer is reached, thereby managing the congestion and maintaining the performance measures at the optimal level as much as possible. All AQM algorithms deliver better results than the DT algorithm in terms of mql, D, and PL. Floyed and Jacobson [27] proposed an algorithm called random early detection (RED) to manage the congestion at an early stage and overcome the drawbacks and limitations of the DT algorithm. The main mechanism of this algorithm involves computing the aql of the incoming packets and dropping them before the router buffer becomes full. To calculate the dropping probability (DP), the calculated aql and the router buffer thresholds (min and max thresholds) are maintained to 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 Symmetryavoiding2020 bursty, 12, 2077 traffic and global synchronization. In addition, this algorithm achieves better4 of 16 performance than the DT algorithm. Figure 3 depicts the router buffer in the former [25].

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

As the RED algorithm enhances the performance measures of congestion control and addresses theSymmetry limitations 2020, 12 ,of x FORthe DT PEER algorithm, REVIEW researchers be begingin to improve AQM algorithms with reference 4 of to 15 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 (Figure4). 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, D is increased following a specific equation when packet randomly following a specific equation. Secondly,P DP is increased following a specific aql is between the max and doublemax thresholds. Lastly, D becomes 1 when the aql exceeds the equation when aql is between the max and doublemax thresholds.P 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.

FigureFigure 4.4. Gentle randomrandom earlyearly detectiondetection (GRED)(GRED) routerrouter bubuffer.ffer.

However,However, GRED GRED has has a problema problem regarding regarding the numberthe number of thresholds of thresholds that it that contains, it contains, which resultswhich inresults a parameterization in a parameterization issue [20 issue]. The [20]. parameter The parameter should should be set tobe aset defined to a defined value tovalue obtain to obtain a good a performance.good performance. In addition, In addition, the behavior the behavior of aql cannot of aql becannot suddenly be suddenly changed. changed. When aql Whenrelies aql on relies the min on thresholdthe min threshold area, and area, heavy and congestion heavy congestion occurs, aql occurs,needs a aql long needs time a to long modify time its to value, modify and its thus value, causes and thethus router causes bu fftheer torouter overflow. buffer The to GRED overflow. algorithm The GRED is one ofalgorithm the important is one AQM of the algorithms. important DGRED AQM isalgorithms. an enhanced DGRED version is of an GRED enhanced [20], which version is developed of GRED to[20], improve which the is congestion developed investigation to improve [ 20the]. Thiscongestion algorithm investigation is based on [20]. Taql This; the algorithm value of Tisaql basedshould on T beaql between; the value the of min Taql and should max be thresholds between followingthe min and a specific max thresholds equation tofollowing stabilize aaql specificat a specific equation position to stabilize and prevent aql at a the specific router position buffer from and buildingprevent itselfthe router and overflowing buffer from [20 building]. Figure itse5 showslf and the overflowing T aql at the router[20]. Figure buffer. 5 The shows DGRED the T algorithmaql at the 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 5. Dynamic GRED (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

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

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). Unlike RED, GRED uses three thresholds that provide the opportunity to control congestion at an early stage by dropping the packets in three stages to prevent the router buffer from the building itself. The mechanism of GRED is executed as follows. First, the router buffer receives the packet when aql reaches the min threshold. If the min threshold < aql ≤ max threshold, GRED drops the packet randomly following a specific equation. Secondly, DP is increased following a specific equation when aql is between the max and doublemax thresholds. Lastly, DP becomes 1 when the aql exceeds the doublemax threshold. As a result, every packet will overflow.

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 Symmetrygood performance.2020, 12, 2077 In addition, the behavior of aql cannot be suddenly changed. When aql relies5 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 Figure6 presents the SDGRED router bu ffer. 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 presentsFigureFigure the 5.5. SDGRED Dynamic GREDrouter (DGRED) buffer. bubuffer.ffer.

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

FigureFigure 6.6. StabilizedStabilized dynamic GRED GRED (SDGRED) (SDGRED) router router buffer buffer..

UnlikeUnlike inin DGRED,DGRED, allall thresholdsthresholds in the SDGRED algorithm change change following following the the status status of of aqlaql atat thethe router router bu bufferffer [16 [16]]. Moreover,. Moreover, SDGRED SDGRED eliminates eliminates Taql Ttoaql decrease to decrease the parameterizationthe parameterization in the in router the burouterffer. Thisbuffer. algorithm This algorithm reduces reduces congestion congestion in either in congested either conges or non-congestedted or non-congested cases. The cases. SDGRED The algorithmSDGRED improvesalgorithm the improves network the performance network performance in terms of mql in ,terms D, PL andof mql decreases, D, PL and the dependencydecreases the on adependency specific parameter. on a specific However, parameter. this algorithm However, requires this further algorithm improvement requires tofurther reduce improvement the bursty tra ffito c whenreduce the the number bursty oftraffic arriving when packets the number increases, of arriving especially packets during increases, high traespeciallyffic. This during study high investigates traffic. theThis congestion study investigates detection the mechanism, congestion advantages, detection mechanism, and disadvantages advantages, of the and DT, disadvantages RED, GRED, DGRED, of the andDT, SDGREDRED, GRED, algorithms. DGRED, Theseand SDGRED algorithms algorithms. aim to controlThese algorithms the congestion aim to before control the the router congestion buffers becomebefore the occupied. router buffers In general, become the drawbacksoccupied. In of general, the algorithms the drawbacks that use of a non-adaptivethe algorithms mechanism, that use a suchnon- asadaptive DT, RED, mechanism, and GRED such algorithms, as DT, RED, include and staticGRED parameters, algorithms, fixedinclude threshold static parameters, values, and fixed fixed droppingthresholdcalculation. values, and Thefixed adaptive dropping mechanism, calculation. such The as adaptive DGRED mec andhanism, SDGRED such algorithms, as DGRED are and 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/ Algorithms Metric(s) Non Dropping Mechanism Advantages Disadvantages Adaptive

Simple and low High PL, high delay and Drop all packets only Queue Non computation low throughput, and Drop tail after the buffer gets length (q) Adaptive overhead leads to global overloaded requirements synchronization Eliminate global Non Drop packets Sensitive to sudden RED (Qavg) synchronization Adaptive stochastically congestion problems

Symmetry 2020, 12, 2077 6 of 16 for thresholds. Table1 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 P , high delay and Drop all packets only after Simple and low computation L Drop tail Queue length (q) Non Adaptive low throughput, and leads the buffer gets overloaded overhead requirements to global synchronization Eliminate global Sensitive to SymmetryRED 2020, 12, (Qavgx 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 sudden congestion Uses dynamic and overflow Several threshold values, DGRED Qavg adaptivethresholds Drop packets stochasticallybased on Stabilize Qavg partially Severalparameterization threshold values, Stabilize Qavg and overflow SDGRED Qavg adaptive theUses value dynamic of thresholds aql to parameterization and Several threshold values, based on the value of aql to partially SDGRED Qavg adaptive Stabilize Qavg partially parameterization detectdetect congestion congestion at at an overflow and overflow earlyan early stage stage

ManagingManaging the the congestion congestion in dynamicin dynamic router router buffers buffers is urgent. is Theurgent. algorithms The algorithms mentioned previouslymentioned failpreviously to address fail the to issueaddress regarding the issue the regarding bursty tra theffic bu congestionrsty traffic caused congestion by the caused numbers by of the packets numbers in the of routerpackets bu inff er.the Thisrouter problem buffer. leadsThis problem to an increase leads to in an average increase time in average and PL. time Therefore, and PL. the Therefore, WQDAQM the algorithmWQDAQM is algorithm proposed is to proposed improve to the improve PL and the D of PL dynamic and D of router dynamic bu ffrouterers. This buffers. algorithm This algorithm aims to identifyaims to andidentify avoid and congestion avoid congestion in the buff erin bythe stabilizing buffer by aqlstabilizingat a level aql that at isa lesslevel than that the is routerless than bu fftheer capacity by using a dynamic q . router buffer capacity by usingw 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 Figure7, the router bu ffer 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.

FigureFigure 7.7. WeightWeight queuequeue activeactive queuequeue managementmanagement (WQDAQM)(WQDAQM) routerrouter bubuffer.ffer.

TheThe routerrouter bubufferffer operatesoperates normallynormally whenwhen thethe incomingincoming packetpacket isis lessless thanthan thethe minmin threshold;threshold; thatthat is,is, thethe raterate ofof thethe packetpacket arrivalarrival isis less less than than that that of of packet packet departure. departure. Therefore,Therefore, nono congestioncongestion 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) D = (1 − C × D )

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 − D ) × ( − max threshold) D + max threshold (2) D = (1 − C × D )

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 D ) − × init

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 D ) 7 of 15 − × init arriving packets exceeds the doublemax threshold, DP isis set to 1, which means thatthat allall incomingincoming packets will be dropped andand thethe routerrouter bubufferffer isis occupied.occupied. WQDAQM alsoalso updates updates the the queue queue weight weight parameter parameter at the routerat the burouterffer to buffer control to the control congestion. the WQDAQMcongestion. WQDAQM uses the SDGRED uses the algorithm’s SDGRED algorithm’ policy ins dropping policy in packetsdropping with packets probability with probability when the aqlwhenis eitherthe aql betweenis either between the min the threshold min threshold and max and threshold max threshold or between or between the max the thresholdmax threshold and doublemaxand doublemax threshold. threshold.

Phases of the WQDAQM Algorithm The WQDAQMWQDAQM algorithmalgorithm is is implemented implemented in in seven seven stages, stages, as illustratedas illustrated in Figure in Figure8. In 8. stage In stage one, theone, parameters the parameters are initialized are initialized as the as packetsthe packets start start to arrive to arrive at the at routerthe router buff er.buffer. The The thresholds thresholds are setare toset 3, to 9, 3, and 9, and 18, 18, which which are are the the same same as as the th thresholde threshold values values of of the the GRED, GRED, DGREDDGRED andand SDGREDSDGRED algorithms [[25].25]. The value of aql is set to zero, which indicates that no packet has reached the router buffer yet. Dmax, which represents the highest value of the primary packet that will be dropped, is set buffer yet. Dmax, which represents the highest value of the primary packet that will be dropped, is set to 0.1 [25]. The value of qw is dynamic and dependent on the station of aql at the router buffer. to 0.1 [25]. The value of qw is dynamic and dependent on the station of aql at the router 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. Implementation of the WQDAQM algorithm.

In stage two, the router buffer buffer of the proposed algorithmalgorithm starts receiving the packets to store and forward themthem to to their their destinations. destinations. The The Bernoulli Bernoulli model model is used is used to manage to manage the receiving the receiving packets, packets, which iswhich suitable is suitable for the buforff theer that buffer has that a static has length a static slot length [28,29 slot]. In [28,29]. the third In stage,the third qw prominentlystage, qw prominently drops the packetsdrops the because packets D Pbecausedepends DP on depends the values on oftheaql values. When of aqlaql.is When extremely aql is smallextremely and q,small which and represents q, which therepresents real packet the real in the packet router in butheff roer,uter is excessively buffer, is excessively high, the aql high,needs the aaql long needs time a long to update time to its update value. Therefore,its value. Therefore, qw must be qw dynamic must beto dynamic balance toaql balanceand q to aql drop andthe q to packet drop the and packet prevent and sudden prevent congestion sudden orcongestion bursty tra orffi burstyc. The detailedtraffic. The process detailed flow process is displayed flow is in displayed Figure9. 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 Yes qw = qw + 0.002 <= double_max

End

Figure 9. Detailed flow of the dynamic qw process.

Accordingly, in the proposed algorithm, when the value of aql is less than the min threshold, qw is set to 0.002, which is the same value as that set in the GRED algorithm [25]. No dropping occurs in this situation to allow more packets to enter the router buffer. When the value of aql is between the min and max thresholds, qw is determined as

= + 0.001 (3)

Symmetry 2020, 12, x FOR PEER REVIEW 7 of 15 arriving packets exceeds the doublemax threshold, DP is set to 1, which means that all incoming packets will be dropped and the router buffer is occupied. WQDAQM also updates the queue weight parameter at the router buffer to control the congestion. WQDAQM uses the SDGRED algorithm’s policy in dropping packets with probability when the aql is either between the min threshold and max threshold or between the max threshold and doublemax threshold.

Phases of the WQDAQM Algorithm The WQDAQM algorithm is implemented in seven stages, as illustrated in Figure 8. In stage one, the parameters are initialized as the packets start to arrive at the router buffer. The thresholds are set to 3, 9, and 18, which are the same as the threshold values of the GRED, DGRED and SDGRED algorithms [25]. The value of aql is set to zero, which indicates that no packet has reached the router buffer yet. Dmax, which represents the highest value of the primary packet that will be dropped, is set to 0.1 [25]. The value of qw is dynamic and dependent on the station of aql at the router 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. Implementation of the WQDAQM algorithm.

In stage two, the router buffer of the proposed algorithm starts receiving the packets to store and 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 Symmetryits value.2020 Therefore,, 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 Yes qw = qw + 0.002 <= double_max

End

Figure 9. Detailed flow of the dynamic qw process. Figure 9. Detailed flow of the dynamic qw process.

Accordingly, inin the the proposed proposed algorithm, algorithm, when when the the value value of ofaql aqlis is less less than than the the min min threshold, threshold, qw qisw setis set to to 0.002, 0.002, which which is theis the same same value value as thatas that set inset the in the GRED GRED algorithm algorithm [25]. [25]. No droppingNo dropping occurs occurs in this in situationthis situation to allow to allow more more packets packets to enter to en theterrouter the router buff er.buffer. When When the value the value of aql ofis aql between is between the min the andmin maxand max thresholds, thresholds,qw is q determinedw 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 The bu ffaqler is from updated, building and itself. packet In thisdropping scenario, startsaql randomlyexceeds the according min threshold, to Equation and the (1) dynamic to preventqw allowsthe router the buffer value offromaql tobuilding be updated. itself. InIn thisthis situation,scenario, moreaql exceeds packets the are min dropping threshold, to prevent and the the dynamic router buqw ffallowser arriving the value at max of thresholdaql to be updated. to maintain In this the situation,aql as small more as possible. packets are dropping to prevent the routerWhen buffer the arriving value of ataql maxis betweenthreshold the to maxmaintain and doublemax the aql as small thresholds, as possible.qw is calculated as 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. Pseudocode for the calculation of 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) 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 to Equation (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

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 Table2. Symmetry 2020, 12, x FOR PEER REVIEW 9 of 15

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.

ASymmetry single 2020router, 12, 2077was modulated using first-in first-out (FIFO) with a variable arrival rate 10and 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 areBuffer set. The qw of the proposed and existing algorithms are assigned with dynamic and static values,Capacity respec 20tively. 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 congestionFigure 11.orSystem 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 ...... FigureFigure 12. 12. SimulationSimulation cycle. 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, DoubleParameters MT GRED 18 Algorithm DGRED .. Algorithm SDGRED .. Algorithm WQDAQM .. Algorithm and WQDAQM are assigned dynamic values. Dmax is set to 0.1 following the corresponding values in Alpha 0.33–0.93 0.33–0.93 0.33–0.93 0.33–0.93 the DT and GREDq algorithms [25].0.002 The buffer 0.002capacity is set to 0.002 20 packets to Dynamicdetect congestion at w small buffer sizes.Beta The processes 0.5in the router buffe 0.5r are divided 0.5into time units called 0.5 slots, and the packets mayMaximum arrive probability or depart during 0.1 a specific slot. 0.1 The warm period 0.1 occurs when 0.1 2,000,000 slots are generated [31]. AfterSlot such a period 2 million, the packet 2 million departure is evaluate 2 milliond, that is 2 millionif the departure is terminated or not.Buffer If size the generated 20 number is less 20 than beta (0.5), 20the number of departing 20 packets is Minimum T 3 ...... increased by oneMaximum unit; T otherwise, no 9 packet will de ..part. Subsequently, .. the number of .. arriving packets is checked. If thisDouble quantity 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 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, 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 Section2. 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

7.5 mql GRED 5 SDGRED 2.5 0 WQDAQM 0.93 0.78 0.63 0.48 0.33 0.18 alpha

Figure 13.13. Mean queue length (mql) 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 packet departure, the proposed algorithm overperforms the other algorithms. The overflow obtained by the WQDAQM algorithm during heavy congestion is less than those obtained by the existing ones. Consequently, the proposed algorithm maintains the mql at a level that is lower than the doublemax threshold to allow the arrival of many packets and prevent the rapid increase in the size of the router buffer. In detail, in a heavy congestion status at a probability of packet arrival of 0.93, the proposed algorithm overperformed DGRED by 13.3%, GRED by 19.2%, SDGRED by 6.7% in terms of mql.

5.2. D 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 10 GRED 7.5 5 SDGRED 2.5 0 WQDAQM 0.93 0.78 0.63 0.48 0.33 0.18 alpha

Figure 14. D vs. alpha.

The proposed and existing algorithms have identical outputs according to D, when the probability of packet arrival is 0.18 or 0.33 as the number of arriving packets is less than that of departing ones. The proposed algorithm exhibits better performance than the existing ones when heavy congestion is present in the router buffer because the former has fewer departing packets than 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 status

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

mql evaluation

17.5 15 12.5 10 DGRED

7.5 mql GRED 5 SDGRED 2.5 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 in Figure 13,13, the mql values of the proposed and existi existingng algorithms are the same at alpha’s valuevalue of of 0.18 0.18 and and 0.33. 0.33. When When the probabilitythe probability of packet of packet arrival arrival is less thanis less that than of packet that departureof packet (adeparture< B), each (a < packet B), each that packet arrives that will arrives depart. will When depart. the When value the of alphavalue isof 0.48, alpha the is WQDAQM,0.48, the WQDAQM, DGRED, DGRED,and SDGRED and SDGRED algorithms algorithms demonstrate demonstrate better performances better performances than the than GRED the algorithm,GRED algorithm, and bright and brightcongestion congestion is present. is present. When mqlWhenincreases mql increases and the and probability the probability of packet of packet arrival arrival exceeds exceeds that of that packet of packetdeparture, departure, the proposed the proposed algorithm algorithm overperforms overperfor thems other the other algorithms. algorithms. The The overflow overflow obtained obtained by bythe the WQDAQM WQDAQM algorithm algorithm during during heavy heavy congestion congestion is is less less than than those those obtainedobtained byby the existing ones. ones. Consequently, the proposed algorithm maintains the mql at a level that is lower than the doublemax threshold to allow the arrival of many packets and pr preventevent the rapid increase in the size of the router buffer.buffer. In detail, in a heavy congestion status at a probability of packet arrival of 0.93, the proposed algorithm overperformed DGRED by 13.3%, GRED by 19.2%, SDGRED by 6.7% inin termsterms ofof mqlmql.. 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 10 GRED 7.5 5 SDGRED 2.5 0 WQDAQM 0.93 0.78 0.63 0.48 0.33 0.18 alpha

Figure 14. D vs. alpha.

The proposedproposed and and existing existing algorithms algorithms have have identical identical outputs outputs according according to D, when to theD, probabilitywhen the probabilityof packet arrival of packet is 0.18 arrival or 0.33 is as0.18 the or number 0.33 as of the arriving number packets of arriving is less thanpackets that is of less departing than that ones. of Thedeparting proposed ones. algorithm The proposed exhibits algorithm better performance exhibits be thantter theperformance existing ones than when the existing heavy congestion ones when is presentheavy congestion in the router is present buffer because in the router the former buffer has because fewer the departing former packetshas fewer than departing the other packets algorithms. than Thethe other results algorithms. further indicate The results that mql furtherplays indicate a key role that in mql the plays delay a equationkey role in D the= mql delay/T. This equation equation D = mqlimplies/T. This that equation D is small implies when thatmql isD small.is small In when detail, mql in ais heavysmall. congestionIn detail, in status a heavy at acongestion packet arrival status 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 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. 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.

Symmetry5.3. T 2020, 12, 2077 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 algorithmT evaluation overperformed DGRED by 13.3%, GRED by 19.3%, SDGRED by 6.3% in term of D. 0.5 5.3. T 0.4 The plot of T vs. the probability of packet arrival is illustrated in Figure 15. 0.3 T DGRED T evaluation 0.2 GRED 0.1 SDGRED 0.5 WQDAQM 0 0.4 0.93 0.78 0.63 0.48 0.33 0.18

alpha 0.3 T DGRED 0.2 GRED Figure 15. T vs. alpha. Figure 15. T vs. alpha. 0.1 SDGRED WQDAQM 5.4. PTheL and proposed DP and existing algorithms obtained identical results when0 the alpha was less than beta. In addition, the light congestion occurs in the router buffer at packet arrival probabilities of 018, The number0.93 of0.78 packets dropped0.63 by the0.48 proposed0.33 and the0.18 existing algorithms are analyzed in 0.33, and 0.48. When the value of alpha approaches that of beta and heavy congestion is present, the this section. The PL and DP values ofalpha 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 P when heavy congestion is SDGRED by 6.3% in term of D. Figure 15. T vs. alpha. L 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 5.4. PTheL and proposed DP and existing algorithms obtained identical results when the alpha was less than ofbeta. arriving In addition, packets the reaches light congestion the doublemax occurs threshold.in the router When buffer alpha at packet is less arrival than beta,probabilities all algorithms of 018, produced0.33, Theand number0.48. similar When results.of packets the value In details,dropped of alpha with by approaches lowthe traproposedffic load,that and of no beta the PL occursandexisting heavy as algorithms a congestion result of usingare is analyzedpresent, any of thethe in algorithms.thiscompared section. algorithms AsThe slight PL and stabilize congestion DP values at the occurs of valuethe atGRED, of a packetthe DGRED,latter arrival (0.5). SDGRED, ofIn 0.48,detail,the and in DGREDa WQDAQM heavy congestion overperformed algorithms status theare at proposedpresenteda packet arrival algorithmin Figures of 0.93, by 16 2% andthe only. proposed17, respectively. The proposed algorithm algorithm overperformed and SDGRED DGRED perform by 13.3%, equally. GRED At by the 19.3%, same time,SDGRED the proposed by 6.3% in algorithm term of D. overperformed GRED by 39.7%. In a heavy congestion status at a packet 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. PL inand term DP of PL. The relationship between D and alpha is illustrated in Figure 16. The0.25 result reveals that the The number of packets droppedP by the proposed and the existing algorithms are analyzed in proposed WQDAQM algorithm drops many packets in the router buffer when0.2 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 departing0.15 ones. DGRED presented in Figures 16 and 17, respectively. L 0.1 P GRED 0.05 SDGRED PL vs. alpha WQDAQM 00.25 0.93 0.78 0.63 0.48 0.33 0.18 0.2 alpha 0.15 DGRED

L 0.1 P GRED Figure 16. PL vs. alpha. 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 (packet0.63 arrival0.48 and packet0.33 departure).0.18 This phenomenon occurs because the router buffer that is managed by this algorithm takes a long time to overflow, and the number of alpha

Figure 16. PL vs. alpha. Figure 16. PL vs. alpha.

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

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

arriving packets reaches the doublemax threshold. When alpha is less than beta, all algorithms 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 Symmetryarrival of2020 0.93,, 12, 2077the proposed algorithm overperformed DGRED by 15.5%, SDGRED by 19.8%, 14GRED of 16 by 86.3% in term of PL.

DP vs. alpha

0.48 0.4 0.32

P DGRED D 0.24 GRED 0.16 SDGRED 0.08 WQDAQM 0 0.93 0.78 0.63 0.48 0.33 0.18 alpha

Figure 17. Dropping probability (DP) vs. alpha. Figure 17. Dropping probability (DP) vs. alpha.

6. ConclusionsThe relationship between DP and alpha is illustrated in Figure 16. The result reveals that the 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 packets.In this The paper, proposed thealgorithm WQDAQM is comparedalgorithm with wasGRED, proposed DGRED, by enhancing and SDGRED the SDGRED algorithms algorithm in terms ofwith D, mqldynamic,PL, T, anddropping DP to determinerates. This which algorithm among aims them to achievesmaintain the the best aql results between based two on dynamically the value of alpha.predetermined The WQDAQM thresholds algorithm to prevent resulted the inbuffer better frommql ,exceeding D, and PL thecompared latter and to SDGRED, overflowing. DGRED The andWQDAQM GRED algorithms algorithm controls when heavy the congestion congestion at exists the ro inuter the buffer buffer. and However, prevents when the loss the alphaof the ispackets. either lessThe thanproposed or greater algorithm than beta, is compar all algorithmsed with GRED, produce DGRED, the same and throughputs. SDGRED algorithms Moreover, in the terms proposed of D, algorithmmql, PL, T, dropsand D fewerP to determine packets at which the router among bu themffers comparedachieves the to thebest SDGRED, results based DGRED on the and value GRED of algorithms.alpha. The WQDAQM Accordingly, algorithm WQDAQM resulted enhances in better and mql improves, D, and the PL congestioncompared to consequences SDGRED, DGRED at the routerand GRED buffer. algorithms The limitation when appearsheavy congestion as the proposed exists algorithmin the buffer. with However, slight congestion when theas alpha the DGREDis either overperformedless than or greater the proposedthan beta, algorithm all algorithms by 2% pr only.oduce Accordingly, the same throughputs. in future work, Moreover, the focus the willproposed be on enhancingalgorithm drops the performance fewer packets of the at proposedthe router algorithm buffers compared in a slightly to the congested SDGRED, network. DGRED and GRED algorithms. Accordingly, WQDAQM enhances and improves the congestion consequences at the Funding:router buffer.Thisresearch The limitation received appe no externalars as the funding. proposed algorithm with slight congestion as the DGRED Conflictsoverperformed of Interest: the Theproposed authors algorithm declare no by conflict 2% only. of interest. Accordingly, in future work, the focus will be on 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. Control: Managing Internet Traffic, 1st ed.; Wiley: Hoboken, NJ, USA, 2005; References pp. 10–12. 3.1. Baklizi,Al-Zubi, M.; M.; Ababneh,Abu Shareha, J.M.; A.A. Abdallah, Efficient N. sign Performancecryption scheme investigations based on ofEl-Gamal flred and and agred Schnorr. active Multimed. queue managementTools Appl. 2018 methods., 78, 11091–11104. 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/).