國
立
交
通
大
學
資
訊
工
程
學
系
博 士 論 文
無線區域網路通道之存取與 QoS 排程機制
Wireless Channel Access and QoS Scheduling Schemes for WLANs
研 究 生:葉 向 榮
指導教授:曾 煜 棋 教授
無線區域網路通道之存取與 QoS 排程機制
Wireless Channel Access and QoS Scheduling Schemes for WLANs
研 究 生:葉向榮 Student:Shiang-Rung Ye
指導教授:曾煜棋 Advisor:Yu-Chee Tseng
國 立 交 通 大 學
資 訊 工 程 學 系
博 士 論 文
A DissertationSubmitted to Department of Computer Science and Information Engineering College of Electrical Engineering and Computer Science
National Chiao-Tung University in Partial Fulfillment of the Requirements
for the Degree of Doctor of Philosophy
in
Computer Science and Information Engineering
Hsinchu, Taiwan, Republic of China October 2005
無線區域網路通道之存取與 QoS 排程機制
學生:葉向榮
指導教授:曾煜棋教授
國立交通大學資訊工程研究所
摘
要
於無線網路裏, 媒體存取控制為仲裁移動站之間使用無線通道的一
項機制。此機制最主要的目的是讓網路能夠提供最大的效能和高品質
服務。網路的効能會受到許多因素所影響。當移動站傳資料之前,會
先執行一個隨機延遲程序。一個計設良好的延遲程序可以有效地降低
資料碰撞的機率,進而提升網路的效能。我們提出了一個多錬結的延
遲方法。它能使網路達到更高的效能,並且讓無線通道被公平的使用。
此方法利用多個延遲錬結,每個延遲錬結分別適用在不同的網路擁擠
狀態。移動站可以藉由使用不同的延遲錬結,以降低碰撞的機率。在
多重跳躍網路裏,移動站隱藏問題也會對網路的效能造成影響。我們
在無線通道裏以傳送雜訊以佔據無線通道的方式來避免移動站隱藏問
題的發生。此方法把來源移動站和目地移動站的資料,分別放在不同
的無線通道裏傳送,並在這兩個無線通道裏,傳送雜訊以防止移動站
隱藏問題的發生。在多媒體網路裏,frame dropping rate 可以用來衡量
一個網路是否提供高品質服務。我們對 IEEE 802.11e 的 transmission
opportunity (TXOP) 機 制 , 做 了 一 些 改 善 。 增 加 了 一 個 deadline
constraint,限制移動站在 TXOP 裏,只能傳緊急的資料,以避免別的
移動站的緊急資料,無法在時限內傳出去。根據這個機制,我們提出
一個 deadline constraint scheduling algorithm。它能有効地降低 frame
dropping rate 並且增加網路的效能。我們對以上所提的方法,都有評量
其效能,並且和文獻上的方法做比較。並做了一些數學上的分析,和
討論如何選取參數,使網路達到最大效能。
關鍵字
─ 802.11, 802.11e, 移動站隱藏問題, 媒體存取控制, 高
Wireless Channel Access and QoS Scheduling
Schemes for WLANs
Student:Shiang-Rung Ye
Advisor:Dr.Yu-Chee Tseng
Department of Computer Science and Information Engineering
National Chiao Tung University
ABSTRACT
In wireless networks, medium access control (MAC) plays a
significant role in coordinating mobile stations’ access to the wireless
channel. This coordination is desirable in order to achieve the goals of
maximizing channel throughput and supporting quality of service (QoS).
The throughput of a MAC protocol is influenced by several factors. In most
WLANs, a backoff procedure is executed before frame transmission begins.
This procedure helps to prevent frame collision and increase the throughput.
We propose a multi-chain backoff algorithm that employs multiple backoff
chains to provide a higher throughput while maintaining fair channel access.
In a multi-hop ad hoc network, the hidden terminal problem also has a
significant impact on the channel throughput. In this respect, we propose a
jamming-based MAC protocol which separates source stations’ traffic from
destination stations’ traffic into different channels to prevent the hidden
terminal problem. For multimedia applications, frame dropping rate is
another useful metric to measure how well a scheduling algorithm can
support real-time applications. We propose a deadline-constraint
scheduling algorithm for IEEE 802.11 WLANs. The scheduling algorithm
imposes a deadline constraint on each TXOP to make urgent frames to be
transmitted before their deadlines. The performance of the above access
scheme and scheduling algorithm are evaluated and compared to prior arts.
For some of them, we also analyze their performance and show how to
choose proper parameters to obtain optimal throughput.
Key words ─ 802.11, 802.11e, hidden terminal problem, medium
Acknowledgements
I would like to express my sincere gratitude to my advisor Prof.
Yu-Chee Tseng for his patient guidance over the past years. Without his
supervision, assistant, and perspicacious advices, I can not complete this
dissertation. Also thank my committee members: Prof. Rong-Hong Jan,
Prof. Li-Chun Wang, Prof. Jang-Ping Sheu, Prof. Wanjiun Liao, Prof.
I-Shyan Hwang, and Prof. Yuh-Shyan Chen. Their invaluable comments on
this dissertation make the dissertation a perfect work.
I also would like to give my thanks to colleague in Lab HSCC for their
helps and the beautiful memory we share during these years.
Finally I am very grateful to my parents and fiancee Ganhua for their
firm supports encouragement over the past years.
Notations
• α: the ratio of the bandwidth of R channel to that of S channel • ˆα: the optimal α that gives the maximum throughput
• χi: the probability that a station will detect a collision event on the wireless channel
during its backoff period in stage 0 of chain i
• ρi: the mean data rate of traffic stream i
• ρh
i: the peak data rate of traffic stream i
• ρl
i: the minimum data rate of traffic stream i
• τ : the probability that a station will transmit in a randomly chosen backoff slot
• τi: the HOLD of the i-th traffic stream in the sorted list.
• (i,j,k): a backoff state at stage j of chain i with backoff value k
• Ai(∆t): the maximum amount of data generated by traffic stream i during a time
interval ∆t,
• Bi: the maximum burst size of traffic stream i
• bi,j,k: the stationary probability that a station is in state (i, j, k)
• C: the set of all traffic streams in the network
• Ci: the set of traffic streams of station i
• c: the number of backoff chains
• Di: the delay bound of traffic stream i
• HOLDi: the deadline of the head-of-line frame of traffic stream i
• Li: the nominal frame size of traffic stream i
• mi: the maximum backoff stage of backoff chain i
• Pi,j,k|i0,j0,k0: the probability that a station transits from state (i 0
, j0, k0) to (i, j, k)
• p: the collision probability of each transmission
• Qi: the current bucket size of station i
• Ri: the minimum PHY transmission rate of traffic stream i
• TB: the beacon interval
• Tcp: the total time reserved for contention periods in a beacon interval.
• T XOPi: the transmission opportunity for traffic stream i or station i
• tnb: the next beacon transmission time
• ui: the probability of changing from chain i to chain i + 1, given fcol= 1
• vi: the probability of changing from chain i to chain i − 1, given fcol= 0
• ri: the token rate of station i
• wi: the minimum contention window of backoff chain i
Contents
1 Introduction 1 1.1 Performance Issue . . . 1 1.2 Quality-of-Service Issue . . . 3 2 Related Work 5 2.1 Random Backoff . . . 52.2 The Hidden Terminal Problem . . . 6
2.3 QoS Scheduling for IEEE 802.11e WLANs . . . 12
3 A Multi-Chain Backoff Algorithm 16 3.1 The Proposed Backoff Algorithm . . . 16
3.2 Performance Analysis . . . 18
3.2.1 Saturation Throughput . . . 19
3.2.2 Optimal Values of u and v . . . 23
3.3 Performance Evaluation . . . 23
3.3.1 Saturation Throughput . . . 25
3.3.2 The Number of Backoff Chains . . . 25
3.3.3 Comparison to Existing Algorithms . . . 27
3.4 Concluding Remarks . . . 33 4 A Jamming-Based MAC Protocol to Improve the Performance
4.1 The Proposed Protocol . . . 37
4.2 Tuning the Factor α . . . 40
4.3 Performance Evaluation . . . 42
4.4 Concluding Remarks . . . 46
5 A Deadline-Cconstraint Scheduling Algorithm for IEEE 802.11e WLANS 50 5.1 The Proposed Deadline-Constraint Scheduling Algorithm . . . . 50
5.1.1 Length Constraint . . . 51 5.1.2 Deadline Constraint . . . 52 5.1.3 Updating HOLDs . . . 53 5.1.4 Allocation of TXOPs . . . 53 5.1.5 Admission Control . . . 54 5.2 Simulation Results . . . 54 5.2.1 Scenario 1 . . . 55 5.2.2 Scenario 2 . . . 56 5.2.3 Scenario 3 . . . 58 5.3 Concluding Remarks . . . 61
6 Conclusions and Future Work 62 6.1 Conclusions . . . 62
List of Tables
3.1 Simulation parameters. . . 24
4.1 MAC Layer parameters. . . 45
4.2 Physical layer parameters. . . 45
4.3 Parameters of the simulated wireless network. . . 45
5.1 MAC parameters used in our simulation . . . 55
5.2 The traffic parameters for VoIP and MPEG TSs in scenario 1. . 56
5.3 The TSPECs of MPEG TSs in scenario two. . . 59
5.4 Throughput, dropping rate, and access delay in scenario two. . . 59
5.5 TSPECs of TS1 and TS2 in scenario three. . . 60 5.6 Throughput, dropping rate, and access delay for different traffic
sources in scenario three when the delay bound of TS2 is 30 ms. 60 5.7 Throughput, dropping rate, and access delay for different traffic
List of Figures
1.1 The hidden terminal problem. . . 3 2.1 Erroneous reservations caused by: (a) busy destination, (b)
frame collision, (c) transmission error, and (d) the problem itself. 10 2.2 (a) TXOP without deadline constraint mechanism, and (b) TXOP
with deadline constraints mechanism. The number in each block is the deadline of the frame. . . 15 3.1 The transition diagram of MCB. The (i, j) denotes j-th backoff
stage of chain i. Symbols s and f denote success and failure transmission events, respectively. . . 17 3.2 The Markov chain model of MCB. . . 19 3.3 The ratio of optimal u to v under different n and c. . . 24 3.4 Saturation throughput under different u and v with the frame
size of 1024 bytes. . . 26 3.5 Saturation throughput under different u and v with the frame
size of 128 bytes. . . 26 3.6 Saturation throughput versus frame sizes. . . 27 3.7 Throughput of MCB with u and v which are chosen for n = 6
and n = 46. . . 28 3.8 Fairness Index. . . 28
3.9 Saturation throughput of four-chain MCB : analysis versus
sim-ulation. . . 29
3.10 Saturation throughput of MCB and GDCF for frame size 128 bytes. . . 30
3.11 Saturation throughput of MCB and GDCF for frame size 1024 bytes. . . 31
3.12 Fairness index of MCB and GDCF for frame size 1024 bytes. . . 31
3.13 Saturation throughput of MCB, IEEE 802.11, and MILD. . . 32
3.14 Saturation throughput of MCB and EIED(x,y) with fixed y = 2. 33 3.15 Throughput of MCB and EIED(x,y) with fixed x = 2. . . 34
3.16 Fairness index of MCB and EIED(x,y) with fixed x = 2. . . 34
4.1 The procedures of transmission and receipt of control/data frames in JMAC. . . 38
4.2 The timing diagram of transmission of control/data frames. . . . 38
4.3 Frame exchange and transmission of jamming signal in JMAC. . 41
4.4 Concurrent transmissions in JMAC. . . 41
4.5 Data frame size vs. the optimum alpha ˆα. . . 43
4.6 Frame exchange time in IEEE 802.11 and in JMAC for different data frame sizes and different α. . . 43
4.7 Aggregate throughput versus frame arrival rate. . . 45
4.8 Mean throughput versus frame arrival rate. . . 47
4.9 Aggregate throughput versus network density. . . 47
4.10 Mean throughput versus network density. . . 47
4.11 Aggregate throughput versus frame size. . . 48
4.12 Mean throughput versus frame size. . . 48
4.13 Mean access delay versus frame arrival rate. . . 48
5.1 Throughputs comparison under different numbers of stations in scenario one. . . 57
5.2 Frame dropping rate under different numbers of stations in sce-nario one. . . 57 5.3 Comparison of access delay under different numbers of stations
Chapter 1
Introduction
With the maturity of wireless communications technologies, more and more wireless local area networks (WLANs) have been deployed in schools, airports, railway stations, megastores, cafes, etc.. The research on WLANs can be clas-sified into two directions. One explores the modulation and encoding schemes of wireless communications systems with the goals of providing higher data rates and lower bit error rates. The other research direction concerns MAC sublayer. The MAC sublayer further divides into two research areas: the net-work management and channel access. The netnet-work management includes authentication, association, security, etc.. Channel access studies channel allo-cations such as random access and centralized scheduling. In this dissertation, we focus on two issues of the channel access: the performance issue and QoS issue.
1.1
Performance Issue
The performance of a MAC protocol is influenced by several factors. In most WLANs, before transmission, a random backoff procedure is executed in order to prevent frame collision. In 1970s Norman Abramson and his colleagues first proposed an elegant MAC protocol, called ALOHA [1]. In ALOHA, stations
are allowed to transmit immediately upon receiving data from upper layers. A variant of ALOHA divides time into contiguous time slots and allows transmis-sion at beginning of a time slot. This reduces the vulnerable time of the pure ALOHA. It has been shown that with Poisson arrival process, the maximum throughputs for pure ALOHA and slotted ALOHA are only 0.184 and 0.368, respectively [2].
The inefficacy of ALOHA protocols results from its high collision probability in heavy traffic load. To decrease the collision probability, carrier sense multi-ple access (CSMA) scheme [2] requires stations to sense carriers on the wireless channel before transmitting data. In this scheme, if the medium is busy, sta-tions have to defer their transmission until the medium becomes idle. This prevents stations’s frames from colliding with ongoing transmission frames of other stations. When a station detects the medium is busy, it can persistently wait for the medium to become idle, and then transmit with a probability of one or p, 0 < p < 1. The former is called 1-persistent CSMA and the latter is
p-persistent CSMA. Alternatively, a station can stop monitoring the wireless
medium. After a random time period, it listens to the medium again to check whether the medium has become idle. This is called nonpersistent CSMA.
The p-persistent CSMA requires a station to wait for a random period of time before transmitting their data after the medium becomes idle. This is called a backoff before transmission. In p-persistent CSMA, a geometry backoff is used to prevent frame collision. Much effort has been devoted to designing adaptive backoff algorithms. The goal is to offer a higher throughput and maintain fair channel access at the same time. On this issue, we propose a multi-chain backoff algorithm that uses multiple backoff chains for stations to adapt to different congestion levels.
When ALOHA or CSMA protocols are applied in multihop ad hoc net-works, they will suffer from the well-known hidden-terminal problem. An ad
hoc network is a spontaneous network that consists solely of mobile stations
without base stations. It can be applied in many contexts such as military communication, disaster rescue, and outdoor/indoor activities due to its fast deployment and flexibility in reconfiguration. In a multihop ad hoc network, a source station may be n-hop away from its destination station. It relies on intermediate stations to forward its messages. The hidden-terminal problem occurs when the neighbors of the destination station transmit while the des-tination station is receiving data. Fig. 1.1 shows an example. Station B is in the transmission range of station A and C, but station C is out of the trans-mission range of station A. During the transtrans-mission from station A to station B, if station C transmits to D, the frames from station A to station B will be corrupted at station B. In the literature, the hidden terminal problem can
A x B C D
DATA RTS
Hidden Terminal
Figure 1.1: The hidden terminal problem.
be solved by the well-known busy tone solution. We propose a jamming-based
MAC (JMAC) protocol which doesn’t require extra bandwidth for busy tones
but still can solve the hidden terminal problem.
1.2
Quality-of-Service Issue
With the increasing popularity of multimedia applications, the demand for quality-of-service (QoS) is expected to grow. The IEEE 802.11e [3] is
de-signed to support QoS in WLANs. It defines two channel access schemes:
enhanced distributed channel access (EDCA) and HCF controlled channel ac-cess (HCCA) [3–5]. The EDCA is a contention-based channel acac-cess, providing
prioritized QoS, and the HCCA is a contention-free channel access that sup-ports parameterized QoS. In HCCA, a station can specify its traffic parameters, called traffic specification (TSPEC), and submit it to the hybrid coordinator (HC). The HC may admit or reject the TSPEC, depending on the current available bandwidth. For those admitted TSPECs, HC computes a schedule and allocates TXOPs to the TSs by polling the corresponding stations.
Scheduling of TSs’ transmissions is one of core components of HCCA. We propose a deadline-constraint scheduling algorithm which can decrease the frame dropping rate and increase the network throughput. The rest of this dissertation is organized as follows. In Chapter 2 we review prior work on random backoff, the hidden terminal problem, and QoS scheduling. For these issue, we propose our solutions in Chapter 3, Chapter 4, and Chapter 5, respec-tively. Chapter 6 concludes this dissertation and gives some future research directions.
Chapter 2
Related Work
2.1
Random Backoff
In the literature, there has been many studies of backoff algorithms [6–16]. In [6], to prevent the contention window of binary exponential backoff (BEB) from oscillation, the multiplicative increase, linear decrease (MILD) algorithm increases the contention window by 1.5 times when collision occurs, and de-creases the contention window by one when transmission succeeds. To ensure fair access to the wireless medium, a station is required to attach its con-tention window in each transmitted frame. Whenever other station overhears this frame, it has to adopt the window size. However, since a station with a smaller contention window has a better chance to win the channel, this may force other stations with a large window size to adopt this small window size. When the network is in high traffic load, this may increase collision probabil-ity. In [7, 9], it is suggested to choose a contention window according to the estimated number of competing stations. While this may significantly improve performance, it relies on the accurate estimation of the number of competing stations.
increases the contention window by a multiple when collision occurs and ex-ponentially decreases the window size when transmission succeeds. With a relatively small decrement of the window size, compared to the increment, the EIED can outperform 802.11 DCF. However, our simulation results show that with such a relatively small decrement, the EIED may suffer from unfair channel access when the number of contending stations is small. The linear
in-crease, linear decrease (LILD) algorithm always adjusts the contention window
by a constant [18, 19]. This is not suitable for the network with a large popu-lation. The GDCF backoff algorithm [20] doubles the contention window after each unsuccessful transmission and halves the window size after c consecutive successful transmissions. Although GDCF greatly improves the performance of 802.11 DCF, it may cause unfair medium access for some values of c. The works [8,10] show that the performance of DCF is highly related to the number of contending stations and the minimum contention window (CW min). The
CW min has to change with the number of contending stations. Motivated
by this observation, we propose a multi-chain backoff algorithm that employs multiple backoff chains, each of which is used in a different congestion level; thereby, stations can adapt to different congestion levels by switching among the chains.
2.2
The Hidden Terminal Problem
The BTMA [21] first proposes a busy tone solution to avoid the hidden-terminal problem in an infrastructure network. In the BTMA, the whole bandwidth is divided into a data channel and a busy-tone channel. When a base station detects carrier on the data channel, it transmits busy-tone sig-nal (a sine wave) to indicate the busy state of the data channel. Other mobile station that detects the busy-tone signal will defer its transmission until the end of the busy tone.
In the receiver-initiated busy-tone multiple protocol [22], a receiver will transmit a busy tone after it receives a request frame from a sender. This busy tone not only serves as a response to the request but also prevents other stations from accessing the channel; other attempting source that detects the busy tone will postpone its transmission. However, in a multihop ad hoc network, a sender may overhear other stations’ busy tone and cannot tell whether its receiver or other station turns on the busy tone.
Based on the RTS-CTS-DATA dialogue, DBTMA protocol [23] [24] uses two busy tones to convey channel states. It divides the communication bandwidth into a control channel, a data channel, and two busy tones (BTt and BTr).
RTS and CTS frames are exchanged on the control channel. If the RTS-CTS exchange succeeds, the source station will transmit its data on the data channel and turn on the BTt. Similarly, while the destination is receiving data, it turns
on the BTr. The neighbors of the source station and destination station can
tell whether they are hidden terminal or expose terminal by sensing the two busy tones. However, DBTMA require extra bandwidth for the two busy tones and an extra transmitter hardware. Moreover, the busy tone detection time is not negligible and must be taken into consideration [21].
Another solution to the hidden terminal problem is the RTS-CTS reserva-tion scheme. The MACA protocol [25] first introduces the RTS-CTS exchange to prevent the hidden-terminal problem. In this scheme, a source station transmits a RTS frame to the destination station before transmitting its data frame. If the intended destination correctly receives the RTS frame, it sends a CTS frame to the source station. Other stations that overhear the RTS or CTS frame will reschedule their transmissions to a later time. In contrast to MACA, the MACA-BI [26] which is a receiver-oriented protocol tries to improve the channel utilization by removing the RTS part of RTS/CTS hand-shake. A destination station sends a RTR (ready-to-receive) frame to invite
a source station to transmit data. The RTR frames are transmitted at a rate that matches the source station’s incoming traffic rate. However, this method is not suitable for networks with bursty traffic.
The MACAW [25] protocol suggests a new frame exchange sequence, RTS-CTS-DS-DATA-ACK. A DS (Data-Sending) frame is transmitted by a source station to confirm the use of the medium after it receives a CTS frame. How-ever, since a DS frame may collide with frames of other stations, neighboring stations may not correctly receive the DS frame. The ACK frame is trans-mitted after a receiver correctly receives a data frame. This acknowledgement improves the reliability of a wireless link, and avoids the long recovery cost at the upper layer (e.g., TCP).
The IEEE 802.11 standard adopts the RTS-CTS-DATA-ACK. As in MACAW, RTS and CTS frames may be lost due to collision or channel error. So the hidden-terminal problem remains unavoidable (but will be reduced).Besides, the use of RTS/CTS in 802.11 also causes an erroneous reservation problem, which may occur when RTS/CTS exchange fails but the channel is reserved by the RTS/CTS frames. This inhibits neighboring stations from accessing the medium even though the medium is idle. Such “holding-while-waiting” scenario may waste much bandwidth when the traffic load is high. The er-roneous reservation may occur under the following conditions: busy destina-tion, frame collision, transmission error, and the problem itself. For exam-ple, in Fig. 2.1(a), assume that stations A and B have successfully completed RTS/CTS exchange and started their transmission. In the meanwhile, if sta-tion D transmits a RTS to C, the circle centered at D will be incorrectly reserved. Similarly, if E sends a RTS to F , the circle centered at E will be incorrectly reserved too.
Frame collision may also cause erroneous reservations. Fig. 2.1(b) shows that if the CTS Timeout interval is smaller than the length of a CTS frame,
the erroneous reservation may occur. In the example, A and C transmit RTS frames at the same time. The RTS frame from A is collided with that from C, but the RTS frame from C is successfully transmitted to D. While D responds with a CTS frame to C, if A retries to send a RTS frame, the CTS frame is collided at C and the circle centered at D is erroneously reserved.
Fig. 2.1(c) demonstrates that transmission errors can also cause erroneous reservations. In the figure, B successfully receives the RTS from A, but A fails to receives the CTS from B due to transmission error. Then the circles centered at both A and B will be incorrectly reserved. It is also possible that after a station incorrectly reserves the channel, this incorrect reservation causes another reservation. In Fig. 2.1(d), after A incorrectly reserves the channel, D also incorrectly reserves the channel.
Besides, the use of RTS/CTS in 802.11 also causes an erroneous reserva-tion problem, which may occur when RTS/CTS exchange fails but the channel is reserved by the RTS/CTS frames. This inhibits neighboring stations from accessing the medium even though the medium is idle. Such “holding-while-waiting” scenario may waste much bandwidth when the traffic load is high. The erroneous reservation may occur under the following conditions: busy destination, frame collision, transmission error, and the problem itself. For example, in Fig. 2.1(a), assume that stations A and B have successfully com-pleted RTS/CTS exchange and started their transmission. In the meanwhile, if station D transmits a RTS to C, the circle centered at D will be incorrectly reserved. Similarly, if E sends a RTS to F , the circle centered at E will be incorrectly reserved too.
Frame collision may also cause erroneous reservations. Fig. 2.1(b) shows that if the CTS Timeout interval is smaller than the length of a CTS frame, the erroneous reservation may occur. In the example, A and C transmit RTS frames at the same time. The RTS frame from A is collided with that from C,
(a) (b) XRTS A B C D DATA XRTS E F A B C D RTS A B A XCTS B Transmission Error (c) => Busy desitnation Busy desitnation RTS A B B A RTS Busy Destination (d) => C D => X RTS RTS Collision A B C CTSX D retry RTS Collision
Figure 2.1: Erroneous reservations caused by: (a) busy destination, (b) frame collision, (c) transmission error, and (d) the problem itself.
but the RTS frame from C is successfully transmitted to D. While D responds with a CTS frame to C, if A retries to send a RTS frame, the CTS frame is collided at C and the circle centered at D is erroneously reserved.
Fig. 2.1(c) demonstrates that transmission errors can also cause erroneous reservations. In the figure, B successfully receives the RTS from A, but A fails to receives the CTS from B due to transmission error. Then the circles centered at both A and B will be incorrectly reserved. It is also possible that after a station incorrectly reserves the channel, this incorrect reservation causes another reservation. In Fig. 2.1(d), after A incorrectly reserves the channel, D also incorrectly reserves the channel.
Frame collision may also cause erroneous reservations. Fig. 2.1(b) shows that if the CTS Timeout interval is smaller than the length of a CTS frame, the erroneous reservation may occur. In the example, A and C transmit RTS frames at the same time. The RTS frame from A is collided with that from C, but the RTS frame from C is successfully transmitted to D. While D responds with a CTS frame to C, if A retries to send a RTS frame, the CTS frame is collided at C and the circle centered at D is erroneously reserved.
Fig. 2.1(c) demonstrates that transmission errors can also cause erroneous reservations. In the figure, B successfully receives the RTS from A, but A fails to receives the CTS from B due to transmission error. Then the circles centered at both A and B will be incorrectly reserved. It is also possible that after a station incorrectly reserves the channel, this incorrect reservation causes another reservation. In Fig. 2.1(d), after A incorrectly reserves the channel, D also incorrectly reserves the channel.
In this dissertation, we propose a jamming-based MAC (JMAC) protocol that can satisfactorily solve the hidden terminal problem. The basic idea be-hind the JMAC is to separate source stations’ traffic from destination stations’ traffic into different channels, and explicitly signal the channel status by
jam-ming the channels. Although the division of the shared medium into two channels incurs some cost, as shown in simulation results, the advantages of being free from the and the hidden terminal problem and erroneous reservation problem, and the benefits of more concurrent transmissions will compensate the cost and provide higher channel utilization when data frame size is median or large.
2.3
QoS Scheduling for IEEE 802.11e WLANs
In IEEE 802.11e, channel access is based on the concept of TXOP. A TXOP is a time period during which a station has exclusive access to the wireless medium. During a TXOP, a station can transmit more than one frame before its TXOP expires. There are two types of TXOPs: EDCA TXOP and HCCA
TXOP. An EDCA TXOP is obtained via contention according to EDCA rules,
while a HCCA TXOP is assigned by HC. The lengths of a EDCA TXOP and consecutive HCCA TXOPs are limited by dot11EDCATableTXOPLimit and dot11CAPLimit, respectively.
In HCCA, HC can allocate a HCCA TXOP in a contention period (CP) or in a contention-free period (CFP) by transmitting a QoS(+)Poll frame to a station. The QoS(+)Poll represents a set of the following polling frames: QoS Poll, QoS Poll, QoS CF-Ack+CF-Poll, and QoS Data+CF-Ack+CF-Poll.
A station can request a HCCA TXOP in two different ways. It may send a data frame with a QoS control field to specify its desired TXOP length or its queue size. In the other way, it can request a traffic stream (TS) by sending a request frame with a TSPEC. A TSPEC is used to specify traffic parameters of a TS. The parameters include mean data rate, peak data rate, minimum data rate, nominal MSDU size, maximum MSDU size, minimum service interval, and maximum service interval. The last two items specify the minimum and
the maximum time intervals, respectively, between two successive TXOPs of a TS. For burst traffic, it can specify its maximum burst size, which is defined to be the maximum amount of data arriving at the MAC Service Access Point
(MAC SAP) at peak data rate. For real-time traffic, it can specify a delay
bound, which is the time between the arrival of a MSDU at the MAC sublayer and the end of the successful reception of an ACK frame. A minimum PHY rate also has to be specified. For each TS, it has an access policy. The access policy can be HCCA, EDCA, or the hybrid of HCCA and EDCA. With the hybrid access policy, a TS can be polled as well as being transmitted in contention periods.
IEEE 802.11e/D13 [3] provides a simple scheduling algorithm for allocating HCCA TXOPs. This scheduler defines a common service interval (SI) for all TSs. The length of the SI is set to the minimum one of maximum service intervals of all TSs in the network. During a SI, each TS i is allocated a HCCA TXOP with a length
T XOPi = max µ» SI · ρi Li ¼ · µ Li Ri + O ¶ ,Mi Ri + O ¶ , (2.1) where ρi is the mean data rate, Li is the nominal MDSU size, Ri is the
min-imum PHY rate, Mi is the maximum MDSU size of TS i, and O is a fixed
communication overhead. The admission control can be done as follows. When a station requests a TS k, we first compute its T XOPk according to Eq. (2.1).
Then, the request is admitted if
T XOPk SI + X j∈C T XOPj SI ≤ TB− Tcp TB , (2.2)
where C is the set of TSs which have already been admitted to the network,
TB is the beacon interval, and Tcp is the time reserved for contention periods
in a beacon interval.
The SETTEDD (Scheduling Based on Estimated Transmission Times -Earliest Due Date) algorithm [27] computes an aggregate schedule to poll
sta-tions. For each station v, it computes a minimum service interval, mSI, and a maximum service interval, MSI, as follows:
mSIv = mini∈Cv(Li/ρi)
MSIv = mini∈Cv(β · (Di− MT D))
where Cv is the set of TSs of station v, Di is the delay bound of TS i, MT D
is the maximum length of a HCCA TXOP, and 0 < β ≤ 1. Let tv be the last
time when station v was polled. Then station v must be polled again during (tv+ mSIv, tv + MSIv). Since there may be more than one station satisfying
the condition, HC will choose the station i with the smallest ti+ MSIi to poll.
The length of the TXOP that can be allocated to station i is derived from a token bucket. The token bucket has a depth of MTD and a token rate of P
j∈CiT XOPj/mSIi, where T XOPj is calculated by Eq. (2.1) with mSIi as
the service interval. This token bucket is maintained by HC.
The drawback of SETT-EDD algorithm is that once a TXOP is allocated to a station, the station can transmit urgent as well as not urgent frames as long as the TXOP does not expire. This may cause that other stations drop their urgent frames. Fig. 2.2(a) shows an example. In this example, the transmission of the third frame of station i causes four frames of station j being dropped, which further causes two frames of station k being dropped. To relieve this problem, we propose imposing a deadline constraint, in addition to the length constraint, on each TXOP to restrict frames to be transmitted in a TXOP. Fig. 2.2(b) demonstrates the same scenario, but transmissions in a TXOP are restricted by a given deadline. Due to the deadline constraint, there is no frame drop in the example.
1
TXOPi TXOPj TXOPk
2 20 3 4 5 6 16 17 7 8 10 18 19 1 e: me line: 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 10 16 17 18 19 1 e: ame dline: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 DC = 3 DC = 7 DC = 16 DC = 18 DC = 20
TXOPi TXOPj TXOPk TXOPj TXOPk TXOPi
DC = adline
straint:
(a)
(b)
Figure 2.2: (a) TXOP without deadline constraint mechanism, and (b) TXOP with deadline constraints mechanism. The number in each block is the deadline of the frame.
Chapter 3
A Multi-Chain Backoff
Algorithm
3.1
The Proposed Backoff Algorithm
In MCB, each station maintains a transition diagram, as demonstrated in Fig. 3.1, to determine its contention window. The diagram consists of c backoff chains, numbered from 0 to c−1, each of which represents a sequence of backoff stages and is defined by the following parameters:
• wi : the minimum contention window of chain i.
• mi : the maximum backoff stage of chain i.
• ui : the transition probability from chain i to chain i + 1. In case of
i = c − 1, uc−1 = 0.
• vi : the transition probability from chain i to chain i − 1. In case of i = 0,
v0 = 0.
For each backoff chain i, we define w0 = CW min, and wc−1 = CW max. For
i = 1 · · · c − 2, wi could be wi = CW min + i · ¹ CW max − CW min c − 1 º .
0,0 0,1 1,0 c-2,0 0,m0 c-2,1 Chain : 0 1 0,m 0-1 1,m1 c-2 1,m 1-1 c-1,0
.
.
.
.
.
.
.
.
.
.
.
.
c-1 . . . . . . f f f f f f f f f s s s s s s s s s s s s s s s s s s s s s s s s s f f fFigure 3.1: The transition diagram of MCB. The (i, j) denotes j-th backoff stage of chain
i. Symbols s and f denote success and failure transmission events, respectively.
Alternatively, we may increase wi in an exponential manner as follows,
wi = (CW min + 1) · ¹ CW max + 1 CW min + 1 º i c−1 − 1 .
Within a backoff chain, the contention window is doubled for the next backoff stage but is limited to CW max.
Parameters uiand vi are probabilities for a station to switch from its current
chain to the next chain and the previous chain, respectively. The simplest assignment is to let all ui be the same, and all vi be the same. In this case, the
optimal values for ui and vi are related to the number of competing stations,
the length of a backoff slot, and the average size of data frames. This will be addressed in Section 3.2.2.
With the above defined parameters, the MCB algorithm works as follows. Initially, each station is in stage 0 of chain 0. Before transmitting data, a station randomly chooses a backoff value from the current contention window.
If the medium is idle for a DIFS period, the station starts to perform backoff. For each idle slot being detected, its backoff counter is decreased by one. If the medium is busy during a backoff slot, the backoff counter is frozen and the station has to wait until the medium becomes idle. Once its backoff counter reaches zero, the station can start to transmit a frame. During the backoff period, the station shall also detect any collision event caused by other stations. A collision flag fcol will be set to 1 if a station itself experiences a collision
or it detects that the medium has been busy for a duration longer than the transmission time of the smallest frame, but this doesn’t result in a receipt of a correct frame. Assume that a station is transmitting in stage j of chain i. In case that the transmission fails, it will move to stage j + 1 of chain i if j < mi,
or stay in the same stage if j = mi. In case that the transmission succeeds, if
fcol is set, it will move to stage 0 of chain i + 1 with probability ui, but move to
stage 0 of chain i with probability 1−ui. In case that the transmission succeeds
and the fcol is not set, it will move to stage 0 of chain i − 1 with probability
vi, but stay in stage 0 of chain i with probability 1 − vi. After each successful
transmission, the fcol is cleared to 0. Intuitively, when a station encounters or
detects a collision event, it moves to a chain with a larger minimum contention window with probability ui, and if no collision is encountered and detected, it
moves to a chain with a smaller minimum contention window with probability
vi.
3.2
Performance Analysis
In this section, we analyze the saturation throughput of MCB, which is de-fined to be the maximum achievable throughput, obtained by continuously increasing the traffic load to a limit. To operate the network in a saturation condition, all transmit queues of stations are assumed to be nonempty all the time. It is also assumed that, under such a condition, the collision probability
. . . 1 ... 0,0,w0,0-1 0,0,1 1 / w0,0 1 0,0,0 0,i,0 p / w0,m0 p / w0,m0 0,i+1,0 0,m0,0 p / w0,i+1 1 ... 0,i, w0,i-1 0,i,1 1 1 ... 0,i+1, w0,i+1-1 0,i+1,1 1 1 ... 0,m0, w0,m0-1 0,m0,1 1 . . . . . . . . . . . . 1 ... 1,0,w1,0-1 1,0,1 1 / w1,0 1 1,0,0 1,i,0 p / w1,m1 p / wi,mi 1,i+1,0 1,m1,0 p / w1,i+! 1 ... 1,i,w1,i-1 1,i,1 1 1 ... 1,i+1, w1,i+!-1 1,i+1,1 1 1 ... 1,m1, w1,m1-1 1,m1,1 1 . . . . . . . . . 1 ... c-1,0, wc-1,0-1 c-1,0,1 1 / wc-1,0 1 c-1,0,0 (1-p)uc-2 . . . . . . p / w0,1 p / w1,0 . . . (1-p)u0 (1-p)(1-u1) (1-p)(1-u0) . . .
.
(1-p)(1- x0u0).
.
(1-p)(1-x1)v1 (1-p)((1-x1)(1-v1)+x1(1-u1)) (1-p)x0u0 (1-p)u1 (1-p)x1u1.
.
(1-p)(1-xc-1)vc-1 1- (1-p)(1-xc-1)vc-1.
(1-p)xc-2uc-2Figure 3.2: The Markov chain model of MCB.
for each transmission attempt is a constant and independent value, p.
3.2.1 Saturation Throughput
Fig. 3.2 shows the Markov chain of MCB. Each state is represented by a triple (i, j, k), which means that the station is in stage j of chain i and has a backoff value k. Let τ be the probability that a station will transmit in a randomly chosen backoff slot, and let χi be the probability that a station will detect a
collision event on the wireless channel during its backoff period in stage 0 of chain i. For a given backoff slot, the probability that a station will not detect any collision event is ((1 − τ )n−1+ τ (n − 1)(1 − τ )n−2), where n is the total
probability of (1/(wi+ 1)), we have χi = wi X k=0 1 − ((1 − τ )n−1+ (n − 1)τ (1 − τ )n−2)k wi+ 1 = 1 − 1 − ((1 − τ ) n−1+ (n − 1)τ (1 − τ )n−2)wi+1 (wi+ 1)(1 − (1 − τ )n−1− (n − 1)τ (1 − τ )n−2) . (3.1)
For a station, the transmission probability from stage j of chain i to stage 0 of chain i+1 with probability ui is (1−p)·χi·ui. Similarly, transition probability
from stage j of chain i transits to stage 0 of chain i−1 is (1−p)·(1−χi)·vi. Let
Pi,j,k|i0
,j0,k0 denote the probability that a station transits from state (i
0
, j0, k0) to (i, j, k). The nonnull one-step transition probabilities are summarized as follows: Pi,j,k−1|i,j,k = 1
Pi,0,k|i,j,0 = (1−p)(1−uWi,0 i) , 0 < j ≤ mi, i < c − 1
Pc−1,0,k|c−1,0,0 = 1−(1−p)(1−χWc−1,0c−1)vc−1 ,
Pi,0,k|i,0,0 = (1−p)(χi(1−uWi)+(1−χi,0 i)(1−vi)) , 0 < i < c − 1
P0,0,k|0,0,0 = (1−p)(1−χW0,00·u0)
Pi,j+1,k|i,j,0= Wi,j+1p , j < mi
Pi,mi,k|i,mi,0 =
p
Wi,mi , i < c − 1
Pi+1,0,k|i,j,0 = (1−p)uWi+1,0i , j > 0, i < c − 1
Pi+1,0,k|i,0,0= (1−p)χWi+1,0iui , i < c − 1
Pi−1,0,k|i,0,0= (1−p)(1−χWi−1,0i)vi , i > 0
(3.2)
where Wi,j = (wi+ 1) · 2j. Let bi,j,k be the stationary probability that a station
stays in state (i, j, k). Since bi,j,0= bi,j−1,0· p,
bi,j,0 = bi,0,0· pj, 0 < j < mi
bi,mi,0 = bi,0,0·
pmi
(1−p)
With Eq. (3.3), we can express each bi,j,k in terms of bi−1,0,0, bi,0,0, and bi+1,0,0.
For 0 < j < mi, and 0 ≤ k < Wi,j,
bi,j,k = Wi,j− k Wi,j · bi,j−1,0· p = Wi,j− k Wi,j · bi,0,0· pj, (3.4)
and for j = mi, and 0 ≤ k < Wi,mi,
bi,mi,k = Wi,mi − k Wi,mi (bi,mi,0· p + bi,mi−1,0· p) = Wi,mi − k Wi,mi · bi,0,0· pmi 1 − p. (3.5) In the case that j = 0, for 0 < i < c − 1, and 0 ≤ k < Wi,0,
bi,0,k = Wi,0− k
Wi,0
(bi,0,0((1 − ui)(p − pmi+1)
+ (1 − p)(1 − χi· ui− vi+ χi· vi))
+ bi−1,0,0· ui−1(χi−1− pχi−1+ p − pmi−1+1)
+ bi+1,0,0· (1 − p) · (1 − χi+1) · vi+1)). (3.6)
For j = 0, i = 0, b0,0,k, and 0 ≤ k < W0,0, b0,0,k = W0,0− k W0,0 (b0,0,0((1 − u0)(p − pm0+1) + (1 − p)(1 − χ0· u0)) + b1,0,0· (1 − p) · (1 − χ1) · v1), (3.7)
and for j = 0, i = c − 1, and 0 ≤ k < wc−1,0,
bc−1,0,k = Wc−1,0− k Wc−1,0 (bc−2,0,0 · uc−2(p − pmc−2+1 + (1 − p)χc−2) + bc−1,0,0 · (1 − (1 − p)(1 − χc−1)vc−1)). (3.8)
From Eq. (3.7), b1,0,0 can be written as
b1,0,0 = b0,0,0
(1 − p)(1 − χ1)v1
· (1 − (1 − u0)(p − pm0+1)
− (1 − p)(1 − χ0· u0)). (3.9)
From Eq. (3.6), when 1 < i < c − 1, bi,0,0 can be in a recurrence form
bi,0,0 =
bi−1,0,0
(1 − p)(1 − χi)vi
(1 − ((1 − ui−1)(p − pmi−1+1)
+ (1 − p)(1 − vi−1− χi−1· ui−1+ χi−1· vi−1)))
− ui−2(χi−2− pχi−2+ p − p
mi−2+1) (1 − p)(1 − χi)vi · bi−2,0,0, (3.10) and for i = c − 1, bc−1,0,0 = uc−2(p − pmc−2+1+ (1 − p)χc−2) (1 − p)(1 − χc−1)vc−1 bc−2,0,0. (3.11)
By Eq. (3.3) to Eq. (3.11), all stationary probabilities are expressed in terms
of b0,0,0, p, and τ . Since the sum of all probabilities must be 1,
c−1 X i=0 mi X j=0 WXi,j−1 k=0 bi,j,k = 1. (3.12)
Moreover, since a station only transmits when its backoff counter is 0, it follows that τ = c−1 X i=0 mi X j=0 bi,j,0. (3.13)
From Eq. (3.12) and Eq. (3.13), we have an equation with two unknown vari-ables, p and τ . The collision probability can be expressed in terms of τ ,
p = 1 − (1 − τ )n−1 . (3.14)
By solving Eq. (3.13) and Eq. (3.14), we can obtain p and τ . The saturation throughput, S, is given by
S = E[amount of data transmited in a time slot]
E[length of a time slot]
= PsPtrTdata
(1 − Ptr)ρ + PsPtrTs+ (1 − Ps)PtrTc
where Ptr = 1 − (1 − τ )n is the probability that a transmission occurs in
a randomly chosen slot, Ps = (nτ (1 − τ ))n−1/Ptr is the probability that a
transmission succeeds in a time slot, ρ is the length of a backoff slot, Ts is
the time required to complete a frame exchange sequence, and Tcis the length
of a colliding duration. Ts and Tc are (DIF S + DAT A + ACK + SIF S)
and (DIF S + DAT A), respectively, if direct transmission is used, and are (DIF S + RT S + CT S + DAT A + ACK + 3SIF S) and (DIF S + RT S), respectively, when RTS-CTS exchange is used.
3.2.2 Optimal Values of u and v In case that all u0
is are the same and all v0is are the same, optimal u and v can
be obtained from the optimal transmission probability τ which maximizes the saturation throughput. Eq. (3.15) can be rewritten as
S = Tdata Ts− Tc+ 1/f (τ ) , where f (τ ) = nτ (1 − τ ) n−1 Tc/ρ − (1 − τ )n(Tc/ρ − 1) .
The saturation throughput S is maximized when f (τ ) is maximized. Taking the derivative of f (τ ) and setting it to zero,
f0(τ ) = (1 − τ )n− Tc/ρ(nτ − (1 − (1 − τ )n)) = 0 ,
under the condition τ ¿ 1, we have τ ≈ 1/(n ·pTc/(2ρ)). With optimal τ we
have an equation that relates the optimal u and v from Eq. (3.13). Fig. 3.3 shows the ratios of u to v that give the optimal throughput under different n and c.
3.3
Performance Evaluation
This section presents our simulation results of the performance of MCB as opposed to MILD, DCF, GDCF, EIED, and LILD algorithms. The custom
0 2 4 6 8 10 12 14 16 18 20 22 0 5 10 15 20 25 30 Number of Stations u /v c=2 c=3 c=4 c=5 c=6
Figure 3.3: The ratio of optimal u to v under different n and c. Table 3.1: Simulation parameters.
Channel Rate 1 Mbps aSlotTime 20 us aSIFS 10 us aDIFS 50 us CWmin 31 CWmax 1023 DATA 1024 bytes ACK 120 bits
simulation programs are written in C++ that simulate networks with an ideal wireless channel (i.e., no hidden terminals). A fairness index (F I) [28] is used to examine the fairness property of a backoff algorithm,
F I = (
P
iSi)2
n ·Pi(Si)2
, (3.16)
where Si is the saturation throughput received by station i. F I is bounded
in the interval [1, 0]. An algorithm is fair as its F I is close to 1. Table 3.1 lists MAC and PHY parameters in our simulations. For ease of discussion, we assume the same u and the same v for all chains through out our simulations.
3.3.1 Saturation Throughput
Fig. 3.4 presents the saturation throughput under different u and v. The frame size is 1024 bytes. First, we vary u from 0 to 1 with fixed v = 0.5. The fig-ure shows that saturation throughput decreases as the number of competing stations n increases. Given a fixed n, the throughput increases as u increases. Next, we fix u = 1 and change the v from 0 to 1. When v is small, the sat-uration throughput drops first and then increases as n increases. This drop of throughput is due to bad ratios of u to v, which cause large backoff over-heads. However, as n increases, the overheads will decrease and the through will increase.
Fig. 3.5 shows the saturation throughput, under the frame size of 128 bytes. In Fig. 3.5, we first fix v = 0.5 but vary u. The throughput increases when
u increases from 0 to 0.1. Further increase of u will degrade the throughput.
Then, we vary v from 1 to 0 with fixed u = 0.1. The result indicates that a
vi around 0.3 could be a good choice. Fig. 3.6 shows the relations between
throughput and frame sizes. When the frame size increases, since less backoff overhead is incurred, the throughput also increases.
3.3.2 The Number of Backoff Chains
In Fig. 3.7, we show the throughput of MCB under different number of chains. The u and v are chosen to maximized the throughput for n = 6 and n = 46, respectively. In the case that the u and v are chosen for n = 6, the throughput of two-chain MCB drops more when the number of stations n increases. In the case that u and v are chosen for n = 46, the throughput of two-chain MCB decreases more when n is small. In Fig. 3.3, it has been shown that the curve of the ratio of u to v that gives the optimal throughput is flatter when more backoff chains are used. This may imply that when more backoff chains are used, the optimal ratio of u to v for a given n will be closer to optimal ratios
0.6 0.62 0.64 0.66 0.68 0.7 0.72 0.74 0.76 0.78 0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Number of Stations T h ro u g h p u t (M b p s ) u=1, v=0.5 u=0.1, v=0.5 u=0.03, v=0.5 u=0.01, v=0.5 u=0, v=0.5 u=1, v=1 u=1, v=0.3 u=1, v=0.1 u=1, v=0.03 u=1, v=0.01 u=1, v=0
Figure 3.4: Saturation throughput under different u and v with the frame size of 1024 bytes.
0.5 0.52 0.54 0.56 0.58 0.6 0.62 0.64 0.66 0.68 0.7 0.72 0.74 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 Number of Stations T h ro u g h p u t (M b p s ) u=0.5, v=0.5 u=0.1, v=0.5 u=0.05, v=0.5 u=0.01, v=0.5 u=0, v=0.5 u=0.1, v=0.7 u=0.1, v=0.3 u=0.1, v=0.1 u=0.1, v=0.03 u=0.1, v=0.01 u=0.1, v=0
0.64 0.69 0.74 0.79 0.84 0.89 0.94 0 128 256 384 512 640 768 896 1024 1152 1280 Number of Stations T h ro u g h p u t (M b p s ) n=10, u=0.6, v=0.3 n=30, u=0.6, v=0.3 n=50, u=0.6, v=0.3 n=10, u=0.1, v=1 n=30, u=0.1, v=1 n=50, u=0.1, v=1
Figure 3.6: Saturation throughput versus frame sizes.
for n + 1 or n − 1 than when less backoff chains are used. Fig. 3.8 shows the corresponding fairness indexes. The fairness index tends to oscillate when more backoff chains are used. Fig. 3.9 compares the analysis results to the simulation results of saturation throughput of four-chain MCB. The figures show that the analyzed throughput has the same trend as the simulation throughput and for some values of u and v, the analysis results match the simulation results.
3.3.3 Comparison to Existing Algorithms
In the following, we compare the performance of four-chain MCB to existing algorithms. The minimum contention windows of the four chains are 31, 127, 511 and 1023, respectively. The u and v are chosen from simulation results in Fig. 3.5 and Fig. 3.4. They are 0.1 and 0.3, respectively, for the frame size of 128 bytes, and are 1 and 0.3, respectively, for the frame size of 1024 bytes.
0.84 0.86 0.88 0.9 0.92 0.94 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 Number of Stations T h ro u g h p u t (M b p s ) c=2, for n=6 c=2, for n=46 c=4, for n=6 c=4, for n=46 c=6, for n=6 c=6, for n=46
Figure 3.7: Throughput of MCB with u and v which are chosen for n = 6 and n = 46.
0.9 0.92 0.94 0.96 0.98 1 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 Number of Stations F a ir n e s s In d e x c=2, for n=6 c=2, for n=46 c=4, for n=6 c=4, for n=46 c=6, for n=6 c=6, for n=46
0.79 0.81 0.83 0.85 0.87 0.89 0.91 0.93 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Number of Stations T h ro u g h p u t (M b p s )
analys is , u=0.5, v=1 s imulation, u=0.5, v=1 analys is , u=0.1, v=1 s imulation, u=0.1, v=1 analys is , u=0.05, v=1 s imulation, u=0.05, v=1 analys is , u=0.01, v=1 s imulation, u=0.01, v=1 analys is , u=0.5, v=0.5 s imulation, u=0.5, v=0.5
(a) 0.68 0.73 0.78 0.83 0.88 0.93 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Number of Stations T h ro u g h p u t (M b p s )
analys is , u=1, v=0.1 s imulation, u=1, v=0.1 analys is , u=1, v=0.05 s imulation, u=1, v=0.05 analys is , u=1, v=0.01 s imulation, u=1, v=0.01 analys is , u=1, v=0.00001 s imulation, u=1, v=0.00001
(b)
0.63 0.65 0.67 0.69 0.71 0.73 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 Number of Stations T h ro u g h p u t (M b p s ) MCB (c=4, u=0.1, v=0.8) GDCF c=1 GDCF c=2 GDCF c=3 GDCF c=4 GDCF c=5
Figure 3.10: Saturation throughput of MCB and GDCF for frame size 128 bytes.
Comparing with GDCF
In Fig. 3.10, we compare the throughput of MCB to that of GDCF, assuming the frame size is 128 bytes. For GDCF, we increase its parameter c from 1 to 5. With a smaller c, although GDCF achieves higher throughput for small n, the throughput drops dramatically as n increases. However, with a larger c, it is clear that MCB outperforms GDCF.
Fig. 3.11 compares MCB and GDCF when the frame size is 1024 bytes. With a larger c, GDCF performs as well as MCB. However, as shown in Fig. 3.12, GDCF suffers from unfair channel access when n is small. This is because that for n = 2, when window sizes of the two stations are different, a collision event will double the difference of their window sizes. Since a sta-tion with a small contensta-tion window has shorter backoff time, it may reach c successful transmissions and then halve its contention window faster than the other station.
0.87 0.89 0.91 0.93 0.95 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 Number of Stations T h ro u g h p u t (M b p s ) MCB (c=4, u=1, v=0.3) GDCF (c=4) GDCF (c=8) GDCF (c=12) GDCF (c=16) GDCF (c=20) GDCF (c=24)
Figure 3.11: Saturation throughput of MCB and GDCF for frame size 1024 bytes.
0.8 0.9 1 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 Number of Stations F a ir n e s s In d e x MCB (c=4, u=1, v=0.3) GDCF (c=4) GDCF (c=8) GDCF (c=12) GDCF (c=16) GDCF (c=20) GDCF (c=24)
0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 Number of Stations T h ro u g h p u t (M b p s ) MCB (c=4, u=1, v=0.3) IEEE 802.11 MILD
Figure 3.13: Saturation throughput of MCB, IEEE 802.11, and MILD.
Comparing with IEEE 802.11 and MILD
Fig. 3.13 shows the throughputs of MCB, IEEE 802.11, and MILD. The throughput of MILD is lower than those of MCB and IEEE 802.11. In MILD, a station can advertise its contention window only if no other station successfully transmits during its backoff period. However, there is a high probability that a station with a smaller contention window successfully transmits during this period. This will force other stations to adopt this small contention window. In high traffic load, this will increase collision probability. The IEEE 802.11 is outperformed by MCB since MCB offers more than one chain, allowing stations to adapt to different congestion levels.
Comparing with EIED
Fig. 3.14 compares the throughput of MCB to that of EIED. We use EIED(x,y) to denote that if a collision occurs, CWnew= min(x·(CWold+1)−1, CW max),
0.7 0.75 0.8 0.85 0.9 0.95 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 Number of Stations T h ro u g h p u t (M b p s ) MCB (c= 4, u=1, v=0.3) EIED (2,2) EIED (4,2) EIED (8,2) EIED (16,2) EIED (32,2)
Figure 3.14: Saturation throughput of MCB and EIED(x,y) with fixed y = 2.
and if a transmission succeeds, CWnew = max(b(CWold+ 1)/yc − 1, CWmin).
In Fig. 3.14, we fix y = 2 and increase x from 2 to 32. In Fig. 3.15, we fix
x = 2 and vary y from 1.01 to 2. For EIED(2, 1.01), Fig. 3.16 shows that
the wireless medium is unfairly utilized when n < 8. For EIED(2, 1.01) at
n = 2, when a collision occurs, the difference between the two window sizes is
doubled. Since the decrement of contention windows is slow (the decrement is 1 when CW < 100), the window sizes are hardly reduced to CWmin after a number of successful transmissions. Once a collision occurs, the difference is doubled.
3.4
Concluding Remarks
In this chapter, we have proposed a new MCB algorithm. MCB explores the possibility of using multiple backoff chains with different minimum contention windows and considering collision events on the wireless channel as hints to
0.7 0.75 0.8 0.85 0.9 0.95 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 Number of Stations T h ro u g h p u t (M b p s ) MCB (c= 4, u=1, v=0.3) EIED (2,2) EIED (2,1.5) EIED (2,1.1) EIED (2,1.05) EIED (2,1.01)
Figure 3.15: Throughput of MCB and EIED(x,y) with fixed x = 2.
0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 Number of Stations F a ir n e s s In d e x MCB (c=4, u=1, v=0.3) EIED (2,2) EIED (2,1.5) EIED (2,1.1) EIED (2,1.05) EIED (2,1.01)
choose a proper chain. With the capability of switching to different backoff chains, MCB offers higher throughput than the existing protocols, such as GDCF, IEEE 802.11, MILD, EIED, and LILD, yet still provides fair access to the wireless channel.
Chapter 4
A Jamming-Based MAC
Protocol to Improve the
Performance of Wireless
Multihop Ad Hoc Networks
In this chapter, we describe the proposed MAC protocol, called JMAC, that is designed based on the concept of traffic separation and jamming mecha-nism. In JMAC, the medium is divided into two channels: S channel and R channel. RTS and DATA frames (source stations’ traffic) are transmitted on the S channel, and CTS and ACK frames (destination stations’s traffic) are transmitted on the R channel. It is assumed that each station is equipped with one transmitter and one receiver device, one tuned to the S channel and the other tuned to the R channel. The ratio of bandwidth allocated to the R and S channels is assumed to be α : (1 − α), where 0 < α < 1. How to choose an appropriate α will be further discussed in Section 4.2.
4.1
The Proposed Protocol
In JMAC, a source station always transmits RTS/DATA frames on the S channel but receives CTS/ACK frames on the R channel. It also transmits jamming signal on the S channel while waiting or receiving a CTS/ACK frame on the R channel. For a destination station, while it is waiting or receiving a DATA frame on S channel, it jams the R channel to prevent the hidden terminal problem. Jamming signal is the one with sufficient energy causing the medium to become busy. No data is carried in jamming signal and there is no need to decode its content. The overlapping of a jamming signal and a data signal is considered as a jamming signal too, and thus can not be correctly recognized.
The procedures and the timing diagram of transmission and receipt of RTS, CTS, DATA, and ACK frames are shown in Figs. 4.1 and 4.2, respectively. Before transmitting a RTS frame on the S channel, a source station first senses the R channel. If it is idle for a DIFS period, the source station sends a RTS on the S channel, and then listens to the R channel for a CTS frame. If a station detects R channel to be busy before sending a RTS frame, this implies that some neighbors may be receiving data so the source station is not allowed to access the medium. While waiting for the CTS frame from an intended destination, the source station is required to jam the S channel. The purpose of jamming the S channel is similar to the reservation function of RTS in 802.11, but the difference is that the medium is jammed as long as needed, depending on the result of RTS-CTS exchange. If the RTS-CTS exchange fails (indicated by a CTS Timeout), the sender will stop jamming the S channel and will start the backoff procedure as in 802.11.
After the destination station receives the RTS from the S channel, it re-sponds with a CTS frame on the R channel, and then listens to the S channel for a DATA frame. While it is waiting for the DATA frame, it also jams
ProcedureReceiveData:
If(Receive RTS intended for us on S channel)
Transmit CTS on R channel ;
After transmission, jam R channel and wait DATA on S channel ;
If(Start receiving DATA on S channel before timeout) If(Data is completely and successfully received)
Transmit ACK on R channel ; Done ;
Else
Start backoff procedure ;
Else
Start backoff procedure ;
ProcedureTransmitData: If(R channel is idle for DIFS)
Transmit a RTS on S channel ;
After transmission, jam S channel and wait CTS on R channel;
If(CTS is received before timeout)
Transmit DATA on S channel ;
After transmission, jam S channel while waiting ACK on R channel;
If(ACK is received before timeout) then
Done ;
Else
Start backoff procedure;
Else
Start backoff procedure ;
Else
Start backoff procedre ;
Figure 4.1: The procedures of transmission and receipt of control/data frames in JMAC.
Sender RTS
CTS
DATA
Jam ACK
Receiver RTS Jam Jam
CTS ACK DATA S R S R DIFS SIFS SIFS SIFS : Jamming : Transmitting : Receiving
the R channel to prevent the hidden terminal problem. If the DATA frame unfortunately fails to appear after timeout, it will stop jamming the R channel. The rest of access procedure is similar. After receiving the CTS, the source transmits its DATA frame, and then jams the S channel while waiting for an ACK on the R channel. For the destination, after receiving the data frame, it transmits an ACK frame on the R channel. Note that although we adopt the RTS-CTS-DATA-ACK frame exchange sequence, stations may also apply the DATA-ACK sequence directly to transmit data frames.
In JMAC, the backoff procedure starts after the R channel becomes idle for a DIFS period, and it is independent of the status of the S channel. This is because the transmission of a RTS on the S channel doesn’t interfere with neighboring stations’ reception of CTS/ACK frames on the R channel. Fig. 4.3 illustrates the exchange of RTS, CTS, DATA, and ACK frames in JMAC. The double circles, in the example, represent the stations that are currently transmitting RTS, CTS, DATA, or ACK frames. Fig. 4.3 (a) and Fig. 4.3 (b) show that A is transmitting a RTS frame to B and then jamming the S channel, respectively. Since the RTS frame is transmitted by broadcasting, F also hears the RTS frame. After receiving the RTS frame, B responds with a CTS frame and then jams the R channel in Fig. 4.3(b) and Fig. 4.3(c) respectively. This will prevent the hidden terminal problem and erroneous reservation problem. Assume that if C misses the CTS frame from B due to collision or transmission error, C will not be a hidden terminal since it will detect the busy R channel and know that some of its neighbors are receiving data. Also, since B will stop jamming the R channel if it doesn’t receive a DATA frame after timeout, the erroneous reservation problem will not occur in JMAC. After A receives the CTS frame from B, it transmits a DATA frame and jams the S channel in Fig. 4.3(d). It can be easily observed that the jamming signal transmitted by
doesn’t successfully receive the RTS frame from A in Fig. 4.3(a), since A will transmit RTS/DATA frames and jamming signal on the S channel, any RTS frame to F will be collided at F . Therefore, F will not transmit any CTS or ACK frame when A is receiving CTS and ACK frames from B.
JMAC allows more concurrent transmission/receipt activities for stations within each other’s transmission range. Taking Fig. 4.3(b) as an example, while A is transmitting DATA to B, D and F are allowed to concurrently request transmission to C and E, respectively. After C and E receive RTS frames from D and F , they can safely reply with CTS frames without collision. This is shown in Fig. 4.4(a) and Fig. 4.4(b).
4.2
Tuning the Factor α
In this section, we discuss how to choose the ratio α that determines the bandwidth of the S channel and R channel. Let the system transmission rate be
r. After dividing the total bandwidth into two sub-channels, the transmission
rates for the S channel and R channel are assumed to be α × r and (1 − α) × r, respectively. The basic idea is to find a value of α such that the time of a RTS-CTS-DATA-ACK exchange, denoted by f (α), is minimized. The f (α) can be expressed as follows:
f (α) = RT S + DAT A
α × r +
CT S + ACK
(1 − α) × r (4.1) Differentiating f (α) with respect to α, we have
df (α)
dα =
α2× (CT S + ACK) − (1 − α)2× (RT S + DAT A)
α2× (1 − α)2× r (4.2)
Set Eq. (4.2) to zero, we have the optimal value ˆα,
ˆ
α = RT S + DAT A ±
p
(RT S + DAT A) × (CT S + ACK)