Geometric Routing: Of Theory and Practice

Similar documents
Geometric Ad-Hoc Routing: Of Theory and Practice. Fabian Kuhn Roger Wattenhofer Yan Zhang Aaron Zollinger

Geographical routing 1

Geometric Ad-Hoc Routing: Of Theory and Practice

Geo-Routing. Chapter 2. Ad Hoc and Sensor Networks Roger Wattenhofer

Simulations of the quadrilateral-based localization

Worst-Case Optimal and Average-Case Efficient Geometric Ad-Hoc Routing

Chapter 7 TOPOLOGY CONTROL

Routing. Geo-Routing. Thanks to Stefan Schmid for slides

The Capacity of Wireless Networks

Chapter 8 DOMINATING SETS

Chapter 6 DOMINATING SETS

Chapter 8 DOMINATING SETS

Data Communication. Guaranteed Delivery Based on Memorization

Face Routing with Guaranteed Message Delivery in Wireless Ad-hoc Networks. Xiaoyang Guan

Load Balanced Short Path Routing in Wireless Networks Jie Gao, Stanford University Li Zhang, Hewlett-Packard Labs

Void Traversal for Guaranteed Delivery in Geometric Routing

An efficient implementation of the greedy forwarding strategy

On Greedy Geographic Routing Algorithms in Sensing-Covered Networks

Geometric Spanners for Routing in Mobile Networks

Theory and Practice of Geographic Routing

A Survey on Geographic Routing Protocols for Mobile Ad hoc Networks

arxiv: v1 [cs.ni] 28 Apr 2015

AN AD HOC network consists of a collection of mobile

Lifetime Comparison on Location Base Routing in Wireless Sensor Networks

Midpoint Routing algorithms for Delaunay Triangulations

On Delivery Guarantees of Face and Combined Greedy-Face Routing in Ad Hoc and Sensor Networks

Distributed Computing over Communication Networks: Leader Election

Topology Control in 3-Dimensional Networks & Algorithms for Multi-Channel Aggregated Co

Approximating Fault-Tolerant Steiner Subgraphs in Heterogeneous Wireless Networks

Mobile Advanced Networks. Position-based routing geometric, geographic, location-based. Navid Nikaein Mobile Communication Department

Robust Position-based Routing for Wireless Ad Hoc Networks

Does Topology Control Reduce Interference? Martin Burkhart Pascal von Rickenbach Roger Wattenhofer Aaron Zollinger

Challenges in Geographic Routing: Sparse Networks, Obstacles, and Traffic Provisioning

Oblivious Routing on Geometric Networks

Geographic Routing on Improved Coordinates

Random Walks and Cover Times. Project Report. Aravind Ranganathan. ECES 728 Internet Studies and Web Algorithms

Asymptotically Optimal Geometric Mobile Ad-Hoc Routing

Localized Algorithms for Energy Efficient Topology in Wireless Ad Hoc Networks

Linear Programming in Small Dimensions

arxiv:cs/ v1 [cs.dc] 22 Nov 2006

Sorting Based Data Centric Storage

Estimating the Free Region of a Sensor Node

SAMPLING AND THE MOMENT TECHNIQUE. By Sveta Oksen

Improved algorithms for constructing fault-tolerant spanners

Survey on Position-Based Routing 1

Online Algorithms. Lecture 11

Outline. CS38 Introduction to Algorithms. Approximation Algorithms. Optimization Problems. Set Cover. Set cover 5/29/2014. coping with intractibility

Clustering: Centroid-Based Partitioning

Ad hoc and Sensor Networks Topology control

Approximation Algorithms for Clustering Uncertain Data

arxiv: v2 [cs.dc] 28 Feb 2018

Geographical Quadtree Routing

