Download - Greedy Routing with Guaranteed Delivery Using Ricci Flow

Transcript
Page 1: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

Greedy Routing with Guaranteed Delivery

Using Ricci Flow

Jie GaoStony Brook University

Rik Sarkar, Xiaotian Yin, Feng Luo, Xianfeng David Gu

Page 2: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

2

Greedy Routing• Assign coordinates to nodes • Message moves to neighbor closest to

destination• Simple, easy, compact

Page 3: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

3

Greedy Routing

• Can get stuck

xy z

Page 4: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

4

Use Ricci flow to make all holes circular

• Greedy routing does not get stuck at holes.

Page 5: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

5

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

Page 6: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

6

Part I : Curvature and Ricci Flow

Curvature: κ = 1/RFlatter curves have smaller curvature.

R

Page 7: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

7

Changing the Curvature

Flatten a curve: κ0

Make a cycle roundκ1/R

R

Page 8: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

Discrete Curvature

8

Turning angle

Sum of curvature = 2π

Page 9: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

9

Discrete Curvature in 2D Triangulated Surface

Page 10: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

10

Discrete Curvature in 2D Triangulated Surface

Deviation from straight line

For an interior vertex

For a vertex on the boundary

Deviation from the plane

corner angle

Page 11: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

11

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)

Page 12: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

12

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π

Page 13: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

13

What they look likeNegative Curvature Positive Curvature

Page 14: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

Ricci Flow: diffuse curvature

• Riemannian metric g on M: curve length• We modify g by curvature • Curvature evolves:

• Same equation as heat diffusion14

Δ: Laplace operator

Page 15: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

15

Ricci Flow: diffuse curvature

• “Ricci energy” is strictly convex unique surface with the same surface area s.t. there is constant curvature everywhere.

• Conformal map: angle preserving

Page 16: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

16

Ricci Flow in our case

• Target: a metric with pre-specified curvature

Boundary cycle

Page 17: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

17

Discrete Ricci Flow

• Metric: edge length of the triangulation– Satisfies triangle inequality

• Metric determines the curvature

• Discrete Ricci flow: conformal map that modifies edge length to smooth out curvature.

Page 18: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

Discrete Flow : Use Circle Packing Metric

• Circle packing metric: circle of radius γi at each vertex & intersection angle φij.

Remark: no need of an embedding (vertex location) 18

With γ, φ one can calculate the edge length l and corner angle θ, by cosine law

Discrete Ricci flow modifies γ, preserves φ

Page 19: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

Discrete Flow : Use Circle Packing Metric

• Circle packing metric: circle of radius γi at each vertex & intersection angle φij.

• Take • Discrete Ricci flow:

19

Target curvature Current curvature

Page 20: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

20

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

Page 21: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

21

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)

Page 22: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

22

Issues with Network Graph

• We need a triangulation s.t. locally we have 2D patches.

Crossing Edgesdegeneracies

Page 23: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

23

Location-based Triangulation

Local delaunay triangulations with locations[Gao, Guibas, Hershberger, Zhang, Zhu - Mobihoc 01]

• Compute Delaunay triangulations in each node’s neighborhood

• Glue neighboring local triangulations • Remove crossing edges• We now extend it to quasi-UDG

Page 24: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

24

Location-based triangulation

• Handling Degeneracies : Insert virtual nodes

• Locations not required for Ricci flow algorithm• Set all initial edge lengths = 1

Page 25: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

25

Location Free Triangulation• Landmark-based scheme : planar triangulation. [Funke,

Milosavljevic SODA ’07]

• Set all edge lengths = 1

Page 26: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

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

Page 27: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

27

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.

Page 28: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

28

Examples

Page 29: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

29

Routing

Page 30: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

30

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

Method Delivery Avg Stretch

Max Stretch

Ricci Flow 100% 1.59 3.21NoGeo 83.66% 1.17 1.54

Page 31: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

31

Convergence rate

• Curvature error bound ε

• Step size δ• # steps =

O(log(1/ε)/δ)

Iterations Vs error

Page 32: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

32

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

Page 33: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

33

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?

Page 34: Greedy Routing  with  Guaranteed Delivery  Using Ricci Flow

35

Convergence rate

• Curvature error bound ε

• Step size δ• # steps =

O(log(1/ε)/δ)

• Experiments: ε=1e-6.

Iterations Vs Number of Nodes