Presentation is loading. Please wait.

Presentation is loading. Please wait.

ATCN: Delay Tolerant Networks (II) (24/11/08) Thrasyvoulos Spyropoulos (Akis)

Similar presentations


Presentation on theme: "ATCN: Delay Tolerant Networks (II) (24/11/08) Thrasyvoulos Spyropoulos (Akis)"— Presentation transcript:

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


Download ppt "ATCN: Delay Tolerant Networks (II) (24/11/08) Thrasyvoulos Spyropoulos (Akis)"

Similar presentations


Ads by Google