The Importance of Being Opportunistic

Similar documents
XORs in the Air: Practical Wireless Network Coding

CS 268: Computer Networking. Taking Advantage of Broadcast

The Importance of Being Opportunistic: Practical Network Coding for Wireless Environments

CE693: Adv. Computer Networking

XORs in The Air: Practical Wireless Network Coding

PRESENTED BY SARAH KWAN NETWORK CODING

WIRELESS networks suffer from low throughput and

ECE 598HH: Special Topics in Wireless Networks and Mobile Systems

Performance Evaluation of Wireless Network Coding under Practical Settings

Embracing Wireless Interference: Analog Network Coding

ECE 158A: Lecture 13. Fall 2015

Reminder: Datalink Functions Computer Networking. Datalink Architectures

Queue Management for Network Coding in Ad Hoc Networks

Wireless MACs: MACAW/802.11

COMP3331/9331 XXXX Computer Networks and Applications Final Examination (SAMPLE SOLUTIONS)

Routing in Wireless Mesh Networks. Feb. 22, 2006

CSCI 1680 Computer Networks Fonseca. Exam - Midterm. Due: 11:50am, 15 Mar Closed Book. Maximum points: 100

Wireless (Internet) Routing. Opportunistic Routing, Network Coding, TCP over Wireless

Practical Lazy Scheduling in Wireless Sensor Networks. Ramana Rao Kompella and Alex C. Snoeren

Making Friends with Broadcast. Administrivia

Wireless Internet Routing. Learning from Deployments Link Metrics

Recommended Readings

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

Christos Papadopoulos

Randomization. Randomization used in many protocols We ll study examples:

Randomization used in many protocols We ll study examples: Ethernet multiple access protocol Router (de)synchronization Switch scheduling

Link Estimation and Tree Routing

Question Points Score total 100

CS164 Final Exam Winter 2013

Reliable video-streaming delivery in wireless access networks using Network Coding

Introduction to Real-Time Communications. Real-Time and Embedded Systems (M) Lecture 15

Typical rooftop view

XCOR: Synergistic Inter flow Network Coding and Opportunistic Routing

Investigating the Use of Synchronized Clocks in TCP Congestion Control

Comparison of Analytical and Measured Performance Results on Network Coding in IEEE Ad-Hoc Networks

TCP Congestion Control

Design of Link and Routing Protocols for Cache-and- Forward Networks. Shweta Jain, Ayesha Saleem, Hongbo Liu, Yanyong Zhang, Dipankar Raychaudhuri

Agenda. What are we looking at? Introduction. Aim of the project. IP Routing

An Empirical Study of Performance Benefits of Network Coding in Multihop Wireless Networks

CAR: Coding-Aware Opportunistic Routing in Wireless Mesh Networks

Ethernet. Network Fundamentals Chapter Cisco Systems, Inc. All rights reserved. Cisco Public 1

The Effects of Asymmetry on TCP Performance

Advanced Computer Networks. Medium Access, WLAN & Bluetooth

6.9 Summary. 11/20/2013 Wireless and Mobile Networks (SSL) 6-1. Characteristics of selected wireless link standards a, g point-to-point

TMMAC: A TDMA Based Multi-Channel MAC Protocol using a Single. Radio Transceiver for Mobile Ad Hoc Networks

Design and Evaluation of a new MAC Protocol for Long- Distance Mesh Networks by Bhaskaran Raman & Kameswari Chebrolu ACM Mobicom 2005

A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols. Broch et al Presented by Brian Card

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer

Multipath TCP with Network Coding for Wireless Mesh Networks

Housekeeping. Fall /5 CptS/EE 555 1

CSCI 466 Midterm Networks Fall 2011

PiggyCode: a MAC layer network coding scheme to improve TCP performance over wireless networks

Performance Evaluation of Route Failure Detection in Mobile Ad Hoc Networks

Chapter 1 - Introduction

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061/1110. Lecture 8. Medium Access Control Methods & LAN

Last Lecture. Network Architecture: Layers. This Lecture. In the sending host (2) In the sending host

Multi-Channel MAC for Ad Hoc Networks: Handling Multi-Channel Hidden Terminals Using A Single Transceiver

3. Evaluation of Selected Tree and Mesh based Routing Protocols

Lecture 16: QoS and "

A Joint Network-Channel Coding Technique for Single-Hop Wireless Networks

