17
Opportunistic Retransmission in WLANs Mei-Hsuan Lu, Student Member, IEEE, Peter Steenkiste, Fellow, IEEE, and Tsuhan Chen, Fellow, IEEE Abstract—This paper presents an efficient opportunistic retransmission protocol (PRO, Protocol for Retransmitting Opportunistically) to improve the performance of IEEE 802.11 WLANs. PRO is a link-layer protocol that allows overhearing nodes to function as relays that retransmit on behalf of a source after they learn about a failed transmission. Relays with better connectivity to the destination have a higher chance of delivering the packet than the source, thereby resulting in a more efficient use of the channel. PRO has four main features. First, channel reciprocity coupled with a runtime calibration process is used to estimate the instantaneous link quality to the destination. Second, a local qualification process filters out poor relays early. Third, a distributed relay selection algorithm chooses the best set of eligible relays among all qualified relays and prioritizes them. Finally, 802.11e Enhanced Distributed Channel Access (EDCA) is leveraged to make sure high-quality relays transmit with higher probability. PRO is designed to coexist with legacy 802.11 stations. Our extensive evaluation on both a controlled testbed and in the real world shows that PRO can improve throughput in diverse wireless environments. PRO helps the most when there is significant contention for the ether, under fading, and with user mobility. Index Terms—Opportunistic retransmission, wireless LANs, relaying Ç 1 INTRODUCTION W IRELESS local area networks (WLANs) have become very popular, but the complex behavior of wireless signal propagation, particularly indoors, creates significant challenges. In this paper, we present an efficient opportu- nistic retransmission protocol (PRO, Protocol for Retrans- mitting Opportunistically) that improves network performance in dynamic infrastructure WLANs. The idea is to exploit overhearing nodes to retransmit (or relay) on behalf of the source after they learn about a failed transmission. Opportunistic retransmission leverages the fact that wireless networks inherently use broadcast transmission and that errors are mostly location dependent [4], [19]. Thus, if the intended recipient does not receive the packet, other nodes may have received the packet and thus become candidate retransmitters for that packet. With multiple wireless devices distributed in space, the chance that at least one available device can transmit the packet increases. Candidate relays participate if they have a higher chance of delivering the packet successfully than the source, thus results in an increased throughput. Opportunistic retransmission involves two key chal- lenges. First, it requires an effective measure of link quality to decide whether a node is suitable to serve as a relay. This metric must accurately reflect channel conditions in fast changing wireless environments. PRO leverages path loss information (i.e., Received Signal Strength Indicator (RSSI)) obtained via channel reciprocity to estimate instantaneous channel quality [16]. An online calibration scheme is used to deal with link asymmetry. RSSI values are reported by almost all wireless cards, making RSSI-based estimation a practical solution. The second challenge is to efficiently coordinate the retransmission process given that there may be many candidate relays. The protocol needs to ensure the best relay that overheard the transmission forwards the packet while avoiding simultaneous retransmission attempts that can lead to duplicates or collisions. This is especially hard when relays are hidden from each other. Prior work relies on per-transmission feedback from all the receivers to perform centralized relay selection [7], [19], [13]. While feedback simplifies relay selection, it also adds overhead by adding delay or using more spectrum. PRO reduces the coordination overhead by using distributed relay selection. Specifically, qualified relays periodically share information about the quality of the channel with respect to sources and destinations. Using this information, relays can then (locally) decide whether they should retransmit packets for a particular source-destination pair, and if so, what their priority is. If multiple eligible relays contend to relay, PRO leverages 802.11e EDCA [1] to prioritize retransmissions so relays with a higher RSSI with respect to the destination are more likely to retransmit. The contributions of this paper are as follows: first, we designed a link-layer opportunistic retransmission protocol, PRO, that is simple, lightweight, and allows partial deployment (i.e., PRO enabled and legacy nodes can coexist). Second, we performed a statistical analysis that quantifies the performance of PRO in cases when relays can hear each other and when relays are hidden from themselves. The analytical results are used to guide the selection of protocol parameters. Third, we implemented PRO in the Madwifi driver for wireless NICs using the IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 12, DECEMBER 2012 1953 . M.-H. Lu is with Microsoft Corporation, 15851 Northup Way, Bellevue, WA 98008. E-mail: [email protected]. . P. Steenkiste is with the School of Computer Science, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213. E-mail: [email protected]. . T. Chen is with the School of Electrical and Computer Engineering, Cornell University, Phillips Hall, Room 224, Ithaca, NY 14853. E-mail: [email protected]. Manuscript received 14 Feb. 2010; revised 7 Sept. 2011; accepted 23 Sept. 2011; published online 20 Oct. 2011. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number TMC-2010-02-0072. Digital Object Identifier no. 10.1109/TMC.2011.227. 1536-1233/12/$31.00 ß 2012 IEEE Published by the IEEE CS, CASS, ComSoc, IES, & SPS

Opportunistic Retransmission in WLANs

  • Upload
    tsuhan

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Opportunistic Retransmission in WLANs

Opportunistic Retransmission in WLANsMei-Hsuan Lu, Student Member, IEEE,

Peter Steenkiste, Fellow, IEEE, and Tsuhan Chen, Fellow, IEEE

Abstract—This paper presents an efficient opportunistic retransmission protocol (PRO, Protocol for Retransmitting Opportunistically)

to improve the performance of IEEE 802.11 WLANs. PRO is a link-layer protocol that allows overhearing nodes to function as relays that

retransmit on behalf of a source after they learn about a failed transmission. Relays with better connectivity to the destination have a

higher chance of delivering the packet than the source, thereby resulting in a more efficient use of the channel. PRO has four main

features. First, channel reciprocity coupled with a runtime calibration process is used to estimate the instantaneous link quality to the

destination. Second, a local qualification process filters out poor relays early. Third, a distributed relay selection algorithm chooses the

best set of eligible relays among all qualified relays and prioritizes them. Finally, 802.11e Enhanced Distributed Channel Access

(EDCA) is leveraged to make sure high-quality relays transmit with higher probability. PRO is designed to coexist with legacy 802.11

stations. Our extensive evaluation on both a controlled testbed and in the real world shows that PRO can improve throughput in diverse

wireless environments. PRO helps the most when there is significant contention for the ether, under fading, and with user mobility.

Index Terms—Opportunistic retransmission, wireless LANs, relaying

Ç

1 INTRODUCTION

WIRELESS local area networks (WLANs) have becomevery popular, but the complex behavior of wireless

signal propagation, particularly indoors, creates significantchallenges. In this paper, we present an efficient opportu-nistic retransmission protocol (PRO, Protocol for Retrans-mitting Opportunistically) that improves networkperformance in dynamic infrastructure WLANs. The ideais to exploit overhearing nodes to retransmit (or relay) onbehalf of the source after they learn about a failedtransmission. Opportunistic retransmission leverages thefact that wireless networks inherently use broadcasttransmission and that errors are mostly location dependent[4], [19]. Thus, if the intended recipient does not receive thepacket, other nodes may have received the packet and thusbecome candidate retransmitters for that packet. Withmultiple wireless devices distributed in space, the chancethat at least one available device can transmit the packetincreases. Candidate relays participate if they have a higherchance of delivering the packet successfully than the source,thus results in an increased throughput.

Opportunistic retransmission involves two key chal-lenges. First, it requires an effective measure of link qualityto decide whether a node is suitable to serve as a relay. Thismetric must accurately reflect channel conditions in fastchanging wireless environments. PRO leverages path loss

information (i.e., Received Signal Strength Indicator (RSSI))obtained via channel reciprocity to estimate instantaneouschannel quality [16]. An online calibration scheme is used todeal with link asymmetry. RSSI values are reported byalmost all wireless cards, making RSSI-based estimation apractical solution.

The second challenge is to efficiently coordinate the

retransmission process given that there may be many

candidate relays. The protocol needs to ensure the best

relay that overheard the transmission forwards the packet

while avoiding simultaneous retransmission attempts thatcan lead to duplicates or collisions. This is especially hard

when relays are hidden from each other. Prior work relieson per-transmission feedback from all the receivers to

perform centralized relay selection [7], [19], [13]. Whilefeedback simplifies relay selection, it also adds overhead by

adding delay or using more spectrum. PRO reduces the

coordination overhead by using distributed relay selection.Specifically, qualified relays periodically share information

about the quality of the channel with respect to sources anddestinations. Using this information, relays can then

(locally) decide whether they should retransmit packetsfor a particular source-destination pair, and if so, what their

priority is. If multiple eligible relays contend to relay, PROleverages 802.11e EDCA [1] to prioritize retransmissions so

relays with a higher RSSI with respect to the destination aremore likely to retransmit.

The contributions of this paper are as follows: first, wedesigned a link-layer opportunistic retransmission protocol,PRO, that is simple, lightweight, and allows partialdeployment (i.e., PRO enabled and legacy nodes cancoexist). Second, we performed a statistical analysis thatquantifies the performance of PRO in cases when relays canhear each other and when relays are hidden fromthemselves. The analytical results are used to guide theselection of protocol parameters. Third, we implementedPRO in the Madwifi driver for wireless NICs using the

IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 12, DECEMBER 2012 1953

. M.-H. Lu is with Microsoft Corporation, 15851 Northup Way, Bellevue,WA 98008. E-mail: [email protected].

. P. Steenkiste is with the School of Computer Science, Carnegie MellonUniversity, 5000 Forbes Avenue, Pittsburgh, PA 15213.E-mail: [email protected].

. T. Chen is with the School of Electrical and Computer Engineering, CornellUniversity, Phillips Hall, Room 224, Ithaca, NY 14853.E-mail: [email protected].

