Cooperative Packet Recovery Using Physical Layer Information

17 downloads 89750 Views 247KB Size Report
Beyond the Bits: Cooperative Packet Recovery Using. Physical Layer ... We implement SOFT and evaluate it using GNU software radios. ... Permission to make digital or hard copies of all or part of this work for personal or .... The data link layer in SOFT decodes ..... the best AP, i.e., the one with the lowest loss rate for the.
Beyond the Bits: Cooperative Packet Recovery Using Physical Layer Information Grace R. Woo, Pouya Kheradpour, Dawei Shen, and Dina Katabi Massachusetts Institute of Technology Cambridge, MA, USA

[email protected], [email protected], [email protected], [email protected] ABSTRACT Users increasingly depend on WLAN for business and entertainment. However, they occasionally experience dead spots and high loss rates. We show that these problems can be addressed by exposing information readily available at the physical layer. We introduce SOFT, a new architecture that makes the physical layer convey its confidence that a particular bit is “0” or “1” to the higher layers. Access points that hear the same transmission communicate their confidence values over the wired Ethernet and combine their information to correct faulty bits in a corrupted packet. A single receiver may also combine the confidence estimates from multiple faulty retransmissions to obtain a correct packet. We implement SOFT and evaluate it using GNU software radios. The results show that our approach can reduce loss rate by up to 10x in comparison with the current approach, and significantly outperforms prior packet combining proposals.

Categories and Subject Descriptors C.2.2 [Computer Systems Organization]: ComputerCommunications Networks

General Terms Algorithms, Design, Performance

Keywords Wireless Networks, Cooperative Receptions, Diversity Combining

1.

INTRODUCTION

Wireless networks can suffer from high packet loss. In some deployments the mean loss rate is as high as 20-40% [4, 19], and even when average packet loss is low, some users suffer from poor connectivity. Current wireless networks attempt to recover from losses using retransmissions. However,

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. MobiCom’07, September 9–14, 2007, Montréal, Québec, Canada. Copyright 2007 ACM 978-1-59593-681-3/07/0009 ...$5.00.

in lossy environments, retransmissions often have errors and effectively waste the bandwidth of the medium, cause increased collisions, and fail to mask losses from higher layer protocols. As a result, today a lossy network is barely useable. Wireless networks, however, inherently exhibit spatial diversity, which can be exploited to recover from errors. A sender in a WLAN is likely to have multiple access points (APs) in range [3, 5]. It is unlikely that all these APs see errors in the same parts of a transmitted signal [18]. Consider an extreme scenario where the bit error rate is about 10−3 and the packet size is 1500B (i.e., 12000 bits). In this case,1 the probability that an AP correctly receives a transmitted packet is 0.99912000 ≈ 10−5 . Say there are two APs within the sender’s range, and the bit errors at the APs are independent [18]. If one can combine the correct bits across APs to produce a clean packet, the delivery probability becomes 0.99.2 The problem, however, is that when multiple APs differ on the value of a bit, it is unclear which AP is right. A prior cooperation proposal attempts to resolve conflicts between APs by trying all possible combinations and accepting the combination that satisfies the packet checksum [17]. Such an approach, however, has an exponential cost, limiting its applicability to packets with only a handful of corrupted bits. This paper presents SOFT, a cross-layer architecture for recovering faulty packets in WLAN. Current physical layers compute a confidence measure on their 0–1 decision for each bit. But due to the limitation of the interface between the physical and data link layer, this confidence information is thrown away. SOFT introduces a simple modification of the interface to export this confidence measure from the physical to the data link layer. It shows that this new interface can combat dead spots and dramatically increase the packet delivery rate. SOFT works by combining confidence values across multiple faulty receptions to recover a clean packet. • On the uplink, SOFT leverages the abundance of wired bandwidth in comparison to wireless bandwidth. Access points that hear a particular transmission communicate over the local Ethernet and combine their confidence es1 802.11b does not use FEC and hence one faulty bit corrupts a whole packet. 2 The probability of having a corrupted bit at both APs is 10−6 . Assuming independence, the probability that by combining the bits across APs one gets a fully correct packet is (1 − 10−6 )12000 = 0.99.