Geometric Problems on Ad-Hoc Networ (Computational Geometry and Discret. Citation 数理解析研究所講究録 (2009), 1641:

Localized Algorithms for Energy Efficient Topology in Wireless Ad Hoc Networks

Ad hoc and Sensor Networks Chapter 10: Topology control

Localized Topology Control for Heterogeneous Wireless Sensor Networks

Computational Geometry

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

Geographic Routing in Simulation: GPSR

Approximation Algorithms

Wireless Networking Graph Theory Unplugged. Distributed Computing Group Roger Wattenhofer WG 2004

On the perimeter of k pairwise disjoint convex bodies contained in a convex set in the plane

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn

Guaranteed-delivery Geographic Routing under Uncertain Node Locations

Routing on Overlay Graphs in Mobile Ad Hoc Networks

Beaconless Position Based Routing with Guaranteed Delivery for Wireless Ad-Hoc and Sensor Networks

Compasses, Faces, and Butterflies: Route Discovery in Ad-Hoc Networks

A Robust Interference Model for Wireless Ad-Hoc Networks

Routing in Sensor Networks

Outline. Wireless Ad Hoc & Sensor Networks (Wireless Sensor Networks III) Localisation and Positioning. Localisation and Positioning properties

GRAAL/AEOLUS School on Hot Topics in Network Algorithms. Algorithms for Sensor Networks Roger Wattenhofer 2/1

Highway Dimension and Provably Efficient Shortest Paths Algorithms

arxiv: v1 [cs.ma] 8 May 2018

Compact and Low Delay Routing Labeling Scheme for Unit Disk. Graphs

Convex hulls of spheres and convex hulls of convex polytopes lying on parallel hyperplanes

CS133 Computational Geometry

Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks

Divided-and-Conquer for Voronoi Diagrams Revisited. Supervisor: Ben Galehouse Presenter: Xiaoqi Cao

Competitive analysis of aggregate max in windowed streaming. July 9, 2009

An algorithm for Performance Analysis of Single-Source Acyclic graphs

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

Data-Centric Query in Sensor Networks

Approximation Algorithms: The Primal-Dual Method. My T. Thai

Online Graph Exploration

Thomas Moscibroda Roger Wattenhofer MASS Efficient Computation of Maximal Independent Sets in Unstructured Multi-Hop Radio Networks

Near Optimal Broadcast with Network Coding in Large Sensor Networks

Fractional Cascading in Wireless. Jie Gao Computer Science Department Stony Brook University

Given a graph, find an embedding s.t. greedy routing works

Routing. Chapter 11. Ad Hoc and Sensor Networks Roger Wattenhofer 11/1

Connected Dominating Sets in Wireless Networks with Different Transmission Ranges

Routing with Guaranteed Delivery on Virtual Coordinates

Localized Topology Control for Heterogeneous Wireless Sensor Networks

The geometry and combinatorics of closed geodesics on hyperbolic surfaces

A Local O(1)-Approximation for Dominating Sets on Bounded Genus Graphs

PERFORMANCE EVALUATION OF CONSUMED- ENERGY-TYPE-AWARE ROUTING (CETAR) FOR WIRELESS SENSOR NETWORKS

CPSC 536N: Randomized Algorithms Term 2. Lecture 10

Ma/CS 6b Class 11: Kuratowski and Coloring

Connected Point Coverage in Wireless Sensor Networks using Robust Spanning Trees

A synchronizer generates sequences of clock pulses at each node of the network satisfying the condition given by the following definition.

Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost

Transcription:

Geometric Routing: Of Theory and Practice PODC 03 F. Kuhn, R. Wattenhofer, Y. Zhang, A. Zollinger [KWZ 02] [KWZ 03] [KK 00] Asymptotically Optimal Geometric Mobile Ad-Hoc Routing Worst-Case Optimal and Average-Case Efficient Geometric Ad-Hoc Routing GPSR: Greedy Perimeter Stateless Routing for Wireless Networks

Outline Context Model Algorithm Correctness Worst-case complexity Average-case efficiency Extensions

Context Routing Paradigm s If s and t are not connected, then report so? t

Context Routing Paradigm s If s and t are not connected, then report so Else, find a path p... p t

Context Routing Paradigm s If s and t are not connected, then report so p p Else, find a path p...... s.t. p / p is minimal t

Context Routing Paradigm s If s and t are not connected, then report so p p Else, find a path p...... s.t. p / p is minimal t Minimize amount of memory per node

(x, y) v Context Geometric Routing Each node v stores its own and its neighbors positions O(deg(v)) (= O(1) if deg(v) bounded) Each packet contains: the destination s position O(1) additional control info (e.g. estimated dist. to dest.) + No system state, no routing tables Requires an embedding of the nodes

Context Geometric Algorithms Greedy Routing + can be applied w. any embedding + very effective in practice

Context Geometric Algorithms? Greedy Routing + can be applied w. any embedding + very effective in practice can get stuck

Context Geometric Algorithms RH LH? RH LH LH RH RH Greedy Routing + can be applied w. any embedding + very effective in practice can get stuck Face Routing + certified + can be made asymptotically optimal AFR, OAFR [KWZ 02] requires a planar embedding not quite effective in practice

Context Geometric Algorithms RH LH? Solution: combine both techniques: Start by greedy routing When greedy routing gets stuck, toggle face routing GOAFR [KWZ 03], GPSR [KK00]

Context Geometric Algorithms RH LH? Solution: combine both techniques: Start by greedy routing When greedy routing gets stuck, toggle face routing GOAFR [KWZ 03], GPSR [KK00] fall back to greedy routing as soon as possible (>GPSR) bound the searchable area (>GOAFR) GOAFR+ (this paper)

Model input graph G = (V, E) is a PSLG nodes do not move nodes have same transmission range (say 1) G is a subgraph of the unit-disk graph G UDG (V ) each node has O(1) neighbors in G UDG (V ) G is a subgraph of the Gabriel graph G GG (V ) edges have various transmission costs increasing cost function c : ]0, 1] R + c l (x) = 1 x link distance c d (x) = x x Euclidean distance c α (x) = x α x (α 2) energy cost

