Network Coding in Wireless Multihop Networks

Slides:



Advertisements
Similar presentations
Architecture and Algorithms for an IEEE 802
Advertisements

$ Network Support for Wireless Connectivity in the TV Bands Victor Bahl Ranveer Chandra Thomas Moscibroda Srihari Narlanka Yunnan Wu Yuan.
Transportation-aware Routing in Delay Tolerant Networks (DTNs) Asia Future Internet 2008 Taekyoung Kwon Seoul National University.
How to Evaluate Exotic Wireless Routing Protocols? 1 Dimitrios Koutsonikolas 1, Y. Charlie Hu 1, Konstantina Papagiannaki 2 1 Purdue University, 2 Intel.
Streaming Video over the Internet
1 Routing Protocols I. 2 Routing Recall: There are two parts to routing IP packets: 1. How to pass a packet from an input interface to the output interface.
Multicasting in Mobile Ad hoc Networks By XIE Jiawei.
Mobility Increase the Capacity of Ad-hoc Wireless Network Matthias Gossglauser / David Tse Infocom 2001.
CCNA3: Switching Basics and Intermediate Routing v3.0 CISCO NETWORKING ACADEMY PROGRAM Switching Concepts Introduction to Ethernet/802.3 LANs Introduction.
XORs in The Air: Practical Wireless Network Coding
CodeTorrent: Content Distribution using Network Coding in VANET Uichin Lee, JoonSang Park, Joseph Yeh, Giovanni Pau, Mario Gerla Computer Science Dept,
Multicast in Wireless Mesh Network Xuan (William) Zhang Xun Shi.
Network Layer Routing Issues (I). Infrastructure vs. multi-hop Infrastructure networks: Infrastructure networks: ◦ One or several Access-Points (AP) connected.
Network Coding in Peer-to-Peer Networks Presented by Chu Chun Ngai
Ranveer Chandra , Kenneth P. Birman Department of Computer Science
MANETs Routing Dr. Raad S. Al-Qassas Department of Computer Science PSUT
Real Time Flow Handoff in Ad Hoc Wireless Networks using Mobility Prediction William Su Mario Gerla Comp Science Dept, UCLA.
Network Coding for Large Scale Content Distribution Christos Gkantsidis Georgia Institute of Technology Pablo Rodriguez Microsoft Research IEEE INFOCOM.
1 University of Freiburg Computer Networks and Telematics Prof. Christian Schindelhauer Mobile Ad Hoc Networks Network Coding and Xors in the Air 7th Week.
Beneficial Caching in Mobile Ad Hoc Networks Bin Tang, Samir Das, Himanshu Gupta Computer Science Department Stony Brook University.
Exploiting Opportunism in Wireless Networks Aruna Balasubramanian Guest Lecture, CS 653 (Some slides borrowed from the ExOr and MORE presentations at SigComm.
E-ODMRP: Enhanced ODMRP with Motion Adaptive Refresh Soon Y. Oh, Joon-Sang Park, Mario Gerla Computer Science Dept. UCLA.
Fair Sharing of MAC under TCP in Wireless Ad Hoc Networks Mario Gerla Computer Science Department University of California, Los Angeles Los Angeles, CA.
MIMO-CAST: A CROSS-LAYER AD HOC MULTICAST PROTOCOL USING MIMO RADIOS Soon Y. Oh*, Mario Gerla*, Pengkai Zhao**, Babak Daneshrad** *Computer Science Dept.,
Anonymous Gossip: Improving Multicast Reliability in Mobile Ad-Hoc Networks Ranveer Chandra (joint work with Venugopalan Ramasubramanian and Ken Birman)
Robust Wireless Multicast using Network Coding Dawn Project Review, UCSC Sept 12, 06 Mario Gerla Computer Science Dept, UCLA
Component-Based Routing for Mobile Ad Hoc Networks Chunyue Liu, Tarek Saadawi & Myung Lee CUNY, City College.
Content Distribution in Vehicular Ad Hoc Network Computer Science Dept, UCLA Dec. 14, 2006 IBM UCLA.
High Throughput Route Selection in Multi-Rate Ad Hoc Wireless Networks Dr. Baruch Awerbuch, David Holmer, and Herbert Rubens Johns Hopkins University Department.
Ad Hoc Wireless Routing COS 461: Computer Networks
Network Coding vs. Erasure Coding: Reliable Multicast in MANETs Atsushi Fujimura*, Soon Y. Oh, and Mario Gerla *NEC Corporation University of California,
ENHANCING AND EVALUATION OF AD-HOC ROUTING PROTOCOLS IN VANET.
CIS 725 Wireless networks. Low bandwidth High error rates.
1 Vehicular Networks - Content distribution and data retrieval Slides are integrated from researchers at UCLA.
Itrat Rasool Quadri ST ID COE-543 Wireless and Mobile Networks
Qian Zhang Department of Computer Science HKUST Advanced Topics in Next- Generation Wireless Networks Transport Protocols in Ad hoc Networks.
Institut für Betriebssysteme und Rechnerverbund Technische Universität Braunschweig Multi hop Connectivity in Mobile Ad hoc Networks (MANETs) Habib-ur.
1 Spring Semester 2009, Dept. of Computer Science, Technion Internet Networking recitation #3 Mobile Ad-Hoc Networks AODV Routing.
1 BitHoc: BitTorrent for wireless ad hoc networks Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE 28/02/2008 MAESTRO/PLANETE.
Presented by Fei Huang Virginia Tech April 4, 2007.
Improving QoS Support in Mobile Ad Hoc Networks Agenda Motivations Proposed Framework Packet-level FEC Multipath Routing Simulation Results Conclusions.
Alexander Afanasyev Tutors: Seung-Hoon Lee, Uichin Lee Content Distribution in VANETs using Network Coding: Evaluation of the Generation Selection Algorithms.
Wireless Sensor Networks COE 499 Energy Aware Routing
Computer Networks Performance Metrics. Performance Metrics Outline Generic Performance Metrics Network performance Measures Components of Hop and End-to-End.
Error control in video Streaming. Introduction Development of different types of n/ws such as internet, wireless and mobile networks has created new applications.
Multicast + Network Coding in Ad Hoc Networks CS 218 Fall 2008.
Load-Balancing Routing in Multichannel Hybrid Wireless Networks With Single Network Interface So, J.; Vaidya, N. H.; Vehicular Technology, IEEE Transactions.
Multicast ad hoc networks Multicast in ad hoc nets Multicast in ad hoc nets Review of Multicasting in wired networks Review of Multicasting in wired networks.
GPSR: Greedy Perimeter Stateless Routing for Wireless Networks EECS 600 Advanced Network Research, Spring 2005 Shudong Jin February 14, 2005.
S Master’s thesis seminar 8th August 2006 QUALITY OF SERVICE AWARE ROUTING PROTOCOLS IN MOBILE AD HOC NETWORKS Thesis Author: Shan Gong Supervisor:Sven-Gustav.
KAIS T High-throughput multicast routing metrics in wireless mesh networks Sabyasachi Roy, Dimitrios Koutsonikolas, Saumitra Das, and Y. Charlie Hu ICDCS.
TCP-Cognizant Adaptive Forward Error Correction in Wireless Networks
Multipath TCP in a Lossy ad hoc Wireless Network Medhocnet 2004 Bodrum, June 2004 Jiwei Chen, Kaixin Xu, Mario Gerla UCLA.
SHORT: Self-Healing and Optimizing Routing Techniques for Mobile Ad Hoc Networks Presenter: Sheng-Shih Wang October 30, 2003 Chao Gui and Prasant Mohapatra.
Video Streaming Transmission Over Multi-channel Multi-path Wireless Mesh Networks Speaker : 吳靖緯 MA0G WiCOM '08. 4th International.
A Mechanism for Communication- Efficient Broadcast Encryption over Wireless Ad Hoc Networks Johns Hopkins University Department of Computer Science Reza.
A Receiver-Initiated Approach for Channel-Adaptive On-Demand Routing in Ad Hoc Mobile Computing Networks Xiao-Hui Lin, Yu-Kwong Kwok, and Vincent K. N.
Optimization Problems in Wireless Coding Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.
Trading Structure for Randomness in Wireless Opportunistic Routing Szymon Chachulski, Michael Jennings, Sachin Katti and Dina Katabi MIT CSAIL SIGCOMM.
Peter Pham and Sylvie Perreau, IEEE 2002 Mobile and Wireless Communications Network Multi-Path Routing Protocol with Load Balancing Policy in Mobile Ad.
Reliable Adaptive Lightweight Multicast Protocol Ken Tang, Scalable Network Technologies Katia Obraczka, UC Santa Cruz Sung-Ju Lee, Hewlett-Packard Laboratories.
Lecture # 3: WAN Data Communication Network L.Rania Ahmed Tabeidi.
Performance Comparison of Ad Hoc Network Routing Protocols Presented by Venkata Suresh Tamminiedi Computer Science Department Georgia State University.
1 Ad-hoc Transport Layer Protocol (ATCP) EECS 4215.
ProbeCast: MANET Admission Control via Probing Soon Y. Oh, Gustavo Marfia, and Mario Gerla Dept. of Computer Science, UCLA Los Angeles, CA 90095, USA {soonoh,
Wireless LANs Wireless proliferating rapidly.
Emergency Related Video Streaming in VANETs using Network Coding
ODMRP Enhancement.
High Throughput Route Selection in Multi-Rate Ad Hoc Wireless Networks
Efficient flooding with Passive clustering (PC) in Ad Hoc Networks
Presentation transcript:

Network Coding in Wireless Multihop Networks Joon-Sang Park Hongik Univ. Dept. of Computer Eng. jsp@hongik.ac.kr

Outline Network coding overview NC-based protocols in wireless multihop networks Mobile P2P protocol: CodeTorrent Multicasting protocol: CodeCast

A Computer Network Hosts are sources/destinations of data Routers Hosts Hosts are sources/destinations of data Routers relay data

Network Coding Performing coding on the content of packet on routers Increases multicast capacity in wired networks - Alswede et. al, 2000. y1 y1 f1(y1,y2,y3) y1 y2 f2(y1,y2,y3) y3 y3 y3 Routing Network Coding Network coding refers to the notion of performing coding on the content of packet throughout the network. Let’s think about a router in conventional networks. What it does is forwarding messages. Each packet on an output link is just a copy of a message on an input link. But in network coding, the router can perform some computation, so that each message on an output link can be a function of the messages on the input links. So you can have some processing, or coding, in the network, instead of just at the endpoints. What would that buy you?

Benefit of Network Coding y x C B A x x y x  y A C B C B A A C B y C B A y C B A y = x  (x  y) x 4 transmissions without NC 3 transmissions with NC (Katabi’05, Chou’04)

Benefit of Network Coding y x C B A y x x C B A C B A x+y A C B y C B A C B A y 2 transmissions with PNC/ANC C B A x (Zhang’06, Katabi’07) 4 transmissions without NC

NC achieves multicast capacity a+b ,a ,b a,b b optimal routing throughput = 1 network coding throughput = 2 Alswede, Cai, Li, Yeung (2000): mintЄT MinCut(s,t) is always achievable by network coding h = mintЄT MinCut(s,t) is “multicast capacity” sender Network coding was first developed for wired multicasting. The good thing of network coding is that it increase end-to-end throughput in multicasting. In this wired network example where each link has unit capacity network coding can achieve end-to-end throughput of 2 whereas conventional multicast can achieve end-to-end throughput of 1. In this example, since the given network is simple, we can easily identify where and how to code to achieve optimal capacity of the network. receiver coding node

How to code? Given: Directed graph (V,E) Sender s Receiver set T (subset of V)

Random Linear Coding [Chou’03, Ho’03] Sender x y z Every packet p carries e = [e1 e2 e3] encoding vector prefix indicating how it is constructed (e.g., coded packet p = ∑eixi where xi is original packet) A αx + βy + γz buffer On every intermediate node, we transmit a random mix/combination of packets in its local buffer. Random combination Destination Intermediate nodes randomly mix incoming packets to generate outgoing packets

Preliminaries- Linear Algebra Vectors (lowercase boldface) r1 = (1, 2, 3), r2 = (1, 2, 1) Linear combination a*r1+b*r2 where a and b are scalars Linear independence if there is no pair a and b such that a*r1 + b* r2 = 0 and a are b non-zero Packets represented as vectors 256byte packet = > a set of 256 elements Linear combination of two packets => linear combination of two vectors

Random Linear Coding Original Packets p1 p2 p3 g*p1 + h*p2 + e*p3 = n3 a*p1 + b*p2 + c*p3 = n1 d*p1 + e*p2 + f*p3 = n2 n1 n2 n3 From mathematics point of view, packets are no more than vectors and vectors are sets of numbers. A linear combination of packets are the same as a linear combination of vectors. Shown an example here, we can generate n1 which is a linear combination of p1,2,3 by performing addition operation of the three packets or vectors after multiplying three scalar a, b, and c to the three packets respectively. We choose the three scalar a, ,b, and c randomly hence the name of random linear coding.

Random Linear Coding (cont.) Original Packets p1 p2 p3 5*p1[1] + 8*p2[1] + 1*p3[1] = n1[1] 2*p1[1] + 3*p2[1] + 7*p3[1] = n2[1] 9*p1[1] + 6*p2[1] + 5*p3[1] = n3[1] [5 8 1] [2 3 7] [9 6 5] n1 n2 n3 Recover original by matrix inversion

Outline Network coding overview NC-based protocol in wireless multihop networks Mobile P2P protocol: CodeTorrent Multicasting: CodeCast

Mobile Peer-to-Peer(P2P) P2P file sharing in mobile wireless networks Fully connected Intermittently connected (opportunistic ad-hoc) Should leverage mobility!

You are driving to Vegas You hear of this new show on the radio Video preview on the web (20MB) Video clip to download after seeing a billborad on the way to Vegas…

P2P in opportunistic ad-hoc networks: mobility assisted dissemination G R Y Y2 R R R Internet Y Y Y When you hit other cars possessing other uses of the file, you retrieve those pieces form the other users. Gossiping Availability of Blocks Exchange Blocks via multi-hop pulling Downloading Blocks from AP

Network Coding in P2P Swarming P2P File Swarming File is divided into many small pieces for distribution Clients request different pieces from the server/other peers When all pieces are downloaded, clients can re-construct the whole file Missing coupon problem P2P using Network Coding Avalanche, Infocom’05 1 2 6 5 Server 3 4 1 3 5 6 2 4 To download a file you retrieve piece by piece from other piers and when you collect all the pieces then you are done. But there is a drawback so-called missing coupon problem. Sometime, it is really difficult to collect the last piece that completes downloading. You spend 10% of time to download 99% of pieces and 90% of time to download the last problematic piece. 1 2 3 4 5 6

Swarming Limitation: Missing Coupon! C1 Sends Block 1 C2 Sends Block 2 C3 Sends Block 2 B2 B2 B2 B1 B1 B2 C1 C2 C3 B2 B2 B1 B2 B2 C4 C5 C6 C5 Sends Block 2 B1 is STILL missing!!

Network Coding Helps Coupon Collection C1 Sends Block 1 C2 Sends a Coded Block: B1+B2 C3 Sends Block 2 B1+B2 B1+B2 B2 B2 B1+B2 B1 B1 B1 B2 C1 C2 C3 B1+B2 B2 B1 B1+B2 B1 B1+B2 B2 C4 C5 C6 C4 and C6 successfully recovered both blocks C5 Sends a Coded Block: B1+B2

CodeTorrent: Basic Idea Buffer Internet Buffer Buffer “coded” block B1 File: k blocks B2 B3 Bk + *a1 *a2 *a3 *ak Random Linear Combination Re-Encoding: Random Linear Comb. of Encoded Blocks in the Buffer Outside Range of AP Exchange Re-Encoded Blocks Downloading Coded Blocks from AP Meeting Other Vehicles with Coded Blocks

Design Rationale Single-hop better than multihop Network coding Multi-hop data pulling does not perform well in MANET (routing O/H is high) Users in multi-hop may not forward packets not useful to them (lack of incentive)! Network coding Mitigates rare piece problem Maximizes benefits of overhearing Exploits mobility Carry-and-forward coded blocks

CodeTorrent - Beaconing Periodic broadcasting of peer ID and its code vector Used for searching helpful nodes: those who have at least one linearly independent code block + + + Red is Helpful!

CodeTorrent - Single-hop pulling A peer pulls coded blocks from the helpful peers 1. G pulls a coded block from R 2. G checks helpfulness and repeats Random Linear combination R GetBlock Y G G sends a GetBlock message to R R prepares a re-encoded block R broadcasts the re-encoded block Check helpfulness: If helpful, store it!

Simulations - Setup Terrain: 2.4x2.4 km2 Qualnet 3.9 IEEE 802.11b / 2Mbps Terrain: 2.4x2.4 km2 Distributing 1MB file 4KB/block * 250 blocks 1KB per packet Randomly located 3 Aps Comparing CarTorrent (w/ AODV) with CodeTorrent AODV w/ net-diameter 3 hops CodeTorrent with GF(256)

Fraction of the # pieces/rank of all the interested nodes Simulation Results Overall downloading progress Fraction of the # pieces/rank of all the interested nodes 200 nodes 40% popularity Time (seconds)

Simulation Results (2) Impact of mobility Speed helps disseminate from AP’s and C2C Speed hurts multihop routing (CarT) Car density+multihop promotes congestion (CarT) Avg. Download Time (s) 40% popularity

Overhead Issues Packet header Computation Overheard Each packet carries encoding vector and its size scales with # of pieces if file size = 1GB & packet size = 1KB, 1M pieces exist and thus encoding vector size = 1MB, too large! Computation Overheard Decoding takes O(n3) X1 X2 X3 e1 e2 e3 + [e1,e2,e3] e1X1+e2X2+e3X3

Reducing overhead Divide file into “generations” Pieces only in the same generation can be combined Coupon collection problem again! 50MB one generation 5 generations of 10MB 1 4

Outline Network coding overview NC-based protocols in wireless multihop networks Mobile P2P protocol: CodeTorrent Multicasting protocol: CodeCast

Multicast in Real Testbed Very unreliable! ODMRP + 802.11  80% delivery (2-hop)  60% delivery (3-hop) Lose 802.11 RTS/CTS protection

Robust Multicast using NC In wireless multihop multicast, one must consider: Random errors, external interference /jamming, collisions; Motion, path breakage Target application: Multicast (buffered) video streaming Some loss tolerance Some delay tolerance (store & playback at destination) - non interactive

Problem Statement Multicast streaming in mobile wireless networks is non-trivial Streaming requires: high reliability (but not 100%), low delay (but not 0) But network is: unreliable, bandwidth-limited Major concern: packet drops Lossy wireless channel (uncorrelated, random like errors) Route breakage due to mobility, congestion, etc (correlated errors)

Conventional vs NC Multicast Conventional Approaches Time diversity => O/H, delay? Recovery scheme a la ARQ (Reliable Multicast) (End-to-end) Coding (FEC, MDC, …) Multipath diversity (ODMRP, …) => O/H? NC Approach Main ingredient: Random Linear Coding (RLC) Exploit time and multipath diversity Controlled-loss (near 100%), bounded-delay (hundreds of ms) Suitable for buffered streaming Real time version (tens of ms delay bound) exists

Simulation Settings Metrics QualNet 100 nodes on 1500 x 1500 m2 5 Kbytes/sec traffic (512B packet) Random Waypoint Mobility varying max speed Metrics Good packet ratios: num. of data packets received within deadline (1sec) vs. total num. of data packets generated Normalized packet O/H: total no. of packets generated vs no. of data packet received Delay: packet delivery time from the source application to receiver applications

ODMRP vs NC: Reliability Good Packet Ratio network coding achieves near 100% delivery flat lines regardless of mobility types; whereas with conventional routing as mobility increase delivery ratio decrease

ODMRP vs NC: Efficiency Important results is this: network coding approach improves reliability but incurs only half the overhead compared to conventional routing

ODMRP vs NC: Delay Is this fundamental trade-off?

Coding at sender An application generates a stream of frames … Block/Generation 1 Block 2 Network layer generates stream of coded packets … (delay) Generation 1 Generation 2 time A random linear combination of Block 1 frames A random linear combination of Block 2 frames

Forwarding – Conventional Routing forwarders Source Receiver Select least number of nodes as forwarders to form a path b/w a S-R pair and each forwarder transmits each packet once

Problem – Conventional Routing forwarders Receiver What if route breaks? forwarders What if random error occurs?

Forwarding – NC approach forwarders Source Receiver Select most nodes in between a S-R pair as forwarders and each forwarder transmits one packet per generation once (what about packet storm problem?) A node becomes a forwarder if (hop count to Source + hop count to Receiver) is less than hop distance of S-R pair

Robustness of NC approach Robust to mobility Robust to random errors

NC suppresses packet storms Source Receiver

Setting up a multicast mesh Every coded packet carries in the header three more fields, vldd, dist, and nust The one-bit field vldd is set if either the sender is a multicast receiver or has received a previous block packet with vldd bit set from one of the sender’s downstream nodes A node considers a neighboring node to be downstream if the neighboring node transmits a packet with a larger dist value than the dist value the node maintains Each node maintains as a local variable dist, indicating the hop distance from the multicast data source and copies its value to every code packet the node transmits. Every time a node transmits a coded packet, dist is recalculated as one plus the biggest dist value found in the headers of the packets which are combined to yield the coded packet Conversely, a node considers a neighboring node to be a upstream node if the neighboring node transmits a coded packet in a new block or a smaller dist value Each node also maintains nust, indicating the number of upstream nodes as a local variable and records its value in the header of every packet the node transmits A node broadcasts to the neighborhood r coded packets

Concluding remarks Two protocols covered Network coding helps CodeTorrent: NC-based mobile P2P protocol CodeCast: NC-based multicast protocol Network coding helps mitigate coupon collection problem in P2P exploit broadcast nature of wireless medium

Thank you!