Service differentiation mechanisms for WLANs

Service differentiation mechanisms for WLANs

Ad Hoc Networks 8 (2010) 46–62 Contents lists available at ScienceDirect Ad Hoc Networks journal homepage: www.elsevier.com/locate/adhoc Service di...

752KB Sizes 3 Downloads 75 Views

Ad Hoc Networks 8 (2010) 46–62

Contents lists available at ScienceDirect

Ad Hoc Networks journal homepage: www.elsevier.com/locate/adhoc

Service differentiation mechanisms for WLANs q Coskun Cetinkaya * Department of Electrical and Computer Engineering, Wichita State University, 1845 Fairmount, Wichita, KS 67260-0044, United States

a r t i c l e

i n f o

Article history: Received 11 October 2007 Received in revised form 25 February 2009 Accepted 20 March 2009 Available online 2 April 2009

Keywords: Wireless LANs MAC protocol Service differentiation Flow-based and class-based WFQ Protocol design and analysis

a b s t r a c t Designing a medium access control (MAC) protocol that simultaneously provides service differentiation and high throughput, and allows individual users to share limited spectrum resources fairly is a challenging problem for wireless LANs when applications have diverse performance requirements, such as high throughput, low delay, and delay jitter. In this paper, we propose efficient flow-based and class-based weighted fair queueing (WFQ) mechanisms with very simple-state information that considers only collisions, like the standard IEEE 802.11e MAC protocol. We utilize an analytical throughput model to obtain the optimal parameter settings for both mechanisms. Simulation results show that both mechanisms provide weighted throughput within 1% of the given throughput ratio. Additionally, we propose a novel and efficient priority mechanism. Our key technique involves each node changing its backoff counter based on both its own packet’s priority level and the priority level of the transmitted packet. Specifically, a node will increase its backoff counter linearly with a higher-priority packet transmission and decrease it exponentially with a lower-priority packet transmission. Simulation results show that our mechanism always protects high-priority traffic while still providing high throughput. Published by Elsevier B.V.

1. Introduction In recent years, wireless local area networks (LANs) have received significant attention due to their attractive properties, such as high throughput, easy deployability with or without any infrastructure, and self configurability, etc. Wireless LANs need to provide different quality of service (QoS) levels when applications have diverse performance requirements, such as high throughput, low delay, and delay jitter. Hence, a MAC protocol should simultaneously provide service differentiation and high throughput while allowing individual users to share limited spectrum resources fairly. The IEEE 802.11 standard [1] has two different configurations: infrastructure mode and ad hoc mode. In the infrastructure mode, the IEEE 802.11 MAC can support the q An earlier version of this paper appeared in Proceedings of Med-HOC 2005. * Tel.: +1 316 978 6314; fax: +1 316 978 5408. E-mail address: [email protected]

1570-8705/$ - see front matter Published by Elsevier B.V. doi:10.1016/j.adhoc.2009.03.003

desired QoS levels via the point coordination function (PCF), which uses a polling-based scheme. However, several researchers show that the PCF can result in poor performance under various scenarios [2,3]. In the ad hoc mode, a number of different MAC protocols have been proposed to provide service differentiation via a distributed reservation-based scheme or a contention-based scheme. The reservation-based scheme is explored to achieve service differentiation in [4–6]. Lin and Gerla [4] propose MACA/PR which uses a MAC protocol, a reservation scheme, and a QoS routing to provide the desire QoS level. Muir and Garcia-Luna-Aceves [5] adopt group allocation multiple access with packet sensing to dynamically-sized reservation cycle. Finally, Sheu and Sheu [6] introduce a distributed bandwidth allocation scheme for service differentiation. Since these schemes require reservation overhead, information exchanging, and time synchronization among users, they may not be suitable for some applications and environments where users have scarce resources. Further, when resources are reserved but unused, they will be wasted, which will lead to low network utilization.

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62

Service differentiation can be provided by improving the access mechanism of the IEEE 802.11 MAC protocol (see [7–12] and references therein) by designing efficient access protocols or combining access protocols with scheduling algorithms. Nandagopal et al. [7] propose a distributed dynamic p-persistent MAC protocol to achieve proportional fairness by measuring idle-time durations, collisions, etc. Vaidya et al. [9] adapt self-clocked fair queueing [13] to achieve fairness by piggybacking local virtual times and adjusting IEEE 802.11 backoff policies. Luo et al. [10] propose three localized fair queueing models, and users emulate start-time fair queueing [14] to achieve global-weighted fairness in ad hoc networks. Finally, Kanodia et al. [8] emulate EDF-like reference scheduling to achieve the desired fairness level. All of the above schemes use some form of information-sharing that requires additional signaling and packet overhead to allow users to cooperate with each other. Furthermore, they necessitate greater computational complexity and memory requirements. Refs. [15,16] provide service differentiation via ‘‘Black Burst” and ‘‘busy tone,” which require jamming the channel before sending any data packets. However, these mechanisms can lead to significant throughput degradation under heavy network loads. Also, these mechanisms are difficult to implement using the IEEE 802.11 standard since they require significant changes. The IEEE 802.11e MAC protocol can provide a service differentiation mechanism by assigning different arbitration interframe spaces (AIFSs), contention window expansion factors (PFs), and ðCW min ; CW max Þ pairs for different classes [17–23], and can provide a static priority mechanism by adjusting the durations of AIFSs based on priority levels [24]. We propose a short-term fair MAC protocol, the CooperativeMAC (C-MAC) [25] with very simple-state information that considers only collisions, like the standard IEEE 802.11 MAC protocol. The C-MAC simultaneously provides high throughput and allows individual users to share limited spectrum resources fairly. Many researchers have focused on analyzing the throughput and delay performance of the IEEE 802.11 and IEEE 802.11e MAC protocols under both saturated and non-saturated traffic loads (see [26–34] and references therein) by using a discrete Markov chain, a multinomial probability distribution, a discrete time G/G/1 queue, a 3D Markov chain, and a mean value analysis. In [25], we only consider homogenous traffic type, i.e., basic access mechanism was considered, and analyze the throughput of the C-MAC protocol under a saturated traffic load. In this paper, first we mathematically analyze the throughput and delay performance of the C-MAC protocol by using a discrete time M/G/1 queue for both saturated and non-saturated traffic loads. Then, we develop a simple to implement, yet efficient, admission algorithm for a single class with a finite load. Simulation results show that the admission algorithm provides a tight lower bound for the admissible region for different types of real-time traffic. Additionally, we compare the admissible region of the C-MAC with the IEEE 802.11e MAC protocol for voice and video traffic. The C-MAC provides a larger admission region. For example, the IEEE 802.11e can support 55 voice

47

and 21 video traffics, while the C-MAC can support 60 voice and 22 video traffics when delay bounds for voice and video are 25 ms and 75 ms, respectively. Different real-time traffic has different QoS levels. Hence, we must not only protect them from data traffic but also provide different service levels for each type. Furthermore, we need to allocate a part of the throughput for a traffic type and still provide the desired QoS level when other classes have dynamic traffic loads. Many researchers have focused on providing different QoS levels under the IEEE 802.11e (see [35–39] and references therein). In this paper, we next develop a flow-based and a classbased weighted fair queueing (WFQ) mechanism with very simple-state information that considers only collisions by using the C-MAC protocol, i.e., we extend the basic access mechanism of the C-MAC protocol to provide service differentiation among different traffic types. Our key technique involves adjusting an individual flow’s contention window size based on its weight/delay-bound and its traffic type. Simulation results show that both mechanisms can achieve a given weight ratio within 1% without any throughput degradation. Furthermore, the class-based WFQ mechanism provides short-term fairness, not only among classes but also among flows within a class, while the flow-based WFQ mechanism achieves weighted short-term fairness among flows. In addition, we compare the admissible region of both mechanisms with the IEEE 802.11e MAC protocol for voice and video traffic. The flow-based WFQ provides a significantly larger admissible region than the IEEE 802.11e MAC protocol. For example, when there are 12 video users in the wireless LAN, the flow-based WFQ can support 27 voice users, while the IEEE 802.11e MAC can support only 14 voice users. Additionally, we investigate the effect of data load, when data traffic is mixed with real-time traffic. While the number of voiceor video-supported users will be decreased with the increase in data load under both the IEEE 802.11e and the flow-based WFQ, the class-based WFQ can protect realtime traffic when the amount of data traffic increases. However, we need to know the amount of data load in order to adjust the contention window size to protect delay sensitive traffic. Under the infrastructure mode, Access Point can determine the contention window size of each traffic flow. However, for ad hoc wireless LANs, we need a priority mechanism to protect real-time traffic from data load. The IEEE 802.11e can provide a static priority mechanism, which is referred to as the Static-MAC, by adjusting the durations of AIFSs based on priority levels [24] in order to protect real-time traffic from data traffic. However, the Static-MAC encounters significant throughput degradation when no real-time traffic is present. Hence, we need to design a priority mechanism to protect the real-time traffic while still providing high throughput even when no multimedia traffic is present. We propose a novel and efficient priority mechanism (C-MAC/PM) by using the C-MAC protocol. Our key technique is that each node will change its backoff counter based on both its own packet’s priority level and the transmitted packet’s priority level. Specifically, a node will increase its backoff counter linearly with a higher priority (than its own) packet transmission and

