Scalable Routing in 3D High Genus Sensor Networks Using Graph

Scalable Routing in 3D High Genus
Sensor Networks Using Graph
Embedding
Xiaokang Yu1, Xiaotian Yin2, Wei Han2, Jie Gao3,
Xianfeng David Gu3
1Shandong University, PRC
2Harvard University
3Stony Brook University
1
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
2
Geographical routing in 2D
• Greedy routing: next hop closer to dest
• Face routing: tour around a planar face
towards dest
S
t
3
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]
4
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
5
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
6
Special case: planar graphs
• Combinatorial: no K5, or K3, 3 minor.
• K3, 3 cannot be embedded in the plane without
crossing edges.
7
Special case: planar graphs
• Combinatorial: no K5, or K3, 3 minor.
• K3, 3 can be embedded on a torus
8
Special case: planar graphs
• Planar graphs can always be embedded on a
sphere (genus 0), e.g., in Thuston’s embedding
Point of infinity
9
Red: planar graph; Blue: dual graph
Example: embedding on a torus
Planar illustration:
Left & right
boundaries are
identified; Top &
bottom boundaries
are identified.
10
Example: embedding on a torus
11
Red: planar graph; Blue: dual graph
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 surface
3. Use the embedding for greedy routing
12
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.
3
2
1
4
5
13
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.
14
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.
15
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.
16
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.
17
Algorithm outline
1. Define planar faces for a general graph
2. Embed these faces on a general surface
3. Use the embedding for greedy routing
1. Define virtual coordinates.
18
Route on the embedded surface
• Decompose into |2-2 genus| “pants” (genus 0
with 3 boundaries)
19
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
20
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
21
Example: pants decomposition
22
Example: global planning phase
23
Example: local routing phase
• Greedy routing to the closest point on the
boundary to the next piece to visit.
24
Example: entire path
25
Performance comparison
• Compare with
1. Face tracing [ZLJ+08]: Use rotation system to
define faces, do DFS on faces
2. Shortest path routing
3. Greedy routing using geographical coordinates
• Assume the ideal setting of no transmission
failures.
26
Performance comparison
• Sensors densely deployed on two surfaces.
genus=4
27
Simulation results
• Delivery rate
• Average path lengths
28
Path length histogram
Global guidance
is helpful in
finding paths in
the correct
direction.
29
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?
30
Questions and Comments?
• http://www.cs.sunysb.edu/~jgao
• [email protected]
31