190 likes | 303 Views
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems. Spring 2009 Prof. Jennifer Welch. Lecture 25 . Topic: Unit Disk Graphs and Relatives Sources: Kuhn, Wattenhofer & Zollinger Barriere, Fraigniaud & Narayanan MIT 6.885 Fall 2008 slides. Unit Disk Graph Model.
E N D
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch
Lecture 25 • Topic: • Unit Disk Graphs and Relatives • Sources: • Kuhn, Wattenhofer & Zollinger • Barriere, Fraigniaud & Narayanan • MIT 6.885 Fall 2008 slides Discrete Algs for Mobile Wireless Sys
Unit Disk Graph Model • Popular theoretical model of wireless communication: • every node within distance 1 of a transmitting node receives the message • no node outside distance 1 receives the message • Easy to use • Not a very accurate of reality: • varying transmission power • obstacles • atmospheric conditions Discrete Algs for Mobile Wireless Sys
Quasi Unit Disk Graph Quasi Unit Disk Graph (QUDG)model • Two nodes can communicate if Euclidean distance between them is < d • Two nodes cannot communicate if Euclidean distance is >1 • If distance is in the range [d..1], it is unspecified whether nodes can communicate Discrete Algs for Mobile Wireless Sys
Results on QUDGs [KWZ] • Lower bound of ((c/d)2) messages to route a message from s to t • d is parameter of the QUDG • c is length of shortest path from s to t • assumes nodes cannot keep routing tables • Matching upper bound: restricted flooding algorithm that routes a message from s to t using O((c/d)2) messages in worst case • nodes use a topology control graph structure • not necessarily efficient in the average case Discrete Algs for Mobile Wireless Sys
Results on QUDGs [KWZ] • Greedy routing + restricted flooding algorithm • still optimal in worst case • more efficient in average case • if d > 1/2, geometric routing works as well in QUDG as in UDG Discrete Algs for Mobile Wireless Sys
Ruling Out Routing Tables • "Volatile Memory Routing Algorithm" • each node can hold O(log n) bits on behalf of a message as long as the message is in transit (n = number of nodes) • Need the memory to store message ids for flooding • Need logarithmic number of bits to distinguish between different messages that are in transit concurrently Discrete Algs for Mobile Wireless Sys
Geometric Routing Algorithm • Every node knows the position in the plane of itself and all its neighbors • Sender of a message knows position of destination • Each message keeps "control info" on at most O(1) nodes Discrete Algs for Mobile Wireless Sys
Message Lower Bound • Theorem 4.1: There exist graphs on which any volatile memory routing algorithm uses ((c/d)2) messages. • Proof Sketch: Construct a specific graph such that • rough structure is a k x k matrix, where k is about n • because of lack of global knowledge of the graph, any volatile memory algorithm needs to explore almost all the nodes in the graph to find path from s to t, i.e., uses (n) messages • Yet shortest path from s to t has length c = (n*d) • So (c/d)2 = (n) Discrete Algs for Mobile Wireless Sys
Developing an Optimal Message QUDG Routing Algorithm • First step is to find a certain subgraph of a given QUDG, called a backbone graph • Backbone graph should not be too dense: • Within a region of area A, contains O(A/d2) nodes • Backbone graph should not make paths too long (should be a spanner): • length of shortest path in b.b. graph is at most O(log (1/d)) times length in original graph Discrete Algs for Mobile Wireless Sys
Constructing Backbone Graph • Construct a maximal independent set of G • nodes in MIS will be cluster heads • Connect cluster heads with connector nodes • since a MIS is a dominating set, cluster heads can be connected by "bridges" of at most 2 nodes • resulting graph is a constant-stretch spanner, but it can be too dense, (A/d4) nodes in a region of area A • Reduce the number of connecting bridges between cluster heads to reduce the density • somewhat complex operation that divides the plane into a grid of square cells and calls (3 times!) an algorithm to construct a sparse spanner Discrete Algs for Mobile Wireless Sys
Using Backbone Graph for Routing • To route a message from s' to t': • route message from s' to its cluster head s' • route message on backbone graph from s to t, cluster head for t' • route message from t' to t • Steps 1 and 3 take constant time and messages • So just focus on Step 2 Discrete Algs for Mobile Wireless Sys
Message-Optimal Flooding: Echo Algorithm • (Assume synchronous system.) • TTL := 1 • while message is not yet delivered • flood message (over backbone graph) to all nodes at distance TTL or less (constructs a breadth-first search tree) • leaves of tree initiate sending echo messages back to source • TTL := 2*TTL Discrete Algs for Mobile Wireless Sys
Analysis of Echo Algorithm • Message complexity is O((c/d)2): • Consider phase when TTL = : • Since max edge length in BBG is 1, all nodes reached in phase are distance at most from source • Relevant circular region has area 2 = O(2) • By BBG property, there are O(2/d2) nodes in the region • So tree constructed in this region has O(2/d2) edges • So message complexity is O(2/d2) Discrete Algs for Mobile Wireless Sys
Analysis of Echo Algorithm • Since TTL is doubled at each phase, total message complexity is a constant multiple of the message complexity in the last phase • in last phase (when destination is reached), t is at most 2c (c is length of shortest path) • Message complexity of last phase is O(c2/d2) • So total message complexity is O(c2/d2) which is optimal Discrete Algs for Mobile Wireless Sys
Other Properties of Echo Algorithm • In synchronous system, time complexity is O(c log(1/d)) • In asynchronous system, message and time complexity are O(log3(c/d)) factor larger than in synchronous system • use previously known synchronizer construction • Are there issues in using synchronizer algorithms in wireless networks? Discrete Algs for Mobile Wireless Sys
Improving Average Case Performance of Echo Algorithm • Combine echo scheme with a greedy scheme • Use greedy routing • If greedy algorithm hits a local minimum with no closer neighbors, then switch to echo algorithm • Criterion for switching back to greedy mode: have found a node that is "significantly" closer to destination than local minimum • chosen in a way to ensure that worst-case message complexity stays optimal • In lucky cases, can stay in greedy mode the whole time, which is much cheaper than flooding Discrete Algs for Mobile Wireless Sys
Large Values of QUDG Parameter d • If d > 1/2, then all intersecting edges can be detected locally: • Lemma 8.2: Let (u1,v1) and (u2,v2) be two intersecting edges in QUDG G with d > 1/2. Then at least one of the edges (u1,u2), (u1,v2), (v1,u2), and (v1,v2) is also in G. Discrete Algs for Mobile Wireless Sys
Geometric Routing on QUDGs with Large Values of d • Define virtual nodes at all intersections of two edges • virtual nodes are managed by the endpoints of the intersection edges • By doing this to the backbone graph, obtain a graph • that is planar (because of the virtual nodes) • only O(A) nodes in any region of area A • Since this planar graph is a spanner, known geometric routing algorithms have cost O(c2) Discrete Algs for Mobile Wireless Sys