i -1 - Distributed Computing Group

RAM
Routing, Anycast, and Multicast
for Mesh and Sensor Networks
Roland Flury
Roger Wattenhofer
Distributed
Computing Group
Roland Flury, ETH Zürich @ Infocom 2007
2
All-In-One Solution
Roland Flury, ETH Zürich @ Infocom 2007
3
Routing in Mesh and Sensor Networks
• Unicast Routing (send message to a given node)
• Multicast Routing (send message to a given set of nodes)
Roland Flury, ETH Zürich @ Infocom 2007
4
Routing in Mesh and Sensor Networks (2)
• Anycast Routing (send message to any node of a given set)
Unicast
Anycast
Unicast
Anycast
Multicast
Multicast
ALL IN ONE
Roland Flury, ETH Zürich @ Infocom 2007
5
Modeling Wireless Networks
Routing in limited, wireless networks
– Limited Storage
– Limited Power
– No central unit, fully distributed algorithms
Description of network topology
– Undirected Graph G=(V,E)
– Vertices V: Set of network nodes
– Edges E: present between any two connected nodes
Wireless Networks
– Nodes tend to be connected to other nodes in proximity
– Connectivity graphs: constant doubling
Roland Flury, ETH Zürich @ Infocom 2007
6
Constant Doubling Metrics
Ball: Bu(r) := { v | v 2 V and dist(u, v) · r }
8 u 2 V, r > 0 : 9 S µ Bu(r) s.t.
8 x 2 Bu(r) : 9 s 2 S : dist(x, s) · r/2
|S| = 2 = O(1)
doubling dimension 
Roland Flury, ETH Zürich @ Infocom 2007
7
Routing, Anycast, and Multicast
• Labeled routing scheme
• (1+)-approximation for Unicast Routing
• Constant approximations to Multicast and Anycast
•
-approximate Distance Queries
• Label size: O(log ) (bits)
–  is the diameter of the network

• Routing table size: O(1/) (log ) (O() + log ) (bits)
–  is the doubling dimension of the graph (2..5)
–  is the max degree of any node
Roland Flury, ETH Zürich @ Infocom 2007
8
Some Related Work
•
Gavoille, Gengler. Space Efficiency for Routing Schemes of Stretch Factor Three.
No labeling and stretch < 3 requires routing tables of size (n)
Routing Table (bits)
Label (bits)
Talwar, 2004
O(1/( )) log2+ 
O( log )
Chan et al. 2005
( / )O() log  log 
O( log(1/)) log 
Slivkins, 2005
-O() log  log 
O( log(1/)) log 
Slivkins, 2005
-O() log  log log  log n
2O() log n log(-1 log )
Abraham et al. 2006
-O() log n log(min(,n))
This work
O(1/) log  (O() + log )
d log n e

2O() log 
n Number of nodes in network
 Diameter of network
Not only Unicast Routing, but also
 Doubling dimension of network
Multicast,
Anycast,
of anyand
nodedistance queries
 Max. degree
& distributed
factor construction
for unicast routing
 Approximation
Roland Flury, ETH Zürich @ Infocom 2007
9
Outline
Introduction
Related Work
Construction of Labels
Construction of Routing Tables
Unicasting
Multicasting
Anycasting
Roland Flury, ETH Zürich @ Infocom 2007
10
Node Labeling: -net
• Given a graph G=(V,E)
• U ½ V is a -net if
a) 8 v 2 V: 9 u 2 U : d(u,v) · 
b) 8 u1, u2 2 U : d(u1, u2) > 
Roland Flury, ETH Zürich @ Infocom 2007
Net centers of the -net
11
Dominance Net Hierarchy
• Build -nets for  2 {1, 2, 4, …, 2d log  e }
Level 3
=8
Level 2
=4
Level 1
=2
Level 0
=1
Roland Flury, ETH Zürich @ Infocom 2007
12
Naming Scheme
• Select parent from next higher level
• Parent enumerates all of its children
– At most 22 children
– 2 bits are sufficient for the enumeration
• Name of net-center obtained by concatenation of enum values
– Name at most 2 log  bits long
Root
1
1
1
2
1
3
1
4
2
5
1
2
6
1
2 3
R:6:3:2
1 2
1 1
2 1 2
1 2 3
1
1 2
Roland Flury, ETH Zürich @ Infocom 2007
1 1 2
13
Node Labeling
• Each net-center c of a -net advertises itself to Bc(2)
• Any node n stores ID of all net-centers from which it receives
advertisements
– Per level at most 22 net-centers to store
– If net-center c covers n, then also the parent of c covers n
– The set of net-centers to store form a tree
Level 3
1
Level 2
Level 1
Level 0
1
1 2
1
2
1
1 1
3
1
4
2
2 1 2
1 2 3
5
1
2
1
1
1 2
6
– Per level at most 22 ¢ 2 bits
– d log  e levels
) Label size of O(log ) for a
constant 
2 3
1 1 2
n
Roland Flury, ETH Zürich @ Infocom 2007
14
Outline
Introduction
Related Work
Construction of Labels
Construction of Routing Tables
Unicasting
Multicasting
Anycasting
Roland Flury, ETH Zürich @ Infocom 2007
15
Routing Tables
• Routing tables to support (1+) stretch routing

