Multicast + Network Coding in Ad Hoc Networks CS 218 Fall 2008
2 Routing vs Network Coding y1y1 y2y2 y3y3 f 1 (y 1,y 2,y 3 ) f 2 (y 1,y 2,y 3 ) y1y1 y3y3 y1y1 y3y3
3 Benefit of Network Coding x y x y AC B AC B AC B x y AC B AC B y x AC B AC B 4 transmissions without NC 3 transmissions with NC y = x (x y) x AC B y (Katabi’05, Chou’04)
4 NC achieves multicast capacity Alswede, Cai, Li, Yeung (2000): min t Є T MinCut( s, t ) is always achievable by network coding h = min t Є T MinCut( s, t ) is “multicast capacity” sender receiver optimal routing throughput = 1 network coding throughput = 2 coding node a,b a a a a b b b b a+b,a,b
5 How to code? Sender s Directed graph ( V,E ) Given: Receiver set T (subset of V )
6 Random Linear Coding xyz Random combination buffer Sender Destination A α x + β y + γ z Every packet p carries e = [e 1 e 2 e 3 ] encoding vector prefix indicating how it is constructed (e.g., coded packet p = ∑e i x i where x i is original packet) Intermediate nodes randomly mix incoming packets to generate outgoing packets
7 Random Linear Coding a*p 1 + b*p 2 + c*p 3 = n 1 p1p1 p2p2 p3p3 n1n1 n2n2 n3n3 d*p 1 + e*p 2 + f*p 3 = n 2 g*p 1 + h*p 2 + e*p 3 = n 3 Original Packets
8 Random Linear Coding (cont.) 5*p 1 [1] + 8*p 2 [1] + 1*p 3 [1] = n 1 [1] p1p1 p2p2 p3p3 n1n1 n2n2 n3n3 2*p 1 [1] + 3*p 2 [1] + 7*p 3 [1] = n 2 [1] 9*p 1 [1] + 6*p 2 [1] + 5*p 3 [1] = n 3 [1] [5 8 1][2 3 7] [9 6 5] Original Packets Recover original by matrix inversion
9 Random Linear Coding (cont.) An application generates a stream of frames … Block/Generation 1Block 2 time … Network layer generates stream of coded packets A random linear combination of Block 1 frames A random linear combination of Block 2 frames Generation 1 Generation 2 (delay)
10 Forwarding – RLC SourceReceiver
11 Random Network Coding Receivers recover original by matrix inversion random combination buffer Intermediate nodes randomly mix incoming packets to generate outgoing packets Every packet p carries e = [e 1 e 2 e 3 ] encoding vector prefix indicating how it is constructed (e.g., coded packet p = ∑e i x i where x i is original packet)
12 Robust Multicast using NC In tactical nets one must consider: Random errors; External interference/jamming Motion; path breakage Target application: Multicast (buffered) video streaming Some loss tolerance Some delay tolerance (store & playback at destination) - non interactive
13 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)
14 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 network coding (by M édard et al., Chou et al.) 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) possible
15 Simulation experiments Settings QualNet 100 nodes on 1500 x 1500 m 2 5 Kbytes/sec traffic (512B packet) - light load Single source; multiple destinations Random Waypoint Mobility 20 receivers Metrics Good Packet ratio: 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
16 ODMRP vs C-Cast: Reliability Good Packet Ratio
17 ODMRP vs C-Cast: Efficiency
18 ODMRP vs C-Cast: Delay
19 Throughput Bounds Max NC throughput in wireless networks? Previous simulation results based on light load. As load is increased, congestion leads to performance collapse Evaluate max throughput analytically for a simple grid structure, the “corridor”: receivers sender
maximize f Wireless medium contention and scheduling constraints Wireless flow conservation constraints Linear Programming Formulation
21 Maximum Multicast Throughput CodeCast vs Conventional Receivers Sender CORRIDOR MODEL
22 A A A B B B C (1)(2) (3) (4) Link schedule achieving 2/3 throughput receiver sender (Assuming time-slotted system)
23 F A+BA+B E EF DC AB GH FE CD H C+DC+D G AB A B B CD A C D (1)(2) (3) (4)(5)(6) (7)(8) (9) (10)(11)(12) Link schedule for NC achieving throughput of 2/3
24 A A A B B A B B C (1)(2) (3) (4)(5) (6) Multicast with multiple embedded trees (no NC): Link schedule achieves 2/5 throughput C C D D C D (7)(7)(8)(8) (9)(9) (10)
25 (1)(2) (3) (4)(5)(6) An “optimal” Single Tree multicast schedule that achieves 1/3 A A A B B B
Modeling Wireless Medium We model the broadcast nature of the wireless medium using hyperarcs An hyperarc (i,J) represents a specific usage of the broadcast link from the sender i to a set of destination nodes, where is the number of neighbors of node i Total number of hyperarcs = iii (a) Examples of Hyperarcs in red Interference
27 Modeling Wireless Medium (cont) Wireless medium is shared, which is a main factor that limits the capacity of wireless multi–hop networks. To model this shared nature of the medium, we map it into a graph theory problem, the Maximal Independent Set Enumeration Problem. A Independent Set represents a set of non interfering hyperarcs. (By finding only maximal sets, the number of sets is reduced.) i (a) I.S.(b) NO I.S.(c) Maximal I.S. Conflict!
28 Modeling Wireless Medium (cont) All hyperarcs in a Maximal I.S. can be activated at the same time. Scheduling is always feasible when only one Maximal I.S. is exclusively activated in a time slot. Let be the fraction of time in which the k-th Maximal I.S. is activated. Clearly we have: Let be the time share allocated to a hyperarc (i, J). Then, sufficient and necessary condition for a link schedule to be feasible is: where. (L: link capacity)
29 Network Coding in P2P Swarming P2P 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 Rare piece problem P2P using Network Coding Avalanche, Infocom’ Server [Rodriguez, Biersack, Infocom’00]
30 Multicast in VANETs - CodeTorrent Content distribution in VANET such as ad movie clips etc VANET challenges Error-prone channel Dense, but intermittent connectivity High, but restricted mobility patterns No guaranteed cooperativeness (only, users of the same interests will cooperate) CodeTorrent approach Single-hop data pulling BitTorrent-style file swarming with random network coding to cope with dynamic environments
31 Design Rationale Why single-hop pulling? Multi-hop data pulling does not perform well in VANET (routing O/H is high) Users in multi-hop may not forward packets not useful to them (lack of incentive)! Network coding Mitigate a rare piece problem Maximize the benefits of overhearing Exploits mobility such that coded blocks are carried from AP and forwarded to other nodes Mobility helps data dissemination
32 CodeTorrent: Basic Idea Internet Downloading a Coded Block from Gateway Outside Range of Gateway Download a “coded” piece Buffer Random Linear Combination of Blocks Exchange Re-Encoded Blocks Meeting Other Vehicles with Coded Blocks
33 Simulations - Setup Qualnet IEEE b / 2Mbps Real-track mobility model (Westwood map) 2.4x2.4 km 2 Distributing 1MB file 4KB block / 250 pieces 1KB per packet # of APs: 3 Randomly located at the road sides Comparing CarTorrent (w/ AODV) and CodeTorrent Vicinity of UCLA
34 Simulation Results Overall downloading progress 200 nodes 40% popularity
35 Simulation Results Speed helps disseminate from AP’s and C2C Speed hurts multihop routing (CarT) Car density+mhop promotes congestion (CarT) 40% popularity