48

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62

decrease it exponentially with a lower priority (than its own) packet transmission. Simulation results show that the C-MAC/PM protects real-time traffic while providing high throughput. For example, under a light amount of real-time traffic, the C-MAC/PM provides up to 41% and 38% data load throughput, whereas the Static-MAC provides 9% and 0.1% for voice and video as real-time traffic, respectively. We would like to note that the protocols and mechanisms presented in this paper are only for wireless LANs, and multi-hope scenarios are beyond this paper’s scope. The remainder of this paper is organized as follows. We describe the C-MAC protocol and simulation models in Section 2. Next, we present a mathematical model for throughput and delay of single class with finite load in Section 3. Then in Section 4, we describe and analyze the flowbased and class-based WFQ. Section 5 presents the C-MAC priority mechanism. Finally, we provide our conclusions in Section 6. 2. Cooperative MAC protocol and simulation model In this section, we first briefly review the underlying MAC protocol, Cooperative-MAC (C-MAC) [25,40]. Then, we describe the simulation model we use for the rest of the paper. 2.1. Cooperative-MAC protocol The Cooperative-MAC (C-MAC) [25,40] protocol provides short-term fair access to all users in wireless LANs via a contention-based MAC protocol with minimum computational complexity and memory requirements, and high network throughput. In this section, we briefly explain the C-MAC protocol and more detailed information about the C-MAC can be obtained from [25]. The C-MAC, similar to the IEEE 802.11 MAC, only considers collisions in the backoff procedure; however, it introduces a two-level strict-priority mechanism by assigning different backoff counters and interframe spaces ðIFSÞ to each level. Contrary to the IEEE 802.11 MAC protocol, collided users have higher priority to access the channel than regular users who did not participate in the collision event. Furthermore, the C-MAC protocol, which is similar to TDMA, assigns a larger backoff counter to a successful user to achieve short-term fairness. The CMAC protocol operation is as follows: When a user becomes active for the first time, it senses the channel to transmit. If the user finds the channel to be idle for a period of regular interframe spaces ðRIFSÞ, which is similar to DIFS in the IEEE 802.11, the transmission will proceed. If the channel is busy, the user defers its transmission until the channel is idle for a time period of RIFS. Then, it generates an initial value for its backoff counter, which is chosen randomly from the discrete range ½W s ; 2W s  1, where W s is the contention window size for regular users. After that, the user decreases its backoff counter by one for every idle duration of slot time. If the channel becomes busy, the counter is frozen until the channel is idle again for a duration of RIFS. The user will keep decreasing its backoff counter as long as the channel remains idle.

When the backoff counter reaches zero, the user transmits a request-to-send ðRTSÞ message, if the RTS/CTS mechanism is used. The receiver responds with a clearto-send ðCTSÞ message after a time period of short interframe spaces ðSIFSÞ. Any other users, who hear RTS/CTS packets, defer their transmissions and update their network allocation vectors ðNAVÞ. The sender responds to the CTS with a data packet and waits for an ACK packet. If the sender does not hear a CTS/ACK, it assumes that a collision has occurred and proceeds according to the procedure described below. If a successful transmission occurs, then the sender chooses a new backoff counter uniformly from the discrete range ½W s ; 2W s  1. As shown in [25], the C-MAC requires a successful user to choose a large value for its backoff counter so that the new value is larger than other users’ backoff counters. Hence, the successful user will not transmit before the other existing users. As a result, the C-MAC provides short-term fairness within 2–3 packets per users. If a user is involved in a collision, it chooses a new value for its backoff counter from the discrete range ½0; W c  1, where W c is the contention window size for the collided users. Then, the collided user starts decreasing its backoff counter if the channel is idle for a duration of priority interframe spaces ðPIFSÞ rather than a duration of RIFS. In order to give every collided user a strict priority to access the channel over the regular users, in our protocol, we set

RIFS ¼ PIFS þ W c  SlotTime:

ð1Þ

Collided users, who have higher priority over regular users, can encounter consecutive collisions among themselves. An additional mechanism is needed to allow only the users that were involved in the latest collision to contend for the channel. The users that collided first, but were not involved in the latest collision, should defer their transmissions until the latest collision is resolved. However, they still should have a higher priority to transmit than the regular users. To satisfy this purpose, if a collided user identifies another collision before its transmission, it sets its backoff counter to zero and waits for the channel to be idle for a period of RIFS, like any regular user. Therefore, it would not contend for the channel until the latest collision is resolved. But it still has a higher priority over regular users, since the lowest backoff counter any regular user could have is one. Note that any user (except transmitting users) who does not receive the RTS/CTS message correctly is able to sense that the medium is busy since the interference power received is sufficiently higher than the noise floor. As a result of this mechanism, when a collision occurs, the user identifies the collision and sets its NAV to the extended interframe spaces ðEIFSÞ [1,41]. If a user can not successfully transmit the packet within re-transmission limit, which is set to seven for the RTS/CTS mechanism and to four for the basic access mechanism, it drops the packet and schedules a new packet by choosing a new backoff counter uniformly from the discrete range ½W s ; 2W s  1 and waiting a RIFS amount of idle time to reduce its backoff counter. In case of a successful transmission, for the next packet, the collided user also chooses a new value for its backoff counter from the discrete range

49

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62

½W s ; 2W s  1 and needs to detect a RIFS amount of idle time to reduce its backoff counter. 2.2. Simulation model The ns-2 simulator [42] with the DSSS specification [1,41,47], as shown in Table 1, is used for simulations throughout the paper. In our simulation, there are no hidden terminals since the sensing range is more than twice longer than the transmission range under DSSS specification [1,41,47]. Three traffic models are used: voice traffic model, variable-bit-rate video traffic model, and data traffic model, as in [6]. The voice traffic is modelled as a two-state Markov process with talkspurt (on) and silent-gap (off). The source generates a 64 kbps constant bit rate with 208 bytes packet size, corresponding to G.711-coded VoIP, in the on state, and no traffic in the off state. Both the on and off states are modelled as exponential distributions with a mean duration of 1 and 1.35 s, respectively. The variable-bit-rate (VBR) video traffic is modelled as a multiple-state Markov process, described in [6]. This model generates 120 kbps minimum rate, 240 kbps average rate, and 420 kbps maximum rate. Video traffic has seven discrete states ranging from 120 kbps to 480 kbps with a step size of 60 kbps, while the state probability is exponentially distributed, ranging from p120kbps ¼ 7=28 to p480kbps ¼ 1=28. The mean holding time for each state is 160 ms. The data load for a single source is modelled as Poisson traffic, with a rate of 1% of the channel data rate. 3. Single-class delay and throughput analysis In this section, the delay and throughput of the C-MAC protocol are analyzed under a finite load for wireless LANs without any hidden terminals. Then, the analytical results are compared with simulation results. Note that the CMAC decouples the collision resolution and transmission attempt since it has a two-level strict-priority mechanism: collided users in priority level 1 and regular users in priority level 2. Hence, the first goal is to calculate the transmission probability of a regular user in priority level 2. Fig. 1 depicts a Markov chain for a regular user’s backoff counter. The numbered states represent the backoff counter value, and state I represents an idle queue. The user transmits when it is in state 0. A transmission attempt will result in either a successful transmission or a collision. When a user encounters a collision, it will transmit a successful packet before any other regular nodes because of Table 1 System parameter for MAC protocols. Parameters

Values

Data rate SIFS Slot time RTS CTS ACK MAC header PHY header

11 Mbps 10 ls 20 ls 288 bits 240 bits 240 bits 272 bits 128 bits

Fig. 1. Markov chain model for backoff counter for a regular user.

the collision resolution mechanism of the C-MAC protocol. After a packet transmission, if the user’s queue is empty, it will go to state I with probability ð1  q0 Þ, where q0 is the probability that the user’s queue has at least one packet after transmission of a packet. If the queue is not empty, the user generates a new value for its backoff counter chosen uniformly from the discrete range ½W s ; 2W s  1, where W s is the contention window size for regular users. After that, the user decreases its backoff counter by one at the beginning of each slot duration. If the user is in state I, it will remain in state I with probability ð1  qi Þ, where qi is the probability that a user generates a packet within a slot duration ðEs Þ. If there is a new packet, then the user chooses a new value for its backoff counter from the discrete range ½W s ; 2W s  1. Let bðtÞ be a stochastic process representing the backoff counter for a regular user. As in Bianchi’s paper [26], a discrete and integer time scale is adopted: t and t + 1 correspond to the beginning of two consecutive slots’ duration, and the backoff counter is decremented at the beginning of each slot duration. With this assumption, the one-step transition probabilities can be written as1

Pfi=i þ 1g ¼ 1; Pfi=0g ¼ q0 =W s ; Pfi=Ig ¼ qi =W s ;

0 6 i < 2W s  1;

ð2Þ

W s 6 i 6 2W s  1; W s 6 i 6 2W s  1;

PfI=0g ¼ 1  q0 ; PfI=Ig ¼ 1  qi : Let bi ¼ limt!1 PfbðtÞ ¼ ig be the stationary distribution of the Markov chain. First, start with a state transition equation of state I as

