Download presentation
Presentation is loading. Please wait.
1
Geographic Routing Without Location Information A. Rao, C. Papadimitriou, S. Shenker, and I. Stoica In Proceedings of the 9th Annual international Conference on Mobile Computing and Networking (San Diego, CA, USA, September 14 - 19, 2003). MobiCom '03 Presentation by Athanasios Bamis
2
2 Introduction Standard Internet routing achieves scalability through address aggregation In Ad-Hoc Networks and Sensor Networks node identifiers of topologically and/or geographically close nodes may not be similar (e.g. sharing high-order bits) On-demand routing can be used only in small and moderate systems
3
3 Introduction One solution is Geographical Routing, which uses the nodes’ locations as their addresses and forwards packets (when possible) in a greedy manner towards the destination.
4
4 Introduction Advantages: 1. Nodes only keep state for their neighbors 2. Supports fully general any-to-any communication pattern without explicit route establishment Scalability Basic Problem: Nodes need to know their locations
5
5 Introduction Contribution of this paper: A light-weight distributed algorithm for assigning virtual coordinates to nodes, which will allow the use of geographical routing in the cases of both traditional ad- hoc routing environments and data centric networks, such as sensornets
6
6 Model A very large number of nodes with a relative high density A very general communication pattern with many host pairs communicating A need for low-latency first-packet delivery We need a routing algorithm that only keeps per-neighbor state and does not involve a route establishment phase
7
7 Routing Algorithm A very simple routing algorithm: All nodes know their own coordinates and the coordinates of all the nodes in their 2-hop neighborhood The set of the coordinates is called the routing table Destinations in packets are virtual coordinates
8
8 Routing Algorithm Packets are routed according to 3 rules: 1. Greedy: The packet is forwarded to the node in routing table closest to the destination, if that node is closer to the destination than the current node 2. Stop: If the node is closer to the destination than any other node in its routing table, and higher layers determine that the packet is indeed bound for this node, then the packet is considered to have arrived at its destination 3. Dead-end: When a packet is not able to make greedy progress, nor has reached a stopping point, we say it has reached dead-end
9
9 Distributed Hash Table The routing by itself is not sufficient. We need to know the location of our destination: Ad Hoc Nets: we need to translate the node identifier to virtual coordinates Sensor Nets: we need to retrieve data based on their attributes (data-centric storage)
10
10 Distributed Hash Table The proposed solution is the use of a Distributed Hash Table (DHT): whenever a “put” or “get” command is issued with a given key (e.g. IP address, or data attribute), that key is hashed into a coordinate and the packet is routed towards that coordinate. When the packet is stopped (i.e. it has arrived at the node closest to its destination), it then either puts or gets the data required.
11
11 Coordinate Construction 3 different scenarios with decreasing degrees of location information of the perimeter nodes (all other nodes have no location information): 1. Perimeter nodes know their location 2. Perimeter nodes know that they are perimeter nodes, but don’t know their location 3. Nodes know neither their location, nor whether they are on the perimeter
12
12 Case 1 (Known Location) Each link (each neighbor relation) is represented by a force that pulls the neighbors together We assume that the force in the x-direction is proportional to the difference in the x- coordinates (similarly for the y-coordinates) If we hold its neighbors fixed, then a node’s equilibrium position is where the x- coordinate is the average of its neighbors x- coordinates (and the same for the y- coordinate)
13
13 Case 1 (Known Location) Thus, we get the following iterative procedure: As the iterations progress, nodes tend to move towards the perimeter nodes that are closest to them in terms of number of hops
14
14 Case 2 (Perimeter Nodes are Known) We need to preface the previous relaxation method with a phase where perimeter nodes compute their own approximate virtual coordinates The algorithm consists of 3 stages: 1. Perimeter nodes broadcast a HELLO msg and record their distances (in hops) for other perimeter nodes in the perimeter vector 2. Each perimeter node broadcasts its perimeter vector to the entire network
15
15 Case 2 (Perimeter Nodes are Known) 3. Every perimeter node uses a triangulation algorithm to compute the coordinates of all other perimeter nodes (including its own), by minimizing:
16
16 Case 2 (Perimeter Nodes are Known) Since the perimeter beacons are flooded over the entire network, non- perimeter nodes can compute initial location estimates using the same triangulation algorithm
17
17 Case 2 (Perimeter Nodes are Known) In case of msg loss or node failures different perimeter nodes may compute inconsistent coordinates (since any set of coordinates can be rotated, translated and flipped while still satisfying the minimization condition) => We need to canonicalize the computation, so that all nodes will arrive at the same solution
18
18 Case 2 (Perimeter Nodes are Known) Canonicalization: 1. we define two bootstrap beacon nodes, which periodically flood the network with HELLO msgs 2. Perimeter nodes calculate the center of gravity (CG), which defines the origin of the coordinate axes with the first bootstrap node defining the (positive) x-axis and the second the y-axis 3. All other coordinates are normalized with respect to these new axes
19
19 Case 3 (No Location Information) Since every node can discover its distance from a bootstrap node, we use the perimeter node criterion to decide perimeter nodes: if a node is the farthest away, among all its 2-hop neighbors from the first bootstrap node, then the node decides that it is on the perimeter
20
20 Case 3 (No Location Information) To support mobility we resort to coordinate projection on circle: perimeter nodes project their coordinates in a circle with center the CG and radius equal to the average distance from it When a new node concludes it’s on the perimeter, it will simply compute the projection of its coordinates on the circle
21
21 Case 3 (No Location Information)
22
22 Summary 1. 2 bootstrap beacons broadcast periodically to the entire network. Nodes use the beacons to determine if they are on the perimeter 2. Every perimeter node broadcasts a HELLO msg to allow every other perimeter node to compute its perimeter vector
23
23 Summary 3. Perimeter and bootstrap nodes broadcast their perimeter vectors to the entire network 4. Each node using the perimeter vectors computes the normalized coordinates of itself and the perimeter nodes. Perimeter nodes project their coordinates onto the outer circle
24
24 Summary 5. Perimeter nodes stay fixed while other nodes run a relaxation algorithm 6. To accommodate mobility a designated bootstrap node periodically broadcasts beacon msgs by which nodes can re-asses whether they lie on the perimeter or not
25
25 Performance Evaluation
26
26 Performance Evaluation
27
27 Conclusions The paper presented an algorithm that assigns virtual coordinates to the nodes It used simulation to show that geographic routing can be achieved effectively using these virtual coordinates instead of true coordinates, and that it can even be more effective in the presence of obstacles
28
28 Questions? Thank you!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.