Geographical routing 1
Routing in ad hoc networks Obtain route information between pairs of nodes wishing to communicate. Proactive protocols: maintain routing tables at each node that is updated as changes in the network topology are detected. Heavy overhead with high network dynamics (caused by link/node failures or node movement). Not practical for ad hoc networks. 2
Routing in ad hoc networks Reactive protocols: routes are constructed on demand. No global routing table is maintained. Due to the high rate of topology changes, reactive protocols are more appropriate for ad hoc networks. Ad hoc on demand distance vector routing (AODV) Dynamic source routing (DSR) However, both depend on flooding for route discovery. 3
Geographical routing Data-centric routing: routing is frequently based on a nodes attributes and sensed data, rather than on pre- assigned network address. Geographical routing uses a node s location to discover path to that route. 4
Geographical routing Assumptions: Nodes know their geographical location Nodes know their 1-hop neighbors Routing destinations are specified geographically (a location, or a geographical region) Each packet can hold a small amount (O(1)) of routing information. The connectivity graph is modeled as a unit disk graph. 5
Geographical routing The source node knows The location of the destination node; The location of itself and its 1-hop neighbors. Geographical forwarding: send the packet to the 1-hop neighbor that makes most progress towards the destination. No flooding is involved. Many ways to measure progress. The one closestto the destination in Euclidean distance. The one with smallest angletowards the destination: compass routing. 6
Greedy progress 7
Compass routing may get in loops Compass routing may get in a loop. Send packets to the neighbor with smallest angle towards the destination 8
Geographical routing may get stuck Geographical routing may stuck at a node whose neighbors are all further away from the destination than itself. t t s s? Send packets to the neighbor closest to the destination 9
How to get around local minima? Use a planar subgraph: a straight line graph with no crossing edges. It subdivides the plane into connected regions called faces. 10
Face Routing Keep left hand on the wall, walk until hit the straight line connecting source to destination. Then switch to the next face. s t 11
Face Routing Properties All necessary information is stored in the message Source and destination positions The node when it enters face routing mode. The first edge on the current face. Completely local: Knowledge about direct neighbors positions is sufficient Faces are implicit. Only local neighbor ordering around each node is needed. Right Hand Rule 12
What if the destination is disconnected? Face routing will get back to where it enters the perimeter mode. Failed no way to the destination. Guaranteed delivery of a message if there is a path. 13
Face routing needs a planar graph. Compute a planar subgraph of the unit disk graph. Preserves connectivity. Distributed computation. 14
Relative Neighborhood Graph and Gabriel Graph Relative Neighborhood Graph (RNG)contains an edge uv if the lune is empty of other points. Gabriel Graph (GG)contains an edge uv if the disk with uv as diameter is empty of other points. Both can be constructed in a distributed way. 15
An example of UDG 200 nodes randomly deployed in a 2000 2000 meters region. Radio range =250meters 16
An example of GG and RNG GG RNG 17
Overview of geographical routing Routing with geographical location information. Greedy forwarding. If stuck, do face routing on a planar sub-graph. 18
Bad news: Lower bound of localized routing Any deterministic or randomized localized routing algorithm takes a path of length Ω(k 2 ), if the optimal path has length k. The adversary decides where the chain wt is. Since we store no information on nodes, in the worst case we have to visit about Ω(k) chains and pay a cost of Ω(k 2 ). t s 19
Good news: greedy forwarding is optimal If greedy routing gets to the destination, then the path length is at most O(k 2 ), if the optimal path has length k. uv is at most k. On the greedy path, every other node is not visible, so they are of distance at least 1 away. By a packing lemma, there are at most O(k 2 ) nodes inside a disk of radius k. How is face routing? How is greedy + face routing? 20
Performance of face routing 21
Performance of face routing What if we choose the wrong side? 22
Adaptive face routing Suppose the shortest path on the planar graph is bounded by L hops. Bound the search area by an ellipsoid {x xs + xt L} never walk outside the ellipsoid. Follow one direction, if we hit the ellipsoid; turn back. If we find a better intersection p of the face with line st, change to the face containing pt. In the worst case, visit every node inside the ellipsoid: O(L 2 ) by the bounded density property (through clustering). ss t 23
Adaptive face routing How to guess the upper bound L? Start from a small value say st ; if we fail to find a path, then we double L and re-run adaptive face routing. By the time we succeed, L is at most twice the shortest path length k. The number of phases is O(log k). Total cost = O( Σ i (k/2 i ) 2 )=O(k 2 ). asymptotically optimal. s t 24
A simple worst-case optimal routing alg It s easy to get a worst-case O(k 2 ) bound. Do adaptive restricted flooding. Start with a small threshold t. Flood all the nodes within distance t from the source. If the destination is not reached, double the radius and retry. On a network with bounded density, the total cost is O(k 2 ) if the shortest path has length k. Not quite efficient for most good cases. 25
Fall back to greedy When a node visits a node closer to the destination than that at which it enters the face routing mode, it returns to greedy mode. Other fall-back schemes are proposed. E.g., GOAFR+ considers falling back to greedy mode when considering a face change and when there are sufficient nodes closer to the destination than the local minimum. 26
Beyond point-to-point routing Multicast to a geographical region. Use geographical forwarding to reach the destination region. Restricted flooding inside the region. Routing on a curve. Follow a parametric curve <x(t), y(t)>. Greedily select the nodes near the curve. 27