bI ¼ ð1  q0 Þb0 þ ð1  qi ÞbI ; ð1  q0 Þ b0 : bI ¼ qi

ð3Þ

Then, express state ð2W s  1Þ as

b2ws 1 ¼

q0 q b0 þ i bI : Ws Ws

When bI is replaced with Eq. (2), then b2ws 1 ¼ b0 =W s . Now, write the state transition equation of state i where W s 6 i < 2W s  1 as 1

We adopt the short notation: Pfi1 =i0 g ¼ Pfbðt þ 1Þ ¼ i1 =bðtÞ ¼ i0 g.

50

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62

q0 q b0 þ i bI þ biþ1 ; Ws Ws b0 þ biþ1 ; bi ¼ Ws ð2W s  iÞ bi ¼ b0 : Ws bi ¼

ð4Þ

For state i, where 0 6 i < W s , the state transition equation is bi ¼ biþ1 . Then, bi can be further expressed as bi ¼ b0 since bW s ¼ b0 , according to Eq. (3). Since the sum of the state probability is equal to 1, we can calculate b0 as

1¼ 1¼

X

bi ;

W s 1 X

bi þ

ð5Þ 2W s 1 X

i¼0

1 ¼ W s  b0 þ

bi þ bI ;

i¼W s 2W s 1 X i¼W s

ð2W s  iÞ ð1  q0 Þ b0 þ b0 ; Ws qi

Ws þ 1 ð1  q0 Þ 1 ¼ W s  b0 þ b0 ; b0 þ 2 qi 3W s þ 1 ð1  q0 Þ b0 þ 1¼ b0 ; 2 qi 2qi b0 ¼ : ð3W s þ 1Þqi þ 2ð1  q0 Þ Note that if a heavy load is present ðq0 ¼ 1Þ, then the transmission probability becomes b0 ¼ 2=ð3W s þ 1Þ, as shown in [25,43]. For the remaining analysis, it is assumed that the number of users M in the system is known and that the transmission probability of each user is p ¼ b0 . In the case where the number of users is unknown, the estimation technique presented in [25], or a more complex algorithm for the user estimation such as Kalman Filters in [44], can be utilized. Our goal is to find the best values of W c and W s to optimize throughput of the C-MAC protocol. Three components for throughput of contention-based MAC protocols include the following: successful transmissions, transmission failures, and idle slots due to backoff at each contention period. Under heavy network traffic (i.e., each user always has a packet to transmit), we can express the throughput of a contention-based MAC protocol for one successful transmission cycle as follows [43]:



 m :  þ ThÞ E½Nc   T c þ E½T i   st þ ðT s þ m

ð6Þ

In Eq. (6), E½N c  is the average number of collisions, T c is the time lost due to collision, E½T i  is the average idle time in each contention period, st is the length of a slot, T s is the time spent in addition to packet transmission time during  and T h are the times it a successful transmission, and m takes to transmit an averaged-sized packet and the MAC header, respectively. In [25], we express throughput of the C-MAC protocol under heavy load as



MðM1Þ p2 ð1pÞM2 Wc 2 ðW c 1Þ 1ð1pÞM

 m h i ; ð1p1 Þ2 ð1pÞM  T c þ 1ð1p st þ 1ð1pÞ M  st þ T s þ m þ T h Þ2 1

ð7Þ

where W c is the contention window size for the collided users, p is the transmission probability of a regular user, and p1 ðp1 ¼ 2=ðW c þ 1ÞÞ is the transmission probability of a collided user. We can express T s and T c under the RTS/CTS mechanism as

T s ¼ PIFS þ W c  st þ rts þ cts þ ack þ 3  SIFS; T c ¼ PIFS þ rts þ cts þ SIFS and under the basic access mechanism as

T s ¼ PIFS þ W c  st þ ack þ SIFS;  þ T h þ ack þ SIFS: T c ¼ PIFS þ m In order to maximize network throughput, we need to minimize lost time due to both idle slots and collisions, as shown in Eq. (6). The throughput function of the CMAC protocol has a concave shape with increasing W s values for every fixed W c value [25]. Cali et al. [43] similarly show that throughput of the IEEE 802.11 MAC protocol has a concave shape with increasing contention window sizes. Increasing the W s value decreases the transmission probability of the individual user. As a result, the expected number of collisions E½N c  decreases, which initially improves throughput. On the other hand, increasing the W s value results in a larger amount of idle time E½T i , which in turn results in throughput degradation for large values   of W s . Hence, there is a unique optimal W c ; W s pair for given number of users M. In [25], an optimization technique to calculate the optimal pair of ðW c ; W s Þ for a given number of users is presented. The above throughput equation can be utilized for a finite load with transmission probability



2qi : ð3W s þ 1Þqi þ 2ð1  q0 Þ

ð8Þ

Next, calculate the average access delay for a user. Let Es be the expected duration of slot duration. Each slot duration may be occupied by a successful transmission, a collision, or the medium being idle [33]. Therefore, Es can be expressed as

 þ T h Þ þ Pfcolg  T col ; Es ¼ Pfidg  st þ Pfsucg  ðT s þ m

ð9Þ

where T col is the expected duration of a collision resolution time. It can be shown that optimal throughput can be achieved if the W s is chosen large enough so that the probability of more than a two-user-collision becomes very small [25]. Hence, the expected number of collisions ðE½N c Þ during a collision–resolution time can be calculated as

E½Nc  ’

Wc : ðW c  1Þ

ð10Þ

Further, under the assumption that there are only two collided users, the expected idle durations for each transmission attempt during a collision resolution can be calculated, using the geometric distribution, as

E½T ic1  ¼

ð1  p1 Þ2 1  ð1  p1 Þ2

:

ð11Þ

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62

During a collision resolution, some consecutive collisions are seen; these are then followed by two successful transmissions. However, between the two consecutive successful transmissions, there would be some idle duration, which can be expressed as E½T ic2  ¼ ð1  p1Þ=p1. Therefore, T col can be expressed as

 þ Th T col ¼E½Nc   ðT c þ E½T ic1   stÞ þ T s þ m  þ T h  W c  st: þ E½T ic2   st þ T s þ m

ð12Þ

The first term in the above equation is for time duration for consecutive collisions before first successful transmission.  þ T h stands for the first successful transmisThen, T s þ m sion. The next term is for the idle duration between two successful transmissions, followed by a successful transmission term. The user needs to detect RIFS amount of idle duration before the first transmission attempt but only PIFS amount of time during a collision resolution time. For the second successful transmission, T s includes RIFS rather than PIFS. In order to reflect PIFS, the last term ðW c  stÞ is included since RIFS ¼ PIFS þ W c  st. T col can be rewritten as

T col

" # Wc ð1  p1Þ2 ð1  p1Þ ¼ st þ  st þ 2T s Tc þ p1 ðW c  1Þ 1  ð1  p1Þ2  þ 2T h  W c  st: þ 2m

ð13Þ

Now, calculate the mean access delay ðDA Þ for a given user as

DA ¼ E½B  Es þ T tr ;

ð14Þ

51

In order to calculate the average packet delay, assume the M/G/1 queueing model. Therefore, the average packet delay D can be expressed as

D ¼ DA þ

k  D2 A ; 2ð1  qÞ

ð17Þ

where q ¼  k  DA , and D2A is the second-order moment of access delay [45]. Furthermore, the variance of packet delay [45] can be calculated by using

r2 ¼ r2A þ

kD3 k2 ðD2 Þ2 A A þ : 3ð1  qÞ 4ð1  qÞ2

ð18Þ

Hence, the maximum packet delay can be calculated by using normal distribution as

Dmax ¼ D þ a  r;

ð19Þ

where a is the confidence interval parameter for the qpercentile. Since the C-MAC protocol provides short-term fairness, an upper bound for access delay can be calculated under saturation condition, i.e., users always have a packet to transmit. In the worst case, a user (referred to as the worst user) will choose ð2W s  1Þ as its backoff counter while the other users will choose the smallest value ðW s Þ. Therefore, the transmission probability of other users is pw ¼ 1=   ðW s þ 1Þ [43,25]. The maximum access delay Dmax can A be calculated as

Dmax ¼ ð2W s  1Þ  Esw þ T trw ; A

ð20Þ

where E½B is the average backoff counter, which is E½B ¼ ð3W s  1Þ=2. The first term in the above equation is for users to wait until the first transmission attempt. The second term is for time spent until a packet is successfully transmitted. In order to calculate Es in Eq. (9), it is necessary to calculate Pfidg; Pfsucg, and Pfcolg. There are M users in the system, but the one being calculated for access delay must be excluded. Therefore,

by using pw to calculate Esw as in Eq. (9) and T trw as in Eq. (16). In general, the transmission probability of individual user p (Eq. (8)) and the mean access DA (Eq. (14)) represent an interdependent-nonlinear system, which can be solved iteratively. The iterative calculation will result in the opti mal pair W c ; W s , which will be used to calculate the throughput, mean and maximum access delays, and mean and maximum packet delays for a given traffic type.

Pfidg ¼ ð1  pÞðM1Þ ;

3.1. Simulation results