Model Equivalence of metrics Lemma Assume the degrees of the vertices of G UDG (V ) are bounded by an absolute constant k. Then, for any cost functions c 1 (.) and c 2 (.), there exist four constants: α(k), β(k), α (k), β (k), such that for any cycle-free path p in G UDG (V ), α(k) c 1 (p) + β(k) c 2 (p) α (k) c 1 (p) + β (k)

Model Equivalence of metrics Lemma Assume the degrees of the vertices of G UDG (V ) are bounded by an absolute constant k. Then, for any cost functions c 1 (.) and c 2 (.), there exist four constants: α(k), β(k), α (k), β (k), such that for any cycle-free path p in G UDG (V ), α(k) c 1 (p) + β(k) c 2 (p) α (k) c 1 (p) + β (k) Proof. (with c 1 = c d and c 2 = c l ) Every edge of G has length at most 1 c d (p) c l (p). v, #(V D(v, 1)) k starting from v, p cannot travel more than k + 1 edges inside D(v, 1) without making a cycle c l (p) (k + 1) c d (p) (k + 1)(c d (p) + 1). D(v, 1) v

Model Equivalence of metrics Lemma Assume the degrees of the vertices of G UDG (V ) are bounded by an absolute constant k. Then, for any cost functions c 1 (.) and c 2 (.), there exist four constants: α(k), β(k), α (k), β (k), such that for any cycle-free path p in G UDG (V ), α(k) c 1 (p) + β(k) c 2 (p) α (k) c 1 (p) + β (k) In the sequel, wlog, we use the link distance metric c l

GOAFR+ Algorithm INPUT: G, s, t s t

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) s t C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) s t C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: s u min. F p = 0 q = 1 t C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: s u F p = 0 q = 2 t C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards hits C s u F p = 0 q = 2 t C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s u F p = 0 q = 2 t C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s u F p = 0 q = 3 t C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s v u F p = 0 q = 3 t 2b. packet hits C twice: if p > 0, then restart 1. from node closest to t hits C C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s v u F p = 0 q = 4 t 2b. packet hits C twice: if p > 0, then restart 1. from node closest to t else, set r C := ρ r c and continue 2. from v C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s v u F p = 0 q = 5 t 2b. packet hits C twice: if p > 0, then restart 1. from node closest to t else, set r C := ρ r c and continue 2. from v C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s v u F p = 0 q = 6 t 2b. packet hits C twice: if p > 0, then restart 1. from node closest to t else, set r C := ρ r c and continue 2. from v C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s v u F p = 1 q = 6 t 2b. packet hits C twice: if p > 0, then restart 1. from node closest to t else, set r C := ρ r c and continue 2. from v C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s v u F p = 2 q = 6 w t 2b. packet hits C twice: if p > 0, then restart 1. from node closest to t else, set r C := ρ r c and continue 2. from v 2c. p > σ q : restart 1. from node closest to t C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s v u F p = 2 q = 6 w t 2b. packet hits C twice: if p > 0, then restart 1. from node closest to t else, set r C := ρ r c and continue 2. from v 2c. p > σ q : restart 1. from node closest to t C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s v u F p = 2 q = 6 w t 2b. packet hits C twice: if p > 0, then restart 1. from node closest to t else, set r C := ρ r c and continue 2. from v 2c. p > σ q : restart 1. from node closest to t C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s v u F p = 2 q = 6 w t 2b. packet hits C twice: if p > 0, then restart 1. from node closest to t else, set r C := ρ r c and continue 2. from v 2c. p > σ q : restart 1. from node closest to t C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s v u F p = 2 q = 6 w t 2b. packet hits C twice: if p > 0, then restart 1. from node closest to t else, set r C := ρ r c and continue 2. from v 2c. p > σ q : restart 1. from node closest to t C

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s v u F p = 2 q = 6 w C t 2b. packet hits C twice: if p > 0, then restart 1. from node closest to t else, set r C := ρ r c and continue 2. from v 2c. p > σ q : restart 1. from node closest to t

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s v u F p = 2 q = 6 w C t 2b. packet hits C twice: if p > 0, then restart 1. from node closest to t else, set r C := ρ r c and continue 2. from v 2c. p > σ q : restart 1. from node closest to t