timates to maximize the likelihood of correctly decoding a corrupted packet. • Similarly, on the downlink, a node that receives a faulty packet combines the received packet with a later potentially faulty retransmission to obtain a correct packet. This strategy eliminates the need for any one retransmission to be completely correct, thus drastically reducing the number of retransmissions in a lossy environment. One engineering challenge in the design of SOFT is to identify the strategy that maximizes the likelihood of correctly reconstructing a packet from multiple faulty receptions. Say that we have multiple receptions of the same packet annotated with physical-layer confidence values, but they do not agree on the value of the i th bit in the packet. How should one resolve the conflict? One could take a majority vote. Alternatively, one could assign to the bit the value associated with the highest confidence. Both of these strategies are suboptimal, and may be even destructive. For example, some of the cooperating APs may be affected by a collision or a microwave signal, and thus end up polluting the information rather than enhancing it. By estimating the noise variance at each receiver and taking it into account, we do better than the above strategies. We demonstrate analytically and show experimentally the superiority of this approach. We have built SOFT in GNU software radios [6] and deployed it in a 13-node testbed. Software radios implement the whole communication system in software, making them an ideal environment for developing and testing cross-layer protocols. Our experimental results reveal the following findings. • SOFT provides large boosts to wireless reliability. In environments with moderate to good delivery rate, SOFT almost eliminates any packet loss over the wireless channel. In environments with high loss rates, SOFT increases the delivery rate by an order of magnitude. • SOFT shows significantly higher delivery rates than prior cooperation proposals that do not use physical layer information. It can provide up to 9-fold reduction in loss rate, as compared to MRD [17]. • SOFT also reduces the number of retransmissions. In lossy networks, with just one retransmission, SOFT achieves 94% reliability, while it takes the current approach 18 retransmissions to obtain similar performance. • Confidence values can be expressed using only few bits (3bits in our results), keeping the overhead of communicating them over the Ethernet within an acceptable bound.

2.

RELATED WORK Related work falls in two areas.

(a) Spatial Diversity. Spatial diversity, i.e., combining information from multiple antennas to boost throughput, is a highly active area [10, 16, 20, 21]. Some work is purely theoretical with no system implementation or experimental results [16, 20]. The main difficulty in implementing these theoretical proposals is their reliance on tight synchronization across nodes. Thus, practical systems that exploit spatial diversity usually operate with multiple antennas on the same card (i.e., MIMO systems) [21]. Work on diversity also appears in the area of soft-handoff in CDMA cellular networks [24]. While a mobile phone is

moving from one cell to another, the two base stations transmit the same information to the mobile phone and listen to the phone’s signal. The stronger signal is utilized for each frame in the call or both signals are combined to produce a clearer copy of the signal. Combining the signals is termed softer handoff and is possible when the cells involved in the handoff have a single cell site (i.e., they are the same node). Further, a few theoretical works compute the capacity improvements from combining 802.11 signals in a way similar to CDMA networks [9, 22]. SOFT is inspired by signal combining technologies used in RAKE receivers and softer handoff in CDMA cellular networks [24]. SOFT, however, does not combine signals; it combines confidence values associated with individual bits. We believe that it is not practical for APs to communicate to each other the details of their physical signals and channel functions. The overhead will be excessive and the system will work only when the APs have the same design.3 In contrast, SOFT defines a simple interface between the physical and datalink layers; each bit is assigned a normalized confidence value that can be expressed with a few bits (3 bits in our results). This interface limits the communication overhead over the wired Ethernet, simplifies the combining algorithm, and allows a receiver on the downlink to combine multiple receptions even if they were sent at different 802.11 bit rates, and thus with different modulation schemes. The closest work to ours is by Miu et al. [17], who propose combining receptions from multiple access points to recover faulty packets. Their work does not use physical layer information. It divides the packet into multiple blocks. When the access points receive conflicting blocks, this proposal attempts to resolve the conflict by trying all block combinations and checking whether any of the resulting combinations produce a packet that passes the checksum. The overhead of their approach is exponential in the number of erroneous blocks and thus too costly when there is significant loss. Our experimental results in §9.4 compare against their approach and demonstrate the importance of using physical layer information. (b) Soft Decoding. The use of confidence values in decoding is usually referred to as soft decoding. Prior work in information theory has discussed soft decoding and applied it to various codes including Reed Solomon and LDPC [12, 11, 23]. The Viterbi decoding algorithm has a soft extension (SOVA) that includes physical information as a priori probabilities of the input symbols [13]. Also, HARQ and Chase combining advocate that a receiver saves a corrupted packet and combines it with a later retransmission [8, 2]. SOFT presents a systems architecture for reliable WLAN that is inspired by soft decoding. It pushes soft decoding up to higher layers and incorporates it within a cooperative design where multiple APs work together to recover faulty packets. Furthermore, it focuses on practical networking issues, such as compatibility with current applications and unmodified APs and cards, and provides an implementation and experimental results. Concurrently, another group has proposed the use of soft information but for a different purpose [15]. They use the 3 For example, sending signal samples corresponding to the DSSS chips used in 802.11b will increase the Ethernet overhead by an order of magnitude. Over-sampling and the resolution of the ADC further increase this overhead.

