Dynamic tuning of the IEEE 802.11 distributed

0 downloads 0 Views 617KB Size Report
Sep 20, 2011 - to quickly and efficiently calculate the most appropriate. CW size .... The probability of an idle time slot is calculated as (5) and referred to as Pi:.
Huang and Kuo EURASIP Journal on Wireless Communications and Networking 2011, 2011:105 http://jwcn.eurasipjournals.com/content/2011/1/105

RESEARCH

Open Access

Dynamic tuning of the IEEE 802.11 distributed coordination function to derive a theoretical throughput limit Yi-Hung Huang1* and Chao-Yu Kuo2

Abstract IEEE 802.11 is the most popular and widely used standard for wireless local area network communication. It has attracted countless numbers of studies devoted to improving the performance of the standard in many ways. In this article, we performed theoretical analyses for providing a solution to the maximum throughput problem for the IEEE 802.11 distributed coordination function, and an algorithm using a binary cubic equation for obtaining a much closer approximation of the optimal solution than previous algorithms. Moreover, by studying and analyzing the characteristics of the proposed algorithm, we found that the effects of backoff counter consecutive freeze process could be neglected or even disregarded. Using the NS2 network simulator, we not only showed that the proposed theoretical analysis complied with the simulated results, but also verified that the proposed approach outperformed others in achieving a much closer approximation to the optimal solution. Keywords: IEEE 802.11, distributed coordination function, performance analysis

1. Introduction Advances in wireless communication technology have increased the demand for wireless networks. The IEEE 802.11 standard [1] defines the specifications for medium access control (MAC) and the physical layers in a wireless local area network (WLAN). The IEEE 802.11 standard provides two mechanisms for the MAC protocol: the point coordination function (PCF) and the distributed coordination function (DCF). The PCF utilizes a basic access mechanism that supports contention-free services. Therefore, the PCF requires a base station that coordinates channel access among nodes. On the other hand, the DCF utilizes an access mechanism that supports contention-based services. The DCF access mechanism dictates that all the nodes should randomly access channels using the carrier sense multiple access/collision avoidance (CSMA/CA) mechanism. This mechanism employs the acknowledgment (ACK) feature to detect transmission failures. In other words, if an ACK response is not received, it is assumed that packet transmission has * Correspondence: [email protected] 1 Department of Mathematics Education, National Taichung University of Education, Taichung 40306, Taiwan Full list of author information is available at the end of the article

failed. The nodes wait for an interframe space (IFS), and then invoke the binary exponential Backoff algorithm, which uses a uniform random distribution called a contention window (CW) to generate a random Backoff value within the range of [0, CW - 1]. In this study, the initial value of CW is set to CWmin (the minimum CW). Subsequently, the CW value is doubled when packet transmission fails. For a node to obtain a Backoff value, it must first determine whether the channel is in use. If the channel is not busy, then the Backoff value decreases by 1 in every time slot and the node transmits the data when the Backoff value reaches zero. However, if the channel is busy, then the Backoff counter freezes. When the channel is in an idle state, it waits for a DCF IFS (DIFS) time period after which the Backoff value begins to decrease again. If the packet transmission continues to fail, then the CW value increases to CW max (the maximum CW); when the node receives an ACK packet, CW is reset to CWmin. If a node receives an error packet, it must wait for an extended IFS (EIFS) time period. Then, the node determines again whether the channel is in an idle state. If it is, then after a DIFS time, the Backoff value decreases by 1 after each idle slot.

© 2011 Huang and Kuo; licensee Springer. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Huang and Kuo EURASIP Journal on Wireless Communications and Networking 2011, 2011:105 http://jwcn.eurasipjournals.com/content/2011/1/105

Currently, the methods of improving Backoff performance can be divided into two categories: (1) adjusting the CW size according to the number of times that collisions have occurred [1-3], and (2) dynamically adjusting the CW size by detecting changes in the network environment [4-7]. In the first type of method, the adjustment of CW size only occurs after a collision; the consequences are that the cost for collision must first be paid before the method can find the most appropriate CW size, and that this entire process is repeated when the data are transferred successfully. In contrast, the second type of method immediately adjusts to the most appropriate CW size when network environment changes are detected. Therefore, such a method has the ability to find the appropriate CW size without the cost of collision, and clearly outperforms the first type of method in many ways. For the reasons mentioned above, this article proposed an algorithm called the dynamic contention window (DCW) algorithm by adopting the second approach. Unlike other algorithms, DCW uses a binary cubic equation that has the ability to quickly and efficiently calculate the most appropriate CW size according to the network environment. The rest of this article is organized as follows. Previous related work is presented in Section 2. Various theoretical analyses are performed in Section 3. The proposed DCW algorithm and consecutive freeze process (CFP) analysis are presented in Section 4. Simulations and performance evaluations of our proposed algorithm are conducted in Section 5. Finally, we conclude our work in Section 6