Pfsucg ¼ ðM  1Þ  p  ð1  pÞðM2Þ ; Pfcolg ¼ 1  ð1  pÞðM1Þ  ðM  1Þ  p  ð1  pÞðM2Þ : Now, calculate the transmission duration T tr . When the user transmits, it will be successful with probability Pfsuc=trg ¼ ð1  pÞðM1Þ or will be collided with probability Pfcol=trg ¼ 1  ð1  pÞðM1Þ . In the case of collision, the users can transmit successfully first or second with a probability of 0.5. Therefore, T col=tr can be expressed as

T col=tr

" # Wc ð1  p1Þ2 ð1  p1Þ ¼ st þ  st Tc þ 2 2p1 ðW c  1Þ 1  ð1  p1Þ  þ 3T h =2  W c  st=2: þ 3T s =2 þ 3m=2

ð15Þ

Hence,

 þ T h Þ þ Pfcol=trg  T col=tr : T tr ¼ Pfsuc=trg  ðT s þ m

ð16Þ

The mean access delay DA can be calculated easily by using Eq. (14) with the value calculated in Eqs. (9) and (16).

In this section, first, results for the heavy load case will be presented for different number of users. Then, the analytical results with a 99.9-percentile confidence interval will be compared with the simulation results. Finally, the C-MAC and the IEEE 802.11 MAC will be compared under different traffic types such as data load, and voice and video traffic. The reported results are the average values of 10 simulations. For a given number of users M, we utilize   the optimization method to obtain optimal W c ; W s pair.  For RTS/CTS mechanism, W c is always 3 [25]. On the other hand, W s ¼ 30 for 10 user, W s ¼ 305 for 100 user, and W s ¼ 610 for 200 user for heavy-load cases. Fig. 2 shows the throughput of the C-MAC for analytical results (A) and simulation (S) results as well as the throughput of the IEEE 802.11 under the heavy load case. First, the throughput of the C-MAC protocol remains almost constant while we change the number of users in the system. The reason is that for given number of users, we adjust W s such that the probabilities of collision and

52

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62

Throughput (Mbps)

5 4.8 4.6 4.4

802.11 C−MAC A C−MAC S

4.2 4 0

50

100

150

200

Number of Users Fig. 2. Throughput of C-MAC and IEEE 802.11 MAC.

idle slot remain the same. Hence, we achieve the same throughput for any given number of users [25]. Second, the analytical results serve as an upper bound for the C-MAC protocol, and the worst case difference is 21 kbit. When throughput of the C-MAC protocol is compared with throughput of the IEEE 802.11 MAC protocol, the IEEE 802.11 MAC protocol outperforms the C-MAC for ten users, 73 kbit better. For ten user, the IEEE 802.11 MAC protocol can easily resolve collision resulting in high throughput. On the other hand, when the number of users increases, the amount of collisions significantly increases. Therefore, the IEEE 802.11 MAC protocol encounters up to 800 kbit throughput degradation. Since, the C-MAC provides constant throughput, the C-MAC always outperforms the IEEE 802.11 MAC for more than ten users. For 200 users, the C-MAC has 770 kbit more throughput than the IEEE 802.11 MAC. In Fig. 3a and b, we depict the mean and maximum access delays for the C-MAC and IEEE 802.11 MAC protocols, respectively, under the heavy load. First, the analytical model captures the simulation results within 9 ms in the worst case, although analytical results are always lower than simulation results for the mean access delay. When we compare the mean access delay of the C-MAC protocol with the mean access delay of the IEEE 802.11 MAC protocol, both protocols provide compatible results for ten users, while the C-MAC achieves better results for a higher number of users. For 200 users, the C-MAC protocol provides 64 ms less mean access delay than the IEEE 802.11 MAC protocol. When we consider the maximum access delay, the analytical model always provides an upper bound for simulation results with the worst case difference of

Maximum Access Delay (sec)

Mean Access Delay (sec)

0.4

802.11 C−MAC A C−MAC S

0.3

0.2

0.1

0

0

50

40 ms for 200 users. On the other hand, the C-MAC protocol significantly outperforms the IEEE 802.11 MAC protocol since the C-MAC provides short-term fairness, while the IEEE 802.11 has heavy tail distribution of access delay [25]. For ten users, the difference between the C-MAC and the IEEE 802.11 MAC results is 147 ms, while it is 5.35 s for 200 users. Next, we investigate access and packets delays when we have data loads Poisson traffic with a rate of 1% of the channel data rate. We vary the number of data load users from 1 to 45 (i.e., data traffic is from 1% to 45% of the the channel data rate), where 44 users or more will result in a heavy load. We set q0 ¼ k  DA and qi ¼ 1  expfk  Es g, since we have a Poisson traffic. When we consider throughput, both the C-MAC and IEEE 802.11 MAC provide compatible results for 43 or fewer users (light load) since there is no congestion in the WLAN. The throughput for both protocol is linear with the data rate. Similar to Fig. 2, the C-MAC achieves 200 kbit more throughput for heavy loads. Fig. 4a and b show the mean and maximum access delays for the light data load, respectively. For light loads, the C-MAC provides a smaller access delay when the number of users is less than 25, while the IEEE 802.11 MAC provides a smaller mean access delay (up to 8 ms less) for larger number of users. For a small number of users, the contention window size for the C-MAC is very small compare to the IEEE 802.11 MAC protocol, whose minimum contention window size is 32 regardless of the number of users or data load. Hence, the C-MAC provides better access delay. On the other hand, when the number of users is large, the contention window size for the C-MAC protocol increases resulting longer access delay. Since the CMAC provides short-term fairness while the IEEE 802.11 MAC protocol has heavy tail distribution for the access delay, the C-MAC always achieves better maximum access delay (up to 401 ms less). For heavy loads, the C-MAC always has better mean and maximum access delays, up to 10 ms and 1.35 s less, respectively, since the C-MAC efficiently avoids collision. On the other hand, the IEEE 802.11 MAC protocol encounters significant collision under heavy load, which results in lower throughput and higher access delay. The mean and maximum packet delays are depicted in Fig. 5a and b, respectively, for the light data load. First, the analytical results for the C-MAC protocol capture the

100

Number of Users

150

200

6

802.11 C−MAC A C−MAC S

5 4 3 2 1 0

0

50

100

Number of Users

Fig. 3. Access delays for C-MAC and IEEE 802.11 MAC for heavy load.

150

200

53

45

45

40

40

Number of Users

Number of Users

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62

35 30 25 20

IEEE 802.11 C−MAC A C−MAC S

15

5

10

15

20

25

30

30 25 20

IEEE 802.11 C−MAC S C−MAC A

15

10 0

35

10

35

0

Mean Access Delay (msec)

20

40

60

80

100

Maximum Access Delay (msec)

Fig. 4. Access delays for C-MAC and IEEE 802.11 MAC for light data load.

qi is for the on state, while the second term represents the duration of the off state. For video traffic, we set P P q0 ¼ 7j¼1 pj  kj  DA and qi ¼ 7j¼0 pj  ð1  expfkj  Es gÞ. Figs. 6 and 7 show the mean and maximum packet delays for voice and video traffics, respectively. For both voice and video traffic, the C-MAC and IEEE 802.11 MAC protocols provide similar mean packet delays. However, the CMAC protocol provides significantly better maximum packet delay, i.e., a larger admissible region. For example, Sheu et al. [6] set 25 ms and 75 ms delay bounds for voice and video traffic for wireless LANs, respectively. For these delay bounds, the IEEE 802.11 MAC protocol can support 55 voice and 21 video traffics, while the C-MAC can support 60 voice and 22 video traffics. As shown in the above figures, the analytical model still provides a lower bound for the admissible region. Hence, the mathematical model is a simple to implement, yet efficient admission algorithm for a wireless LAN. 4. Weighted fair queueing In this section, we describe flow-based and class-based weighted fair queueing (WFQ) mechanisms which rely on the C-MAC protocol. The C-MAC decouples the collision resolution mechanism and transmission attempt since it has a two-level strict-priority mechanism: collided users in priority level 1, and regular users in priority level 2.

45

40

40

35

35

Number of Users

Number of Users

simulation results within 3 ms for light loads and 8 ms for heavy loads. The IEEE 802.11 MAC protocol has a smaller mean packet delay (up to 9 ms) for 42 or less users. However, the C-MAC has a significantly better result (240 ms) for 43 users, although the network is not yet saturated. Fig. 5b shows the admissible region, i.e., for a given delay bound, that the number of users can be supported by a MAC protocol. First, the analytical model provides a lower bound for admissible region, i.e, upper bound on maximum packet delay. Hence, the mathematical model presented in the previous section is an efficient admission algorithm for a wireless LAN. Second, as shown in Fig. 5b, the bound gets tighter when the network reaches close to saturation points. Comparing the maximum packet delays of the CMAC with values of the IEEE 802.11 MAC, the C-MAC always provides better results, up to 1.25 s and 16 s for light and heavy loads, respectively. As shown in Fig. 5b, the CMAC has a significantly larger admissible region. For example, for a 100 ms delay bound, the 802.11 MAC protocol can only support 31 users, while the C-MAC can support 36 users. The admission algorithm admits 35 users, which is just one less user than the simulation number. Finally, we explore admissible regions for voice and video traffic. Voice traffic is on with a probability of pon ¼ 0:4274 and off with a probability of poff ¼ 0:5726. Therefore, we set q0 ¼ pon  k  DA and qi ¼ pon  ð1 expfk  Es gÞ þ poff  ð1  expfEs =T off gÞ. The first term in