Manuscript received 14 Feb. 2010; revised 7 Sept. 2011; accepted 23 Sept.2011; published online 20 Oct. 2011.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number TMC-2010-02-0072.Digital Object Identifier no. 10.1109/TMC.2011.227.

1536-1233/12/$31.00 � 2012 IEEE Published by the IEEE CS, CASS, ComSoc, IES, & SPS

Page 2: Opportunistic Retransmission in WLANs

Atheros chipset [26], allowing for immediate deployment ofPRO. Fourth, we explored both how opportunistic commu-nication affects fairness, and how it can be combined withtransmit rate adaptation algorithms. These issues areimportant but are often overlooked in prior work. Finally,we evaluated PRO in diverse environments, including acontrolled testbed and two real-world settings. Our resultsshow that PRO boosts throughput, especially in highcontention channels, under channel fading, or with usermobility [24].

The remainder of this paper is organized as follows:

Section 2 describes the basic concept of opportunistic

retransmission using a simple example. Section 3 provides

an overview of PRO. Sections 4 and 5 elaborate on relay

selection, including a performance analysis with respect to

collision avoidance. Section 6 describes relay retransmis-

sion and discusses fairness issues. Section 7 introduces

multirate PRO. Sections 8 and 9 present our evaluation

results on a controlled testbed and in the real world,

respectively. Sections 10 and 11 discuss related work and

summarize the paper.

2 BASIC CONCEPT

The basic idea of opportunistic retransmission is to have

intermediate nodes that overhear a failed packet to

retransmit (or relay) the packet on behalf of the source.

Here, we provide some intuition into the potential benefits

of opportunistic retransmission using the three-node net-

work in Fig. 1. We denote Pij as the packet delivery rate

(PDR) from i to j.Let us look for the best strategy to deliver a packet from S

to D, using the expected number of transmissions needed to

deliver a packet as the metric. The simplest strategy is to

simply transmit the packet directly from S to D. On average,

direct communication takes

TXdirect ¼1

PSDð1Þ

transmissions to deliver a packet. An alternative is to

exploit opportunistic retransmission. If a packet transmis-

sion from S to D fails, but the packet is overheard by A, then

it is more efficient to have A retransmit (or relay) the packet

rather than S if A has a higher packet delivery rate to D.

Based on this philosophy, we can calculate the expected

number of transmissions in the case of opportunistic

retransmission, assuming no overhead, as

TXopport relay ¼X1i¼1

iP ðiÞ; ð2Þ

where P ðiÞ is the probability of taking i transmissions todeliver a packet [27].

In contrast to PRO, which uses relays opportunisticallyfor retransmission in infrastructure (“single hop”) net-works, mesh networks use multihop routes to reach adestination [2], [32]. Routes are selected a priori, i.e., beforeany communication takes place. In the example of Fig. 1,the sender S can choose between two routes: S can sendpackets directly to D, or S can send packets to A, whichthen forwards them to D. S uses the option that requires thefewest transmissions. On average, this method takes

TXmesh network ¼ min1

PSAþ 1

PAD;

1

PSD

� �ð3Þ

transmissions to deliver a packet.Fig. 2 compares the three schemes for PSA ¼ PAD ¼ p

and PSD ¼ 0:3. The figure shows that with the participationof an appropriate relay PRO outperforms the meshapproach, which in turn outperforms direct communica-tion. In fact, it can be formally shown that, ignoringoverheads, opportunistic retransmission statistically alwaysrequires the same number or fewer transmissions thanmesh networking and direct communication [25].

3 PROTOCOL OVERVIEW

Fig. 3 presents a high-level overview of PRO. In thebackground, candidate relays continuously monitorthe channel quality with respect to the source(s) and the

destination(s). The channel quality to the destination showshow likely the node will successfully (re)transmit packets to

the destination. The channel quality to the source indicateshow often the node is likely to overhear packets from thesource, i.e., how often the node will be in a position to

function as a relay for the source. Each node locally decideswhether it is a qualified relay for a source-destination pair

based on a threshold for the quality of the channel to thedestination. Such qualified relays advertise their linkquality with respect to both the source and the destination

through periodic broadcasts.By collecting periodic link quality broadcasts, each

qualified relay independently constructs a global map ofthe connectivity between qualified relays, the source, and thedestination. Using this information, each qualified relay thendecides whether it is an eligible relay for a source-destinationpair. Only eligible relays are allowed to retransmit after afailed transmission. Clearly, the selection process shouldresult in a set of eligible relays that is large enough so there is

1954 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 12, DECEMBER 2012

Fig. 1. A three-node network containing source (S), destination (D), and

a single relay (A). Pij represents the packet delivery rate from i to j.

Fig. 2. Analytical comparison results with PSA ¼ PAD ¼ p and PSD ¼ 0:3.

Page 3: Opportunistic Retransmission in WLANs

a high likelihood that one of them overhears the source.

However, including too many relays can be harmful forseveral reasons. First, using too many relays can increase

contention in the network which may result in morecollisions. Moreover, having poor relays retransmit can

prevent or delay retransmission by better relays, thus

reducing the success rate for retransmissions.After a failed transmission, eligible relays that over-

heard the packet then participate in the retransmission of

the packet as if they were retransmitting a local packet, i.e.,they follow the 802.11 random access procedure. Relays

stop the retransmission when they overhear an ACK that

confirms a successful reception by the destination. To giveprecedence to relays with better connectivity to the

destination, eligible relays choose the size of their initialcontention window based on their priority, i.e., their rank

in terms of how effective they are among all eligible relays.Relays with a higher rank are associated with a smaller

contention window so that they have a higher chance ofaccessing the channel. We elaborate on each functional

component in Sections 5 and 6.

4 ESTIMATING LINK QUALITY

Link quality information is needed to quantify the

suitability of a node as a relay. We need a measure for

link quality that is both accurate and easy to obtain. Onesolution is to assess link quality by monitoring the success

or failure of probe messages [10], [11]. The resulting packetdelivery rate is then used as an estimate of link quality.

Probing-based methods do not need hardware support butrespond slowly to channel dynamics. Moreover, probe

messages require extra bandwidth, which may undo the

gains from opportunistic retransmission. Another solutionis to use location information with respect to sources and

destinations based on ideas from geographical routing[31]. This requires infrastructure support for distance

estimation (e.g., GPS devices) and a mechanism to

translate physical distance into link quality, which isdifficult given shadowing and fading effects.

An alternative is to estimate link quality by monitoringsignal-to-noise ratio (SNR) of packets at the receiver [8].SNR-based solutions are attractive because they can poten-tially adapt quickly to the changing signal environment.SNR is largely determined by the received signal strength(RSS) [22]. This is especially true in indoor environmentswhere multipath effects are mitigated by dynamic equalizerin wireless network cards, which can equalize bothamplitude and delay dispersion at the same time [22].

In practice, RSS can be estimated using the ReceivedSignal Strength Indicator [22], [30], which is reported bymost wireless cards. To understand how RSSI relates toPDR, we use the CMU wireless emulator [21] to collectmeasurements of PDR and RSSI for UDP packets ofdifferent sizes (1,472, 1,024, 512, and 16 bytes). The test

LU ET AL.: OPPORTUNISTIC RETRANSMISSION IN WLANS 1955

Fig. 4. Measurement results of PDR and RSSI with transmit rate equal to11 Mbps for different packet sizes.

Fig. 3. Protocol flowchart of PRO.

Page 4: Opportunistic Retransmission in WLANs

nodes are equipped with wireless cards using the AtherosAR5212 chipset and run the MADWIFI 0.9.3 driver [28]. Thepath loss between the transmitter and the receiver ischanged from 90 to 110 dB with a step size of 0.5 dB. Foreach loss value, we collected the average RSSI and PDR for10 experiments of 1,000 packets each. Fig. 4 shows theresults for two transmitter/receiver pairs, out of a total of10 pairs. The other eight pairs exhibit similar behavior.

We make the following observations based on theseresults:

1. The PDR as a function of RSSI is somewhat noisy,in particular for 16-byte UDP packets. However,there is generally a strong correlation betweenRSSI and PDR.

2. There is an RSSI threshold (Thh), above whichpackets are nearly always received.

3. The PDR-RSSI graphs for different cards have asimilar shape, but are shifted by 2-4 units. Based onchannel reciprocity [16], forward link quality can bepredicted using reverse link conditions if theamount of the shift is known.

The above observations do not hold for small packets

(<512 bytes), possibly caused by reporting inaccuracy in

Atheros hardware. This is acceptable as small packets are

rarely used in practice due to low efficiency. While RSSI is

not a perfect measure for PDR, as we will show later it

suffices for our needs: PRO does not require a very accurate

measure of link quality because link quality is only used to

help select and prioritize a reasonable set of relays from a

larger pool, and small changes in quality should not affect

this process.In practice, channel conditions vary with time. To predict

the current RSSI, PRO applies the time-aware prediction

algorithm proposed in [16] to the RSSI history of link. This

approach improves the exponential weighted moving

averaging (EWMA) approach by giving recent samples

more weight and by filtering out sharp transient fades that

last for only a single packet. The time-averaged RSSI from

the reverse link is then used as a measure for the RSSI of the

forwarding link. The effects of interference at the receiver

are considered through an online calibration process,

described in the next section.

5 PROTOCOL DESIGN

This section elaborates on the three components of PRO:relay qualification, relay selection, and relay prioritization.We explain the retransmission process in the next section.

5.1 Relay Qualification

Using too many or poor relays can hurt performance since itincreases the probability of collisions while offering limitedopportunistic gains. To filter out poor relays early,candidate nodes must pass a qualification process bycomparing their RSSI with respect to the destination witha threshold Thh. Qualified relays periodically broadcasttheir link quality with respect to the sources and thedestinations. This information is then used for relayselection, as we describe in Section 5.2.