Internet SOFT Uplink Combiner Wired Ethernet

AP1

AP2

...

APn

WLAN client

Figure 1: SOFT’s System Architecture. On the uplink, multiple APs may hear the transmission of the wireless client. They communicate their confidence in the received bits to the SOFT Combiner. SOFT combines their information to reconstruct a clean packet from multiple faulty receptions.

soft information to find incorrect chunks in a packet and retransmit them. In contrast, our work reconstructs correct packets by combining soft information across multiple erroneous receptions. In principle, the two projects are complementary; one may retransmit only the faulty chunks in a packet and also combine multiple faulty receptions of a chunk to reconstruct a correct version.

3.

SOFT’S SYSTEM ARCHITECTURE

SOFT’s design targets wireless LAN deployments in a university or corporate campus. In a large campus, a user is likely to hear multiple access points operating on the same 802.11 channel [3]. Often when suffering from poor connectivity, a user will be between APs. SOFT allows these APs to cooperate to recover corrupted packets, exploiting space diversity. SOFT also exploits time diversity by combining bits in a faulty packet with bits in later potentially faulty retransmissions. Combining packets with their retransmissions occurs on both the uplink and downlink. For simplicity, we describe our ideas within the context of binary modulation, where a symbol refers to one bit. Our algorithm and lemmas can be easily extended to other modulation schemes, as discussed in the appendix.

3.1 An Interface That Returns Soft Values SOFT sits below the MAC, between the physical layer and the data link layer. It modifies the interface between the two layers. Instead of returning 0’s and 1’s, the physical layer returns for each bit a number in [−1, 1], which we call a soft value (SV). The SV gives us an estimate of how confident the physical layer is about the decoded bit. The decoded bit is zero when the corresponding SV is negative, and is one otherwise. The smaller the absolute value of the soft value, the less confident the physical layer is in whether the sent bit is 0 or 1. SOFT associates soft values with each bit, we refer to this replacement of bits with their corresponding soft values as a soft packet or s-packet. The data link layer in SOFT decodes such s-packets to obtain the transmitted packets. Except for some details, the decoding algorithm is similar for the uplink and the downlink scenarios. Although the details of the physical layer differ across technologies and within the same technology, all physical layer design can easily expose an SV for each decoded bit/symbol. Generally speaking, the function of a wireless

receiver is to map a received signal to the symbol that was transmitted. To do so, the receiver computes a soft value from the received signal for each symbol, which is a real number that gives an estimate of the transmitted symbol. The receiver then maps the soft value to the symbol which is closest to it. For example, when the symbols correspond to a single bit, the soft value is decoded to a “1” bit if it is positive and “0” otherwise. The soft value can be easily generalized to systems where each symbol represents more than one bit.

