Routing, Anycast, and Multicast for Mesh and Sensor Networks Roland Flury Roger Wattenhofer RAM Distributed Computing Group
Feb 24, 2016
Routing, Anycast, and Multicastfor Mesh and Sensor Networks
Roland FluryRoger Wattenhofer
RAM
DistributedComputing Group
2Roland Flury, ETH Zürich @ Infocom 2007
3Roland Flury, ETH Zürich @ Infocom 2007
All-In-One Solution
4Roland Flury, ETH Zürich @ Infocom 2007
Routing in Mesh and Sensor Networks
• Unicast Routing (send message to a given node)
• Multicast Routing (send message to a given set of nodes)
5Roland Flury, ETH Zürich @ Infocom 2007
Routing in Mesh and Sensor Networks (2)
• Anycast Routing (send message to any node of a given set)
Unicast MulticastAnycastUnicast
AnycastMulticast
ALL IN ONE
6Roland Flury, ETH Zürich @ Infocom 2007
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
7Roland Flury, ETH Zürich @ Infocom 2007
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
8Roland Flury, ETH Zürich @ Infocom 2007
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
9Roland Flury, ETH Zürich @ Infocom 2007
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)) d log n eThis work O(1/) log (O() + log ) 2O() log
n Number of nodes in network Diameter of network Doubling dimension of network Max. degree of any node Approximation factor for unicast routing
Not only Unicast Routing, but also Multicast, Anycast, and distance queries
& distributed construction
10Roland Flury, ETH Zürich @ Infocom 2007
Outline
Introduction
Related Work
Construction of Labels
Construction of Routing Tables
Unicasting
Multicasting
Anycasting
11Roland Flury, ETH Zürich @ Infocom 2007
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) > Net centers of the -net
12Roland Flury, ETH Zürich @ Infocom 2007
Dominance Net Hierarchy
• Build -nets for 2 {1, 2, 4, …, 2d log e }
= 2
= 4
= 8
= 1Level 0
Level 1
Level 2
Level 3
13Roland Flury, ETH Zürich @ Infocom 2007
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
1 2 3 4 5 6
3212121111
1 2 1 1 2 1 2 1 2 3 1 1 2 1 1 2
Root
R:6:3:2
14Roland Flury, ETH Zürich @ Infocom 2007
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
1 2 3 4 5 6
3212121111
1 2 1 1 2 1 2 1 2 3 1 1 2 1 1 2Level 0
Level 1
Level 2
Level 3– Per level at most 22 ¢ 2 bits– d log e levels) Label size of O(log ) for a
constant
n
15Roland Flury, ETH Zürich @ Infocom 2007
Outline
Introduction
Related Work
Construction of Labels
Construction of Routing Tables
Unicasting
Multicasting
Anycasting
16Roland Flury, ETH Zürich @ Infocom 2007
Routing Tables
• Routing tables to support (1+) stretch routingRecall: 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
Bc( (8/ + 6))
c
17Roland Flury, ETH Zürich @ Infocom 2007
Routing Tables – Analysis
• Each node needs to store direction for at most 22(8/ + 6) net-centers 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.
18Roland Flury, ETH Zürich @ Infocom 2007
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.
s t
c1
c2c3
19Roland Flury, ETH Zürich @ Infocom 2007
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.
20Roland Flury, ETH Zürich @ Infocom 2007
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.
21Roland Flury, ETH Zürich @ Infocom 2007
Summary
Unicast
Multicast
Anycast
Unicast
AnycastMulticast
(1+) approximation
12 (1+) approximation
6 (1+) approximation
ALL IN ONE
Label size: O(log )
Routing table size: O(1/) (log ) (O() + log )
22Roland Flury, ETH Zürich @ Infocom 2007
Questions / Comments
Thank you!Questions / Comments?
Roland FluryRoger Wattenhofer
23Roland Flury, ETH Zürich @ Infocom 2007
-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)
24Roland Flury, ETH Zürich @ Infocom 2007
-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.
u
2-netBu(4)
25Roland Flury, ETH Zürich @ Infocom 2007
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)
26Roland Flury, ETH Zürich @ Infocom 2007
Constant Doubling Metrics