1 / 51

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems. Spring 2009 Prof. Jennifer Welch. Lecture 19. Topic: Location-Based Routing Sources: Ko, Vaidya. Geocasting. Ko, Vaidya. Location-aided routing (LAR). Kranakis, Singh, Urrutia. Compass routing.

bozica
Download Presentation

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch

  2. Lecture 19 • Topic: • Location-Based Routing • Sources: • Ko, Vaidya. Geocasting. • Ko, Vaidya. Location-aided routing (LAR). • Kranakis, Singh, Urrutia. Compass routing. • Karp, Kung. GPSR: Greedy perimeter stateless routing. • Bose, Morin, et al. Routing with guaranteed delivery. • Kuhn, Wattenhofer, Zhang, Zollinger. Geometric ad hoc routing. • Barriere, Fraignaud, Narayanan. Robust position-based routing. • MIT 6.885 Fall 2008 slides Discrete Algs for Mobile Wireless Sys

  3. Location-based Routing • Deliver message to a particular geographical region, in 2D or sometimes 3D (Geocast). • Use in combination with a location service, to implement point-to-point message delivery. • Algorithms use geographical location information. • We’ll study several different strategies: • Constrained flooding • Compass routing • Greedy perimeter routing • Compact routing with Euclidean metrics • Opportunistic routing • First: [Ko, Vaidya] Constrained flooding Discrete Algs for Mobile Wireless Sys

  4. Constrained Flooding • Two closely-related papers [Ko, Vaidya], with similar algorithms, for two slightly different problems: • Geocast • Route discovery for a moving device. • Assumptions: • 2D only. • Nodes have exact (or almost exact) knowledge of their own geographical locations. • Based on GPS or a localization algorithm. • Known constraints on motion patterns of mobile devices, which make it possible to guess approximately where they are. • Basic idea is to flood a geocast message, or RREQ message throughout the network, to try to reach the target geographical area. • However, don’t flood everywhere---use geographical information to bound the flooding area. Discrete Algs for Mobile Wireless Sys

  5. Target Multicast region Sender Geocast with Constrained Flooding • Could solve the problem using network-wide flooding, but inefficient. • [Ko, Vaidya] solutions involve flooding, constrained by geography. • Target multicast region needn’t be one-hop radius, so some flooding may be needed at the end anyway. • Not clear that flooding along the way is best---e.g., might try to pass just one copy. • Flooding may work well if many messages get lost, obstacles arise, etc. Discrete Algs for Mobile Wireless Sys

  6. Completeness Metric • Which they call “accuracy”. • Fraction of the nodes that were in the multicast region at the time of the sending event, that receive the message. Discrete Algs for Mobile Wireless Sys

  7. Forwarding Zones • Main idea: Constrain flooding using forwarding zones, which limit where the message should be rebroadcast. • Their algorithms define particular forwarding zones. • Forwarding zones represent locations that are “on the way” from the sender to the multicast region. • Should include the sender’s location and the entire multicast region. • Large forwarding zones introduce more flooding overhead, but may improve completeness. Discrete Algs for Mobile Wireless Sys

  8. Target Multicast region Sender Geocasting Algorithm 1 • Identical to general flooding, except that only nodes in the forwarding zone rebroadcast. • Forwarding zone is the smallest rectangle that: • Includes both the sender and the multicast region, and • Has sides parallel to x and y axes. • Animation shows only the first message arriving at each node. • Flooding means many nodes receive the message several times. Discrete Algs for Mobile Wireless Sys

  9. Geocasting Algorithm 2 • Again, only nodes in the forwarding zone retransmit. • But now “forwarding zone” is determined on-the-fly. • Forwarding zone includes entire multicast region. • Along the way: • Sender sends its own coordinates, and the coordinatescm of the “center” of the multicast region. • Everyone who retransmits sends its own coordinates, plus cm. • When node j receives a packet from node i, j decides that it is in the forwarding zone exactly if its distance to cm is smaller (technically, not too much larger) than i’s distance to cm. • Thus, actual forwarding decisions are not based on predetermined region, but on one-hop improvement. • Overall region of possible forwarding is the multicast region, plus the entire circle centered atcm, radius = dist(sender, cm). Discrete Algs for Mobile Wireless Sys

  10. Sender cm Geocasting Algorithm 2 • Message keeps getting closer to cm. • Does not flood through larger rectangle, but may flood around the multicast region. Discrete Algs for Mobile Wireless Sys

  11. Geocasting Evaluation • Simulation results, comparing their algorithms to basic, unconstrained flooding. • Both algorithms achieve completeness comparable to basic flooding, but with much less communication overhead. • Don’t compare to non-flooding approaches. • Q: Is the flooding approach an efficient way to get a message to the multicast region? Is it better to send one, or a limited number of copies, to the multicast region, then flood through the multicast region? Tradeoffs? Discrete Algs for Mobile Wireless Sys

  12. Route Discovery Using Constrained Flooding • Location-Aided Routing (LAR). • Now the problem is to establish a route to a node with an unknown location, as in DSR or AODV. • Use constrained flooding methods, flooding RREQ messages instead of data messages. • Q: But how to constrain? Now we don’t know the target location… • A: Guess current location of target node based on previous location and known limitations on motion patterns (speed, direction, etc.) • Use standard RREQ, RREP on reverse route. • Establish routes on-demand, like AODV. • Sender reinitiates route discovery when active route breaks. Discrete Algs for Mobile Wireless Sys

  13. Route Discovery • Multicast region: • An area that sender S thinks is likely to contain the location of the target node D. • S calculates this based on most recent knowledge of D’s location, plus knowledge of (maximum or average) speed, direction, etc. • The more info S has, the smaller the multicast region can be. • Requires synchronized clocks---info originating from D about its position at some time must be correlated with a time on S's clock. • Forwarding zone: • As before, used to constrain who forwards the message: a node forwards exactly if it is in the forwarding zone. • Forwarding zone includes S and the multicast region, plus enough other area to allow a path between them. • If route discovery fails, S retries with a larger forwarding zone---perhaps the entire plane (unconstrained flooding). Discrete Algs for Mobile Wireless Sys

  14. The LAR Algorithms • LAR Algorithm 1: • Forwarding zone is smallest axis-aligned rectangle, as before. • S includes info about the forwarding zone in the RREQ message. • When D sends a RREP, includes its current position, which S could use to help in future route discoveries. • Might want to send D’s position info more frequently, to reduce size of future multicast regions for route discovery for D. • LAR Algorithm 2: • Try to get closer to D’s last known position (take cm = last known position, in previous Algorithm 2). • Use some slack---at each hop see if new distance is “approximately better” than previous distance. • No estimation of D’s current location, so doesn’t require clock synchronization. Discrete Algs for Mobile Wireless Sys

  15. LAR Evaluation • Simulations, comparing to unconstrained flooding: save communication overhead. • Improvement is most pronounced with high density, large transmission ranges. • In this case, more route discoveries succeed. • When route discoveries don’t succeed, fall back on unconstrained flooding anyway. • For route discovery, some type of flooding seems necessary; limiting flooding by using any available info about the target’s position seems like a good idea. • Moral: Geographical information can help in message routing, even if it isn’t accurate and up-to-date. Discrete Algs for Mobile Wireless Sys

  16. Compass Routing [Kranakis, Singh, Urrutia] • Network model is an (undirected) geometric graph: • Vertices: Points in the 2D-plane. • Edges: Straight-line segments between some of the points. • Consider planargraphs only (no edge crossings). • Assume source node s, destination node t. • Problem: Pass a message from s to t. • Now consider algorithms that involve passing one copy of the message only, no flooding. • The question is which path to follow. • Would like an algorithm that is guaranteed to deliver the message (perhaps for some subclass of all geometric graphs). • Ideally, using a close-to-shortest path. Discrete Algs for Mobile Wireless Sys

  17. Compass Routing Relevance • Use in wireless ad hoc networks? • By superimposing graph model on broadcast model, e.g., unit disk model, or more general neighbor discovery. • Suitable for static networks; extend to dynamic? Discrete Algs for Mobile Wireless Sys

  18. Local Algorithms • Require algorithms to be “local”: • Message includes: • Coordinates of current node and of destination t. • Extra storage, for a constant number of node identifiers; cannot store entire network topology. • Each node knows identity and coordinates of its neighbors. • Node information doesn't change during the execution of the algorithm. • Choose next edge based just on info in message and info at current node. • Q: Why not let the node information change during the algorithm? E.g., node could remember visit history, detect when a message is following a cycle. • A: To save space---algorithm could be used concurrently for many messages, requiring lots of storage. Discrete Algs for Mobile Wireless Sys

  19. Impossibility Claim • Remember, constraints for a local algorithm • Claim: In ordinary planar graphs, without geometric coordinates, this problem is not solvable in general with a local algorithm (with deterministic rules). • Proof LTTR Discrete Algs for Mobile Wireless Sys

  20. Compass Routing I • From any node, always forward message over the adjacent edge that points most closely in the direction of the target t (closest slope). • Example: s t Discrete Algs for Mobile Wireless Sys

  21. Compass Routing I s • Not every planar geometric graph supports compass routing. • Example: t Discrete Algs for Mobile Wireless Sys

  22. Delaunay Triangulation • Delaunay triangulation of a set P of n points in the plane: • Take the convex hull (smallest convex set) containing all the points in P. • Divide this into a set of triangles whose vertices are exactly the points in P. • So that, for each triangle, the circle passing through its vertices has no other point of P in its interior. Discrete Algs for Mobile Wireless Sys

  23. Delaunay Triangulation • Theorem: A unique Delaunay triangulation can always be constructed, provided that no four points are “cocircular”. • Example if 4 points are cocircular: Discrete Algs for Mobile Wireless Sys

  24. Delaunay Triangulation • Be careful though: not every triangulation will be a Delaunay triangulation: Discrete Algs for Mobile Wireless Sys

  25. s x t   y Compass Routing on Delaunay Triangulation Graphs • Theorem 2.1: A Delaunay triangulation of any set P of points supports compass routing. • Proof: Show that, if compass routing traverses edge (s,v) then d(v,t) < d(s,t), strictly decreasing. • Since there are only finitely many vertices, this is enough to show the message reaches t. • Argument is based on simple geometric case analysis, e.g., suppose s wants to reach t, can travel to either x or y. • Claim: • If  <  then d(x,t) < d(s,t). • If    then d(y,t) < d(s,t). Discrete Algs for Mobile Wireless Sys

  26. s s x x t t     y y Compass Routing, Delaunay • Draw circle(s, x, y); t is outside. • Draw center line to t. • WLOG, s is above the center line, and so d(x,t) < d(s,t). • Suppose that   , so y is chosen; must show that d(y,t) < d(s,t) in this case. • Reflect s to get s’. • Use the fact that    (and some inequalities involving angles) to conclude that y is counterclockwise of s’. • Then d(y,t) < d(s’,t) = d(s,t). s’ Discrete Algs for Mobile Wireless Sys

  27. t s Compass Routing II (Face Routing) • First consider graphs that are constructed out of convex polygons, then remove the restriction. • Graphs of convex polygons, where entire collection is also a convex polygon. • Line from s to t passes through a sequence of convex polygons. • Normally, passes through successive edges. • Could pass through vertices, or along edges. • These two cases are ignored in the paper, though probably the algorithm can be extended to handle them. Discrete Algs for Mobile Wireless Sys

  28. t s Compass Routing II (Face Routing) • In the algorithm, the message moves systematically around the successive polygons in this sequence, until it reaches t (guaranteed). • Can do this with the limited available information: • Could alternate moving clockwise and counterclockwise around the faces. • The message contains s and t. • Can check whether a traversed edge crosses edge st. Discrete Algs for Mobile Wireless Sys

  29. t s Arbitrary Planar Geometric Graphs • Such a graph induces a partitioning of the plane into polygonal regions, but now: • The faces needn't be convex. • Entire collection needn’t be convex. • Some edges could stick out. Discrete Algs for Mobile Wireless Sys

  30. Face Routing Algorithm p := s repeat let f be face of G with p on boundary that intersects pt for each edge (u,v) of f do if uv intersects pt at p' and d(p',t) < d(p,t) then p := p' endif endfor traverse f until reaching the edge (u,v) containing p // traverse f counterclockwise / clockwise if f is the outer face until p = t Discrete Algs for Mobile Wireless Sys

  31. Face Routing Example t s Discrete Algs for Mobile Wireless Sys

  32. Evaluation • Guaranteed message arrival. • Number of edge traversals bounded by 4 |E|: • Each edge can be traversed as part of two faces. • Double again because algorithm traverses all the way around each face before deciding. • Restriction to planar graphs • Algorithm given for planar graphs only. • But mobile ad hoc network communication graphs aren't necessarily planar---typically have many crossed edges. • How to apply the results to non-planar graphs? Discrete Algs for Mobile Wireless Sys

  33. Summary of Compass Paper • Compass Routing I: Follow edge pointing in the direction closest to that of the target. • Guaranteed arrival, for subclasses of graphs such as Delaunay triangulations. • Similar to: Follow the edge whose other endpoint is closest to the target. Compare behavior? • Compass Routing II: Face routing. • Guaranteed arrival. • No fault-tolerance: • Algorithms pass just one copy of the message, subject to loss if nodes fail/move. • How to make them more fault-tolerant? • Dynamic case: • What happens when the network topology changes? Discrete Algs for Mobile Wireless Sys

  34. Greedy Perimeter Stateless Routing (GPSR) [Karp, Kung] • Similar results proved (a year earlier) by [Bose, Morin, Stojmenovic, Urrutia] • Problem: Geographical routing, as before. • Basic ideas: • Forward a single copy of a message. • Use greedy routing when possible. • When this fails, default to (a version of) face routing. • Each node keeps only local information. • Claim the algorithm scales well to large networks, and adapts well to changes in topology. Discrete Algs for Mobile Wireless Sys

  35. GPSR • Assumptions: • 2D • Everyone knows their own positions (exactly). • Each message source knows the (exact) position of the message target. • Unit disk model: Edges between all nodes that are at most distance r apart; reliable communication on all edges. • Sometimes (but not usually), they consider changing topology. • Measures: • Communication cost = number of hops traversed. • Message delivery success ratio. • Per-node state. Discrete Algs for Mobile Wireless Sys

  36. Greedy Forwarding • Packets marked by originator with target location t. • Forwarding node u makes locally optimal, greedy choice of next hop: the neighbor geographically closest to t, provided that it is closer to t than u is. • Requires nodes to know their neighbors, and their neighbors’ locations: • Nodes exchange (id, position) information with neighbors. • If topology changes are considered, must do this periodically, at a frequency based on rate of mobility and radio range r: • Periodically, each node transmits its (id, position). • Others update their neighbor info based on the messages they receive. • Use timeout to remove nodes from the neighbor set. • State size depends on density of nodes in the network, but not on the total number of nodes. • But, sometimes greedy doesn't work… Discrete Algs for Mobile Wireless Sys

  37. Greedy Forwarding Can Fail • x has no neighbor closer to t than x is. • Even if x were allowed to pass the message to its neighbor y, y would just pass it back. • When a void is encountered, switch to face routing mode (perimeter mode). • Could return to greedy mode, if face routing ever reaches a node that the regular algorithm would consider an improvement. t void y x Discrete Algs for Mobile Wireless Sys

  38. Planarizing the Graph • But face routing is defined only for planar graphs! • Mobile network unit disk graphs aren’t necessarily planar. • So they construct a planar subgraph of the UDG (ignore some of the edges). • Two approaches: • Relative Neighborhood Graph (RNG) • Gabriel Graph (GG) Discrete Algs for Mobile Wireless Sys

  39. w v u Relative Neighborhood Graph • Relative Neighborhood Graph RNG(V), for a set V of points: • Nodes = V. • Edge (u, v) included iff there is no w  {u, v} such that d(u, w) and d(w, v) are both < d(u, v). • That is, the interior of the “lune” is empty. Discrete Algs for Mobile Wireless Sys

  40. RNG(V) • Example [KK]: • RNG(V) is planar (no crossing edges) - prove later Discrete Algs for Mobile Wireless Sys

  41. Algorithm to Produce an RNG • Using local rules, identify the set of edges in RNG(V)  UDG(V), where V is the set of mobile nodes. • That is, the edges in the RNG that have length ≤ r. • Resulting graph is still planar (of course). • Theorem: If UDG(V) is connected, then so is RNG(V)  UDG(V). Discrete Algs for Mobile Wireless Sys

  42. Algorithm to Produce an RNG • Distributed algorithm for constructing RNG(V)  UDG(V): • “Start with UDG(V) and remove edges.” • Each node u begins with its UDG edges, and removes any UDG edge (u, v) for which there’s another (neighboring) node w with max(d(u,w), d(w,v) ) < d(u,v). • Note the edges can all be removed in parallel---removal condition depends solely on distances, and not on what other edges are removed. Discrete Algs for Mobile Wireless Sys

  43. Algorithm to Produce an RNG • Preserving connectivity: • Eliminating edges that aren't part of the RNG can't disconnect a connected UDG: • An edge is removed only if there is some other node that is closer to both endpoints. • Use an inductive argument, based on removing one edge at a time, in order from longest to shortest. LTTR. • Consistency issue: • Both endpoints of an edge (u, v) should make the same decision about whether to include edge (u, v). • Depends on symmetry of neighbor relationship, and accuracy of geographical information. • This works fine for the unit-disk model, in static situations. • How to extend to weaker or more dynamic models? Discrete Algs for Mobile Wireless Sys

  44. w v u Gabriel Graph GG(V) • Similar to RNG(V): • Nodes = V. • Edge (u, v) included iff there is no w  {u, v} such that (d(u,w))2 + d(w,v)2 ≤ d(u,v)2. • That is, the closed disk contains no nodes except u and v. • A superset of the edges in RNG(V). Discrete Algs for Mobile Wireless Sys

  45. GG(V) • Example [KK]: • original graph Gabriel Graph Relative Neigh. Graph Discrete Algs for Mobile Wireless Sys

  46. c b d a Gabriel Graph GG(V) • Theorem: GG(V) is planar. • Proof: • If not, we have a crossing pattern. • But then both b and d are outside the disk with diameter ac, and both a and c are outside the disk with diameter bd. Means that all the four outer angles are < /2. Impossible. • Corollary: RNG(V) is planar. Discrete Algs for Mobile Wireless Sys

  47. Algorithm to Produce a GG • Using local rules, identify the set of edges in GG(V)  UDG(V), where V is the set of mobile nodes. • That is, the edges in the GG that have length ≤ r. • Resulting graph is planar. • Theorem: If UDG(V) is connected, then so is GG(V)  UDG(V). • Proof: Follows from connectivity of the RNG, which is sparser. Discrete Algs for Mobile Wireless Sys

  48. Algorithm to Produce a GG • Distributed algorithm for constructing GG(V)  UDG(V): • “Start with UDG(V) and remove edges.” • Each node u begins with its UDG edges, and removes any UDG edge (u, v) for which there’s another (neighboring) node w with (d(u,w))2 + d(w,v)2 ≤ d(u,v)2. • Edges can be removed in parallel---condition depends solely on distances. • Again, consistency depends on symmetry of neighbor relationship, and accuracy of geographical information. Discrete Algs for Mobile Wireless Sys

  49. Putting the Pieces Together • For the static case, assuming UDG(V) is connected. • Predetermine a planar connected subgraph---RNG(V) or GG(V). • Start traversing the entire graph UDV(V) using greedy mode. • When the message reaches a node x with no neighbors closer to t, then start traversing the planar subgraph in perimeter mode (using face routing). • Do this until: • Reach t; then done. • Revisit a node; then failed. • Reach a node y with d(y,t) < d(x,t); then resume in greedy mode. Discrete Algs for Mobile Wireless Sys

  50. What if the Topology is Dynamic? • The UDG depends on the current set of neighbors, which changes continually in response to mobility, failures, recoveries. • Must recalculate the planar subgraph in response to these changes. • [KK] recalculate the subgraph upon every acquisition of a new neighbor and every loss of a former neighbor. • But this isn't really enough: The choices of links to remove in the RNG and GG algorithms could change even in the face of minute movements that don't change the neighbor relation. • Needs more work! Discrete Algs for Mobile Wireless Sys

More Related