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
© Copyright 2025 Paperzz