![Page 1: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/1.jpg)
PPR: Partial Packet Recovery for Wireless
NetworksKyle Jamieson and Hari
BalakrishnanMIT Computer Science and
Artificial Intelligence Laboratory
![Page 2: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/2.jpg)
2
The problem• Lots of packets lost to collisions and
noise in wireless networks
Non-colliding bits
Non-colliding bits
(P1)(P2)
Time
Can’t recover non-colliding bits today!
![Page 3: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/3.jpg)
3
Bits in a packet don’t share fate
Many bits from corrupted packets are correct, but status quo receivers don’t know which!
(30 node testbed, CSMA on)
![Page 4: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/4.jpg)
4
Three key questions
1. How does receiver know which bits are correct?2. How does receiver know P2 is there at all?3. How to design an efficient ARQ protocol?
(P2)Preamble
(P1)
Preamble
Checksum
Checksum
![Page 5: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/5.jpg)
5
How can receiver identify correct bits?
• Use physical layer (PHY) hints: SoftPHY– Receiver PHY has the information!– Pass this confidence information to higher layer as
a hint
• SoftPHY implementation is PHY-specific; interface is PHY-independent
• Implemented for direct sequence spread spectrum (DSSS) over MSK (this talk) and other modulations
![Page 6: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/6.jpg)
6
A new source of information
High uncertainty
PHY conveys uncertainty in each bit it delivers upLow
uncertainty
(P2) Preamble
(P1)
Preamble
![Page 7: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/7.jpg)
7
Direct seq. spread spectrum background
• Demodulate MSK signal• Decide on closest
codeword to received (Hamming distance)
• Many 32-bit chip sequences are not valid codewords
• Codewords separated by at least 11 in Hamming distance
• 802.11 similar
Transmitter: Receiver:
Bits to chips
4 bits
1 codeword (32 chips) 2 Mchips/s
250 Kbits/s
Data stream
MSK modulation
![Page 8: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/8.jpg)
8
SoftPHY hint for spread spectrum
SoftPHY hint is 2
Receive: 11101101000111000011010110100010C1: 11101101100111000011010100100010
SoftPHY hint is 9
Receive: 11001101000111010111011110110111C1: 11101101100111000011010100100010
Hamming distance between received chips and decided-upon
codeword
![Page 9: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/9.jpg)
9
Three key questions1. How does receiver know which bits are correct?
2. How does receiver know P2 is there at all?
3. How to design an efficient ARQ protocol?
A: SoftPHY:
(P2) Preamble
(P1)
Preamble
![Page 10: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/10.jpg)
10lendstsrc
lendstsrc
Header TrailerTraining Sequence
SFD
Preamble
Training Sequence
EFD
Postamble
cksum
Body
Postamble decoding
(P2)Preamble
(P1)
PostamblePreamble
![Page 11: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/11.jpg)
11
• Codeword synchronization– Translate stream of chips to codewords– Search for postamble at all chip offsets
• Chip synchronization without preamble/postamble
Receiver design with postamble
010101001010011101010001011101001010…
Offset 0:
Offset 3:
Chips:
Codeword 1
Codeword 2
Codeword 3
Codeword 1
Codeword 2
Codeword 3
![Page 12: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/12.jpg)
12
Three key questions
1. How does receiver know which bits are correct?
2. How does receiver know P2 is there at all?
3. How to design an efficient ARQ protocol?
A: Postamble: (P2)Preamble
(P1)
PostamblePreamble
Partial Packets
![Page 13: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/13.jpg)
13
• ARQ today: correctly-received bits get resent
• PP-ARQ key idea: resend only incorrect bits
• Efficiently tell sender about what happened– Feedback packet
ARQ with partial packets
1010001101010111101101010101
Hamming distance
![Page 14: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/14.jpg)
14
10101011010100001001010101010101
Labeling bits “good” or “bad”
• Threshold test: pick a threshold – Label codewords with SoftPHY hint >
“bad”– Label codewords with SoftPHY hint ≤
“good”
“good” “bad”
Hamming distance
![Page 15: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/15.jpg)
15
PP-ARQ protocol
2. Codewords are in fact corrector incorrect– Two possibilities for mistakes
• Labeling a correct codeword “bad”• Labeling an incorrect codeword “good”
“Good” bits“Bad” bits
1. Assuming hints correct, which ranges to ask for?– Dynamic programming problem– Forward and feedback channels
![Page 16: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/16.jpg)
16
ImplementationSender: telos tmote sky sensor node
– Radio: CC2420 DSSS/MSK (Zigbee)– Modified to send postambles
Receiver: USRP software radio with 2.4 GHz RFX 2400 daughterboard
– Despreading, postamble synchronization, demodulation
– SoftPHY implementation
[moteiv.com]
[ettus.com]
PP-ARQ: trace-driven simulation using data from above
![Page 17: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/17.jpg)
17
• Live wireless testbed experiments– Senders transmit 101-byte
packets, varying traffic rate– Evaluate raw PPR
throughput– Evaluate SoftPHY and
postamble improvements
• Trace-driven experiments– Evaluate end-to-end PP-ARQ performance– Internet packet size distribution– 802.11-size preambles
Experimental design
25 senders6 receivers
![Page 18: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/18.jpg)
18
PP-ARQ performance comparison
• Packet CRC (no postamble)
• Fragmented CRC (no postamble)– Tuned against traces for optimal fragment
size
Preamble
Checksum
Checksum
PreambleChecksum
![Page 19: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/19.jpg)
19
Throughput improvement 2.3-2.8x
![Page 20: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/20.jpg)
20
PP-ARQ retransmissions are short
![Page 21: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/21.jpg)
21
25% improvement over fragmented
![Page 22: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/22.jpg)
22
PP-ARQ retransmissions are short
![Page 23: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/23.jpg)
23
PP-ARQ feedback overhead is low
802.11 ACK size
![Page 24: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/24.jpg)
24
Related work• ARQ with memory [Sindhu, IEEE Trans. On Comm. ’77]
– Incremental redundancy [Metzner, IEEE Trans. On Comm. ’79]
– Code combining [Chase, IEEE Trans. On Comm. ’85]• Combining retransmissions
– SPaC [Dubois-Ferrière, Estrin, Vetterli; SenSys ’05]• Diversity combining
– Reliability exchanging [Avudainayagam et al., IEEE WCNC ’03]
– MRD [Miu, Balakrishnan, Koksal; MobiCom ’05]– SOFT [Woo et al.; MobiCom ’07]
• Fragmented CRC– Seda [Ganti et al.; SenSys ’06], 802.11 fragmentation
![Page 25: PPR: Partial Packet Recovery for Wireless Networks](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815c20550346895dc9f492/html5/thumbnails/25.jpg)
25
Conclusion• Mechanisms for recovering correct
bits from parts of packets– SoftPHY interface (PHY-independent)– Postamble decoding
• PP-ARQ improves throughput 2.3–2.8 over the status quo
• PPR Useful in other apps, e.g. opportunistic forwarding