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

## Presentation on theme: "CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch."— Presentation transcript:

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

Discrete Algs for Mobile Wireless Sys2 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 Sys3 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 Sys4 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 Sys5 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 Sys6 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 Sys7 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 Sys8 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 Sys9 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 Sys10 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/d 2 ) 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 Sys11 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/d 4 ) 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 Sys12 Using Backbone Graph for Routing  To route a message from s' to t': 1.route message from s' to its cluster head s' 2.route message on backbone graph from s to t, cluster head for t' 3.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 Sys13 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 Sys14 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 /d 2 ) nodes in the region  So tree constructed in this region has O(  2 /d 2 ) edges  So message complexity is O(  2 /d 2 )

Discrete Algs for Mobile Wireless Sys15 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(c 2 /d 2 )  So total message complexity is O(c 2 /d 2 ) which is optimal

Discrete Algs for Mobile Wireless Sys16 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(log 3 (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 Sys17 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 Sys18 Large Values of QUDG Parameter d  If d > 1/  2, then all intersecting edges can be detected locally:  Lemma 8.2: Let (u 1,v 1 ) and (u 2,v 2 ) be two intersecting edges in QUDG G with d > 1/  2. Then at least one of the edges (u 1,u 2 ), (u 1,v 2 ), (v 1,u 2 ), and (v 1,v 2 ) is also in G.

Discrete Algs for Mobile Wireless Sys19 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(c 2 )

Similar presentations