![Page 1: PPR: Partial Packet Recovery for Wireless Networks Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/html5/thumbnails/6.jpg)
6
A new source of information
High uncertainty
PHY conveys uncertainty in each bit it delivers up
Low uncertainty
(P2) Preamble
(P1)
Preamble
![Page 7: PPR: Partial Packet Recovery for Wireless Networks Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/html5/thumbnails/9.jpg)
9
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: SoftPHY:
(P2) Preamble
(P1)
Preamble
![Page 10: PPR: Partial Packet Recovery for Wireless Networks Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/html5/thumbnails/10.jpg)
10len
dst
src
len
dst
src
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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/html5/thumbnails/16.jpg)
16
Implementation
Sender: 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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/html5/thumbnails/19.jpg)
19
Throughput improvement 2.3-2.8x
![Page 20: PPR: Partial Packet Recovery for Wireless Networks Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/html5/thumbnails/20.jpg)
20
PP-ARQ retransmissions are short
![Page 21: PPR: Partial Packet Recovery for Wireless Networks Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/html5/thumbnails/21.jpg)
21
25% improvement over fragmented
![Page 22: PPR: Partial Packet Recovery for Wireless Networks Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/html5/thumbnails/22.jpg)
22
PP-ARQ retransmissions are short
![Page 23: PPR: Partial Packet Recovery for Wireless Networks Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/html5/thumbnails/23.jpg)
23
PP-ARQ feedback overhead is low
802.11 ACK size
![Page 24: PPR: Partial Packet Recovery for Wireless Networks Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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 Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory](https://reader036.vdocuments.site/reader036/viewer/2022062323/5697bfb71a28abf838c9e91a/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