# Routing, Anycast, and Multicast for Mesh and Sensor Networks Roland Flury Roger Wattenhofer RAM Distributed Computing Group.

## Presentation on theme: "Routing, Anycast, and Multicast for Mesh and Sensor Networks Roland Flury Roger Wattenhofer RAM Distributed Computing Group."— Presentation transcript:

Routing, Anycast, and Multicast for Mesh and Sensor Networks Roland Flury Roger Wattenhofer RAM Distributed Computing Group

Roland Flury, ETH Zürich @ Infocom 20072

3 All-In-One Solution

Roland Flury, ETH Zürich @ Infocom 20074 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 20075 Routing in Mesh and Sensor Networks (2) Anycast Routing (send message to any node of a given set) UnicastMulticastAnycast Unicast Anycast Multicast ALL IN ONE

Roland Flury, ETH Zürich @ Infocom 20076 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 20077 Constant Doubling Metrics Ball: B u (r) := { v | v 2 V and dist(u, v) · r } 8 u 2 V, r > 0 : 9 S µ B u (r) s.t. 8 x 2 B u (r) : 9 s 2 S : dist(x, s) · r/2 |S| = 2  = O(1) doubling dimension 

Roland Flury, ETH Zürich @ Infocom 20078 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 20079 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/(   ))  log 2+   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 n2 O(  ) log n log(  -1 log  ) Abraham et al. 2006  -O(  ) log n log(min( ,n)) d log n e This work O(1/  )  log  (O(  ) + log  )2 O(  ) log  nNumber 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

Roland Flury, ETH Zürich @ Infocom 200710 Outline Introduction Related Work Construction of Labels Construction of Routing Tables Unicasting Multicasting Anycasting

Roland Flury, ETH Zürich @ Infocom 200711 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 u 1, u 2 2 U : d(u 1, u 2 ) >  Net centers of the  -net

Roland Flury, ETH Zürich @ Infocom 200712 Dominance Net Hierarchy Build  -nets for  2 {1, 2, 4, …, 2 d log  e  }  = 2  = 4  = 8  = 1 Level 0 Level 1 Level 2 Level 3

Roland Flury, ETH Zürich @ Infocom 200713 Naming Scheme Select parent from next higher level Parent enumerates all of its children –At most 2 2  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 123456 3212121111 1211212123112112 Root R:6:3:2

Roland Flury, ETH Zürich @ Infocom 200714 Node Labeling Each net-center c of a  -net advertises itself to B c (2  ) Any node n stores ID of all net-centers from which it receives advertisements –Per level at most 2 2  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 123456 3212121111 1211212123112112 Level 0 Level 1 Level 2 Level 3 –Per level at most 2 2  ¢ 2  bits – d log  e levels ) Label size of O(log  ) for a constant  n

Roland Flury, ETH Zürich @ Infocom 200715 Outline Introduction Related Work Construction of Labels Construction of Routing Tables Unicasting Multicasting Anycasting

Roland Flury, ETH Zürich @ Infocom 200716 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 B c (  (8/  + 6)) Every node stores direction to reach all advertising net-centers B c (  (8/  + 6)) c

Roland Flury, ETH Zürich @ Infocom 200717 Routing Tables – Analysis Each node needs to store direction for at most 2 2  (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 2 2  (8/  + 6)   log  (2  + log  ) bits.

Roland Flury, ETH Zürich @ Infocom 200718 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 c1c1 c2c2 c3c3

Roland Flury, ETH Zürich @ Infocom 200719 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 200720 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 200721 Summary Unicast Multicast Anycast Unicast Anycast Multicast (1+  ) approximation 12 (1+  ) approximation 6 (1+  ) approximation ALL IN ONE Label size: O(log  ) Routing table size: O(1/  )  (log  ) (O(  ) + log  )

Roland Flury, ETH Zürich @ Infocom 200722 Questions / Comments Thank you! Questions / Comments? Roland Flury Roger Wattenhofer

Roland Flury, ETH Zürich @ Infocom 200723  nets on  Doubling Metrics Property 1 (Sparseness): Any ball B v (2 x  ) covers at most 2 (1+x)  nodes from an arbitrary  -net. 2-net v B v (4  )

Roland Flury, ETH Zürich @ Infocom 200724  nets on  Doubling Metrics (2) Property 2 (Dominance): Given a  -net, and each net-center u covers B u (2  ), then any network node is covered by at most 2 2  net-centers. u 2-net B u (4)

Roland Flury, ETH Zürich @ Infocom 200725 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:Thedistance query is a -approximation. Proof:Lower bound: dist(u, v) > 2 i -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 200726 Constant Doubling Metrics

Similar presentations