260 likes | 397 Views
RAM. R outing, A nycast, and M ulticast for Mesh and Sensor Networks. Roland Flury Roger Wattenhofer. D istributed. C omputing G roup. All-In-One Solution. Routing in Mesh and Sensor Networks. Unicast Routing (send message to a given node)
E N D
RAM Routing, Anycast, and Multicastfor Mesh and Sensor Networks Roland Flury Roger Wattenhofer Distributed Computing Group
All-In-One Solution Roland 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) Roland 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 Anycast Unicast Anycast Multicast Multicast ALL IN ONE Roland 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 Roland Flury, ETH Zürich @ Infocom 2007
Constant Doubling Metrics Ball: Bu(r) := { v | v2 V and dist(u, v) · r } 8u 2 V, r > 0 : 9Sµ Bu(r) s.t. 8x2 Bu(r) : 9s2S : dist(x, s) · r/2 |S| = 2 = O(1) doubling dimension Roland 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 Roland 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) Not only Unicast Routing, but also Multicast, Anycast, and distance queries & distributed construction Roland Flury, ETH Zürich @ Infocom 2007
Outline Introduction Related Work Construction of Labels Construction of Routing Tables Unicasting Multicasting Anycasting Roland Flury, ETH Zürich @ Infocom 2007
Net centers of the -net 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, u22 U : d(u1, u2) > Roland Flury, ETH Zürich @ Infocom 2007
Dominance Net Hierarchy • Build -nets for 2 {1, 2, 4, …, 2dlog e} Level 3 = 8 Level 2 = 4 Level 1 = 2 = 1 Level 0 Roland Flury, ETH Zürich @ Infocom 2007
1 2 3 4 5 6 1 1 1 1 2 1 2 1 2 3 R:6:3:2 1 2 1 1 2 1 2 1 2 3 1 1 2 1 1 2 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 Roland Flury, ETH Zürich @ Infocom 2007
1 2 3 4 5 6 1 1 1 1 2 1 2 1 2 3 1 2 1 1 2 1 2 1 2 3 1 1 2 1 1 2 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 • Per level at most 22¢ 2 bits • d log e levels • )Label size of O(log ) for a constant Level 3 Level 2 Level 1 Level 0 n Roland Flury, ETH Zürich @ Infocom 2007
Outline Introduction Related Work Construction of Labels Construction of Routing Tables Unicasting Multicasting Anycasting Roland Flury, ETH Zürich @ Infocom 2007
Routing Tables • Routing tables to support (1+) stretch routing Recall: Routing table size of O(1/)(log ) (O() + log ) bits • Every net-center c2-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
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. Roland 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. c1 s t c2 c3 Roland 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 sU 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
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
Summary (1+)approximation Unicast Unicast Anycast Multicast Multicast 12 (1+)approximation 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
Questions / Comments Thank you! Questions / Comments? Roland Flury Roger Wattenhofer Roland 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) Roland Flury, ETH Zürich @ Infocom 2007
u -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) Roland 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) Roland Flury, ETH Zürich @ Infocom 2007
Constant Doubling Metrics Roland Flury, ETH Zürich @ Infocom 2007