Close
USC Libraries
University of Southern California
About
FAQ
Home
Collections
Login
USC Login
0
Selected 
Invert selection
Deselect all
Deselect all
 Click here to refresh results
 Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Folder
Robust and efficient geographic routing for wireless networks
(USC Thesis Other) 

Robust and efficient geographic routing for wireless networks

doctype icon
play button
PDF
 Download
 Share
 Open document
 Flip pages
 More
 Download a page range
 Download transcript
Copy asset link
Request this asset
Request accessible transcript
Transcript (if available)
Content ROBUST AND EFFICIENT GEOGRAPHIC ROUTING FOR WIRELESS NETWORKS by Young Jin Kim A Dissertation Presented to the FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulllment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (COMPUTER SCIENCE) MAY 2009 Copyright 2009 Young Jin Kim Table of Contents List Of Tables iv List Of Figures v Abstract ix Chapter 1: Introduction 1 1.1 Scope and Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Applicability of Geographic Routing . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5 Thesis Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Chapter 2: Literature Review 7 Chapter 3: Correctness: Planarization 15 3.1 Problem Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.1.1 Pathologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.1.2 The Mutual Witness Procedure . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.1.3 Experimental Validation of Pathologies . . . . . . . . . . . . . . . . . . . . 21 3.1.3.1 Testbeds and Experiments . . . . . . . . . . . . . . . . . . . . . . 21 3.1.3.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2 Design of Cross-Link Detection Protocol (CLDP) . . . . . . . . . . . . . . . . . . . 24 3.2.1 CLDP Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.2 Partitions in the Routable Subgraph . . . . . . . . . . . . . . . . . . . . . . 28 3.2.3 Multiple Cross-Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.4 Concurrent Probing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2.5 Proof Sketches of Correctness . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3 Evaluation of Cross-Link Detection Protocol (CLDP) . . . . . . . . . . . . . . . . . 39 3.3.1 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.3.2 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Chapter 4: Correctness: Face Routing 55 4.1 Problem Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.1.1 Face-Change Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.1.1.1 Incorrect Face Changes . . . . . . . . . . . . . . . . . . . . . . . . 56 4.1.1.2 Face Changes Before Crossing . . . . . . . . . . . . . . . . . . . . 58 4.1.2 The Right-hand Rule and Collinear Links . . . . . . . . . . . . . . . . . . . 60 4.2 Robust Face Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 ii 4.2.1 Correct Face-Change Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.2.1.1 Fix to Incorrect Face Changes . . . . . . . . . . . . . . . . . . . . 62 4.2.1.2 Face Changes Before Crossing Variant . . . . . . . . . . . . . . . . 64 4.2.2 Revised Right-Hand Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.3 Simulation-based Evaluation of Face Routing . . . . . . . . . . . . . . . . . . . . . 69 4.3.1 Success Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.3.2 Average Stretch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Chapter 5: Performance: Planarization 74 5.1 Problem Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.2 Design of Lazy Cross-Link Removal (LCR) . . . . . . . . . . . . . . . . . . . . . . 75 5.2.1 Characterizing Loop-Inducing Cross-Links . . . . . . . . . . . . . . . . . . . 75 5.2.2 The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.2.3 The Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.2.4 Routing to Arbitrary Locations . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.3 Evaluation of Lazy Cross-Link Removal (LCR) . . . . . . . . . . . . . . . . . . . . 87 5.3.1 Methodology and Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.3.2 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.3.3 Real-world Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Chapter 6: Performance: Face Routing 98 6.1 Problem Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6.2 Performance Bounds on Face Routing in Arbitrary Graphs . . . . . . . . . . . . . 100 6.2.1 Deterministic Face Routing Algorithms . . . . . . . . . . . . . . . . . . . . 101 6.2.2 Adaptively exploring a face . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.2.3 Summary and Implications . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.3 Design of Intelligent Face Routing (IFR) . . . . . . . . . . . . . . . . . . . . . . . . 106 6.3.1 Packet-state Based Partial Face Walk . . . . . . . . . . . . . . . . . . . . . 106 6.3.2 New Fallback-to-greedy Mechanism . . . . . . . . . . . . . . . . . . . . . . . 112 6.3.3 Node-State Based Adaptive Face Walk . . . . . . . . . . . . . . . . . . . . . 113 6.4 Evaluations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.4.1 Methodology and Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.4.2 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Chapter 7: Conclusion 124 Bibliography 124 iii List Of Tables 1.1 Classication of pathologies causing routing failures . . . . . . . . . . . . . . . . . 4 3.1 Routing Success Rate in R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.1 LICLs in obstructed wireless graphs . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.2 Performance on real wireless graphs. . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.1 Taxonomy of face routing protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.2 Summary of results. In this table, l represents the number of hops in the shortest path, and = 1 c+1 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 iv List Of Figures 2.1 Right-hand rule. A sweeps counterclockwise from link 1 to nd link 2, forwards to B, &c. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 The faces progressively closer from S to D along line segment SD, numbered in the order visited. Faces cut by SD are bordered in bold. . . . . . . . . . . . . . . . 9 2.3 Example of face routing failure on non-planar graphs. There is no point closer to D than p on the face enclosing D. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4 Denitions of the GG and RNG. A witness must fall within the shaded circle (GG) or lune (RNG) for edge (A;B) to be eliminated in the planar graph. . . . . . . . . 10 2.5 The RNG partitions a non-unit graph; edge (A;B) is eliminated. . . . . . . . . . . 11 3.1 Unidirectional links in subgraphs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.2 Disconnected links in subgraphs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.3 Cross links in subgraphs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.4 Routing failure caused by unidirectional links. . . . . . . . . . . . . . . . . . . . . . 19 3.5 Routing failure caused by disconnected links. . . . . . . . . . . . . . . . . . . . . . 19 3.6 Routing failure caused by cross links. . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.7 Mutual witness is not enough. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.8 Node layout of Rm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.9 GPSR's GG in Rm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.10 GPSR's GG/MWP of Rm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.11 CLDP Probing using right-hand-rule, Case 1. . . . . . . . . . . . . . . . . . . . . . 25 3.12 CLDP Probing using right-hand-rule, Case 2. . . . . . . . . . . . . . . . . . . . . . 27 v 3.13 CLDP Probing using right-hand-rule, Case 3. . . . . . . . . . . . . . . . . . . . . . 27 3.14 CLDP Probing using right-hand-rule, Case 4. . . . . . . . . . . . . . . . . . . . . . 27 3.15 Eect of \clouds" on probes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.16 Routable subgraph depends on probe ordering. . . . . . . . . . . . . . . . . . . . . 30 3.17 Multiple Cross-Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.18 Repeated CLDP probes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.19 Probing a link may not detect a cross-link. . . . . . . . . . . . . . . . . . . . . . . . 32 3.20 Figures for proof sketches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.21 Success rate for 1:0N obstacles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.22 Average stretch for N obstacles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.23 CDF of stretch (1:0N obstacles). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.24 Success rate for 0:30R location error. . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.25 Success rate for 0:15R location error. . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.26 Random graph success rate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.27 Overhead for wireless network with N obstacles. . . . . . . . . . . . . . . . . . . . 46 3.28 Convergence time distribution for wireless network with N obstacles. . . . . . . . . 47 3.29 Node layout for Rs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.30 Node layout for C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.31 CDF of stretch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.32 CDF of pairwise packet delivery rate. . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.33 CDF of convergence time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.34 CDF of estimated steady-state convergence. . . . . . . . . . . . . . . . . . . . . . . 52 3.35 CDF of overhead. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.1 Points where a face change is performed. . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2 Failure of GPSR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.3 Failure of GOAFR+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 vi 4.4 Face changes before link-crossing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.5 Face changes after link-crossing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.6 Failure of face changes before crossing. . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.7 Successful route by face changes after crossing. . . . . . . . . . . . . . . . . . . . . 59 4.8 Pathologies by collinear links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.9 Failure of Adaptive Face Routing. . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.10 (t - v i ) x (v j - v i ) > 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.11 (t - v i ) x (v j - v i ) < 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.12 Examples of small perturbation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.13 Success rate of four kinds of face routing. . . . . . . . . . . . . . . . . . . . . . . . 70 4.14 Success rate of four kinds of face routing combined with greedy routing. . . . . . . 70 4.15 Stretch of four kinds of face routing. . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.16 Stretch of four kinds of face routing combined with greedy routing. . . . . . . . . . 72 5.1 Path containing only one crossing. . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.2 Not all cross-links induce loops. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.3 SLICL example and LCR example topology. . . . . . . . . . . . . . . . . . . . . . . 78 5.4 Greedy-mode forwarding in, for example, GPSR can hide cross-links. . . . . . . . . 79 5.5 CLDP example topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.6 Leaving \safe" cross-links in the graph can in ate paths. . . . . . . . . . . . . . . . 83 5.7 Extended topology in which LCR must probe nearly every face. . . . . . . . . . . . 84 5.8 LCR implementation on TinyOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.9 Overhead for N=2 obstacle graphs, 400 nodes. . . . . . . . . . . . . . . . . . . . . . 90 5.10 Overhead for 30% location error, 400 nodes. . . . . . . . . . . . . . . . . . . . . . . 90 5.11 Overhead as a function of network size, N=2 obstacles, density 8.1. . . . . . . . . . 92 5.12 Overhead for N=2, N=4, and N=8 obstacles, 400 nodes. . . . . . . . . . . . . . . . . 92 5.13 Stretch, N=2 obstacles, 400 nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 vii 5.14 Stretch, 30% location error, 400 nodes. . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.15 CDF of stretch, N=2 obstacles, 400 nodes. . . . . . . . . . . . . . . . . . . . . . . . 94 5.16 Overhead for a dynamic network,N=2 obstacles, 400 nodes, with 80 node additions, and 80 node removals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.17 Pathological LICL from a real-world graph: looped walk is shown. For clarity, we have removed the other testbed nodes from this picture. . . . . . . . . . . . . . . . 97 6.1 Face routing deterministically touring a graph consisting of N nodes. . . . . . . . . 102 6.2 A pathological behavior of face routing algorithm used by GPSR. . . . . . . . . . . 103 6.3 Behaviors of adaptive face routing such as OAFR and GOAFR+. . . . . . . . . . . 105 6.4 An expected behavior of face routing using the rst intersection rule. . . . . . . . . 107 6.5 Pathological behaviors of the rst intersection face routing. . . . . . . . . . . . . . 108 6.6 Behaviors of the rst intersection face routing. . . . . . . . . . . . . . . . . . . . . 109 6.7 Behaviors of face routing using newly propsed protocol. . . . . . . . . . . . . . . . 110 6.8 An expected behavior of combined greedy-face routing. . . . . . . . . . . . . . . . . 112 6.9 (a) No state for a destination location exists in a local minimum node and (b) State for a destination location exists in a local minimum node. . . . . . . . . . . . . . . 115 6.10 (a) The aggregated area is updated by a new location and (b) A face walk after updating the aggregated area. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.11 Average path stretch of pure face routing protocols. . . . . . . . . . . . . . . . . . 117 6.12 Average network stretch of pure face routing protocols. . . . . . . . . . . . . . . . . 117 6.13 Average path stretch of combined greedy-face routing protocols. . . . . . . . . . . 118 6.14 Average network stretch of combined greedy-face routing protocols. . . . . . . . . . 118 6.15 CDF of path stretch, IFR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.16 State requirements of PSPF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.17 State requirements of IFR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 6.18 Message overhead of IFR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 viii Abstract Geographic routing is a scalable any-to-any routing algorithm in which node state scales as the number of neighbors. It uses greedy routing when possible, and uses face routing to recover when greedy progress reaches a local minimum node that has no neighbor closer to the destination. Face routing is guaranteed to work correctly only on planar graphs that have no cross-link. All currently proposed techniques for face routing and for constructing planar graphs (pla- narization) have relied on common underlying assumptions: circular radio range and precise localization. However, our experimental evaluations demonstrate that these assumptions are vio- lated by real radios and that these violations can result in persistent routing failures. Motivated by this, we have investigated how well geographic face routing works under general conditions such as irregular radio range and imprecise location information. In this thesis, we rst have extensively examined the correctness of geographic routing algo- rithms in real wireless graphs. Our initial research identied and classied failures in planariza- tion and face routing. To x these failures, we have proposed the Cross-Link Detection Protocol (CLDP) and enhanced face routing algorithms. CLDP is the rst distributed planarization tech- nique that enables provably correct geographic face routing on arbitrary connectivity graphs. Next, we have examined the performance of geographic routing algorithms in arbitrary graphs. Existing algorithms have high message cost and high stretch. To improve performance, we have devised Lazy Cross-Link Removal (LCR) and Intelligent Face Routing (IFR): LCR correctly and reactively planarizes graphs with extremely low message cost; IFR is a new approach for face routing which exhibits the best average stretch performance among existing face routing families. ix Chapter 1 Introduction In Internet routing, each node requires per-node state proportional to the total number of nodes in the network. By comparison, geographic routing algorithms have been shown to scale better than other alternatives: they require per-node state that depends only on the number of neighbors and not on the total number of nodes in networks. Because of this scaling property, geographic routing is a promising any-to-any routing algorithm for wireless networks in which nodes have limited resources . There is a very large literature on geographic routing algorithms; there also exists a substantial literature on a sub-class of these algorithms that use face routing on a planarized sub-graph to circumvent voids (or holes). In many of these algorithms, nodes forward packets to the neighbor closest to the destination. This greedy forwarding fails in the presence of radio voids. These algorithms recover from such failures by successively traversing the faces of the planar subgraph of the underlying connectivity graph. To compute the planar subgraph, these algorithms use graph planarization algorithms that are amenable to distributed implementation. These planarization algorithms [12, 41, 13] rely purely on node location information to determine whether or not links to neighbors belong in the planar subgraph. Wireless sensor platforms based on TinyOS [15] have about 4K-10K RAM, allow about 50Kbps radio speed, and use battery power. 1 1.1 Scope and Assumptions There exist other geographic routing algorithms that make use of position information such as LAR [25] or GeoCast [35]. But we restrict the scope of our work to the family of face-routing algorithms in which a node forwards to a single neighbor on the basis of geographic information. Our work does not cover geographic routing on three or higher dimensional spaces. In our work, we assume that all nodes know their own geographic locations. Geographic locations can be physical coordinates (either from a GPS device or ad hoc localization tech- niques [4, 39]) or virtual coordinates [37, 36]. We also assume that the packet source knows the location of destination. In any-to-any routing, geographic routing must be complemented with a location service such as GLS [33] that maps node addresses to locations. By contrast, in routing for data-centric storage such as GHT [38], a location service is unnecessary as the packet's source uses a destination location generated by hash function and not the location of destination node. 1.2 Problem Statement A common assumption underlying the planarization and face routing algorithms is that connec- tivity between nodes can be described by unit graphs. In such graphs, a node is always connected to all nodes within its xed, \nominal" radio range, and is never connected to nodes outside this range. However, in wireless networks where geographic routing is likely to be deployed, the unit-disk graph assumption can be violated. That is, real radio ranges are irregular by as shown in several experimental studies on wireless ad hoc networks [43, 42, 44]. Furthermore, the ad hoc localization techniques proposed for these networks can result in imprecise node location, which in turn violates the unit-disk graph assumption [40]. Our experimental evaluations conrm that these assumptions are violated by real radios and that these violations can result in pathologies of both planarization and face routing which can cause persistent routing failures. 2 1.3 Contributions Using our implementation y of geographic routing algorithms z |which we believe to be the rst of its kind|we rst show that those algorithms incur permanent packet delivery failures between node pairs on real wireless sensornet test-beds. The signicant incidence of these delivery failures and their permanent nature suggest that known geographic routing techniques are impractical for use in real deployments. We rst identify that the violation of the unit graph assumption can cause three kinds of pathologies in the planarization process, as shown in Table 1.1, and that these pathologies, in turn, can result in persistent routing failures in the network where geographic routing fails to nd a path for at least one source-destination pair. We remedy these pathologies by proposing the rst distributed planarization technique (CLDP [20]) that, given an arbitrary connected graph, produces a subgraph on which face traversal never fails in the presence of radio irregularities and localization errors. In CLDP, crossing links are eliminated only when doing so would not disconnect the resulting subgraph. We have proven that CLDP prevents routing failures in an arbitrary connected graph. We examine the robustness of face routing algorithms in arbitrary graphs. We rst nd that the commonly used \right-hand rule" can fail in the presence of collinear links, then propose and prove the correctness of a revised right-hand rule. More importantly, we nd that some well-known face-change rules proposed in the literature can not work correctly in realistic settings, as shown in Table 1.1. We extend the current understanding of the behavior of geographic routing on non-planar graphs that all cross-links are presumed to represent a threat to correct face routing. We demonstrate that the class of cross-links (LICL) that causes failure of face routing is in fact y Despite research activity on geographic routing spanning half a decade, we know of no work in which researchers have implemented and deployed geographic routing protocols in realistic environments. z In our implementation, GPSR [18], GOAFR+ [27], and Compass-II [26] are included. 3 Planarization unidirectional links in subgraphs (Section 3.1.1) disconnected links in subgraphs cross links in subgraphs Face routing incorrect face changes (Section 4.1.1) (GPSR, GFG [2], GOAFR+ [27]) face changes before crossing right-hand rule in collinear links Table 1.1: Classication of pathologies causing routing failures far narrower: on many topologies, a pair of cross-links can only cause face routing to fail when removal of both cross-links would partition the network graph. We show the practical implications of the rarity of LICLs for reducing the overhead of planarization in support of face routing. We propose Lazy Removal Cross-Link (LCR) [22] that only probes for cross-links upon encountering LICLs. It incurs much lower overhead than CLDP and GDSTR [31]. We conrm in simulation and experiment that LCR achieves these desirable properties on radio graphs with obstacles and localization errors. We show that all face routing algorithms have high stretch in arbitrary graphs because de- terministically applying the right-hand or left-hand rule can result in pathological perimeter walks. To improve stretch performance, we devise Intelligent face routing (IFR) where ag- gregated and constant-sized information enables a local minimum node to determine the rule which would lead to a shorter perimeter walk. IFR exhbits the best average stretch perfor- mance among exiting face routing families. Also, it oers comparable stretch performance with GDSTR. 1.4 Applicability of Geographic Routing Geographic routing is applicable to a large class of wireless networks. Ad hoc Networks: These networks have no any designated node such as routers, switches, and hubs which forwards data. Instead, each node is willing to forward data for other nodes, and 4 so the determination of which nodes forward data is made dynamically based on the network connectivity. Minimal conguration makes ad hoc networks suitable for emergency situations like natural or human-induced disasters, military con icts, emergency medical situations etc. Wi-Fi Mesh Networks: These wireless networks deployed densely in a citywide area provide an alternate infrastructure in the presence of the failure of conventional wired infrastructure. Self-conguration for the huge number of nodes in cities poses a signicant scaling problem. Data-Centric Storage: Geographic routing has been proposed for use as a routing primitive for static sensor networks, as building blocks for data storage and exible query processing in sensor networks [38, 34, 7]. Internet: More recently, it has been proposed for use as a fallback routing mechanism for reduced state routing in the Internet [14]. 1.5 Thesis Contents In this thesis, we extensively examine the correctness and performance of geographic routing algorithms in arbitrary graphs. We rst review related work and describe the essentials of geographic routing for context. In Chapter 3, the correctness of planarization is discussed. We describe failures in well-known techniques and the design of CLDP which enables provably correct geographic face routing on arbitrary graphs. Then, the evaluation of CLDP is described: TOSSIM [32] simulations done in arbitrary graphs and experiments done in two real wireless sensornet testbeds conrm that CLDP works correctly. In Chaper 4, the correctness of face routing is discussed. We show that two face change rules used by GPSR and GOAFR+ can be broken in real radios and the commonly used \right-hand rule" can fail in the presence of collinear links. Also, we describe how to x these failures in face routing algorithms. 5 In Chapter 5, we discuss the design of LCR, a protocol which reduces messaging overhead. The evaluation of LCR is described: simulations done in arbitrary graphs and experiments done in a real wireless sensornet testbed, show that LCR incur extremely low overhead, sometimes no overhead at all. In Chapter 6, we explore reasons that all face routing algorithms exhibit high stretch in arbitrary graphs. Then, we discuss the design of IFR, a protocol which improves stretch performance. Simulations done in arbitrary graphs for IFR are described. In Chapter 7, we summarize our work and discuss future work. 6 Chapter 2 Literature Review We now review prior work in geographic routing protocols and describe the essentials of geographic routing for context. Geographic Face Routing. There is a very broad literature on geographic routing: from initial sketches suggesting routing using position information [24, 9]; to the rst detailed proposals, including GFG [2, 5], GPSR [18], and the GOAFR+ family of algorithms [27, 30]; to renements of these proposals for eciency [13], robustness under real network conditions [17, 40, 1, 29], and even routing geographically when node location information is unavailable [37, 36]. We now describe the shared characteristics of the GFG, GPSR, and GOAFR+ algorithms, and hereafter refer to this family of algorithms simply as geographic routing. Geographic routing schemes use greedy routing where possible. In greedy routing, packets are stamped with the positions of their destinations; all nodes know their own positions; and a node forwards a packet to its neighbor that is geographically closest to the destination, so long as that neighbor is closer to the destination. Local maxima may exist where no neighbor is closer to the destination. In such cases, greedy forwarding fails, and another strategy must be used to continue making progress toward the destination. In particular, the packet must only nd its way to a node closer to the destination than the local maximum; at that point, greedy routing may once again make progress. 7 4 D C B A 2 1 3 Figure 2.1: Right-hand rule. A sweeps counterclockwise from link 1 to nd link 2, forwards to B, &c. Geographic routing schemes recover from local maxima by using face routing. All geographic routing research to date has assumed that for face routing to work, the underlying network graph must be made planar by selecting a subset of the graph's edges. Note that a planar graph consists of faces, enclosed polygonal regions bounded by edges. Geographic routing uses two primitives to traverse planar graphs: the right-hand rule, and face changes. The right-hand rule tours a face endlessly in a cycle, and can thus be used to walk a face. Figure 2.1 shows an example of the right-hand rule, which dictates that upon receiving a packet on a link, the receiving node forwards that packet on the rst link it nds after sweeping counter- clockwise about itself from the ingress link. Consider the planar graph in Figure 2.2, in which the source nodeS and destination nodeD are indicated. Observe that the line segmentSD must cut a series of faces in the planar graph y ; these faces are numbered and bordered in bold. Geographic routing algorithms exploit this property by successively walking the faces cut by this line. That is, they use the right-hand rule to tour a face. While walking a face, upon encountering an edge that crosses the line segment SD at a point closer to D than the point at which the current face was entered, geographic routing algorithms perform a face change: they begin walking the bordering face that is next along the line segment SD. (Other face-change rules described in Section 4.1.1 are possible, including changing faces at the edge whose crossing ofSD is the closest such crossing We refer to links and edges interchangeably throughout this thesis. y We ignore, for now, the case where the line segment traverses the edge of a face. These cases are easily handled by tie-breaking mechanisms that we don't discuss here. 8 5 S D 1 2 3 4 Figure 2.2: The faces progressively closer from S to D along line segment SD, numbered in the order visited. Faces cut by SD are bordered in bold. to D on the current face). The numbering of faces in Figure 2.2 shows the order in which faces are traversed from S to D on that planar graph. Should a face be toured in its entirety without discovering an edge that crosses line segment SD at a point closer to D than the point at which the current face was entered, face routing fails. We call such failures loops because the packet returns to where it started without having made progress. On a planar graph, such a loop on a face only occurs when the destination is disconnected. Note that if the graph is not planar, face routing may fail. Figure 2.3 shows an example graph on which this pathology occurs. In this example, D is located physically in the interior of a face, but is only connected to the rest of the network graph by an edge that crosses this enclosing face. Face routing walks successive faces cut by the line fromS toD, until it reaches the face enclosing D, whose rst edge crosses line segment SD at point p. The right-hand rule then tours this face in its entirety (the packet loops), but fails to nd an edge that crosses line segment SD at a point closer to D than p. Thus, face routing fails. Planarization. Wireless networks' connectivity graphs typically contain many crossing edges. Prior research has explored planarization techniques that are implementable with an asynchronous distributed algorithm. Early work focused on two planar graph constructs: the Relative Neigh- borhood Graph (RNG) [41] and the Gabriel Graph (GG) [12]. The RNG and GG give rules for how to connect vertices placed in a plane with edges based purely on the positions of each vertex's 9 p S D Figure 2.3: Example of face routing failure on non-planar graphs. There is no point closer to D than p on the face enclosing D. A B RNG A B GG W W Figure 2.4: Denitions of the GG and RNG. A witness must fall within the shaded circle (GG) or lune (RNG) for edge (A;B) to be eliminated in the planar graph. single-hop neighbors. Both the RNG and GG provably yield a connected, planar graph so long as the connectivity between nodes obeys the unit graph assumption: for any two vertices A and B, those two vertices must be connected by an edge if they are less or equal to some threshold distance r apart, but must not be connected by an edge if they are greater than r apart. We shall refer tor as the nominal radio range in a wireless network; the notion is that all nodes have perfectly circular radio ranges of radius r, centered at their own positions. We brie y state the denitions of the GG and RNG for context. The planarization process runs on a full graph, which includes all links in the radio network, and produces a planar subgraph of the full graph. We assume that each node in the network knows its single-hop neighbors' posi- tions; such neighbor information is trivially obtained if each node periodically transmits broadcast 10 A B V W Figure 2.5: The RNG partitions a non-unit graph; edge (A;B) is eliminated. packets containing its own position. Consider an edge in the full graph between two nodes A and B. Both A and B must decide whether to keep the edge between them in the planar graph, or eliminate it in the planar graph. Without loss of generality, consider node A. Both for the GG and RNG, node A searches its single-hop neighbor list for any witness node W that lies within a particular geometric region. If one or more witnesses are found, the edge (A;B) is eliminated in the planar graph. If no witnesses are found, the edge (A;B) is kept in the planar graph. For the GG, the region where a witness must exist to eliminate the edge is the circle whose diameter is line segment AB. For the RNG, this region is the lune dened by the intersection of the two circles centered at A and B, each with radiusjABj. We show these two regions in Figure 2.4. Note that if the network graph violates the unit graph assumption, the RNG and GG can fail in several ways; they can produce a partitioned planarized graph [16], one that contains unidirectional links, and even one that is not planar. Each of these planarization failures can result in a routing failure. An example of a partitioning for the RNG appears in Figure 2.5. Here, there is no link between A and V , and none between B and W , though these links are shorter than the nominal radio range. NodesA andB see witnessesW andV , respectively, though neither witness provides transitive connectivity. BothA andB conclude they should remove edge (A;B) in the planarized graph, and a partition results. Similar cases are possible in the GG. Geographic Routing on Radio Graphs. Since violations of the unit-graph assumption can lead to planarization failures, which in turn can lead to routing failures, the question of whether radio graphs conform to the unit-graph assumption is of great importance. Kim et al. [21] have 11 explored in detail the many reasons real radios violate the unit graph assumption, and give detailed examples of the pathologies these violations create in the GG and RNG. They have also shown that a previously proposed x to the GG's and RNG's tendency to partition graphs when radio ranges are irregular does not ensure the overall correctness of face routing. The x in question is the mutual witness (MW) extension to GPSR [16, 17, 40]. When node A considers whether to keep link (A;B) from the full graph in the RNG or GG planar graph, mutual witness dictates that A only eliminate link (A;B) if there exists at least one witness in the RNG or GG region that is visible both to A and B. This fact may be directly veried with local communication: if all nodes broadcast their neighbor lists (only a single hop), then all nodes may verify whether a particular neighbor shares a particular other neighbor. The intuition for mutual witness is that it preserves connectivity: links are only eliminated in the planar graph if a transitive path through a witness is explicitly veried, rather than relying on the location of the witness to assure such a transitive path's existence. Unfortunately, while MW ensures connectivity it does not always produce a planar graph. On some non-unit graphs the use of MW with either the GG or RNG will leave crossing links [21]. Some literature [1, 29] has investigated the robustness of the GG planarization for \quasi" unit-disk graphs, which always exhibit connectivity within a short radius r; exhibit probabilistic connectivity within an enclosing ring-shaped region; and exhibit no connectivity beyond this ring. The technique only is scalable whenr 1= p 2; for lesser values ofr, virtual links may be comprised of increasingly long paths of physical hops. Recently, we have proposed a qualitatively dierent planarization technique (Cross-Link Dec- tion Protocol) that pro-actively probes faces to remove link-crossings. Our CLDP protocol de- scribed in Section 3.2 ensures the correctness of face routing in arbitrary graphs, but incurs substantial probing overhead. Lazy Cross-link Removal (LCR) described in Section 5.2 builds upon CLDP, but is a signicant step in the geographic routing literature, demonstrating that full, a priori planarization is not necessary for correct geographic routing. 12 Motivated the incorrectness of "rst-intersection" face routing described in [21], Frey et al. [11] has proposed a distributed mechanism [11] based on the property of geometry cross-product and proven that "rst-intersection" face routing supplemented with the mechanism works correctly. Alternative Approaches. Motivated by the failure of the GG and RNG to route correctly in non-unit graphs, and by the unavailability of node locations in some settings, several techniques such as BVR [10], Glider [8], and MAP [3] have been proposed to assign virtual coordinates to nodes such that greedily routing on those coordinates ensures routing success. These schemes x node coordinates with reference to special nodes (beacons or landmarks) or topological features (the medial axis of the sensor eld). While attractive, they can incur high setup cost; by contrast, our LCR (as we shall show) exhibits near-zero overhead on real wireless topologies. Motivated by the overhead imposed by CLDP, recent work has designed proactively computed routing structures used for recovering from local maxima when routing greedily on physical coor- dinates. RRP [19] assumes unit-disk connectivity and logically partitions a sensor eld into a grid. The grid is then used when greedy routing encounters a local maximum. In contrast, GDSTR [31] does not assume unit-disk connectivity and builds a hull tree: the root of each subtree maintains the convex hull of the locations of all descendants, as well as the convex hull of all children. In addition, each node maintains the list of hulls that intersect with its own. When greedy routing encounters a local maximum, packets are forwarded up the hull tree until they reach a node whose hull tree encloses the destination. At that point, the packet is forwarded down the tree. In this thesis, we show that LCR incurs signicantly lower overhead than GDSTR, yet oers comparable stretch on real wireless topologies. Eciency. Most relevant to our work is the body of work that has examined the correctness of geographic routing in arbitrary network graphs. Seada et al. [40] and Kim et al. [21] have pointed out that existing geographic routing algorithms do not work in non unit-disk graphs generated by imprecise localization and radio opaque obstacles. Motivated by this, Kim et al. [20] have described a distributed planarization technique that enables provably correct face routing on 13 arbitrary network graphs. Frey et al. [11] have analyzed the behavior of face-change rules in general planar graphs and have described face-change rules that are provably correct in such graphs. Also relevant is a class of work that has examined the performance of geographic face routing. The GOAFR+ family of algorithms [30, 27] has explored worst-case and average case performance in unit-disk graphs. They describe several face routing variants that achieve worst-case optimality or good average case performance, or both. However, their results do not generalize to arbitrary network graphs. To our knowledge, no research has examined the performance of face routing algorithms in arbitrary graphs. Finally, tangentially relevant to our work is prior work on alternative approaches to geographic routing. One direction is the literature on \quasi" unit disk graphs (e.g., [29]) which has relaxed the unit-disk assumption to allow for \quasi" unit disk graphs. These graphs which always exhibit connectivity within a short radius r, probabilistic connectivity within an enclosing ring-shaped region, and no connectivity beyond this ring. It is not clear to what extent real-radios conform to this model. A second direction has examined geographic routing with planarization. GDSTR [31] proactively builds a forwarding tree that can be used for circumventing voids. Although it exhibits highly practical routing performance, the worst-case performance of this algorithm is not known. 14 Chapter 3 Correctness: Planarization 3.1 Problem Statements 3.1.1 Pathologies The unit-disk assumption can, in practice, be violated in one of two ways. A node can have an incorrect estimate of its position. Alternatively, its radio communication range may be irregular as a result of radio-opaque obstacles or transceiver dierences. These deviations from ideal be- havior can cause three kinds of failures in the planarization algorithms described above: they can leave unidirectional links in the GG/RNG-derived subgraph, incorrectly remove links from this subgraph, or leave cross-links in the subgraph. In what follows, we illustrate failures as a result of applying the GG algorithm. We have observed each type of failure in an experimental setting, as we describe later in the section. To our knowledge, this is the most complete taxonomy of planarization failures to date. Prior work [40] has described the latter two failures resulting from localization errors. Unidirectional links Consider the upper left subgure of Figure 3.1. The distance between C and A is less than that betweenC andB. C andA cannot communicate with each other due to a radio-opaque obstacle 15 Figure 3.1: Unidirectional links in subgraphs. between them. When node C receives beacons from node B, it executes the GG planarization (Section 2). But node C does not know of the existence of node A, and it keeps link (C;B) in its GG-derived subgraph. Furthermore, B notices that A is a witness, and removes link (B;C) from its subgraph. Thus, the GG-derived subgraph is left with a unidirectional link, denoted by an arrow in the upper-right subgure of Figure 3.1. The GG-derived subgraph can contain the same artifact when nodes have imprecise location information. The lower left subgure of Figure 3.1 shows the actual location of 4 nodes, as well as their \estimated" topology (based on each node's estimate of its position). In the estimated topology, D has incorrect position information. C assumes D to be a witness node for its link to B, and does not add (C;B) to the GG-derived subgraph. By contrast, B cannot communicate withD, and thus preserves link (B;C) in the GG-derived subgraph. As a result, the GG-derived subgraph has a unidirectional link as shown in the lower right subgure of Figure 3.1. These unidirectional links can produce an innite loop during face traversal, as shown in Figure 3.4. 16 Figure 3.2: Disconnected links in subgraphs. Disconnected links Radio-opaque obstacles can cause a link to be incorrectly removed from the GG-derived subgraph. In the upper part of Figure 3.2, obstacles prevent B and D, as well as A and C, from communi- cating with each other. C realizes that link (C;B) is witnessed by node D and removes that link from the GG-derived subgraph. B realizes that link (B;C) is witnessed by node A and removes that link from the GG-derived subgraph. This results in a disconnected subgraph, as shown in the upper right of Figure 3.2. Incorrect node location can also produce a similar artifact. The lower left subgure of Fig- ure 3.2 illustrates both the actual locations and the estimated topology of four nodes. In the estimated topology, A and D have incorrect position information. As with the previous example, the GG-derived subgraph is disconnected, as shown in the lower-right subgure of Figure 3.2. A disconnected GG-derived subgraph can cause face traversal failures, as shown in Figure 3.5. In this gure, there exists a path from S to D. Greedy traversal towards D encounters a local minimum. However, face traversal cannot reach D, since the GG-derived subgraph is partitioned. 17 Figure 3.3: Cross links in subgraphs. Cross links in subgraphs Finally, in the presence of non-ideal radio behaviors or incorrect location information, the GG and RNG algorithms can leave cross-links in the derived subgraphs. In the upper part of Figure 3.3,H has only a link toG, as a result of radio-opaque obstacles. Even though the link (H;G) intersects link (C;D), the GG planarization fails to remove the crossing links, as C and D cannot see H, andH andG cannot see nodes C andD. Similarly, in the lower part of Figure 3.3, A is actually positioned below G (white circle). However, A incorrectly assumes that its own position is near C and E. The GG planarization leaves the crossing links (G;A) and (C;E). Crossing links in derived subgraphs can cause persistent routing failures, as illustrated in Figure 3.6. 18 Figure 3.4: Routing failure caused by unidirectional links. Figure 3.5: Routing failure caused by disconnected links. Figure 3.6: Routing failure caused by cross links. 19 Figure 3.7: Mutual witness is not enough. 3.1.2 The Mutual Witness Procedure Some of the planarization failures arise because two ends of a link have inconsistent information about witnesses. The mutual witness protocol [16, 17, 40] attempts to rectify this. When node A considers whether to keep a link (A;B) in the subgraph, mutual witness dictates that A only eliminate link (A;B) if there exists at least one witness in the RNG or GG region that is visible both to A and B. This fact may be directly veried with local communication: if all nodes broadcast their neighbor lists (only a single hop), then all nodes may verify whether a particular neighbor shares a particular other neighbor. As our examples below show, the mutual witness protocol is not perfect; on non unit-disk graphs, it converts unidirectional links or disconnected links into cross links in the subgraph, leaves some cross links in the subgraph, and can introduce collinear links. Consider the rst row of Figure 3.7. The GG planarization without mutual witness results in a unidirectional link (A;C). If mutual witness is applied instead, node C keeps link (C;A) because A does not also observe the witnesses B and C. This can leave a cross-link in subgraph (the right-most of the 20 rst row). In the second row of Figure 3.7, the GG planarization would remove links (A;D) and (B;C) in the subgraph (the middle subgure of the second row), but if mutual witness is applied to the subgraph, the crossing links (A;D) and (B;C) are left in the derived subgraph. Finally, the third row of Figure 3.7 shows an example where both the GG planarization and mutual witness leave crossing links in the derived subgraph. 3.1.3 Experimental Validation of Pathologies We implemented GPSR in TinyOS [15], the event-driven operating system used on Mica sensor motes. Our full- edged nesC implementation of GPSR on the Mica motes includes the GG and the RNG planarization algorithms (chosen via a conguration parameter), as well as greedy- and perimeter-mode packet forwarding 3.1.3.1 Testbeds and Experiments We deployed our GPSR implementation on a wireless sensor node testbed. This testbed (which we label R) contains 75 Mica-2 \dot" nodes deployed roughly one per room on one oor of a campus building. At the default power setting on this testbed, all nodes were within two hops of each other. To generate an interesting multi-hop topology, we reduced the CC1000 radio's output power from 15 to 2. In the resulting topology, the average path length was around 5 hops, and the average node degree was 5:2. Note that controlling the transmit power is roughly equivalent to appropriately scaling the geographic dimensions of the testbed. Finally, in our experiments, we statically congured nodes with their locations and started all the nodes roughly simultaneously. We measured the fraction of all pairs of nodes on this network that could reach one another. In these measurements, we iterate over all nodes in the network, allowing one node at a time to send trac to each other node in the network. Our implementation also includes the revised face traversal rules described in a later section. Thus, all routing failures described here can be attributed to planarization failures, and not to incorrect face traversal algorithms. 21 Figure 3.8: Node layout of Rm. topology 1 (Rm) topology 2 (Rs) GPSR's GG 68.2% 97.2% GPSR's GG/MWP 87.8% 100% GPSR's CLDP 100% 100% Table 3.1: Routing Success Rate in R. 3.1.3.2 Results Table 3.1 shows results of experiments done in two dierent subsets of nodes on testbed R: a 50-node subset (Rm) and a 23-node subset (Rs). Notice that the underlying radio connectivity includes many crossing links (Figure 3.8), particularly in the dense region of the network toward the left. GPSR'GG: Quite surprisingly, only 68.2% of node pairs could communicate successfully in the Rm testbed. To understand why, consider the GG-derived subgraph shown in Figure 3.9. This subgraph clearly depicts the various kinds of planarization failures described above. The graph 22 Figure 3.9: GPSR's GG in Rm. Figure 3.10: GPSR's GG/MWP of Rm. 23 is clearly partitioned. In addition, unidirectional and cross links also exist in the GG-derived subgraph. GPSR'GG/MWP: GPSR augmented with mutual witness shows slightly better perfor- mance on Rm: 87.8% of node pairs are connected, though more than 10% of node pairs remain persistently disconnected. Even though disconnected links and unidirectional links are eliminated (Figure 3.10), a cross link is left there. Moreover, mutual witness introduces a collinear link in the subgraph that is described in detail in section 4.1.2 and Figure 4.8. 3.2 Design of Cross-Link Detection Protocol (CLDP) We have established that existing planarization techniques frequently cause face routing to fail on real wireless networks, where the unit-graph assumption is violated. We now proceed to describe the Cross-Link Detection Protocol (CLDP), a planarization technique that cannot cause face routing to fail on any connected graph. As such, CLDP is also robust to arbitrary localization errors [23]. 3.2.1 CLDP Overview To describe the essential ideas behind CLDP, we rst consider a static graph consisting of several nodes and links. We make no assumptions about the connectivity of this graph (i.e., to which other nodes a given node may be connected). However, we assume that nodes in the graph are assigned positions in some 2-dimensional coordinate system, that the graph is connected, and that all the links are bi-directional. Initially, we also make several other idealized assumptions (like link-serialized execution of the protocol) to simplify exposition. We will return a bit later to consider the applicability of CLDP to more realistic wireless networks: in particular, we will consider the impact of node and link dynamics, and present a truly distributed, parallel realization of CLDP. 24 A D B C Figure 3.11: CLDP Probing using right-hand-rule, Case 1. The high-level idea behind CLDP is simple: each node, in an entirely distributed fashion, probes each of its links to see if it is crossed (in a geographic sense) by one or more other links y . A probe initially contains the locations of the endpoints of the link being probed, and traverses the graph using the right-hand rule. For example, in Figure 3.11, consider a probe originated by node D for the link (D;A). It contains the geographic coordinates of D and A, and traverses the graph using the right-hand rule, as shown by the dashed arrows. When the probe is about to traverse the link (B;C), node B \notices" that this traversal would cross (D;A); B records this fact in the probe so that when the probe returns to D,D notices a cross-link and \removes" either the (A;D) link or the (B;C) link (after a message exchange with B). By symmetry, the cross-links would have been detected by a probe of (A;D) originated by A or a probe of (B;C) originated either by B or C. Care must be taken in dealing with degenerate crossings caused by exactly colinear links. A correct way to deal with these is to randomly, but slightly, perturb the reported location of each node to make the likelihood of such links vanishingly small. To simplify our discussion, we ignore such degeneracies in the rest of this chapter. We have described CLDP in a decentralized fashion, but to understand CLDP's properties, it helps to envision the results of applying CLDP on all links of a static (i.e., unchanging), arbitrary (i.e., no specic connectivity assumptions), connected y For clarity, the size of CLDP probe is constant. CLDP implementation records the rst link-crossing to the probe and then ignores more other link-crossings when they are detected. After removing the link-crossing, the rest of link-crossings are successively found and removed by repeated CLDP probing, as described in Section 3.2.3. 25 graph. Initially, assume that all the links in this graph are marked routable. Then, suppose that each link is probed repeatedly and in some order with the constraint that only one probe is active at any given time (this is an idealization we relax later). As we have described above, a probe may cause a link to be removed. When we say CLDP \removes" a link, we mean that the link is marked non-routable. The set of routable links forms a routable subgraph. Furthermore, all CLDP probes traverse the current snapshot of the routable subgraph. Cross-links are not always marked non-routable; we show later how CLDP preserves cross-links the deletion of which would render the routable subgraph disconnected. This property implies that if the graph is connected to start with, CLDP does not partition it. The probing stops when subsequent probing of links would not cause any link to be marked non-routable. We say a graph is safe if face routing between all pairs of nodes in the graph is guaranteed not to fail. As we discuss in Section 5.2.1 (and our simulations and experiments Section 3.3.1 bear this out as well), CLDP always produces a safe routable subgraph from any arbitrary input connected graph. This result is surprising for the following reason. It is easy to see that CLDP attempts to planarize the routable subgraph by removing cross-links, and face routing is known not to fail on a planarized graph. However, there is no a priori reason to believe (and no prior literature that suggests) that using the right-hand rule repeatedly to detect and remove cross-links will always result in a planarization (modulo the cross-links that need to be preserved to avoid disconnections) on an arbitrary graph. As a practical matter, other forwarding strategies also work perfectly on the CLDP-derived routable subgraphs, such as GPSR's combination of greedy- and perimeter-mode traversals [18], and GOAFR's improvement that uses ellipses to bound face traversals when possible [27]. Note further that greedy forwarding uses the full graph (including links marked \non-routable" by CLDP); only face routing uses the CLDP-derived routable subgraph during recovery from local maxima. 26 A B C D Figure 3.12: CLDP Probing using right-hand-rule, Case 2. A B C D Figure 3.13: CLDP Probing using right-hand-rule, Case 3. A B C D Figure 3.14: CLDP Probing using right-hand-rule, Case 4. 27 In describing CLDP, we have made two simplifying assumptions: strictly sequential probing of links, and no node or link dynamics. In the following sub-sections we relax these two assumptions. Before doing so, however, we consider two other problems: how CLDP deals with cross-links whose removal would partition the routable subgraph, and how CLDP detects multiple cross-links. 3.2.2 Partitions in the Routable Subgraph In Figure 3.12, the removal of the (B;C) link would disconnect C from the rest of the network. Similarly, in Figure 3.13, the removal of the (A;D) link would disconnect D, and in Figure 3.14 the removal of either crossing link would partition the network. To understand how CLDP deals with this situation, examine the paths taken by the CLDP probes originated by D in each of the gures (by symmetry, one can make similar observations about probes initiated byC). Notice that in every case, when disconnecting a crossing link would partition the graph, the CLDP probe traverses that link once in each direction. In Figure 3.13, for example, the CLDP probe returns to D over the link on which it was sent (i.e., the (A;D) link). Intuitively, it is clear why this should be so: there is no closed face over which the probe can return. In Figure 3.12, the CLDP probe originated by D traverses link (B;C) once in each direction. From this, B (or C) can infer that removing link (B;C) would cause a partition. While we have given the simplest possible examples, our observations generalize easily to arbitrary topologies attached to the \non-removable" link. For example, if in Figure 3.12, node C were connected to many \clouds" (Figure 3.15), the CLDP probe would return on the (B;C) link. Thus, when a CLDP probe traverses either the link being probed (or its cross-link) in both directions, CLDP infers that removal of that link could disconnect the routable subgraph, and does not remove the link. By this rule, CLDP would mark both the (A;D) and the (B;C) links in Figure 3.14 routable. We point out an important property of the routable subgraphs derived by applying CLDP|they may contain crossing links. 28 Figure 3.15: Eect of \clouds" on probes. Thus, the correct rule for marking links non-routable can be stated as follows. Suppose any node N probes an attached link L and nds a cross-link L 0 : Case 1: If both L and L 0 can be removed (i.e., the CLDP probe traversed neither link twice), remove L. Case 2: If L can be removed, but L 0 cannot, remove L. Case 3: If L cannot be removed, but L 0 can, signal the appropriate nodes to remove L 0 . Case 4: If neither link can be removed, do nothing. Consider the application of this rule to the network in Figure 3.16, which illuminates an important property of CLDP: that dierent routable sub-graphs may be generated by applying CLDP to the same graph, depending upon the order in which links are probed. For example, if (A;B) were probed rst, then (C;D) would be removed, and vice versa. 29 A B C D Figure 3.16: Routable subgraph depends on probe ordering. A X Z Y W B Figure 3.17: Multiple Cross-Links. 30 A X Z Y W B Figure 3.18: Repeated CLDP probes. 3.2.3 Multiple Cross-Links Thus far in our discussions, we have assumed that a link is crossed by at most one other link. But consider the situation depicted in Figure 3.17 where a long link (A;B) is crossed by three other links. In arbitrary graphs, of course, this situation will not be uncommon. CLDP generalizes rather easily to this case. Repeatedly probing a link until no removable cross-links are found will keep the resulting routable sub-graph safe. Consider Figure 3.17 and assume that B probes link (A;B). The rst such probe will traverse the faces shown, detecting the cross-link (X;Y ), which will be removed. A second probe sent by B (Figure 3.18) will detect the (X;W ) cross-link, resulting in the removal of that link (and so on). Our examples of multiple cross-links are a bit misleading, as they suggest that repeatedly probing a link will detect all cross-links. This is not, in general, true: probing one of a pair of cross-links is not guaranteed to nd the crossing (intuitively, that link may be obscured by other, perhaps non-removable) links. The other link may also have to be probed (from both ends) before the cross-link is detected. Consider, for example, the topology in Figure 3.19. In this topology, CLDP probes from either 31 A D C B X Y Figure 3.19: Probing a link may not detect a cross-link. end of the (B;C) link are conned to the adjoining triangles, and are unable to detect the (X;Y ) link. The (B;C) cross-link is only detected after repeatedly probing the (X;Y ) link. 3.2.4 Concurrent Probing Thus far, we have assumed that CLDP probes are serialized. However, this kind of global se- rialization is unachievable without signicant messaging cost in large networks. A design that permits nodes to probe links concurrently is clearly more desirable. Unfortunately, concurrent probing can render the routing subgraph disconnected. Consider Figure 3.11 and assume that whileD probes link (A;D),C concurrently probes link (B;C). When each probe returns,C andD each detect a cross-link, and mark their directly attached links non- routable (assume that either link can be removed), leaving the routable subgraph disconnected. Such a race condition can be prevented using a simple tie-break rule that deterministically decides which cross-link should be deleted. However, the tie-break rule does not guarantee correctness in the general case. A simple approach would be to lock a link while it is being probed. CLDP drops probes that encounter a locked link in either direction, and retries them later. This approach eectively 32 ensures that the faces adjoining the locked link are not altered while the link is locked (modulo changes caused by node failures or additions, which we discuss later). CLDP uses this basic strategy, but takes care to avoid race conditions in cases where the cross- link (and not the probed link) must be removed. Furthermore, it reduces convergence time using a few simple optimizations, since the basic strategy can cause many dropped probes. Finally, it also reduces probing overhead by avoiding probes on links which have already been determined to be routable, unless one of the adjoining faces has changed. We now describe these modications. First, CLDP uses lazy locking. That is, when CLDP needs to probe a link, it rst sends a probe without locking the link. If this probe returns indicating either that there are no cross-links or that this link and its cross-link cannot be removed (Case 4, Figure 3.14), CLDP marks the link to be routable. Thus, in this case (which one expects to be common for small faces on dense networks), CLDP converges quickly without locking links. Routable links are marked dormant and not subsequently probed unless woken up; we later describe how this happens. There are two other possible outcomes of a probe message; either the probed link needs to be removed from the CLDP-derived graph (e.g., Case 2, Figure 3.12), or its cross link needs to be removed (e.g., Case 3, Figure 3.13). In the former case, CLDP enters a commit phase, where it locks the probed link, and re-probes the link but using a specially marked \commit" message. All probes traversing a locked link in either direction are dropped. However, when a commit message traverses a locked link, a deterministic tie-break is applied which ensures that if two links on the same face are being \commit"-ed simultaneously, only one of the commit messages succeeds in traversing the face. When the \commit" probe succeeds, CLDP unlocks the probed link, and marks it as non-routable. The act of marking a link non-routable changes the faces adjacent to the link. As Figures 3.17 and 3.18 show, removal of a link can reveal cross-links (e.g., the (X;W ) link does not see the (A;B) cross-link until the (X;Y ) link is removed from the graph). Accordingly, the changed faces must be re-probed. To accomplish this, when CLDP removes a link (i.e., marks 33 it non-routable), it awakens the two adjacent dormant (see above) links (i.e., those obtained by applying the right-hand rule and the left-hand rule from this link). The last case to consider is when a probe indicates that the cross-link (e.g., link (B;C), Figure 3.13) must be removed. Recall (Figure 3.19) that, in general, a probe of the cross-link might not reveal the crossing. For this reason, when a probe indicates the cross-link needs to be removed, CLDP walks the corresponding face again using a \commit" probe, and locks the cross-link after the probe reaches it. When that probe succeeds, the node noties both ends of the cross-link to mark the link non-routable. Finally, we describe CLDP's behavior when a link is added to or deleted from the underlying connectivity graph. When a link is added to the underlying graph, CLDP awakens the adjacent dormant links. This causes links on the corresponding faces to be probed again, eliminating cross- links when necessary. Link deletion presents a more subtle problem. Consider Figure 3.17, and suppose that links (Z;W ) and (X;Y ) have been marked non-routable. Now, suppose that link (A;B) fails. The simplest way to restore the links (Z;W ) and (X;Y ) to the routable sub-graph would be to periodically re-probe these links. This is what CLDP does. It is possible to design optimizations that can reduce the overhead of periodic probing. For example, node A could remember which cross-links were removed when (A;B) was probed, and notify the ends of those cross links when (A;B) fails. We have left the design of these optimizations for future work. CLDP implements its probing actions using a simple state machine and a protocol consisting of several message types. In the interest of brevity, we refer the interested reader to [23] for a detailed specication of the CLDP protocol. 3.2.5 Proof Sketches of Correctness In this section, we provide sketches of proofs for our two basic results. Recall that, as stated in Section 3.2.1, we assume that full graphs have no degeneracies: no vertices are coincident, and no pairs of edges at a single node have the same incident bearing. We use the following notation. 34 The set of edges of a graph is denoted by E, and individual directed edges are denoted by e i , with e i denoting an edge in the opposite direction. Since we have assumed symmetrical links, e i 2 E) e i 2 E. The set of vertices is denoted by V , and the starting point of an edge is given bys(e i )2V and the nishing point of an edge is given by f(e i )2V . A path is a sequence of edges, e 1 ;e 2 ;::: such that s(e i+1 ) = f(e i ). For each graph dene a (perhaps empty) set of crossings C; each element of C is a pair of edges that intersect in the plane. Note that all face walks eventually return to their starting points. We use the following terminology to describe how they return. An edge is singly-walked if a face walk starting on that edge does not return via that same edge (in the opposite direction). An edge is doubly-walked if it returns via the same edge in the opposite direction. The general rule in CLDP is that when a crossing is detected, no doubly-walked edge can be removed. We start with a general observation about crossings in connected graphs. Theorem 1. If a connected graph G has at least one crossing, then there is at least one face that has a crossing. Proof. Consider a connected graph G that has at least one crossing; i.e., C is nonempty. Then there is some pair of crossed edges, call them e 1 ;e k , and a path between these crossed edges that we denote by e 1 ;e 2 ;:::e k . If there are any pairs of edges on this path that are in C, then we can choose that crossing instead (using the subset of the path between these two crossed edges). Repeating this, we nd a crossing and a path such that the path contains no other crossings. We then have a situation as in Figure 3.20(a). The portion of the path between the crossing point and around the series of edges back to the crossing point has a well-dened interior and exterior. Among all such congurations like that in Figure 3.20(a), we pick the one with the minimal area in the interior. We now start a face walk at edge e 1 (we can assume, without loss of generality, that the right-hand rule from e 1 points towards the interior of the path; if not, we start the walk at e k ). 35 e k v w e 1 (a) (b) Figure 3.20: Figures for proof sketches We know the face walk must eventually return tos(e 1 ). Thus, the face walk must eventually cross the path, because the points(e 1 ) is exterior to the path and the face walk is oriented inwards (so any deviations from the path point inwards). If the face walk passes through edge e k , or crosses itself, we are done. If the face walk does not pass through e k and does not cross itself then it must (a) leave the path at some point, call it v, and (b) cross the path somewhere other than at e k (and farther along the path than v). Let e j denote the link that crosses the path, and e r be the link that it crosses. Then we have a new crossing pair, e j ;e r , with a path that is comprised of the old path from v to e r and the face walk from v to e j . This path outlines a strict subset of the area outlined by the previous path. This contradicts our minimality assumption. Thus, the face walk for this minimal area path must cross itself. This result shows that if we had used a version of CLDP that eliminated all crossings then we would end up with a set of connected planar components. To help state our next result, we term a graph CLDP-stable if CLDP would not eliminate any edge in the graph, were the edges probed in serial fashion. 36 Theorem 2. Geographic routing never fails on a connected CLDP-stable graph. Proof. Assume that a connected graph G is CLDP-stable but has a routing failure. As we dis- cussed in Section 3.1.1, a routing failure from a point v to a point w occurs when a face walk starting on a link that straddles the line segment between v and w does not pass through the vw line segment at a point closer than where the originating link crosses. Thus, the face walk must only cross vw either at or behind the previous crossing; or through the continuation of vw behind v; or through the continuation of vw beyond w. Here we assume the latter case, but our discussion with slight modication applies to any of the three cases. For this case, we have a picture that looks generally like that shown in Figure 3.20(b). We have a face that surrounds the point w, and a path from v to w that intersects the face; let edge e k denote the edge that intersects this face and e 1 denote the edge on the face that is crossed. We have a path e 1 ;e 2 ;:::;e k from e 1 back to the crossing at e k . All edges on the face surrounding w are singly-walked, so the crossing involves at least one singly-walked edge. We proceed to prove that such an example violates CLDP-stability; in other words, the presence of a crossing with at least one singly-walked edge implies that there is a face walk with a crossing with at least one singly-walked edge. We can't, as above, insist that there are no other crossings on the path. However, we can choose an example where all such intervening crossings involve two doubly-walked edges; by the same reasoning as above, if there were another crossing involving at least one singly-walked edge then we could pick that crossing instead. Thus, we have a picture like that in Figure 3.20(a) except that here the path can have self-intersections. We now construct a series of subpaths from this path that will have a well-dened interior and exterior. Consider the set ~ C of crossings for which both edges are in the path. Dene the class-1 boundary as follows. Starting at edge e 1 , continue along the path until you hit an edge e j with a pair (e j ;e r )2 ~ C for some e r ; at this point stop the subpath and jump to the last occurrence of e r in the path, and continue until another crossing is encountered. Repeat this process until you 37 reach e k . This results in a series of paths which intersect at the end edges; this boundary begins at edge e 1 and ends at edge e k . This boundary has a well-dened interior and exterior. One can dene the set of class-2 boundaries by starting at each of the crossings and following the original path rather than the shortcut (in this case, one such subpath would start at e j and end at e r ). Similarly, one can recursively dene class-z boundaries for increasing values of z. Of the set of all paths connecting crossings that have at least one singly-walked link, pick one with the minimal class-1 area. If there are several of those, pick the one with the minimal class-2 area, etc. We now dene a reduced face walk. A reduced face walk eliminates the portion of the face walk in between walks over a doubly-walked edge. That is, when a face walk encounters a doubly-walked edge e i , it will go on some path and then return via e i . The reduced face walk eliminates the portion of the pathe i ;:::;e i . The resulting reduced face walk is the same as if the doubly-walked links did not exist. Note that a reduced face walk consists solely of singly-walked edges. We now apply the reasoning from the previous proof, except we use reduced face walks, and we are concerned only about crossings of the boundaries, not the path itself (the path might enter the interior of the boundary). As before, we start a reduced face walk with the edge that we know to be singly-walked. If the face walk passes through e k or crosses itself we are done. If not, then we follow the reduced face walk until we cross the boundary. At this point we have an example of a crossing connected by a boundary that sweeps out a smaller area. Moreover, because we used the reduced face walk, we know that the crossing involves at least one singly-walked link. This line of reasoning needs to be adjusted somewhat based on where the rst deviation from the path occurs. If it occurs before the rst path crossing, then we use the class-1 boundary; if it occurs after the rst crossing, we use the class-2 boundary, etc. In this way, we always are doing a reduced face walk within a boundary of minimal area and nd a contradiction when we cause a new crossing. 38 3.3 Evaluation of Cross-Link Detection Protocol (CLDP) 3.3.1 Simulation Results The above theorems assert CLDP's correctness on static graphs. However, to show that CLDP is practical on real wireless networks, we examine the performance of CLDP through simulation in this section, and through experimentation in the next. Methodology and Metrics We implemented CLDP (and other geographic routing protocols, described below) in TinyOS [15], the event-driven operating system used on the Mica-2 motes. TinyOS code can be directly executed on TOSSIM [32], a process-level simulator that can be used to directly debug and evaluate sensor network applications and protocols. Our implementation of CLDP in TinyOS is 750 lines of nesC code. In this section, we report simulation results obtained from running CLDP and other protocols using TOSSIM's support for packet-level simulation. In this section, we compare (whenever appropriate) CLDP's performance against three alterna- tives,GPSR denotes the full implementation of GPSR using the Gabriel Graph for planarization, greedy forwarding, and perimeter traversal for routing around voids. We use GPSR to provide context for CLDP's performance. GPSR 0 NOPLAN denotes a protocol that forwards packets using GPSR on the full connectivity graph (i.e., without planarization). GPSR 0 NOPLAN de- lineates the baseline performance of face walking on the networks we study. GPSR 0 GG=MW includes, in addition to GPSR and planarization, an implementation of the \mutual witness" pro- cedure for avoiding unidirectional links and disconnections in the planarized graph when the unit- graph assumptions are violated (Section 3.1.1). GPSR 0 GG=MW quanties the inadequacy of that proposed x for planarization failures, thereby highlighting the need for CLDP. GPSR 0 CLDP denotes our proposed protocol using CLDP, greedy forwarding, and perimeter traversal. In each of our simulations, we use a 200-node topology in which nodes are randomly positioned on a xed-size two-dimensional surface. We conducted simulations on three types of networks: 39 wireless networks with an idealized radio model with circular radio ranges of 180 units (we intro- duce reality in the form of obstacles), wireless networks with location inaccuracy, and Bernoulli random graphs which have a xed connection probability for any pair of nodes, regardless of Euclidean distance between the nodes. For our wireless network simulations, we evaluate the performance of various geographic routing protocols as a function of node density. Our measure of density is the average number of neighbors of a node. We scale the area of the surface in order to vary node density; for our highest density we use an area of 1300 x 1300 units, while for our lowest, we use an area of 2000 x 2000 units. In our simulations with obstacles, the number of obstacles is indicated by a parameter f, such that fN is the total number of obstacles (N is the number of nodes). Each obstacle is of xed length (45 units) in each of our simulations. The mid-point of the obstacle is randomly positioned on the two-dimensional surface, and the orientation of the obstacle is equally likely to be either vertical or horizontal. This obstacle model helps us stress CLDP and other protocols to varying extents in order to measure their performance. In our simulations with localization errors, we rst assign node positions uniformly. Lacking evidence to the contrary, we assume a uniform error model, parameterized by another fraction l. To introduce location errors, we rst assign nodes a uniformly chosen location on the two-dimensional surface, then perturb their x and y coordinates by a randomly chosen number in the interval [0:5lR; 0:5lR], when R is the nominal radio range. Our Bernoulli random graphs are generated in the obvious way: we ip a weighted coin for each pair of nodes, assigning a link between them with the desired connection probability. For each simulation we rst generate a network topology. We then ensure that the topology is connected. At the beginning of the simulation, TOSSIM enforces a boot-up time during which nodes are started randomly. In our simulations, 200 nodes are started randomly in the rst 30 seconds. Following the boot phase, each simulation consists of two phases. In the rst phase, we let the appropriate routability determination protocol (CLDP, or GPSR's planarization and/or mutual witness procedure) execute at each node long enough for the network to converge. In the 40 second phase, we send packets pairwise bidirectionally between nodes in a staggered manner to minimize wireless collisions. This latter phase tests for routing failures. For each data point in the graphs below, we run 50 random topologies. We have veried that this is sucient to produce negligible 95% condence intervals for the mean values of our metrics. We do not simulate packet losses due to interference or buer overrun in either phase. Our simulations do drop packets, however, when face routing fails. Packet losses would increase the convergence time of CLDP, or would alter the level of concurrent probing in CLDP. Our simulation methodology already introduces signicant concurrency by ensuring that all nodes start at nearly the same time. (Note that our testbed measurements include interference and buer overrun eects, of course.) We use two primary measures of performance. The success rate measures the fraction of sender/receiver pairs for which packet transmissions from the sender are successfully received. The average stretch measures the average of path stretch for all sender/receiver pairs. The stretch of a path is the ratio of the number of hops using the routing scheme in question to the number of hops in the shortest path. We also evaluate the overhead and convergence time of CLDP; we dene these metrics below. Wireless Networks with Obstacles Figure 3.21 shows the success rate as a function of node density for our various protocols, in the presence of N obstacles. Note that this is an extremely harsh environment, with as many obstacles as nodes. As expected, CLDP allows perfect delivery success across all node densities we evaluated. Interestingly, GPSR's planarization procedure fails rather dramatically in the presence of even a moderate number of obstacles. In these circumstances, it appears to be more advantageous simply to use GPSR on the connectivity graph without planarization. The mutual-witness procedure xes many of GPSR's shortcomings and is close to perfect in some cases. At most densities it can establish paths between 99% or more node pairs, but it is never perfect. 41 0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00 8.8 8.1 7.5 7.0 6.6 6.1 5.7 5.3 5.0 Node density (no. obstacle = N) GPSR GPSR'NOPLAN GPSR'GG/MW GPSR'CLDP Figure 3.21: Success rate for 1:0N obstacles. 0 1 2 3 4 5 6 7 8 8.8 8.1 7.5 7.0 6.6 6.1 5.7 5.3 5.0 Node density (no. obstacles = N) GPSR'NOPLAN GPSR'GG/MW GPSR'CLDP Figure 3.22: Average stretch for N obstacles. 42 0.00 0.20 0.40 0.60 0.80 1.00 1248 16 32 64 102 Stretch 8.8 density 7.0 density 5.7 density 4.7 density Figure 3.23: CDF of stretch (1:0N obstacles). In a real deployment, however, MW fails far more dramatically, as discussed in Section 3.1.2. Figure 3.22 plots the average stretch as a function of node density for our various protocols, in the presence of N obstacles. CLDP exhibits an average stretch between 2 and slightly above 4, with a higher stretch at lower densities. CLDP outperforms GPSR'GG/MW in this respect; CLDP removes only cross links, but GPSR'GG/MW removes all links that are witnessed by planarization and hence incurs higher stretch. However, CLDP may exhibit long paths. This is evident from the CDF of stretch for CLDP (Figure 3.23, withN obstacles). Notice the long tail of the distribution, in which some paths have a stretch of over 100! Across the range of densities we explore, though, 60-95% of the paths have a stretch less than 2. Wireless Networks with location inaccuracy Also, we have computed the success rate for two levels of localization error, when the error in each coordinate is uniformly distributed about an interval of width 0:15R and 0:30R respectively, where R is the nominal radio range. The behavior of each of our protocols is qualitatively similar to that with obstacles. 43 0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00 10.19 9.3 8.52 7.81 7.29 6.67 6.19 5.77 5.44 Node density (location error=0.3R) Success Rate GPSR GPSR'GG GPSR'GG/MW GPSR'CLDP Figure 3.24: Success rate for 0:30R location error. 0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00 10.19 9.3 8.52 7.81 7.29 6.67 6.19 5.77 5.44 5 Node density (location error = 0.15R) Success Rate GPSR GPSR'GG GPSR'GG/MW GPSR'CLDP Figure 3.25: Success rate for 0:15R location error. 44 0.40 0.50 0.60 0.70 0.80 0.90 1.00 10 8 6 4 Probability of link connectivity (%) GPSR GPSR'NOPLAN GPSR'GG/MW GPSR'CLDP Figure 3.26: Random graph success rate. Random Graphs To stress CLDP, we also simulated it on Bernoulli random graphs with various connectivity probabilities. As Figure 3.26 shows, CLDP exhibits no routing failures, even on random graphs. By contrast, all other variants exhibit signicant routing failures on sparse random graphs (low connection probabilities). In particular, MWP exhibits more systematic routing failures than on wireless networks. Clearly, none of these other protocols is practical for routing on random graphs. Overhead We measured how many CLDP messages are needed to add a link to a wireless network withN obstacles. This gives us some idea of the overhead incurred by CLDP. In our ex- periments for measuring overhead, after a network has reached steady state, two nodes not directly connected to each other are randomly selected and an additional link between them is activated. The overhead is the total number of CLDP control messages (probe and commit) traversing a link in either direction until the network has converged. Figure 3.27 plots the distribution of link overheads averaged over 20 link additions on each of 200 wireless topologies. It shows that about 85%-90% of links see fewer than 4 messages, but a very small fraction of links see upwards of 100 45 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 0 50 100 150 200 250 300 350 400 Fraction of links with overhead <= x Overhead 8.8 density 7.0 density 5.7 density 4.7 density Figure 3.27: Overhead for wireless network with N obstacles. messages. This latter phenomenon can be explained as follows. Assume that a new link is added which crosses existing edges. When CLDP removes these crossing edges, it needs to wake up all links on the faces adjacent to the removed link in order to detect successively hidden cross-edges. These links generate probe messages to see if they are crossed by others. Hence, the number of messages observed on a link depends on the size of the face. Clearly, in our wireless topologies (particular in the ones with lower density), there exist long faces. Network Convergence Time We measured how quickly CLDP converges both on wireless networks withN obstacles and on Bernoulli random graphs. In experiments of convergence time, 200 nodes are initially started roughly simultaneously. In our CLDP implementation, nodes pe- riodically probe their attached links before the links become dormant. Thus, the convergence time of CLDP is a function of this periodic timer. The convergence time of a link is dened as the number of CLDP probing intervals before a link becomes dormant and remains thus (Sec- tion 3.2.4). Notice that our experiments measure link convergence at startup; one would expect 46 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 0 2 4 6 8 10 Fraction of links with convergence time <=x Convergence time (in units of probing intervals) 8.8 density 7.0 density 5.7 density 4.7 density Figure 3.28: Convergence time distribution for wireless network with N obstacles. that in steady-state, the time for convergence after a single link failure and recovery can be ex- pected to be considerably lower. Figure 3.28 shows the convergence time distribution for wireless networks with N obstacles. In Figure 3.28, about 95% of links converge within 4 probe intervals and all links converge within 9. In practice (Section 3.3.2), convergence times are slightly longer. Network Dynamics Finally, we conducted simulations to evaluate CLDP's resilience to net- work dynamics. These experiments were done on 200 wireless networks with N obstacles as well as 200 Bernoulli random graphs. In all experiments, we took each given topology, randomly se- lected some links, and marked them non-routable in order to force those links to be re-probed by CLDP. Then we let CLDP execute at each node. Initially, these non-routable links are not used for CLDP probing. Over time, however, these links are woken up and are CLDP-probed. After all links had reached a dormant state, we determined whether packets could be routed between all pairs. In every case, CLDP converged to a network with 100% pairwise connectivity. Note 47 Figure 3.29: Node layout for Rs. that if a link aps, CLDP will continuously attempt to probe the link. It might be possible to dampen this activity, but we have not investigated such mechanisms. Summary In every simulation experiment, CLDP establishes routing paths between all node pairs. It exhibits reasonable stretch, overhead, and convergence times. Moreover, it works well under network dynamics. We next measure how CLDP performs on actual wireless testbeds. 3.3.2 Experimental Results In this section, we describe CLDP's performance in deployment on wireless sensor network testbeds. Testbeds and Experiments We deployed CLDP on two dierent sensor node testbeds; as geographic routing's behavior is sensitive to the detailed placement of nodes and obstacles, we sought to demonstrate CLDP's behavior for multiple node and obstacle placements, to the extent possible using testbed resources at our disposal. The rst testbed we shall label R, and consists of 75 Mica-2 \dots" with 433 MHz radios, deployed roughly one per room on one oor of Berkeley's Soda Hall. As described in Section 3.1.3, this was a shared testbed infrastructure, so we had no control over node layout 48 Figure 3.30: Node layout for C. and were able to use only a subset of the nodes for our experiments. We report performance measurements obtained on two dierent subsets of this testbed: Rs (Figure 3.29) which contains 23 nodes, and Rm (Figure 3.8) which contains 50 nodes. The second testbed, which we shall call C, consists of 51 Mica-2 \dots" deployed across a oor of Intel Research Berkeley, of which we were able to use 36. In addition to environmental dierences (cubicles in C vs. rooms in R), the testbeds dier in that C 's nodes are suspected to have poorer quality radios. Furthermore, C 's radios operate at 916 Mhz, and incur interference from other nearby devices in that unlicensed band. Again, on C we had no control over node layout. As described in Section 3.1.3, in these testbeds we adjusted node transmit power to obtain a multi-hop topology. For Rm and C, notice that the topologies stress geographic routing protocols signicantly{they contain two or more \clusters" of sensor nodes linked by one or two links, a conguration that triggers perimeter-mode routing frequently. Of course, such topologies aren't very practical since their capacity would be constrained by the bottleneck links. However, they can give some idea of worst-case CLDP performance, as we discuss below. We thus conducted three sets of experiments: Rm, Rs, and C. In each experiment, nodes were congured with their locations. We started all nodes roughly simultaneously and let CLDP probing converge. We logged every packet (all devices in both testbeds had console access through 49 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 0 5 10 15 20 Fraction of node pairs with stretch <= x Stretch Rs Rm C Figure 3.31: CDF of stretch. a serial port), and we also recorded pair-wise link quality. In addition, for Rs, we conducted an experiment in which we sent 50 packets between each pair of nodes in order to measure packet delivery performance. Our packet forwarding implementation tries up to three link-layer retransmissions per hop. Results In this section, we report on the performance of CLDP according to a variety of metrics. At the outset, we point out that in all three experiments, CLDP was immune to the pathologies described in Section 3.1.1 and established pairwise connectivity between 100% of node pairs. Path Performance One aspect of a routing protocol's path performance is stretch. For most node pairs (Figure 3.31), CLDP's stretch is reasonable (2 or 3). However, CLDP does exhibit fairly signicant stretch (up to 20 in some cases) for a small fraction of node pairs. High stretch 50 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 Fraction of node pairs with delivery rate <= x packet delivery rate Rs(CLDP) Rs(ETX) Figure 3.32: CDF of pairwise packet delivery rate. arises from long paths between pairs of nodes. Often, such long paths arise during traversal of the outer perimeter of the network. One might argue that comparing CLDP paths with shortest paths is unrealistic, since shortest- path routing is known to oer low throughput [6] over a wireless network whose links span a wide range of packet delivery rates. For this reason, we measure the quality of CLDP's path selection. Figure 3.32 computes the distribution of pairwise packet delivery rates (the fraction of delivered packets) for both CLDP (measured on Rs) and ETX (computed from link quality estimates on Rs). z CLDP's packet delivery performance is comparable to, but slightly worse than this \idealized" ETX. A comparison with a real implementation of ETX might lessen the discrepancy between the two considerably. Finally, we note that ETX (when implemented on a proactive protocol like DSR, on a network with a dynamic topology) is likely to incur higher overhead than CLDP. z While CLDP uses only \good" links, our simulation of ETX is not similarly constrained. 51 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50 60 70 80 90 Fraction of links with convergence time <=x Convergence time (in units of probing intervals) Rs Rm C Figure 3.33: CDF of convergence time. 0 0.2 0.4 0.6 0.8 1 0 1 2 3 4 5 6 7 8 Fraction of links with estimates convergence Convergence time (in units of probing intervals) Rs Rm C Figure 3.34: CDF of estimated steady-state convergence. 52 Convergence Time Figure 3.33 shows that most links converge within 15{20 probe intervals; with a 15 second probe timer, this corresponds to about 4.0 minutes. However, some links exhibit very long convergence times (up to 70 intervals). Our experiment measures startup convergence, since all the nodes are started roughly simultaneously. For CLDP, this is the worst case: when all links are simultaneously probed, link locking will delay convergence signicantly. This also explains why Rm and C show a qualitatively dierent behavior; the bottleneck links between clusters induce signicant probe contention. A more realistic measure of link convergence time is the time it takes for a single link to converge when the rest of the network is in steady state. Even for a moderate size network, we couldn't automate this experiment easily, so we estimate this interval. We obtained our estimated steady-state convergence time by counting only those CLDP probes that do not encounter locked links. By this measure, CLDP converges very fast (Figure 3.34); more than 99% of the links converge within 6 intervals in all three experiments. In addition, we also conducted an experiment where we started with a converged network, and manually disabled and then re-enabled an arbitrary link chosen from ten arbitrarily selected nodes. We then measured the time for CLDP to converge after each transition. After disabling a link, CLDP converged on average within 1.86 probing intervals; after enabling a link, CLDP converged on average within 0.59 probing intervals. x Overhead Finally, we quantify the overhead of CLDP from our measurements. The primary metric we study is the distribution of probing overhead on individual links. However, rather than merely count the number of CLDP probe messages on each link for the entire duration of the experiment, we compute the average number of messages on each link { per probing interval. x If a link is probed exactly once before it becomes dormant, that counts as a convergence time of zero. { Although we count the number of messages on a link, recall that in our implementation, each message on a \link" constitutes a radio broadcast. Interpreted thus, our measure of overhead indicates the number of data packets that CLDP probing displaces in our deployment. A more general measure, and one that we have not investigated since it depends on deployment density and other environmental factors, is the fraction of transmission capacity that CLDP probing overhead occupies. 53 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 2 4 6 8 10 12 Fraction of links with overhead <= x Overhead Rs Rm C Figure 3.35: CDF of overhead. Normalizing the overhead this way helps us compare dierent experiments whose convergence times are dierent. Figure 3.35 shows that the overhead of CLDP is quite low; even on the busiest link, CLDP incurs less than one packet per second (if we assume a probe interval of 15 seconds), and on most links the overhead is signicantly less. 3.4 Summary We have motivated, described, and evaluated CLDP, which, to our knowledge, is the rst dis- tributed planarization protocol that renders geographic routing correct on arbitrary graphs. Sim- ulations and measurements on real testbeds indicate that CLDP is quite practical: it oers high delivery rates, reasonable overhead, and fast convergence. 54 Chapter 4 Correctness: Face Routing 4.1 Problem Statements In this section, we consider two primitives used in face routing: face changes and the right-hand rule. We rst demonstrate by example that these primitives do not work correctly in realistic wireless networks where radio ranges are non-uniform and where links may be collinear. We then describe how to make these primitives robust in realistic wireless networks, and evaluate these proposed improvements. Figure 4.1: Points where a face change is performed. 55 4.1.1 Face-Change Rules Today's geographic routing protocols use one of four face-change rules, depicted in Figure 4.1: Best intersection (CompassII [26]): After a face is entirely toured using the right-hand rule, a face change occurs at the link whose crossing of SD is the closest such crossing toD on the current face. First intersection (GPSR, GFG): While walking a face using the right-hand rule, upon encountering a link that crosses the line segment SD at a point closer to D than the point at which the current face was entered, a face change occurs at that link. Closet-node other face routing (GOAFR+): After a face is entirely toured, a face change occurs at the node closest to D on the current face. Closest-point other face routing: After a face is entirely toured, a face change occurs at the closest point to D on the current face. 4.1.1.1 Incorrect Face Changes Under all four of these face-change rules, when a face is toured in its entirety without discovering a point for a face change, the traversal fails, and the packet is dropped. In a planar graph, this situation should only occur when the destination is disconnected. That is, if the destination is connected, the face-change rule must always nd a face closer to D than the current face along line segment SD. We term this requirement forward progress. We have found that in real wireless networks, the \rst intersection" and \closest-node other face routing" rules don't always work correctly; that is, there exist topologies on which they do not obey the forward progress requirement. We begin by illustrating these failures by example. Figure 4.2 shows an example of a case (on a topology with irregular radio ranges) where GPSR's rst-intersection rule causes a packet delivery failure. Node 1 sends a packet to node In Section 4.2 of [30], Kuhn et al. describe this rule. But in later work, they use closest-node face changes in GOAFR [30] and GOAFR+ [27], as they assume network topologies that are unit-disk graphs. 56 Figure 4.2: Failure of GPSR. 7, which is located beyond node 1's radio range. Face traversal starts at node 1 as it is a local minimum to node 7. By the right-hand rule, node 2 initially chooses node 4 as its next hop. But, as link (2,4) is intersected by line (1,7) andjA7j <j17j, node 2 performs a face change, records location(A) in the packet'sL f eld (which records the point at which the packet rst encountered a local minimum), and then forwards the packet to node 3. Thereafter, the traversal reaches node 4. Although link (4,2) intersects line (1,7), node 4 forwards the packet to node 2 asjA7j =jL f 7j. Next, by the right-hand rule, node 2 chooses node 3 as its next hop. At this point the traversal stops, as the choice of node 3 as the next hop completes a loop (2-3-4-2-3 . . . ). Thus, on this example topology, although a path to node 7 exists, GPSR's face change rule fails to nd it. We also encountered a counterexample topology that demonstrates a failure for GFG [2]'s face change rule, which follows a dierent rst intersection traversal than GPSR. We note further that there also exist corner-case connected unit-disk graphs on which GPSR's and GFG [2]'s rst-intersection rules fail to nd a route. Figure 4.3 shows how GOAFR+'s \closet-node other face routing" rule can fail in a network where radio ranges are irregular. Node 1 sends a packet to node 10. Face traversal is invoked at node 1, which has no neighbor closer to node 10 than itself. Although a face (1-2-3-4-5-6-7-1) is toured in its entirety, and a closer intersection to node 10 is detected, the face traversal doesn't encounter a node closer than node 1 to the destination|that is, it fails, even though paths to the destination exist. 57 Figure 4.3: Failure of GOAFR+. 4.1.1.2 Face Changes Before Crossing Whenever a face walk encounters a link (v i , v j ) which crosses line segment SD at point p, a face change is peformed at either one endpoint of the link (node v i ) or the other endpoint (node v j ). Consider Figure 4.4 and 4.5. A packet exploring face F 1 reaches node v whose next outgoing link crosses line segment st. Figure 4.4 (denoted as face changes before crossing) shows that node v performs a face change choosing node x as next-hop to enter new face F 2 . In contrast, Figure 4.5 (denoted as face changes after crossing) shows that the responsibility of a face change is transferred over node w. Instead of node v, node w performs a face change choosing next-hop node. As a result, the complete routing path according to "face changes before crossing" corresponds to svxt, and the path according to "face changes after crossing" corresponds to svwvxt. Most face routing algorithms such as CompassII, GPSR, GOAFR+, and GFG y use a face "before crossing". We have found that face routing using "face changes before crossing" does not always work correctly; that is, there exist topologies where they result in routing failures. Consider a face walk from node s to t in Figure 4.6. When a packet exploring face F 1 arrives at node v, node v notices that outgoing link (v,w) chosen by right-hand rule crosses line segment y Even if the version [2] known as GFG didn't explicitly describe either of which is used, gures in GFG [2] evidently illustrate that the well-known version changes a face before crossing. GFG [5] published later describes that it changes a face after crossing. We notice that GFG [5] is slightly dierent to a face walk shown in Figure 4.5 in that GFG [5] uses either right-hand rule or left-hand rule to explore each face. 58 Figure 4.4: Face changes before link-crossing. Figure 4.5: Face changes after link-crossing. Figure 4.6: Failure of face changes before crossing. Figure 4.7: Successful route by face changes after crossing. st at a point (p) where node w resides. In order to enter new faceF 2 , node v forwards the packet to node x according to "face changes before crossing". After entering into faceF 2 , the packet will follow a loop vxwv... without nding any intersection point which is located closer to t. By contrast, such a failure is not found in "face changes after crossing". In Figure 4.7, a packet from node s reaches successfully node t by walking along path vwvxyt. However, "face changes after crossing" has the relatively high number of hops in the path, as shown in Figure 4.5. We note that, applied with greedy routing, "face changes before crossing" does not result in the failure shown in Figure 4.6. As nodes w on line segment st is clearly closer to destination node t than source node s, node v forwards in greedy mode packets to node w and then packets reach destination node t by walking along path wxyt. 59 4.1.2 The Right-hand Rule and Collinear Links Collinear links occur, as the term suggests, when portions of two or more links fall exactly on top of one another z . Intuitively, such links present an ambiguity for the right-hand rule: If the right-hand rule identies more than one candidate next hop, which is chosen among them? Does the right-hand rule recognize an angle between two collinear links as 0 or 2? We will show later in this section that face traversal in the presence of these ambiguities can result in delivery failures. Under the unit-graph assumption, collinear links do not occur in a planarized network subgraph, as nodes at the endpoints of collinear links are suciently close to be connected to one another, and the planarization removes such regular collinear links. In real wireless networks, where the unit-graph assumption is routinely violated, however, there may exist irregular collinear links that cannot be removed by planarization. Figure 4.12 shows example topologies that contain regular and irregular collinear links. Planarization converts irregular collinear links into unidirectional links. For example, consider the upper right of Figure 4.8, in which node 3 holds inaccurate information concerning its own position. At node 2, the GG planarization removes link (2; 4), as node 3 is a witness for the link. However, at node 4, the GG planarization keeps link (4; 2), as node 4 can't see node 3. Thus, a unidirectional link occurs in the GG planarization, as shown in the lower-left of Figure 4.8. As described in Chapter 3, planarizing a topology robustly requires using either mutual witness (Section 3.1.2) or CLDP (Section 3.2). However, both of these techniques can produce collinear links, as shown in the lower-right of Figure 4.8. Let us now use examples to examine the ambiguity of the right-hand rule in the presence of collinear links in more detail. Suppose node 1 in the lower right of Figure 4.8 sends a packet to node 6. Face traversal for the packet begins at node 1, as node 1 is a local minimum with respect z Collinear links do occur in practice. They are often caused by the limited resolution of node coordinates. We observed one collinear link in our GPSR'GG/MWP experiments (Figure 3.10) on the Berkeley testbed. 60 Figure 4.8: Pathologies by collinear links. to node 6. When the traversal reaches node 2, which node should be the next hop, node 3 or node 4? If node 4 is chosen, the traversal can reach the destination via node 4. Suppose, however, that link (3,6) were added and link (5,6) were removed. In that case, forwarding via node 4 cannot reach the destination. Returning to the topology pictured in the lower right of Figure 4.8, if node 3 were chosen as the next hop, the traversal will return the packet to node 2, as node 3's only link is (3, 2). When the packet returns to node 2, another ambiguity rears its head: is the angle from link (2,3) to link (2,4) 0 or 2? If it is 2, node 1 is chosen as the next hop, in which case the traversal stops after looping back to node 1. If the angle is 0, node 4 is chosen as the next hop and the traversal can reach the destination. However, it is not always possible to consistently assume a choice of 0 for the angle between two collinear links. Suppose that link (6,5) does not exist, but other multi-hop paths between nodes 6 and 2 exist. In this case, the traversal can't reach the destination, as the packet will loop innitely along the path (2-4-5-4-2-3-2-4-5). 61 4.2 Robust Face Routing 4.2.1 Correct Face-Change Rules As long as the destination is connected, the two following rules always discover a link where a face change will be performed, since both these rules result in a complete tour of the face, and preserve the forward progress requirement. Using simulation, we conrm in Section 4.3 that geographic routing using these correct face change rules never fails. Best Intersection Face Changes : As proven in [28], best-intersection face changes must make progress toward the destination in a planar graph. That is, the best intersection rule for face change always nds a route to a connected destination, even if the network's topology violates the unit-disk assumption, so long as the topology is planar. Closest Point Face Changes [30] : Also, as proven in [30], the closest point rule for face change always nds a route to a connected destination. 4.2.1.1 Fix to Incorrect Face Changes First intersection face changes and adaptive face routing [28] [30] do not entirely tour a face to perform a face change. The property lets those rules change a face even if new face is not closer to destination (the violation of the forward progress requirement). Here is a context to solve the problem. In [28], Kuhn described a necessary condition to change a face: "... intersection point p divides (s,t) into two line segments where (p,t) is the not yet traversed part of (s,t). Update F to be the face which is incident to p and which is intersected by the line segment (p,t) in the immediate region of p.". In [30], he also described as follows: "... advance to the point p on F's boundary closest to t. Switch to the face containing (p,t) in p's environment ...". That is, a face change is able to be performed only if the condition is satised. In centralized systems which we can have global knowledge about networks, assuring to satisfy the condition is straightforward and, as a result, face change rules using the condition never fail. 62 Figure 4.9: Failure of Adaptive Face Routing. However, in distributed systems where acquiring global knowledge is impossible, it is hard to check if the condition is satised. Consider Figure 4.9 that shows an adaptive face walk from node s to t. While the face walk explores face F 1 , it hits twice the small eclipse boundary by the right-hand rule exploration and then by the left-hand rule exploration. Also, the face walk nds an intersection point p between a link and line segment (s,t). Later, when it revisits either end point node of the intersected link, we meet a problem. How can those nodes check if the condition to determine a face change is satised? No way to do so. Thus, the face walk can be entered into face F 2 after performing a face change at the intersection point p. As a result, exploring face F 2 makes a loop because it can not nd a point closer to destination t than the point p. In a recent paper [11], a distributed solution based on the well-known geometry property (Figure 4.10 and Figure 4.11) has been proposed and proven. Suppose that a link (v i ,v j ) crossed line segment (s,t). When a face walk arrives at the link, the cross product (t - v i ) x (v j - v i ) is computed to determine if a face change is performed or not. If the sign of this cross product is negative, a face change is performed. Otherwise, the face walk keeps on current exploring face. The solution using the cross product can be easily applied to GFG [2] x , GPSR, and GOAFR+. x The later version [5] of GFG already used a similar heuristic to avoid packet loops shown in Figure 4.2 63 Figure 4.10: (t - v i ) x (v j - v i ) > 0 Figure 4.11: (t - v i ) x (v j - v i ) < 0 Using simulation, we conrm in Section 4.3 that GPSR using the computation of the cross product works well in arbitrary graphs. 4.2.1.2 Face Changes Before Crossing Variant Although "face changes after crossing" described in Section 4.1.1.2 works correctly, the scheme exhibits the relatively high number of hops in a path. Because of the property, we propose a new scheme ("face changes before crossing variant") to achieve both correctness and performance. Consider a face walk that encounters a link (v i , v j ) which intersects line segment SD at point p. If the intersection point p is NOT on node v j , the node v i performs a face change choosing a next-hop node. Otherwise, the face walk visits node v j and then makes node v j execute a face change choosing a next-hop node. 4.2.2 Revised Right-Hand Rule To resolve the ambiguity caused by collinear links, we now introduce the concept of small pertur- bation of node positions. Suppose a node has multiple neighbors, the links to which are collinear, and that the set of all collinear links is L c . (1) Qualitatively, we perturb the coordinates of each neighbor so that the link l i to that neighbor is rotated counterclockwise from its initial (collinear) position. Each link is rotated a dierent amount, to eliminate collinearity of links. 64 B A N 2 3 1 B A N 2 3 1 [Example of small perturbation - Irregular collinear links] 2 1 3 1 N 1 B N 2 3 1 [Example of small perturbation - Regular collinear links] Perturbations in view of node 1: ε 12 < ε 13 … < ε 1N < θ 1A ε 12 ε 1N ε 13 Perturbations in view of node 1 : ε 12 < ε 13 … < ε 1N < θ 1B in view of node N: ε N1 > ε N2 … > ε NN-1 B 2 3 1 2 1 3 1 N 1 ε 12 ε 1N ε 13 3 N 2 N N 1 N ε N3 ε N2 ε N1 Figure 4.12: Examples of small perturbation. 65 (2) Quantitatively, the relative magnitudes of the rotations ( i ) of the links are determined by the relative magnitudes of the Euclidean lengths (jl i j) of the links. That is, the longer the link, the greater its rotation. In addition, a collinear link should be rotated an angle ( i ) less than the minimum angle ( min ) between the link's original site and any links to neighbors that are counterclockwise from the link's original site. That is,8i;j2L c ;i6=j,jl i j>jl j j, 0< j < i < min . Lemma 1. CLDP will not produce regular collinear links when run on a graph to which small perturbations have been applied. Proof. Consider n collinear nodes: node i , node i+1 , . . . , node i+n1 for n > 2, with node i+k be- tween node i+k1 and node i+k+1 for 0 < k < n 1; node i+k has n-1 links to all other collinear nodes. Suppose CLDP probes a link fromnode i+k tonode i+k+1 . When CLDP reachesnode i+k+1 , the right-hand rule selects node i+k1 as the next hop, since node i+k+1 has a link to node i+k1 and that small perturbation is the next link counter-clockwise. CLDP on node i+k+1 detects cross-links: (node i+k ,node i+k+1 ) and (node i+k+1 ,node i+k1 ). The CLDP probe nally returns to node i+k . Thereafter, CLDP removes the link (node i+k+1 ,node i+k1 ) from the routable sub- graph. That is, CLDP removes every 2-hop-long link overlapped by link (node i+k ,node i+k+1 ), including link (node i+2 ,node i ), link (node i+3 ,node i+1 ), . . . , link (node i+n1 ,node i+n3 ). Sub- sequently, when CLDP probes the link from node i+k to node i+k+1 , the protocol removes ev- ery 3-hop-long link overlapped by link (node i+k ,node i+k+1 ), including link (node i+3 ,node i ), link (node i+4 ,node i+1 ), . . . , link (node i+n1 ,node i+n4 ). Through repeated probing, CLDP continues to remove overlapped links. Finally, after n 2 CLDP probing repetitions, every link overlapped by link (node i+k ,node i+k+1 ) has been eliminated from the resulting subgraph. 66 Theorem 3. Face routing with small perturbations routes correctly in a subgraph produced by CLDP. Proof. Lemma 1 together with Theorem 4.2 in [20] prove that CLDP does not partition a con- nected graph; only leaves cross-links in a graph that do not cause face routing to fail; and removes regular collinear links from a graph. Also, it has been proven in [20] that face routing works correctly on a graph that contains no irregular collinear links. Hence, we prove that face routing works correctly on a graph containing irregular collinear links. Even though some irregular collinear links are left in a CLDP subgraph, small perturbation removes any collinear links in the subgraph, as those links are rotated so as not to be collinear. Hence, face traversal does not encounter ambiguities associated with collinear links. Practical Collinear Link Robustness Even though small perturbations eliminate collinearity, they are dicult to implement in practice, for reasons including the poor numerical stability of representing small i , &c. Thus, we instead present an alternative modication to the right-hand rule that clearly answers the two questions raised in Section 4.1.2. Suppose that during face traversal, a node with collinear links is reached. (1) If the traversal comes from link (l i ) among the set of collinear links L c , the right-hand rule treats each (l j ) among the collinear links as follows: If the Euclidean length (jl i j) of l i is shorter than the Euclidean length (jl j j) of l j , then the angle between these two links is interpreted as 0; otherwise, the angle is interpreted as 2. That is, (9l i 2L c )! (8l j 2L c , (i)\l i l j = 0 ifd li <d lj , (ii)\l i l j = 2 if d li >d lj ). (2) If some or all among the collinear links are next-hop candidates (C) for the right-hand rule, the link (l n ) with the shortest Euclidean length is chosen as the next hop. That is, l n = min li2C jl i j. 67 Theorem 4. Face routing using practical collinear link robustness is equivalent to face routing with small perturbations. Proof. First, we prove that small perturbation implies practical collinear link robustness (PCLR). Suppose face traversal reaches a node with collinear links. (I) Suppose the traversal arrives on a collinear link (l i 2L c ). The right-hand rule after small perturbation treats each collinear link (l j 2 L c ) as follows: l i is rotated from its original site by an angle of i and l j is rotated by j . Hence, the right-hand rule recognizes\l i l j as j i : if jl i j <jl j j,\l i l j = j i 0, since 0 < i < j ; ifjl i j >jl j j,\l i l j = 2 + ( j i ) 2, since 0< j < i . This result corresponds to the rst part of the denition of PCLR. (II) Suppose the traversal arrives on a non-collinear link l i . The right-hand rule after small perturbation treats each collinear link (l j 2 L c ) as follows: l j has been rotated from its original sitel j0 by an angle of j . Call the angle betweenl i andl j0 . Hence, the right-hand rule recognizes \l i l j as j :\l i l j0 = 2 + ( j ), since 0< j <. If a collinear link in L c is one of the set of next-hop candidates C, in both cases (I) and (II), a link whose j is the lowest among the candidates is chosen as the next-hop, as the right-hand rule by denition chooses a link that minimizes\l i l j . Suppose the chosen link is l n 2L c . The n of linkl n is the lowest among next-hop candidates C. Thus, the Euclidean length (jl n j) of linkl n is the least among next-hop candidatesC, according to the denition of small perturbation. This result corresponds to the second part of the denition of PCLR. Next, we prove that PCLR implies small perturbation. Suppose face traversal reaches a node with collinear links. PCLR discriminates among collinear links according to the Euclidean lengths of each link. This discrimination is qualitatively the same as small perturbation's rotation of collinear links according to their Euclidean length. We now show this equivalence quantitatively. If a collinear link is a next-hop candidate for the right-hand rule, for a packet arriving on link l i , the chosen next-hop is a link (l n ) whose length 68 is shortest among all candidates. That is,9l n 2 L c such that8l j 2 L c ;l n 6= l j ;jl n j <jl j j. This means that\l i l n <\l i l j . If the traversal arrives along a collinear link (l i 2L c ), then \l i l n = n i (4.1) and \l i l j = j i : (4.2) Thus, n < j , since\l i l n <\l i l j . If the traversal arrives along a non-collinear link and the angle between the ingress link and the collinear links is , then \l i l n = 2 + ( n ) (4.3) and \l i l j = 2 + ( j ): (4.4) Thus, ( j ) < 0 since 2 + ( j ) < 2. Also, n < j since\l i l n <\l i l j . As a result, n < j <, according to equations 4.1, 4.2, 4.3, and 4.4. 4.3 Simulation-based Evaluation of Face Routing To evaluate the correctness and performance of the enhancements we have proposed to the face change and right-hand rule algorithms, we use the simulation environment from [20]. We evaluate ve kinds of face-change rules under TOSSIM. FR-BI denotes face routing using face changes at the best intersection. FR-FI denotes face routing using face changes at the rst intersection. FR-FI* denotes face routing using face changes at the rst intersection that is xed by the cross- product mechanism described in Section 4.2.1.1. OFR denotes face routing using face changes at the closest node to the destination. OFR* denotes face routing using face changes at the closest point to the destination. Also, we compared the combination of greedy geographic routing with these four face-change rules. GFRB denotes greedy routing combined with FR-BI; note that this 69 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 8.8 7 5.7 4.7 Node density (no. obstacles = 200) Success Rate FR-BI,OFR*,FR-FI* FR-FI OFR Figure 4.13: Success rate of four kinds of face routing. Greedy Success Ratio 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 8.8 7 5.7 4.7 Node density (no. obstacles = 200) Success Rate 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 GFRB, GOFR*+, GPSR* GPSR GOFR+ Figure 4.14: Success rate of four kinds of face routing combined with greedy routing. combination has not been evaluated in the literature previously to our knowledge. GPSR denotes greedy routing combined with FR-FI. GPSR* denotes greedy routing combined with FR-FI*. GOFR+ denotes greedy routing combined with OFR; this algorithm is essentially GOAFR+ [27] with an innite boundary. GOFR*+ denotes GOFR+ using OFR* instead of OFR. In our simulations, we consider two performance measures: Success rate measures the fraction of sender/receiver pairs for which packet transmissions from the sender are successfully received. Average stretch measures the average path stretch across all sender/receiver pairs. The stretch of a path between two nodes is the ratio of the number of hops in the path to the number of 70 hops in the shortest path between those two nodes. In each simulation, we place nodes uniformly at random, and then run CLDP to generate a planar network subgraph. Next, we send packets pairwise bidirectionally between nodes. Each data point in the results we present is the mean across 50 randomly generated topologies, and we have veried that this is sucient to produce negligible 95% condence intervals for the mean values of our metrics. 4.3.1 Success Rate Figure 4.13 shows the packet delivery success rate as a function of node density for pure face routing protocols { (without greedy routing), in the presence of 200 randomly placed radio-opaque obstacles. k Our measure of node density is the average number of neighbors of a node. As expected, FR-BI and OFR* allow perfect delivery across all node densities we evaluated. Interestingly, the FR-FI algorithm oers poor success rates. By contrast, FR-FI* (the xed FR- FI) shows perfect success rates. At most densities, OFR establishes paths between 99.5% of node pairs, but not between all pairs of nodes. Figure 4.14 shows success rate as a function of node density for face routing protocols combined with greedy routing. As expected, GFRB, GOFR*+, and GPSR* always succeed, given that FR- BI, OFR*, and FR-FI* alone always succeed. GPSR achieves 100% success, despite the low success rate of FR-FI alone; greedy routing's early exit from perimeter mode seems to mask FR- FI's poor behavior. The success rate for GOFR+ is similar to that for OFR|that is, greedy routing does not appear to recover from the routing failures caused by OFR. 4.3.2 Average Stretch Figure 4.15 plots average path stretch as a function of node density for pure face routing protocols, in the presence of 200 obstacles. As expected, at most densities, FR-FI and FR-FI* exhibits lower { All evaluated protocols were updated to use "face changes before crossing variant" described in Section 4.2.1.2. k The obstacle model we use is identical to that used in [20]. 71 4.0 5.0 6.0 7.0 8.0 9.0 10.0 8.8 7 5.7 4.7 Node density (no. obstacles = 200) Average Stretch FR-BI OFR* FR-FI* FR-FI OFR Figure 4.15: Stretch of four kinds of face routing. 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 8.8 7 5.7 4.7 Node density (no. obstacles = 200) Average Stretch GFRB GOFR*+ GPSR* GPSR GOFR+ Figure 4.16: Stretch of four kinds of face routing combined with greedy routing. stretch than other alternatives that always tour each face in its entirety. However, at the lowest node densities, FR-FI exhibits the greatest stretch. By contrast, FR-FI* has slightly higher stretch than the rest of protocols. Figure 4.16 plots the average stretch as a function of node density for face routing protocols combined with greedy routing. Surprisingly, the stretches of GFRB and GOFR*+ approach that of GPSR, despite the longer stretches of pure FR-BI vs. pure FR-FI and of OFR* vs. pure FR-FI. Note that a signicant fraction of packets encounter perimeter forwarding, and cannot be delivered 72 using greedy forwarding alone; the \greedy ratio" curve in the gure shows (on the right y-axis) the fraction of packets delivered using only greedy-mode forwarding Interestingly, the stretch of all compared protocols is similar because of the fallback-to-greedy mechanism |that is, when a packet in perimeter mode visits a node closer to the destination than that at which it entered perimeter mode, it is returned to greedy mode. There are two previously proposed ways to do so, given a local minimum atm. GFRB and GPSR fall back to greedy mode at the rst node closer to the destination thanm. GOAFR+ considers falling back to greedy mode when considering a face change, and also after counters of nodes visited closer tom than the destination and closer to the destination thanm reach a particular ratio. 73 Chapter 5 Performance: Planarization 5.1 Problem Statements Much of the research on geographic routing has been devoted to nding techniques for planarizing graphs. Early work in the area proposed planarization techniques that were provably correct for unit-disk graphs. More recently, we proposed CLDP [20], a distributed planarization technique that they proved correct on arbitrary graphs. While the strong correctness of CLDP is attractive, its message complexity, hereafter referred to as overhead, is not. Motivated by CLDP's high overhead, Leong et al. [31] have examined an alternative to face routing, which involves creating and maintaining hull trees to guide packets around dead-ends. Their simulations have shown that this technique, GDSTR, incurs signicantly lower overhead than CLDP. In this chapter, we revisit face routing and signicantly improve its message eciency by reducing the overhead of planarization. In our approach, we dispense with the requirement that the graph must rst be planarized entirely. Instead, we initially employ a previously known approximate planarization, the mutual witness procedure [16, 17, 40], which is highly message- ecient and eliminates most, but not all, edge crossings in the graph. Thereafter, we planarize portions of the graph where any few crossings remain, but only when necessary. 74 We term this new approach incorporating the two above techniques Lazy Cross-Link Removal (LCR). LCR detects when a face walk returns to its starting point, or loops. As shown in [20], such a loop indicates the presence of crossing edges in the graph along the face where the loop occurred. When LCR detects a looped face walk, it probes the links on the oending face for crossings, in a manner similar to that in [20]; these probes search for crossings and remove them until greedy progress can once again be made. LCR incurs low overhead because it only roots out non-planarities when necessary, and does so using methods that incur trac local to the area in question. 5.2 Design of Lazy Cross-Link Removal (LCR) 5.2.1 Characterizing Loop-Inducing Cross-Links In this section, we rst state and prove a theorem about crossing links in wireless graphs. This theorem establishes the correctness of LCR's approach and provides context for our informal arguments about the frequency of LICLs in wireless graphs. We then present empirical results that illustrate why LCR incurs low overhead in wireless graphs. In the theoretical arguments presented below, we assume that full graphs have no degeneracies: no vertices are coincident, and no pairs of edges at a single node have the same incident bearing. Furthermore, for simplicity, we assume links are symmetric. We do not make these assumptions in our simulations. We use the following notation. The set of edges of a graph is denoted by E, and individual directed edges are denoted by e i , with e i denoting an edge in the opposite direction. Since we have assumed symmetrical links, e i 2 E) e i 2 E. The set of vertices is denoted by V , the starting point of an edge is given by s(e i )2 V , and the nishing point of an edge is given by f(e i )2 V . A path is a sequence of edges, e 1 ;e 2 ;::: such that s(e i+1 ) = f(e i ). For each graph dene a (perhaps empty) set of crossings C; each element of C is a pair of edges that intersect in A loop may also occur when no node is present at the destination location; we fully consider this case in Section 5.2.4. 75 e 1 e k Figure 5.1: Path containing only one crossing. the plane. We start with a general observation about crossings in connected graphs. A statement of this theorem appears in [20]. Theorem 5. If a connected graph G has at least one crossing, then there is at least one face that has a crossing. Proof. Consider a connected graph G that has at least one crossing; i.e., C is nonempty. Then there is some pair of crossed edges, call them e 1 ;e k , and a path between these crossed edges that we denote by e 1 ;e 2 ;:::e k . If there are any pairs of edges on this path that are in C, then we can choose that crossing instead (using the subset of the path between these two crossed edges). Repeating this, we nd a crossing and a path such that the path contains no other crossings. We then have a situation as in Figure 5.1. The portion of the path between the crossing point and around the series of edges back to the crossing point has a well-dened interior and exterior. Among all such congurations like that in Figure 5.1, we pick the one with the minimal area in the interior. We now start a face walk at edge e 1 (we can assume, without loss of generality, that the right-hand rule from e 1 points towards the interior of the path; if not, we start the walk at e k ). We know the face walk must eventually return tos(e 1 ). Thus, the face walk must eventually cross the path, because the points(e 1 ) is exterior to the path and the face walk is oriented inwards (so 76 L M J K N D S L M J K N D S Figure 5.2: Not all cross-links induce loops. any deviations from the path point inwards). If the face walk passes through edge e k , or crosses itself, we are done. If the face walk does not pass through e k and does not cross itself then it must (a) leave the path at some point, call it v, and (b) cross the path somewhere other than at e k (and farther along the path than v). Let e j denote the link that crosses the path, and e r be the link that it crosses. Then we have a new crossing pair, e j ;e r , with a path that is comprised of the old path from v to e r and the face walk from v to e j . This path outlines a strict subset of the area outlined by the previous path. This contradicts our minimality assumption. Thus, the face walk for this minimal area path must cross itself. The above theorem can be equivalently stated as: Theorem 6. Every connected nonplanar graph has at least one LICL. Thus, if all LICLs have been removed from the graph then the graph is planar. CLDP [20] starts by recursively removing all such LICLs (the recursive aspect is necessary because the elimination of one LICL can produce another). Thus, the above theorems (stated but not proved in [20]) establish the correctness of CLDP. In addition, they also prove the correctness of LCR, since it uses CLDP's probing procedure to lazily detect and remove cross-links. 77 L M J K N D S Figure 5.3: SLICL example and LCR example topology. LCR waits until a face walk loops before removing cross-links. If such LICLs are common, then this approach may not save much overhead, but if they are rare then it makes little sense to search the entire graph for such crossings even when no routing failure has been encountered. To understand why lazy cross-link removal can be eective, we rst show by example that not all cross-links induce packet loops. Consider the diagram on the left of Figure 5.2. In this diagram, the links (L;K) and (J;M) induce a loop when a packet is sent from S toD. However, no such packet loop exists in the diagram on the right, which merely adds a link from J to L! To get some intuition for the kinds of link-crossings that will cause loops, observe that in the diagram on the left, removing (L;K) and (J;M) partitions the graph; the same is not true for the diagram on the right. This intuition can be formalized for a certain class of LICLs, as we now show. We dene simple loop-inducing cross-links (SLICL) as a single pair of crossed links traversed during a walk of a single face. We then have: Theorem 7. Consider a SLICL and its associated face walk. Removing the SLICL (the pair of crossed links) and all other links that cross the associated face walk disconnects the graph. Proof. Consider, as depicted in Figure 5.3, a SLICL. When removing both links in the SLICL the two halves of the loop are disconnected. For the right-hand rule to produce this face walk, there can be no incident edges on the inside of one half and none on the outside of the other half. 78 L M J K N D S Greedy mode Perimeter mode Figure 5.4: Greedy-mode forwarding in, for example, GPSR can hide cross-links. Thus, any path that connects these two halves must cross some link in the path (either one of the crossed links, or some other link). However, all such crossing links have been removed. Intuitively, then, not all cross-links cause packet delivery failure. Indeed, a very special con- dition must hold in order for a cross-link to cause a loop: removal of both crossing links must partition the graph. Note that while we have proved this condition only for SLICLs, we have observed this condition to hold for many non-simple LICLs in our simulations as well. Taken together, these observations suggest that removing cross-links only when a packet loop is en- countered, as LCR does, can reduce overhead. Two other observations suggest why LCR can be expected to incur low overhead. First, previously proposed planarization techniques such as the GG and RNG, when combined with the MW extension, can remove many, but not all, of the cross-links in real radio graphs. Moreover, these methods are low overhead|they do not require face traversal. Thus, lazily removing cross-links in graphs to which one of these planarization methods has been applied, as LCR does, can be expected to incur low overhead. (As we argue in Section 5.2.3, applying these planarization methods can also reduce path stretch.) Furthermore, many geographic routing protocols use greedy forwarding, which can mask the existence of cross- links. In Figure 5.4, face routing from S to D without greedy forwarding would result in a loop because of cross-links (M;J) and (K;L). GPSR, however, would route from S toD successfully; 79 Type and number of graphs GG/MW RNG/MW 1360 graphs with N=2 obstacles 70 40 1360 graphs with N=4 obstacles 20 14 1360 graphs with N=8 obstacles 13 7 Table 5.1: LICLs in obstructed wireless graphs nodeM nds a neighborN closer toD thanS (the node at which perimeter mode was entered), and switches to greedy mode. Because greedy forwarding avoids the loops such cross-links would otherwise cause, and LCR lazily removes cross links only when a loop is actually encountered, one further expects LCR to incur low overhead. We can quantify how often packet loops are encountered when GPSR is used on wireless graphs to which GG/MW or RNG/MW has been applied. Consider Table 5.1, which shows the number of LICLs found in 1360 synthetic graphs of varying sizes, for varying numbers of obstacles. In this table, the notation \N=2 obstacles" means that a synthetic graph has been produced by randomly placingN=2 radio-opaque obstacles amongN nodes, according to a placement model described in Section 5.3. With the GG planarization and a large number of obstacles, only 70 LICL instances are found! RNG planarization results in fewer LICLs, and less obstructed graphs also exhibit proportionally fewer LICLs. These ndings empirically motivate LCR, whose design we present in the next section. LICLs. 5.2.2 The Basics Instead of proactively removing cross-links by planarization, LCR removes a LICL when a data packet loop is detected. To explain how LCR works, consider Figure 5.3. In this gure, we assume that packets are forwarded using GPSR (as described in Section 2); other face traversal strategies such as GOAFR [30] could also be used to lazily remove cross-links (see Section 5.3). When source S sends a packet to destination D, the packet enters perimeter mode (see Section 2) at S, then returns to S using the tour shown. The packet contains the identity of S, the node at which it 80 L M J K Figure 5.5: CLDP example topology. entered perimeter mode last. Using this eld in the packet, S detects that the packet has looped, and thereby infers the existence of at least one LICL in the graph. For now, we assume that this LICL is on the looped face; later we will consider the alternative case. In our example, the links (L;K) and (J;M) dene the LICL. In order to remove one of these cross-links, LCR triggers a CLDP [20] probe on all the links on the walked face. In the simplest implementation (we describe LCR in more detail below), S sends a control message forwarded on the walked face using the right-hand rule. This control message causes each visited node to trigger a CLDP probe on the link traversed by the message, in both directions. For completeness, we brie y review the CLDP probe procedure (we omit many of its details, for which we refer the reader to [20]). A CLDP probe on a link is a check to see if the link is crossed (in a geographic sense) by one or more other links. A probe initially contains the locations of the endpoints of the link being probed, and traverses the graph using the right-hand rule starting at the link. In Figure 5.5, consider a probe originated by node K for the link (K;L). It contains the geographic coordinates for K and L, and traverses the graph using the right-hand rule, as shown by the dashed arrows. When the probe is about to walk the edge (M;J), node M detects the crossing of (K;L). M then records this crossing in the probe so that when the probe returns to K, K \deletes" either the (K;L) link or the (M;J) link (after a message exchange with M 81 or with J). By symmetry, the cross-links would have been detected and removed by a probe of (L;K) originated by L or a probe of (M;J) originated either by M or J. Probing all the links on a looped face is guaranteed to nd the LICL (if it is on the looped face, as we have assumed for now) and remove one of the cross-links. CLDP's locking mechanism [20] ensures that concurrent probes do not remove more than one of the cross-links; we have omitted the details of CLDP locking for brevity. Once the LICL is removed by marking one of the cross- links (say, (J;M) in our example of Figure 5.3) as unusable (or non-routable in the terminology of [20]), subsequent packets from S to D will be correctly delivered. We now make two observations about LCR. First, LCR incurs overhead precisely when necessary|when a packet loop is detected between two nodes that wish to communicate. In practical settings, LICLs are rare and LCR can exhibit extremely low overhead, as we show in Section 5.3. Second, a single LICL may induce a packet loop between more than one source-destination pair. In Figure 5.3, a packet from J to D also loops. Removal of one of the cross-links when a packet loop is detected between S and D benets trac from J to D as well. 5.2.3 The Details Our description of the basics of LCR omits some details. We now discuss these. First, removing LICLs from an arbitrary graph ensures the correctness of face routing, but the performance of face routing may suer signicantly as a result of the \safe" cross-links left in the graph. Intuitively, these cross-links in ate the path between source and destination by forcing the packet on longer tours than necessary. For example, in Figure 5.6, the graph on the left contains a safe cross-link. The path between the source and destination is 10 hops. Removing this cross-link (as in the graph on the right) cuts the path length between source and destination in half. 82 L M J K N D S L M J K N D S Figure 5.6: Leaving \safe" cross-links in the graph can in ate paths. In order to reduce stretch and eliminate as many LICLs as possible at low message cost, LCR uses the Gabriel Graph and Mutual Witness (GG/MW) techniques to proactively remove cross- links (safe or unsafe) wherever possible. As mentioned in Section 2, GG/MW is known to leave cross-links in the graph [20] when radio connectivity does not conform to the unit disk assump- tion. However, we have found that using GG/MW eliminates almost all LICLs in simulated and real wireless topologies. In addition, GG/MW does not add appreciable overhead. Information required for the GG can be obtained from neighbor beacon messages that are necessary for LCR to discover neighbors. The only additional overhead comes from MW; for MW to work correctly, each neighbor must include its neighbor list in the beacon. Second, our description of LCR must be modied slightly to account for network dynamics. Consider Figure 5.3, and suppose that after the removal of (J;M), the link (L;K) fails (for example, it is obstructed). This change leaves the network partitioned. LCR deals with deleted links as follows. When a node detects that a link to a neighbor has failed, the node takes no action if the failed link was not in the planar subgraph. Otherwise, the node initiates a special probe on the face containing the failed link. Mechanistically, this process involves sending a packet along the rst counter-clockwise link from the failed link, and forwarding the packet using the right-hand rule. At every node visited during this traversal, the probe message \awakens" (adds 83 C S B A D Figure 5.7: Extended topology in which LCR must probe nearly every face. to the planar sub-graph) all attached links that were previously removed by GG/MW or LCR, and then runs CLDP on each link to eliminate cross-links. Thus, in our example, when K notices that the link (L;K) has failed, it sends a probe message towardsJ which awakens the link (J;M), thereby restoring connectivity. Third, and perhaps most important, to remove a LICL it might be necessary to probe not just the links on the looped face, but also links on adjacent faces. Consider the topology shown in Figure 5.7. When S sends a packet to D, the packet loops the face shown and returns to S. Notice that this looped walk does not contain any cross-links; thus, the LICL is not detected by this walk. Now, it is easy to determine whether or not the looped walk contains a cross-link. A looped walk without cross-links would traverse the inside or outside face of a simple polygon. LCR data packets accumulate the number n of links traversed during a walk, and the sum of the angles turned between successive links in the walk. If the looped walk traverses the face of a simple polygon, then is equal to (n 2) or (n + 2). When LCR detects that a looped walk does not contain a cross-link, it does not initiate CLDP probes on the face's links. Rather, LCR initiates a recursive search on the adjacent faces for the 84 cross-link. The recursive search procedure works as follows. Each data packet carries, in addition to a destination location, a level indicator. Initially, this level indicator is set to zero. Suppose that a packet sent from a source to a destination loops, and that this loop traverses a simple polygon (and so does not contain a cross-link). In Figure 5.7, when S sends a packet to D, the packet walks the face as shown by the solid arrows, and S can detect that this face does not contain a cross-link using the technique described above. Next, the source increases the level indicator to 1, and re-sends the packet to the destination. When a node receives a packet on link x with a non-zero level indicator, it forwards the packet as usual using the right-hand rule along (say) link y, but also forwards a copy of the packet on every outgoing link except x and y after decrementing the level indicator. The dotted arrows in Figure 5.7 show the additional copies of packets sent by each of the nodes S, A, B, and C (for simplicity, the gure does not show the complete walks taken by those packets). In turn, each packet might loop around a simple polygon, or encounter a link crossing, or reach the destination. If the packet loops around a simple polygon, LCR recursively applies this procedure. If a packet encounters a crossing, LCR removes that cross-link, and then noties the source. If the packet reaches the destination, the destination wakes up all links on the face containing the incoming link, detecting and removing one or more cross links (as is the case in our example in Figure 5.7). The destination then noties the source. After a liberal timeout, if the source does not get any response, it increments the level indicator and sends another packet to the destination. This recursive search procedure can, in the worst-case, incur overhead comparable to CLDP [20]. However, notice that our example in Figure 5.7 shows a very contrived topology. In our simula- tions on real-world wireless topologies, heavily obstructed wireless graphs, those with signicant 85 location error, and even on random graphs, we have never found the need to recurse more than one level to make progress towards the destination. 5.2.4 Routing to Arbitrary Locations Geographic routing protocols that rely on graph planarization have an important property. Con- sider a face walk using GPSR on a graph planarized by CLDP. If this face walk loops, two facts can be inferred: rst, that the destination is not a node in the graph; second, that the node at which perimeter mode was invoked is closest to the destination. Many of the data-centric storage schemes described in the literature use this property [38]. LCR does not preserve this property. Intuitively, LCR uses packet loops to detect link crossings and therefore cannot disambiguate between a cross-link and a destination not in the graph. Even though it is ecient to detect whether a looped walk contains a cross-link using a CLDP probe, it can be more costly to determine whether this looped walk was caused by a cross-link or a destination not in the graph, as the example in Figure 5.7 illustrates. Thus, LCR is not ecient for data centric storage, but does provide highly scalable, low overhead any-to-any routing. Furthermore, LCR inherits CLDP's robustness properties, since it does not rely on the unit disk assumption for correctness. When used for any-to-any routing, LCR must be complemented with a location service. In static networks, a robust location service can be easily implemented by using a small number of directory nodes in the network to periodically advertise their locations and collect and maintain node locations and mappings. Nodes would query the nearest directory node to resolve node locations. More scalable schemes are also, of course, possible. In dynamic networks, a location scheme such as GLS [33] would work well. In such networks, LCR would need to be amended slightly to ensure that a packet loop is not caused by a stale destination address; a node that detects a packet loop must rst ensure that it has an up-to-date destination address before invoking cross-link removal. 86 5.3 Evaluation of Lazy Cross-Link Removal (LCR) In this section, we compare the performance of LCR with that of other alternatives in simulation on both synthetically generated and real-world, empirically measured wireless topologies. We also measure LCR's performance in deployment on a real wireless sensornet testbed. 5.3.1 Methodology and Metrics We compare LCR against two other alternatives, CLDP [20] and GDSTR [31]. We have described the former in Section 5.2, and the latter in Section 2. We have implemented LCR in TinyOS [15], the event-driven operating system used on the Mica-Z and TelosB motes. Figure 5.8 is a schematic describing the structure of our full- edged nesC implementation of LCR. Our LCR code also runs on TOSSIM, which we use for our simulation results. We also use our TinyOS CLDP implementation for our simulations. Both LCR and CLDP use GOAFR [30] for greedy routing and face routing, since this protocol is known to exhibit lower average- and worst-case path length than other face routing schemes proposed in the literature. Of course, both LCR and CLDP work unmodied with other face routing techniques such as GPSR. Finally, we use the simulator from [31] for evaluating the performance of GDSTR. In our baseline simulations, we use a 400-node topology in which nodes are randomly positioned on a xed-size two-dimensional surface. We scale the area of the surface in order to vary node density; for the highest density we use an area of 1500 x 1500 units, while for the lowest, we use an area of 3000 x 3000 units. Our measure of density is the average number of neighbors of a node. We also examine the eect of network size by considering topologies ranging in size from 100 nodes to 1000 nodes. All data points are averaged over 40 experiments. We simulate two types of networks. First, we generate wireless topologies using an idealized radio model with circular radio ranges (of 200 units) but with varying numbers of obstacles; we have generated graphs withN=2,N=4 andN=8 obstacles, whereN is the number of nodes. Each 87 Figure 5.8: LCR implementation on TinyOS. obstacle is of xed length (40 units) in each of our simulations. The midpoint of the obstacle is randomly positioned on the two-dimensional surface, and the orientation of the obstacle is equally likely to be either vertical or horizontal. While our radio model deviates from reality, the rather large number of obstacles we use generates graphs that arguably approximate highly obstructed environments. Our obstacle graphs have densities varying from 4.9 to 15.8. Second, we generate wireless topologies by perturbing node coordinates randomly by up to 30% of the radio range. In this case, we obtain location error graphs whose densities vary from 5.2 to 19.8. We use two measures of performance. Overhead measures the average number of control messages sent or forwarded by a node. Average stretch measures the average of path stretch for all sender/receiver pairs. The stretch of a path is the ratio of the number of hops using the routing scheme in question to the number of hops in the shortest path. We do not simulate packet losses due to interference or buer overrun in either phase. Thus, our measurement of overhead is idealized, but since the GDSTR simulator does not simulate packet drops, this methodology provides a fair comparison. For each simulation we rst generate a network topology. We then ensure that the topology is connected. For GDSTR, we feed the topology into the simulator and use the results generated 88 thereby. For CLDP, we do the same, extract the resulting planarized graph, and compute the stretch metric o-line using a standalone program in order to reduce simulation running time. We use a similar optimization for simulating LCR. Since LCR is triggered by data trac, and because running pairwise probes between all pairs of nodes in a large topology is time-consuming, we perform the following actions in a standalone program we developed: Run GG/MW on the topology. Between each pair of nodes, compute the path that face routing would have taken. If a packet loops, mark that pair. At the end of this step, we invoke TOSSIM, and send trac between these marked pairs alone, thus triggering LCR's lazy cross-link removal. We compute stretch statistics for the resulting topology oine, as for CLDP. 5.3.2 Simulation Results In this section, we discuss simulation results obtained from running LCR using TOSSIM's support for packet-level simulation. We rst measure the overhead of the three protocols, starting from a static network (we consider dynamics below). Recall that our denition of overhead is the average number of protocol control messages transmitted or forwarded by a node. For CLDP, overhead measures the messaging cost of planarization, and for GDSTR, the messaging cost of computing hull trees. For LCR, the overhead is the control messaging cost incurred during removal of all the LICLs in the graph; we detect LICLs by sending data packets between all pairs of nodes, but we do not count the cost of the data messages. Figure 5.9 shows the overhead of the three protocols as a function of network density. The y-axis is on a logarithmic scale. LCR exhibits 2, sometimes 3, orders of magnitude lower overhead than GDSTR, and 3-4 orders of magnitude lower overhead than CLDP. (This overhead does not count the messaging cost of neighbor beacons; all protocols incur this cost). This dierence is 89 0.001 0.01 0.1 1 10 100 1000 10000 6 8 10 12 14 16 Messages sent per node (logscale) Average Node Density LCR CLDP GDSTR Figure 5.9: Overhead for N=2 obstacle graphs, 400 nodes. 0.001 0.01 0.1 1 10 100 1000 10000 6 8 10 12 14 16 18 20 Messages sent per node (logscale) Average Node Density LCR CLDP GDSTR Figure 5.10: Overhead for 30% location error, 400 nodes. 90 remarkable, and is consistent with our earlier claims: lazy-removal of cross-links can dramatically reduce messaging overhead. Even in highly obstructed scenarios, the messaging overhead required for ensuring loop-free geographic routing can be as low as 0.001 messages per node. This overhead is particularly important in domains where messaging cost is a signicant issue, such as in sensor networks. Finally, the apparent variation in the plot for LCR overhead is an artifact of the logarithmic scale on the y-axis; each data point is an average over 40 dierent topologies. The overhead disparity between LCR and the other protocols widens in location error graphs, as shown in Figure 5.10. In these graphs, at high enough density, LCR incurs zero overhead. Even across many network sizes, this disparity persists. Figure 5.11 plots the overhead as a function of network size on graphs with N=2 obstacles. Messaging overhead per node is relatively insensitive to network size, and LCR still incurs 2 orders of magnitude less overhead than GDSTR, and 3 less than CLDP. Finally, LCR's overhead decreases in less heavily obstructed graphs. As Figure 5.12 demon- strates, LCR exhibits almost negligible overhead in graphs with N=8 obstacles. (In this gure, we have omitted the curves for CLDP and GDSTR for clarity; we have veried that those curves are qualitatively similar to those in Figure 5.9.) However, perhaps a fairer overhead comparison for all protocols is the overhead incurred during network dynamics. To evaluate the protocols by this metric, we simulated a 400-node topology to which we added 80 nodes, one at a time. After each addition, we measured the overhead incurred by the corresponding protocol (for LCR, after each node addition, we sent data packets pairwise between nodes to determine LICL removal overhead). We then removed 80 nodes, one at a time, repeating the same steps as above after each node deletion. We show the overhead measurements from these experiments in Figure 5.16, wherein each data point represents an average over 30 topologies. Again, LCR's overhead is nearly 3 orders of magnitude less than that of GDSTR, and 4 orders less than that of CLDP. 91 0.01 0.1 1 10 100 1000 100 200 300 400 500 600 700 800 900 1000 Messages sent per node (logscale) Network Size (8.1 node density) LCR CLDP GDSTR Figure 5.11: Overhead as a function of network size, N=2 obstacles, density 8.1. 0 0.1 0.2 0.3 0.4 0.5 5 6 7 8 9 10 11 12 Messages sent per node Average Node Density LCR on N/2 obstacles LCR on N/4 obstacles LCR on N/8 obstacles Figure 5.12: Overhead for N=2, N=4, and N=8 obstacles, 400 nodes. 92 0 1 2 3 4 5 6 6 8 10 12 14 16 0 0.2 0.4 0.6 0.8 1 Average Hop Stretch Average Node Density GreedySuccessRate GDSTR GOAFR/CLDP GOAFR/LCR Figure 5.13: Stretch, N=2 obstacles, 400 nodes. 0 1 2 3 4 5 6 6 8 10 12 14 16 18 20 0 0.2 0.4 0.6 0.8 1 Average Hop Stretch Average Node Density GreedySuccessRate GDSTR GOAFR/CLDP GOAFR/LCR Figure 5.14: Stretch, 30% location error, 400 nodes. 93 Figure 5.15: CDF of stretch, N=2 obstacles, 400 nodes. This dramatic overhead improvement is somewhat oset by a well-known shortcoming of geo- graphic face routing|longer stretch at low densities. As Figure 5.13 shows, both LCR and CLDP exhibit high stretch in a highly obstructed environment, at densities below 8. A qualitatively similar behavior is found in graphs with location errors, as shown in Figure 5.14. By contrast, GDSTR shows low path stretch throughout; its hull trees are able to route packets eciently, even when greedy routing fails often. This high average stretch is exhibited by all face routing techniques (not just LCR) since these techniques route packets entirely based on local information. By contrast, GDSTR builds global routing structures (hulls) that are able to route around voids more eciently. Localized routing can result in some face walks traversing the outer perimeter of the network and thereby incurring high stretch. Figure 5.15 shows the distribution of stretch values at dierent densities. For example, at a density of 6.9, nearly 80% of node pairs incur a stretch of less than 2, but a few node pairs incur a stretch of up to 100. 94 0.01 0.1 1 10 100 1000 5 6 7 8 9 10 Messages sent per node (logscale) Average Node Density LCR CLDP GDSTR Figure 5.16: Overhead for a dynamic network, N=2 obstacles, 400 nodes, with 80 node additions, and 80 node removals. 5.3.3 Real-world Performance Finally, we evaluate the performance of LCR and CLDP on a large sensor network testbed running TelosB motes and deployed above the false ceiling of an oce oor. In our experiments, we statically congured nodes with their locations. We ran these two protocols on three sets of nodes: set A contains 49 nodes, set B contains a dierent group of 49 nodes, and set C contains 56 nodes. In each set we obtained two topologies, one by setting the node transmit power to 3, and the other to 5. In each topology, our protocols discarded links with packet loss rates of more than 80%. Table 5.2 shows the overhead and stretch for LCR and CLDP. For comparison, we also include the corresponding numbers for GDSTR; these numbers were derived by simulating GDSTR on the corresponding topologies. Notice that in real-world networks, LCR exhibits low stretch (less than 1.7) and zero overhead for most of the graphs. There is one graph for which, interestingly enough, 95 Graph Density LCR CLDP GDSTR LCR CLDP GDSTR overhead overhead overhead stretch stretch stretch A3 7.2653 12.163 327.683673 7.2499 1.612432 1.46892 1.20085 A5 10.3673 0.0 813.244898 6.6326 1.451787 1.35241 1.16875 B3 6.7659 0.0 243.551136 7.2340 1.659017 1.74450 1.20200 B5 10.2857 0.0 429.897959 7.9795 1.404640 1.38107 1.13580 C3 7.4285 0.0 413.118182 7.4464 1.756371 1.55194 1.20026 C5 11.8214 0.0 567.526786 8.3928 1.790897 1.83008 1.26538 Table 5.2: Performance on real wireless graphs. LCR exhibits overhead comparable to GDSTR! This graph has an incredibly pathological packet loop that triggers many probes, as shown in Figure 5.17. Our LCR implementation is robust enough to detect this pathology and correct it. We should also add that this graph is the only real-world graph we have found that exhibits even one LICL (we have experimented with many tens of graphs, but do not include these qualitatively similar results here). 5.3.4 Summary In this chapter, we have described the design of LCR, a mechanism for lazy cross-link removal for geographic routing in wireless and sensor networks. LCR exhibits two to three orders of magnitude lower overhead than alternative geographic routing mechanisms and works correctly even in highly obstructed environments, making it highly suitable for any-to-any routing in dense wireless sensor networks. 96 Figure 5.17: Pathological LICL from a real-world graph: looped walk is shown. For clarity, we have removed the other testbed nodes from this picture. 97 Chapter 6 Performance: Face Routing Early geographic routing protocols relied on the unit-disk graph assumption for correctness. More recent work has designed correct geographic face routing techniques in arbitrary network graphs. In this chapter, we explore the performance of geographic face routing algorithms on arbitrary network graphs. First, we discuss worst-case bounds on the performance of geographic face routing for path length and stretch. Our main result here is that some geographic face routing algorithms which exhibitO(N) path length or stretch under the unit disk graph assumption can haveO(N 2 ) performance for arbitrary graphs. Then, we describe the design of an adaptive face routing protocol that guarantees a worst-case path length of O(N) and achieves average case eciency by maintaining minimal state at local minima. In fact, our Intelligent Face Routing proposal has the best known average stretch among all planarization-based geographic routing techniques. 6.1 Problem Statements Geographic routing algorithms are an attractive option for wireless ad-hoc networks since their node state scales in proportion to the number of neighbors, not network size. These algorithms have also been proposed for use as a routing primitive for sensor networks, and as building blocks for data storage and exible query processing in sensor networks. In many of these algorithms, nodes greedily forward packets to the neighbor closest to the destination. This greedy forwarding 98 fails at local minima: nodes where no neighbor is geographically closer to the destination. To circumvent these \voids", these algorithms use face routing on a planar sub-graph extracted from the underlying connectivity graph. To compute the planar subgraph, these algorithms use planarization techniques that are amenable to distributed implementation. Face routing uses two primitives to successively traverse the faces of the planar subgraph: 1) it explores a face using either the right-hand rule or the left-hand rule; 2) it uses a face-change rule to traverse the series of faces cut by an imaginary line segment from the source to the destination. Many face routing algorithms have been proposed in the literature. Early work (Section 2) in this area assumed that the connectivity between nodes could be described by unit disk graphs. Under this assumption, it is possible to design elegant planarization algorithms by which a node can locally determine whether a link to a neighbor belongs to the planar subgraph or not. In such graphs, a node is always connected to all nodes within its xed, \nominal" radio range, and is never connected to nodes outside this range. However, it is by now well established that wireless radios do not conform to the unit disk graph assumption. Specically, radio-opaque obstacles and multi-path cause non-uniform radio ranges [21, 44]. Networks can result in imprecise node location, which in turn violates the unit-disk graph assumption [40, 21]. Motivated by this, researchers have examined geographic routing in arbitrary network graphs [20, 11]. One approach, exemplied by [20], designs a new planarization technique that produces a planar graph by probing a face and proactively removing crossing links. On this planar graph, many of the previously proposed face routing algorithms can be directly applied. But, the perfor- mance characteristics of these algorithms, when applied to arbitrary network graphs, will dier from the performance bounds established for unit disk graphs. In this paper, we rst explore the eciency of various face routing proposals on arbitrary network graphs (Section 6.2). Specically, we establish worst-case bounds on the performance of dierent face routing proposals. Those proposals that deterministically apply the right-hand rule or the left hand rule to explore a face exhibitO(N) stretch, whereN is the total number of nodes 99 in a network graph. The \rst intersection" face-change rule (which switches to and adjacent face as soon as the imaginary line between the source and the destination is encountered) used by GPSR and GFG can have O(N 2 ) path length. Adaptively using both the right-hand rule and the left-hand rule to explore a face, as in GOAFR+, has a worst-case path length that is superlinear in N. On unit disk graphs, interestingly, the worst-case path length depends only on the length of the optimal path. Finally, the immediate fallback-to-greedy strategy (where greedy routing resumes as soon as a node closer to the destination than the most recent local minimum is reached, as in GPSR, GFG and GOAFR [30]), can result O(N 2 ) path length. We then propose a new face routing technique, called intelligent face routing (IFR), that has two components (Section 6.3). First, it uses constant per packet state in order to guaranteeO(N) path length even when the rst-intersection face change rule is invoked. Second, it maintains minimal state at local minima to adaptively determine whether to use the right hand rule or the left-hand rule. This results in an average case ecient stretch performance. Thus, IFR achieves worst-case optimal path length and average case stretch eciency. Simulations show that IFR outperforms all previously proposed face routing algorithms, and is comparable in performance to a geographic routing algorithm without using planarization [31]. 6.2 PerformanceBoundsonFaceRoutinginArbitraryGraphs In this section, we examine the worst-case performance of face routing algorithms in arbitrary graphs. We are interested in two measures of performance: path length is the number of hops in the path between two nodes; stretch is the ratio of path length between two node to the number of hops in the shortest path in the underlying connectivity graph between those nodes. We use the following notation in this paper. Let k be the total number of face-changes performed during routing destination t, and N be the total number of nodes in the network. A 100 Complete Partial Deterministic CompassII, OFR GPSR, GFG Adaptive OAFR GOAFR/GOAFR+ Table 6.1: Taxonomy of face routing protocols Unit-Disk Graphs Arbitrary Graphs path length stretch path length stretch Deterministic, full face O(N) O(l log l N ) O(N) O(l log l N ) Deterministic, partial face O(N 2 ) O(l log l N ) O(N 2 ) O(l log l N ) Adaptive, full face O(NlogN) O(l) O(N 1+ ) unknown Adaptive, partial face O(NlogN) O(l) O(N 2 ) unknown Table 6.2: Summary of results. In this table,l represents the number of hops in the shortest path, and = 1 c+1 1. path can be decomposed into sub-pathsfs 0 ;s 1 ;:::;s k g, wheres i is a set of edges traversed on the i-th face f i visited. i denotes the number of edges of sub-path s i . Our exploration of the performance bounds for face routing uses the following taxonomy of face routing algorithms (Table 6.1). We classify face routing algorithms along two axes. First, some face routing algorithms make a deterministic choice of right- or left-hand rule in order to walk a face, while adaptive face routing algorithms dynamically decide which rule to use on a per-packet, per-face basis. Second, some face routing algorithms walk the complete face before doing a face change (i.e., s i includes all the edges on the face f i ), while others only perform a partial face-walk before doing a face change (e.g., they switch to the next face if they encounter an edge that intersects the line segment st. Table 6.1 lists the face routing algorithms that fall into each class. In what follows, we discuss performance bounds for algorithms from dierent quadrants in this space. Table 6.2 summarizes the bounds that we present in this paper; for context, we also include the corresponding bounds obtained under the unit-disk assumption. 6.2.1 Deterministic Face Routing Algorithms We start by proving a path length bound for any deterministic face routing algorithm: Lemma 2. Any deterministic face routing algorithm incurs a path length of O(N 2 ) hops. 101 Figure 6.1: Face routing deterministically touring a graph consisting of N nodes. Proof. The total number of hops in a path is the sum of i for alli. Then, = k X i (k+1) m where m denotes the number of hops in the longest sub-path. In the worst case, k is bounded by the number of edgesjEj, since each edge can be crossed by line segmentst, and a face change must be performed at each edge that crosses this line segment. Accordingly, (jEj+1) m . However, recall that face routing works on a planar graph. Euler's formula states thatjEj is proportional to N in a planar graph. Thus, O(N m ). Since m can't exceed N, is O(N 2 ). Interestingly, this bound is asymptotically tight for algorithms that perform partial face walks, not for algorithms that perform complete face walks. Lemma 3. Deterministic face routing algorithms that completely explore a face exhibit O(N) path length as well as O(N) path stretch. Proof. In algorithms such as Compass-II [26] which completely explore a face before doing a face change, each face cut by line segmentst is traversed at most once (a complete face traversal enables these algorithms to nd the best intersecting edge at which to make a face change). Moreover, each edge is traversed at most twice (once during the face walk, and once again to reach the best intersection). Thus, path length satises, in the worst case, 2jEj. Again, by Euler's theorem, is O(N). We now show by example that such algorithms can exhibitO(N) stretch. In the left subgure of Figure 6.1, a clockwise path to destination t using the right-hand rule is of length N 2. By comparison, a counter-clockwise path using the left-hand rule is 2 hops long. Figure 6.1 shows 102 Figure 6.2: A pathological behavior of face routing algorithm used by GPSR. an example where the left-hand rule could result in N 2 path length, while the right hand rule would use 2 hops. Given that is impossible in this algorithms to determine a priori which rule to use, path stretch can be O(N) (since path length is O(N) and shortest paths can be constant, as our examples show. While deterministic face routing algorithms that perform complete face walks can have good worst case performance, their average case performance can be quite poor. Algorithms that walk a face partially and change face [2, 18] after encountering a \rst intersection" (a point on an edge that intersects st closer to the destination than the previous point at which a face change was performed) can have good average case performance. However, this comes at the cost of poor worst case performance (Figure 6.2). We rst note that the worst-case bound of face routing path is determined by whether a crucial property is satised. Theorem 8. Face routing algorithms that only partially explore a face exhibit O(N 2 ) path length in the worst case. Proof. In these algorithms, some sub-paths can overlap with others such thats i T s j 6=; fori6=j. Intuitively, because these algorithms do not completely explore a face, they may have to rewind their face walks beyond the point at which the previous face change occurred. In the worst case, each sub-path s i overlaps completely with s i+1 . for 0 i < k. Figure 6.2 shows an example of such a face walk. Here, simple algebra shows that in such a case, N 2 ( 0 1) + N 2 4 , or O(N 2 ). Thus, the bound proven in Lemma 2 is asymptotically tight for this class of face routing algorithms. 103 6.2.2 Adaptively exploring a face To alleviate O(N) stretch (Lemma 3) of deterministic face routing, researchers [30, 27] have proposed adaptive face routing. In this technique, both the left- and right-hand rules are applied, but the face walk is constrained to being within an elliptical or circular boundary (Figure 6.3). When either face walk fails to nd a closer point to the destination t, the boundary is increased such that the area within the boundary is doubled (for simplicity, we say the boundary doubles), and the process repeated. As proven in [30], the adaptive scheme is guaranteed to reach t inO(l 2 ) hops in unit disk graphs, wherel be the number of hops in the shortest path to t. In this section, we explore the path length bound for adaptive face routing in arbitrary graphs. First, we state and prove the following lemma: Lemma 4. Let k be the number of times the boundary is doubled during adaptive face routing, andjEj be the total number of edges. Then, the number of hops in the worst-case adaptive path is: 1 2 (3k + 1)jEj. Proof. Consider the right subgure of Figure 6.3 in which the number of hops in the shortest path ofst isjEj. Whenever the boundary is doubled, some number of additional edges will be enclosed within the new boundary. Let the number of newly enclosed edges in the i-th step be i . So, the total number of newly enclosed edges until the last increasing step k is expressed as = k X i=1 i . Here =jEj since the nal boundary can enclose all edges (right subgure of Figure 6.3). Denote by i the number of hops in an adaptive sub-path within the i-th boundary. 1 = 2 1 as 1 edges within the initial boundary are each explored using the right-hand rule and the left- hand rule. By the same token, 2 = 2( 1 + 2 ) and, more generally, i = 2 i X j=1 j . Thus, the path length of in adaptive face routing is given by: = k X i=1 i = 2 k X i=1 i X j=1 j = 1 2 (3k + 1) k X i=1 i . Using the fact that = jEj, we get = 1 2 (3k + 1)jEj for k 1. Using this lemma, we can prove the following lemma: 104 Figure 6.3: Behaviors of adaptive face routing such as OAFR and GOAFR+. Lemma 5. In arbitrary graphs, the path length in adaptive face routing is O(N 1+ ), where 0< 1. Proof. In the unit-disk model, i increases exponentially with i: intuitively, if the underlying graph is fully connected and conforms to the unit-disk model, then doubling the boundary doubles (on average) the number of edges considered and the path length. The O(N) path length bound proved in prior work relies on this observation. In an arbitrary graph, in general, i may not be exponential ini. Consider the right subgure of Figure 6.3, in which, althoughs andt are near each other, they cannot hear each other. In this topology, i /i c for a non-negative constantc. Using = jEj and Faulhaber's formula (stating the general formula for the power sum of the rst k positive integers),jEj = k X i=1 i = k X i=1 O(i c ) =O(k c+1 ). That is, k =O( c+1 p jEj). According to Lemma 4 and Euler's formula, for adaptive path routing is O(N 1+ ) for = 1 c+1 1. 6.2.3 Summary and Implications On arbitrary graphs, deterministic face routing algorithms that completely traverse a face show linear worst case path length, but O(N) stretch and poor average case performance. Those that only partially traverse a face have good average case performance, but O(N 2 ) worst case perfor- mance. Adaptive face routing algorithms avoid O(N) stretch, but have O(N 1+ ) path lengths. To our knowledge, on arbitrary graphs there exists no known geographic routing mechanism that exhibits O(N) path length and good average case performance. 105 One possible solution to this problem is the use of a \fallback-to-greedy" mechanism. In many geographic routing protocols, when a closer node to destination t than current local minimum is seen during face routing, routing falls back to greedy mode to improve average-case performance. One might think that combining this strategy with a face routing algorithm that completely ex- plores the face [26] could result in good worst case and average case performance. Unfortunately, this is not true: the fallback-to-greedy mechanism fundamentally prevents faces from being ex- plored completely and exhibits the same worst case behavior (O(N 2 ) path length) as deterministic face routing algorithms that only partially traverse a face. In the next section, we discuss a dierent approach to designing worst-case optimal, average- case ecient face routing algorithms for arbitrary graphs. 6.3 Design of Intelligent Face Routing (IFR) In this section, we discuss the design of intelligent face routing, a face routing technique that hasO(N) worst case path length, yet exhibits low stretch and the best average case performance among all known face routing algorithms. IFR consists of two components: a packet-state based partial face walk (PSPF) algorithm that bounds worst-case path length to O(N), and a node- state based adaptive face walk (NSAF) algorithm that reduces stretch and achieves good average case performance. Both of these techniques use O(1) state. In the next section, we evaluate the performance of IFR through simulations. 6.3.1 Packet-state Based Partial Face Walk Our discussion in the previous section shows that partial face walk schemes have good average case performance. Thus, we start with such a scheme (specically, the rst-intersection based face routing scheme), and attempt to improve its worst-case performance from O(N 2 ) to O(N). A.1. Understanding the First Intersection Rule 106 Figure 6.4: An expected behavior of face routing using the rst intersection rule. Before we describe the design of PSPF, we rst attempt to understand the conditions under which the rst-intersection rule exhibits O(N 2 ) behavior. Under certain conditions, the rst- intersection rule can result inO(N) path length. Consider Figure 6.3.1 that shows a path consist- ing of O(N) hops: path =s x 1 x 2 x 3 x 4 x 5 x 6 x 7 t. All sub-paths making up the path never overlap with each other even though a set of faces (F 1 ;F 2 ;F 3 ;F 4 ;F 5 ;F 4 ;F 2 , and F 2 ) visited are not disjoint. When the sub-paths do not overlap, O(N) path length results. To more precisely understand the condition under which sub-paths never overlap, we introduce the following terminology. Consider a sub-path s i which starts a face walk at x 1 and ends the face walk atx 2 . The edges ins i and the line segmentx 1 x 2 forms a closed polygon. The face walk corresponding to sub-path s i can be entirely inside the polygon (we call s i an inside sub-path), or it can be entirely outside the polygon (we call s i an outside sub-path). The following lemma explains the condition under which sub-paths never overlap. Lemma 6. If all sub-paths on a path are inside sub-paths, then they are pairwise disjoint. Proof. Consider a new graph G 0 , which is constructed from G and all of G's intersection points with line segment ! st. Thus, a face in G intersected by ! st is divided in G 0 into a left-side face and a right-side one, with respect to ! st. If a path only traverses the faces on the left-side (as in Figure 6.3.1), the right-hand rule will ensure that each sub-path is inside the corresponding polygon. Now, each such face walk is equivalent to entirely exploring each corresponding face in G 0 . By Lemma 3, this strategy incurs O(N) path length and the sub-paths are disjoint. 107 Figure 6.5: Pathological behaviors of the rst intersection face routing. Of course, there exist topologies where paths cannot always contain inside sub-paths. Con- sider Figure 6.5 showing a path: path = s x 1 s x 2 x 3 x 1 s x 2 x 4 x 5 x 3 x 1 s x 2 x 4 t. Face F 2 is revisited and a sub-path on F 2 fully overlaps ear- lier sub-paths on the same face. Observe that the corresponding sub-path =x 1 a s b y c x 2 is an outside sub-path. We now state and prove an important lemma that describes the conditions under which sub- paths can overlap. The insights from this lemma are crucial to designing a worst-case optimal scheme based on the rst-intersection rule: Lemma 7. If a path has overlapping sub-paths, then the following two conditions must hold: (1) at least one of the sub-paths must be an outside sub-path, and (2) at least one sub-path crosses the line segment sx c , where x c is the current rst intersection point for that sub-path (i.e., the point at which the sub-path switched faces). Proof. Clearly, by the previous lemma, if all sub-paths of a path are inside sub-paths, then the path cannot have overlapping sub-paths. So, condition 1 must hold. Suppose now that condition 1 holds and condition 2 does not hold, but that some sub-paths overlap. We argue that this presents a contradiction, for the following reason. Consider each sub-path s i in the path. Now s i is either an outside sub-path, or an inside sub-path. If it is an outside sub-path, it must enclose the polygon dened by all previous sub-paths.If it is an inside sub-path, then it cannot visit a previously visited rst-intersection point (because, to do so it would need to cut the line sx c ), hence there is no overlap. 108 Figure 6.6: Behaviors of the rst intersection face routing. Finally, before we describe PSPF, we assert one property of overlapping sub-paths. Lemma 8. Suppose sub-path s j overlaps sub-path s i such that s i T s j 6=; for i < j. Then, s i s j . Proof. Suppose sub-path s i traverses face f k . Clearly, if s j overlaps with s i , it must also walk at least part of f k . Suppose s i = fe i ;e i+1 ;:::;e i+m g and s j =fe j ;e j+1 ;:::;e j+n g. A face-change is never performed at all edges except e i , e i+m , e j , and e j+n . If s j only partially overlaps s i , then either edge e j+n of s j is an intermediate edge of s i or edge e j of s j is an intermediate edge of s i . It implies that a face-change can be performed at an intermediate edges of s i ors j , resulting in a contradiction. Because s i appears earlier than s j during routing neither edge e j nor edge e j+n is a member ofs i . By contrast, both edgee i and edgee i+m are member ofs j sinces j fully overlaps s i . We conclude that s i s j . A.2. Design of PSPF PSPF uses Lemma 7 to detect conditions under which sub-paths can overlap. When these conditions are encountered during forwarding, state is added to the packet header so as to prevent overlaps. It turns out that these conditions can be detected in a localized manner, enabling distributed implementation. If sub-paths never overlap, then, as we have discussed before, the worst-case performance of face-routing is O(N). To determine the possibility of overlapping sub-paths, consider a face walk that is about to traverse an edge ! p 0 p 1 which intersects st. There are three possibilities: (1) Edge ! p 0 p 1 is counterclockwise relative to ! p 0 t and its intersection point is closer to destination t than the last; 109 Figure 6.7: Behaviors of face routing using newly propsed protocol. (2) Edge ! p 0 p 1 is clockwise relative to ! p 0 t and its intersection occurs while counter-clockwisely exploring with respect to destination t (as shown in the right sub-gure of Figure 6.6); (3) ! p 0 p 1 crosses line segment between source s and intersection point x c . If either (1) or (2) holds, then the current sub-path is an outside path. Taken together, these three rules capture the conditions under which sub-path overlap can occur. PSPF by Example: We explain PSPF by using Figure 6.7 as an example. Consider the path froms tot: path = s _ x 1 _ s _ x 2 _ x 3 _ x 1  x 3  x 4 _ x 5 _ x 6 _ x 4  x 6  x 7 _ t, where _ and  represents a traversal using the right-hand rule and the other traversal using the left-hand rule respectively (as we describe below, PSPF uses both rules). Whenever an edge likee c (which crosses st) is about to be traversed, if any of the three conditions described in the previous paragraph hold, a PSPF bit is set in the packet header. At the same time, we store in the packet header the identity of the edge e x1 at which this face was entered. This information is preserved in the packet header even after it enters a subsequent face F 3 , and is used to prevent the face walk from backtracking beyond e x1 . Now, when the face walk switches from face F 3 to face F 2 , the edge e x1 is traversed again. The traversal stops at that point, and PSPF now uses the left-hand rule to ensure that the packet returns tox 3 . It then performs a face-change atx 4 (as described by Frey et al. [11]). At the same time, the edge e x4 is recorded in the packet header. Furthermore, at that point, the right-hand rule is used again. 110 The walk enters face F 4 at x 5 , and re-enters face F 2 at x 6 . When the traversal revisits the edgee x4 , the packet is returned back to x 6 using the left-hand rule. A face-change is executed at x 7 and the edgee x7 is stored in the packet header. Afterward, such a way continues until reaching destination t. As shown in Figure 6.7, all sub-paths never overlap with each other and all edges are visited at most thrice. The Details: PSPF requires no extra state in each node. It stores minimal state in the packet header during traversal. The detailed algorithm is described below. One bit indicates whether the current sub-path is an outside sub-path or if it has crossed sx c . It is also marked when a packet traversal using the left-hand rule is initiated. The second ag is marked if the packet is crosses st in a counter-clockwise fashion with respect to destination t. Whenever a marked sub-path is exited by a face-change, if the sub-path uses the right-hand rule, the edge on which the exiting sub-path entered its face is stored on one among empty elds. Otherwise if the left-hand rule is used, the sub-path's last edge is used to override the eld which invoked the left-hand rule. Whenever a face-change is performed, the newly entered face is always explored using the right-hand rule. Thus, the packet header needs to store two ags and at most three edges (the number three follows from our description above and we also discuss it in the evaluation section). By design, PSPF avoids sub-path overlap. So, the proof of the following theorem follows from the Lemmas 6 and 7. Theorem 9. Paths established by face routing algorithms enhanced with new proposal have at most O(N) hops. 111 Figure 6.8: An expected behavior of combined greedy-face routing. 6.3.2 New Fallback-to-greedy Mechanism While the above face routing algorithm may be worst-case optimal, it is not clear that it can be average-case ecient without using a fallback-to-greedy mechanism. However, as we have discussed before in Section 6.2.3, existing fallback-to-greedy mechanisms can result inO(N 2 ) path lengths. We now describe a new fallback-to-greedy mechanism that preserves PSPF's worst-case path length of O(N). We observe that paths established by current combined greedy-face routing algorithms exhibit O(N) hops under a certain condition. Consider Figure 6.8 that shows a path consisting of face- walked sub-paths and greedy sub-paths: s _ x 0  l 1 _ x 1  l 2 _ x 2  t where _ and  represent face traversal and greedy traversal respectively. Face-walked sub-paths never overlap with each other. Thus, the path has at most O(N) hops. Lemma 9. Letl i denote the local minimum node where thei-th face traversal starts andx i denote a node where i-th face traversal falls back to greedy traversal. When all face sub-paths between l i andx i are inside sub-paths with respect to line segment ! l i t, edges on those sub-paths are only once explored until reaching destination t. Proof. The proof of this is similar to the proof for Lemma 6, so we have omitted it for brevity. This proof states that combined greedy-face routing can reach destination t with O(N) steps while satisfying Lemma 9. However, the conditions identied by Lemma 9 do not always hold. For example, a face-walked sub-path betweenx i andl i+1 can be an outside sub-path with respect 112 to line segment ! l i t. In such a case, some edges can be repeatedly visited. To detect and avoid such situations, we now describe a new fall-backto-greedy mechanism. Conditional fallback-to-greedy This method builds upon PSPF and uses the information stored in the packet header to decide when it is safe to fallback to greedy forwarding. The high-level idea behind this mechanism is as follows. Before a fallback-to-greedy is about to be performed at a geographically closer node x i tot than local minimuml i , we need to ensure that the current face's sub-path is an inside sub-path with respect to line segment ! l i t. If it is, then a fallback-to-greedy is permitted. If it is not, the rst edge of the sub-path is recorded in an empty eld of extra space in a packet before executing a fallback-to-greedy. This eld will ensure that future sub-paths never revisit edges previously visited. However, there is an interesting subtlety here. Because greedy forwarding can mask faces, it is necessary to record all rst-edges of outside sub-paths or those that intersect st. In theory, an innite amount of memory might be needed. However, because greedy forwarding avoids face traversals, in practice very few elds are required in the header to prevent sub-path overlap. Our implementation uses 3 elds: if these elds are full, then fallback-to-greedy is never invoked. This strategy preserves the O(N) worst case bound at the cost of some average-case eciency. Our discussion above, together with Lemma 9, leads to the following theorem, whose proof we omit for brevity. Theorem 10. A combined greedy-face routing algorithm using conditional fallback-to-greedy guar- antees the worst-case path length of O(N). 6.3.3 Node-State Based Adaptive Face Walk On arriving at a local minimum node, existing geographic routing protocols deterministically or adaptively explore the corresponding face using either the right-hand rule or the left-hand rule. 113 However, as we have discussed, these approaches suer from O(N) stretch or super-linear worst case path length. In this section, we describe a new technique that keeps a constant amount of state at local minima in order to intelligently decide whether to use the right hand rule or the left hand rule. We call this approach the node-state based adaptive face walk (NSAF). NSAF, when coupled with PSPF (a combination we call Intelligent Face Routing or IFR), ensures low average stretch and O(N) worst-case path length. On arriving at a local minimum node, NSAF checks if state for the packet's destination exists. If no corresponding state exists, a packet starts to explore a face using the default rule (our implementation uses the right-hand rule as the default rule). Based on what happens to this initial packet, NSAF builds up state at the local minima in order to decide whether subsequent packets to the same destination should be routing using the right-hand rule or the left-hand rule. Consider the left sub-gure of Figure 6.9. In nodel m , a packet to destination nodet i starts to explore faceF 1 using the right-hand rule. On reaching nodef e , the packet exits faceF 1 . At node f e , a message is generated and sent to node l m using the right-hand rule. While walking along the face, the message computes the number of hops in the face, the number of hops in clockwise path between l m and node f e , and the number of hops in counter-clockwise path between two nodes. When it returns to node l m , this information is stored there. NSAF is a reactive scheme in that state is collected only if necessary (when a packet reaches a local minimum which has no state for destination t) and also stored only at the local minimum. When subsequent packets to destination t later arrive at node l m , NSAF can use the rule that results in a shorter path using state stored in the node, as shown in the right sub-gure of Figure 6.9. As described so far, in NSAF each local minimum node stores state per destination. Clearly, this is undesirable. Hence, we have devised an aggregation technique that ensures O(1) state per local minimum node. The basic idea behind our technique is to partition, from the perspective of a local minimum node l m , all destinations into two groups: one for which the right-hand rule 114 Figure 6.9: (a) No state for a destination location exists in a local minimum node and (b) State for a destination location exists in a local minimum node. Figure 6.10: (a) The aggregated area is updated by a new location and (b) A face walk after updating the aggregated area. ought to be applied and another to which the left-hand rule ought to be applied. In Figure 6.10, node l m has only two sectors of circle, instead a list of destination locations. When a packet to destination t j arrives at node l m , it checks whether its destination falls within the left sector or the right sector. If the left sector encloses the destination, the packet will walk face F 1 using the right-hand rule. If the right sector encloses the destination, the packet will walk face F 1 using the left-hand rule. If both sectors do not contain the destination, the packet walks a face using the default rule, as illustrated in the right-subgure of Figure 6.10. When an information message generated in nodet j returns to nodel m , the node expands the left sector of circle to enclose node t j . Clearly, each sector can be described usingO(1) state. Of course, other aggregation structures such as the convex hull, the ellipse, or the smallest enclosing disc exist. 115 This technique is not perfect. If a face is non convex, the two sectors at a node may overlap and a destination that falls into the overlapped region may not be routed to in an optimal fashion. Our simulations show that this is not a serious problem. Finally, recall that we have said that we intend to use NSAF in conjunction with PSPF. So, how do they interoperate? Recall that whenever PSPF changes face, it starts exploring the face using the right hand rule, by default. When combined with NSAF, however, it would use the rule determined by the state at the local minima, whenever a face change occurs. If the local minimum has no node state, it uses the right-hand rule by default. 6.4 Evaluations In this section, we compare the performance of our proposal IFR with that of other alternatives using simulation. Our results show that IFR signicantly outperforms all other existing face routing schemes, and is comparable to a recently proposed geographic routing scheme that does not use planarization. 6.4.1 Methodology and Metrics We compare IFR against four other alternatives. CompassII [26] is a deterministic face routing technique that completely explores a face. GPSR+ is a variant of GPSR [18] with the xes suggest by Frey et al. [11]. This is a deterministic face routing protocol that changes face at the rst intersection, and so only partially explores a face. GOAFR+ [27] uses adaptive face routing and is known to be worst-case optimal on unit-disk graphs. Finally, GDSTR [31] is a recently proposed geographic routing technique that uses a hull tree to circumvent voids. We have implemented IFR (as well as CompassII, GOAFR+, and GPSR+) in TinyOS [15], the event-driven operating system used on the Mica-Z and TelosB motes. These implementations also run on TOSSIM, which we use for our simulation results. We use CLDP [20] to generate 116 4 5 6 7 8 9 10 11 12 5 6 7 8 9 10 Average Path Stretch Average Node Density CompassII GPSR+ GOAFR+ IFR Figure 6.11: Average path stretch of pure face routing protocols. 4 5 6 7 8 9 10 11 12 5 6 7 8 9 10 Average Network Stretch Average Node Density CompassII GPSR+ GOAFR+ IFR Figure 6.12: Average network stretch of pure face routing protocols. 117 1 2 3 4 5 6 5 6 7 8 9 10 Average Path Stretch Average Node Density CompassII GPSR+ GOAFR+ GDSTR IFR Figure 6.13: Average path stretch of combined greedy-face routing protocols. 1 2 3 4 5 6 5 6 7 8 9 10 Average Network Stretch Average Node Density CompassII GPSR+ GOAFR+ IFR Figure 6.14: Average network stretch of combined greedy-face routing protocols. 118 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 2 4 6 8 10 12 14 16 18 Fraction of node pairs with stretch <= X Path Stretch IFR on 4.9 density IFR on 5.5 density IFR on 6.4 density IFR on 7.3 density IFR on 8.6 density IFR on 10.1 density Figure 6.15: CDF of path stretch, IFR. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 5 6 7 8 9 10 11 12 Ratio of certain paths among every node pairs (%) Average Node Density Paths having zero state Paths having one state Paths having two states Figure 6.16: State requirements of PSPF. 119 planar graphs; our emphasis in this paper is on the face routing component, not planarization. Finally, we use the simulator from [31] for evaluating the performance of GDSTR. In our baseline simulations, we use a 400-node topology in which nodes are randomly positioned on a xed-size two-dimensional surface. We scale the area of the surface in order to vary node density; for the highest density we use an area of 1800 x 1800 units, while for the lowest, we use an area of 3000 x 3000 units. Our measure of density is the average number of neighbors of a node. All data points are averaged over 40 experiments. We generate wireless topologies using an idealized radio model with circular radio ranges (of 200 units) but withN=2 obstacles, whereN is the total number of nodes in the network. Each obstacle is of xed length (40 units) in each of our simulations. The midpoint of the obstacle is randomly positioned on the two-dimensional surface, and the orientation of the obstacle is equally likely to be either vertical or horizontal. While our radio model deviates from reality, the rather large number of obstacles we use generates graphs that arguably approximate highly obstructed environments. Our obstacle graphs have densities varying from 4.9 to 11.9. We use four measures of performance. Average path stretch measures the mean value of path stretch for all sender/receiver pairs ( 1 N(N1) P N(N1) i=1 stretch(s i ;t i )). However, average path stretch alone does not accurately capture the routing performance. If paths A and B have the same stretch, but B is signicantly longer than A, then B should arguably count for more when measuring performance since packets traversed using B consume more resources. We account for this using a dierent metric, called network stretch: the ratio of the sum of all pairwise paths to the sum of all pairwise shortest paths in a graph. Space cost measures the total state recorded in a packet by IFR. Overhead measures the average number of control messages sent or forwarded by a node. 6.4.2 Simulation Results We explore the performance of dierent algorithms by metric. 120 Average Path Stretch and Network Stretch. Figures 6.11 and 6.12 plot the average path stretch and network stretch among pure face routing protocols (i.e., we have removed the greedy routing component in these gures). As expected, the partial face routing technique GPSR+ exhibits lower average stretch than complete face routing (CompassII). Interestingly, adaptive face routing (GOAFR+) incurs incurs higher stretch than partial face routing (GPSR+) at densities above 6. At lower densities, faces can be large and adaptive face routing's strategy of deciding whether to use the right-hand or left-hand rule improves performance. At higher densities, with smaller faces, the adaptive strategies explores more hops without signicant benet. Figures 6.13 and 6.14 plot average path stretch and network stretch for all routing protocols that use greedy mode. The superior performance of IFR is evident here: all other face routing protocols exhibit high stretch below a density of 9, and IFR compares well with GDSTR. IFR's performance can be attributed to the way it learns adaptively whether to use the right-hand or left-hand rule. Finally we note that the average stretch performance of CompassII (enhanced with fallback-to-greedy) is nearly identical to that of GPSR+: this suggests that CompassII eectively becomes a partial face routing protocol when it uses the fallback-to-greedy strategy. Distribution of Stretch, and worst-stretch by path length. It is illustrative to look at the distribution of path stretch for IFR. Figures 6.15 shows the distribution of stretch values at dierent densities. At all densities that we have evaluated, nearly 99% of node pairs incur a stretch of less than 3. Almost all of node pairs incur a stretch of less than 7. A few node pairs at two densities 4.9 and 8.6 incur a stretch of up to 18. This result implies that IFR exhibits good distributional performance, not just excellent average-case performance. Space Cost. Recall that PSPF maintains packet header state. While we have not been able to prove that this state is bounded, our simulations show that PSPF does not need to maintain more than state for two edges. Recall that each edge represented in a packet header is one that satises the conditions listed in Lemma 7. Figure 6.16 shows that the number of states in a path established by PSPF is at most 2 and most paths have zero or one state throughout all densities. 121 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 5 6 7 8 9 10 11 12 Ratio of certain paths among all node pairs (%) Average Node Density Paths having zero state Paths having one state Paths having two states Paths having three states Figure 6.17: State requirements of IFR. The same behavior holds for IFR itself (which adds a modied fallback-to-greedy mechanism to PSPF), as shwon in Figure 6.17. Overhead. Finally, we compute the overhead of IFR, which measures the messaging cost required to maintain the aggregated sector information. Figure 6.18 shows this overhead as a function of network density. At low densities, faces are large and the IFR control messages traverse many hops. With increasing density, IFR control message overhead drops dramatically. When combined with a reactive planarization protocol like LCR [22], IFR's total overhead compares favorably with that of GDSTR [31] (result omitted for brevity). 6.5 Summary In this paper, we have described the design of IFR, a new approach to geographic routing that has bounded worst-case path length on arbitrary graphs. Furthermore, IFR exhibits the best stretch performance among existing geographic face routing algorithms, and compares favorably 122 0 5 10 15 20 25 30 35 40 45 50 5 6 7 8 9 10 11 12 The number of messages sent per node Average Node Density IFR Figure 6.18: Message overhead of IFR. with other proposed geographic routing algorithms that do not use planarization. It works well even in highly obstructed environments, suggesting that geographic routing may be a promising routing alternative in wireless networks. 123 Chapter 7 Conclusion In this thesis, we have extensively examined the correctness and performance of geographic rout- ing algorithms in arbitrary graphs and not unit-disk graphs. Our work has attributed to make geographic routing work correctly and eciently in real world: Cross-Link Detection Protocol [20], Lazy Cross-Link Removal [22], Enhanced Face Routing [21], and Intelligent Face Routing (IFR). In this thesis, we do not consider geographic routing in three or higher dimensional spaces. It still remains as an unsolved important problem in geographic routing domain. 124 Bibliography [1] L. Barriere, P. Fraigniaud, and L. Narayanan. Robust position-based routing in wireless ad hoc networks with unstable transmission ranges. In Proc. ACM DIALM POMC Workshop, July 2001. [2] Prosenjit Bose, Patrick Morin, Ivan Stojmenovic, and Jorge Urrutia. Routing with guaran- teed delivery in ad hoc wireless networks. In Proc. ACM DIALM Workshop, pages 48{55, Seattle, WA, USA, August 1999. ACM. [3] Jehoshua Bruck, Jie Gao, and Anxiao (Andrew) Jiang. MAP: medial axis based geometric routing in sensor networks. In Proc. ACM/IEEE MobiCom, pages 88{102, New York, NY, USA, 2005. ACM Press. [4] Nirupama Bulusu, John Heidemann, and Deborah Estrin. GPS-less low cost outdoor lo- calization for very small devices. IEEE Personal Communications Magazine, 7(5):28{34, October 2000. [5] S. Datta, I. Stojmenovic, and J. Wu. Internal node and shortcut based routing with guaran- teed delivery in wireless networks. Cluster Computing, 5:169{178, 2002. [6] D. De Couto, D. Aguayo, B. Chambers, and R. Morris. Performance of multihop wireless networks: Shortest path is not enough. In Proc. ACM HotNets Workshop, New Jersey, USA, October 2002. [7] C. T. Ee, S. Ratnasamy, and Scott Shenker. Practical Data-Centric Storage. In Proc. USENIX Symposium on Networked Systems Design and Implementation, April 2006. [8] Q. Fang, J. Gao, L. J. Guibas, V. de Silva, and L. Zhang. GLIDER: Gradient Landmark- Based Distributed Routing for Sensor Networks. In Proc. IEEE Infocom, 2005. [9] Gregory Finn. Routing and addressing problems in large metropolitan-scale internetworks. Technical Report ISI/RR-87-180, USC/Information Sciences Institute, March 1987. [10] R. Fonseca, S. Ratnasamy, J. Zhao, C. Ee, D. Culler, S. Shenker, and I. Stoica. Beacon Vector Routing: Scalable Point-to-point Routing in Wireless Sensor Networks. In Proc. USENIX Symposium on Networked Systems Design and Implementation, Boston, MA, April 2005. [11] Hannes Frey and Ivan Stojmenovic. On delivery guarantees of face and combined greedy-face routing in ad hoc and sensor networks. In Proc. ACM/IEEE MobiCom, Los Angels, MA, USA, September 2006. ACM. [12] Kuno Gabriel and Robert Sokal. A new statistical approach to geographic variation analysis. Systematic Zoology, 18:259{278, 1969. [13] Jie Gao, Leonidas Guibas, John Hershberger, Li Zhang, and An Zhu. Geometric spanner for routing in mobile networks. In Proc. ACM MobiHoc, pages 45{55, October 2001. 125 [14] Ramakrishna Gummadi, Nupur Kothari, Young-Jin Kim, Ramesh Govindan, Brad Karp, and Scott Shenker. Reduced state routing in the Internet. In Proc. ACM HotNets Workshop, San Diego, USA, November 2004. [15] J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K. Pister. System architecture directions for networked sensors. In Proc. 9th ACM ASPLOS, pages 93{104, Cambridge, MA, USA, November 2000. ACM. [16] B. Karp. Geographic Routing for Wireless Networks. PhD thesis, Harvard University, 2000. [17] Brad Karp. Challenges in geographic routing: Sparse networks, obstacles, and trac provi- sioning. Presentation at the DIMACS Workshop on Pervasive Networking, May 2001. [18] Brad Karp and H. T. Kung. GPSR: Greedy perimeter stateless routing for wireless networks. In Proc. ACM/IEEE MobiCom, pages 243{254, Boston, Mass., USA, August 2000. ACM. [19] D. Kim and N. Maxemchuk. Simple Robotic Routing in Ad-Hoc Networks. In Proc. IEEE International Conference on Network Protocols, 2005. [20] Y. J. Kim, R. Govindan, B. Karp, and S. Shenker. Geographic Routing Made Practical. In Proc. USENIX Symposium on Networked Systems Design and Implementation, Boston, MA, April 2005. [21] Y. J. Kim, R. Govindan, B. Karp, and S. Shenker. On the Pitfalls of Geographic Routing. In Proc. of the 3rd International Workshop on DIALM-Principles of Mobile Computing, Cologne, Germany, September 2005. [22] Y. J. Kim, R. Govindan, B. Karp, and S. Shenker. Lazy Cross-Link Removal for Geographic Routing. In Proc. ACM Sensys, Boulder, CO, November 2006. [23] Young-Jin Kim, Ramesh Govindan, Brad Karp, and Scott Shenker. Practical and robust geographic routing in wireless networks. Technical Report 04-832, Department of Computer Science, University of Southern California, 2004. [24] Leonard Kleinrock and H. Takagi. Optimal transmission ranges for randomly distributed packet radio terminals. IEEE Trans. Comm., 32(3):246{257, 1984. [25] Young-Bae Ko and Nitin Vaidya. Location-aided routing in mobile ad hoc networks. In Proc. ACM/IEEE MobiCom, August 1998. [26] Evangelos Kranakis, Harvinder Singh, and Jorge Urrutia. Compass routing on geometric networks. In Proc. 11th Canadian Conference on Computational Geometry, August 1999. [27] Fabian Kuhn, Roger Wattenhofer, Yan Zhang, and Aaron Zollinger. Geometric ad-hoc rout- ing: Of theory and practice. In Proc. ACM PODC, Boston, MA, USA, July 2003. [28] Fabian Kuhn, Roger Wattenhofer, and Aaron Zollinger. Asymptotically optimal geometric mobile ad-hoc routing. In Proc. ACM DIALM POMC Workshop, September 2002. [29] Fabian Kuhn, Roger Wattenhofer, and Aaron Zollinger. Ad-hoc networks beyond unit disk graphs. In Proc. ACM DIALM POMC Workshop, September 2003. [30] Fabian Kuhn, Roger Wattenhofer, and Aaron Zollinger. Worst-case optimal and average-case ecient geometric ad-hoc routing. In Proc. ACM MobiHoc, 2003. [31] B. Leong, B. Liskov, and R. Morris. Geographic Routing without Planarization. In Proc. USENIX Symposium on Networked Systems Design and Implementation, April 2006. 126 [32] P. Levis, N. Lee, M. Welsh, and D. Culler. TOSSIM: accurate and scalable simulation of entire tinyOS applications. In Proc. ACM Sensys, pages 126{137. ACM Press, 2003. [33] Jinyang Li, John Jannotti, Douglas S. J. De Couto, David R. Karger, and Robert Morris. A scalable location service for geographic ad hoc routing. In Proceedings of the 6th ACM International Conference on Mobile Computing and Networking (MobiCom '00), pages 120{ 130, Boston, Massachusetts, August 2000. [34] Xin Li, Young-Jin Kim, Ramesh Govindan, and Wei Hong. Multi-dimensional range queries in sensor networks. In Proc. ACM Sensys, Los Angeles, CA, USA, November 2003. [35] Julio C. Navas and Tomasz Imielinski. GeoCast { geographic addressing and routing. In Proc. ACM/IEEE MobiCom, Budapest, Hungry, October 1997. [36] James Newsome and Dawn Song. GEM: Graph embedding for routing and data-centric stroage in sensor networks with geographic information. In Proc. ACM Sensys, November 2003. [37] Ananth Rao, Sylvia Ratnasamy, Scott Shenker, and Ion Stoica. Geographic routing without location information. In Proc. ACM/IEEE MobiCom, pages 96{108, October 2003. [38] Sylvia Ratnasamy, Brad Karp, Li Yin, Fang Yu, Deborah Estrin, Ramesh Govindan, and Scott Shenker. GHT: A geographic hash table for data-centric storage. In Proc. ACM WSNA Workshop, pages 78{87, Atlanta, Georgia, USA, September 2002. ACM. [39] Andreas Savvides, Chih-Chien Han, and Mani Srivastava. Dynamic ne-grained localization in ad-hoc networks of sensors. In Proc. ACM/IEEE MobiCom, page to appear, Rome, Italy, July 2001. ACM. [40] Karim Seada, Ahmed Helmy, and Ramesh Govindan. Localization errors on geographic face routing in sensor networks. In Proc. IEEE IPSN Workshop, Berkeley, CA, USA, April 2004. [41] Godfried Toussaint. The relative neighborhood graph of a nite planar set. Pattern Recog- nition, 12(4):261{268, 1980. [42] A. Woo, T. Tong, and D. Culler. Taming the underlying challenges of reliable multihop routing. In Proc. ACM Sensys, Los Angeles, CA, November 2003. [43] Jerry Zhao and R. Govindan. Understanding packet delivery performance in dense wireless sensor networks. In Proc. ACM Sensys, Los Angeles, CA, November 2003. [44] G. Zhou, T. He, S. Krishnamurthy, and J. A. Stankovic. Impact of radio irregularity on wireless sensor networks. In Proc. , June 2004. 127 
Asset Metadata
Creator Kim, Young Jin (author) 
Core Title Robust and efficient geographic routing for wireless networks 
Contributor Electronically uploaded by the author (provenance) 
School Andrew and Erna Viterbi School of Engineering 
Degree Doctor of Philosophy 
Degree Program Computer Science 
Publication Date 04/20/2009 
Defense Date 12/07/2006 
Publisher University of Southern California (original), University of Southern California. Libraries (digital) 
Tag correctness,geographic routing,oai:digitallibrary.usc.edu:usctheses,OAI-PMH Harvest,planar graph 
Language English
Advisor Govindan, Ramesh (committee chair), Karp, Brad (committee member), Kempe, David (committee member), Krishnamachari, Bhaskar (committee member) 
Creator Email yjkim_2@hotmail.com,youngjki@usc.edu 
Permanent Link (DOI) https://doi.org/10.25549/usctheses-m2096 
Unique identifier UC162988 
Identifier etd-Kim-2585 (filename),usctheses-m40 (legacy collection record id),usctheses-c127-223433 (legacy record id),usctheses-m2096 (legacy record id) 
Legacy Identifier etd-Kim-2585.pdf 
Dmrecord 223433 
Document Type Dissertation 
Rights Kim, Young Jin 
Type texts
Source University of Southern California (contributing entity), University of Southern California Dissertations and Theses (collection) 
Repository Name Libraries, University of Southern California
Repository Location Los Angeles, California
Repository Email uscdl@usc.edu
Abstract (if available)
Abstract Geographic routing is a scalable any-to-any routing algorithm in which node state scales as the number of neighbors. It uses greedy routing when possible, and uses face routing to recover when greedy progress reaches a local minimum node that has no neighbor closer to the destination. Face routing is guaranteed to work correctly only on planar graphs that have no cross-link. 
Tags
correctness
geographic routing
planar graph
Linked assets
University of Southern California Dissertations and Theses
doctype icon
University of Southern California Dissertations and Theses 
Action button