3.2 Uplink Figure 1 shows the SOFT architecture on the uplink. It is designed to exploit spatial diversity through the cooperation of several access points. Each AP in the WLAN infrastructure offers a different communication channel to the client. We leverage the comparatively high bandwidth of the wired Ethernet connecting the access points. Each AP forwards all s-packets including those that are corrupted to the combining agent. The combining agent is a logical module, that may reside on one of the access points or on a different machine on the local Ethernet, and can be thought of as an uber-access point. The combining agent invokes the packet combining procedure only for corrupted packets. The agent first needs to identify the set of s-packets (received at different APs) that correspond to the same transmitted packet. To do this, it decodes the header of each s-packet to determine the packet-id of the transmitted packet. Packet-id is a pseudo random sequence assigned by the transmitter to each packet and maintained across retransmissions. S-packets having the same packet-id correspond to receptions of the same packet or its retransmission at different APs. The combining agent keeps this set of packets corresponding to the same transmission in a hash table that is keyed by the packet-id. Headers, which include the packet-id, are encoded with a lot of redundancy, hence they are highly likely to be received with no errors. Packet-ids are therefore assumed to be received with little error. The next step for the combining agent is decoding. When an s-packet arrives at the agent, we face one of two situations: 1) The arriving packet is uncorrupted, i.e., it passes the 802.11 checksum. In this case, the packet is forwarded toward its IP destination and other packets with the same packet-id are dropped. 2) The packet is corrupted, in which case all the packets with the same packet-id are passed to the combining algorithm (described in §4), to attempt to correct the faulty bits. If the combining algorithm succeeds, the correct packet is forwarded and the packets are deleted from the hash table. If the combining algorithm fails, the agent waits for new soft-packets with the same packet-id. We note that the combining agent also keeps a hash table of packet-ids for recently forwarded packets. When a new packet arrives, the agent checks the table to see whether a packet with a similar id has been correctly forwarded, in which case the new packet is ignored. This eliminates redundant forwarding. Finally, old soft-packets that were never recovered are dropped after a timeout.

3.3 DownLink SOFT’s design for the downlink exploits time diversity. Faulty s-packets are stored and combined with later retransmissions to increase the overall potential of recovery.

The process of combining multiple faulty transmissions to correct bit errors is similar to that of combining s-packets across APs, except that the combining agent in the case of the downlink runs on the client node itself.

3.4 ACKs Retransmissions and Reordering SOFT modifies the transmitter and receiver modules. If a SOFT receiver has the next-hop MAC address, it immediately acks correctly received packets using 802.11 synchronous acks. For each 802.11 ack-ed packet, the receiver communicates the correct reception to the combining agent to allow it to discard the s-packets corresponding to the acked packet. On the other hand, if the packet is faulty or if the receiver is not the intended next-hop, it communicates the s-packet to the combining agent. The agent stores faulty receptions and uses them to reconstruct a clean version of the packet as described above. If the reconstruction succeeds, the agent sends an asynchronous ack to the sender with the packet-id. The lack of an ack causes the sender to timeout and retransmit the packet. After transmitting a packet, the SOFT sender waits for an ack. If it receives a synchronous 802.11 ack, it moves on to the next packet waiting transmission. Otherwise, the packet may need to be retransmitted which happens when the combining agent at the receiver fails to recover a clean copy. The retransmission strategy varies between the uplink and downlink. In the case of the uplink, SOFT disables link-layer retransmissions to allow the combining agent enough time to recover packets that the APs receive in error. Specifically, since cooperation requires the APs to communicate over the wired LAN, it is not possible to recover a corrupted packet within the time limit for sending a synchronous 802.11 ack. Thus, SOFT WLANs operate in 802.11’s unicast mode but with no retrials. The SOFT sender stores unack-ed packets in a hash table keyed on the packet-id. Whenever it receives an asynchronous ack, it looks up the ack-ed packet-id in its table, removes the corresponding packet, and resets any scheduled retransmissions for that packet. Packets stored in the un-acked hash table are retransmitted every retransmit_interval. The value of the retransmit_interval depends on the wireless technology and the bit rate. It should take into account the communication time between the APs and the combining agent over the wired LAN, the time to retransmit an asynchronous ack over the WLAN, and any potential congestion. We estimate this time using an exponentially moving average in a manner similar to the TCP RTT estimate. The retransmit_interval is set to the average estimate plus one standard deviation. On the downlink, the retransmission strategy can be simplified since packet recovery does not involve any communication between nodes. In particular, we envision that SOFT will be implemented in hardware on the wireless card itself. In this case, we believe SOFT can check whether a packet is recoverable via combining with prior receptions very quickly.4 The combining algorithm can be executed 4

