Localized Multicasting
The Localized Multicasting Problem
Known information
Current node
Neighbors
Destinations
T1
T3
T2 S
B A
D C
The Localized Multicasting Problem
Known information
Current node
Neighbors
Destinations
Building blocks
Message split
T1
T3
T2 S
B A
D C
The Localized Multicasting Problem
Known information
Current node
Neighbors
Destinations
Building blocks
Message split
Next hop selection
T1
T3
T2 S
B A
D C
?
The Localized Multicasting Problem
Known information
Current node
Neighbors
Destinations
Building blocks
Message split
Next hop selection
Recovery
T1
T3
T2 S
B A
D C
?
?
The MSTEAM Algorithm
EMST Backbone Assisted Localized Routing
T9
T7
T6
T4
T1
T3 S
T8
T5
T2 T1,…,T9
Additional requirement:
Location information
EMST Backbone Assisted Localized Routing
T8 T9
T7
T6
T5
T4
T1
T2
T3 S
EMST(S,T1,…,T9)
EMST Backbone Assisted Localized Routing
T8 T9
T7
T6
T5
T4
T1
T2
T3
D1
D2 D3
S
EMST Backbone Assisted Localized Routing
T8 T9
T7
T6
T5
T4
T1
T2
T3 A
B
C
S
T7,T8,T9
T1,T2,T3 T4,T5,T6
EMST Backbone Assisted Localized Routing
T8 T9
T7
T6
T5
T4
T1
T2
T3 A
B
C
EMST(C,T7,T8,T9 )
EMST(B,T4,T5,T6 )
EMST(A,T1,T2,T3)
The Cost over Progress Framework
T3
T1
W V
T2 S
Which one is the better next hop node?
T1,T2,T3
The Cost over Progress Framework
Approximate expected number of hops H(S,V)
H(S,V) (|EMST(S,T1,T2,T3)| - |EMST(V,T1,T2,T3)|) / |EMST(S,T1,T2,T3)|
Approximate expected cost C(S,V) = cost(S,V) * H(S,V)
Select node X which provides progress and minimizes C(S,X)
Example: cost(S,X) = b |SX| + c
T3
T1
W V
T2 S
Example: EMST(s,t0,…,t9)
s
t0
t1 t2
t3
t4
t5
t6 t7
t8
t9
Example: Final Multicasting Result MT(s,t0,…,t9)
s
t0
t1 t2
t3
t4
t5
t6 t7
t8
t9
MFACE: Traversal Start
S T6
T5
T4
T3
T1
T2
F1 F2
MFACE: Traversal Start
S T6
T5
T4
T3
T1
T2
F1 F2
MFACE: Traversal Continue
S
U
V W
F1 F2
F3
T1
T2 T3
MFACE: Traversal Continue
S
U
V W
F1 F2
F3
T1
T2 T3
MFACE: Traversal Continue
S
U
V W
F1 F2
F3
T1
T2 T3
MFACE: Traversal Continue
S
U
V W
F1 F2
F3
T1
T2 T3 p
MFACE: Traversal Continue
S
U
V W
F1 F2
F3
T1
T2
MFACE: Traversal Continue
S
U
V W
F1 F2
F3
T2
Other Geographic Routing
Approaches
Geocasting
Reach nodes in a certain area
Geocasting Components
Routing towards the area
Single-path, multi-path
Restricted directional flooding
Dissemination inside the area
Location-aware flooding
Reducing redundant transmissions
Geocast with guaranteed delivery?
Geographic Hash Table (GHT) (1)
Idea: hashing on geographical positions
Put() and Get() operations map to the same device near to the hashed location
Mapped device stores data
Use of planar graph routing to find the same device
Source F1 F2 F4 Sink
F5
F6 F3
Geographic Hash Table (GHT) (2)
Problem: changing network topology
Storing node might disappear
Put() and Get() may retrieve different storing nodes
Source F1 F2 F4 Sink
F5
F6 F3
Geographic Hash Table (GHT) (3)
Solution
Replication along the face perimeter
Periodic refresh messages traveling along the perimeter
New home node selected when
Refresh packet is missing for a certain timeout
Node closer to destination receives refresh packet
D
E
F
B C
A home
replica
D
E
F
B C
D
E
F
B C
(a) (b) (c)