Location- -based Routing in based Routing in Location Sensor - - PowerPoint PPT Presentation

location based routing in based routing in location
SMART_READER_LITE
LIVE PREVIEW

Location- -based Routing in based Routing in Location Sensor - - PowerPoint PPT Presentation

Location- -based Routing in based Routing in Location Sensor Networks I Sensor Networks I Jie Gao Computer Science Department Stony Brook University 9/25/05 Jie Gao CSE590-fall06 1 Papers Papers [Karp00] Karp, B. and Kung, H.T.,


slide-1
SLIDE 1

9/25/05 Jie Gao CSE590-fall06 1

Location Location-

  • based Routing in

based Routing in Sensor Networks I Sensor Networks I

Jie Gao

Computer Science Department Stony Brook University

slide-2
SLIDE 2

9/25/05 Jie Gao CSE590-fall06 2

Papers Papers

  • [Karp00] Karp, B. and Kung, H.T., Greedy Perimeter

Stateless Routing for Wireless Networks, in MobiCom 2000.

  • [Gao01] J. Gao, L. Guibas, J. Hershberger, L. Zhang, A. Zhu,

Geometric Spanner for Ad hoc Mobile Networks, in MobiHoc'01.

slide-3
SLIDE 3

9/25/05 Jie Gao CSE590-fall06 3

Routing in ad hoc networks Routing in ad hoc networks

  • Obtain route information between pairs of

nodes wishing to communicate.

  • Proactive protocols: maintain routing tables

at each node that is updated as changes in the network topology are detected.

– Heavy overhead with high network dynamics (caused by link/node failures or node movement). – Not practical for ad hoc networks.

slide-4
SLIDE 4

9/25/05 Jie Gao CSE590-fall06 4

Routing in ad hoc networks Routing in ad hoc networks

  • Reactive protocols: routes are constructed
  • n demand. No global routing table is

maintained.

  • Due to the high rate of topology changes,

reactive protocols are more appropriate for ad hoc networks.

– Ad hoc on demand distance vector routing (AODV) – Dynamic source routing (DSR)

  • However, both depend on flooding for route

discovery.

slide-5
SLIDE 5

9/25/05 Jie Gao CSE590-fall06 5

Geographical routing Geographical routing

  • “Data-centric” routing: routing is

frequently based on a nodes’ attributes and sensed data, rather than

  • n pre-assigned network address.
  • Geographical routing uses a node’s

location to discover path to that route.

slide-6
SLIDE 6

9/25/05 Jie Gao CSE590-fall06 6

Geographical routing Geographical routing

  • Assumptions:

– Nodes know their geographical location – Nodes know their 1-hop neighbors – Routing destinations are specified geographically (a location, or a geographical region) – Each packet can hold a small amount (O(1)) of routing information. – The connectivity graph is modeled as a unit disk graph.

slide-7
SLIDE 7

9/25/05 Jie Gao CSE590-fall06 7

Geographical routing Geographical routing

  • The source node knows

– The location of the destination node; – The location of itself and its 1-hop neighbors.

  • Geographical forwarding: send the packet

to the 1-hop neighbor that makes most progress towards the destination.

– No flooding is involved.

  • Many ways to measure “progress”.

– The one closest to the destination in Euclidean distance. – The one with smallest angle towards the destination: “compass routing”.

slide-8
SLIDE 8

9/25/05 Jie Gao CSE590-fall06 8

Greedy progress Greedy progress

slide-9
SLIDE 9

9/25/05 Jie Gao CSE590-fall06 9

Compass routing may get in loops Compass routing may get in loops

  • Compass routing may get in a loop.

Send packets to the neighbor with smallest angle towards the destination

slide-10
SLIDE 10

9/25/05 Jie Gao CSE590-fall06 10

Geographical routing may get stuck Geographical routing may get stuck

  • Geographical routing may stuck at a node whose

neighbors are all further away from the destination than itself.

t s t

?

s

Send packets to the neighbor closest to the destination

slide-11
SLIDE 11

9/25/05 Jie Gao CSE590-fall06 11

How to get around local minima? How to get around local minima?

  • Use a planar subgraph: a straight line graph with

no crossing edges. It subdivides the plane into connected regions called faces.

slide-12
SLIDE 12

9/25/05 Jie Gao CSE590-fall06 12

Face Routing Face Routing

  • Keep left hand on the wall, walk until hit the straight

line connecting source to destination.

  • Then switch to the next face.

s t

slide-13
SLIDE 13

9/25/05 Jie Gao CSE590-fall06 13

  • All necessary information is stored in the message