Our combining algorithm in §4 uses a weighted sum of the s-packets. Thus, there is no need to keep all s-packets. The sum can be constructed incrementally as more receptions arrive. Combining requires only combining the most recently received s-packet with the weighted sum of prior s-packets, which can be quite fast. Thus, the card needs not maintain more than an s-packet worth of memory.

within a SIFS (i.e., 28 microseconds), and the receiver can immediately send an 802.11 ack if it is able to reconstruct the packet. Thus, the transmitter on an AP can use the current strategy for retransmission. There is no reordering on the downlink. On the uplink, the combining agent puts packets in order before forwarding them. Each packet-id is assigned a timestamp that corresponds to when the agent first saw that id. The agent ensures that forwarded packets leave in the same order as their ids arrived at the agent for the first time. The agent has a variable, called forwarding_time, that is set to the timestamp of the packet-id that the agent should forward next. When the agent obtains a correct packet, it checks its timestamp. If the timestamp matches the forwarding_time, the packet is forwarded and the forwarding_time is set to the timestamp of the next id. Otherwise the packet is kept in an ordered list until the forwarding_time matches its timestamps. The forwarding_time is also updated whenever an s-packet times out.

4. COMBINING ALGORITHM How should one combine the information from multiple corrupted receptions in order to maximize the chances of recovering a clean packet? For both uplink and downlink, the combining algorithm is presented with multiple s-packets that correspond to the same original transmission. None of these s-packets is sufficient on its own to recover the original transmission. Yet, because these are s-packets, they carry SVs for each bit, which give the combining algorithm a hint about the noise level in that bit. Say that the combiner is presented with 3 s-packets. Recall that a positive SV means “1”, a negative SV means “0”, and that the magnitude of the SV refers to the confidence that the physical layer has in the decision. Let the SV corresponding to the ith bit in these s-packets take the values: 0.3, −0.1 and −0.2. How does the combining algorithm decide whether the ith bit is “0” or “1”? The most straightforward approach would take the maximum corresponding SV since it is the reception with most confidence. Thus, in the above example, one would say that bit i is a “1” because the reception with the highest confidence (i.e., 0.3) has mapped it to “1”. But is this the best answer? Clearly, there are other approaches that look equally good. For example, one may resort to a majority vote. In this case, two receptions map this bit to “0” (−0.15 and −0.2) whereas one reception maps it to “1” (one positive value of 0.3). Thus, a majority vote would decide that the bit should be “0”, which is the opposite of the previous answer. There are other approaches too, such as comparing the sum of the positive values to the sum of the negative values, or comparing the sum of the squares of the positive values to the sum of the squares of the negative values, etc. We would like to pick the combining strategy that maximizes the recovery probability. We analyze the packet recovery probability and adopt a combining strategy that maximizes the likelihood of recovering a packet. Our strategy uses the sum of SVs weighted by the noise variance at their corresponding AP. It is based on the following lemma, which gives the optimal decision assuming additive Gaussian white noise (AGWN). Lemma 4.1. Let y1 , . . . , yk be SVs that correspond to multiple receptions of the same bit over different AWGN chan-

nels. To maximize the recovery probability, one should map the bit to “0” or “1” according to the following rule: X yi if ≥ 0 then the bit is “1”, otherwise it is a “0”, σi2 i where σi2 is the noise variance in the i th AWGN channel. The proof of the lemma is in the appendix. We also note that though the above lemma focuses on modulation systems where a symbol is a single bit, the appendix shows a generalized form that applies to larger symbol size. We note the following points. • Straightforward approaches for combining multiple receptions including taking the SV with the highest confidence or doing a majority vote are suboptimal. • One should not treat all receptions equally. This is particularly important for the uplink where different receptions traverse a significantly different wireless channel. For example, the wireless transmitter might have a line of sight to one of the access points, resulting in lower noise variability in this channel, and thus one should trust this channel more. One should not think that the more receptions she/he has the lower the error will be. Including physical information from APs with highly variable channels (i.e., large σ 2 ) without accounting for that variability decreases the overall performance. • Lemma 4.1 is similar to maximal ratio combining [7] but since the SVs are normalized by the physical layer, there is no need to multiply by the mean strength of the signal. Another difference is that in SOFT a combined packet has to pass the 802.11 checksum. • The decision rule above requires the noise variance, σi2 , on each channel. We compute this value by looking at the variance in the received signal, as explained in §6. • The result in Lemma 4.1 assumes an AWGN model. The accuracy of this assumption depends on the environment and the modulation scheme (e.g., our implementation uses GMSK modulation, in which case the SVs are not Gaussian). Experimental results in §9, however, show that the decision strategy advocated by Lemma 4.1 is superior to other strategies in practice.