The main challenge in relay qualification is the fact thatusing reverse link conditions to predict forward link qualityis imprecise when links are asymmetric. Unfortunately,conveying RSSI information from the destination to therelay, e.g., using RTS/CTS [8], [15], introduces relativelyhigh overheads that can easily undo any performancebenefits. PRO avoids such overheads by leveraging channelreciprocity combined with online threshold calibrationbased on observed performance [16]. Initially, relaysassume a default Thh of 10 (the average of a set of offlinemeasurements). At runtime, each relay records the trans-mission result—success or failure—of each transmissionfrom itself to the destination. The value of Thh isincremented by 1 if the packet delivery ratio over 100transmissions is lower than 0.75 and decremented by 1 if itis equal to 1 (see Table 1 for an example). As this thresholdmay vary from receiver to receiver, each transmittermaintains a Thh for each receiver that it is communicatingwith and updates these thresholds independently.

The above solution to link asymmetry is based on theobservations made in Section 4 that the PDR-RSSI plots fordifferent sized packets across different source-destinationpairs have a similar shape. Note that the calibration processdoes not consider the reason for the packet losses, allowingit to deal with a variety of conditions. For example, if packetlosses are due to a jammer near the destination, then thecalibration process gradually increments Thh, making therelay less and less likely to pass the relay qualificationprocess. The calibration process resets Thh to the defaultvalue if there is no transmission to a destination for30 minutes. Recalibration can then adjust for changes in theenvironment.

5.2 Relay Selection

Relay selection finds the best set of relay(s) among allqualified candidates to retransmit a failed packet. Tominimize overhead, PRO uses a distributed relay selectionalgorithm. Each qualified relay runs the algorithm to find aset of eligible relays out of all the qualified relays based ontheir link quality with respect to the source and thedestination. We now elaborate on how relays share linkquality information and how eligible relays are selected.

5.2.1 Sharing Link Quality via Periodic Broadcasts

The relay selection algorithm considers the link quality tothe source and the destination of all the qualified relays.

1956 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 12, DECEMBER 2012

TABLE 1Thh Is Initialized at 10 and Increments by 1 at

the 100th Transmission as the PDR over the First100 Transmissions Is 1; Thh Remains Unchanged atthe 200th Transmission as the PDR over the Second

100 Transmissions is 0.8 (�0:75 and <1); ThhDecrements by 1 at the 300th Transmission as the

PDR over the Third 100 Transmissions is 0.65 (<0:75).

Page 5: Opportunistic Retransmission in WLANs

This information is collected through periodic broadcastsfrom all the qualified relays. The link quality to thedestination is predicted using the RSSI of the reversechannel (Section 5.1). The link quality to the source is thepacket reception rate, which is obtained by keeping track ofsequence numbers in packets originated from the source.According to the 802.11 specification, sequence numbers areincremented by 1 for each packet. Thus, packet losses can bedetected from a gap in sequence numbers. A node canqualify as a relay for multiple sessions, so the broadcastmessages should contain information for all possiblesource-destination pairs.

The periodic broadcast frequency is 1 second in ourimplementation. This value is borrowed from the defaultHELLO message interval used in AODV. Relays canfurther reduce the broadcast overhead by adapting thebroadcast frequency based on how fast the channelconditions change. They can also suppress broadcastswhen the chance of becoming an eligible relay is low.When a qualified relay fails the qualification process (thepredicted RSSI falls below Thh or the relay does not hearthe destination for 2 seconds), it stops broadcasting linkquality information for that destination. Other relaysexclude a relay from the relay selection process if they donot hear its broadcasts for 2 seconds. More details on thecost of periodic broadcasts are provided in [24].

5.2.2 Selecting Eligible Relays

The relay selection algorithm is based on the followingdesign guidelines:

. Relays with stronger connectivity to the destinationare favored because they have a higher chance ofsuccessfully transmitting the packet.

. Relays with stronger connectivity to the source arefavored because they have a higher likelihood ofoverhearing the source, so they offer higher oppor-tunistic gains.

. The resulting set must be large enough so there isa high probability that at least one eligible relayoverhears the source. At the same time, we wantto limit the set size to minimize any increases incollision rates.

Algorithm 1 gives the pseudocode for the algorithm. Thealgorithm starts by selecting the node that has the highestRSSI with respect to the destination. It continues to add thenode with the next highest RSSI (step 6) until the probabilityof having one of the selected relays hears the source (steps 8-9) is larger than a threshold Thr (steps 10-12). Table 2 givesan example of five qualified relays: q0, q1, q2, q3, and q4 of

which the source packet reception rates are 0.8, 0.7, 0.7, 0.6,and 0.6, respectively. Results in Sections 8 and 9 show thatour relay selection algorithm works well. Note that a highThr does not infer a large number of eligible relays. Forexample, if q0 is 0.99, only q0 will be selected as eligible.

Algorithm 1. RELAYSELECTION(Q)

Require: All qualified relays Q

Ensure: All eligible relays R

1: Initialize Q to the set of all qualified relays

2: R( ;3: p( 1

4: Rank Q according to the RSSI with respect to the

destination5: while Q is not empty do

6: Pick the current highest ranked q in Q

7: Insert q to R and delete q from Q

8: Retrieve the source packet reception rate �q of q

9: p( p � ð1� �qÞ10: if 1� p � Thr then

11: break

12: end if

13: end while

14: return R

5.3 Collision Avoidance

The use of multiple relays introduces the risk of increasedcollision rates, which can affect the performance of all flowsin the network. This section presents a statistical analysisthat quantifies the tradeoff between the participation ofmultiple relays and the potential of increased collisions.The analytical results are then used as a guideline forselecting optimal protocol parameters. We will considertwo cases: 1) all relays can hear each other and 2) somerelays are hidden from each other (but they can hearsources and destinations).

5.3.1 No Hidden Relays

Consider N qualified relays that can hear each other. Forsimplicity, assume these relays have an equal probability ofhearing the source, denoted as �, and they contend for thechannel with an independent and identical uniformdistribution X. The probability function fðxÞ and thecumulative mass function F ðxÞ ¼

Px fðxÞ are

fðxÞ ¼ 1

CWand F ðxÞ ¼ xþ 1

CW; ð4Þ

where x 2 f0; 1; 2; . . . ;CW� 1g and CW is the contentionwindow size. Let n be the number of eligible relays.According to Algorithm 1, n can be written as

n ¼ minfij1� ð1� �Þi � Thr; i � Ng¼ minfdlog1�� ð1� ThrÞe; Ng:

ð5Þ

Upon a failed transmission, a subset of the eligible relaysoverhear the packet. Denote the subset size as k ðk � nÞ.Among the k relays, the relay r that has the smallest backoffinterval transmits first. The rest of the relays suppress theirretransmission attempt when they overhear the retransmis-sion from r. Collisions occur when the minimum backoff

LU ET AL.: OPPORTUNISTIC RETRANSMISSION IN WLANS 1957

TABLE 2Relay Selection Example with Thr ¼ 0:95

(The Resulting Set of Eligible Relays Is fq0; q1; q2g)

Page 6: Opportunistic Retransmission in WLANs

interval is associated with two or more relays so theytransmit at the same time. The collision probability cantherefore be written as

Prðcollision j k overhearing relaysÞ¼ 1� Prðsuccessful retx j k overhearing relaysÞ

¼ 1� kXCW�2

x¼0

fðxÞXCW�1

y¼xþ1

fðxÞ !k�1

¼ 1� kXCW�2

x¼0

fðxÞð1� F ðxÞÞk�1:

ð6Þ

According to the law of total probability, we can derive thecollision probability as

PrðcollisionÞ ¼Xnk¼2

Prðcollisionjk overhearing relaysÞ�

Prðk overhearing relaysÞ

¼Xnk¼2

1� kXCW�2

x¼0

fðxÞð1� F ðxÞÞk�1

!

� n

k

� ��kð1� �Þn�k:

ð7Þ

Substituting (4) into (7), we then obtain the collisionprobability.

Fig. 5 shows the collision probability as a function of Thrwhen N is large. The stair shape is due to the constraint thatthe number of relays must be an integer. The figure showsthat collision probabilities grow as Thr increases. Using alarger contention window reduces the impact of collisionsbut it comes with a cost of increased delay, whichconstitutes to another form of overhead.

While a large Thr can result in more collisions, it allowsmore eligible relays to participate, increasing the chancethat at least one of the eligible relays here the source:

Prðone or more overhearing relaysÞ¼ 1� Prðno overhearing relayÞ ¼ 1� ð1� �Þn:

ð8Þ

Thus, a tradeoff exists between choosing Thr large tomaximize the chance of opportunistic retransmission andchoosing Thr small to minimize the collision probability.This tradeoff can be quantified as the probability of asuccessful retransmission. To see that, assume eligiblerelays have perfect connectivity to the destination. Theprobability of a successful retransmission is then

Prðsuccessful retxÞ

¼Xnk¼1

Prðsuccessful retx j k overhearing relaysÞ�

Prðk overhearing relaysÞ

¼Xnk¼1

ð1� Prðcollision j k overhearing relaysÞÞ � 1

� Prðk overhearing relaysÞ

¼Xnk¼1

Prðk overhearing relaysÞ

�Xnk¼1

Prðcollision j k overhearing relaysÞ�

Prðk overhearing relaysÞ¼ Prðone or more overhearing relaysÞ � PrðcollisionÞ:

ð9Þ

The optimal Thr, ThðoptÞr is the value for which thesuccessful retransmission probability attains its maximum,that is,

ThðoptÞr ¼ arg maxThr

Prðsuccessful retxÞ: ð10Þ

Fig. 6 shows the successful retransmission probability asa function of Thr. We see that the sensitivity to Thrincreases as the source packet reception rate � decreases.ThðoptÞr for CW ¼ 32 and CW ¼ 16 falls on 0.98 and 0.96,respectively. These results provide a guideline for selectingThr. In Section 8.1.1, we will show experimental resultswhen Thr ¼ 0:9 is used (i.e., other close-by values shouldserve similar purposes). The use of this slightly conserva-tive threshold helps alleviate collisions in real-worldenvironments where nodes may incorrectly declare them-selves to be eligible relays due to, e.g., the hidden terminaleffect (see Section 9.1). The experimental results show thatour algorithm is quite effective at mitigating collisions.

The simplified analysis assumes perfect relay-destina-tion channels, which does not always hold. When the firstretransmission fails and the second retransmission isneeded, more relays may participate in the contentionprocess because relays that missed the initial transmissionbut overheard the first retransmission become eligible totransmit. This phenomenon continues until the packet issuccessfully delivered or discarded after too many trials.We do not consider second or later retransmissions in theabove analysis because 1) the use of binary exponentialbackoff should reduce the increase in contention level and2) the relay qualification process only allows good relays