30 25 20

IEEE 802.11 C−MAC A C−MAC S

15

10

20

30

40

Mean Packet Delay (msec)

50

25 20

IEEE 802.11 C−MAC S C−MAC A

15

10 0

30

60

10 0

50

100

150

Maximum Packet Delay (msec)

Fig. 5. Packet delays for C-MAC and IEEE 802.11 MAC for light data load.

200

54

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62 75

70

70

65 60

Number of Users

Number of Users

65 60 55 50 45

55 50 45 40

40

IEEE 802.11 C−MAC S C−MAC A

35 30 0

2

4

6

8

10

IEEE 802.11 C−MAC S C−MAC A

35 30

12

0

20

Mean Packet Delay (msec)

40

60

80

100

Maximum Packet Delay (msec)

Fig. 6. Packet delays for C-MAC and IEEE 802.11 MAC for voice traffic.

26

24

24

22

Number of Users

Number of Users

22 20 18 16 14

20 18 16 14 12

12

IEEE 802.11 C−MAC S C−MAC A

10 8 0

10

20

30

40

IEEE 802.11 C−MAC S C−MAC A

10 8 0

50

20

Mean Packet Delay (msec)

40

60

80

100

Maximum Packet Delay (msec)

Fig. 7. Packet delays for C-MAC and IEEE 802.11 MAC for video traffic.

Hence, a user in priority level 1 will achieve a successful transmission before any other user in priority level 2. The C-MAC and IEEE 802.11 MAC protocols have the same level of complexity since both protocols only adjust backoff counters based on successful transmissions and collisions. Unlike the IEEE 802.11 MAC, the C-MAC has constant contention size in priority levels 1 and 2. Furthermore, the CMAC provides a short-term fairness within sliding window sizes of 2–3 packets per user, i.e., for any 3  M consecutive successful transmissions, each user transmits three packets with 0.95 probability [25]. Relying on the short-term fairness properties of the C-MAC protocol, we can achieve flow-based WFQ by simply adjusting the contention widow size W s . 4.1. Flow-based WFQ The transmission probability of flow i is pi ¼ 2=ð3W si þ 1Þ under the C-MAC protocol, where W si is the contention window size for flow i. Hence, the C-MAC can provide a flowbased WFQ mechanism by assigning the contention window size according to

i xi p m ¼ Pi ;  x p  j j j j mj

P

ð21Þ

 i is the average packwhere xi is the weight of flow i, and m et size of flow i. Therefore, for any flows i and j, the throughput ratio can be achieved as long as the flowing equation holds

i xi pi  m ¼ : j xj pj  m

ð22Þ

Fig. 8a shows the throughput ratio of one user of traffic type A with a 500-byte packet size and one user of traffic type B with a 1-kbyte packet size, when the weights are equal and there are 25 users from each traffic type. We vary the contention window size of traffic type A from 20 to 160 and adjust the contention window size of traffic type B according to Eq. (22) in order to achieve a given weight ratio (1). As shown in Fig. 8a, the flow-based WFQ mechanism provides a given weighted throughput within 1% of the required ratio, regardless of the value of the contention window size W si . The reason for not achieving an exact ratio is that the contention window size W si must be an integer value, and the selected values of W si will not yield an exact

55

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62

ratio unless W si is a very large value. On the other hand, the throughput has a concave shape with increasing W s values, as shown in Fig. 8b. Increasing the W s value decreases the transmission probability of the individual user. As a result, the expected number of collisions decreases, which initially improves throughput. On the other hand, increasing the W s value results in a larger amount of idle time, which in turn results in throughput degradation for large values of W s . Therefore, a throughput expression is required to obtain optimal parameter settings. Throughput of the C-MAC protocol for homogeneous users under heavy load can be expressed as



 m  þ Th E½N c Prfcol=trg½T c þ T id1  þ T id2 þ T s þ m

ð23Þ

;

Wc : ðW c  1Þ

Hence, the average idle duration in priority level 2 ðT id2 Þ can be calculated by using the geometric distribution as

QM

T id2 ¼

1  ð1  p1Þ2

X

Prfsucg ¼

Prfcol=trg ¼

pj

Y

ð1  pk Þ;

ð29Þ

k–j

1

Q

j ð1

P Q  pj Þ  j pj k–j ð1  pk Þ Q : 1  j ð1  pj Þ

max Wc ðW c 1Þ

s:t: pj ¼

Q

1

j

P Q h p ð1pk Þ Q j j k–j Tc þ

ð1pj Þ 1

2 3W sj 1

j

ð1pj Þ

 m ð1p1Þ2  st 1ð1p1Þ2

i

Q ; ð1pj Þ  þ 1Qj ð1p Þ  st þT s þ mþT h j

j

;

2 ; W c þ1 PM  j¼1 pj  mj ¼ P ; m M j¼1 pj X p 6 1; j j p1 ¼

W c P 2; i xi pi  m ¼ 8i;j; j xj pj  m

PM

W c ; 8W sj integer

 j¼1 pj  mj : PM j¼1 pj

ð31Þ

ð26Þ 3.2

1.01

3.15

Throughput (Mbps)

Throughput Ratio

1.005

1

3.1

3.05

0.995 3

0.99

20

ð30Þ

Hence, throughout of the flow-based WFQ can be rewritten, and the optimal values of W sj and W c can be obtained by using the following mathematical model:

ð25Þ

:

ð28Þ

and the probability of a collision given that there is a transmission is

 as Now, calculate m

 ¼ m

j¼1 ð1  pj Þ ; QM 1  j¼1 ð1  pj Þ

the probability of success ðPrfsucgÞ is

ð24Þ

ð1  p1Þ2

ð27Þ

j¼1

Further, the expected idle durations for each transmission attempt during a collision resolution time can be calculated, using the geometric distribution, as

E½T id1  ¼

M Y ð1  pj Þ:

Pfidleg ¼

j

where E½N c  is the average number of collisions, Prfcol=trg is the probability of collision given that there is a transmission attempt, T id1 and T id2 are the average idle durations in priority levels 1 and 2, respectively, T s is the time spent in addition to packet transmission time during a successful  and T h are the times it takes to transtransmission, and m mit an averaged-sized packet and the MAC header, respectively [25]. It can be shown that the optimal throughput can be achieved if W s is chosen large enough that the probability of more than two-user collision becomes very small, and the average number of user transmitting should be less P than 1, i.e., j pj 6 1. Hence, the expected number of collision ðE½N c Þ during a collision resolution time can be calculated as

E½N c  ’

For any given slot, the probability of the slot being idle can be expressed as

40

60

80

100

120

140

Contention Window Size of Traffic Type A

160

2.95

20

40

60

80

100

120

140

Contention Window Size of Traffic Type A

Fig. 8. Flow-based WFQ throughput ratio and network throughput.

160

56

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62

In this formulation, the first constraint comes from the definition of transmission probability in priority level 2, and the second constraint comes from the definition of transmission probability in priority level 1. The third constraint is the definition of an average packet size in the system. To minimize collisions, the average number of users entering priority level 1 should always be less than, or equal to, 1. P This is ensured by constraint j pj 6 1. The fifth constraint is required to eliminate collisions. The weight of each user is satisfied by the sixth constraint. Note that this mathematical model is a non-linear mixed-integer programming model. In the continuous version of this problem, where W sj and W c are nonnegative variables, the objective function has a global maxima.

In order to calculate the throughput of class-based WFQ,  the average idle duration in the average packet size ðmÞ, priority level 2 ðT id2 Þ, and the probability of collision given there is a transmission ðPrfcol=trgÞ in Eq. (23) must be expressed in terms of class-based WFQ.  in the system can be exThe average packet size m pressed by using the average number of transmission per class as

 ¼ m

P  j M j  pj  mj P : j M j  pj

ð34Þ

For any given slot, the probability of the slot being idle is

Y ð1  pj ÞMj :

Pfidleg ¼

ð35Þ

j

4.2. Class-based WFQ Similar to the flow-based WFQ mechanism, the C-MAC protocol can provide a class-based WFQ mechanism by assigning the contention window size according to

i xi Mi  pi  m ¼P ;  j xj j M j  pj  mj

P

ð32Þ

i xi Mi  pi  m ¼ : j xj Mj  pj  m

Wc ðW c 1Þ

s:t:

1

ð33Þ

Q j

ð1pj Þ

p1 ¼

Mj



P j

Mi pj ð1pj ÞðMi 1Þ

1

Q

j

ð1pj Þ

Mj  j ½1  ð1  pj Þ   mj P Mj j ½1  ð1  pj Þ 

j

M j pj 6 1

Wc P 2 i xi Mi  pi  m ¼ j xj Mj  pj  m Wc;

Mj

ð36Þ

The probability of success ðPrfsucgÞ in any given slot is

X

Mi pj ð1  pj ÞðMi 1Þ

j

Y

ð1  pk ÞMk :

ð37Þ

k–j

Therefore, the probability of collision, given that there is a transmission, can be calculated as Prfcol=trg ¼

1

Q

j ð1

 pj ÞMj 

