380 likes | 681 Views
Greedy Routing with Guaranteed Delivery Using Ricci Flow. Jie Gao Stony Brook University Rik Sarkar , Xiaotian Yin, Feng Luo , Xianfeng David Gu. Greedy Routing. Assign coordinates to nodes Message moves to neighbor closest to destination Simple, easy, compact.
E N D
Greedy Routing with Guaranteed Delivery Using Ricci Flow JieGao Stony Brook University RikSarkar, Xiaotian Yin, FengLuo, XianfengDavid Gu
Greedy Routing • Assign coordinates to nodes • Message moves to neighbor closest to destination • Simple, easy, compact
Greedy Routing • Can get stuck y x z
Use Ricci flow to make all holes circular • Greedy routing does not get stuck at holes.
Talk Overview • Theory on Ricci flow --smoothing out surface curvature • Distributed algorithm on sensor network • Extract a triangulation from unit disk / quasi unit disk graphs • Ricci flow: distributed iterative algorithm
Part I : Curvature and Ricci Flow R Curvature: κ = 1/R Flatter curves have smaller curvature.
Changing the Curvature Flatten a curve: κ0 R Make a cycle round κ1/R
Discrete Curvature Turning angle Sum of curvature = 2π
Discrete Curvature in 2D Triangulated Surface For an interior vertex Deviation from the plane corner angle For a vertex on the boundary Deviation from straight line
Total Discrete Curvature • Gauss Bonnet Theorem: total curvature of a surface M is a topological invariant: • Ricci flow: diffuse uneven curvatures to be uniform Euler Characteristic: 2 – 2(# handles) – (# holes)
Sanity check: total curvature • h holes, Euler characteristics = 2-(h+1) • Outer boundary: curvature 2π • Each inner hole: -2π • Interior vertex: 0 • Total curvature: (1-h)2π
What they look like Negative Curvature Positive Curvature
Ricci Flow: diffuse curvature • Riemannian metric g on M: curve length • We modify g by curvature • Curvature evolves: • Same equation as heat diffusion Δ: Laplace operator
Ricci Flow: diffuse curvature • “Ricci energy” is strictly convex unique surfacewith the same surface area s.t. there is constant curvature everywhere. • Conformal map: angle preserving
Ricci Flow in our case • Target: a metric with pre-specified curvature Boundary cycle
Discrete Ricci Flow • Metric: edge length of the triangulation • Satisfies triangle inequality • Metric determines the curvature • Discrete Ricci flow: conformalmap that modifies edge length to smooth out curvature.
Discrete Flow : Use Circle Packing Metric • Circle packing metric: circle of radius γi at each vertex & intersection angle φij. With γ,φ one can calculate the edge length l and corner angle θ, by cosine law Discrete Ricci flow modifies γ, preserves φ Remark: no need of an embedding (vertex location)
Discrete Flow : Use Circle Packing Metric • Circle packing metric: circle of radius γi at each vertex & intersection angle φij. • Take • Discrete Ricci flow: Target curvature Current curvature
Background • [Hamilton 82, Chow 91] : Smooth curvature flow flattens the metric • [Thurston 85, Sullivan and Rodin 87] : Circle packing – discrete conformal maps • [He and Schramm 93, 96] : Discrete flow with non-uniform triangulations • [Chow and Luo 03] : Discrete flow, existence of solutions, criteria, fast convergence
Part II : Ricci Flow in Sensor Networks • Build a triangulation from network graph • Requirement: triangulation of a 2D manifold • Compute virtual coordinates • Apply distributed Ricci flow algorithm to compute edge lengths d(u, v) with the target curvature (0 at interior vertices and 2π/|B| at boundary vertices B) • Calculate the virtual coordinates with the edge lengths d(u, v)
Issues with Network Graph • We need a triangulation s.t. locally we have 2D patches. Crossing Edges degeneracies
Location-based Triangulation Local delaunay triangulations with locations [Gao, Guibas, Hershberger, Zhang, Zhu - Mobihoc01] • Compute Delaunay triangulations in each node’s neighborhood • Glue neighboring local triangulations • Remove crossing edges • We now extend it to quasi-UDG
Location-based triangulation • Handling Degeneracies : Insert virtual nodes • Locations not required for Ricci flow algorithm • Set all initial edge lengths = 1
Location Free Triangulation • Landmark-based scheme : planar triangulation.[Funke, Milosavljevic SODA ’07] • Set all edge lengths = 1
Ricci Flow in Sensor Networks • All edge length = 1 initially • Introduces curvature in the surface • Use Ricci flow to reach target curvature κ’ • Take tangent circle packing metric: γ=1/2, φ=0 initially • Interior nodes: target curvature = 0 • Nodes on boundary C: target curvature = - 2π/|C| • Modify ui=logγi by δ (κ’-κ) • Until the curvature difference < ε |C|: Length of the boundary cycle
Ricci Flow in Sensor Networks • Ricci flow is a distributed algorithm • Each node modifies its own circle radius. • Compute virtual coordinates • Start from an arbitrary triangle • Iteratively flatten the graph by triangulation.
Experiments and Comparison • NoGeo : Fix locations of boundary, replace edges by tight rubber bands : Produces convex holes [Rao, Papadimitriou, Shenker, Stoica – Mobicom 03] • Does not guarantee delivery: cannot handle concave holes well
Convergence rate • Curvature error bound ε • Step size δ • # steps = O(log(1/ε)/δ) Iterations Vs error
Theoretical guarantee of delivery Theoretically, • Ricci flow is a numerical algorithm. • Triangles can be skinny. • In our simulations, we have not encountered any delivery problems • In theory, one can refine the triangulation to deal with skinny triangles
Summary • Deformation of network metric by smoothing out curvatures. • All holes are made circular. • Greedy routing always works. • Future work: • Guarantee of stretch? • Load balancing?
Convergence rate • Curvature error bound ε • Step size δ • # steps = O(log(1/ε)/δ) • Experiments: ε=1e-6. Iterations Vs Number of Nodes