1958 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 12, DECEMBER 2012

Fig. 5. Collision probabilities as a function of Thr. Fig. 6. Successful retransmission probability.

Page 7: Opportunistic Retransmission in WLANs

to participate, reducing the probability of failed retrans-missions. The use of a large initial contention windowcan further reduce collisions but the cost is a smallincrease in delay.

5.3.2 Hidden Relays

The relay selection algorithm selects a set of eligible relaysthat hear both the source and the destination, but it does notguarantee that eligible relays can hear each other. Theparticipation of hidden relays can increase the collisionprobability.

When hidden relays can still communicate using the baserate, they are able to collect periodic broadcasts and performrelay selection correctly. In this case, using a conservativeThr helps in mitigating collisions. Further, the onlinecalibration process gradually filters out hidden relays byincreasing the qualification threshold after too many failedtransmissions (Note that this process works on a much largertime scale than the core opportunistic retransmissionprocess). When two or more relays are completely hiddenfrom each other, they will not hear each other’s periodicbroadcasts, so they are not aware of each other’s existence.The distributed relay selection algorithm may select toomany eligible relays. In the worst case, all qualified relayswill be selected as eligible, so (5) becomes

n ¼ N: ð11Þ

Substituting (11) into (7), we obtain the collision probabilitywhen all relays are hidden from each other in Fig. 7. In thisworst case scenario, the impact of collisions can besignificant, even when only a small number of relaysparticipate. It is possible to use RTS/CTS to partlyovercome the hidden terminal problem between the relays,although this introduces additional overhead.

In addition to manipulating protocol parameters andusing online calibration, the hidden relay effect can also beresolved by modifying the periodic broadcasting mechan-ism. For example, destinations can be made responsible forcollecting the broadcast messages and notifying relays ofthe global connectivity map. Because relays and destina-tions are within communication range (otherwise relays areunqualified), this method assures that each relay receivescorrect link quality information. In Section 9, we show thatPRO deals with hidden terminals more effectively than themesh network-based approach by exploiting multirelaydiversity. Further improvement to resolve the hiddenterminal issue is considered in the future work.

5.4 Relay Prioritization

When multiple eligible relays overhear a failed transmis-sion, it is advantageous to have the relay with highest RSSIto the destination retransmit the packet. This can beachieved by having relays coordinate after each failedretransmission to determine who should retransmit thepacket [7], [13]. Explicit coordination has two problems.First, it requires scheduling among relays to decide whosends feedback when, which introduces additional com-plexity. Second, the overhead of distributing feedback forevery failed transmission can be considerable.

PRO avoids using feedback on a per-retransmission basisand instead leverages the 802.11 protocol to prioritize therelays. The 802.11 standard provides several mechanismsfor achieving this, e.g., by managing the minimal andmaximal contention window size (CWmin and CWmax),backoff increase factor, interframe space, and backoff timedistribution [6]. For example, 802.11e EDCA [1] performsprioritization by manipulating the interframe spacing or/and contention window size. In our implementation,effective relays obtain a higher priority by using a smallerCWmin. For example, higher priority relays can use a CWmin

of 32 and lower priority relays a CWmin of 64, so higherpriority relays have a higher chance of accessing themedium first if both relays overhead the packet. Note thatthe source always participates as an eligible relay after afailed transmission. We discuss the CWmin settings used inour implementation in Section 8.

While this paper focus on the 802.11 DCF network, it isworth noting that PRO can be easily generalized to an802.11 EDCA network where the source node itself adoptsEDCA in prioritizing different types of traffic. In that case,relays select the initial contention window sizes byadditionally considering the access category (AC) of theforwarding packet: high AC packets are associated withsmaller initial contention window sizes while low AC onesare associated with greater sizes.

5.5 A Note on Incentive to Relay

Opportunistic retransmission raises the question of whatincentives relays have for retransmitting packets for othernodes [29]. Solutions fall into two classes. Reputation-basedapproaches encourage packet forwarding by quantifyingthe reputation of a node by monitoring whether it forwardspackets appropriately [18]. Once identified, a selfish nodecan then be punished by its neighbors, for example, byhaving its packets dropped probabilistically. Reputationsystems are difficult to implement in an opportunisticcontext because transmission paths are not preconstructed.As a result, it is hard to determine whether an eligible relayattempted to retransmit, since, it may, for example, not haveoverheard the packet or its retransmission attempt mayhave been preempted by another relay.

Credit-based approaches reward relays to encourageparticipation [29]. Relays earn credits for forwarding apacket, while the source (or destination) that benefits fromthe retransmission gives up credit. Relays can use the creditthey earn to obtain help with the retransmission of theirown packets. Since credit-based solutions actively rewardparticipation, rather than punish nonparticipation, they area better fit for opportunistic protocols such as PRO. The

LU ET AL.: OPPORTUNISTIC RETRANSMISSION IN WLANS 1959

Fig. 7. Collision probability as a function of Thr when all relays arehidden from each other.

Page 8: Opportunistic Retransmission in WLANs

actual design of incentive schemes is outside the scope ofthis paper.

6 RETRANSMISSION

Relays detect failed transmissions through the lack of anACK. Eligible relays that overheard the packet thencontend to retransmit the packet using the contentionwindow selected during the relay prioritization procedure.The relay overwrites Address 4 in the MAC header with itsown MAC address so that the receivers can identify theoriginator of this packet and ACKs can be sent to thesource correctly. If a relay is eligible for serving multiplesessions, it ignores transmission activities from othersessions when it is already in the process of relaying. If aretransmission fails, relays double the size of contentionwindows and again contend for the channel, similar to theprocess used for local retransmissions. The use of relayingis transparent to legacy 802.11 stations.

Relays terminate the retransmission process when theyobserve one of the following events:

. An ACK frame destined for the source is overheard,since it implies successful reception.

. The retry limit is reached after several unsuccessfulretransmissions.

. A new data packet (i.e., a packet stamped with ahigher sequence number) originating from the sourceis overheard. This means that either the source hasdiscarded the current packet, or the packet wassuccessfully received but the relay missed the ACK.

It is likely that the relay overhears a retransmission of thepacket after hearing an ACK. This means that the packetwas received successfully, but either a relay or the sourcemissed the ACK. In this case, the relay should reacknow-ledge the packet to avoid further retransmissions. Theobvious solution, sending another ACK, does not work: ifmultiple relays detect the spurious retransmission, it willlead to systematic collisions of the ACKs. Instead, the relayssend a “null” packet,1 i.e., the original data packet with thepayload stripped, as an ACK. Since null packets aretransmitted as data packets (i.e., using backoff), we avoidsystematic collisions. Note that when the unnecessaryretransmission was sent by the source, this approacheffectively corresponds to the relaying of the ACK.

When the channel between the source and the destina-tion is very poor, frequent relaying of ACKs may occur. Inthat case, it may be more efficient to employ a meshnetwork-based approach (i.e., the source sends packets to arelay which forwards them to the destination) as almost allpackets will be relayed anyway. We present experimentalresults for such a scenario in Section 9.1. It is possible todynamically switch between opportunistic relaying andmesh-based forwarding, similar to [2]. For example, when asource observes frequent relaying of ACKs, it can switch tothe mesh networking mode and notify relays by setting aflag in the packets. The source can then select the best relay

to function as the forwarder, for example, based on the

channel state information it obtained from periodic broad-

casts. When the forwarder receives a packet from the

source, it generates an ACK and forwards the packet to the

destination. The source can switch back to the opportunistic

relaying mode when it starts overhearing traffic from the

destination. The exact design for supporting dynamic

switching is considered in the future work.

6.1 Fairness

The 802.11 exponential backoff procedure offers not onlyshort-term collision avoidance but also long-term fairnessacross multiple stations. However, as multiple relays canretransmit on behalf of a single source, the joint channelaccess behavior is no longer uniform. This results inunfairness across flows with different numbers of relays.To see this, consider k eligible relays that overheard a failedtransmission. The backoff interval of the transmission is theminimum among the k relays, which can be written as

Y ¼ minfX1; X2; . . . ; Xkg: ð12Þ

The cumulative mass function of Y , GðyÞ, can be derived as

GðyÞ ¼ PrðY � yÞ ¼ 1� PrðY > yÞ¼ 1� PrðX1 > y;X2 > y; . . . ; Xn > yÞ¼ 1� PrðX1 > yÞPrðX2 > yÞ . . . PrðXk > yÞ¼ 1� ð1� F ðyÞÞk

¼ 1� 1� yþ 1

CW

� �k:

ð13Þ