P

j M i pj ð1

1

Q

j ð1

 pj ÞðMi 1Þ

 pj Þ

Mj

Q

k–j ð1

 pk ÞMk

:

ð38Þ Therefore, the throughput of the class-based WFQ can be rewritten, and the optimal values of W sj and W c can be obtained by using the following mathematical model:

 m

Q k–j

ð1pk ÞMk

h

Q M i ð1pj Þ j ð1p1Þ2  Qj T c þ 1ð1p1Þ M j  st þ T s þ m þ T h 2  st þ 1

j

ð1pj Þ

2 Wc þ 1

P X

Mj j ð1  pj Þ : Q 1  j ð1  pj ÞMj

2 3W sj  1

pj ¼

 m

Q

T id2 ¼

Prfsucg ¼

 i is the average packet where xi is the weight of class i; m size of class i; Mi is the number of class i users, and pi is the transmission probability of a user in class i. In the above expression, the average number of transmissions of any class is proportional to its weight and packet size. Therefore, for any class i and j, the throughput ratio can be achieved as long as the flowing equation holds

max

Hence, the average idle duration in priority level 2 ðT id2 Þ can be calculated as

8i; j

8W sj integer

ð39Þ

57

1.005

2.5

1

2.48

0.995 10

15

20

25

30

35

Throughput of Class A

In this formulation, the only difference from Eq. (31) for the flow-based WFQ is the fourth constraint, which ensures that the average number of users entering priority level 1 should always be less than or equal to 1. For classP based WFQ, this is j M j pj 6 1. In Eqs. (31) and (39), the mixed-integer non-linear model is solved using the GAMS/BARON solver [46]. BARON is a general purpose solver for non-linear optimization problems with integer variables. In the case of a finite load, the transmission probability of any user can be obtained by using the method presented in Section 3 for both the flowbased and class-based WFQ. Detailed experimental results will be presented in the following subsection.

Throughput Ratio of Class A vs Class B

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62

2.46 40

Number of Class B Users

4.3. Simulation results

Fig. 10. Throughput ratio of class-based WFQ.

In this section, we first present results for the heavy load case when we have two types of classes: Class A with a packet size of 500 bytes and Class B with a packet size of 1 kbyte. Then, we present admissible regions for voice, video, and data traffic combinations. First, we set the number of users in the wireless LAN to 50 users, with an equal number of users from each classes when each flow always has a packet to transmit. Then, we change the weight ratio of Class A’s flow vs. Class B’s flow from 1 to 10. Then, for any given weight ratio, we use Eq. (31) to obtain the optimal contention window size for both class A and B. In Fig. 9, we depict the throughput ratio of Class A’s flow vs. Class B’s flow. The simulation results show that the flow-based WFQ can achieve the given throughput ratio within 1% regardless of the weight ratios. Hence, the C-MAC can provide a flow-based WFQ mechanism with very simple-state information since only collisions are considered in the backoff procedures, like the IEEE 802.11 MAC protocol. Second, we investigate the class-based WFQ. In this case, we set the weight ratio to 1 and change the number of users in Class B from 10 to 40 while the number of Class A flows is constant at 25. Then, for any given number of class B users, we use Eq. (39) to obtain the optimal contention window size for both class A and B. Fig. 10 shows the throughput ratio (solid line with squares) of the classes and the throughput of Class A (dashed line with diamonds). As shown in the figure, the class-based WFQ can

achieve the given throughput ratio within 1% while causing only a 20 kbit throughput difference regardless of the different number of class B users. Hence, the class-based WFQ can protect one class while increasing the number of users from other classes without affecting the class throughput. Similar to the flow-based WFQ, the classbased WFQ requires very simple-state information. We also investigate the short-term fairness property of the class-based WFQ. As shown in Fig. 11, it not only provides short-term fairness among classes within three to five packets per class weight, but it also provides shortterm fairness among class flows within two to three packets per flows, i.e., the class-based WFQ possesses the shortterm fairness property of the C-MAC protocol. In both flowbased and class-based WFQs, we utilize the analytical models derived in the above subsections. We found that the analytical models provide the optimal setting, and the throughput difference between the analytical models and simulation results is less than 2%. Next, we investigate the admissible regions of two-class combinations: (1) voice vs. data, (2) video vs. data, and (3) voice vs. video. We set delay bounds of voice to 25 ms and that of video to 75 ms, as in [6]. Furthermore, we use the IEEE 802.11e setting in [36]: voice as AC 3, video as AC 2, and data as AC 0. Fig. 12a and b depict admissible regions

Average Fairness Index

Throughput Ratio of Class A vs Class B

1 1.2 1 0.8 0.6 0.4

0.95

0.9

0.85

Class Fairness Flow Fairness Class A Flow Fairness Class B

0.2 0.8

0 0

2

4

6

8

Weight of Class B Users Fig. 9. Throughput ratio of flow-based WFQ.

10

0

5

10

15

Sliding Window Size ω Fig. 11. Average fairness index.

20

58

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62 25

60

20

Number of Video Users

Number of Voice Users

50

40

30

20

FB−WFQ w=1 FB−WFQ w=2 CB−WFQ w=1 CB−WFQ w=2 802.11e

10

15

10

FB−WFQ w=1 FB−WFQ w=2 CB−WFQ w=1 CB−WFQ w=2 802.11e

5

0

0 0

10

20

30

40

50

0

10

20

30

40

50

Number of Data Users

Number of Data Users

Fig. 12. Admissible regions.

60

FB−WFQ w=1 FB−WFQ w=3 802.11e

50

Number of Voice Users

of voice vs. data and video vs. data, respectively. First, when we mix real-time applications such as voice and video with data traffic, the number of voice or video supported will be decreased with the increase in data load under both the IEEE 802.11e MAC protocol and the flowbased WFQ. For voice traffic, the IEEE 802.11e MAC protocol has the lowest admissible region, while the flow-based WFQ with equal weight is the lowest for video. Second, the admissible regions increase for both voice and video under the flow-based WFQ when we increase the weight of realtime traffic. Finally, the class-based WFQ can protect realtime traffic when the amount of data traffic increases. For example, we can support 44 voice users with weight 1, and 53 voice users with weight 2. Similarly, we can support 11 video users with weight 1 and 15 video users with weight 2. However, we need to know the amount of data load in order to adjust the contention window size W s to protect real-time traffic. Under the infrastructure mode, the Access Point can determine the contention window size of each traffic flows. However, for ad hoc wireless LANs, we need a priority mechanism to protect real-time traffic from data load. We will present an efficient priority mechanism for this in the next section. The admissible region for voice vs. video is depicted in Fig. 13. The admissible region under the flow-based WFQ is maximized when we choose the weight of flows proportional to delay bound. For real-time traffic flows, we use =Dmax ¼ pi =pj instead of Eq. (21) in order to eliminate Dmax i j the effect of packet size. Hence, we achieve the maximum admissible region when the weight of voice users is 3, and video users is 1. The flow-based WFQ provides a significantly larger admissible region than the IEEE 802.11e MAC protocol. For example, when there are 12 video users in the wireless LAN, the flow-based WFQ can support 27 voice users while the IEEE 802.11e MAC protocol only support 14 voice users. As the results suggested, when a MAC protocol provides a short-term fairness and achieves a given weight ratio among flows, it will significantly outperforms the IEEE 802.11e MAC protocol since the IEEE 802.11e MAC protocol has heavy-tail delay distribution which causes significantly high delay bound.

40

30

20

10

0

0

5

10

15

20

25

Number of Video Users Fig. 13. Admissible region of voice vs. video.

Finally, we investigate the effect of channel error on admissible region when video users with 75 ms delay requirement are present. When there is no channel error, the C-MAC protocol admits 22 video users while the IEEE 802.11e protocol supports 21 video users. We vary Bit Error Rate (BER) from 0 to 25  105 , and we set packet lost rate to 106 . Fig. 14 depicts the admissible region under channel error for video users. First, both the C-MAC protocol and the IEEE 802.11e protocol support less video users when the BER increases. However, the number of video users supported by the IEEE 802.11e encounters significant decrease when compared to the admissible region of the CMAC protocol. For example, when BER is equal to 5:6  105 , the IEEE 802.11e can no longer support any video users while the C-MAC protocol supports 14 video users. Furthermore, the C-MAC can no longer support any video users when the BER is 25  105 or more. The CMAC protocol can still support some video users even under high BER because the C-MAC transmits the corrupted packets immediately when it does not get an ACK back, and has a smaller back of counter compared to the IEEE 802.11e.

59

0.12

25 the C−MAC the IEEE 802.11e

20

0.1

15

0.08

Throughput

The Number of Video Users Supported

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62

10

Voice Settings Video Settings

0.06

0.04

5

0.02

0 0

5

10

15

20

25

Bit Error Rate (10−5)

0 0

Fig. 14. The effect of channel error on video application.

0.1

0.2

0.3

0.4

0.5

Data Load Fig. 15. Throughput for no class 1 traffic under the static MAC.

