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?