Fig. 8 shows the probability distribution of the backoffinterval as a function of the number of eligible relays,assuming each relay uses a uniform backoff distribution inthe range [0, 31]. It clearly shows that source-destinationpairs that use more relays are more likely to gain access tothe channel.

Fairness is a policy question and different policies are

possible. One policy might be that it is acceptable to give

priority to relayed transmissions, because opportunistic

retransmission can improve network efficiency. Another

policy is to force equal channel access probabilities across

all flows. A particular fairness policy can be achieved by

tuning the backoff distribution. One example is the use of

1960 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 12, DECEMBER 2012

1. PRO is disabled for original lost packets that are null packet (i.e., usedin power management, scanning, etc.). This prevents continuously broad-casts of null packets.

Fig. 8. Probability functions of backoff intervals from multiple relays thatindividually have a uniform backoff distribution (gðyÞ).

Page 9: Opportunistic Retransmission in WLANs

larger initial contention windows when relaying, as wealready mentioned earlier. The initial contention windowcan also be tuned based on the number of eligible relays.An even more aggressive solution is to have relays use anonuniform distribution Z for selecting slots in thecontention window. This makes it possible to have thejoint behavior of the relays appear as that of a single legacy802.11 node (i.e., a node that uses a uniform distribution forselecting a slot). Denote hðzÞ and HðzÞ as the probabilityfunction and probability mass function of Z. Following(13), we can write

F ðzÞ¼1�ð1�HðzÞÞk¼ zþ 1

CW)HðzÞ¼ 1�

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi1� zþ 1

CW

k

r; ð14Þ

hðzÞ ¼ HðzÞ �Hðz� 1Þ ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi1� zþ 1

CW

k

r�

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi1� z

CWk

r: ð15Þ

Fig. 9 shows the probability functions of backoff intervalsof individual relays that collectively yield a uniformbackoff distribution in a range of [0, 31]. We have notexplored these more advanced techniques, but we presentan experimental evaluation of how the size of the initialcontention window used by relays affects performance andfairness in Section 8.3.

Note that the above analysis assumes the use of identicaltransmit rates and fixed contention window sizes (nobinary exponential backoff). In practice, the binary expo-nential backoff results in unequal channel access distribu-tion across flows with good and poor channel conditions,which increases unfairness. On the other hand, the 802.11rate adaptation changes the share of transmission time,making flows using poor channels consume disproportio-nately more time. These factors complicate the provisioningof fairness.

7 MULTIRATE PRO

802.11 provides multirate capabilities that reduce thepacket error rate by lowering bitrates, i.e., rate adaptationtrades longer transmit time for higher packet successrates. Opportunistic retransmission adopts a differentphilosophy: the source and relays continue using highertransmit rates and use relaying to improve the success

retransmission rate. Hence, opportunistic retransmissiontrades more transmissions for shorter transmit time. Thisleads to the following question: upon a failed transmis-sion, should the sender reduce the transmit rate or shouldit use relaying to combat errors?

Whether rate adaptation or opportunistic retransmissionshould be used depends in part on how well rate adaptationperforms, e.g., how quickly does the rate adapt to changesin the environment. Current rate adaptation algorithms aredominated by probe-based approaches, i.e., transmit ratesare adapted based on the successful ratio of probemessages. While probe-based approaches are simple andeasy to implement, several studies have shown that theyperform poorly in highly dynamic environments [8], [15],[20]. Thus, recent efforts have explored using SNR-basedmethods to help select the transmission rate [8], [16], [30]. InSections 8, 9.1, and 9.2, we compare PRO with probe-basedSampleRate [3] and SNR-based CHARM [16] rate adapta-tion methods. Our experimental results show that inpractical 802.11b scenarios PRO outperforms 802.11 withrate adaptation.

It is however important to explore how rate adaptationand opportunistic relaying can be combined, since bothtechniques have limitations. For example, no rate adapta-tion algorithm can completely eliminate packet losses andrelaying can help reduce the cost of packet errors, sorelaying is likely to be more important in very dynamicchannels. Opportunistic retransmission on the other handcan only be effective when good relays are available, so rateadaptation remains important.

Integrating rate adaptation and opportunistic retrans-mission is however a complex research problem. As a firststep, we combined PRO with the CHARM rate adaptationalgorithm. Our multirate PRO is a minimal integration inthe sense that we purposely minimized the changes to PROand CHARM. In multirate PRO, the source and relays relyon the regular CHARM algorithm to select transmissionrates. CHARM uses a rate selection table that lists theminimum required RSSI threshold for each transmit rate.This table is built offline based on general card character-istics and calibrated online to deal with card differencesand link asymmetry. Senders use channel reciprocity toestimate the received signal strength at the receiver, similarto PRO, and then use a table lookup to determine thetransmit rate to use. For simplicity, multirate PROeliminates the threshold calibration component of CHARM.Instead, it avoids errors caused by per-card differences andlink asymmetry by only using three out of the possible 12rates (18, 36, and 54 Mbps). Upon a transmission failure,multirate PRO executes the PRO protocol described in theprevious section.

Multirate PRO changes the original CHARM and PROprotocols in only two ways. First, we want to avoid thatrelays that use a lower transmit rate than the sourceretransmit the packet. This should generally not happen,but this type of “rate inversion” is possible becauseCHARM updates channel state information more quicklythan PRO. When an eligible relay observes that itstransmission rate is lower than that used by the source, it

LU ET AL.: OPPORTUNISTIC RETRANSMISSION IN WLANS 1961

Fig. 9. Probability functions of backoff intervals of individual relays thatcollectively yield a uniform backoff distribution (hðzÞ).

Page 10: Opportunistic Retransmission in WLANs

disqualifies itself. Second, since relaying makes retransmis-sion more efficient, we make rate selection on the sourcesmore aggressive. This is done by having the sources shiftthe rates in their threshold table up one class.

Multirate PRO works as follows: Sources use the RSSIwith respect to the destination as an index to locate thetransmit rate. Relays constantly overhear traffic as in PROto collect link quality information. Upon a failed transmis-sion, eligible relays that overheard the packet use the RSSIwith respect to the destination as an index to look up thetransmit rate. The selected rate has to be higher than orequal to the rate used in the original packet; otherwise, theretransmission attempt is terminated. The transmit rate ofthe original packet can be retrieved from the packet header.Relays retransmit the packet according to the relayprioritization procedure specified in Section 5.4. When norelay is present (i.e., no periodic broadcast is received),sources fall back to CHARM. In Section 9.3, the perfor-mance of multirate PRO in an 802.11g network is presented.The results show that multirate PRO, though not yet fullyoptimized, outperforms both SampleRate and a meshnetwork-based approach.

The above protocol is clearly just a first step. Not onlywill a full implementation want to use all transmit rates, butsome of the mechanisms can also be further optimized. Forexample, how much more aggressive the source can be inrate selection requires further study. In fact, it may bebeneficial to have rate selection on the source depend on thenumber and quality of relays.

8 EVALUATION USING THE EMULATOR

We implemented PRO in the Madwifi driver for wirelessNICs based on the Atheros chipset. We uses FlexMAC [26],a flexible software platform for developing and evaluatingCSMA protocols, that offers a number of controls in the hostthat are useful in implementing PRO (e.g., user-definedbackoff mechanisms and flexible retransmission policies).We use the interoperability mode to develop PRO so theimplementation is 802.11 compatible. This section presentsevaluation results collected on the CMU wireless networkemulator [21], a testbed that supports realistic and fullycontrollable and repeatable wireless experiments. Theemulation-based experiments are useful in studying micro-scopic behavior of the protocol. Real-world experimentalresults are presented in the next section.

In the following tests, the source constantly sends back-to-back UDP packets to the destination. The UDP packetsare 1,472 bytes long. We run each test for 3 minutes beforewe start collecting the statistics to allow the runtimecalibration process to converge. Each test runs for 1minute and we present the median of five tests. Theexperiments in this section use 802.11b (instead of802.11b/g) because of testbed limitations. We present802.11g results in Section 9.3.

8.1 Static Scenario

We build a topology in which source-to-destinationdistance is 120 meters. Five relays are uniformly placedbetween the source and the destination (see Fig. 10). Thissetup is useful to understand the fundamental behavior ofPRO for wireless stations with different proximity to theaccess point.

We first consider the following three scenarios:

. freespace uses a log distance large-scale path lossmodel with a path loss exponent of 3.

. fading_k0 adds a Ricean fading envelope with K ¼ 0to the log distance model. This scenario exhibitssevere fading.

. fading_k5 adds a Ricean fading envelope with K ¼ 5to the log distance, so fading is less severe.

In order to differentiate collisions from errors due tocorruption, we add a monitor node in the network. Themonitor node is manually configured to have perfect linkquality with the other nodes. Thus, packet losses observedby the monitor node must be caused by collisions.

In the following experiments, sources use a CWmin of32 slots for their initial transmissions. Eligible relays selectCWmin based on their priority. The best two relays use aCWmin of 32 slots, the next two use 64 slots, and anyremaining relays use 128 slots. The periodic broadcastinterval is 1 second and the threshold Thr is 0.9.

8.1.1 Overall Performance

Let us first consider the two extreme scenarios, freespace andfading_k0. We measure the throughput for different posi-tions of the destination corresponding to different source-destination distances. Fig. 11 shows the result for PRO and802.11 (no rate adaptation). In both scenarios, PROimproves performance for poor channels and it does notharm the performance under good channel conditions.Improvements are higher for fading channels.

Next, we compare the throughtput of five mechanismsfor all three scenarios:

1. 802.11 with rate adaption off (none);2. 802.11 with CHARM (CHARM);3. 802.11 with SampleRate (SampleRate);4. a mesh network that forwards packets along the

