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

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems

Embed Size (px)

DESCRIPTION

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems. Spring 2009 Prof. Jennifer Welch. Lecture 16. Topic: Routing Without Geographic Information Sources: Rao, Ratnasamy, Papadimitriou, Shenker & Stoica Fang, Gao, Guibas, de Silva & Zhang MIT 6.885 Fall 2008 slides. - PowerPoint PPT Presentation

Citation preview

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems

Spring 2009

Prof. Jennifer Welch

Discrete Algs for Mobile Wireless Sys 2

Lecture 16

Topic: Routing Without Geographic Information

Sources: Rao, Ratnasamy, Papadimitriou, Shenker & Stoica Fang, Gao, Guibas, de Silva & Zhang MIT 6.885 Fall 2008 slides

Discrete Algs for Mobile Wireless Sys 3

Point-to-Point Routing Scenario:

network of nodes want to send data from node A to node B sensor networks, MANETs, etc.

Challenge: find an efficient route from A to B nodes may not fully know network topology topology may change as devices are added/fail/move

Discrete Algs for Mobile Wireless Sys 4

The Naïve Way

Epidemic routing / flooding nodes forward packets to all neighbors aim for toal network coverage will succeed, but massive overhead

Can we do better?

Discrete Algs for Mobile Wireless Sys 5

Some Better Ways Distance vector routing

compute shortest paths between all pairs every node stores next hop to destination O(n2) storage, so doesn't scale well

On-demand routing routes established on demand by flooding route requests O(n2) overhead to establish route, so high latency

Hierarchical addressing used in the Internet difficult in mobile networks where structure is changing

Landmark routing nodes choose own address, based on concatenation of nearest

landmark nodes difficult to maintain under mobility

Discrete Algs for Mobile Wireless Sys 6

An Even Better Way: Geographic Routing Nodes know coordinates of self, neighbors, and destination Simple greedy algorithm:

Always forward data to the neighbor closest to the destination

O(degree) storage requirement: just maintain coordinates of your neighbors

Reliable: about 98% success rates Problems:

local minima: no neighbor is nearer destination than current node but current node is not destination

need to know geographic coordinates, not just address, of destination

Discrete Algs for Mobile Wireless Sys 7

Geographic Routing Needs GPS Major drawback of geographic routing is need for

GPS Problems with requiring GPS:

cost energy usage needs line-of-sight; doesn't work indoors or under

heavy foliage proximity not always indicative of connection quality

How to get advantages of simple and effective geographic routing without using GPS?

Discrete Algs for Mobile Wireless Sys 8

Virtual Coordinates See whether some other coordinate system

("virtual coordinates") can be substituted for geographic location coordinates don't need to know actual geographic

locations, just need information so that routing will work well

Essentially heuristic-based A couple of approaches, which work just as

well as true geographic routing

Discrete Algs for Mobile Wireless Sys 9

Geographic Routing Without Location Information [RRPSS]

Assign nodes virtual coordinates Using the virtual coordinates, evaluate this

simple greedy routing algorithm: if I am destination, stop else if some neighbor is closer to destination

then forward message to that neighbor else perform expanding ring search until

finding a closer node (or TTL expires)

Discrete Algs for Mobile Wireless Sys 10

Perimeter Nodes Distinguish between perimeter nodes (those on

the boundary of the 2-D area enclosing all the nodes) and non-perimeter nodes

Consider three cases:1. perimeter nodes know they are perimeter nodes and

know their actual 2-D coordinates

2. perimeter nodes know they are perimeter nodes but don't know their actual coordinates

3. nodes don't know if they are perimeter nodes or not

Discrete Algs for Mobile Wireless Sys 11

Evaluation Framework Simulation:

3200 nodes, distributed randomly in a 200x200 area

64 perimeter nodes average neighbor count is 16

Communication assumptions: perfect radios with transmission radius of 8

units no collisions

Discrete Algs for Mobile Wireless Sys 12

Evaluation Framework [RRPSS]

Discrete Algs for Mobile Wireless Sys 13

Perimeter Nodes Know Their Location Simple iterative relaxation algorithm Perimeter nodes start with their (true)

coordinates, others start with default coordinates repeat

set my coordinates to the average of my neighbors' coordinates (x and y separately)

until convergence Intuition: non-perimeter nodes will move toward

perimeter and bring neighbors with them

Discrete Algs for Mobile Wireless Sys 14

Simulation Results [RRPSS]

Discrete Algs for Mobile Wireless Sys 15

Results Success rate (how many messages make it to

their destinations): 99.3% (vs. 98.9% with true coordinates)

Hop count (average path length): 17.1 (vs. 16.8 with true coordinates)

Discussion: higher success rate with virtual coordinates! Using 8 perimeter nodes instead of 64 gives 98.1%

