Single-copy Routing

Download Report

Transcript Single-copy Routing

ATCN: Delay Tolerant Networks (II)
(24/11/08)
Thrasyvoulos Spyropoulos (Akis)
[email protected]
Routing with Scheduled Contacts
 Graph is disconnected and/or time-varying
 Set of contacts C: known
 Set of nodes V: known
(B,D) = {10,12},{19,21}
B
D
D
D
A
D
C (C,D) = {8,10},{15,17}
Tx Range
Tx Range
2
Opportunistic Routing with Unknown Contacts
 Graph is disconnected and/or time-varying
 Set of contacts C: unknown!
 Set of nodes V: often unknown too!
(B,D) = ??
B
WHERE IS D?
D
D
A
WHERE IS D?
C (C,D) = ??
Tx Range
D
WHERE IS D?
D
3
Epidemic Routing
 Give a message copy to every node encountered

essentially: flooding in a disconnected context
D
F
E
D
B
D
D
D
D
A
C
4
Epidemic Routing: Message Vectors
 Node A encounters node B
Message Vector of A
Message Vector of B
Dest ID
Seq. Num.
Dest ID
Seq. Num.
D
0
D
0
(G,1)
G
1
E
0
F
0
F
0
F
1
(E,0),(F,1)
5
Epidemic Routing: Message Vectors (2)
 After message exchange
Message Vector of A
Message Vector of B
Dest ID
Seq. Num.
Dest ID
Seq. Num.
D
0
D
0
E
0
E
0
F
0
F
0
F
1
F
1
G
1
G
1
6
Epidemic Routing Performance
 How many transmissions?

At least N

All nodes receive the message
 What is the delay?

Minimum among all possible routing schemes

If NO resource constraints (bandwidth, buffer space)
7
Epidemic Routing Performance


Redundant copies reduce delay
But: too much redundancy is wasteful and often
disastrous (due to contention)
Transmissions for Epidemic Routing
Delay for Epidemic Routing
160000
120000
epidemic
optimal
100000
80000
60000
40000
20000
0
delivery delay (time units)
total transmissions
140000
7000
6000
epidemic
optimal
5000
4000
3000
2000
1000
0
increasing traffic
Too many transmissions
increasing traffic
Plagued by contention
8
Reducing the Overhead of Epidemic
Randomized Flooding (“Gossiping”)
 Give message to neighbor with a probability p ≤ 1
 p = 1) epidemic
 p = 0) direct transmission
+ fewer transmissions
- given enough time, transmissions = O(N)
Other flooding-based variants:
 each node forward up to Kmax times
 self-limiting epidemic (SLEF)
9
Direct Transmission
 Source carries message until it meets the destination
 Transmissions?

Just one!
 Delay?

Largest possible

Finite?
 Throughput?

See homework exercise
10
2-hop Scheme: Version 1
 When message created at source

Forward to destination if within range

Forward to a neighbor relay if destination not in range
 Relay: forward only to destination
 Transmissions per message

At most 2
 Delay?

Finite if each node meets every other node…eventually
 Throughput?
11
2-hop Scheme: Version 2
 Source gives a copy to any relay encountered
 Relays can only give copy to destination
D
F
E
Relay C cannot FWD to B
B
D
D
Dst
D
Src
Relay C can FWD to Dst
C
E[Transmissions per msg] = (N-1)/2
12
Controlled Replication (“Spraying”)
 2-hop scheme uses (N-1)/2 copies

Still a lot! Only half of epidemic
 Limit number of copies to L (small, fixed)

Transmissions = L!
 L = 2) Achieves O(1) per node capacity and deals
with Kumar’s and Gupta’s conjecture (capacity
→0) (Grossglauser et al. ‘01)
 L > 2 and L = O(1): (constant L)



Retain capacity gain
Transmissions << N
Multi-path diversity to reduce delay (Spray & Wait)
13
Spray and Wait (Binary Spraying)
 Use forwarding tokens; SRC starts with L tokens
 When L = 1, can only forward to DST
L=1
D
F
E
L=1
L=1
L=1
B
L=4
D
Src
D
D
L=2
L=2
Dst
D
C
14
Benefits of Replication
Delay of Spray and Wait
4000
source
3500
time units
3000
2500
2000
1500
source spray and(analysis)
wait
binary spray and wait
optimal
100x100 grid
 100 nodes
 random walks