Network Coding Efficiency In The Presence Of An Intermittent Backhaul Network

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Evaluating the Effect of Path Diversity over QoS and QoE in a High Speed Indoor Mesh Backbone

Network Coding Via Opportunistic Forwarding in Wireless Mesh Networks

Computer Networking Lecture 5 Data link Layer Access Control. Based on slides by Peter Steenkiste Copyright, Carnegie Mellon

Medium Access Control. IEEE , Token Rings. CSMA/CD in WLANs? Ethernet MAC Algorithm. MACA Solution for Hidden Terminal Problem

Internetwork Basic. Possible causes of LAN traffic congestion are

Initialization Protocols for IEEE Based Ad Hoc Networks Λ

IEEE , Token Rings. 10/11/06 CS/ECE UIUC, Fall

Management Science Letters

Subject: Adhoc Networks

Chapter 1 Basic concepts of wireless data networks (cont d)

MAC LAYER. Murat Demirbas SUNY Buffalo

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Chapter 4. Routers with Tiny Buffers: Experiments. 4.1 Testbed experiments Setup

Analog Network Coding. Sachin Katti. Shyamnath Gollakota and Dina Katabi. Current Wireless. Router C

Measurement Study of Lowbitrate Internet Video Streaming

WITH the evolution and popularity of wireless devices,

ICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections

Embracing Wireless Interference: Analog Network Coding

High Level View. EE 122: Ethernet and Random Access protocols. Medium Access Protocols

Lecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture)

Intelligent Transportation Systems. Medium Access Control. Prof. Dr. Thomas Strang

Outline: Connecting Many Computers

Implementing and Experimenting with XCP

Bottleneck Zone Analysis in Wireless Sensor Network Using XOR Operation and Duty Cycle

Lecture 22: Buffering & Scheduling. CSE 123: Computer Networks Alex C. Snoeren

Presented by: Murad Kaplan

Wireless Networks (CSC-7602) Lecture 8 (22 Oct. 2007) Seung-Jong Park (Jay) Fair Queueing

DCAR: Distributed Coding-Aware Routing in Wireless Networks

CSE 473 Introduction to Computer Networks. Exam 2. Your name here: 11/7/2012

II. Principles of Computer Communications Network and Transport Layer

Simulation Analysis of the MH-TRACE Protocol. Bora KARAOGLU

A Practical and Efficient Overhearing Strategy for Reliable Content Distribution over a Single Hop Ad Hoc Network

ECE 544 Computer Networks II Mid-Term Exam March 29, 2002 Profs. D. Raychaudhuri & M. Ott

Wireless Networks (MAC) Kate Ching-Ju Lin ( 林靖茹 ) Academia Sinica

Wireless Network Security Spring 2013

Impact of TCP Window Size on a File Transfer

Detecting Sybil Nodes in Wireless Networks. *: SIS Dept., UNC Charlotte **: ECE Dept., WPI

CRC. Implementation. Error control. Software schemes. Packet errors. Types of packet errors

Transcription:

High Performance Switching and Routing Telecom Center Workshop: Sept 4, 1997. The Importance of Being Opportunistic Sachin Katti Dina Katabi, Wenjun Hu, Hariharan Rahul, and Muriel Medard

Bandwidth is scarce in wireless Can we send more while consuming less bandwidth?

Current Approach Relay Alice A lice s p acket B o b s p acket Requires 4 transmissions Can we do it in 3 transmissions? Bob B o b s p acket A lice s p acket

A Network Coding Approach Relay Alice A lice s p acket B o b s p acket Bob B o b s p acket A lice s p acket 3 transmissions instead of 4 Save bandwidth

Network Coding Routers mix bits in packets, potentially from different flows Theoretically shown to achieve capacity for multicast No concrete results for unicast case

How to apply network coding? State-of-the Art Multicast Given Sender & Receivers R S R Given Flow Rate & Capacities R Min-Cost Flow Optimization Find the routing, which dictates the encoding

How to apply network coding? State-of-the Art Multicast Given Sender & Receivers Given flow rate & capacities In Practice Unicast Many Unknown Changing Sender & Receivers Unknown and bursty flow rate Min-Cost Flow Optimization Find the routing, which dictates the encoding?

How to apply network coding? State-of-the Art Multicast Given Sender & Receivers Given flow rate & capacities In Practice Unicast Many Unknown Changing Sender & Receivers Unknown and bursty flow rate Min-Cost Flow Optimization Find the routing, which dictates the encoding Opportunism