5. Priority mechanism In this section, we describe a priority mechanism, CMAC/PM, via the Cooperative-MAC protocol (C-MAC) [25], for wireless LANs. The goals of a priority mechanism are to provide high network throughput, an efficient priority mechanism among classes, and short-term fairness within classes. The key technique employed by the CMAC/PM is that each node will change its backoff counter based on both its own packet’s priority level and the level of the transmitted packet. Specifically, a node will increase its backoff counter linearly with a higher priority (than its own) packet transmission and decrease it exponentially with a lower priority (than its own) packet transmission. Additionally, each node uses static priority among its packets to schedule the next packet transmission. As shown in Fig. 12, when real-time application such as voice and video are mixed with data traffic, the number of real-time users supported will be decreased, with an increased data load under both the IEEE 802.11e MAC and the flow-based WFQ. Hence, an efficient priority mechanism among classes must be employed to protect real-time applications. The Static MAC protocol, introduced in [24], employs the IEEE 802.11e EDCF as an underlying access method. It uses different arbitrary interframe spaces (AIFS) values for different priority levels. The AIFS of the level ði þ 1Þ is set to the sum of the AIFS of level i and the time duration of the maximum contention window size of level h i i ðCW imax þ 1Þ  st where st is the slot time. For example, to protect the voice traffic, AIFS of the data load should be h   i oice þ 1  st since 5.17 ms AIFSdata ¼ AIFSv oice þ CW vmax oice ¼ 255. Similarly, to protect AIFSv oice ¼ 50 ls and CW vmax the video traffic, AIFS of the data load should be 41.01 ms. As shown in Fig. 15, this mechanism encounters a significant throughput degradation since data traffic needs to wait a long AIFS duration to send a packet although there are no high priority users in the wireless LAN. The Static MAC provides up to 11% throughput in the best case for voice setting and 1.7% for video settings. The C-MAC/PM differentiates each priority level by P 2  CW is . Therefore, high-priority classes employing W iþ1 s will capture the channel initially, since each node chooses a random backoff counter from a discrete range of

h i W is ; 2W is  1 . However, after some time period, low-priority classes will decrement their backoff counter and start competing with high-priority classes. As a result, the highpriority classes will encounter throughput degradation similar to what occurs in the IEEE 802.11e MAC and flow-based WFQ (see Fig. 12). In order to prevent this phenomenon, the C-MAC/PM requires low-priority classes to increase their backoff counters by one (1) when they hear a high-priority (than its own) packet transmission. However, the increment should be limited in order for low-priority classes to quickly capture the channel after a burst of high-priority traffic, thus increasing network throughput. To achieve this goal, the C-MAC/PM introduces a counter, the backoff increment counter ðBIC i Þ, whose maximum value equals W is . The counter is set to the maximum value whenever a node generates its backoff counter. A node decreases its BIC and backoff counter by one (1) when it detects an idle slot. When a node’s BIC reaches zero, it will continue decreasing its backoff counter without changing the BIC i . Observe that we choose the backoff counter in the range h i of W is ; 2W is  1 , while the BIC i ¼ W is . Upon hearing a high-priority (than its own) packet transmission, a node increments the BIC i and its backoff counter by one (1) until the BIC i reaches W is value. When the BIC i reaches the W is , the node will stop increasing its backoff counter. This method increases the chance of a high-priority class packet capturing the channel, while it ensures that the backoff counter of a low-priority class does not exceed the initial chosen value and that it is very efficient under a heavy load of high-priority classes. In addition, low-priority classes still can capture the channel, especially when a small amount of high-priority traffic is present. However, to increase high-priority class throughput, high-priority classes should capture the channel quickly, if they hear any lowpriority class transmissions. To achieve this goal, upon hearing a low-priority (than its own) packet transmission, a node waits for the channel to be idle for PIFS amount of time. Then, it reduces its backoff counter and the BIC to half (exponential decrease) for each detected idle slot. This procedure enables high-priority classes to capture the channel in a very short amount of time. If a collision is

60

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62 0.4

Static MAC load 5% Static MAC load 25% Static MAC load 50% C−MAC PM load 5% C−MAC PM load 25% C−MAC PM load 50%

0.4

0.3

Throughput of Data Traffic

Throughput of Data Traffic

0.5

0.2

0.1

0

CMAC PM load 5% CMAC PM load 25% CMAC PM load 50%

0.35 0.3 0.25 0.2 0.15 0.1 0.05 0

0

10

20

30

40

50

60

3

6

Number of Voice Users

9

12

15

18

21

Number of Video Users

Fig. 16. Throughput of data traffic.

sensed during this procedure, the exponential decrement will be stopped, and the regular linear decrement will be activated, i.e., the node will wait for the channel to be idle for a duration of RIFS amount and decrement its backoff counter and BIC by one (1) for every detected idle slot. Our goal for the C-MAC/PM is to protect high priority flows while achieving high throughput when there is no high priority traffic. To obtain simulation parameters   W is for the C-MAC/PM, we utilize the mathematical model in Eq. (7) for each priority level separately, while assuming there is no high-priority traffic. Then, the ob  tained parameter W is is chosen if W is P 2W i1 s . Otherwise, the contention window size is set to W is þ 2W i1 s . Hence, as shown in the simulation section below, the obtained parameters from Eq. (7) achieves optimal throughput when there is no high priority traffic while protecting real-time traffic when they are present. Please note that this setting may not provide optimal performance when we have mixed number of high priority and low priority traffic users. The C-MAC/PM still provides short-term fairness (three to five packets per user) within the classes since it is based on the C-MAC protocol, and the proposed mechanism generates cohesive group movement although each user acts independently. The C-MAC/PM requires each node to have additional memory for the BIC i , which is expected not to be more than 2 bytes since its maximum value equals W is . As a key technique, each node needs to change its backoff counter based on both its own packet’s priority level and the level of the transmitted packet in our mechanism. This can be done by constant monitoring of the channel and adding an additional look-up into the packet header. Since the medium is a broadcast channel in wireless networks, all nodes have to monitor the channel and look at the MAC address of each transmitted packet to determine whether the packet is destined for them or not. During this procedure, the C-MAC/PM requires an additional look-up into the packet header in order to identify the priority level of the transmitted packet. 5.1. Simulation results In this section, we compare the C-MAC/PM with the Static MAC protocol [24] in terms of admissible region and

throughput of a lower class. In this experiment, we set voice or video traffic as a high-priority class and data traffic as a low-priority class. We vary the number of high-priority users under different data loads: light load (5%), normal load (25%), and heavy load (50% of channel data rate). Note that the maximum throughput is 50% of channel data rate due to packet overheads and ACKs. We depicted the throughput of data load for voice and video as the high priority in Fig. 16a and b, respectively. First, the C-MAC/PM supports a maximum of 60 voice and 22 video users, regardless of data load, while it is a maximum of 55 voice and 21 video users for the Static MAC. Hence, the C-MAC/ PM protects real-time traffic from data traffic. Second, the Static MAC provides maximum 0.1% data load throughput when video traffic is high-priority. Hence, we did not include it in the above figure. Third, under a small amount of high-priority traffic (5 voice or 3 video users), the CMAC/PM provides up to 41% and 38% data load throughput, while it is 9% and 0.1% for the Static MAC for voice and video as a high-priority, respectively. The C-MAC/PM even provides 5% data throughput without violating the delay requirement of high-priority traffic when we have the maximum number of real-time users that the C-MAC/PM supports. Hence, we can conclude that the C-MAC/PM provides an efficient service differentiation mechanism. 6. Conclusions The goal of this work is to design a distributed medium access control protocol to provide service differentiation without sacrificing throughput, delay, and fairness when applications have diverse performance requirements, such as high throughput, low delay, and delay jitter. To achieve this, we develop a mathematical model to analyze the throughput and delay performance of the C-MAC protocol [25] by using a discrete time M/G/1 queue. We then develop a simple to implement, yet efficient admission algorithm for a single class with a finite load. Simulation results shows that the admission algorithm provides a tight lower bound for the admissible region for different types of real-time traffic. To provide a different QoS level for different real-time applications, we develop efficient flow-based and classbased weighted fair queueing mechanisms with very sim-

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62