highest throughput multihop path using the highesttransmit rate (mesh); and

5. an ideal (but unrealistic) version of PRO that uses asingle relay with perfect link quality to both thesource and the destination (PRO optimal).

The last case corresponds to the optimal performance PROcan achieve.

1962 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 12, DECEMBER 2012

Fig. 11. UDP throughput over different source-destination distances.

Fig. 10. Static scenario topology.

Page 11: Opportunistic Retransmission in WLANs

Fig. 12 shows the throughput results. In freespace, PROand CHARM perform equally well and they both outper-form SampleRate. However, the difference is not significant.In such a static environment, PRO performs close to optimalas the protocol can converge to the best operating point. Infading_k0 and fading_k5, PRO outperforms SampleRate andCHARM by 25 and 40 percent, respectively, because theyhave trouble keeping up with the severe fading environ-ment. Thus, senders continue to use a low rate after thechannel improves, and they also suffer packet losses whenthe channel quality drops. This can be seen in Fig. 13, whichshows that the retransmission success rates of CHARM andSampleRate drop significantly in fast fading environments.In PRO, relays also sometimes make imprecise predictionunder small-scale fading. This suggests that the 1-secbroadcast interval for channel updates may be too long insuch environments. However, the multirelay diversitymakes PRO less sensitive to imprecise channel informationand thus more robust for dynamic channels. The meshnetworking approach relies on a single forwarder, whichleads to poor performance when it experiences deep fading.

To investigate the impact of concurrent transmissionsfrom relays, we collected collision rates. The number ofcollisions was calculated by subtracting the number oftransmissions from relays from the number of relayedtransmissions captured by the monitor node. Fig. 14 showsthat the collision rates are fairly low for all scenarios(<0:5%), suggesting that our choice of threshold Thr in therelay selection algorithm works well across scenarios withdifferent degrees of channel fading.

8.1.2 Per-Relay Performance

To gain a better insight into the retransmission process,Fig. 15 shows the packet success rates for the six

transmitters. Relays closer to the source have lower IDs(see Fig. 10). Not surprisingly, we see that the success ratesare higher for the nodes closer to the destination. Sincerelays closer to the destination have a lower path loss, wewould like them to play a bigger role as retransmitters.Fig. 16 confirms this: relays closer to the destinationretransmit more packets. Relay5 is an exception because itoverhears relatively few packets so it has fewer retransmis-sion opportunities. The link quality of source-relay andrelay-destination channels jointly results in a peak in theopportunistic retransmission distribution for relay4. Thepeak can be calculated given the statistics of channelconditions among the relays, the source, and the destina-tion. These results show that the relay prioritizationprocedure is effective.

Fig. 16 also provides insights into the effect of onlinethreshold calibration. We observe that, as channel fadingbecomes more pronounced, the distribution of retransmis-sions becomes more skewed toward the relays closest tothe destination. The reason is that the online calibrationprocess gradually increases the threshold Thh for remoterelays that perform poorly under high fading conditions.Fig. 17 shows the calibration offsets (relative to thedefault threshold of 10). It confirms that the thresholdoffsets for remote relays are higher, especially in caseswith significant channel fading. Note that our implemen-tation limits the calibration offset to 5.

LU ET AL.: OPPORTUNISTIC RETRANSMISSION IN WLANS 1963

Fig. 13. Successful retransmission ratio.

Fig. 14. Overall collision probabilities.

Fig. 15. Per-relay retransmission rates. “�” means data points are toofew to be meaningful.

Fig. 12. UDP throughput.

Fig. 16. Percentage of opportunistic retransmissions.

Page 12: Opportunistic Retransmission in WLANs

8.2 Mobile Scenario

Next, we evaluate the mobile scenario shown in Fig. 18. Itconsists of a source (nodew1), a mobile destination(nodew2), and five relays distributed in the test area. Thedestination navigates a route at a speed of 5 m/s in aclockwise fashion. Because of the mobility, what relaysparticipate in retransmission has to change over time. Thechannel model combines log distance attenuation with apath loss exponent of 3.3 and Ricean fading with K ¼ 3.

The results in Fig. 19 show that PRO outperformsCHARM and SampleRate most of the time. The exceptionis interval 50-58 seconds, when the destination node movesto (50, 0). At this point, it is out of the communication rangeof the source at 11 Mbps, so PRO performs poorly.Nevertheless, PRO outperforms rate adaptation by 50 per-cent on average. Note that the current system is optimizedfor slow-moving nodes (e.g., people walking with handhelddevices). If users move too fast, the protocol will not workwell due to the 1-second periodic broadcast interval. Apossible solution is to use an adaptive policy that adjuststhe beacon interval online based on the variation in channelcondition.

The results presented in this section do not represent anexhaustive study of mobile scenarios. One can easily createa scenario in which PRO offers little or no benefit, forexample, when no or only poor relays are present.However, the results in Fig. 19 indicate that in the presenceof good relays, PRO can adapt quickly to a changingtopology; hence, a higher throughput is achievable. Anextension of PRO that supports dynamic switching (Sec-tion 6) and multirate relaying (Section 7) can be moreeffective in dealing with mobile sources, relays, anddestinations.

8.3 Fairness

To understand how PRO affects fairness, we conductedexperiments in which PRO and legacy 802.11 stations

coexist in the network. To isolate the impact of relaying,we do not use rate adaption in the 802.11 stations, unlessotherwise noted. The first scenario includes two source-destination pairs, one using PRO and the other 802.11; thedistance between source and destination is 130 meters foreach pair. The channel model is log distance with a pathloss exponent of 3 combined with Ricean fading withK ¼ 0. We place the two sources close to each other so theydefer as a result of carrier sense. For PRO, five relays areuniformly placed between the source and the destination.To study the impact of the numbers of relays, we add relaysone by one, starting with the one closest to the source.

Fig. 20a shows the throughput result. Overall, as morerelays participate, PRO sees an increase in throughput butthe throughput of the 802.11 station decreases. Since theincrease observed by PRO is distinctly higher than thethroughput drop for the 802.11 node, network capacityincreases. As discussed in Section 6.1, this “unfair”phenomenon is due to the nonuniform channel accessbehavior with multiple relays. The unfairness can bereduced by increasing the contention window size forrelays. For example, we tried a conservative policy by using32 slots for the best relay (instead of the best two relays),64 slots for the next relay (instead of the third and fourthbest relays), and 128 slots for the rest. The “5 conservrelays” bar in Fig. 20a shows that this strategy reduces theunfairness, although there is also a drop in aggregatethroughput. If fairness is a major concern, we can furtherincrease CWmin or strictly limit the number of relays.

Note however that 802.11 is not a fair protocol in terms ofchannel access probabilities as a result of its binaryexponential backoff process: sessions that experience packetlosses will constantly contend for the channel with largercontention windows. To illustrate this, we conducted anexperiment that includes two 802.11 source-destinationpairs, one with perfect channel conditions and anotherwith a poor channel that experiences constant packet loss.We manipulated the source-destination distances such thatthe poor session sees a throughput equal to the 802.11session in the 5-relay case. The rightmost bar in Fig. 20ashows that there is extreme unfairness.

We next consider a heterogeneous scenario where thetwo flows have different source-destination distances: oneis 100 meters and the other is 50 meters. The distant pair

1964 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 12, DECEMBER 2012

Fig. 19. Throughput result of the mobile scenario.

Fig. 18. Mobile scenario test topology.

Fig. 17. Online calibration result (offset to the default threshold).

Page 13: Opportunistic Retransmission in WLANs

uses PRO while the close uses 802.11 over a nearly error-free channel. The rest of the experimental setup remainsthe same. Fig. 20b shows the throughput result. In contrastto the equidistant experiment, network capacity decreaseswith the number of relays: PRO sees an increase inthroughput, but throughput of the 802.11 station decreases.In all cases, the increase observed by PRO is lower than thethroughput drop for the 802.11 pair. PRO increases thesuccessful retransmission ratio of the distant source-destination pair, resulting in a relatively smaller backoffinterval and a better chance to gain channel access.However, the more frequent transmissions from the distantsource-destination pair also reduces efficiency, therebyreducing aggregate throughput. In fact, this phenomenonalso exists in 802.11 rate adaptation. To show this, weconfigure the remote pair to run 802.11 with SampleRate.From the result shown in the rightmost bar in Fig. 20b, rateadaptation exhibits the same tradeoff: improving linkquality for poor sessions increases fairness but reducesaggregate network capacity. Note that both the individualand aggregate throughputs are lower with SampleRatethan with PRO.

The results in this section show PRO can indeed createunfairness relative to legacy 802.11 sessions, but that we cancontrol the degree of unfairness through the selection of theCWmin window used by the relays. Our results also suggestthat the degree of unfairness introduced by PRO is no worsethan what is already present in 802.11 networks.

The UDP results presented in this section reflect the rawperformance of PRO as UDP is a thin transport layerprotocol. It is worth noting that TCP applications shouldalso benefit from PRO for the decreased number ofretransmissions, reduced latency, and in-order delivery [24].

9 REAL-WORLD EVALUATION

To investigate how PRO performs in the real world, weconducted experiments in two indoor environments: anoffice building with hard partitions and an open studentlounge where people pass through frequently. Theseexperiments automatically account for all effects that are

naturally present in deployed wireless networks, e.g.,

interference, noise, multipath fading, and shadowing. We

first present 802.11b results in Sections 9.1 and 9.2 followed

by 802.11g results using multirate PRO in Section 9.3.

9.1 Office Building

We placed 10 laptops randomly in an office building (see

Fig. 21a). The experiments were conducted during the

night, when changes in the environment are relatively

limited. In the first experiment, the laptops take turns as the