Recall: Routing table size of O(1/) (log ) (O() + log ) bits
• Every net-center c 2 -net of the dominance net advertises itself to
Bc( (8/ + 6))
• Every node stores direction to reach all advertising net-centers
c
Bc( (8/ + 6))
Roland Flury, ETH Zürich @ Infocom 2007
16
Routing Tables – Analysis
• Each node needs to store direction for at most 22(8/ + 6) netcenters per level
• If a node needs to store a routing entry for net-center c, then it also
needs to store a routing entry for the parent of c.
– The routing table can be stored as a tree
• For each net-center, we need to store its enumeration value, and
the next-hop information, which takes at most 2 + log  bits
• Total storage cost is 22(8/ + 6) log  (2 + log ) bits.
Roland Flury, ETH Zürich @ Infocom 2007
17
Unicast Routing
Problem: From a sender node s, send a message to a target node t,
given the ID and label L(t).
Algorithm: From all net-centers listed in L(t), s picks the net-center c on
the lowest level to which it has routing information and
forwards the message towards c.
Main idea: Once we reach a first net-center of t, we are sure to find a
closer net-center on a lower layer.
The path to the first net-center causes only little overhead
as the net-centers advertise themselves quite far. c1
s
Roland Flury, ETH Zürich @ Infocom 2007
t
c3
c2
18
Multicast Routing
Problem: From a sender node s, send a message to a set of target
nodes U.
Algorithm: Build a Minimum Spanning Tree (MST) on s  U and send
the message on this tree.
Main idea: The MST is a 2-approximation to the Minimum Steiner Tree
problem.
Our distance estimates may be wrong up to a factor 6, and
message routing on the tree has stretch (1+), which results
in a 12(1+)-approximation.
Roland Flury, ETH Zürich @ Infocom 2007
19
Anycast Routing
Problem: From a sender node s, send a message to an arbitrary
target chosen from a set U.
Algorithm: Determine u 2 U with minimal distance to s, and send the
message to u.
Main idea: Our distance estimates may be wrong up to a factor 6, and
message routing on the tree has stretch (1+), which results
in a 6(1+)-approximation.
Roland Flury, ETH Zürich @ Infocom 2007
20
Summary
Unicast
Unicast
(1+) approximation
Multicast
Anycast
12 (1+) approximation
Multicast
Anycast
6 (1+) approximation
ALL IN ONE
Label size:
O(log )
Routing table size:
O(1/) (log ) (O() + log )
Roland Flury, ETH Zürich @ Infocom 2007
21
Questions / Comments
Thank you!
Questions / Comments?
Roland Flury
Roger Wattenhofer
Roland Flury, ETH Zürich @ Infocom 2007
22
-nets on  Doubling Metrics
Property 1 (Sparseness):
Any ball Bv(2x ) covers at most 2(1+x) 
nodes from an arbitrary -net.
2-net
v
Bv(4)
Roland Flury, ETH Zürich @ Infocom 2007
23
-nets on  Doubling Metrics (2)
Property 2 (Dominance):
Given a -net, and each net-center u
covers Bu(2), then any network node is
covered by at most 22 net-centers.
2-net
Bu(4)
u
Roland Flury, ETH Zürich @ Infocom 2007
24
Distance Queries
Problem: Determine the distance between two nodes u and v, given
their labels L(u) and L(v)
Solution: Determine the smallest level i for which the labels of u and v
have at least one common net-center…
Theorem: The distance query is a
-approximation.
Proof:
Lower bound: dist(u, v) > 2i -1, otherwise L(u) and L(v) have
a common net-center on level i-1.
Upper bound: By distinction of cases and applying triangle
inequality… (see paper)
Roland Flury, ETH Zürich @ Infocom 2007
25
Constant Doubling Metrics
Roland Flury, ETH Zürich @ Infocom 2007
26