This action might not be possible to undo. Are you sure you want to continue?

# .

.

**Course “Algorithmic Foundations of Sensor Networks” Lecture 8: Geographic routing and obstacle avoidance
**

Sotiris Nikoletseas

Department of Computer Engineering and Informatics University of Patras, Greece

April 26, 2013

.

.

.

.

.

.

1 / 96

. Summary

GPSR: A geographic routing protocol combining greedy forwarding and a rescue mode (to bypass obstacles). GRIC: An improved greedy forwarding component with obstacle avoidance properties. TRUST: A "trust" based protocol that gradually "learns" the obstacle presence and converges to optimal routing paths avoiding obstacles.

.

.

.

.

.

.

2 / 96

. Geographic Routing

when location information is available to sensors (if not directly, then through a network localization algorithm) to provide location-stamped data to satisfy location-based queries then making forwarding decisions using geographical information of sensor and destination positions is a natural choice.

.

.

.

.

.

.

3 / 96

Greedy geographic routing/advantages "make forwarding decisions using only information about the sensors’ intermediate neighbors in the network topology" Advantages: keeping state only about the local topology. . scales better as the number of routing destinations increases scales better under frequent topology changes (ﬁnds correct new routes quickly) .. . 4 / 96 . greedy routing scales better (wrt per intermediate router state eg memory) than shortest path and ad-hoc routing protocols. . . .

. . .Limitations of Distance Vector (DV) and Link State . . . (LS) Algorithms Both approaches require continuous distribution of a current map of the entire network’s topology to all routers: in DV each router includes its distance from all destinations in each of its periodic beacons in LS announcements of the change in any link’s status are ﬂooded to every router in the network . 5 / 96 .

. . . 6 / 96 . these algorithms are either in an out-of-date state and/or generate torrents of messages/updates.. . Intuition: pushing current state globally costs packets proportional to the product of the topology rate change and the number of routing destinations. . .g. The two dominant factors of routing scalability the rate of topology change the number of routers Both factors affect dramatically the message complexity of DV and LS routing algorithms e.

(b) it may reduce the number of hops between the router having the needed information and the router that requires it (i. the routers must obtain more current information to continue routing successfully. 7 / 96 .. caching reduces the message load. Zone Routing Protocol (ZRP). . A partial remedy: Caching several protocols: Dynamic Source Routing (DSR).e. When their cached information becomes out-of-date. AdHoc On-Demand Distance Vector Routing (AODV). . . since (a) it avoids pushing information at idle routers. request topology information on-demand and cache it aggressively. a node closer to a changed link may already have cached the new status of that link). . . common approach: avoid constantly pushing current topology information network-wide. . Instead.

GPSR is nearly "stateless" DV and LS algorithms require state proportional to the number of reachable destinations at each router. . thus requiring only knowledge of intermediate neighbors’ positions.e. GPSR is "nearly stateless". . . The state required in fact depends only on the network density. . . in-demand routing algorithms require state at least proportional to the number of destinations a node forwards packets to.. i. 8 / 96 . . topology info propagates only for a single hop.

GPSR’s modeling assumptions all routers (sensors) know their positions packet sources can mark packets they originate with their destination’s locations bidirectional radio reachability (to allow link-level acknowledgements for packets) sensors lie on a plane (2D) . 9 / 96 . . . . . ..

The GPSR algorithm The algorithm consists of two methods for forwarding packets: greedy forwarding. . .. . 10 / 96 . . which is used whenever possible perimeter forwarding. used in regions where greedy forwarding fails . .

GPSR’s greedy forwarding a forwarding node makes a locally optimal. . 11 / 96 . . greedy choice by selecting the neighbor geographically closest to the packet’s destination forwarding in this regime follows successively closer geographic hops until the destination is reached . .. . .

. . . 12 / 96 . x forwards the packet to y. . . An example of greedy forwarding x received a packet destined for D x’s radio range is denoted by the dotted circle the dashed arc has radius equal to the distance between y and D ⇒ since y is the closest node to D. . .

x is a local maximum in its proximity to D (w and y are farther from D). . x will not use them when running greedy forwarding. although 2 paths (xyzD. . .. . . xwvD) exist to D. An attendant drawback of greedy forwarding There are topologies where the only route to a destination requires a packet move temporarily farther in geometric distance from the destination. . 13 / 96 .

. . 14 / 96 . . . . . The "void" notion a void arises when the intersection region of x’s radio circle and the circle about D of radius |xD | is empty of sensors: x must seek a path around the void .