5.

DIRECT SEQUENCE SPREAD SPECTRUM

802.11b networks use Direct Sequence Spread Spectrum (DSSS). Each bit in a packet is mapped to a multi-bit codeword before transmission. This is achieved by multiplying the bit value by a pseudo-random sequence. For example, we can map a “1” bit to “11100010010” and a “0” bit to “00011101101”. The bits in a codeword are called chips, and the process of mapping a logical bit to a codeword is called spreading. The length and values of the codewords used in 802.11b vary depending on the bit rate. In DSSS, an error has to change many chips in a codeword before it causes an error in mapping a received codeword to the correct logical bit. A simplistic extension of SOFT to DSSS would apply the combining algorithm before DSSS despreading. In particular, the APs would communicate a soft value for each chip in a received codeword. The combining algorithm in §4 is used to assign a 0-1 value to each chip. We then perform

despreading, i.e., we map the corrected chips to the codewords corresponding to the “0” and “1” bits in the packet. Though this approach works, it sends a soft value for each received chip, consuming a significant amount of Ethernet throughput. It would be better if we can send a single SV per codeword, (i.e., one SV per logical bit). SOFT performs DSSS despreading in the physical layer, and exposes a single SV for each DSSS codeword, i.e., a single SV for each logical bit in a packet. As a result, it keeps a clean abstraction between the physical layer and higher layers. Also, this significantly reduces the overhead of communicating SVs over the wired Ethernet. But can we use a single SV per codeword and still achieve optimal combining (for the AWGN model)? First, we compute the optimal combining strategy for DSSS. Say that we have k s-packets corresponding to the same data packet. Let us focus on the i th codeword in these s-packets. Let each codeword contain m chips. In this context, a soft codeword (s-codeword) is a sequence of m SVs, i.e., yi = (y1 , y2 , . . . , ym ). The following lemma gives the optimal combining strategy for DSSS modulation and is proved in the appendix. Lemma 5.1. Let y1 , . . . , yk be multiple s-codewords that correspond to the same codeword transmitted over different 1 AWGN channels. Let x1 = (x11 , . . . , xm ) be the codeword cor0 0 0  ) the codeword responding to logical “1” and x = (x1 , . . . , xm corresponding to a logical “0”. The following strategy maximizes the recovery probability: if

m k X X yij (xj1 − xj0 ) i

j

σi2

≥ 0, then “1”, otherwise “0”,

where σi2 is the variance in the i th AWGN channel. However, we do not want to send over the Ethernet a whole vector of SVs for each codeword. We want the physical layer to compute for each codeword a single SV that is sufficient for optimal combining. Lemma 5.1 shows that this is possible. In Lemma 5.1, the sum over j can be done by the physical layer itself, whereas the sum over i can be done by the combining agent. Said differently,Pfor codeword i, the physical layer exposes a single SV Yi = j yij (xj1 −xj0 ). The combining agent then uses the same rule for both DSSS and non-DSSS combining: if

k X Yi ≥ 0, then “1”, otherwise “0”. σi2 i

6. ESTIMATING THE NOISE VARIANCE In order to compare the soft values observed at different receivers, we require the corresponding σi2 of the channels. In SOFT, the physical layer estimates a channel’s variance experimentally using the empirical distribution of the SVs before quantization. The variance is passed to the higher layer in each s-packet. For the i th AWGN channel, the SV value of a bit can be expressed as yi = hx + ni , where ni is a white Gaussian noise, h is the channel attenuation, and x = −1 for a “0” bit and x = +1 for a“1” bit. Thus, conditioned on the bit value, yi is also a Gaussian variable

1

...

Fraction of Soft Values

0.9 0.8

Mueller & Muller Timing Recovery

match values

Match Filter h[n]

Slicer (Decision Device) > 0