geographical routing using partial information for wireless ad hoc networks

Post on 20-Jan-2016

16 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Geographical Routing Using Partial Information for Wireless Ad Hoc Networks. Rahul Jain, Anuj Puri, and Raja Sengupta Department of EECS University of California, Berkeley IEEE Personal Communications, February, 2001. Problem Statement. - PowerPoint PPT Presentation

TRANSCRIPT

Geographical Routing Using Partial Information for Wireless Ad Hoc Networks

Rahul Jain, Anuj Puri, and Raja SenguptaDepartment of EECSUniversity of California, BerkeleyIEEE Personal Communications,

February, 2001

Problem Statement

Goal: Solve the routing problem in wireless ad hoc network using the position information.

How: When S want to send a packet to a node D, it takes the pos(D) and find one of its neighbors which geographically is closet to D; then it forwards the packet to D.

Problem: What if S is the closer to D than its neighbors?

Solution: Use Route Discovery Protocol

Assumptions

Each node has fixed power for trans-receivers, i.e. the neighbors of each node is fixed. We model the network with a graph

is a undirected connected graph. Initially each nodes knows the geographical positions of

itself and its neighbors. When Sending (forwarding) a message, we know the

geographical position of the destination.

),( ENG

G

Definitions

Let be the set of nodes whose locations are known to node S at time t. Call these nodes centers.

Voronoi cell: Let be any set of points in A Voronoi cell with center is defined as follows:

Voronoi view: The Voronoi view at node S at time t is:Voronoi view: The Voronoi view at node S at time t is:

},...,,{ 21 ks SSSC

},...,,{ 21 kSSS

iS

}|,)(|min|)(:|{)( SjjiiS CSSposzSposzzSV kj1

}:)({ siisS CSSVV

iS

Routing Table Structure

Node Node Position Neighbor Node (Next)

Time stamp

S pos(S) S TS

N pos(N) N TN

... … … …

S’ pos(S’) N’ TS’

… … … …

Each entry is a 4-tuple (Si, , pos(Si), NextS(Si), TSi)

The Algorithm

//let for some

If (S == D)

// packet reached its destination

else if (Si != S)

next_node = NextS(Si);

else

//packet is stuck

Initiate route_discovery(S, D);

next_node = Nexts(D);

)()( SiVsDpos CsSi

Route Discovery Protocol

route_discovery(S,D) finds an acyclic path Path(S,D) = <k0, k1, …, kl> from S to D, and it updates the routing table of node ki with an entry (D, pD, ki+1).

Example1

Example1 (Initial Routing Table)

Node Routing Table

A {(A, (1.5, 1.5), --), (B, (2,2), B)}

B {(B, (2,2), --), (A, (1.5, 1.5), A), (C, (3,1), C)}

C {(C, (3,1), --), (B, (2,2), B), (D, (2.5, 0), D), (E, (4,0), E)}

D {(D, (2.5, 0), --), (C, (3,1), C)}

E {(E, (4,0), --), (C, (3,1), C)}

A sends a packet to C: ABCA sends a packet to D: stuck

Example1 (Updated Routing Table)

Node Routing Table

A {(A, (1.5, 1.5), --), (B, (2,2), B), (D, (2.5), B)}

B {(B, (2,2), --), (A, (1.5, 1.5), A), (C, (3,1), C), (D, (2.5, 0), C)}

C {(C, (3,1), --), (B, (2,2), B), (D, (2.5, 0), D), (E, (4,0), E)}

D {(D, (2.5, 0), --), (C, (3,1), C)}

E {(E, (4,0), --), (C, (3,1), C)}

Assume: route-discovery(A, D)= <A, B, C, D>

Path-Finding Phase

The route can be discovered right up to destination node D (Full route discovery), or it can be discovered up to a node Y which has node D as a cell center (partial route discovery).

The following algorithm can be used to find an acyclic

path to the destination:

Breath First Search

Depth First Search

Convergence of Routing Tables

Definition: The Voronoi view of node S is complete if VS(S) contains only node S

If the routing table has enough information s.t.

no packet becomes stuck, then the Voronoi

views are complete.

Size of Routing Table

Claim: The average routing table size in a n-node network G when all the nodes have complete Voronoi views is , where

L is the mean route discovery path length.

))log(( nL

Multiple Route Discoveries Issue

Example

• S1 sends RD1 for the destination D at t1

• S2 send RD2 for the destination D at t2

RD1: s1x1x2y2 D

RD2: s2x2x1y1 D

ACK1 reaches x2, then ACK2

x2 puts (D, --,y2,--) first, then (D, --, x1, --)

And x1 puts, (D, --, y1, --), then (D, --, x2, --)

Cycle in the routing tables

Mobility in Ad Hoc Networks

The routing table might be inconsistent .

Improved Version of the Protocol

1. If S receives a “hello” message n i, it puts an entry (ni, pos(ni), ni) in its routing table

2. If S does not hear from a neighbor n i for a while, it removes all entries of the form (di, pi, ni) from its routing table

3. If Table(S) contains the entry (di, pi, ni) and S receives Table(ni) which contains the entry (di, pj, -), then S updates its entry to (d i, pj, ni ,-)

4. If Table(S) contains the entry (di, pi, ni ) and S receives Table(ni) which does not contain an entry (d i,--, --), then S removes the entry (di, pi, ni )

5. After any change to its routing table, S broadcasts the new Table(S)

Average Number of Neighbors

Mean Routing Table Size

GRA protocol packets per node

Time to Converge (in seconds)

top related