source and send UDP packets to the other nine laptops one

by one, resulting in 90 data points. During each of the runs,

nodes other than the source and the destination serve as

relays. We also conducted the same experiment using

SampleRate and a mesh network setup.Fig. 22 compares the throughput cumulative distribution

functions (CDFs). We can split the curves into three

regions, each covering about one third of the sessions.

The high throughput region (>6 Mbps ) contains sessions

covering short distances. Sources can communicate with

destinations successfully at the highest rate so all techni-

ques achieve the maximum link capacity. The center

throughput region (3-6 Mbps) contains source destination

pairs that can communicate directly, albeit not always at

the highest data rate. This region is likely to be representa-

tive of a typical infrastructure WLAN. In this case, PRO

outperforms SampleRate and the mesh network setup by

0.3 and 0.5 Mbps, respectively, for the median pair. These

results are consistent with the emulation results that use

fading with a large K factor. The low throughput region

(<3 Mbps) contains sessions with distant sources and

destinations, most of which are out of each other’s

communication range. In this case, SampleRate performs

the worst because even the lowest transmit rate does not

support communication. PRO’s ability to relay ACKs

allows it connect these out-of-range nodes. However, PRO

has to rely on duplicate transmissions from the source to

identify missing ACKs, which involves more overheads

than the mesh network approach. In this scenario, support

for dynamically switching between PRO and the mesh

LU ET AL.: OPPORTUNISTIC RETRANSMISSION IN WLANS 1965

Fig. 20. Fairness comparison.

Page 14: Opportunistic Retransmission in WLANs

network approach, as described in Section 6, would bebeneficial.

In the second experiment, we evaluate PRO withconcurrent flows. Three source-destination pairs are ran-domly chosen every 1 minute and the test lasts 15 minutesresulting in 45 data points. Note that with concurrenttransmissions a relay may serve multiple source-destinationpairs, and destinations may serve as relays for other source-destination pairs. Fig. 23 compares the throughput CDFs forPRO, SampleRate, and a mesh network setup. PRO’sthroughput is 1.8 Mbps for the median session, whereasmesh and SampleRate achieved 1 Mbps and 98 Kbps,respectively. SampleRate performs poorly for two reasons.First, SampleRate sometimes misjudges collisions as errorsin high contention environments, which results in an overlyconservative transmission rate. This problem can be severein the presence of hidden terminals [16]. Second, 802.11provides equal channel access probability across contend-ing stations. When rate adaption is used, poor channels willuse a low transmit rate, using disproportionately more timethan good channels. This can result in an inefficient use ofthe channel. PRO and mesh only use the highest rate sogood sessions are not penalized.

With concurrent flows, PRO consistently outperformsthe mesh network as a result of hidden terminals. By having

senders ping each other and analyzing the ping result, we

observed that sometimes senders are not within commu-

nication range of each other. When senders are hidden and

their receivers are close (or there is a common receiver),

collisions degrade the performance of the mesh network

significantly. PRO alleviates the impact of hidden terminals

in two ways. First, when two sources are hidden from each

other and their transmissions keep colliding at a relay (or

two nearby relays), other relays that are not involved in the

hidden terminal can still successfully transmit the packet.

Second, when two relays are hidden from each other and

their transmissions collide at two nearby destinations, the

online calibration gradually filters out those hidden relays.When more active sessions are present, fewer idle relays

are available, since in the current protocol design, nodes

only participate in relaying when no local packet is waiting

for transmission. This results in drop in the performance

benefit of PRO and mesh networking. An extreme case is

that all the nodes are actively transmitting. In that case,

rate adaptation is preferred because there are no multihop

transmission opportunities. The multirate PRO described

in Section 7 addresses this issue. It would be interesting

to explore policies for relaying when there are pending

local packets.

1966 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 12, DECEMBER 2012

Fig. 23. Throughput CDF of concurrent session scenario in an officebuilding.Fig. 22. Throughput CDF of single session scenario in an office building.

Fig. 21. Test floor plan.

Page 15: Opportunistic Retransmission in WLANs

9.2 Student Lounge

We also conducted experiments in a student lounge duringthe day time when students come and go frequently, thuscreating a lot of movement in the environment. We againuse 10 laptops randomly placed in the lounge as shown inFig. 21b. Each laptop takes turns as the source and sendsUDP packets to the other nine laptops one by one.

The results in Fig. 24 shows that for the median session,PRO outperforms SampleRate and mesh by 11 and 22percent, respectively. The reason is that there is a lot ofmovement, resulting in significant small-scale fading that isa challenge for rate adaptation algorithms. As mentionedearlier, PRO does not need very accurate prediction of linkquality, making it more robust in the presence of significantfading. Note that this result is consistent with the resultsobtained on the emulator testbed using fading with a smallK factor. PRO also outperforms the mesh network setup forthe vast majority of the flows because this environment hasfew out-of-range node pairs.

9.3 802.11g with Multirate PRO

We now present evaluation results for 802.11g nodes usingthe multirate PRO algorithm described in Section 7. Ourimplementation is built upon FlexMAC’s flexible mode,which allows the use of 802.11g transmit rates with802.11b interframe spacings [26]. This is equivalent to an802.11g station operating in the mixed 802.11b/g mode. Weconducted experiments in the same real-world environ-ments with the same setup as the 802.11b scenarios

presented earlier in this section. Figs. 25, 26, and 27 showthe results for the single session and concurrent sessionscenarios in the office building and in the student lounge,respectively. Similar to the 802.11b results, multirate PRO,though not fully optimized, outperforms SampleRate andthe mesh network-based approach in both high contentionand high fading environments, when few out-of-rangenode pairs are present.

10 RELATED WORK

The concept of opportunistic communication has beenapplied in many contexts. Opportunistic retransmissionexploits packet reception outcomes that are random andunpredictable, similar to techniques such as opportunisticrouting or opportunistic relaying. There are howeversignificant differences:

Opportunistic routing in multihop wireless networks [5],[9], [25] improves the performance of static predeterminedroutes by determining the route as the packet movesthrough the network based on which nodes receive eachtransmission. The actual forwarding is done by the nodeclosest to the destination. While opportunistic retransmis-sion and opportunistic routing bear some similarity (i.e.,exploiting multiple paths between the source and thedestination), they are very different approaches. First,opportunistic retransmission applies to infrastructure net-works so it is more generally applicable. Second, opportu-nistic routing requires a separate mechanism to propagate

LU ET AL.: OPPORTUNISTIC RETRANSMISSION IN WLANS 1967

Fig. 25. Throughput CDF of single session scenario in an office building(802.11g).

Fig. 27. Throughput CDF of single session scenario in a student lounge(802.11g).

Fig. 26. Throughput CDF of concurrent session scenario in an officebuilding (802.11g).

Fig. 24. Throughput CDF of single session scenario in a student lounge.

Page 16: Opportunistic Retransmission in WLANs

route information. Moreover, opportunistic routing isforced to use broadcast transmissions in order to enablereceptions at multiple routers since it operates in thenetwork layer. This constraint raises two issues. First,broadcasts messages are transmitted using basic link rates,which are generally overly conservative. Second, it is notpossible to use rate adaptation. In contrast, opportunisticretransmission is a link layer technique, so it automaticallyavoids these drawbacks. Finally, opportunistic retransmis-sion does not affect (or may even decrease) packet latencyand packet delivery order, while opportunistic routingoften increases latency and generates out-of-order deliv-eries in order to amortize scheduling and routing over-heads, which is a problem for interactive applications andTCP transmission.

Another type of opportunistic routing protocol usesnetwork coding, which lets the routers encode informationin received packets before transmission by inserting acoding layer between the IP and MAC layers [12], [17], [14],[23]. The design is based on two key principles. First, thebroadcast nature of the wireless channel is embraced so theabove comparison for opportunistic routing and opportu-nistic retransmission also applies. Second, network codingis integrated to improve efficiency. This technique can beemployed in combination with opportunistic retransmis-sion to acquire additional gains.

The notion of opportunistic repeating for 802.11 WLANsis proposed in [2]. The idea is to have wireless linksdynamically switch between direct transmission and two-hop mesh forwarding. The motivation is replacing linksthat use low transmit rates, and are thus inefficient, by twohops that use high transmit rates. While both PRO andopportunistic repeating rely on intermediate nodes toforward packets, they differ in several facets. First, PROexplicitly considers fairness and provides a mean forcontrolling the degree of unfairness it introduces. Second,opportunistic repeating does not exploit per-packet oppor-tunistic receptions at the destination and relays, butswitches between two modes, similar to the switchingalgorithm described in Section 6. Finally, PRO usesmultiple relays.

Recently, opportunistic relaying has been proposed as apractical scheme for cooperative diversity, in view of thefact that practical space-time codes for cooperative relaychannels are still an open and challenging area of research[7], [31]. It relies on a set of cooperating relays that arewilling to forward received information toward thedestination. The challenge is to develop a protocol thatselects the most appropriate relay to forward informationtoward the receiver. The scheme can use either digitalrelaying (decode and forward) or analog relaying (amplifyand forward).

Opportunistic retransmission only uses relays that canfully decode the packets. From a functional perspective,opportunistic retransmission can be categorized as a light-weight, decode-and-forward opportunistic relaying me-chanism. It however differs from opportunistic relaying intwo aspects. First, in PRO, the destination does not combinethe signals from the source and the relay, but tries to decodethe information using either the direct signal or the relayed

signal (in case that the direct signal is not decodable). This

sacrifices some achievable rates but avoids the cost of

additional receive hardware, so it is easy to deploy. Second,

existing opportunistic relaying protocols require a RTS/

CTS handshake to assess instantaneous channel conditions

and/or to exchange the feedback of relay selection results