2. Related work To the best of our knowledge, most studies on performance analysis of IEEE 802.11 MAC protocols use the results presented in [4] for their theories or discussions [8-13]. The following equation is derived from the analytic work in [4]:     E Coll × E [Nc ] = (E [Nc ] + 1) × E Idle

(1)

Here, the E[Coll] is the expected value of collision time; E[N c ] is the expected value of the number of nodes that are involved in a collision; and E[Idle] is the expected value of idle time. As long as the actual values for E[Coll] and E[Nc] can be measured and substituted into (1), then the value of E[Idle] can be solved. 

M 1−p E[Idle] =  M × tslot 1− 1−p

(2)

where M is the total number of nodes in the network, the tslot the total duration spent in a time slot, and p is

Page 2 of 12

the Backoff value sampled from a geometric distribution with parameter p. First, we use (1) to solve E[Idle], which we then substitute into (2) to solve p. Using this value of p, we can derive the value of parameter p for the geometric distribution from the Backoff value of maximum throughput. When solving (1) and (2), an optimal solution cannot be solved directly; instead, a numerical method is needed to approximate the optimal solution. Therefore, the effectiveness of this method is fully dependent on how fast the numerical method can find the approximation of the optimal solution. Additionally, ref. [4] assumes that the values of E[Coll] and E[Nc] in (1) and (2) can be derived by measuring the network condition. Unfortunately, this is not entirely true in practice. There is no collision detection capability due to the characteristics of the wireless networks. Based on the solutions of (1) and (2) and by observing the solution while solving the value of p, the values of E [Nc] and E[Coll] mostly remain constant [4]. Therefore, (1) can be further simplified as follows:   (E [Nc ] + 1) · E Idle · tslot (3) E[Coll] =  (Idle, Nc ) = E [Nc ] where F(Idle, Nc) is a constant. Although (3) can be used to replace (1), a numerical method is still needed for this equation to approximate the optimal solution. The performance of this approach is fully dependent on the efficiency of the numerical method when finding the approximation of the optimal solution. Therefore, to save the time consumed by the numerical method, we propose a binary cubic equation with the ability to obtain a much closer approximation of the optimal solution in less time.

3. Analysis of proposed method In this study, we assume that (1) each node is in a saturated condition (i.e., always having a packet to transmit) and (2) the channel is error-free. Packet loss is caused solely by collisions in the process of packet transmission. The hidden terminal problem is not considered in this article. 3.1. Analysis of collision probability

First, we divided the timeline into discrete time slots, where the probability of transmission for each time slot is equal to τ, in accord with [14,15]. Therefore, τ = 2/E [CW], where E[CW] is the expected value of the CW. Suppose that there are M nodes in the network, where τx (x = 1,2,...,M) is the probability of transmission for node x in each time slot, ACK x (x = 1,2,...,M) is the number of ACK packets successfully received by each node, and Collx (x = 1,2,...,M) is the number of packets

Huang and Kuo EURASIP Journal on Wireless Communications and Networking 2011, 2011:105 http://jwcn.eurasipjournals.com/content/2011/1/105

that do not receive ACK. The collision probability can then be defined as follows: Collision probability = 1 −

M 

ACKx

x=1

M 

(ACKx + Collx )

(4)

x=1

Each time slot can be classified into three states: idle (no data transmission), successfully transmitted, and collision. Therefore, the probability of each state can be calculated as follows. The probability of an idle time slot is calculated as (5) and referred to as Pi: M 

(1 − τx ) = Pi

(5)

By dividing the numerator and denominator, respectively, by the total number of time slots in the network (referred as total_slot), (4) can be represented by the probabilities Ps, Pi, and Pc. In other words, if there are three simultaneous data transmissions, the time slots will collide and each of the three nodes involved in this collision will increase their Collx value by 1. However, Pc represents the collision probability that occurs in a time slot. Therefore, when a collision occurs in a time slot, we calculate the value of k, which represents the average number of nodes involved in simultaneous data transmissions during that time. Therefore,  M  Pc × k = (Collx ) total slot . x=1

x=1

The probability of a successfully transmitted time slot is calculated as (6) and referred to as Ps: ⎛ ⎞ M M     ⎝τx 1 − τy ⎠ = Ps (6) x=1

Pc = 1 − Pi − Ps

(7)

Because collision only occurs when there are at least two nodes simultaneously transmitting data in a single time slot. Therefore, we define k as the average number of nodes involved in a collision, where k can be calculated as follows: ⎛





M  ⎟

⎜  ⎜ ⎟ 1 − τy ⎟ ⎜τx1 τx2 ⎠ y=1, x1=x2 ⎝ y=x1, y=x2

k = 2×

1 − Pi − Ps

When the system converges into a stable state, we assume that τ1 = τ2 = τ3 = ... = τM = τ. Hence, we can rewrite (5), (6), and (7) as follows. The probability of an idle time slot is calculated as (10) and referred to as Pi: M 

y=1,y=x

The probability of a collision time slot is calculated as (7) and referred to as Pc:

+3×



⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ M  ⎟ 