ple-state information that considers only collisions, like the standard IEEE 802.11e MAC protocol. Simulation results show that both mechanisms provide weighted throughput within 1% of the given throughput ratio, while still providing short-term fairness among flows and classes. When real-time applications are mixed with data traffic, real-time applications encounter performance degradation. To protect real-time applications while achieving high throughput, we propose a novel and efficient priority mechanism. Our key technique involves each node changing its backoff counter based on both its own packet’s priority level and the priority level of the transmitted packet. Specifically, a node will increase its backoff counter linearly with a higher-priority packet transmission and decrease it exponentially with a lower-priority packet transmission. Simulation results shows that our mechanism always protects real-time traffic while still providing high throughput. References [1] IEEE. IEEE Standard 802.11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, 1997. [2] W.K. Kuo, C.Y. Chan, K.C. Chen, Time bounded services and mobility management in IEEE 802.11 wireless LANs, in: Proceedings of IEEE Personal Wireless Communication, 1997. [3] J. Sanchez, R. Martinez, M.W. Marcellin, A survey of MAC protocols proposed for wireless ATM, IEEE Networks 11 (6) (1997) 52–62 (November). [4] C.R. Lin, M. Gerla, Real-time support in multihop wireless networks, Wireless Networks 5 (1999). [5] A. Muir, J.J. Garcia-Luna-Aceves, An efficient packet sensing MAC protocol for wireless networks, ACM Journal on Mobile Networks and Applications 3 (2) (1998) (August). [6] S.T. Sheu, T.F. Sheu, DBASE: a distributed bandwidth allocation/ sharing/extension protocol for multimedia over IEEE 802.11 Ad Hoc wireless LAN, in: Proceedings of IEEE INFOCOM 2001, Anchorage, Alaska, April 2001. [7] T. Nandagopal, T. Kim, X. Gao, V. Bhargavan, Achieving MAC layer fairness in wireless packet networks, in: Proceedings of ACM MOBICOM’00, Boston, MA, August 2000. [8] V. Kanodia, C. Li, A. Sabharwal, B. Sadeghi, E. Knightly, Ordered packet scheduling in wireless Ad Hoc networks: mechanisms and performance analysis, in: Proceedings of ACM MobiHoc’02, July 2002. [9] N.H. Vaidya, P. Bahl, S. Gupta, Distributed fair scheduling in a wireless LAN, in: Proceedings of ACM MOBICOM’00, Boston, MA, August 2000. [10] H. Luo, P. Medvedev, J. Cheng, S. Lu, A self-coordinating approach to distributed fair queueing in Ad Hoc wireless networks, in: Proceedings of IEEE INFOCOM 2001, Anchorage, Alaska, April 2001. [11] T. Ozugur, M. Naghshineh, P. Kermani, J. Copeland, Fair media access for wireless LANs, in: Proceedings of IEEE GLOBECOM 99. [12] V. Bharghavan, A.J. Demers, S. Shenker, L. Zhang, MACAW: a media access protocol for wireless LANs, in: Proceedings of ACM SIGCOMM’94, London, England, August 1994. [13] S.J. Golestani, A self-clocked fair queueing for broadband applications, in: Proceedings of IEEE INFOCOM 1994, Toronto, Ontario, April 1994. [14] P. Goyal, H.M. Vin, H. Chen, Start-time fair queueing: a scheduling algorithm for integrated services packet switching network, IEEE/ACM Transactions on Networking 5 (5) (1997) 690–704 (October). [15] J.L. Sobrinho, A.S. Krishnakumar, Quality-of-service in Ad Hoc carrier sense multiple access wireless networks, IEEE Journal on Selected Areas in Communications 17 (1999) (August). [16] X. Yang, N.H. Vaidya, Priority scheduling in wireless Ad Hoc networks, in: Proceedings of ACM MobiHoc’02, Lausanne, Switzerland, July 2002. [17] IEEE 802.11e, Medium Access Control (MAC) and Physical Layer (PHY) Specifications: MAC Enhancements for Quality of Service (QoS), May 2002.

61

[18] S. Mangold et al., The IEEE 802.11e MAC for quality of service in wireless LANs, in: Proceedings of European wireless, February 2002. [19] M. Barry, A.T. Campbell, A. Veres, Distributed control algorithms for service differentiation in wireless packet networks, in: Proceedings of IEEE INFOCOM 2001, Anchorage, Alaska, April 2001. [20] H. Zhu, G. Cao, A. Yener, A.D. Mathias, EDCF-DM: a novel enhanced distributed coordination function for wireless Ad Hoc networks, in: Proceedings of IEEE ICCC’04, Paris, France, June 2003. [21] A. Veres et al., EDCF-DM: supporting service differentiation in wireless access packet networks using distributed control, JSAC 19 (10) (2001) (October). [22] J. Deng, R.S. Chang, A priority scheme for IEEE 802.11 DCF access method, IEICE Transactions in Communications 82-B (1) (1999) (January). [23] L. Romdhani, Q. Ni, T. Turletti, Adaptive EDCF: enhanced service differentiation for IEEE 802.11 wireless Ad Hoc networks, in: Proceedings of IEEE WCNC’03, 2003. [24] I. Aad, C. Castelluccia, Differentiation mechanisms for IEEE 802.11, in: Proceedings of IEEE INFOCOM 2001, Anchorage, Alaska, April 2001. [25] C. Cetinkaya, M.B. Yildirim, Short-term fair MAC protocol for wireless LANS, Ad Hoc Networks 6 (6) (2008) 860–877 (August). [26] G. Bianchi, Performance analysis of the IEEE 802.11 distributed coordination function, IEEE JSAC 18 (2000) 535–547 (March). [27] P. Clifford, K. Duffy, J. Foy, D.J. Leith, D. Malone, Modeling 802.11e for data traffic parameter design, in: Proceedings of IEEE WiOpt, Boston, MA, April 2006. [28] M.M. Carvalho, J.J. Garcia-Luna-Aceves, Delay analysis of IEEE 802.11 in Single-Hop networks, in: Proceedings of IEEE ICNP, Atlanta, Georgia, November 2003. [29] O. Tickoo, B. Sikdar, Queueing analysis and delay mitigation in IEEE 802.11 random access MAC based wireless networks, in: Proceedings of IEEE INFOCOM 2004, Hong Kong, March 2004. [30] P.E. Engelstad, O.N. Osterbo, Non-saturation and saturation analysis of IEEE 802.11 e EDCA with starvation prediction, in: Proceedings of ACM International Symposium on Modeling, Analysis and Simulation of Wireless and Mobile Systems, Montreal, Quebec, Canada, October 2005. [31] B. Li, R. Battiti, Analysis of the IEEE 802.11 DCF with service differentiation support in non-saturation conditions, Lecture Notes in Computer Science 3266 (2004). [32] Y. Lin, V.W.S. Wong, Saturation throughput of IEEE 802.11 e EDCA based on mean value analysis, in: Proceedings of IEEE Wireless Communications and Networking Conference, Las Vegas, NV, April 2006. [33] D. Malone, K. Duffy, D. Leith, Modeling the 802.11 distributed coordination function in nonsaturated heterogeneous conditions, IEEE/ACM Transactions on Networking 15 (1) (2007) (February). [34] Z. Tao, S. Panwar, Throughput and delay analysis of the IEEE 80211e enhanced distributed channel access, IEEE Transactions on Communications 54 (4) (2006) (April). [35] ZD. Chen, S. Garg, M. Kappes, K. Trivedi, Supporting VoIP traffic in IEEE 802.11 WLAN with enhanced medium access control (MAC) for quality of service, Tech. Rep. ALR-2002-025, Avaya Laboratories, Basking Ridge, NJ, 2002. [36] Y. Xiao, H. Li, S. Choi, Protection and guarantee for voice and video traffic in IEEE 802.11e Wireless LANs, in: Proceedings of IEEE INFOCOM 2004, Hong Kong, March 2004. [37] C.T. Chou, K.G. Shin, S. Shankar N, Contention-based airtime usage control in multirate IEEE 802.11 wireless LANs, IEEE/ACM Transactions on Networking 14 (6) (2006) (December). [38] D. Gao, J. Cai, K.N. Ngan, Admission control in IEEE 802.11e wireless LANs, IEEE Network 19 (4) (2005) (July–August). [39] Y.P. Fallah, H. Alnuweiri, A controlled-access scheduling mechanism for QoS provisioning in IEEE 802.11 e wireless LANs. in: Proceedings of ACM International Workshop on Quality of Service and Security in Wireless and Mobile Networks, Montreal, Quebec, Canada, October 2005. [40] C. Cetinkaya, F. Orsun, Cooperative medium access control for dense wireless networks, in: Proceedings of Med-HOC 2004, Bodrum, Turkey, June 2004. [41] Y. Kwon, Y. Fang, H. Latchman, A novel MAC protocol with fast collision resolution for wireless LANs, in: Proceedings of IEEE INFOCOM 2003, San Francisco, CA, April 2003. [42] VINT group, UCB/LBNL/VINT Network Simulator-ns (Version 2), . [43] F. Cali, M. Conti, E. Gregori, Dynamic tuning of the IEEE 802.11 protocol to achieve a theoretical throughput limit, IEEE/ACM Transactions on Networking 8 (6) (2000) 785–799 (December).

62

C. Cetinkaya / Ad Hoc Networks 8 (2010) 46–62

[44] G. Bianchi, I. Tinnirello, Kalman filter estimation of the number of competing terminals in an IEEE 802.11 network, in: Proceedings of IEEE INFOCOM 2003, San Francisco, CA, April 2003. [45] R. Jain, The Art of Computer Systems Performance Analysis, John Wiley & Sons, 1991. [46] N. Sahinidis, M. Tawarmalani, BARON Global Optimization Software. . [47] H.J. Ju, I. Rubin, Y.C. Kuan, An adaptive RTS/CTS control mechanism for IEEE 802.11 MAC protocol, in: Proceedings of Vehicular Technology 2003, Orlando, FL, 2003.

C. Cetinkaya received his B.S. degree from Anatolia University, Turkey in 1994, M.S. from the University of Southern California in 1998 and Ph.D. from Rice University in 2003. He worked as an assistant professor at Wichita State University from 2002 to 2009. He is currently the chief academic officer at Texas Gulf Foundation. His research interests are computer networks, wireless ad hoc and mesh networks, specifically Admission Control, Quality of Service, Medium Access Control (MAC) Protocols, Transport Protocols, and Scheduling Algorithms.