[7], [32]. The use of RTS/CTS introduces extra overhead and

delay. PRO avoids these overheads by leveraging channel

reciprocity for link quality estimation.

11 CONCLUSION

Opportunistic retransmission offers an effective means to

improve throughput in wireless networks by exploiting

relays to retransmit on behalf of the source upon failed

transmissions. In this paper, we presented an efficient

opportunistic retransmission protocol for IEEE 802.11

WLANs. Our protocol allows coexistence with legacy

802.11 stations. We offered an analytical analysis that

quantifies the performance of PRO in terms of collision

avoidance and fairness provisioning. We have implemented

PRO in the Madwifi driver for Atheros cards and conducted

extensive experiments on both a controlled testbed and in

the real world. Our results show that PRO improves

throughput in many wireless environments. PROs benefits

are most pronounced when there is significant contention

for the channel, under fading, and with user mobility.

REFERENCES

[1] IEEE 802.11 Wireless Medium Access Control (MAC) and PhysicalLayer (PHY) Specification: Medium Access Control (MAC) Quality ofService (QoS) Enhancements, 1999.

[2] P. Bahl, R. Chandra, P. Lee, V. Misra, J. Padhye, D. Rubenstein,and Y. Yu, “Opportunistic Use of Client Repeaters to ImprovePerformance of WLANs,” Proc. ACM CoNEXT Conf., Dec. 2008.

[3] J.C. Bicket, “Bit-Rate Selection in Wireless Networks,” master’sthesis, Massachusetts Inst. of Technology, 2005.

[4] S. Biswas and R. Morris, “Opportunistic Routing in Multi-HopWireless Networks,” Proc. Workshop Hot Topics in Networks(HotNets II), Nov. 2003.

[5] S. Biswas and R. Morris, “ExOR: Opportunistic Multi-HopRouting for Wireless Network,” Proc. ACM SIGCOMM, Sept. 2005.

[6] A. Bletsas, A. Khisti, D. Reed, and A. Lippman, “A QoS-EnabledMAC Architecture for Prioritized Service in IEEE 802.11 Wlans,”Proc. IEEE GlobeCom, Dec. 2003.

[7] A. Bletsas, A. Khisti, D. Reed, and A. Lippman, “A SimpleCooperative Diversity Method Based on Network Path Selection,”IEEE J. Selected Areas of Comm., vol. 24, no. 3, pp. 659-672, Mar. 2006.

[8] J. Camp and E. Knightly, “Modulation Rate Adaptation in Urbanand Vehicular Environments: Cross-Layer Implementation andExperimental Evaluation,” Proc. ACM MobiCom, Sept. 2008.

[9] S. Chachulski, M. Jennings, S. Katti, and D. Katabi, “TradingStructure for Randomness in Wireless Opportunistic Routing,”Proc. ACM SIGCOMM, Aug. 2007.

[10] D.D. Couto, D. Aguayo, J. Bicket, and R. Morris, “A High-Throughput Path Metric for Multi-Hop Wireless Routing,” Proc.ACM MobiCom, Sept. 2003.

[11] R. Draves, J. Padhye, and B. Zill, “Routing in Multi-Radio, Multi-Hop Wireless Mesh Networks,” Proc. ACM MobiCom, Sept. 2004.

[12] E. Rozner, Y. Mehta, L. Qiu, A.P. Iyer, and M. Jafry, “ER: EfficientRetransmission Scheme for Wireless LANs,” Proc. ACM CoNEXTConf., Dec. 2007.

[13] C. Lo et al., “Opportunistic Relay Selection with LimitedFeedback,” Proc. IEEE Vehicular Technology Conf., Sept. 2007.

[14] F.-C. Ku et al., “XOR Rescue: Exploiting Network Coding in LossyWireless Networks,” Proc. Sixth Ann. IEEE Comm. Soc. Conf. Sensor,Mesh, and Ad Hoc Comm. and Networks (SECON), June 2009.

1968 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 12, DECEMBER 2012

Page 17: Opportunistic Retransmission in WLANs

[15] G. Holland et al., “A Rate Adaptive MAC Protocol for Multi-HopWireless Networks,” Proc. ACM MobiCom, Sept. 2001.

[16] G. Judd et al., “Efficient Channel-Aware Rate Adaptation inDynamic Environment,” Proc. Sixth Int’l Conf. Mobile Systems,Applications, and Services (MobiSys), June 2008.

[17] S. Katti et al., “XORs in the Air: Practical Wireless NetworkCoding,” Proc. ACM SIGCOMM, Oct. 2006.

[18] Q. He, D. Wu, and P. Khosla, “SORI: A Secure and ObjectiveReputation-Based Incentive Scheme for Ad-Hoc Networks,” Proc.IEEE Wireless Comm. and Networking Conf. (WCNC ’04), Mar. 2004.

[19] S. Jain and S.R. Das, “Exploiting Path Diversity in the Link Layerin Wireless Ad Hoc Networks,” Proc. Sixth IEEE Int’l Symp. Worldof Wireless Mobile and Multimedia Networks (WoWMoM), June 2005.

[20] A. Jardosh, K. Ramachandran, K. Almeroth, and E. Belding-Royer,“Understanding Congestion in IEEE 802.11b Wireless Networks,”Proc. ACM SIGCOMM Conf. Internet Measurement (IMC), Oct. 2005.

[21] G. Judd and P. Steenkiste, “Using Emulation to Understand andImprove Wireless Networks and Applications,” Proc. Conf. Symp.Networked Systems Design and Implementation (NSDI ’05), May 2005.

[22] G. Judd and P. Steenkiste, “Characterizing 802.11 Wireless LinkBehavior,” Wireless Networks J., vol. 16, pp. 167-182, Jan. 2010.

[23] P. Larsoon and N. Johansson, “Multi-User ARQ,” Proc. IEEEVehicular Technology Conf. (VTC), June 2006.

[24] M. Lu, “Optimizing Transmission for Wireless Video Streaming,”PhD dissertation, Carnegie Mellon Univ., Aug. 2009.

[25] M. Lu, P. Steenkiste, and T. Chen, “Video Transmission OverWireless Multihop Networks Using Opportunistic Routing,” Proc.Packet Video Workshop, Nov. 2007.

[26] M. Lu, P. Steenkiste, and T. Chen, “Using Commodity HardwarePlatform to Develop and Evaluate CSMA Protocols,” Proc. ThirdACM Int’l Workshop Wireless Network Testbeds, ExperimentalEvaluation and Characterization (WiNTECH), Sept. 2008.

[27] M.-H. Lu, P. Steenkiste, and T. Chen, “Design and Implementationof an Efficient Opportunistic Retransmission Protocol,” Proc. ACMMobiCom, Sept. 2009.

[28] Multiband Atheros Driver for WiFi (MADWIFI), http://madwifi-project.org, 2012.

[29] F. Wu, T. Chen, S. Zhong, L.E. Li, and Y.R. Yang, “Incentive-Compatible Opportunistic Routing for Wireless Networks,” Proc.ACM MobiCom, Sept. 2008.

[30] J. Zhang, K. Tan, J. Zhao, H. Wu, and Y. Zhang, “A Practical SNR-Guided Rate Adaptation,” Proc. IEEE INFOCOM, Apr. 2008.

[31] B. Zhao and M. Valenti, “Practical Relay Networks: A General-ization of Hybrid-Arq,” IEEE J. Selected Areas of Comm., vol. 23,no. 1, pp. 7-18, Jan. 2005.

[32] H. Zhu and G. Cao, “rDCF: A Relay-Enabled Medium AccessControl Protocol for Wireless Ad Hoc Networks,” IEEE Trans.Mobile Computing, vol. 5, no. 9, pp. 1201-1214, Sept. 2006.

Mei-Hsuan Lu received the MS degree in 2008and the PhD degree in electrical and computerengineering from Carnegie Mellon University in2009. Her research interests span video stream-ing, wireless networking, and mobile computing.From 1999 to 2003, she was a senior softwareengineer developing broadband communicationand information appliance products at ASUSTeKComputer, Inc., Taiwan. In 2004, she served asa technical consultant in the broadband commu-

nication division at ASUS. She is now with Microsoft Corporation,Redmond, Washington. She is a student member of the IEEE.

Peter Steenkiste received the engineeringdegree from the University of Gent, Belgium,and the MS and PhD degrees in electricalengineering from Stanford University. He is aprofessor of computer science and of electricaland computer engineering at Carnegie MellonUniversity. His research interests are in theareas of networking and distributed systems. Hehas done research in high performance network-ing and distributed computing, network quality of

service, overlay networking, and autonomic computing. His currentresearch is the areas of wireless networking, pervasive computing, andself-management network services. He is a fellow of the IEEE and amember of the ACM.

Tsuhan Chen received the BS degree inelectrical engineering from the National TaiwanUniversity, Taipei, in 1987 and the MS and PhDdegrees in electrical engineering from theCalifornia Institute of Technology, Pasadena, in1990 and 1993, respectively. He has been withthe School of Electrical and Computer Engineer-ing, Cornell University, Ithaca, New York, sinceJanuary 2009, where he is a professor anddirector. From October 1997 to December 2008,

he was with the Department of Electrical and Computer Engineering,Carnegie Mellon University, Pittsburgh, Pennsylvania, as a professorand associate department head. From August 1993 to October 1997, heworked at AT&T Bell Laboratories, Holmdel, New Jersey. He coeditedthe book Multimedia Systems, Standards, and Networks (MarcelDekker, 2000). He is a fellow of the IEEE.

. For more information on this or any other computing topic,please visit our Digital Library at www.computer.org/publications/dlib.

LU ET AL.: OPPORTUNISTIC RETRANSMISSION IN WLANS 1969