Performance Analysis of Priority Schemes for IEEE 802.11e Wireless Local Area Networks Using Multiple Flows Distributed Weighted Fair Queuing Algorithm

In this paper, a novel and simple search algorithm called distributed weighted fair queuing (DWFQ) algorithm is proposed for the quality-of-service (QoS) in IEEE 802.11e wireless local area networks (WLANs). We first propose that the IEEE 802.11e enhanced distributed coordination function (EDCF) is an efficient algorithm to support the QoS in WLANs, although it can provide more bandwidth to packets with higher priority. However, when the system under heavy traffic load situation, IEEE 802.11e EDCF can’t guarantee the fair allocation of excess bandwidth of each access categories (ACs), i.e., under heavy traffic load, EDCF guarantees the QoS of packets with higher priority by reducing the QoS of packets with lower priority. This paper discuses an EDCF scheme, in order to distribute bandwidth fairly among different ACs under heavy traffic load situation in WLAN, we propose multiple flows DWFQ algorithm. This algorithm not only supports the concept of differentiating ACs with different priorities but also guarantees the fair allocation of each ACs according to their relative weights. Furthermore, in this propose a mechanism to resolve the overload situation problem and doubling contention window (CW) method to reduce the collision probability. The simulations performed show that multiple flows DWFQ with doubling CW method which can perform an attractive performance even under heavy traffic load.


