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
Multicast + Network Coding in Ad Hoc Networks
CS 218 Fall 2008
2
Routing vs Network Coding
y1
y2
y3
f1(y1,y2,y3)
f2(y1,y2,y3)
y1
y3
y1
y3
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)
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
5
How to code?
Sender s
Directed graph (V,E)
Given:
Receiver set T (subset of V)
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
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
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
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)
10
Forwarding – RLC
Source Receiver
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)
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 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
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
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
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
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
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
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+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
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)
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
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
.
1≤∑k
kλ
kλ
AJiJiczk
kkiJ ∈∀≤∑ ),(),,(λ
iJz
(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’05
1 2 65
Server
3 4
1 5 6 2 4
1 2 3 4 5 6
3
[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 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
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
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
34
Simulation Results Overall downloading progress
200 nodes40% 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