binary
1000
500
0
5
10
15
20
L (# of copies)
1. 10x fewer transmissions => only 2x increase in delay
2. Law of diminishing returns
15
Spray and Wait: A “good” scenario
Covered
by Relay 2
1
12
D
13
S
14
2
16
11
3
15
7
8
5
10
4
9
Covered
bymobile
Relay 1
6
Relays
are
highly
Relays routes are uncorrelated
16
Spray & Wait: How Many Copies?
 L (e.g. L = 10) copies might be

Too little if number of nodes M is large (e.g. 10000) => almost 2-hop.v1

Too many if number of nodes M small (e.g. 20) => almost epidemic
 Analytical equation for S&W delay as a function of L/M

Choose desired L (tradeoff delay vs. transmissions)
 What if number of nodes is unknown?

Estimate number of nodes online

Sample inter-meeting times

Estimator M^ based on sampled intermeeting times
17
?
Opportunistic Routing = “Random” Routing
 So far all schemes are random: no assumptions about relays

all relays equally fast, equally capable, similar mobility

epidemic, random flooding, 2-hop, spray & wait, etc.
 Is real life that random and homogeneous???

Nodes have different capabilities (PDA, sensor, laptop, BS)

Nodes move differently (vehicles vs. pedestrians, 1st year student vs.
PhD)

Nodes have social relations
- Same affiliation => same building, floor
- Friends => meet more often than others
 Learn and exploit the patterns => better routing
18
Predicting Future Encounters
1. Based on past encounter statistics

Mobility pattern non-random, but unknown

Essentially non-parametric learning\prediction

Per contact vs. end-to-end statistics
2. Model based prediction

Assume an abstract mobility model

Use past encounters to “fit” the model parameters and predict
future encounters
19
Past Encounters: Age of Last Encounter
D
t(D) = 26
t(D) = 0
A
tX(Y): time since X last saw Y
D
D
B
Indirect location information
tB(D) = 100

tA(D) = 138
t(D) = 68
t(D) = 218
Last encounter timers
diffused with node mobility
smaller timer  closer distance

For most mobility models
20
Prophet Routing
 Like Epidemic routing, but maintains a probability of delivery for
each node pair p(i,D)
 Node i copies message to j only if p(j,D) > p(i,D)
 Algorithm:
Path Probability
Per Hop Probability
Contact with Dest D
i
D
p(i,D) = 1
No Contact with Dest D
Contact with j
D
i
p(i,D) * γt, (γ < 1)
D
i
j
p(i,D) = f(p(i,D),p(j,D))
21
Past Encounters: Encounter Frequency
 Last encounter not necessarily representative
 Consider:

Node A meets D every 10min, last saw D before 5min

Node B meets D every 1h, last saw D before 1min
 Use frequency: p(i,D) = # encounters(i,D) / Timewindow
 Consider

Node A meets D every 10min, for 1sec each time

Node B meets D every 20min, for 2min each time
 Use total contact duration: p(i,D) = Timeconnected / Timewindow
 Consider

Node A meets D every 10 min

Node B meets D in bursts: average = 10min, average during burst =
1min, last meeting before 30sec
Prediction Becomes Complex!
22
Past Encounters: Encounter Frequency (cont’d)
 Predicting next hop delivery probability

Look at next hop’s p(j,D)

Forward if p(j,D) is high enough
 Predicting path probability

Try to estimate the probability of the whole path

Look ahead: p(j,D) = Σkp(j,k)*p(k,D)

Can look ahead multiple hops

How do we estimate p(k,D)? Maintain and distribute database of p(i,j)

Remember MEED algorithm? (Lecture 1)
23
Predicting Future Encounters
1. Based on past encounter statistics

Mobility pattern non-random, but unknown

Essentially non-parametric learning\prediction

Per contact vs. end-to-end statistics
2. Model based prediction

Assume an abstract mobility model

Use past encounters to “fit” the model parameters and predict
future encounters

Parametric learning/prediction
24
Model-based Prediction
Office
Cafeteria
50%
5%
Restaurant 2
Restaurant 1
3%
5%
Library
Rest of Area
2%
Class
15%
20%
 Mobility Profile: Each node visits specific locations more often
25
Mobility Profile based Prediction (1)
 Separate network into K locations
 Represent each user as a K-dimensional vector Mn

Binary (e.g. 1 = visits location i often): [1 0 1…0 1 0 1]

Scalar (e.g. visits location i with probability pi): [p1 p2…pK]
 “Distance” metric between nodes n and m: |Mn – Mm|

E.g. Euclidean distance
2


M
(
i
)

M
(
i
)
 n
m
i 1...K
 Encounter probability p(i,j) = f(|Mn – Mm|)
26
Mobility Profile based Prediction (2)
STEP 1: Decide on model

e.g. how many locations K

K too large: little overlap (overfit)

K too small: too crude prediction
STEP 2: “Learn” model parameters

Node n must estimate its vector Mn

Mn(i) = Time at location i / Timewindow

e.g. track associated AP, GPS, etc.
STEP 3: Use estimated model to predict future encounters

p(i,j) = f(|Mn – Mm|) : which function f()?

Per contact vs. path probability
27
Mobility Profile-based Prediction (3)
λ12
Office
Cafeteria
λ 21
λ13
λ42
Restaurant 2
λ24
λ45
Restaurant 1
λ34
Library
λ56
Class
Rest of Area
 Markov Chain model: Next location depends on current location
 Better prediction than before; BUT more parameters to estimate
28
Social-profile based Prediction
 Nodes carried (driven?) by humans
 Humans have social relations that govern their mobility patterns

Tend to see your “friends” more often

More frequent encounters with colleagues
 Model social relations between nodes

Identify “links” between specific nodes

Identify node “communities”

Explicit vs. Implicit friends
 Forward to node with strong links to destination

E.g. forward to node of same affiliation
 More sophisticated algorithms: Last lecture on Social Networks
29
A Complete DTN Routing Scheme
 Prediction-based schemes are more efficient than random
MAXIM 1: Use prediction based algorithm to forward a copy or to
decide whether to create one more
 Using a single copy is not enough

Get stuck in local maxima

Delay/delivery variance too high (depending on model)
MAXIM 2: Use multiple but few copies (e.g. spray) and do predictionbased routing for each in parallel
30
Hybrid DTN-MANET Scenarios
 What if the network is not very sparse?

Big clusters of connected nodes, but no connectivity between clusters
Use DTN if outside of
cluster
D
S
Use regular routing inside
cluster (e.g. DSR, OLSR)
31
Hybrid DTN-MANET Scenarios (cont’d)
 How to route between partitions (the DTN part)?
 Depending on how stable the clusters are there are a number of
options
Option 1: If destination outside cluster revert to DTN until delivery
Option 2: Construct/Estimate Clusters; find the shortest cluster path and
at each cluster find for the best node that will take the message to
the next hop cluster
Option 3: Obsolete Routing table approach
32
Epidemic Routing: Alternative Ways to Reduce Overhead
Anti-packets
 Epidemic routing hands over a copy to every node
encountered…
Even after the message has been delivered!
 After one relay finds destination


Remove message from buffer
Inform other nodes to stop forwarding
 Can do this with different aggressive-ness

Immune

Vaccine
33
An Example: IMMUNE-TX
 Propagate anti-packet to already infected nodes
D
D
Avoided this Tx
E
F
D
A
D
C
Norecovered!
new copy to
C
recovered
nodes
msg:
(S,D,0)
Tradeoff: Aggresiveness
X
D
B
D
dst
Delete
Recovered
local Node
copy
msg: (S,D,0)
vs. anti-packet overhead
34
Reducing the overhead of epidemic: Network Coding
 So far we were not changing packets’ content

Replication

Forwarding

Drops
 Coding may combine one or more packets
x1
Incoming links
x2
x3
x2
x1
x3
x2
x1
Outgoing links
x3
Store-and-forward
35
Reducing the overhead of epidemic: Network Coding(2)
 So far we were not changing packets’ content

Replication

Forwarding

Drops
 Coding may combine one or more packets
Incoming links
x3
x2
x1
f(x1,x2,x3)
Outgoing links
Network Coding
36
Coding Packets: A simple example
 XOR: The simplest combination:
msg x1:
1
f(x 1 , x 2 )  x1  x 2
0
1
1
1
0
0
1

msg x2:
0
1

f(x1,x2):
1
1
37
De-coding Packets: A simple example
 Assume node that send x1 receives the coded packet f(x1,x2)
msg x1:
1
0
1
1
0
1
1
0

f(x1,x2):
1
1

msg x2:
0
1
38
Network Coding for Wireless
 Broadcast nature of medium: natural ground for network coding
x2
Bx
1
A
A
x2
Bx
1
A
C
x1
Ax
2
B
B
No coding: delay = 4
39
Network Coding for Wireless
 Broadcast nature of medium: natural ground for network coding
x1  x 2
B
A
x1
x2
Bx
1
A
A
x1  x 2
C
x1  x 2
x2
B
Coding: delay = 3
40
Linear Network Coding
 m packets
 n linear combinations
b1 = a11x1+ a12x2+…+ a1mxm
b2 = a21x1+ a22x2+…+ a2mxm
……………………………….
bn = an1x1+ an2x2+…+ anmxm
 independent linear combinations ≥ m

Centralized choice of coefficients => Decode!
 Distributed) ai random and independent
=> decode (prob 1)
41
End-to-end vs. hop-by-hop decoding
1)
2)
Decoding of messages at end nodes

This is what we were looking at so far

Issues with generation management

Potentially long/unbounded delays
Opportunistic Network (De-)Coding

Keep track of neighbors messages

Code only if next hop can decode
x1
x3
x2
x1
x
f(x
2 1,x2,x3)
x3
x1
x
f(x
1 1,x2,x3)
x3
x2
42