PPR: Partial Packet Recovery Brad Karp UCL Computer Science CS 4038 / GZ06 23 rd January, 2008.

Slides:



Advertisements
Similar presentations
Nick Feamster CS 4251 Computer Networking II Spring 2008
Advertisements

Primitives for Achieving Reliability 3035/GZ01 Networked Systems Kyle Jamieson Department of Computer Science University College London.
COS 461 Fall 1997 COS 461: Networks and Distributed Computing u Prof. Ed Felten u u.
CMAP: Harnessing Exposed Terminals in Wireless Networks Mythili Vutukuru Joint work with Kyle Jamieson and Hari Balakrishnan.
1 Wireless Sensor Networks Akyildiz/Vuran Administration Issues  Take home Mid-term Exam  Assign April 2, Due April 7  Individual work is required 
– Wireless PHY and MAC Stallings Types of Infrared FHSS (frequency hopping spread spectrum) DSSS (direct sequence.
CSE 461: Error Detection and Correction. Next Topic  Error detection and correction  Focus: How do we detect and correct messages that are garbled during.
Comp 361, Spring 20056:Basic Wireless 1 Chapter 6: Basic Wireless (last updated 02/05/05) r A quick intro to CDMA r Basic
Reliability & Channel Coding
1 Chapter Six - Errors, Error Detection, and Error Control Chapter Six.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 12 Introduction to Computer Networks.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 13 Introduction to Computer Networks.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
5-1 Data Link Layer r Today, we will study the data link layer… r This is the last layer in the network protocol stack we will study in this class…
Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
Medium Access Control Protocols Using Directional Antennas in Ad Hoc Networks CIS 888 Prof. Anish Arora The Ohio State University.
Wireless Networking & Mobile Computing CS 752/852 - Spring 2012 Tamer Nadeem Dept. of Computer Science Lec #7: MAC Multi-Rate.
CS640: Introduction to Computer Networks Aditya Akella Lecture 22 - Wireless Networking.
Data and Computer Communications. The Data Link Layer.
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
1 Chapter 16 Protocols and Protocol Layering. 2 Protocol  Agreement about communication  Specifies  Format of messages (syntax)  Meaning of messages.
Localization using DOT3 Wireless Sensors Design & Implementation Motivation Wireless sensors can be used for locating objects: − Previous works used GPS,
1 Forward Error Correction in Sensor Networks Jaein Jeong, Cheng-Tien Ee University of California, Berkeley.
Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 1 Communication Reliability Asst. Prof. Chaiporn Jaikaeo, Ph.D.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Data Link Layer Part I – Designing Issues and Elementary.
Link Estimation, CTP and MultiHopLQI. Learning Objectives Understand the motivation of link estimation protocols – the time varying nature of a wireless.
Error Coding Transmission process may introduce errors into a message.  Single bit errors versus burst errors Detection:  Requires a convention that.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 14.
جلسه هشتم شبکه های کامپیوتری به نــــــــــــام خدا.
Sunghwa Son Introduction Time-varying wireless channel  Large-scale attenuation Due to changing distance  Small-scale fading Due to multipath.
Decoding Collisions Shyamnath Gollakota Dina Katabi.
Chapter 5 Peer-to-Peer Protocols and Data Link Layer PART I: Peer-to-Peer Protocols ARQ Protocols and Reliable Data Transfer Flow Control.
Data and Computer Communications Chapter 6 – Digital Data Communications Techniques.
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1. Error Detection Techniques:
CS3505: DATA LINK LAYER. data link layer  phys. layer subject to errors; not reliable; and only moves information as bits, which alone are not meaningful.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Data Link Layer PART III.
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
COMPUTER NETWORKS Ms. Mrinmoyee Mukherjee Assistant Professor St. Francis Institute of Technology, Mount Poinsur, S.V.P Road, Borivli (west), Mumbai
Forward Error Correction vs. Active Retransmit Requests in Wireless Networks Robbert Haarman.
Computer Science Division
PPR: Partial Packet Recovery for Wireless Networks Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory.
Cross-Layer Approach to Wireless Collisions Dina Katabi.
OV Copyright © 2013 Logical Operations, Inc. All rights reserved. TCP/IP Addressing and Data Delivery  The TCP/IP Protocol Suite  IP Addressing.
Tufts University. EE194-WIR Wireless Sensor Networks. February 17, 2005 Increased QoS through a Degraded Channel using a Cross-Layered HARQ Protocol Elliot.
Medium Access Control in Wireless networks
PPR: Partial Packet Recovery for Wireless Networks Kyle Jamieson and Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laboratory.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
Data Link Layer Flow and Error Control. Flow Control Flow Control Flow Control Specifies the amount of data can be transmitted by sender before receiving.
Why PHY Really Matters Hari Balakrishnan MIT CSAIL August 2007 Joint work with Kyle Jamieson and Ramki Gummadi.
CRMA: Collision Resistant Multiple Access Lili Qiu University of Texas at Austin Joint work with Tianji Li, Mi Kyung Han, Apurv Bhartia, Eric Rozner, Yin.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Data Link Layer. Link Layer The data unit to be transmited at the link layer is called a frame. Why link layer? How can it know where a frame begins and.
Powerpoint Templates Data Communication Muhammad Waseem Iqbal Lec # 15.
Coding and Error Control
Wireless Communication
Part III. Data Link Layer
Communication Networks: Technology & Protocols
Where we are in the Course
Advanced Computer Networks
Data Link Layer What does it do?
Ken Gunnells, Ph.D. - Networking Paul Crigler - Programming
Hidden Terminal Decoding and Mesh Network Capacity
CSMA/CN: Carrier Sense Multiple Access with Collision Notification
Comparisons of HARQ transmission schemes for 11be
Data Link Layer. Position of the data-link layer.
Presentation transcript:

PPR: Partial Packet Recovery Brad Karp UCL Computer Science CS 4038 / GZ06 23 rd January, 2008

2 Packet Corruption in Wireless MACs and use per-packet CRC –Receiver recomputes CRC; drops whole packet if doesn’t match –Protects against data corruption by collisions, interference and do link-layer retransmission of whole packets –Recovers faster than transport layer CRC failures at receiver are relatively frequent –Collisions: RTS/CTS don’t work so well in practice –Bit errors: can’t predict them, so would need too much redundancy to guarantee error-free channel Is it efficient to retransmit entire packet? How much of packet is actually corrupted in practice?

3 Anatomy of a Collision Recall: receiver only can decode bits correctly when SNR (SINR) above some threshold Insight: provided senders in range of receiver, only concurrently received portions of packets should be corrupted! P1 P2 time (at receiver) corrupted OK

4 Goal: Only Retransmit Corrupted Bits How can receiver know which bits corrupted, which received correctly? Will receiver be able to detect salvageable packet at all during a collision? –Today’s radios must receive a special preamble bit sequence correctly to detect start of packet How can receiver efficiently express which bits should be retransmitted? –ACK itself costs bandwidth; want ACK + rexmt’ed bits to be smaller than whole packet!

5 SoftPHY: Identifying Corrupted Bits Idea: PHY can supply MAC not only with decoded data bits, but also degree of confidence in data bits’ correctness “Uncertainty” [Figure: Kyle Jamieson]

6 Background: Direct Sequence Spread Spectrum (DSSS) Transmitter Sender’s PHY receives packet bits from MAC PHY maps every b bits of packet into B-bit (aka B-chip) codeword –Because B > b, space of codewords sparsely populated PHY divides each codeword into series of k-bit symbols (k >= 1) Radio transmits series of symbols; for packet size of T bits, TB/bk symbols transmitted (common sensor “mote” radio): –b = 4, B = 32, k = 2 –i.e., 4 bits in packet sent as 16 channel symbols of 2 bits each

7 Background: DSSS Receiver Receiver demodulates signal Demodulator recovers each successive symbol independently Channel decoder maps each successive codeword-sized group of symbols (i.e., in , 16 symbols, or 32 chips) to closest valid codeword Closest: minimal Hamming distance; valid codeword differing in fewest number of bits from demodulated codeword Idea: for each codeword, use value of this Hamming distance as measure of confidence in corresponding packet data bits’ correctness b/g use DSSS and OFDM-DSSS; work similarly

8 SoftPHY for DSSS Radios: Hamming Distance Example SoftPHY passes hint about confidence level in every 4-bit block in packet up to MAC, along with data Uses threshold η: presumes 4-bit block correct when hint η Receive: C 1 : Receive: C 1 : Uncertainty: 2 Uncertainty: 9 [Figure: Kyle Jamieson] Will threshold always correctly identify whether block is received without error?

9 Accuracy of Threshold-Based Confidence Metric At η = 2, few misclassifications of codeword correctness

10 Postamble Decoding: Detecting Packets During Collisions Recall: radio hardware only detects packet upon receipt of preamble containing reserved bit sequence Receiver can’t hear P2’s preamble! P1 P2 corrupted OK preamble

11 Postamble Decoding (cont’d) Postamble: add copy of preamble and packet header at end of packet When postamble detected, packet has already passed by! –Must buffer recently received samples at all times –Upon detecting postamble, retrieve buffered header just before it, to learn packet length –Retrieve previous packet in its entirety P1 P2 corrupted OK postamble

12 PP-ARQ: Retransmitting Partial Packets SoftPHY indicates which bits likely to be correct, which corrupted Postamble increases probability of detecting colliding packets Need link-layer reliability protocol that allows receiver to send ACKs that request partial retransmissions of packets Problem: how to minimize size of partial ACKs?

13 PP-ARQ Protocol 2.Codewords are in fact correct or 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 [Slide: Kyle Jamieson]

14 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 [Slide: Kyle Jamieson]

15 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 – size preambles Experimental design 25 senders 6 receivers [Slide: Kyle Jamieson]

16 PP-ARQ performance comparison Packet CRC (no postamble) Fragmented CRC (no postamble) –Tuned against traces for optimal fragment size Preamble Checksum Preamble Checksum [Slide: Kyle Jamieson]

17 Throughput improvement x [Slide: Kyle Jamieson]

18 PP-ARQ retransmissions are short [Slide: Kyle Jamieson]

19 25% improvement over fragmented [Slide: Kyle Jamieson]

20 PP-ARQ retransmissions are short [Slide: Kyle Jamieson]

21 PP-ARQ feedback overhead is low ACK size [Slide: Kyle Jamieson]

22 Conclusion Mechanisms for recovering correct bits from parts of packets –SoftPHY interface (PHY-independent) –Postamble decoding PP-ARQ improves throughput 2.3–2.8x over ARQ with whole-packet CRCs Great example of how software radio enables experimentation with new ideas in wireless systems! Software radio can’t yet support online PP-ARQ implementation; latency of processing too great to send ACKs back in timely fashion