⎜ ⎜τx1 τx2 τx3 ⎟ 1 − τ y ⎟ ⎜ x1=x2, ⎜ ⎟ y = 1, ⎟ x1=x3, ⎜ ⎜ ⎟ x2=x3 ⎜ ⎟ y=  x1, ⎜ ⎟ ⎜ ⎟ y=  x2, ⎝ ⎠ y = x3, 1 − Pi − Ps

(8) M× +...+

M 

M 

M  x=1

ACKx

 total slot x=1 =1−  M

(ACKx + Collx ) total slot M

M 

k=

x=1

Ps Ps =1− Ps + Pc × k Ps + (1 − Ps − Pi) × k

⎝τx

M   i

τ i × (1 − τ )M−i



1 − Pi − Ps M   i  τ × (1 − τ )M−i + M × τ × (1 − τ )M−1 − M × τ × (1 − τ )M−1 i .

1 − Pi − Ps i×

i=1

M   i

τ × (1 − τ )

M−i

i



− M × τ × (1 − τ )

(12)

M−1

1 − Pi − Ps M × τ − M × τ × (1 − τ )M−1 1 − Pi − Ps

M 

i=1



i=2 M 

=





M   i  τ × (1 − τ )M−i is the expected value of i

the binomial distribution. Therefore, it is equal to M × τ. We then substitute (10), (11), and (12) into (9) and derive the collision probability as follows: Collision probability = 1 − Ps

(9)

(11)

y=1,y=x

i=2

M 

1 − Pi − Ps

(ACKx + Collx )

⎞ M    1 − τy ⎠ = Ps = M × τ × (1 − τ )M−1

The average number of nodes involved in simultaneous data transmission during a collision is given as follows:

x=1

x=1

ACKx



x=1

=

τx

(10)

The probability of a successfully transmitted time slot is calculated as (11) and referred to as Ps:

M 

Therefore, the value of Collx for all the nodes involved in a simultaneous data transmission is incremented by 1. Hence, when a collision occurs in a time slot, it is necessary to calculate the average number of nodes involved in the collision to facilitate calculation of the collision probability Pc. In addition, the collision probability in (4) can be rewritten using (5)-(8): Collision probability = 1 −

(1 − τx ) = Pi = (1 − τ )M

x=1

=

=1−

Page 3 of 12



Ps + (1 − Pi − Ps ) × k



M × τ × (1 − τ )M−1 =1− M × τ − M × p × (1 − τ )M−1 M × τ × (1 − τ )M−1 + (1 − Pi − Ps) × 1 − Pi − Ps = 1 − (1 − τ )M−1

(13)

In (13), the collision probability can be calculated using the total number of nodes, M, and the probability

Huang and Kuo EURASIP Journal on Wireless Communications and Networking 2011, 2011:105 http://jwcn.eurasipjournals.com/content/2011/1/105

of transmission, τ, during a time slot under conditions of a fully utilized throughput environment. The result of (13) also shows that it is easy to calculate and analyze the collision probability. 3.2. Analysis of maximum throughput

According to [14], throughput is defined as follows: throughput =

Ps × payload Pi × tslot + Ps × tsuccess + Pc × tcoll

(14)

where payload is the time spent to transmit data, tslot is an idle slot time (aSlotTime), and tsuccess is the time spent to transmit a packet successfully. Notably, tsuccess = DATA + SIFS + ACK + DIFS when the algorithm does not utilize the RTS/CTS method. Furthermore, tcoll is the time spent during packet collision, and tcoll = DATAmax + DIFS when the algorithm does not utilize the RTS/CTS method. DATAmax is the maximum waiting time when a packet collision occurs. Most other studies have assumed that DATAmax is equal to DATA. However, according to the IEEE 802.11 standard presented in [1], nodes involved in a collision must wait for one more EIFS in addition to DATA. Hence, this article assumes that DATAmax = DATA + EIFS × (M - k)/M, where M is the total number of nodes in the network and k is the average number of nodes involved in simultaneous data transmissions. This assumption makes it clear that there are k nodes on an average that are busy transmitting data, and that the transmission nodes are unable to receive any other packets from other nodes. Therefore, because the transmission nodes need not wait for another EIFS, the number of transmission nodes must be deducted from the equation. By substituting (7), (10), and (11) into (14) and simplifying, we get the following: throughput =

M × τ × payload tcoll + (1 − τ ) × (tslot − tcoll ) + M × τ × (tsuccess − tcoll ) M−1 (1 − τ )

(15)

To solve the maximum throughput, we differentiate τ in (15) (as shown in Appendix A). To reduce the complexity of solving the maximum throughput, we assume that tcoll is a constant. This gives us the equation below: 1−M×τ tslot =1− M t (1 − τ ) coll

(16)

The right-hand side of (16) assumes a value between 0 and 1 because tcoll >tslot . The left-hand side of (16) is equal to 1 when τ = 0; however, it is 0 if τ = 1/M. When 0

Suggest Documents