Introduction
In recent years, the wireless local area networks (WLANs) market is experiencing an explosive growth. The medium access control (MAC) protocol is the key element that provides the efficiency in accessing the channel, while satisfying the quality of service (QoS) requirements. IEEE 802.11 has emerged as a leading technology for the wireless networks [1][2][3][4][5]. In IEEE 802.11 protocol, the fundamental mechanism to access the medium is called the distributed coordination function (DCF). This is a random access scheme which is based on the carrier sense multiple access with collision avoidance (CSMA/CA) protocol. However, the basic access method DCF in IEEE 802.11 MAC layer protocol does not provide priorities and service differentiation mechanism to guarantee an access delay bound to stations or any specific traffic stream. The IEEE 802.11 distributed WLAN have become widely deployed since the contention-based MAC protocol is simple, robust, and allows fast installation with minimal management and maintenance costs. Although the contention-based MAC protocol fits for best effort traffic, it is unsuitable for multimedia services with QoS requirements. However, QoS is necessary for real-time applications such as web, voice or live video transmissions.
Meanwhile, considerable effort was devoted to theoretical analysis of the performance of the 802.11 DCF [4][5][6][7][8] and enhanced DCF [9][10][11][12][13][14][15][16][17]. Deng and Chang [4] proposed a priority scheme by differentiating the backoff window: the higher priority class uses the window [0, 2i+1-1] and the lower priority class uses the window [2i+1, 2i+2-1] , where i is the backoff stage. Aad and Castelluccia [5] proposed a priority scheme by differentiating inter-frame spaces (IFS's), in which a higher priority class uses IFS, whereas a lower priority class uses a space that equals the sum of IFS and the maximum window size. In [6], Veres and Campbell et al. proposed priority schemes by differentiating the minimum backoff window size and the maximum window size. E. Ziouva and T. Antonakopoulos [7] presented an accurate analysis to compute the saturation throughput and delay performances. Wen and Weng [8] proposed a modified model from [7], and extended the model to support EDCF in ideal channel scenario. In [9] Serrano, P. Yan and C. Pan proposed an improved discrete three-dimension Markov chain model. They considered elaborately the modified the AIFS and backoff co-operation process in enhanced distributed channel access (EDCA) defined by the IEEE 802.11e standard. J. H. Lin et al. [11] presented an accurate throughput model of enhanced distributed coordination function DCF (EDCF) [10] that considered a delay bound by predicting an effective retry limit and applying the retry limit to the model. In the related literature, there have been numerous studies to improve the performance of the EDCF mechanism. The analytical models proposed in [12][13][14][15] demonstrated that the performance of the DCF strongly depends on the minimum contention window (CW) and the number of contending nodes. Cali et al. [16] proposed a distributed algorithm that enables nodes to estimate the number of contending nodes and then to tune their CW to an optimal value. The work in [17] proposed schemes in which accessing nodes announce their future BF information in the medium access control (MAC) header of their frame being transmitted.
These performance studies neglected that if each station (STA) uses original IEEE 802.11e EDCF to access channel under heavy traffic load condition, the performance of each STA will be inefficient because of collisions. In this paper we proposed multiple flows distributed weighted fair queuing (DWFQ) algorithm for QoS in WLANs. In multiple flows DWFQ, it can support the QoS requirements of different access categories (ACs), and can guarantee the QoS requirements of packets with higher priority without reducing the QoS of packets with lower priority under heavy traffic load. In other words, it is able to provide the desired bandwidth distribution of different ACs. We note that while under nonsaturation conditions, the QoS requirements may be satisfied without a differential service mechanism, under saturation conditions, prioritized traffic and differential service become more important in order to guarantee the transmission of throughput-critical traffic by sacrificing the transmission throughput of other traffic.
The remainder of this paper is organized as follows. In Section II, general descriptions of DCF, EDCF, DWFQ, and the DCF mode of the 802.11 MAC protocol to distribute the bandwidth of the wireless network among the different flows proportionally to their weights are presented. In section III, a detail description of our proposed algorithm is presented. In Section VI, the simulation results with performance are evaluated through comprehensive simulation studies. Finally, conclusions are drawn in section V.

Operation of the IEEE 802.11-BASED
WLANs and Related Works

IEEE 802.11 Distributed Coordination Function (DCF) Scheme
The legacy IEEE 802.11 DCF (Distributed Coordination Function) is based on carrier sense multiple access with collision avoidance (CSMA/CA). Before starting a transmission, each node performs a backoff procedure, with the backoff timer uniformly chosen from [0, CW-1] in terms of time slots, where CW is the current contention window. If the channel is determined to be idle for a backoff slot, the backoff timer is decreased by one. Otherwise, it is suspended. When the backoff timer reaches zero, the node transmits a DATA packet. In DCF, each station (STA) maintains a contention window (CW) which is used to select the random backoff counter. A STA has a frame to transmit, it will monitor the channel. If the channel is busy, the STA waits until the channel becomes idle, and then defers for an extra time interval, called the DCF Inter-frame Space (DIFS). After sensing the channel within a DIFS time, the STA randomly chooses a backoff interval before transmitting. The backoff counter is decremented in terms of a time slot as long as the channel is sensed as being idle. The counter is stopped when a transmission with other STAs is detected on the channel and reactivated when the channel is sensed as being idle again for more than a DIFS time. The station transmits its frame when the backoff counter reaches zero. At each transmission, the backoff time is uniformly chosen in the range [0, CW−1], where CW is the current backoff window size. CW equals the initial backoff window size CW min . After each unsuccessful transmission, CW is doubled until a maximum backoff window size value CW max is reached. Once it reaches CW max , CW shall remain at the value CW max until it is reset. CW shall be reset to CW min after every successful transmission or the retransmission counter reaches the retry limit (RL). After the destination station successfully receives the frame, it transmits an acknowledgment frame following a short inter-frame space (SIFS) time. If the transmitting station does not receive the acknowledgment frame within a specified ACK timeout or it detects the transmission of a different frame on the channel, it reschedules the frame transmission according to the previous backoff rules [1].

IEEE 802.11e Enhanced Distributed Coordination Function (EDCF) Scheme
In order to support multiple services in wireless LANs, our purpose is providing a suitable mechanism according to bandwidth, delay, frame loss, jitter, etc. However, DCF only supports the same priority to access the channel for all STAs. EDCF is a feasible scheme for different QoS requirements. EDCF specifies four defaults ACs. Each STA contends for the channel access and independently starts its backoff depending on its associated AC. Each AC uses arbitration interframe space (AIFS [AC]), CW min [AC] and CW max [AC] instead of the DIFS time, CW min and CW max of the DCF [18]. EEE 802.11 WiFi networks have become the de facto standard for wireless local area networks (WLANs). Future traffic demands require quality-of-service (QoS) provisioning and higher network capacity. To address the former, the IEEE 802.11 Task Group "E" has defined enhancements to the IEEE 802.11 distributed coordination function (DCF) mechanism. The enhancements include Performance Analysis of Priority Schemes for IEEE 802.11e Wireless Local Area Networks Using Multiple Flows Distributed Weighted Fair Queuing Algorithm defining two main QoS access functions, i.e., the hybrid coordination function and the enhanced distributed coordination function (EDCF) [19]. The contention method of EDCF is the same as that in DCF. Each STA having a frame to transmit must wait for the channel to be idle without interruption for a period AIFS [AC], and then it should start a random backoff process with its own CW[AC]. For each time slot interval, during which the channel stays idle, the random backoff value is decremented. When the backoff counter reaches zero, the frame is transmitted. AIFS[AC] is calculated as follows: (1) where aSIFSTime is the duration of a short interframe space, aSlotTime is the time interval that the backoff counter uses as time unit the duration a station needs to detect the transmission of a frame from any other station, and the backoff time is calculated as follows: backoff time = random_integer * aSlotTime (2) where random_integer is uniformly and randomly chosen in the range (0,CW[AC]), instead of (0,CW-1) in the DCF. Initially, CW of each AC is equal to CW min [AC]. After each collision, CW is doubled up to: where m is called the maximum backoff stage. Once it reaches CW max [AC], it remains at this value until it is reset [19][20]. The timing diagram of the EDCF is shown in figure1.

Distributed Weighted Fair Queuing in 802.11 DCF
With weighted fair queuing, the link's bandwidth is distributed among competing flows proportionally to the weight that these flows have been assigned: (4) where r i and r j are the estimated bandwidths experienced by flow i and j, respectively. W i and W j are the weights of flow i and j, respectively.
In terms of the above explanation, terminals conforming to the IEEE 802.11 standard and DWFQ terminals compete with each other with different CW. In order to allow backward compatibility, the STAs conforming to the IEEE 802.11 standard should behave as DWFQ STAs with the default weight, which is equal to 1. This value corresponds to the basic service; weights smaller than 1 are not allowed, and any larger weight means that the priority of this flow is better than the basic IEEE 802.11 service.The difficulty of DWFQ relies in determining the CW values that lead to the desired bandwidth distribution of eq. (4). The approach for the calculation of the CW is a dynamic one. In order to be able to properly adjust the CWs, DWFQ introduce a variable D i , defined as (5) DWFQ use exponential averaging to estimate the rate of a flow. Let and be the arrival time and length of the k th packet of flow i. The estimated throughput r i is updated every time a new packet is transmitted (6) where and K is a constant. Following the discussion in [21][22][23], the choice of K in the above expression presents us with several tradeoffs and an appropriate value for K would be between 100 and 500 ms. With the above definition of D i , the resource distribution expressed in eq. (4) can be achieved by imposing the condition that D i should have the same value for all the flows: Note that the actual value of D can vary in time. The above equation is fulfilled by using the following algorithm: having calculated its own D i , each station includes its D i in the header of the packets it sends. For each observed packet, if the D i in the packet's header is smaller than the D i of the station, the station increases its CW by a small amount, while in the opposite case it decreases its CW by a small amount.

Proposed Algorithm
In this section, all packets in a STA only belong to a single flow. Consider a multi-media applications, distributed weighted fair queuing (DWFQ) is needed to be extended to multiple flows in a STA. In the proposed multiple flows DWFQ algorithm, we make use of the concept of DWFQ to assign weight proportionally to packet's priority in a STA. The flowchart of multiple flows DWFQ is shown in Fig. 2 and the procedure of "Tuning CW[AC]" is shown in Fig. 3.  In the procedure of "Tuning CW[AC]", STA i needs to update its own r i according to eq. (6) every time a new packet is transmitted. At the same time, station includes its own D i in the header of the packet it sends. Other stations observe this packet will set the value of D i to D rcv. These stations calculate their own D own [ should not be allowed to decrease in such a way that they negatively influence the overall performance of the network. If the channel is detected to be below its optimum limit of throughput due to too small values for the CW[AC] (i.e. overload), the CW[AC] should be increased.

Overload Situation
In multiple flows DWFQ, due to the dynamic way of adjustment of the size of each AC, a mechanism for controlling the overload is necessary. In multiple flows DWFQ algorithm, each STA adjusts its CW[AC] only on the basis of its own requirements. Such "selfishness" can easily be disastrous, due to the followings effect of the small CW. We have been arguing that, the smaller the CW[AC] for a given STA, the larger the throughput received by this STA. The other bad consequence of such a procedure is that the more STAs have small CW[AC], the bigger the probability of a collision. One can easily see that, for a big number of STAs with a high weight, this can lead to an absolute blockage of the channel. Once all of the STAs start decreasing their CW[AC] in order to get the desired relative throughput, the number of collisions will start increasing, leading to even smaller CW[AC], and as a consequence, continuous collisions. A solution to this problem is to extend the algorithm with the adjustment as shown in Fig. 4. We use av_coll and overload_c to detect overload. The parameter av_coll means the average number of collisions, which is calculated after each successful transmission in the following way (9) The parameter overload_c is constant that has to be properly adjusted. If overload_c is too low, flows with high weights will not be allowed to decrease their CW [AC] sufficiently, and as a consequence they will not be able to achieve the desired bandwidth distribution. On the other hand, if overload_c is too large, the number of collisions in the channel will be very high and the overall performance will be harmed. Therefore, this constant represents a tradeoff between the level of accurateness of the bandwidth distribution and the efficiency (i.e. total throughput) of the channel. By comparing av_coll with overload_c, we can actually detect overload. If overload, therefore, we adjust p[AC] by a constant β to solve overload. On the other hand, we use doubling CW method to reduce the probability of collision. In doubling CW, even CW[AC] reaches CW max [AC], it still can be doubled after several consecutive collisions (cont_c). This method can solve the problem of colliding under heavy traffic load condition. Furthermore, adopt GDCF for each AC. GDCF attempts to avoid useless collisions through the "gentle" decrease of contention window. The difference between GDCF and EDCF is that GDCF will halve CW[AC] value if there are c consecutive successful transmissions [21].

Numerical Validation and Discussion
In the following simulations, we experiment the proposed multiple flows DWFQ algorithm. By assigning different weight to each AC, the link's bandwidth is proportional to the weight that these ACs have been assigned. Fig. 5 shows the relationship between normalized throughput and weight. The simulation corresponds to a scenario with a total number of 40 nodes, each node maintain four flows locally (AC(0) to AC(3)). Weights of AC(0), AC(1), AC(2) and AC (3) Fig. 6. It is obviously that the bandwidth of different ACs still proportionally to its weight. Therefore, the simulation results can guarantee the fair allocation of excess bandwidth of each AC in the proposed multiple flows DWFQ algorithm.   [3] In Fig. 7 shows that the overall throughputs of joint multiple flows DWFQ and GDCF algorithm, and joint multiple flows DWFQ and GDCF with double CW [3] algorithm. Under heavy traffic load, the joint multiple flows  DWFQ and GDCF with double CW [3] algorithm is better than that without double CW [3]. Fig. 8 shows that the doubling CW method made a great impact on the throughput of each AC. we joint multiple flows DWFQ and GDCF for all ACs with doubling CW method and compare these without doubling CW. It is obviously that the normalized throughputs of all ACs with doubling CW method are higher than these without doubling CW method under heavy traffic load because doubling CW method can reduce the probability of collision under heavy traffic load.

Figure 8. Throughputs of GDCF and GDCF & double CW
The simulation result of GDCF is show in Fig. 9. The first four curves represent that the joint multiple flows DWFQ and EDCF algorithm. We named these four curves as "AC(n) with EDCF". The last four curves represent that the joint multiple flows DWFQ and GDCF with doubling CW [3] algorithm. We named these four curves as AC(n) with GDCF & double CW [3]. When the number of competing stations is large (i.e. 100 competing STAs), AC(n) with GDCF & double CW [3] can provide higher throughputs than AC(n) with EDCF. That is AC(n) with GDCF & double CW [3] algorithm reduces the emergence colliding effectively. Figure 9. Throughputs of EDCF and GDCF & double CW [3] However, there is a drawback of AC(n) with GDCF & double CW [3] algorithm. The gentle decrease in GDCF is unnecessary under slight traffic load. Therefore, we modify the algorithm as Half-GDCF (HGDCF). In HGDCF, we adopt GDCF only in AC(2) and AC(3), AC(0) and AC(1) still use the original 802.11e EDCF. The simulation result is shown in Fig. 10. By using the AC(n) with HGDCF & double CW [3] algorithm, throughput of each AC is higher than AC(n) with GDCF & double CW [3] algorithm under slight traffic load. Moreover, throughputs of AC(0) and AC(1) are improved evidently because of the backoff stage will resume to initial stage 0 and CW will be reset to CW min after each successful transmission.   Fig. 11 shows the throughputs of AC(n) with EDCF and AC(n) with HGDCF & double CW [3] algorithms. It is obviously that throughputs of these two algorithms are close under slight traffic load. Under heavy traffic load, the efficiency of AC(n) with HGDCF & double CW [3] algorithm is better than the original method of AC(n) with EDCF. Figure 12 shows the overall throughput of each algorithm. The AC(n) with EDCF algorithm is suitable for slight traffic load, but inefficient for heavy traffic load. Contrary to the AC(n) with EDCF algorithm, the AC(n) with

Conclusions
In this paper, we have proposed the multiple flows DWFQ architecture for providing weighted fair queuing in IEEE 802.11e WLANs. With multiple flows DWFQ, the bandwidth received by a flow is in proportion to the flow's weight. By assigning higher weight to packet with higher priority, multiple flows DWFQ can also support QoS requirements of priority application. Furthermore, for fairness issue, it can guarantee the QoS of packets with higher priority without reducing the QoS of packets with lower priority. In multiple flows DWFQ, due to the dynamic way of adjustment of the size of each AC that results in overload problem. In the proposed algorithm we also resolve the overload problem. Future research involves proposing a multihop active node estimation scheme and incorporating it in the DWFQ scheme, which can adaptively reduce the effect of the hidden node problems. Finally, the simulation results show that the proposed schemes successfully guarantee stringent QoS requirements of real-time services, while achieving under heavy traffic load utilization.  [3]