S S 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; [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 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 (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