Compact Routing with Minimum Stretch. Kei Takahashi. Introduction. In distributed networks, message relaying is inevitable Alltoall connections are physically impossible Nodes can dynamically appear, move, and disappear Some routing tactics are possible Broadcast Random relaying
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Kei Takahashi
V1
V3
V0
V2
Message
To V3
V1
V3
Port 1
Port 0
Port 2
Port 1
V0
V2
V1 : Port 0
V2 : Port 1
V3 : Port 1
V0 : Port 0
V1 : Port 1
V3 : Port 2
Port 0
Message
To V3
log(n)
V1 : Port 0
V2 : Port 1
V3 : Port 1
V4 : Port 0
V5 : Port 1
V6 : Port 1
…
Port 0
Port 1
V0
n1
V1
Stretch = 2
Cost = 5
5
6
Cost = 10
V0
V2
4
Port V2
Problem definitionA302
A301
V1
NG
V3
OK
Port 1
Port 0
Port 2
A303
A300
Port 1
V0
V2
Port 0
port
V3 :
V10 :

V1 :
Landmarks
Near nodes
Basic idea (1) : landmarksLandmark
v0
v1
v7
v8
v2
v3
v4
v9
v10
v11
Landmark
v5
v6
v12
v13
label
port
v0,v3
v0
v1,v3
v7,v10
v8,v10
v1
v7
v8
(V3, V3, ):
(V10,V10,):

(V1,V3,) :
V3 :
V10 :

V1 :
Landmarks
v2,v3
v4,v3
v2
v3
v4
v9
v10
v11
v3,v3

v9,v10
v11,v10
v10,v10

Near nodes
v5,v3
v6,v3
v6
v5
v12
v13
v12,v10
v13,v10
v0,v3
v1,v3
v7,v10
v8,v10
(v3, v3, ):
(v10,v10,):

(v1,v3,) :
v2,v3
v3,v3

v6,v3
v9,v10
v10,v10

v11,v10
v5,v3
v6,v3
v12,v10
v13,v10
v0,v3
v1,v3
v7,v10
v8,v10
v2,v3
v3,v3

v6,v3
v9,v10
v10,v10

v11,v10
Optimal route
v5,v3
v6,v3
v12,v10
v13,v10
Obtained route
From v2
Costs : {v1 => 1, v3 => 3}
Take v1
Costs : {v0 => 2, v3 => 3}
Take v0
Costs : {v3 => 3}
Take v3
V0
4
1
V1
V2
V3
1
3
V0
nα = 3
2
1
3
V1
V2
V3
1
Not suitable for a landmark
V3 :
V10 :

V0 :
V1 :
V2 :
V4 :
V5 :
V6 :
v1
v0
v7
v8
v2
v3
v4
v9
v10
v11
v5
v6
v12
v13
nα = 3
V = {v0, v1, v2, v3}
D = {v2}
D = 1
Bv0 ∩ D = v2
Bv1 ∩ D = v2
Bv2 ∩ D = v2
Bv3 ∩ D = v2
V0
2
1
3
V1
V2
V3
1
nα = 3
V = {v0, v1, v2, v3}
C = {v1, v2}
Rv1 = 4 > 3.6 = n(1+α)/2
Rv2 = 4 > 3.6 = n(1+α)/2
V0
2
1
3
V1
V2
V3
1
V0
2
1
3
V1
V2
V3
Landmarks
1
// Calculate paths to nαshortest nodes from v
For each v ∈ V, perform truncatedDijkstra(nα)
// Here, less than nα nodes are nearer than u from v
For each u reached from v:// If ↓ is true, the best route is given by using that landmark
If no landmark is on the path from v to u:
store(v, eu(v)) at u
// Calculate shortest paths from landmarks to every node
For each l ∈ L, perform fullDijkstra(nα)
// v appearedFor each v ∈ V
Store (l, eu(l)) at u
A set of landmarks (L) is O(n1α log n + n(1+α)/2)
Table size = size(label of node) * size(columns)
Size(label of node) = O(log(n))
Size(columns) ≤ L + nα = O(n1α log n + n(1+α)/2 + nα)
∴ Table size = O((n1α log n + n(1+α)/2 + nα) log n)
Search α which minimizes table size, and get α = 1/3 + (2 log log n) / (3 log n)Table size = O(n2/3 log4/3 (n))
Proof : table size = O(n2/3 log4/3 (n))(As a result, route(u, v) is always optimal in this case)
u
lv
x
v
u
y
lv
x
v