– Source and destination positions – The node when it enters face routing mode. – The first edge on the current face.

  • Completely local:

– Knowledge about direct neighbors’ positions is sufficient – Faces are implicit. Only local neighbor ordering around each node is needed.

Face Routing Properties Face Routing Properties

“Right Hand Rule”

slide-14
SLIDE 14

9/25/05 Jie Gao CSE590-fall06 14

What if the destination is disconnected? What if the destination is disconnected?

  • Face routing will get

back to where it enters the perimeter mode.

  • Failed – no way to the

destination.

  • Guaranteed delivery of

a message if there is a path.

slide-15
SLIDE 15

9/25/05 Jie Gao CSE590-fall06 15

Face routing needs a planar graph Face routing needs a planar graph… …. .

Compute a planar subgraph of the unit disk graph.

– Preserves connectivity. – Distributed computation.

slide-16
SLIDE 16

9/25/05 Jie Gao CSE590-fall06 16

A detour on Delaunay triangulation A detour on Delaunay triangulation

slide-17
SLIDE 17

9/25/05 Jie Gao CSE590-fall06 17

Delaunay triangulation Delaunay triangulation

  • First proposed by B. Delaunay in 1934.
  • Numerous applications since then.
slide-18
SLIDE 18

9/25/05 Jie Gao CSE590-fall06 18

Voronoi Voronoi diagram diagram

  • Partition the plane into cells such that all the points

inside a cell have the same closest point. Voronoi vertex Voronoi cell Voronoi edge

slide-19
SLIDE 19

9/25/05 Jie Gao CSE590-fall06 19

Delaunay triangulation Delaunay triangulation

  • Dual of Voronoi diagram: Connect an edge if their

Voronoi cells are adjacent.

  • Triangulation of the convex hull.
slide-20
SLIDE 20

9/25/05 Jie Gao CSE590-fall06 20

Delaunay triangulation Delaunay triangulation

  • “Empty-circle property”: the circumcircle of a

Delaunay triangle is empty of other points.

  • The converse is also true: if all the triangles in a

triangulation are locally Delaunay, then the triangulation is a Delaunay triangulation.

slide-21
SLIDE 21

9/25/05 Jie Gao CSE590-fall06 21

Greedy routing on Delaunay triangulation Greedy routing on Delaunay triangulation

  • Claim: Greedy routing on DT never gets stuck.
slide-22
SLIDE 22

9/25/05 Jie Gao CSE590-fall06 22

Delaunay triangulation Delaunay triangulation

  • For an arbitrary point set, the Delaunay

triangulation may contain long edges.

  • Centralized construction.
  • If the nodes are uniformly placed inside a unit disk,

the longest Delaunay edge is O((logn/n)1/3). [Kozma et.al. PODC’04]

  • Next: 2 planar subgraphs that can be constructed

in a distributed way: relative neighborhood graph and the Gabriel graph.

slide-23
SLIDE 23

9/25/05 Jie Gao CSE590-fall06 23

Relative Neighborhood Graph and Gabriel Relative Neighborhood Graph and Gabriel Graph Graph

  • Relative Neighborhood Graph (RNG) contains an

edge uv if the lune is empty of other points.

  • Gabriel Graph (GG) contains an edge uv if the disk

with uv as diameter is empty of other points.

  • Both can be constructed in a distributed way.
slide-24
SLIDE 24

9/25/05 Jie Gao CSE590-fall06 24

Relative Neighborhood Graph and Gabriel Graph Relative Neighborhood Graph and Gabriel Graph

  • Claim: MST ⊆ RNG ⊆ GG ⊆ Delaunay
  • Thus, RNG and GG are planar (Delaunay is planar)

and keep the connectivity (MST has the same connectivity of UDG).

slide-25
SLIDE 25

9/25/05 Jie Gao CSE590-fall06 25

MST MST ⊆ ⊆ RNG RNG ⊆ ⊆ GG GG ⊆ ⊆ Delaunay Delaunay

1. RNG ⊆ GG: if the lune is empty, then the disk with uv as diameter is also empty. 2. GG ⊆ Delaunay: the disk with uv as diameter is empty, then uv is a Delaunay edge.

slide-26
SLIDE 26

9/25/05 Jie Gao CSE590-fall06 26

MST MST ⊆ ⊆ RNG RNG ⊆ ⊆ GG GG ⊆ ⊆ Delaunay Delaunay

3. MST ⊆ RNG:

  • Assume uv in MST is not in RNG, there is a

point w inside the lune. |uv|>|uw|, |uv|>|vw|.

  • Now we delete uv and partition the MST into two

subtrees.

  • Say w is in the same component with u, then we

