Download presentation
Presentation is loading. Please wait.
Published byImogen Young Modified over 8 years ago
1
ATCN: Delay Tolerant Networks (II) (24/11/08) Thrasyvoulos Spyropoulos (Akis) spyropoulos@tik.ee.ethz.ch
2
2 Routing with Scheduled Contacts Graph is disconnected and/or time-varying Set of contacts C: known Set of nodes V: known ACBD D Tx Range (B,D) = {10,12},{19,21} (C,D) = {8,10},{15,17} D (B,D) = {10,12},{19,21} (C,D) = {8,10},{15,17} Tx Range D
3
3 Opportunistic Routing with Unknown Contacts Graph is disconnected and/or time-varying Set of contacts C: unknown! Set of nodes V: often unknown too! ACBD D Tx Range (B,D) = ?? (C,D) = ?? D WHERE IS D? D D
4
4 Epidemic Routing Give a message copy to every node encountered essentially: flooding in a disconnected context ACBD D EF D D D D
5
5 Epidemic Routing: Message Vectors Node A encounters node B Dest IDSeq. Num. D0 G1 F0 Dest IDSeq. Num. D0 E0 F0 F1 Message Vector of AMessage Vector of B (G,1) (E,0),(F,1)
6
6 Epidemic Routing: Message Vectors (2) After message exchange Dest IDSeq. Num. D0 E0 F0 F1 G1 Dest IDSeq. Num. D0 E0 F0 F1 G1 Message Vector of AMessage Vector of B
7
7 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)
8
8 Epidemic Routing Performance Redundant copies reduce delay But: too much redundancy is wasteful and often disastrous (due to contention) increasing traffic Too many transmissions Plagued by contention
9
9 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 K max times self-limiting epidemic (SLEF)
10
10 Direct Transmission Source carries message until it meets the destination Transmissions? Just one! Delay? Largest possible Finite? Throughput? See homework exercise
11
11 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?
12
12 2-hop Scheme: Version 2 Source gives a copy to any relay encountered Relays can only give copy to destination Src CB Dst D EF D D D Relay C cannot FWD to B Relay C can FWD to Dst E[Transmissions per msg] = (N-1)/2
13
13 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)
14
14 Spray and Wait (Binary Spraying) Use forwarding tokens; SRC starts with L tokens When L = 1, can only forward to DST Src CB Dst D EF D D D D L = 4 L = 2 L = 1
15
15 Benefits of Replication 1.10x fewer transmissions => only 2x increase in delay 2.Law of diminishing returns (analysis) 100x100 grid 100 nodes random walks binary source
16
16 Covered by Relay 1 3 Spray and Wait: A “good” scenario S D 1 2 4 5 6 7 8 9 10 11 12 13 14 16 15 Relays are highly mobile Relays routes are uncorrelated Covered by Relay 2
17
17 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
18
18 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, 1 st 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 ?
19
19 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
20
20 t X (Y): time since X last saw Y Indirect location information diffused with node mobility smaller timer closer distance For most mobility models Past Encounters: Age of Last Encounter A D B t B (D) = 100 t(D) = 0 t(D) = 26 t(D) = 68 t A (D) = 138 t(D) = 218 Last encounter timers D D
21
21 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: iD p(i,D) = 1 Contact with Dest D i D p(i,D) * γ t, (γ < 1) No Contact with Dest D Per Hop Probability Contact with j i D p(i,D) = f(p(i,D),p(j,D)) j Path Probability
22
22 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) / Time window 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) = Time connected / Time window 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!
23
23 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) = Σ k p(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)
24
24 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
25
25 Model-based Prediction Mobility Profile: Each node visits specific locations more often OfficeCafeteria Restaurant 1 Restaurant 2 Library Class 50% 5% 3% 20% 15% 2% Rest of Area
26
26 Mobility Profile based Prediction (1) Separate network into K locations Represent each user as a K-dimensional vector M n Binary (e.g. 1 = visits location i often): [1 0 1…0 1 0 1] Scalar (e.g. visits location i with probability p i ): [p 1 p 2 …p K ] “Distance” metric between nodes n and m: |M n – M m | E.g. Euclidean distance Encounter probability p(i,j) = f(|M n – M m |)
27
27 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 M n M n (i) = Time at location i / Time window e.g. track associated AP, GPS, etc. STEP 3: Use estimated model to predict future encounters p(i,j) = f(|M n – M m |) : which function f()? Per contact vs. path probability
28
28 Mobility Profile-based Prediction (3) Markov Chain model: Next location depends on current location Better prediction than before; BUT more parameters to estimate OfficeCafeteria Restaurant 1 Restaurant 2 Library Class Rest of Area λ 12 λ 21 λ 13 λ 42 λ 24 λ 34 λ 45 λ 56
29
29 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
30
30 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 prediction- based routing for each in parallel
31
31 Hybrid DTN-MANET Scenarios What if the network is not very sparse? Big clusters of connected nodes, but no connectivity between clusters Use regular routing inside cluster (e.g. DSR, OLSR) D Use DTN if outside of cluster S
32
32 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
33
33 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
34
34 An Example: IMMUNE-TX Propagate anti-packet to already infected nodes ACBdst D EF D D D D Delete local copy X B Recovered Node msg: (S,D,0) No new copy to recovered nodes C C recovered! msg: (S,D,0) D Avoided this Tx Tradeoff: Aggresiveness vs. anti-packet overhead
35
35 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 x1x1 x2x2 x3x3 Outgoing links Incoming links x1x1 x2x2 x3x3 Store-and-forward x1x1 x2x2 x3x3
36
36 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 Outgoing links Incoming links x1x1 x2x2 x3x3 Network Coding f(x 1,x 2,x 3 )
37
37 Coding Packets: A simple example XOR: The simplest combination: 1011 msg x 1 : 0110 msg x 2 : 1101 f(x 1,x 2 ):
38
38 De-coding Packets: A simple example Assume node that send x 1 receives the coded packet f(x 1,x 2 ) 1011 msg x 1 : 0110 msg x 2 : 1101 f(x 1,x 2 ):
39
39 Network Coding for Wireless Broadcast nature of medium: natural ground for network coding AB C B x1x1 A x2x2 B x1x1 A x2x2 B x1x1 A x2x2 No coding: delay = 4
40
40 Network Coding for Wireless Broadcast nature of medium: natural ground for network coding AB C B x1x1 A x2x2 B x1x1 A x2x2 Coding: delay = 3
41
41 Linear Network Coding m packets n linear combinations b 1 = a 11 x 1 + a 12 x 2 +…+ a 1m x m b 2 = a 21 x 1 + a 22 x 2 +…+ a 2m x m ………………………………. b n = a n1 x 1 + a n2 x 2 +…+ a nm x m independent linear combinations ≥ m Centralized choice of coefficients => Decode! Distributed) a i random and independent => decode (prob 1)
42
42 End-to-end vs. hop-by-hop decoding 1) Decoding of messages at end nodes This is what we were looking at so far Issues with generation management Potentially long/unbounded delays 2) Opportunistic Network (De-)Coding Keep track of neighbors messages Code only if next hop can decode x1x1 x2x2 x3x3 f(x 1,x 2,x 3 ) x1x1 x3x3 x1x1 x2x2 x3x3 x1x1 x2x2
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.