here - LaBRI

Compact NameIndependent Routing with
Minimum Stretch
Ittai Abraham (HUJI)
Cyril Gavoille (LABRI)
Dahlia Malkhi (HUJI)
Noam Nisan (HUJI)
Mikkel Thorup (ATT)
Locality Awareness
x
t
s
Compact Low Stretch Routing
Peers communicate through a weighted
network G=<V,E,ω>
 Devise a distributed routing scheme such
that: a node that knows the label of a
target node can send a message that will
be routed to the target node
 Main complexity measures:



Stretch: the maximal ratio over all pairs of
dRS(s,t)/d(s,t)
Memory: the number of bits stored in each
node.
Routing on a Weighted Graph

Lower bounds:




Two main variants:



Stretch < 3 requires Ω(n) bits per node [Gavoille &
Gengler 01]
Stretch < 5 requires Ω (√n) bits per node [Thorup &
Zwick 01]
Stretch < 2k-1 requires Ω (n1/k) bits per node [Thorup &
Zwick 01] Under the Erdosh conjecture
Labeled routing: designer can choose the labels of nodes
Name Independent routing: node labels are given by an
adversary
Labeled routing:



Stretch 3 with Õ(n2/3) bits [Cowen 99]
Stretch 3 with Õ(√n) bits [Thorup & Zwick 01]
Stretch 4k-1 with Õ(n1/k) bits [Thorup & Zwick 01]
Name Independent Routing

Awerbuch, Bar-Noy, Linial & Peleg 89




Awerbuch & Peleg 90 (Sparse Partitions)





With Õ(n1/k) bits – stretch O(k29k)
With Õ(n2/3) bits – stretch 468
With Õ(√n) bits – stretch 2593
For diameters that are polynomial in n
With Õ(n1/k) bits – stretch O(k2)
With Õ(n2/3) bits – stretch 624
With Õ(√n) bits – stretch 1088
Arias, Cowen, Laing, Rajaraman & Taka 03

With Õ(√n) bits – stretch 5
Compact Name-Independent Routing with
Minimum Stretch
Optimal stretch 3 with Õ(√n) bits
 Construction in polynomial time
 Routing decisions performed in constant
time


Surprisingly, with Õ(√n) bits allowing the
designer to label the nodes does not
improve the stretch factor compared to
the task when node labels are
predetermined by an adversary.
The Recipe

Ingredients






Vicinity routing
Random coloring to √n colors
Hash labels to colors
Labeled routing on trees
Landmarks
Partial shortest path trees
Vicinity Routing
Let B(u) denote the (√n log n)-closest
nodes to u (ties broken consistently)
 For all vB(u), node u stores the next hop
of a minimum cost path from u to v
 Simple property [ABLP 89]: If vB(u) and
w is on a minimum cost path from u to v,
then vB(w)

u
w
v
B(u)
Random Coloring to √n Colors
Every node u chooses a random color c(u)
 With high probability



Every color set has O(√n) nodes
Every node has in its vicinity at least one node
from every color set
Polynomial number of tests
 Each test can be done
in logspace
 Derandomization using
the pseudo random
generator of Nisan

Hash Labels to Colors
Label u is hashed to a color h(u){1… √n}
 At most O(√n log n) hashed to same color
 Trivial if node labels are a permutation of
1…n
 Otherwise can collision free hash to n2.5
and then use the techniques of Tarjan and
Yao to hash to √n in constant time. Can
be deradomized similarly to deterministic
dictionaries of Hagerup, Milerstein, & Pagh

Labeled Routing on Trees




Based on DFS Interval Routing, improved by
Frainiaud & Gavoille 01 and Thorup & Zwick 01
Storage O(log n) bits, Label O(log2 n) bits,
Stretch 1
A node is heavy if its sub-tree contains more than half of the nodes of its
parent’s sub-tree
Each node stores its DFS interval and the DFS interval of its heavy child (if
it has one)


A node’s label consists of the names of the non-heavy nodes on the path
from the root


Storage is O(log n) bits
Labels require O(log2 n) bits
Routing to v on node u:



If v is not in u’s interval then send to parent
If v is in u’s heavy child interval then send to heavy
Otherwise u’s label contains the appropriate child
Landmarks
Let R(T,v) be the routing information
stored at node v for routing on tree T
 Let T(u) be the minimum cost tree rooted
at u
 One color is designated as special
 Let L be the set of all nodes l such that
c(l)=special color
 Every node u maintains R(T(l),u) for all
lL
 This requires Õ(√n) bits
 For node u, let l(u) be a landmark in B(u)

Partial Shortest Path Trees
Every node v stores R(T(u),v) for all
uB(v)
 Requires Õ(√n) bits
 Let L(T,u) be the label of u on tree T
 Simple property: If xB(y) then given
L(T(x),y), node x can route to node y
along a minimum cost path

y
w
x
B(y)
Case 1: Inside B(u)

Use vicinity routing
u
v
Case 2: B(u) and B(v) are close

Any node on any minimal path from u to v
is either in B(u) or in B(v)
• Vicinity route to wB(u) s.t.
c(w)=h(v)
u
w
x
y
v
• Node w stores
L(T(w),u),x,(xy),L(T(y),v)
• Partial tree route to u on
T(w)
• Vicinity routing to y
• Partial tree route to v on
T(y)
Case 3: B(u) and B(v) are far

Any minimal path from u to v contains a
node that is not in B(u) or in B(v)
• Vicinity route to wB(u)
s.t. c(w)=h(v)
• Node w stores
L(T(l(v)),l(v)) and
L(T(l(v)),v)
u
• Tree route on T(l(v)) to
l(v)
l(v) and then to v
w
v
b(u)+d(w,l)+b(v) <=
b(u)+b(u)+d(u,v)+b(v)+b(v)
<= 3 d(u,v)
Storage on node u




Routing information and colors in B(u) [Vicinity]
R(T(l),u) for all lL
[Landmarks]
R(T(v),u) for all vB(u) [Partial Trees]
For all v such that c(u)=h(v) minimum of
1.
2.
Path to l(v) and then to v. Store <L(T(l(v)), l(v)) ,
L(T(l(v)), v)>
Let P(u,w,v) be a path from u to v composed of an MCP
from u to w, and of an MCP from w to v, such that:


u \in B(w),
there exists an edge (x  y) along the minimum path
from w to v such that x  B(w) and y  B(v)
Among all the these paths choose the lowest cost path
P(u,w,v) and store <L(T(u), w), x, (x  y), L(T(y),v)>
Routing from u to v
If vB(u) use vicinity routing
 If vL use tree routing on T(v)
 Otherwise vicinity route to wB(u) such
that c(w)=h(v)
 Node w stores either



<R(T(l(v)), l(v)) , R(T(l(v)), v)>, and routing
proceeds to l(v) and then to v
<R(T(u), w), x, (x  y), R(T(y),v)>, and
routing proceeds to w then x to y and finally to
v
Questions
Thank you