can replace uv by wv and get a lighter tree. contradiction. RNG and GG are planar (Delaunay is planar) and keep the connectivity (MST has the same connectivity of UDG).

slide-27
SLIDE 27

9/25/05 Jie Gao CSE590-fall06 27

An example of UDG An example of UDG

200 nodes randomly deployed in a 2000×2000 meters region. Radio range =250meters

slide-28
SLIDE 28

9/25/05 Jie Gao CSE590-fall06 28

An example of GG and RNG An example of GG and RNG

GG RNG

slide-29
SLIDE 29

9/25/05 Jie Gao CSE590-fall06 29

Two problems remain Two problems remain

  • Both RNG and GG remove some edges a short

path may not exist!

  • The shortest path on RNG or GG might be much

longer than the shortest path on the original network.

  • Even if the planar subgraph contains a short path,

can greedy routing and face routing find a short

  • ne?
slide-30
SLIDE 30

9/25/05 Jie Gao CSE590-fall06 30

Tackle problem I: Tackle problem I: Find a planar spanner Find a planar spanner

slide-31
SLIDE 31

9/25/05 Jie Gao CSE590-fall06 31

Find a good Find a good subgraph subgraph

  • Goal: a planar spanner such that the shortest path

is at most α times the shortest path in the unit disk graph.

– Euclidean spanner: The shortest path length is measured in total Euclidean length. – Hop spanner: The shortest path length is measured in hop count.

  • α: spanning ratio.

– Euclidean spanning ratio ≥ – Hop spanning ratio ≥ 2.

  • Let’s first focus on Euclidean spanner.

2

slide-32
SLIDE 32

9/25/05 Jie Gao CSE590-fall06 32

Delaunay triangulation is an Euclidean spanner Delaunay triangulation is an Euclidean spanner

  • DT is a 2.42-spanner of the Euclidean distance.
  • For any two nodes uv, the Euclidean length of the

shortest path in DT is at most 2.42 times |uv|.

slide-33
SLIDE 33

9/25/05 Jie Gao CSE590-fall06 33

Restricted Delaunay graph Restricted Delaunay graph

  • Keep all the Delaunay edges no longer than 1.
  • Claim: RDG is a 2.42-spanner (in total Euclidean

length) of the UDG.

  • Proof sketch: If an edge in UDG is deleted in RDG,

then it’s replaced by a path with length at most 2.42 longer.

slide-34
SLIDE 34

9/25/05 Jie Gao CSE590-fall06 34

Construction of RDG Construction of RDG

  • Easy to compute a superset of

RDG: Each node computes a local Delaunay of its 1-hop neighbors.

– A global Delaunay edge is always a local Delaunay edge, due to the empty-circle property. – A local Delaunay may not be a global Delaunay edges.

  • What if the superset have

crossing edges?

slide-35
SLIDE 35

9/25/05 Jie Gao CSE590-fall06 35

Crossing Lemma Crossing Lemma

  • Crossing lemma: if two edges cross in a UDG, then
  • ne node has edges to the three other nodes in UDG.

|uw| ≤ |wp|+|up| |vx| ≤ |vp|+|xp| |wu|+|vx| ≤ |wx|+|ux| ≤ 2

Also, |wv|+|ux| ≤ |wx|+|ux| ≤ 2 There must be 2 edges on the quad adjacent to the same node.

slide-36
SLIDE 36

9/25/05 Jie Gao CSE590-fall06 36

Detect crossings between local Detect crossings between local delaunay delaunay edges edges

  • By the crossing Lemma: if two edges cross in a

UDG, one of them has 3 nodes in its neighborhood and can tell which one is not Delaunay.

  • Neighbors exchange their local DTs to resolve

inconsistency.

  • A node tells its 1-hop neighbors the non-Delaunay edges

in its local graph.

  • A node receiving a “forbidden” edge will delete it from its

local graph.

  • Completely distributed and local.
slide-37
SLIDE 37

9/25/05 Jie Gao CSE590-fall06 37

RDG construction RDG construction

  • 1-hop information exchange is sufficient.

– Planar graph; – All the short Delaunay edges are included. – We may have some planar non-Delaunay edges but that does not hurt spanning property.

a b

slide-38
SLIDE 38

9/25/05 Jie Gao CSE590-fall06 38

More on RDG construction More on RDG construction

  • RDG can be constructed without the full location

information.

  • Only local angle information suffices.
  • Key operation: If two edges in the unit-disk graph

cross, remove the one that is not in the Delaunay triangulation.

  • How to tell that an edge is not in the Delaunay

triangulation?