Opportunism (1) Opportunistic Listening: o Every node listens to all packets o It stores all heard packets for a limited time

Opportunism (1) Opportunistic Listening: o Every node listens to all packets o It stores all heard packets for a limited time A D B

Opportunism (1) Opportunistic Listening: o Every node listens to all packets o It stores all heard packets for a limited time o Node sends Reception Reports to tell its neighbors what packets it heard Reports are annotations to packets If no packets to send, periodically send reports

Opportunism (2) Opportunistic Coding: o Each node uses only local information o Use your favorite routing protocol o To send packet p to neighbor A, XOR p with packets already known to A Thus, A can decode o But how to benefit multiple neighbors from a single transmission?

Efficient Coding A C D B Arrows show next-hop

Efficient Coding Bad Coding C will get RED pkt but A can t get B LU E pkt A C D B Arrows show next-hop

Efficient Coding Better Coding Both A & C get a packet A C D B Arrows show next-hop

Efficient Coding Best Coding A, B, and C, each gets a packet A C D B To Arrows XOR n packets, show next-hop each next-hop should have the n-1 packets encoded with the packet it wants

But how does a node know what packets a neighbor has? Reception Reports But reception reports may get lost or arrive too late Use Guessing o If I receive a packet I assume all nodes closer to sender have received it

Putting It Together A C D B

Putting It Together A C D B

Putting It Together A C D B D on t reorder packets in a flow Keeps TCP happy No scheduling No packet is delayed

Beyond Fixed Routes B heard S s transm ission S S transmits A B No need for A transmission Route Chosen by Routing Protocol D Opportunistic Routing [BM05] Piggyback on reception report to learn whether next-hop has the packet cancel unnecessary transmissions

Opportunism Unicast Flows arrive and leave at any time No knowledge of rate No assumption of smooth traffic O A B N C F K M D G E

Performance

Emulation Environment We use Emstar o R eal code sim ulator o 802.11 radios o Power Level: 200mW o 11Mbps bit rate o Simulated radio channel

Recall Our Simple Experiment XOR Relay Alice A lice s p acket B o b s p acket Bob B o b s p acket A lice s p acket 3 transmissions instead of 4 25% throughput increase

1 Throughput (KB/s) 500 400 300 200 100 No Coding 330 KB/s XOR 270 KB/s 0 Practical artifacts make network coding perform poorly Network coding requires broadcast But 802.11 broadcast has no backoff more collisions

Ideally, design a back-off scheme for broadcast channels In practice, we want a solution that works with off-the-shelf 802.11 drivers/cards Our Solution: Pseudo Broadcast Piggyback on 802.11 unicast which has synchronous Acks and backoff o Each XOR-ed packet is sent to the MAC address of one of the intended receivers

1 XOR with Pseudo-Broadcast Improves Throughput Throughput (KB/s) 500 400 300 200 No Coding 330 KB/s XOR with Pseudo-Broadcast 495 KB/s XOR 270 KB/s 100 0 Improvement is more than 25% because 802.11 MAC gives nodes equal bandwidth shares Without coding, relay needs twice as much bandwidth With coding, all nodes need equal bandwidth

Larger experiment 100 nodes 800mx800m Senders and receivers are chosen randomly Metric: Total Throughput of the Network

Opportunistic Coding vs. Current Network Throughput (KB/s) 1200 1000 800 600 400 200 0 Opp. Coding Our Scheme Opp. Coding (no guessing) No Coding No Coding A Unicast Network Coding scheme that works 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 well in No. realistic of flows situations

Preliminary Implementation Results Linux Kernel 802.11 MAC Click Elements (part of Roofnet) Only Opportunistic Coding & Pseudo Broadcast (No opportunistic Listening) Relay Alice Bob

Ratio of throughput with coding to without coding 2 1.8 1.6 1.4 1.2 Implementation Results 1 1 2 5.5 11 Network Coding Doubles the Throughput 802.11 Bit Rates (Mb/s)

Conclusion First implementation of network coding in a wireless network Learned Lessons o Be opportunistic (greed is good!) o Can do a good job with multiple unicast o 5x higher throughput in congested networks o Preliminary implementation results show throughput doubles

The Wireless Environment Multi-hop wireless networks (e.g., Roofnet)

Opportunistic Coding vs. Current Network Throughput (KB/s) 1200 1000 800 600 Our Scheme 400 200 No Coding 0 A Unicast Network Coding scheme that works 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 well in No. realistic of flows situations