The Delay Distribution of IEEE 802.11e EDCA and 802.11 DCF Paal E. Engelstad Olav N. Østerbø UniK/Telenor R&D 1331 Fornebu, Norway paal.engelstad@telenor.com Telenor R&D 1331 Fornebu, Norway olav-norvald.osterbo@telenor.com Abstract A number of works have focused on the mean delay performance of IEEE 802.11 [1]. The main contribution of this paper is that it provides a method to obtain the full distribution of the delay, and not only mean values or higher order moments. Hence, any desirable delay percentiles can be found. The distribution is found by inverting the ztransform of the delay numerically. The trapezodial rule is used with a configurable error bound (- in this paper set to 10-14). The z-transform was derived in our previous works from an analytical model that works in the whole range from a lightly loaded, non-saturated channel to a heavily congested, saturated medium. The model describes the priority schemes of the Enhanced Distributed Channel Access (EDCA) mechanism of the IEEE 802.11e standard [2]. By setting the number of traffic classes (Access Categories) to one, and by using an appropriate parameter setting, the results presented are also applicable to the legacy 802.11 Distributed Coordination Function (DCF) [1]. 1. Introduction Due to the inherent capacity limitations of wireless technologies based on the IEEE 802.11 standard [1], the WLAN easily becomes a bottleneck for communication. In these cases, the Enhanced Distributed Channel Access (EDCA) of the IEEE 802.11e standard [2] will be beneficial to prioritize for example voice and video traffic over more elastic data traffic.1 EDCA allows for differentiation between four different access categories (ACs) at each station and a transmission queue associated with each AC. Each AC at a station has a conceptual module responsible for channel access for each AC, and in this paper the module is referred to as a ”backoff instance”. 1 This issue is relevant to the OBAN project, which supported this work. The OBAN project is funded by the European Commissions 6th Framework Program. However, the information in this document is provided as is, and no guarantee is given that the information is fit for any purpose. Other OBAN partners are not committed under any circumstances by its content. The majority of analytical work on the performance of 802.11e EDCA focuses on predicting the mean throughput [36] and on the mean delay of the medium access [4-6], i.e. the first order moment of the delay. In [6] the second order moment of the delay is also found, in order to estimate the queueing delay. However, in many cases these moments are not sufficient. Instead, one needs to know the full distribution of the delay, for instance to obtain various delay percentiles. This paper provides a method of obtaining the full delay distribution. It also demonstrates how the distribution can be found, how it looks like and how the associated delay percentiles can be calculated. As pointed out in [6], the actual delay experienced by an arbitrary packet may be divided into two main parts; the delay for a packet to reach the front of the transmission queue, named the queueing delay, and the delay while the packet is in the front of the transmission queue competing for the wireless channel and attempts to transmit, named the medium access delay. Hence, the total delay consists of the medium access delay (also referred to as the "MAC delay") as well as the queueing delay. Consequently, the paper derives the distributions of the MAC delay, the queueing delay and the total delay. The delay distribution is found by inverting the ztransform of the delay. The z-transform was derived in our previous work [6] from an analytical model that works in the whole range from a lightly loaded, non-saturated channel to a heavily congested, saturated medium. The model describes the priority schemes of the Enhanced Distributed Channel Access (EDCA) mechanism of the IEEE 802.11e standard [2]. By setting the number of ACs, N, to one, and by using an appropriate parameter setting, the results presented are also applicable to the legacy 802.11 Distributed Coordination Function (DCF) [1]. The remaining part of this paper is organized as follows: The next section presents the analytical model that is used to derive the z-transform, while the resulting transform is presented in Section 3. In Section 4 we present a method to find the delay distribution by inversion of the transform, and in Section 5 we demonstrate how this can be done numerically. Based on these distributions, we find some delay percentiles in Section 6, since finding percentiles is an attractive application of our presented method. Concluding remarks are given in Section 7. 2. Analytical Model probability q i∗ , it moves to a corresponding state in the second row with a packet waiting for transmission. Otherwise, it remains in the first row with no packets waiting for transmission. 2.1. Contention Windows (CWs) For each AC, i (i = 0,...,3) , let Wi, j denote the contention window size in the j th backoff stage i.e. after the j th unsuccessful transmission; hence the minimum contention window is given as Wi , 0 . Let also j = m i denote the j th backoff stage where the contention window has reached the maximum contention window, given by 2m Wi , 0 . Finally, let i Li denote the retry limit of the retry counter. Then: 2 jW Wi , j = mi i , 0 2 Wi , 0 j = 0,1,...., mi − 1 j = mi ,...., Li . (1) 2.2. The Markov Model The behavior of 802.11e EDCA is analyzed by considering a bi-dimensional Markov chain S ni , Bni (for AC ( ) i n i ) where S is a stochastic process representing the backoff stage and Bni is the backoff counter. To model the postbackoff properly we add an “extra” state S ni = −1 representing the case where the post-backoff starts with an empty queue, and we take S ni = 0 for the case when the postbackoff starts with a non-empty queue. The state space of the Markov chain S ni , Bni is denoted ( j , k ) where k = 0,1,...., Wi , j and j = −1,0,1,...., Li and where we also have ( ) Wi , −1 = Wi ,0 . Figure 1 illustrates the Markov chain for the transmission process of a backoff instance of priority class i . Let ρ i• represents the probability that there is a packet waiting in the transmission queue of the backoff instance of AC i at the time a transmission is completed (or a packet dropped). Now, the backoff instance selects a backoff interval k at random and goes into post-backoff. If the queue is empty, at a probability 1 − ρ i• , the post-backoff is started by entering the state ( −1, k ) . If the queue on the other hand is non-empty, the post-backoff is started by entering the state • (0, k ) . In section 2.6 the connection between ρ i and the utilization factor of the queue, ρ i , is outlined. Hence, ρ i balances the fully non-saturated situation with the fully saturated situation. While in the states (−1, k ) where k > 0, the probability that a backoff instance of AC i is sensing the channel busy and is thus unable to count down the backoff slot from one timeslot to the other, is denoted with the probability p i∗ . If it has received a packet while in the previous state at a http://heim.ifi.uio.no/~paalee/ Figure 1. Markov Chain (both saturation and nonsaturation) for a backoff instance of Access Category i. While in the state (−1,0) , the backoff instance has completed post-backoff and is only waiting for a packet to arrive in the queue. If it receives a packet during a timeslot at a probability q i , it does a ”listen-before-talk” channel sensing and moves to a new state in the second row, since a packet is now ready to be sent. If the backoff instance senses the channel busy, at a probability p i , it performs a new backoff. Otherwise, it moves to state (0,0) to do a transmission attempt. The transmission succeeds at a probability 1 − pi . Otherwise, it doubles the contention window and goes into another backoff. For each unsuccessful transmission attempt, the backoff instance moves to a state in a row below at a probability p i . If the packet has not been successfully transmitted after Li + 1 attempts, the packet is dropped. 2.3. The Transition Probabilities Based on the description above (see Figure 1), it is possible to express the non-null transition probabilities Pi (l , m, j , k ) = Pi ( S ni = l , Bni = m, S ni −1 = j , Bni −1 = k ) of the bi , −1, 0 = Markov chain as follows: Pi (−1,0 − 1,0) = 1 − qi , pq Pi (0,0 − 1,0) = qi (1 − pi ) + i i Wi ,0 pi qi Pi (0, k − 1,0) = Wi , 0 ∗ Pi (−1, k − 1, k ) = pi ∗ ∗ Pi (−1, k − 1 − 1, k ) = (1 − pi )(1 − qi ) ∗ ∗ Pi (0, k − 1 − 1, k ) = (1 − pi )qi (1 − ρi∗ )(1 − pi ) Pi (−1, k j,0) = Wi ,0 1 − ρi∗ Pi (−1, k Li ,0) = Wi ,0 ρi∗ (1 − pi ) Pi (0, k j,0) = Wi ,0 Pi (0, k Li ,0) = ρ ∗ i Wi ,0 pi Pi ( j + 1, k j,0) = Wi , j +1 Pi ( j, k j, k ) = pi for 1 ≤ k ≤ Wi ,0 − 1 , for 1 ≤ k ≤ Wi ,0 − 1 for 1 ≤ k ≤ Wi ,0 − 1 , , for 1 ≤ k ≤ Wi ,0 − 1 , bi , −1, k = , for 0 ≤ k ≤ Wi ,0 − 1 , ∗ i,0 −k ; k = 1,..., Wi , 0 − 1 , (6) pij bi ,0,0 ; j = 1,..., Li , k = 1,...,Wi ,0 − 1 . (7) Wi , 0 (1 − p i∗ ) Wi , j (1 − pi∗ ) bi,0,0 for 0 ≤ k ≤ Wi ,0 − 1 q i∗ W −1 L Wi, j − k j 1 = ∑ 1 + pi ∗ ∑ j =0 1 − pi k =1 Wi , j W (W − 1)qi pi 1 − ρi∗ 1 − (1 − qi∗ ) (1 + i ,0 ) . + ∗ qi 2(1 − pi* ) Wi ,0 qi i, j i and 0 ≤ j ≤ Li − 1 , for 0 ≤ k ≤ Wi ,0 − 1 , By performing the summations in Eq. (8) above and by assuming mi ≤ Li , Eq. (3) might be expressed as: and 0 ≤ j ≤ Li − 1 for 1 ≤ k ≤ Wi , j − 1 , and 0 ≤ j ≤ Li , for 1 ≤ k ≤ Wi , j − 1 and 0 ≤ j ≤ Li 1 (2) 1 − piLi +1 . 1 − pi = τi + (1 − 2 pi* ) 2(1 − pi* ) ( Wi ,0 (1 − pi )(1 − (2 pi ) mi ) + (1 − 2 pi )(2 pi ) mi (1 − piLi − mi +1 ) . +( 2(1 − p )(1 − 2 pi )(1 − p * i 1 − pi 1− p Li +1 i ) 1 − ρ i∗ 1 − (1 − qi∗ ) qi Wi ,0 qi∗ Wi , 0 (1 + Li +1 i ) (Wi ,0 − 1)qi pi 2(1 − pi* ) ) (9) ) . The various terms of the expression in Eq. (8) [and thus also of Eq. (9) ] – and their physical interpretations - have been explained in detail in [7]. Eq. (9) is the key result in the analysis of the model, and gives a set of N equations that must be solved. The remaining parameters pi , pi* , ρ ∗ qi∗ and qi will be estimated in the i following. regularities we have bi , j , 0 = p j bi ,0,0 , hence the probability, τ i , of a transmission attempt in a generic time slot is given as: (3) 2.5. Finding Expressions for pi and pi* If each station is transmitting traffic of more than one AC, there will be virtual collision handling between the queues [8]. Then, the probability of unsuccessful transmission, p i , is given by: pi = 1 − In [6] it is shown that 2: 2 (8) i,0 Let bi , j ,k denote the steady state distributions of the Markov chain, and a backoff instance transmits when it is in any of the states ( j ,0) where j = 0,1,..., Li . Due to chain j =0 (4) (bi , 0,0 + qi pi bi , −1,0 ) ; k = 1,...,Wi ,0 − 1 , (5) (1 − ρ i∗ )bi ,0,0 1 − (1 − q i∗ )W 1 2.4. Finding the Transmission Probability Li , Finally, the normalization yields [6]: Observe that the state (−1,0) represents the idle period of the model; and thus 1 − qi represents the probability that an ongoing idle period will not end during a generic slot period. The fractions 1 Wi , j in the expressions above represent the uniform distribution of the backoff counter in the j th transmission attempt for a packet. τ i = ∑ bi , j , 0 = bi , 0, 0 Wi ,k − k Wi ,0 (1 − pi∗ ) Wi , j − k bi , j ,k = for 0 ≤ k ≤ Wi ,0 − 1 and 0 ≤ j ≤ Li − 1 i,0 and for 0 ≤ k ≤ Wi , j +1 − 1 ∗ Pi ( j, k − 1 j, k ) = 1 − pi bi , 0,k + bi , −1,k = , (1 − ρ i∗ )bi , 0, 0 1 − (1 − qi∗ )W Wi , 0 qi qi∗ Note that [6] contains some typos that have been corrected in Eq. (4), Eq. (6) and Eq. (8) above. Note also that the states (j,k) and (-1,k) above are 1 − pb , i ∏ (1 − τ c (10) ) c =0 denoted by "(i,j,k)" and "(i,0,k,e)", respectively, in [6]. Furthermore, ρ i in [6] is replaced by ρ i∗ above. where p b denotes the probability that the channel is busy: N −1 pb = 1 − ∏ (1 − τ i ) ni . (11) i =0 Note also for the denominator in Eq. (10) that in this paper AC[N-1] is by definition of the highest priority (normally equal to the “AC_VO” of 802.11e) and AC[0] of the lowest (normally equal to the “AC_BK” of 802.11e). With a scenario where only one queue is used at each node (e.g. if IEEE 802.11 DCF is being considered), virtual collision handling will not happen, and the denominator of Eq. (10) should be replaced by (1 − τ c ) , as shown for example in [6]. Without loss of generality, we will consider scenarios with virtual collision handling in this paper. Unlike the collision probability, pi , the blocking probability, p i∗ , is the probability that the backoff instance remains in the state between two transmission slots. Different analytical models use different settings for this parameter. The original Bianchi model [3] uses: pi∗ = 0 , (Bianchi [3]) (12) which assumes that the backoff counter is decremented in each slot, even when there is a transmission or collision on the channel. The model by Xiao [5], on the contrary, assumes that the countdown is blocked in busy slots, by setting: pi∗ = pi . (Xiao [5]) (13) Finally, the model in [6] incorporates differentiation into the blocking probability: A p pi∗ = min1, pi + i b , 1 −τ i AIFS (E/Ø [7,9]) (14) where Ai = AIFSN [i ] − AIFSN [ N − 1] . (15) Our results are valid for any of the three models presented in Eq. (12), Eq. (13) and Eq. (14). 2.6. Finding Expressions for ρ i and ρ i* In order to find the model parameter ρ i* it is first necessary to determine the utilization factor, ρ i . Let λi denote the traffic rate - in terms of the average number of packets per seconds - of traffic class i on one station. Then the utilization factor, ρ i , is given by ρi = λi si [10], where si is the mean service time of a backoff instance of class i. As pointed out in [6], the MAC delay plays a role as the service time of the queuing model. Let DiSAT and DiNON − SAT denote the MAC delay where the post-backoff delay is or is not taken into account, respectively. The reason we use the "SAT" and "NOT-SAT" superscripts is that under full saturation ("SAT") the post-backoff delay is always taken into account when calculating the delay, because when a packet is successfully transmitted there is already a packet in the queue waiting to be sent. On the contrary, the post-backoff is never taken into account under perfect nonsaturation conditions ("NON-SAT"), because after a successful transmission one can assume that the post-backoff will be completed before a new packet arrives in the empty queue ready for transmission. Expressions for the mean values Di SAT and Di NON − SAT are provided later in the paper. While in [6] it is argued that ρ i must be somewhere in the region min(1, λi Di NON −SAT ) ≤ ρ i ≤ min(1, λi DiSAT ) , this paper determines exactly where ρ i lies within this interval. This is best determined by referring to Figure 2. The figure shows that the backoff instance is busy while contending for channel access ("CA") for a packet, while the packet is being transmitted ("Tr"), and while the post-backoff ("PB") of the packet is undertaken. The post-backoff period should be associated as part of the processing of the packet that has been transmitted, and not the next packet to be transmitted. Otherwise, the length of the busy period associated with a packet would be dependent on the arrival time of the previous packet, in which the system would obviously not be Markovian. Packet 1: Packet 2: Packet 3: CA Tr PB CA Tr PB BUSY CA Tr PB IDLE BUSY IDLE Figure 2. The system is busy during channel access ("CA"), transmission ("Tr") and post-backoff ("PB"). In summary, the busy period should include a postbackoff period for each packet that is transmitted, and Di SAT represents the service time of the system. Hence, ρ i = min(1, λi Di SAT ) , (16) where Di SAT is expressed by Eq. (34) in Section 3.2 below. This means that the system is idle only while in the state (-1,0) shown in Figure 1, and busy otherwise. This is also consistent with the fact that the expected time spent in this state (i.e. the average length of an idle period) equals 1 / λi as a first order approximation, as shown in Appendix 1. (In any case, the mean duration of the idle periods is not anticipated to be exactly equal to 1 / λi , since the model is slotted.) By definition, 1 − ρ i is the probability that the queue is empty at the time the service period ends [10], i.e. at the time the backoff instance leaves the state (-1,1) or leaves the state (0,1). This equals the probability that the queue is empty at the end of the packet transmission, (1 − ρi∗ ) , times the probability, Pi PB , of not receiving any packets in the transmission queue while performing a complete empty-queue post-backoff procedure. Thus, ρi∗ can be determined by3: 1 − ρi = Pi PB (1 − ρi∗ ) . (17) As explained in [7], the probability Pi PB can be expressed in terms of qi∗⋅ by: Pi PB = 1 − (1 − q i* ) Wi , 0 (18) . Wi ,0 q i* To estimate q i , we first need to determine the probability, p s , that a time slot contains a successfully transmitted packet. It is given as [6]: N −1 p s = ∑ pi , s . (19) i =0 Here, pi ,s is the probability that a packet from any of the ni backoff instances of class i is transmitted successfully (at probability τ i (1 − pi ) ) in a time slot: pi ,s = niτ i (1 − pi ) . (20) By definition, q i is the probability that at least one packet will arrive in the transmission queue during the following generic time slot under the condition that the queue is empty at the beginning of the slot. For the estimation of q i , it is assumed that the traffic arrives according to Poisson processes. Thus, q i is calculated as [6]: ( qi = 1 − ps e − λiTs + (1 − pb )e − λiTe + ( pb − ps )e − λiTc ) . (21) where Te , Ts and Tc denote the real-time duration of an empty slot, of a slot containing a successfully transmitted packet and of a slot containing two or more colliding packets, respectively, as detailed in [6]. On the other hand, qi* is the probability that a packet arrives during countdown blocking. In appendix 2, we show that qi* can be expressed as: qi* = 1 − e (1 − p ) * i p p 1 − p s e −λ T + (1 − s )e −λ T p p b b * i i s i c 3.1. The z-Transform of the MAC Delay Due to the slotted operation of the wireless protocol, the z-transform (rather than Laplace transform) is applied in order to describe the delay [9]. The weighted average delay while being blocked during p p countdown can be written as s Ts + (1 − s )Tc . Hence, the pb pb corresponding z-transform is simply: D( z ) = 2.7. Finding Expressions for qi and qi∗ − λiTe 3. Analysis of the MAC Delay . (22) ps Ts p z + (1 − s ) z Tc . pb pb While the backoff instance is counting down, the probability of facing an empty slot is 1 − pi∗ while the probability of being blocked is pi∗ . Hence, the z-transform of this blocking delay is: Dbli ( z ) = 1 − pi* . 1 − pi* D ( z ) (24) When it is not blocked anymore, the backoff instance will spend an empty time-slot, Te , when moving to the next countdown state. Hence, the z-transform of the total delay associated with one countdown state is: i Dstate ( z) = zTe Dbli ( z) . (25) The total delay in a backoff stage is derived by a geometric sum over the probabilities associated with each countdown state: i Dstage , j ( z) = Wij i 1 1 − ( Dstate ( z )) i Wij 1 − Dstate ( z) , i For simplicity the term Dlevel , j ,s ( z ) is introduced as: j i i Dlevel , j ,s ( z ) = ∏ Dstage ,l ( z ) . to as the utilization factor. (27) l =s Here, s is set to 0 under saturation conditions, because the post-backoff is undertaken before the transmission of each packet. Then the transform for the saturation delay may be written as: Li i i DSat ( z ) = (1 − pi )∑ pij z Ts + jTc Dlevel , j ,0 ( z ) + piLi +1 z Note that in our earlier works, such as [7-9], ρi∗ was inaccurately referred (26) where the factor 1 / Wij reflects the uniform distribution of the selection of the number of backoff slots at each stage. * j =0 3 (23) ( Li +1)Tc* (28) i Dlevel , Li , 0 ( z ) . Under extreme non-saturation conditions, on the contrary, the post-backoff is always completed before a new packet arrives in the transmission queue. Thus, under these conditions the post-backoff will not add to the transmission (−1, k ) . Then these probabilities are given as 1 ∗ f k ,l = qi (1 − qi* ) l −k , and the probability that a packet Wi ,0 delay, as it did when the saturation delays were calculated above, and s is now set to 1 in Eq. (27). Then, the transform of the non-saturation delay can be found as: Li arrives in a post-backoff period exactly in state (−1, k ) i j Ts + jTc i DNon Dlevel − Sat ( z ) = (1 − pi )∑ pi z , j ,1 ( z ) * (29) j =0 * i + piLi +1 z ( Li +1)Tc Dlevel , Li ,1 ( z ) , i where Dlevel , 0i ,1 ( z ) = 1 has been defined for convenience. The first part of Eq. (28) and of Eq. (29) represent the delay associated with packets that are eventually transmitted successfully on the channel, where pi is the probability of colliding after each jth stage, adding an extra delay of a slot containing colliding packets, Tc∗ i i i DSat ( z ) = Dstage , 0 ( z ) DNon − Sat ( z ) . * Wi , 0 −1 ∑f k =1 2. k i i ( z ) k −1 D Non Dstate − Sat ( z ) = i D Non − Sat ( z ) i DSat (z ) . Otherwise, with probability (1 − pi ) , it goes to −1 i (1 − qi* ) i , 0 − Dstate ( z) * i (1 − qi ) − Dstate ( z) Wi , 0 −1 . After summing up over all the three cases above, the following the z-transform, D i ( z ) , of the MAC delay is found: i D i ( z ) = DSat ( z) + (30) The queue is non-empty when the post-backoff starts. In this case the z-transform of the MAC delay equals i DSat (z ) and occurs with probability ρ i∗ . The queue is empty when the post-backoff starts and with no arrivals during the whole post-backoff period. This occurs with probability (1 − ρ i∗ ) Pi PB = (1 − ρ i ) . When a packet finally arrives at the queue, it will with probability pi perform a new backoff with the corresponding z-transform of the MAC delay taken to be (31) W −1 i ( z) i,0 1 1 − Dstate − i Wi ,0 1 − Dstate ( z ) W (1 − qi* ) i i i (1 − ρ i∗ )( D ∗ stage,0 ( z ) − Dstage , 0 ( z )) D Non− Sat ( z ) + (32) To find the exact form of the z-transform of the MAC delay we must distinguish between three main cases: 1. W −k f k ,l = i k −1 i transform is Dstate (z) DNon−Sat ( z) . By summing over all the states k = 1,..., Wi ,0 − 1 we obtain the corresponding ztransform as: T (thus the factor z c per stage). Furthermore, (1 − pi ) is the probability of finally transmitting the packet after a stage, which adds an extra T delay of Ts (leading to the factor z s ). The last part of Eq. (28) and of Eq. (29) represent the delay of packets that go through all 0,..., Li stages without being transmitted successfully, and they are therefore finally dropped. Observe also that it is possible to factor out the delay for the post-backoff period from Eq. (27). By this definition, we i i i have Dlevel , j , 0 ( z ) = Dstage, 0 ( z ) Dlevel , j ,1 ( z ) and therefore Wi , 0 −1 1 − (1 − qi* ) i , 0 . The ∑ Wi ,0 l =k corresponding part of the post-backoff starting at state (0, k − 1) has to be added to the MAC delay, and its z- may be written as f k = i i (1 − ρ i ) pi ( DSat ( z ) − DNon − Sat ( z )) . Here D ∗i stage , 0 we have defined the “extra” z-transform, ( z ) , stemming from the post-backoff period: i D∗ stage,0 ( z ) = (33) W −1 i 1 1 − Dstate ( z) i,0 − i Wi ,0 1 − Dstate ( z) W (1 − qi* ) −1 Wi , 0 −1 i (1 − qi* ) i , 0 − Dstate ( z) * i (1 − qi ) − Dstate ( z ) + Pi PB . i (It is easily checked that D ∗ stage,0 (1) = 1 and D i (1) = 1 .) the state (0,0) , and the corresponding z-transform of the i 3. MAC delay is then DNon−Sat (z ) . In summary, the ztransform of the MAC delay for this case is i i pi DSat ( z ) + (1 − pi ) DNon − Sat (z ) . The queue is empty when the post-backoff starts, with probability (1 − ρ i∗ ) , and there is at least one packet arrival during the post-backoff period. In this case the Markov chain changes from a state (−1, k ) to state (0, k − 1) , and part of the post-backoff has to be included in the delay. Let f k ,l denote the probability that the postbackoff counter starts at the state (−1, l ) (for l ≥ j ) and that the first arrival of a packet occurs while in state 3.2. Mean Medium Access Delay Finally, the mean medium access delay under saturation, Di , is found directly from the transform in Eq. (28): SAT (1) i (1) = (1 − p iLi +1 )(Ts + Tc* Di SAT = DSat pi Ri ) + Di state 1 , (34) 1 − pi 2 where Distate is defined as the mean delay associated by a countdown state: p pi* (1) p i (1) = Te + s Ts + (1 − s )Tc , (35) Di state = Dstate * ( 1 ) p p − p b i b The terms of the sequence the Cauchy contour integral: and the sum Ri is given by: Li R1i = ∑ pij (Wij − 1) . (36) j =0 By performing the summation above in Eq. (36) for the case mi ≤ Li the following explicit expression for Ri is obtained: m +1 L +1 L +1 1 − (2 pi ) mi +1 p i − pi i 1 − pi i − + 2 mi i R1i = Wi 0 . 1− p 1 − pi i 1 − 2 pi (1) (1) i i SAT Di NON − SAT = DSat (1) − DStage − Di state , 0 (1) = Di Wi 0 − 1 , (38) 2 where Di state is given in Eq. (35). Under normal channel conditions the actual mean MAC delay, Di , lies somewhere between the two extremities, Di SAT and Di NON − SAT . The mean MAC delay can be found by differentiating Eq. (32). This gives Di = Di SAT − (1 − ρ i ) Di PB , (39) where ρ i = min(1, λi DiSAT ) is given from Eq. (16) and where DiPB = 1 Pi PB ′ ′ ′ ∗i i ′ i i ( Dstage , 0 (1) − D stage , 0 (1)) − pi ( DSat (1) − D Non − Sat (1)) is the influence from the post-backoff periods. Evaluating the latter gives: Di PB W − 1 state 1 − P PB Di = ∗ iPB + pi i , 0 . 2 qi Pi (40) 4. Method for Finding the Delay Distributions 4.1. Distribution of the Medium Access Delay It is possible to derive the full delay distribution by inversion of its transform. By definition the probability distribution of the delay, in terms of the probabilities d mi that the delay will be exactly m microseconds, is given by = = 1 2πr m 2π 1 2πr m 2π ~i ∫ D (re m=0 behavior (e.g. in terms of delay bounds and delay percentiles), here we invert the z-transform of the tail probabilities ~ d mi = d mi +1 + d mi + 2 + ... . The corresponding generating function gives the complimentary delay distribution: ∞ 1 − D i (z) ~ ~ D i ( z ) ≡ ∑ d mi z m = . 1− z m =0 (41) iu (42) )e −imu du 0 ∫ [cos(mu ) Re( D (re ~i 0 iu )) ] ~ + sin(mu ) Im(D i (re iu )) du . The integration is done along a circle, Cr , around the origin with a radius of r, where 0 < r < 1, and the integral is performed by a change of variable z = reiu . By using the trapezoidal rule with step size of π / m we can approximate the inversion integral above as: ~ ~ d mi ≈ d mi , Num = 1 2πr m 1 = 2πr m 2m ∑ (−1) m ~ Re( D i (re ijπ / m )) (43) j =1 ~i m ~i D (r ) + (−1) D (−r ) m −1 ~ + 2∑ (−1) m Re( D i (re ijπ / m )) . j =1 It has been shown (e.g. in [11]) that the error d~mi − d~mi , Num introduced by this discretization follows directly from the discrete Poisson summation formula and is bounded by: ~ ~ r 2m d mi − d mi , Num ≤ . 1 − r 2m (44) 4.2. Distribution of the Queueing Delay and the Total Delay Due to the use of the z-transform in a slotted time system, we apply a slight modified form of the Pollaczek-Khintchine formula to obtain the z-transform of the queueing delay. The service time is determined by the saturation-delay, DiSAT . Thus, the z-transform of the residual service time distribution in the queue is: ∞ D i ( z ) ≡ ∑ d mi z m . Since we are most interested in the tail i m ~i ~ 1 D ( z) d mi = dz 2πi C∫r z m+1 (37) The mean non-saturation delay, Di NON − SAT , can be calculated similarly using Eq. (29), or it may alternatively be found by: { d~ } can be expressed by i ( z) ≡ Dˆ Sat = 1 Di SAT ∞ ∞ ∑ ∑d k =0 m = k +1 i , Sat m zk (45) λi ~ i λ 1 − D ( z) DSat ( z ) = i . ρi ρi 1 − z i Sat Then, the z-transform of the waiting time follows by Pollaczek-Khintchine formula: = 1 − ρi i 1 − ρ i Dˆ Sat ( z) (46) (1 − ρ i )(1 − z ) . i 1 − z − λi + λi DSat ( z) Hence, when doing transform inversion to find the complimentary distribution of the queueing delay, Eq. (41) above is replaced by: 1 − ∆i ( z ) ~ ∆i ( z ) = . 1− z 1,0 0,9 (47) Accumulated Tail Probability ∆i ( z ) = 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0,0 Similarly, when finding the complimentary distribution of the total delay, Eq. (41) is replaced by: (48) 5. Numerical Computation of the Distributions 5.1. Numerical Parameters We made numerical computations in Mathematica. The scenario selected for validations is 802.11b with long preamble and without the RTS/CTS-mechanism. The parameter settings for 802.11b are found in [12]. Based on these, the model parameters Te = 20µs , Ti ,MSDU = T1024 = 520µs and Ts = Tc = 1321µs were estimated. Finally, setting the time a colliding station has to wait when experiencing collision, Tc∗ , equal to the time a non-colliding station has to wait when observing a collision on the channel, Tc , corresponds with the ns-2 implementation used for validations in [6]. Parameters such as CWmin and CWmax are overridden by the use of 802.11e [2]. For the validations, the default 802.11e values, also shown in Table 1 in [8], were used. The node topology of the computed scenario uses five different stations, QSTAs, contending for channel access. Each QSTA uses all four ACs, and virtual collisions therefore occur. Poisson distributed traffic consisting of 1024-bytes packets was generated at equal amounts to each AC. This scenario corresponds to the simulations and validations undertaken in [6], and the reader should consult with [6] for more details on the selected scenario. 5.2. The Complimentary Delay Distributions 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5 6 6,5 7 Figure 3. The complimentary distribution of the MAC delay of AC[3] at a generated traffic rate of 1250 kbps. Figure 3 shows the resulting distribution functions of the medium access delay at 1250 kbps. As all traffic requires 1321 us of transmission delay, the distribution is at 1 until this point. At 1321 us, the distribution drops to 0.062, which corresponds to the collision probability p3 of AC[3] at 1250 kbps. For those transmissions that collide, the packets have to wait at least another 1321 us, which corresponds to the duration of a collision. Hence, the curve remains flat until 2642 us. Here the curve drops gradually to the next level, depending on the selected backoff interval {0...3} that was selected for the transmission. This explains the stepwise behavior of the curve. Furthermore, Figure 4 shows the resulting distribution functions of the queueing delay at 1250 kbps. The function is discontinuous at 0 and equals ρ 3 =0.0438 at 0+. From this point, the curve decreases as anticipated and approaches zero as the delay increases. 1,0 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0,0 0 The z-transform of the delay was inverted at a generated traffic rate of 1250 kbps [6]. Here we set the error bound to as little as 10−14 , because this high accuracy costs little in terms of computation time of the numerical calculations. Then, we 2m can easily approximate Eq. (44), using r ≈ r 2 m = 10−14 , 1 − r 2m and determine the corresponding radius, r, of the contour of the integration. The rest of the numerical integration is reduced to pure summation using Eq. (43). Due to space limitations, the delay distributions of only the highest priority AC (i.e. AC[3]) are presented here. 0,5 Delay [ms] Accumulated Tail Probability 1 − D i ( z ) ∆i ( z ) ~ T i ( z) = . 1− z 0 0,5 1 1,5 2 2,5 Delay [ms] Figure 4. The complimentary distribution of the queueing delay of AC[3] at 1250 kbps. 50 0,9 45 0,8 40 0,7 Medium access delay (ms) Accumulated Tail Probability 1,0 0,6 0,5 0,4 0,3 0,2 35 30 25 20 15 10 0,1 0,0 5 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5 6 6,5 7 0 Delay [ms] 0 Figure 5. The complimentary distribution of the total delay of AC[3] at 1250 kbps. 1000 1500 2000 Traffic generated per AC [Kb/s] AC[3] - 90 percentile 1,0 0,9 0,8 AC[3] - 95 percentile AC[3] - 99 percentile 10 8 Queueing delay (ms) Figure 5 shows the distribution function of the total queueing delay at 1250 kbps. The stepwise behavior derives from the distribution of the medium access delay (described in Figure 3 above). The curve decreases between the steps as a result of the queueing delay distribution (described in Figure 4 above). Accumulated Tail Probability 500 0,7 6 4 2 0,6 0,5 0 0,4 0 500 0,3 1000 1500 2000 Traffic generated per AC [Kb/s] 0,2 AC[3] - 90 percentile AC[3] - 95 percentile AC[3] - 99 percentile 0,1 0,0 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5 6 6,5 10 7 Delay [ms] 8 Figure 6 shows the complimentary distribution at 1750kbps. At 2 ms, for example, the curve is higher due to a higher collision probability p3 =0.147 (which results in a higher value of the medium access delay at this point) and a higher ρ 3 =0.0736 (which results in a higher value of the queueing delay at this point). Total delay (ms) Figure 6. The complimentary distribution of the total delay of AC[3] at 1750 Kbps. 6 4 2 0 0 6. Finding the Delay Percentiles The z-transform of the delay was inverted to find the delay distributions at other traffic loads as well. How the delay distributions develop at varying traffic loads is well described by the delay percentiles. Figure 7 shows the 90-, 95- and 99- percentiles of the medium access delay at varying traffic loads. All curves follow the general trend of the mean medium access delay and queueing delay described earlier. 500 1000 1500 2000 Traffic generated per AC [Kb/s] AC[3] - 90 percentile AC[3] - 95 percentile AC[3] - 99 percentile Figure 7. The delay percentiles of the MAC delay (top), queueing delay (middle) and total delay (bottom). 7. Conclusions Based on an analytical model for the IEEE 802.11e the ztransform of the MAC delay is obtained in closed form, and further the z-transforms of the queueing delay and total delay is obtained by applying a slotted version of Pollaczek- Khintchine formula. The corresponding distributions are obtained by numerical inversion (by applying the trapezoidal rule), and different percentiles are calculated. The numerical results show that the complementary distribution of the MAC delay has a typical stepwise form where the levels of the steps are related to the probability and duration of a transmission. The model presented in this paper is more exact than that presented in [9] and [6], since exact expressions of the model parameters qi∗ and ρ i are derived, and since the exact ztransform of the medium access delay is found. The implications of this improvement on the estimation of the mean medium access delay and the queueing delay will be presented in a follow-up paper [13]. Appendix 1: The Duration of the Idle Period References [1] IEEE 802.11 WG, "Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specification", IEEE 1999. [2] IEEE 802.11 WG, "Draft Supplement to Part 11: Wireless Medium Access Control (MAC) and physical layer (PHY) specifications: Medium Access Control (MAC) Enhancements for Quality of Service (QoS)", IEEE 802.11e/D13.0, Jan. 2005. [3] Bianchi, G., "Performance Analysis of the IEEE 802.11 Distributed Coordination Function", IEEE J-SAC Vol. 18 N. 3, Mar. 2000, pp. 535-547. [4] Ziouva, E. and Antonakopoulos, T., "CSMA/CA performance under high traffic conditions: throughput and delay analysis", Computer Communications, vol. 25, pp. 313-321, Feb. 2002. [5] Xiao, Y., "Performance analysis of IEEE 802.11e EDCF under saturation conditions", Proceedings of ICC, Paris, France, June 2004. [6] Engelstad, P.E. and Østerbø O.N., "Queueing Delay Analysis of 802.11e EDCA", Proceedings of The Third Annual Conference on Wireless On demand Network Systems and Services (WONS 2006), Les Menuires, France, Jan. 18-20, 2006. (See also: http://www.unik.no/~paalee/research.htm .) [7] Engelstad, P.E., Østerbø O.N., "Non-Saturation and Saturation Analysis of IEEE 802.11e EDCA with Starvation Prediction", Proceedings of the Eighth ACM International Symposium on Modeling, Analysis & Simulation of Wireless and Mobile Systems (ACM MSWiM 2005), Montreal, Canada, Oct. 10-13, 2005. (See also: http://www.unik.no/~paalee/research.htm .) [8] Engelstad, P.E., Østerbø O.N., "Differentiation of the Downlink 802.11e Traffic in the Virtual Collision Handler", Proceedings of the Fifth International IEEE Workshop on Wireless Local Networks (WLN ’05), Sydney, Australia, Nov. 15-17, 2005. (See also: http://www.unik.no/~paalee/PhD.htm .) [9] Engelstad, P.E., Østerbø O.N., "Delay and Throughput Analysis of IEEE 802.11e EDCA with AIFS Differentiation under Varying Traffic Loads", Proceedings of the Fifth International IEEE Workshop on Wireless Local Networks (WLN ’05), Sydney, Australia, Nov. 15-17, 2005. Since the system is idle only while in the state (-1,0), the duration of an idle period is given by the z-transform: i ( z) = TIDLE qi 1 − (1 − qi ) (1 − pb ) z + p s z Ts + ( pb − p s ) z Tc [ Te ] , (49) where qi is given in Eq. (21) with the corresponding mean idle period given by: Ti IDLE = (1 − q i ) [(1 − pb )Te + p s Ts + ( pb − p s )Tc ]. qi (50) If for instance the input rate is small compared to the mean slot length i.e. λi << 1 − pb )Te + p s Ts + ( pb − p s )Tc then by expanding the expression (21) to first order we find: Ti IDLE ≈ 1 (51) λi Appendix 2: The Expression for q ∗ i i As seen from Eq. (25), Dstate ( z) = z Te Dbli ( z) is the ztransform for the delay of the countdown of one backoff slot. Since 1 − qi∗ is the probability that no packet being generated within this time interval, and since the packets arrive according to a Poisson process with rate λi , this probability i ∗ i equals Dstate (e−λi ) , hence qi = 1 − Dstate (e Eq. (23) and Eq. (24) and setting z = e qi∗ in Eq. (22) is obtained. − λi −λi ) . By applying the expression for [10] Kleinrock, L., “Queuing Systems,Vol. 1”, John Wiley, 1975. [11] Abate, J. and Whitt, W., “Numerical Inversion of Probability Generating Functions.” Operations Research Letters, vol. 12, No. 4, 1992, pp. 245-251. (http://www.columbia.edu/ ~ww2040/generate.pdf. Last Visited: Jan 26 2006.) [12] IEEE 802.11b WG, "Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specification: Highspeed Physical Layer Extension in the 2.4 GHz Band, Supplement to IEEE 802.11 Standard", IEEE, Sep. 1999. [13] Engelstad, P.E., Østerbø O.N., "Analysis of the Total Delay of IEEE 802.11e EDCA", To appear in the Proceedings of IEEE International Conference on Communication (ICC'2006), Istanbul, June 11-15, 2006.