GOAFR+ Algorithm INPUT: G, s, t INIT: ρ ρ 0 > 1 σ > 0 C(t, ρ 0 d(s, t)) 1. Greedy Routing Mode - choose neighbor closest to t - reduce C s radius whenever possible (r C := r C/ρ) 2. Face Routing Mode Maintain: p = #{nodes closer than u} q = #{other nodes} Follow side of F (LH) until one of the following occurs: 2a. packet hits C once: go backwards s v u F p = 2 q = 6 w t 2b. packet hits C twice: if p > 0, then restart 1. from node closest to t else, set r C := ρ r c and continue 2. from v 2c. p > σ q : restart 1. from node closest to t 2d. F is entirely explored: let n F be closest to t: if n closer than u to t, then restart 1. from n else report graph disconnection to s (w. GOAFR+)

Definition a greedy step (1.) Correctness A round of the algorithm is either: a face routing phase terminated by early fallback (2b. or 2c.) a face routing phase terminated after complete exploration of the boundary of the current face (2d.)

Correctness Lemma (monotonicity) Consider a round of the algorithm. If t and the current node u are connected in G, then the packet gets closer to t during the round.

Correctness Lemma (monotonicity) Consider a round of the algorithm. If t and the current node u are connected in G, then the packet gets closer to t during the round. Proof. greedy step: the packet goes to a neighbor of u closer to t 2b. or 2c.: when fallback occurs, p 1 and the packet is sent to the previously visited node of F closest to t

Correctness Lemma (monotonicity) Consider a round of the algorithm. If t and the current node u are connected in G, then the packet gets closer to t during the round. Proof. greedy step: the packet goes to a neighbor of u closer to t 2b. or 2c.: when fallback occurs, p 1 and the packet is sent to the previously visited node of F closest to t 2d.: since u and t are connected, F contains a vertex closer than u to t. Indeed, if not, an edge e crosses the circle C(t, d(t, u)) between t and u. e cannot be a Gabriel edge. u e t

Worst-case complexity Upper bound Theorem The cost of routing a packet from s to t with GOAFR+ is O ( c l (p ) 2), where p is an optimal path from s to t.

Worst-case complexity Upper bound Theorem The cost of routing a packet from s to t with GOAFR+ is O ( c l (p ) 2), where p is an optimal path from s to t. Sketch of proof. Let C i = C(t, r max ρ i ), where r max is the radius of the biggest circle C used during the course of the algorithm. (1) r max ρ c l (p ) (radius update policy) p s t p C c d (p ) r c l (p ) r (G UDG ) r C

Worst-case complexity Upper bound Theorem The cost of routing a packet from s to t with GOAFR+ is O ( c l (p ) 2), where p is an optimal path from s to t. Sketch of proof. Let C i = C(t, r max ρ i ), where r max is the radius of the biggest circle C used during the course of the algorithm. (1) r max ρ c l (p ) (radius update policy) (2) inside C i, every edge of G is visited O(1) times by GOAFR+ (cf. monotonicity lemma). inside C i, the total cost of GOAFR+ is O( E i ) = O(rC 2 i )

