multicast + network coding in ad hoc networks
DESCRIPTION
Multicast + Network Coding in Ad Hoc Networks. CS 218 Fall 2008. Routing vs Network Coding. y 1. y 1. f 1 ( y 1 ,y 2 ,y 3 ). y 1. y 2. f 2 ( y 1 ,y 2 ,y 3 ). y 3. y 3. y 3. x. B. C. A. y. B. C. A. x y. B. C. A. B. C. A. Benefit of Network Coding. y. x. B. C. A. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/1.jpg)
Multicast + Network Coding in Ad Hoc Networks
CS 218 Fall 2008
![Page 2: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/2.jpg)
2
Routing vs Network Coding
y1
y2
y3
f1(y1,y2,y3)
f2(y1,y2,y3)
y1
y3
y1
y3
![Page 3: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/3.jpg)
3
Benefit of Network Coding
x
y
x y
AC B
AC B
AC B
x
y
AC B
AC By
xAC B
AC B
4 transmissions without NC 3 transmissions with NC
y = x (x y)
xAC B
y
(Katabi’05, Chou’04)
![Page 4: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/4.jpg)
4
NC achieves multicast capacity
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
receiver
optimal routingthroughput = 1
network codingthroughput = 2
coding node
a,b
a
a
a
a
bb
b
b
a+b a+b
a+b
,a
,b
![Page 5: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/5.jpg)
5
How to code?
Sender s
Directed graph (V,E)
Given:
Receiver set T (subset of V)
![Page 6: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/6.jpg)
6
Random Linear Coding
x y z
Random combinati
on
buffer
Sender
Destination
A
α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)
Intermediate nodes randomly mix incoming packets to generate outgoing packets
![Page 7: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/7.jpg)
7
Random Linear Coding
a*p1 + b*p2 + c*p3 = n1
p1 p2 p3
n1 n2 n3
d*p1 + e*p2 + f*p3 = n2
g*p1 + h*p2 + e*p3 = n3
Original Packets
![Page 8: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/8.jpg)
8
Random Linear Coding (cont.)
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
3
2
1
669
732
185
3
2
1
p
p
p
n
n
n
5*p1[1] + 8*p2[1] + 1*p3[1] = n1[1]
p1 p2 p3
n1 n2 n3
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]
Original Packets
ÍHP 1 −=Recover original by matrix inversion
![Page 9: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/9.jpg)
9
Random Linear Coding (cont.)
An application generates a stream of frames
…
Block/Generation 1 Block 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)
![Page 10: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/10.jpg)
10
Forwarding – RLC
Source Receiver
![Page 11: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/11.jpg)
11
Random Network Coding
Receivers recover original
by matrix
inversion
random combinati
on
buffer
Intermediate nodes randomly mix incoming packets to generate outgoing packets
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)
![Page 12: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/12.jpg)
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
![Page 13: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/13.jpg)
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)
![Page 14: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/14.jpg)
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
![Page 15: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/15.jpg)
15
Simulation experiments Settings
QualNet 100 nodes on 1500 x 1500 m2
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
![Page 16: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/16.jpg)
16
ODMRP vs C-Cast: Reliability
0.92
0.93
0.94
0.95
0.96
0.97
0.98
0.99
1
1.01
0 10 20 30 40
Max Node Speed (m/sec)
Delivery Ratio CodeCast-8-dp0
CodeCast-8-dp10
CodeCast-4-dp0UDP-dp0
UDP-dp10
Goo
d P
acke
t R
atio
![Page 17: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/17.jpg)
17
ODMRP vs C-Cast: Efficiency
0
0.5
1
1.5
2
2.5
3
3.5
0 10 20 30 40
Max Node Speed (m/sec)
Normalized Packet OH |
CodeCast-8-dp0
CodeCast-8-dp10
CodeCast-4-dp0
UDP-dp0
UDP-dp10
![Page 18: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/18.jpg)
18
ODMRP vs C-Cast: Delay
0
0.1
0.2
0.3
0.4
0.5
0.6
0 10 20 30 40
Max Node Speed (m/sec)
Average End-to-End Delay (sec)
CodeCast-8-dp0
CodeCast-8-dp10
CodeCast-4-dp0
UDP-dp0
UDP-dp10
![Page 19: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/19.jpg)
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
![Page 20: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/20.jpg)
maximize f
Wireless medium contention and scheduling constraints
Wireless flow conservation constraints
Linear Programming Formulation
![Page 21: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/21.jpg)
21
Maximum Multicast Throughput CodeCast vs Conventional
Receivers
Sender
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0 0.1 0.2
Link Error Probability
End-to-end Throughput
(Link Capacity=1)Network CodingMulticast with Tree PackingMulticast with Single Tree
CORRIDOR MODEL
![Page 22: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/22.jpg)
22
A
A
A
B
B
B
C
(1) (2) (3) (4)
Link schedule achieving 2/3 throughput
receiver
sender
(Assuming time-slotted system)
![Page 23: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/23.jpg)
23
F
A+B
E
E F
D C
A B
G H
F E
C D
H
C+D
G
A B
A B
B
C D
A
C D
(1) (2) (3) (4) (5) (6)
(7) (8) (9) (10) (11) (12)
Link schedule for NC achieving throughput of 2/3
![Page 24: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/24.jpg)
24
A
A
A
B
BA
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
DC
D
(7) (8) (9) (10)
![Page 25: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/25.jpg)
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 = iN
i
2∑
i i i
(a) Examples of Hyperarcs in red
Interference
iNJ ⊂ iN
![Page 26: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/26.jpg)
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!
![Page 27: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/27.jpg)
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
.
1≤∑k
kλ
kλ
AJiJiczk
kkiJ ∈∀≤∑ ),(),,(λ
iJz
(L: link capacity)
![Page 28: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/28.jpg)
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’05
1 2 65
Server
3 4
1 5 6 2 4
1 2 3 4 5 6
3
[Rodriguez, Biersack, Infocom’00]
![Page 29: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/29.jpg)
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
![Page 30: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/30.jpg)
31
Design RationaleWhy 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
![Page 31: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/31.jpg)
32
CodeTorrent: Basic Idea
Internet
Downloading a Coded Block from Gateway
Outside Range of Gateway
Download a “coded” piece
Buffer
BufferBuffer
Random Linear Combination of Blocks
Exchange Re-Encoded Blocks
Meeting Other Vehicles with Coded Blocks
![Page 32: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/32.jpg)
33
Simulations - Setup Qualnet IEEE 802.11b / 2Mbps Real-track mobility model
(Westwood map) 2.4x2.4 km2
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
![Page 33: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/33.jpg)
34
Simulation Results Overall downloading progress
200 nodes40% popularity
![Page 34: Multicast + Network Coding in Ad Hoc Networks](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814883550346895db595b7/html5/thumbnails/34.jpg)
35
Simulation Results Speed helps disseminate from AP’s and C2C Speed hurts multihop routing (CarT) Car density+mhop promotes congestion (CarT)
40% popularity