. The Right Hand Rule "when arriving at a node x from node y. . . .. 15 / 96 . it forwards it to z z then forwards to y . the next edge traversed is the next one sequentially counterclockwise around x from edge (x.y)" x receives a packet from y then. .

. . . 16 / 96 . it traverses the triangle as follows: y → x → z → y ) . The cycle-traversing property The right-hand rule is known to traverse the interior of a closed polygonal region (a face) in clockwise edge order (in our example. . . .

it navigates around the void We call the sequence of edges traversed by the right-hand rule a perimeter. . 17 / 96 .. . .e. . . The Perimeter notion GPSR exploits the cycle-traversing properties to route around voids the rule would traverse as follows: x →w →v →D→z→y →x i. .

.e. the algorithm will not ﬁnd routes that cross this partition. 18 / 96 .. . i. . it is planar there are several methods to "planarize" a graph the "no-crossing" heuristic: it blindly removes whichever edge it encounters second in a pair of crossing edges serious weakness: the edge it removes may partition the network. If it does.e. . . it does not always ﬁnd routes when they exist. . The complication of crossing links the application of the right-hand rule obviously requires that the network graph has no crossing edges i.

whose edges are dictated by a threshold distance between vertices. Planarized Graphs A graph representation: A set of nodes with circular radio ranges r can be seen as a graph in which each node is a vertex and an edge (n. .. . . Two well-known planar-graphs: the Relative Neighborhood Graph (RNG) the Gabriel Graph (GG) . A graph in which no edges cross is called planar. . . are termed unit graphs).m) exists between nodes n and m if their distance is d(n.m)⩽r (such graphs. 19 / 96 .

w ). 20 / 96 .. v : d (u . i. The Relative Neighborhood Graph (RNG) deﬁnition: "an edge (u.e. .v) exists between vertices u and v if their distance d(u. . ∀w ̸= u . w )] Note: for (u. v ) ≤ max [d (u . the shaded region (the intersection of the transmission areas) must be empty. d (v . . . .v) to be included in the RNG.v) is less than or equal to the distance between every other vertex w". .

. . Desired properties for planarization algorithms the algorithms should be run in a distributed fashion by each node in the network a node should need only local topology information removing edges must not disconnect the network . . . . 21 / 96 ..

. if u and v are connected by an edge.. .w).v) break end if end for end for .w)] then eliminate edge (u.d(v. 22 / 96 .v)>max[d(u. . node u can remove non-RNG links as follows (N is the full list of neighbors of u): for all v ∈ N do for all w ∈ N do if w == v then continue else if d(u. . How to get a connected RNG we start from a connected unit graph we remove edges not part of the RNG i. .e.

23 / 96 . thus an alternate path through a witness exists. .. When removing non-RNG edges we cannot disconnect the graph since an edge (u. . It uses only local information (knowledge of immediate neighbors).v) is eliminated from the graph only when there exists another vertex w within range of both u and v. Properties of this procedure It is distributed. . . . .

v) exists between vertices u and v if no other vertex w is present within the circle whose diameter is uv ".e. ∀w ̸= u . .. . . v ) < d 2 (u .v) to be included in the GG. The Gabriel Graph (GG) deﬁnition: "an edge (u. w ) + d 2 (v . the shaded region must be empty . v : d 2 (u . . 24 / 96 . w ) Note: for edge (u. i. .

.v) break end if end for end for Note: Similarly to the RNG case. . . this procedure is distributed. .m) then eliminate edge (u.m)<d(v. . local and cannot disconnect the graph. 25 / 96 . a node u can remove its non-GG links from a full neighbor list N as follows: for all v ∈ N do m = midpoint of uv for all w ∈ N do if w == v then continue else if d(w. How to get a connected GG graph Since the midpoint of uv is the center of the circle with the diameter uv . . .

. This is intuitively consistent with the smaller shaded region (for removing links) in the GG graph compared to the RNG graph. right:RNG subgraph) using fewer links may improve efﬁciency (wrt MAC considerations) through spatial diversity. . . It can be shown that RNG is a subset of the GG. . An example follows (left:full graph. . center:GG subgraph. where d is the node’s degree. The complexity of the planarization algorithms Clearly. both algorithms for rendering the graph planar take O(d 2 ) time at each node. . . 26 / 96 .

The full GPSR algorithm (I) GPSR combines greedy forwarding on the full network graph with perimeter forwarding on the planarized network graph (when greedy forwarding is not possible). GPSR forwards it on progressively closer faces of the planar graph. . . . When a packet enters perimeter mode at node x bound for destination D.. . . 27 / 96 . each of which is crossed by line xD . .

. the traversal uses the right-hand rule to reach an edge that crosses line xD . GPSR resumes to the greedy forwarding mode (this is only one of the possible variations). the traversal moves to the adjacent face crossed by xD . . . when a next hop sensor is found lying closer to D than the current one. .. The full GPSR algorithm (II) On each face. . . 28 / 96 . At that edge.

especially when mobility increases. they measure the percentage of delivered packets in terms of the number of hops beyond the ideal shortest path length: In a dense network. Evaluation of GPSR The original paper compares GPSR to DSR. protocol overhead and path optimality. . . more than 97% of data packets are successfully delivered (slightly greater success ratio than DSR). .. 29 / 96 . GPSR achieves threefold (and even fourfold) overhead reduction. . using 3 metrics: packet delivery success rate. GPSR delivers 3% of packets using one hop more than the optimal length (vs 10% for DSR) while DSR delivers the rest 5% of packets using two hops more than optimality. . GPSR delivers 97% of its packets along optimal-length paths (vs 85% for DSR). .

. The GRIC algorithm GRIC: geographic routing with contour and inertia . . . Comparison of three algorithms . . . FACE algorithms (like GPSR) 2 3 . . The GRIC algorithm . .Compared Protocols . 30 / 96 . Greedy algorithms 1 ..

. . .. . Greedy This algorithm is very simple: Always send a message to the neighbour which is the closest to the destination. . . 31 / 96 .

32 / 96 . . . there is high probability for routing holes to appear. problem Unless the network is very dense. and occur in regions of the network with low density. messages get trapped inside of routing holes. . . . Even in dense nets of uniformly distributed sensors. . . . Remark . Routing holes . Routing holes follow from the local minimum phenomenon.Greedy . Greedy also fails when there are obstacles . .

. . 33 / 96 . Extract a planar subgraph of the communication graph. The need to run on a planar graph ⇝ extra topology maintenance. . . Weaknesses . . . . Requires a unit disc communication graph ⇝ this is a non-robust structure. route messages to the destination. Idea . FACE The FACE family of algorithms (like GPSR) guarantee delivery.. Using the right-hand rule. . . .

. . Comparison lightweight success rate path length robustness Greedy yes low good yes Face extra topology maintenance Guaranteed many hops no 1 GRIC yes high good yes 1 because extracting planar subgraphs is not robust . . . . 34 / 96 . .

Recovery mode. . 35 / 96 . . .. Recovery mode is a bit like FACE. . . Two modes . GRIC . but inertia is introduced. . Randomness can be added to improve performance. Normal mode is a bit like GREEDY. but it runs on the complete communication graph. Normal mode. .

. . 36 / 96 . Inertia . .. . .

. .. . Inertia . 37 / 96 . . .

. . . . Inertia . .. 38 / 96 .

. . Inertia . . 39 / 96 . .. .

40 / 96 . .. Inertia . . . . .

Inertia . .. . . . . 41 / 96 .

. Inertia

.

.

.

.

.

.

42 / 96

. Experimental ﬁnding . Inertia is good at getting out of routing holes. . It can even route messages around obstacles.

.

.

.

.

.

.

43 / 96

**. An example where inertia succeeds
**

InertiaMsg 25 −5 −5 0 5 y position 10 15 20

0

5

10 15 x position density = 10

20

25

.

.

.

.

.

.

44 / 96

45 / 96 . . An example where inertia fails InertiaMsg 25 −5 −5 0 y position 5 10 15 20 0 5 10 15 x position density = 10 20 25 . . .. . .

switch to the recovery mode. the recovery mode. or contour mode. . . . Keep the idea of inertia routing at the same time. . What is does . . . is introduced. Force turning left (or right) to imitate the lefthand rule. Recovery (contour) mode In order to manage to route messages around obstacles. . .. When to use it . . When a message goes backward. . switch back to normal mode. 46 / 96 . When a message goes towards destination.

.. . 47 / 96 . Graphical explanation . . . .

. . Graphical explanation . 48 / 96 . . . . .

. . . 49 / 96 . . . Graphical explanation ..

. . . .. Graphical explanation . . 50 / 96 .

. Graphical explanation . 51 / 96 . . . . ..

. . .. Graphical explanation . . . 52 / 96 .

. . . 53 / 96 . . Graphical explanation . . .

.. . 54 / 96 . . . Graphical explanation . .

. . .. . 55 / 96 . Graphical explanation . .

. .. . . Graphical explanation . 56 / 96 . .

. . . 57 / 96 . Graphical explanation .. . .

. . . 58 / 96 . . Graphical explanation . . .

. .. . . Graphical explanation . 59 / 96 . .

Graphical explanation . . 60 / 96 .. . . . .

. 61 / 96 . . .. Graphical explanation Raise the south-east ﬂag ⇝ use recovery mode if ideal direction is on right! . . .

. . . . 62 / 96 . . . Graphical explanation Raise the south-east ﬂag ⇝ use recovery mode if ideal direction is on right! .

Graphical explanation Raise the south-east ﬂag ⇝ use recovery mode if ideal direction is on right! . . . 63 / 96 .. . . .

64 / 96 . . . Graphical explanation Raise the south-east ﬂag ⇝ use recovery mode if ideal direction is on right! .. . . .

.. . 65 / 96 . . . . Graphical explanation Raise the south-east ﬂag ⇝ use recovery mode if ideal direction is on right! .

. . . . 66 / 96 .. Graphical explanation Raise the south-east ﬂag ⇝ use recovery mode if ideal direction is on right! . .

67 / 96 . . . .. . . Graphical explanation Force turning left!!! .

. .. . . Graphical explanation The ﬂag stays up.. .. . 68 / 96 .

... . Graphical explanation The ﬂag stays up. 69 / 96 . .. . . .

. . Graphical explanation The ﬂag stays up. . 70 / 96 . ... . . .

.. . Graphical explanation Put the ﬂag down! . . . 71 / 96 . .

. . . Graphical explanation . 72 / 96 . .. .

. Graphical explanation . 73 / 96 . . . . ..

. 74 / 96 . Graphical explanation . . .. . .

. . . Graphical explanation . . 75 / 96 . . .

. .. . Graphical explanation . 76 / 96 . . .

. . 77 / 96 . . .. . An example where GRIC succeeds .

. density = 15 5 25 . Two other examples Concave shape 1 25 25 Concave shape 2 20 y position 5 10 15 0 −5 −5 0 10 15 20 x position GRIPMsg. . 78 / 96 . . . . density = 15 5 25 −5 −5 0 y position 5 10 15 20 0 10 15 20 x position GRIPMsg..

. . .. Links are considered to be not available with probability ϵ. Idea . Consequence: the protocol is non deterministic ⇝ a bit like a random walk. . Randomization . . 79 / 96 . it uses the exponential convergence of success probability when trials are repeated. . Intuitively. Add some randomness to get out of bad conﬁguration. .

6 400 0.0 2 4 6 density 8 10 0 100 0. . Statistical evaluation of the protocol:Void obstacle Success rates − VoidObst 500 1. .4 hops 300 0.0 hops − VoidObst FACE2Msg GRIC_random(0.95) GRIPMsg GreedyMsg InertiaMsg LTP5Msg 0.8 2 4 6 8 10 density Performance of successfull routings . . 80 / 96 .2 200 FACE2Msg GRIC_random(0.95) GRIPMsg GreedyMsg InertiaMsg LTP5Msg success rate 0. .. .

. . . . . Statistical evaluation of the protocol:Stripe InertiaMsg 25 −5 −5 0 5 y position 10 15 20 0 5 10 15 x position density = 10 20 25 . . 81 / 96 .

.8 2 4 6 8 10 density Performance of successfull routings . . . . .0 hops − Stripe FACE2Msg GRIC_random(0. . 82 / 96 .95) GRIPMsg InertiaMsg hops 300 0.4 FACE2Msg GRIC_random(0. Statistical evaluation of the protocol:Stripe Success rates − Stripe 500 1.6 400 0.2 200 0.0 2 4 6 density 8 10 0 100 0.95) GRIPMsg InertiaMsg success rate 0.

83 / 96 . Statistical evaluation of the protocol:Ushape U shape 25 −5 −5 0 y position 5 10 15 20 0 5 10 15 20 x position GRIPMsg. .. density = 15 25 . . . . .

Statistical evaluation of the protocol:Ushape Success rates − Ushape 500 1.95) GRIPMsg success rate FACE2Msg GRIC_random(0.95) GRIPMsg 0. .0 0. . .. .8 2 4 6 8 10 density Performance of successfull routings .6 400 0.0 hops − Ushape FACE2Msg GRIC_random(0. 84 / 96 .2 2 4 6 density 8 10 300 0. .4 hops 0 100 200 0.

. .. . Statistical evaluation of the protocol:Concave shape 2 Concave shape 2 25 −5 −5 0 y position 5 10 15 20 0 5 10 15 20 x position GRIPMsg. 85 / 96 . density = 15 25 . . .

4 hops 0 100 200 0..6 400 0. .8 2 4 6 8 10 density Performance of successfull routings . .0 hops − SoftCuve_high FACE2Msg GRIC_random(0. Statistical evaluation of the protocol:Concave shape 2 Success rates − SoftCuve_high 500 1.2 2 4 6 density 8 10 300 0. 86 / 96 . .0 0.95) GRIPMsg 0. . .95) GRIPMsg success rate FACE2Msg GRIC_random(0.

GRIC is lightweight (no extra topology maintenance). . . . GRIC is robust. . . it will not get a message out of a maze!!! 3 1 2 3 . GRIC has a high success rate: 2 1 . almost as good as FACE for routing holes. 87 / 96 .. . however. routes around hard obstacles. Conclusions . . . because not relying on the UDG. .

. The trust based algorithm - Void avoidance

. Perimeter routing . Uses greedy routing Uses a planar graph traversal algorithm when greedy fails . Turns back to greedy when the void is bypassed

.

.

.

.

.

.

88 / 96

. Nodes’ trust evaluation

**. Bayesian interference . outcome observation (p, n) (p:positive, n:negative) trust evaluation
**

t=

p p+n

.

decision making when t > threshold

.

.

.

.

.

.

89 / 96

. Interaction evaluation . greedy routing − > p + + perimeter routing − > n + + . t > threshold − > optimal path

**. Perimeter routing with interaction evaluation . Uses greedy routing on selected neighbors
**

Neighbors are ﬁltered by optimal path

Uses a planar graph traversal algorithm when greedy fails . Turns back to greedy when the void is bypassed

.

.

.

.

.

.

90 / 96

. .. . . . Object shapes . 91 / 96 .

. . . .. . which is near optimal (close to the topology aware greedy protocol). . 92 / 96 . Path length Average path length for convex shape after convergence 60 58 56 65 54 Average path length Average path length 52 50 48 46 45 44 42 40 6000 40 60 EntireHistoryEvaluation LastStepTrust GreedyTopologyAware GPSR BayesianWithPropagation 75 Average path length for concave shape after convergence EntireHistoryEvaluation LastStepTrust GreedyTopologyAware GPSR BayesianWithPropagation 70 55 50 7000 8000 9000 Network size 10000 11000 12000 35 6000 7000 8000 9000 Network size 10000 11000 12000 Comment: signiﬁcant reduction in path length.

. Untrustworthy nodes Number of unthrustworthy nodes until convergence 350 10 000 15 000 20 000 25 000 550 500 450 250 Unthrustworthy nodes Unthrustworthy nodes 400 350 300 250 200 150 100 50 50 0 0 10000 20000 30000 40000 50000 60000 Number of steps 70000 80000 90000 100000 0 0 20000 Number of unthrustworthy nodes until convergence 10 000 15 000 20 000 25 000 300 200 150 100 40000 60000 Number of steps 80000 100000 120000 Convergence: the number of untrustworthy nodes stabilizes.. 93 / 96 . . . The algorithms converge quite fast. . . .

Path length is close to optimal . . .. . Conclusions . Mobile and multiple base station . Little or no overhead . 94 / 96 . Possible extensions . Mobile obstacles . . Optimization . .

. . It has been shown (Guibas et al) that if the graph is dense enough that each interior node has a neighbor in every 2π /3 angular sector. . . Back to greedy We note that the likelihood of local maxima/dead-ends decreases with density. . 95 / 96 . then greedy forwarding will always succeed. ..

L. ACM Mobicom. L.Urrutia. GRIC S.Karp. Selected References GFG P.. H. Nikoletseas and J.Stojmenovic and J.Fang. P. . Moraru. 2007. S. "Routing with Guaranteed Delivery in Ad Hoc wireless Networks". . . GPSR B. J.Kung. Leone. 2000. I. TRUST L. . . Moraru.Bose. DIAL-M. ALGOSENSORS 2009. Huc. Guibas Q. A. Leone. Q2 SWiNet 2007. P. 96 / 96 . Rolim. "Locating and Bypassing Routing Holes in Sensor Networks".Guibas. Jarry. Nikoletseas and J. Nikoletseas and O. Rolim: "Early Obstacle Detection and Avoidance for All to All Trafﬁc Pattern in Wireless Sensor Networks". Powell. P. "GPSR: Greedy Perimeter Stateless Routing for Wireless Network". 2004. 1999. "Near optimal geographic routing with obstacle avoidance in wireless sensor networks by fast-converging trust-based algorithms".Gao. Huc F. . "Simple and Efﬁcient Geographic Routing around Obstacles for Wireless Sensor Networks".Morin. S. in IEEE INFOCOM. in the 6th International Symposium on Experimental Algorithms (SWEA).T.