Worst-case complexity Upper bound Theorem The cost of routing a packet from s to t with GOAFR+ is O ( c l (p ) 2), where p is an optimal path from s to t. Sketch of proof. Let C i = C(t, r max ρ i ), where r max is the radius of the biggest circle C used during the course of the algorithm. (1) r max ρ c l (p ) (radius update policy) (2) inside C i, every edge of G is visited O(1) times by GOAFR+ (cf. monotonicity lemma). inside C i, the total cost of GOAFR+ is O( E i ) = O(rC 2 i ) (3) sum up over all i s: O ( ( ) ) rc 2 i = r 2 max O ρ 2i = O ( ) ( rmax 2 = O cl (p ) 2) i i

Worst-case complexity Given n, distribute 2n nodes evenly along C r n /π Lower bound [KWZ 02] 1 C

Worst-case complexity Given n, distribute 2n nodes evenly along C r n /π radial chains stop at r /2 connected only by C n /2π nodes per radius Lower bound [KWZ 02] > 1 r 2 1 1 C

Worst-case complexity Given n, distribute 2n nodes evenly along C r n /π radial chains stop at r /2 connected only by C n /2π nodes per radius Lower bound [KWZ 02] s t C

Given n, distribute 2n nodes evenly along C r n /π radial chains stop at r /2 connected only by C n /2π nodes per radius s Worst-case complexity Lower bound t [KWZ 02] s, t disconnected any algo. A with no routing tables has to explore the whole graph before reporting a graph disconnection. C

Worst-case complexity Given n, distribute 2n nodes evenly along C r n /π radial chains stop at r /2 connected only by C n /2π nodes per radius Lower bound [KWZ 02] w s, t disconnected any algo. A with no routing tables has to explore the whole graph before reporting a graph disconnection. s t if A is deterministic, then its execution is the same on this new graph Ω(n 2 ) steps C

Average case efficiency randomly and uniformly generated nodes on a 20 20 field unit disk graph

Average case efficiency randomly and uniformly generated nodes on a 20 20 field unit disk graph intersection with Gabriel graph randomly chosen source and destination

Average case efficiency GPSR GOAFR GOAFR FC GOAFR+

Extensions Dropping the O(1)-neighbors hypothesis Without the O(1)-neighbors hypothesis, GOAFR+ is still certified, but no longer guaranteed to be worst-case optimal. if a node v knows all its neighbors, then the data stored at v is no longer O(1)

Extensions Dropping the O(1)-neighbors hypothesis

Extensions Dropping the O(1)-neighbors hypothesis Initial construction: routing backbone graph G BG G: - G BG is a bounded-degree UDG - v G, w G BG s.t. [v, w] E

Extensions Dropping the O(1)-neighbors hypothesis Initial construction: routing backbone graph G BG G: - G BG is a bounded-degree UDG - v G, w G BG s.t. [v, w] E clustered backbone graph G CBG

Extensions Dropping the O(1)-neighbors hypothesis Initial construction: routing backbone graph G BG G: - G BG is a bounded-degree UDG - v G, w G BG s.t. [v, w] E clustered backbone graph G CBG Routing: (1) reach G BG from s, using G CBG (2) apply GOAFR+ on G BG (3) reach t from G BG, using G CBG

Extensions Dropping the O(1)-neighbors hypothesis Definition A cost function c(.) is linearly bounded if there exists some constant m > 0 such that x ]0, 1], c(x) m x. A cost function that is not linearly bounded is said super-linear. 1 c l (.) c d (.) c α (.) 0 1

Extensions Dropping the O(1)-neighbors hypothesis Definition A cost function c(.) is linearly bounded if there exists some constant m > 0 such that x ]0, 1], c(x) m x. A cost function that is not linearly bounded is said super-linear. Theorem if c(.) is linearly bounded, then for any UDG G, for any s, t V, the routing algorithm finds a path p from s to t, with c(p) = O ( c(p ) 2). if c(.) is super-linear, then no geometric routing algorithm can find a path p s.t. c(p) = O ( c(p ) 2) for any pair of vertices of any UDG.

Conclusion Contributions: Yet another geometric routing algorithm (combines existing techniques). Extension of geometric routing to UDGs with unbounded-degree vertices. Open questions: Is the UDG hypothesis relevant in practice? What is the pracicality of the general cost model linearly bounded vs. super-linear? Can one get rid of the planar embedding?