geographic routing without location information a. rao, c. papadimitriou, s. shenker, and i. stoica...

28
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

Post on 22-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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 location2. 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

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

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

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

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

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

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

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

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

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

Case 3 (No Location Information)

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

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

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

Performance Evaluation

26

Performance Evaluation

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

Questions?

Thank you!