Scalable Routing in 3D High Genus Sensor Networks Using Graph Embedding

Post on 14-Feb-2016

17 views 0 download

Tags:

description

Scalable Routing in 3D High Genus Sensor Networks Using Graph Embedding. Xiaokang Yu 1 , Xiaotian Yin 2 , Wei Han 2 , Jie Gao 3 , Xianfeng David Gu 3 1 Shandong University, PRC 2 Harvard University 3 Stony Brook University. Routing in a high genus 3D network. - PowerPoint PPT Presentation

transcript

1

Scalable Routing in 3D High Genus Sensor Networks Using Graph Embedding

Xiaokang Yu1, Xiaotian Yin2, Wei Han2, Jie Gao3, Xianfeng David Gu3

1Shandong University, PRC2Harvard University

3Stony Brook University

2

Routing in a high genus 3D network

• Sensors monitoring underground tunnels – water, sewer, gas system; coal mine [Li, Liu 2009]

• Non-planar, 3D network• Sparse with complex shape

3

Geographical routing in 2D

• Greedy routing: next hop closer to dest• Face routing: tour around a planar face

towards dest

S t

4

Geographical routing in 3D

• 2D geographical routing– Greedy routing works in any dimension– Face routing is unique to 2D

• Geo-routing in 3D is strictly harder.– Analogy of “faces” is “voids” in 3D; how to get

around a void is not obvious.– In 3D unit ball graph, no deterministic algorithm

can guarantee delivery with O(1) state. [DKN08]

5

Geographical routing in 3D

• Ideas to do geo-routing in 3D:– Handle special cases of dense networks [XYW+11].– Project to 2D. [KFO05, LCW+08]– Use hull tree [ZCL+10]– Random walk [FW08]– Face routing on a general graph [ZLJ+07].

• Our idea:– Embed a graph on a general surface– Apply greedy routing with guaranteed delivery

6

Embedding a graph on a surface

• Every graph can be embedded on a (high genus) surface without crossing edges

• Genus: # handles.– # times one can cut the surface without

disconnecting it

genus=1 genus=2 genus=3

7

Special case: planar graphs

• Combinatorial: no K5, or K3, 3 minor.

• K3, 3 cannot be embedded in the plane without crossing edges.

8

Special case: planar graphs

• Combinatorial: no K5, or K3, 3 minor.

• K3, 3 can be embedded on a torus

9

Special case: planar graphs

• Planar graphs can always be embedded on a sphere (genus 0), e.g., in Thuston’s embedding

Point of infinity Red: planar graph; Blue: dual graph

10

Example: embedding on a torus

Planar illustration: Left & right boundaries are identified; Top & bottom boundaries are identified.

11

Example: embedding on a torus

Red: planar graph; Blue: dual graph

12

Algorithm

1. Define planar faces for a general graph– In a combinatorial sense.– Same idea used in FaceTracing [ZLJ+07]

2. Embed these faces on a general surface3. Use the embedding for greedy routing

13

Define faces on a general graph

• Rotation system: around each vertex, define a (arbitrary) cyclic order of the edges.

• Trace edges of a face: come in from edge i of a vertex v, leave at edge i+1 at v.

• Each edge only belongs to two faces, once in each direction.

1

5

4

3 2

14

Genus of the embedding surface

• Determining the embedding surface with minimum genus is NP-hard. [T89]

• We tested a heuristic algorithm:– Swap the orders of two adjacent edges.– Keep it if the genus goes down.– In practice we can bring down the genus to about

1/3 the original.

15

Compute the embedding

• Determine the edge lengths for such a surface embedding

• Introduce the dual graph• Introduce a vertex for

intersection of a primal & its dual edge

• This defines a partitioning into 4-gons, each with one primal vertex, one dual vertex, two edge vertices.

16

Compute the embedding

• Use circle packing metric

• Red circles: primal graph, tangent to neighbors.

• Green circles: dual graph, tangent to neighbors

• Red circle orthogonal to adjacent green circle.

17

Compute the embedding

• Existence of such a metric is guaranteed in theory.– Genus=0, spherical metric, curvature > 0– Genus=1, Euclidean metric, curvature = 0– Genus=2, hyperbolic metric, curvature < 0

• Use Ricci flow (curvature flow) to compute the final metric– Distributed algorithm introduced in [SYG+08]– Convergence is guaranteed by theory.

18

Algorithm outline

1. Define planar faces for a general graph2. Embed these faces on a general surface3. Use the embedding for greedy routing

1. Define virtual coordinates.

19

Route on the embedded surface

• Decompose into |2-2 genus| “pants” (genus 0 with 3 boundaries)

20

Route on the embedded surface

• Each pant can be partitioned into two hexagonal pieces (half pants).

• With the computed embedding, each piece is convex inside which greedy routing guarantees delivery!

Embedding in hyperbolic space

21

Route on the embedded surface

• Routing in two stages• Global planning:– Find the sequence of hexagonal pieces to visit– Each node stores the adjacency of the half pants.– Storage = O(genus of the embedding)

• Local routing:– Perform greedy routing inside each piece– Each node stores virtual coordinate on its half pants

22

Example: pants decomposition

23

Example: global planning phase

24

Example: local routing phase

• Greedy routing to the closest point on the boundary to the next piece to visit.

25

Example: entire path

26

Performance comparison• Compare with

1. Face tracing [ZLJ+08]: Use rotation system to define faces, do DFS on faces

2. Shortest path routing3. Greedy routing using geographical coordinates

• Assume the ideal setting of no transmission failures.

27

Performance comparison• Sensors densely deployed on two surfaces.

genus=4

28

Simulation results

• Delivery rate

• Average path lengths

29

Path length histogram

Global guidance is helpful in finding paths in the correct direction.

30

Conclusion and open questions

• A general solution for routing on an arbitrary graph.

• Storage size of each node: – adjacency of pants decomposition – virtual coordinates in each half pants– O(genus of the embedding).

• Open: approximation algorithm for determining the embedding surface with minimum genus?

31

Questions and Comments?

• http://www.cs.sunysb.edu/~jgao• jgao@cs.sunysb.edu