R outing, A nycast, and M ulticast for Mesh and Sensor Networks

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

description

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) - PowerPoint PPT Presentation

Transcript of R outing, A nycast, and M ulticast for Mesh and Sensor Networks

Page 1: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

Routing, Anycast, and Multicastfor Mesh and Sensor Networks

Roland FluryRoger Wattenhofer

RAM

DistributedComputing Group

Page 2: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

2Roland Flury, ETH Zürich @ Infocom 2007

Page 3: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

3Roland Flury, ETH Zürich @ Infocom 2007

All-In-One Solution

Page 4: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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)

Page 5: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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

Page 6: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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

Page 7: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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

Page 8: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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

Page 9: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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

Page 10: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

10Roland Flury, ETH Zürich @ Infocom 2007

Outline

Introduction

Related Work

Construction of Labels

Construction of Routing Tables

Unicasting

Multicasting

Anycasting

Page 11: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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

Page 12: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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

Page 13: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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

Page 14: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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

Page 15: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

15Roland Flury, ETH Zürich @ Infocom 2007

Outline

Introduction

Related Work

Construction of Labels

Construction of Routing Tables

Unicasting

Multicasting

Anycasting

Page 16: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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

Page 17: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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.

Page 18: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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

Page 19: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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.

Page 20: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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.

Page 21: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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 )

Page 22: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

22Roland Flury, ETH Zürich @ Infocom 2007

Questions / Comments

Thank you!Questions / Comments?

Roland FluryRoger Wattenhofer

Page 23: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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)

Page 24: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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)

Page 25: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

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)

Page 26: R outing,  A nycast, and  M ulticast for Mesh and Sensor Networks

26Roland Flury, ETH Zürich @ Infocom 2007

Constant Doubling Metrics