slide-39
SLIDE 39

9/25/05 Jie Gao CSE590-fall06 39

Removing non Removing non-

  • Delaunay edges

Delaunay edges

If two edges AB, CD cross, there are only three cases:

slide-40
SLIDE 40

9/25/05 Jie Gao CSE590-fall06 40

If two edges AB, CD cross, there are only three cases:

The shape is fixed! Node C can tell which edge is not Delaunay.

Removing non Removing non-

  • Delaunay edges

Delaunay edges

slide-41
SLIDE 41

9/25/05 Jie Gao CSE590-fall06 41

Case (i) : Use the “empty-circle” test of Delaunay triangulation Conclusion: The edge AB is not a Delaunay edge. |AC| > 1 ≥ |CD| |BC| > 1 ≥ |CD|

Removing non Removing non-

  • Delaunay edges

Delaunay edges

slide-42
SLIDE 42

9/25/05 Jie Gao CSE590-fall06 42

Find a hop spanner Find a hop spanner

  • Restricted delaunay graph is not a hop

spanner.

  • Take n nodes uniformly in a segment of length 1.

The hop count can be as large as n-1.

  • Reduce the density of the sensors.
  • Use clustering to reduce density.
  • Compute RDG on the subset to get a hop

spanner.

  • Clustering also reduce interference and enables

efficient resource reuse such as bandwidth.

slide-43
SLIDE 43

9/25/05 Jie Gao CSE590-fall06 43

Reduce node density Reduce node density

  • Find a subset of nodes, called clusterheads

– Each node is directly connected to at least 1 clusterhead. – No two clusterheads are connected.

  • Use a greedy algorithm. Pick a node as a

clusterhead, remove all the 1-hop neighbors, continue.

  • Constant density: ≤ 6 clusterheads in any unit disk.

– The angle spanned by two clusterheads is at least π/3. π/3

slide-44
SLIDE 44

9/25/05 Jie Gao CSE590-fall06 44

Connect Connect clusterheads clusterheads by gateways by gateways

  • For two clusterheads, if

their clients have an edge, then we pick one pair as gateway nodes.

  • Notice that clusterheads x,

y are within 3 hops to have a pair of gateways.

  • There are constant

clusterheads and gateways inside any unit disk.

slide-45
SLIDE 45

9/25/05 Jie Gao CSE590-fall06 45

Path on Path on clusterheads clusterheads and gateways and gateways

  • For two nodes u, v that are k hops away, there is a path through

clusterheads and gateways with at most 3k+2 hops.

  • Construct RDG on clusterheads and gateways, which have

constant bounded density. 3k clusterheads

Shortest path

slide-46
SLIDE 46

9/25/05 Jie Gao CSE590-fall06 46

A Routing Graph Sample A Routing Graph Sample

slide-47
SLIDE 47

9/25/05 Jie Gao CSE590-fall06 47

Restricted Delaunay graph Restricted Delaunay graph

  • Claim: (RDG on clusterheads and gateways + edges from

clients to clusterheads) is a constant hop spanner of the

  • riginal UDG.
  • Proof sketch:

– The shortest path P in the unit disk graph has k hops. – Through clusterheads and gateways ∃ a path Q with ≤ 3k+2 hops. – Q’s total Euclidean length is ≤ 3k+2. – The shortest path on the RDG, H, has Euclidean length ≤ 2.42×(3k+2). – By constant density property a region with width 1 and length 2.42×(3k+2) has O(k) nodes inside. So # hops of H is O(k). – This concludes the hop spanner property.

P H unit disk graph clusterheads and gateways

slide-48
SLIDE 48

9/25/05 Jie Gao CSE590-fall06 48

Restricted Delaunay graph Restricted Delaunay graph

RNG RDG

slide-49
SLIDE 49

9/25/05 Jie Gao CSE590-fall06 49

Restricted Delaunay graph Restricted Delaunay graph

RNG RDG

slide-50
SLIDE 50

9/25/05 Jie Gao CSE590-fall06 50

Next class: Next class: Tackle problem II: Tackle problem II: Improve face routing to find a short path Improve face routing to find a short path & & Geographic routing in practice Geographic routing in practice

slide-51
SLIDE 51

9/25/05 Jie Gao CSE590-fall06 51

Implementation project? Implementation project?

  • Implementation in TOSSIM simulator, and then

move to real Motes.

– Think of an application scenario by using sensor nodes (with temperature and light sensors). – Show a demo at the end of the semester. – A larger group is allowed. – Email me if you are interested in an implementation project.

  • Shweta Jain will give a lecture on TinyOS and

programming sensor networks (in Oct).