Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 1 Compasses, Faces, and Butterflies: Route Discovery in Ad-Hoc Networks By Evangelos Kranakis School of Computer Science Carleton University
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 2 Wireless systems from Piconets Home/Office Networks Bluetooth Networks (Packet) Radio Networks Cellular phone systems Sensor Networks Satellite networks Lots of Wireless Systems have become all too pervasive in our everyday lives. Question: How do you discover efficiently a route in such a wireless system?
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 3 The Way it is Wireless Connection Wireless Connection s t A CLOUD Public Telephone System B How do you discover a route from a source s to a destination t? Simple: 1. s sends message to base station A. 2. The public phone system transmits it to base station B. 3. Base station B transmits it to t.
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 4 Routing Data from s to t in a Wireless Ad-Hoc System s t How do you discover a route from a source s to a destination t through a maze of mobile devices (radios, mobile phones, PDAs, etc) and antenas?
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 5 Power of the Signal and Connectivity A B A B The power of received signal is inversely proportional to the distance d between the receivers raised to some power a, i.e., P (d) = P 0 d a, where P 0 is the power received at distance 1 from the transmitter.
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 6 Equal Power Assumption! A B A B To simplify things stations are assumed to have equal power! In the left picture A can reach B and B can reach A. In the right picture A can reach B but B cannot reach A. Later we will remove the equal power assumption!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 7 From Mobile Devices to Circles s t Looking at the power of received signal a group of circles is formed that determines network connectivity, i.e. who can reach whom!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 8 There are Other Factors Complicating Connectivity! More than one node may be transmiting to a given node t. Source Nodes u 2 u 1 u 3 u 4 t Target u 5 u 6 Node i succeeds only if P (u i,t) d(u i,t) a N + j i P (u j,t) d(u j,t) a α where α is a threshold value, and N is the noise level We ignore these factors!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 9 From Circles to Edges s t There is always an underlying geometric graph with faces and edges. How do you construct this geometric graph from the mobile devices? You must remove non-essential edges!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 10 Constructing Geometric Graph not Always Simple! s t Graph is too complicated when transmitters are too close to each other!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 11 Gabriel Test A C B Assume points A and B can reach each other. Draw circle with diameter AB. If there is another point, say C inside this circle then the link connecting A to B is not needed! So, forget the direct link from A to B!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 12 You maintain a Routing Table. How do you forget something? A kind of data base that when you are at A you ask: How do I reach B? It gives you the answer: Go to C. And when you reach C you ask again: How do I reach B? It gives you the answer: Go to B. Standard routing table contains an entry for each possible destination with the out-going link to use for destination Message delivery proceeds in the obvious manner one link at a time, looking up the next link in the table.
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 13 Simple Example: Applying the Gabriel Test How do we apply the Gabriel test? A B
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 14 Applying the Gabriel Test A B
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 15 Applying the Gabriel Test A B
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 16 Applying the Gabriel Test A B
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 17 Applying the Gabriel Test A B
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 18 Applying the Gabriel Test A B
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 19 Applying the Gabriel Test A B
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 20 Applying the Gabriel Test A B
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 21 Applying the Gabriel Test A B
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 22 Applying the Gabriel Test A B
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 23 Too many hops spoil the batteries! The Gabriel test creates a planar graph but removes long links. A B I could have reached B directly from A in one hop. Instead it takes me five hops! What is important: the Gabriel test will remove all crossings!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 24 Global Positioning Systems (GPS) s t Can use GPS to discover the (x, y) coordinates of the target node. GPS uses three satellites in line of sight. It determines location by time-of-arrival differences (temporal delays of several signals). Can always construct an undelying geometric planar graph using the Gabriel test!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 25 Routing in a Geometric Planar Network Input: A geometric graph. Goal. Go from source node s to target node t. We need some kind of capabilities in order to move towards the target t. This may include the following Updating coordinates of current position c. Must know the coordinates of t. If c is our current position we need to be able to determine the slope of the line ct. We need to be able to determine the slopes of the edges incident to our current position.
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 26 Back to Route Discovery After applying the Gabriel test we have a planar graph. s t Using GPS we can find out the (x, y) coordinates of s and t. Hence, we can compute the slope of the line st. But how do we use this information in order to discover a route?
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 27 Algorithm 1. Start at source node c := s. 2. in a recursive way: Compass Routing (a) Choose edge of our geometric graph incident to our current position and with the smallest slope to that of the line ct. (b) Traverse the chosen edge. (c) Go back to (a) and repeat until target t is found With compass routing s will never reach t!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 28 s t
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 29 Face-Routing Algorithm. Face-Routing 1. Starting at c := s determine face F := F 0 incident to c intersected by the line segment st. 2. Select any of the two edges of F 0 incident to c and start traversing the edges of F 0 until we find the second edge, say xy, of F 0 intersected by st. 3. Update face F to the new face of the graph containing edge uv, and vertex v to either of the vertices x or y. 4. Iterate until t is found.
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 30 Go from s to t s c t Initially c := s. Update c and repeat.
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 31 Go from s to t s c t Update c and repeat.
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 32 Go from s to t s c t Update c : and repeat.
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 33 Go from s to t s t c Update c : and repeat.
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 34 Go from s to t s t Now t is found.
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 35 Analysis of Face-Routing Face routing always advances to a new face. We never traverse the same face twice. The distance from the current position c to t gets smaller with each iteration. Each link is traversed a constant number of times. Since the graph is planar face routing traverses at most O(n) edges. Problems with Face-Routing No indication how long is the Euclidean distance traveled! But does it matter? All we wanted was to discover a route!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 36 And now the Butterflies: Butterfly test A B With the butterfly test we can test for a larger region! Can eliminate links faster! Compare with the Gabriel test!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 37 Monarch Butterflies: Morelia test Can we test if a link has to be removed? A B A B Morelia Test Morelia Test
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 38 Keep long links! Morelia test 1. As in the Gabriel test, nodes A, B form a circle with diameter AB. 2. Nodes A and B compute their neighborhood at distance 2. 3. If the neighborhood of A or B has links crossing AB then the link AB must be deleted, else the link is presetved Look at the two previous examples: in left example the morelia test has no effect! in the right example it keeps the long link!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 39 Tricks of the Trade: Eliminating Nodes at Close distance Nodes have distinct identities, e.g., their coordinates would suffice. 1. Each node broadcasts its id 2. Each node selects the max id selected among its own and the ones it received and calls it its center. For each node u let c(u) be its center. Let C be the set of center nodes. 3. Center nodes C selected in 2 broadcast their id. Center nodes elect the max node received as leaders. Let L(c) be the leader associated to c C. With the election process nodes that are too close to each other drop out! Now apply Face-Routing to leaders. Original nodes route by forwarding their data to their leaders.
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 40 Stations with Different Powers Typically, stations in a wireless network will have different powers. For simplicity, lets assume we have two radii: r < R: One type of stations can reach up to a radius r and the other up to a radius R. How do apply face-routing in a wireless network with two radii? How do we form the planar geometric graph?
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 41 The Menace of Non-planarity A A B B A and B, two powerful mobiles, may not be aware of the presence of two weak mobiles A and B. They do not know there is a crossing!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 42 Algorithm for Forming a Planar Graph 1. Form a planar subsgraph by applying the Gabriel (or Morelia) test to the nodes assuming the reachability radius is equal to r. 2. Inform the nodes concerned of the connected component they belong to by using a broadcast algorithm. 3. Form a planar subsgraph by applying the Gabriel (or Morelia) test to the nodes having reachability R. Connect the connected components. 4. The resulting graph may not be planar because there might be crossings between long and short links. Apply a mixed radius test to form a planar subgraph as follows (a) If there is a crossing of a long link with a short link which you must keep in order to maintain connectivity, replace long link with a virtual link.
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 43 Formation of the Connected Components Here nodes are connected using only the small radius r and then the planar subgraph is formed using the Gabriel or Morelia test. It may well be disconnected!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 44 Using the powerful Stations Here nodes are connected using only the bigger radius R and then the planar subgraph is formed for the thick links using the Gabriel or Morelia test. Then we eliminate thick links within a component.
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 45 Creating Planarity: Essential Links with Crossings Essential Edge The resulting graph is not planar! The bottom two connected components are connected with an essential link with a crossing: If we remove it the network is disconnected! If we leave it the network is not planar!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 46 Bingo: Virtual Links Eliminate Crossings! The only way to connect C and D is via the long link AB. A B C D C and D keep in their routing tables the route: C virual D := C A, A B, B D D virual C := D B, B A, A C. The thick link is eliminated, the dashed link is created and... bingo the graph remains planar and connected! Now we can use face routing!
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 47 Conclusions You can always find a route in a planar network By using GPS And you need little memory Sometimes you can create planarity: By applying link removal tests By creating virtual links By increasing power Very important to look at tradeoffs! Can you do the same thing in 3-dimensional space?