success rate But coordinate assignment took 1000 iterations :(

Discrete Algs for Mobile Wireless Sys 16

Perimeter Nodes Don't Know Location Perform preprocessing so that perimeter nodes (PNs) can

find coordinates: each PN floods HELLO through network then every PN knows all other PNs and distance (hops) to

each PNs exchange this info PNs perform a "triangulation" algorithm

minimize sum of squares of all pairwise distance errors error = difference between measured distance in hops and

distances calculated from coordinates Resulting coordinates are only unique up to rotation,

reflection and translation, so compute center of gravity of the PNs and use 2 PNs to resolve rotation and reflection

Discrete Algs for Mobile Wireless Sys 17

Results Optimization: non-PNs will hear all the

preprocessing messages so they can come up with good proposals for their own initial coordinates

Only need one! iteration to get good results: success rate 99.2% (vs. 99.3 when PNs know

coordinates) hop count 17.2 (vs. 17.1 when PNs know

coordinates)

Discrete Algs for Mobile Wireless Sys 18

Results [RRPSS]

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

Discrete Algs for Mobile Wireless Sys 19

Perimeter Nodes Know Nothing Add yet another preprocessing stage:

choose a bootstrap node to broadcast HELLO preconfigured, or chosen probabilistically

a node decides to become a PN if it is furthest from the bootstrap node among all its 2-hop neighbors

Results after 10 iteration even with some nodes misclassified as PNs: Success rate: 99.6% Hop count: 17.3

Discrete Algs for Mobile Wireless Sys 20

Results [RRPSS]

Discrete Algs for Mobile Wireless Sys 21

More Complete Simulation Results Performed detailed simulations with a packet-level

simulator, mobility, … Representative result:

Discrete Algs for Mobile Wireless Sys 22

Discussion Shows that virtual coordinates are viable

and can perform as well as, and even better than, actual coordinates for routing

Claim the approach supports mobility, but with all the preprocessing seems dubious…

Scalable as geographic routing, but requires more pre-processing as network size grows

Discrete Algs for Mobile Wireless Sys 23

GLIDER [FGGSZ] Routing in sensor networks in which nodes do not move Use two types of information, global and local topologies Divide nodes into overlapping clusters, called "tiles" A node's address is its tile's address and some local

routing information All nodes keep info about tile topology but not intra-tile

topology Consider an abstract route over the tiles

nodes inside each tile do actual greedy reouting Small amount of state that each node keeps

called "atlas"

Discrete Algs for Mobile Wireless Sys 24

GLIDER Overview Phase 1: Global preprocessing

divide graph into tiles of "uninteresting" clusters, centered by a landmark node uninteresting means no problem features such as

holes, which can hurt routing tiles should reflect underlying network structure

Phase 2: Local routing greedy forwarding based on local coordinates within

each tile works well inside a tile since it has no problem features

such as holes

Discrete Algs for Mobile Wireless Sys 25

GLIDER Overview construct an "atlas" M, a data structure containing

adjacency information for tiles choose landmark nodes construct Voronoi cells of the landmarks

each Voronoi cell is a tile each node belongs to the cell of the nearest

landmark nodes can be in multiple tiles as there can be ties

when deciding on closest landmark M is the "combinatorial Delaunay triangulation",

i.e., the adjacency graph on the tiles

Discrete Algs for Mobile Wireless Sys 26

Voronoi Diagramwww.amath.washington.edu/~dnlennon/voronoi/

Discrete Algs for Mobile Wireless Sys 27

GLIDER Overview Every node maintains M Each node has a two-part name:

the global tile name (id of closest landmark) and the local landmark coordinates (distance from the

node to its own and nearby landmarks)

Discrete Algs for Mobile Wireless Sys 28

Routing in GLIDER Given a destination d, known by name, come up with a

high-level sequence of tiles Once in a particular tile, use gradient descent towards next

landmark, or toward d if in last tile

Discrete Algs for Mobile Wireless Sys 29

Why Does This Work? For each landmark v, define tile T(v) to be set of

nodes whose nearest landmark is v. Lemma 1: For any node u in T(v), every shortest

path from u to v is contained in T(v). For the atlas M, 2 landmarks are connected iff

their tiles share a common node or there is a node in one and a node in the other that are neighbors

Theorem 2: If the communication graph is connected, then M is connected.

Discrete Algs for Mobile Wireless Sys 30

Landmark Selection Atlas M should be small to reduce

overhead (since every node keeps a copy) But need to ensure that each tile has a

simple, feature-less topology! Put landmarks near topological features, so

their cells won't contain them accidentally Suggestions:

choose landmarks manually or select by discovering hole boundaries

Discrete Algs for Mobile Wireless Sys 31

Gradient Property of Continuous Local Coordinates Let {u1, u2, …, uk} be the landmarks Assume each node knows its position p in Euclidean space Define B(p) to be the k-vector of squared distances to the k

landmarks Define B'(p) to be the average squared distance over all k

landmarks Define C(p) to be the centered landmark distance:

C(p)i = B(p)i – B'(p)

Define distance between p and q to be |C(p) – C(q)|2

Lemma: If k ≥ 3, then (in 2D), gradient descent always converges to the destination.

Discrete Algs for Mobile Wireless Sys 32

Local Coordinate Generation Discrete version: this is what we really

care about, since we have a discrete number of hops

Same basic idea as in the previous continuous discussion, but use hops to landmarks instead of Euclidean distances

This can produce local minima, but claim that sufficient node density reduces the occurrence of local minima

Discrete Algs for Mobile Wireless Sys 33

Naming Protocol Once landmarks are selected, nodes must be

named Done in a distributed way Landmarks initiate flooding to determine graph

distances from each node to nearby landmarks and to compute Voronoi cells (tiles)

Once centralized node receives all the information for construction the atlas and distributes it

Each node computes distances between itself and its reference landmarks

Discrete Algs for Mobile Wireless Sys 34

Results

Simulation with 2000 nodes Algorithm works well each node has at

least 5 neighbors, otherwise not well 20% success rate with 3 neighbors, 95% with

4 Performs better than geographic routing in

face of obstacles Claimed to work in 3D also