on delivery guarantees of face and combined greedy-face routing in ad hoc and sensor networks hannes...
Post on 19-Dec-2015
217 views
TRANSCRIPT
On Delivery Guarantees of Face and Combined Greedy-Face Routing in Ad Hoc and Sensor Networks
Hannes Frey, Ivan Stojmenovic
MobiCom 2006
Face Recovery Details
When to change current face traversal?
How to decide the next face locally?
Example 1
Greedy Perimeter Stateless Routing GPSR [Karp, Kung, 2000]
GPSR – The FACE Routing Part
TS
“ On each face, the traversal uses the right hand rule to reach an edge that crosses line xT. At that edge, the traversal moves to the adjacent face crossed by xT. … The node forwards the packet along the first edge of this next face – by applying the right hand rule, …” [Karp & Kung 2000]
GPSR – The FACE Routing Part
TS
V
“ On each face, the traversal uses the right hand rule to reach an edge that crosses line xT. At that edge, the traversal moves to the adjacent face crossed by xT. … The node forwards the packet along the first edge of this next face – by applying the right hand rule, …” [Karp & Kung 2000]
x
GPSR – The FACE Routing Part
F1 F2
TS
V
“ On each face, the traversal uses the right hand rule to reach an edge that crosses line xT. At that edge, the traversal moves to the adjacent face crossed by xT. … The node forwards the packet along the first edge of this next face – by applying the right hand rule, …” [Karp & Kung 2000]
x
GPSR – The FACE Routing Part
TS
V
“ On each face, the traversal uses the right hand rule to reach an edge that crosses line xT. At that edge, the traversal moves to the adjacent face crossed by xT. … The node forwards the packet along the first edge of this next face – by applying the right hand rule, …” [Karp & Kung 2000]
x
GPSR – The FACE Routing Part
S
V
“ On each face, the traversal uses the right hand rule to reach an edge that crosses line xT. At that edge, the traversal moves to the adjacent face crossed by xT. … The node forwards the packet along the first edge of this next face – by applying the right hand rule, …” [Karp & Kung 2000]
x
T
GPSR – The FACE Routing Part
TS
“ On each face, the traversal uses the right hand rule to reach an edge that crosses line xT. At that edge, the traversal moves to the adjacent face crossed by xT. … The node forwards the packet along the first edge of this next face – by applying the right hand rule, …” [Karp & Kung 2000]
x
What about Delivery Guarantees?
A
B
C
D
E
S T
What about Delivery Guarantees?
A
B
C
D
E
S T
Outer Face
What about Delivery Guarantees?
A
B
C
D
E
S T
Outer Face
What about Delivery Guarantees?
A
B
C
D
E
S T
What about Delivery Guarantees?
A
B
C
D
E
S T
GPSR Forwarding Loop for GG, RNG, and LDT
x
Is this an Issue for Greedy + PSR?
S
A
B
C
D
E
T
F1
F2
P
Q
[Kim et al., 2005]
Example 2
Greedy-Face-Greedy GFG, [Bose et al., 1999]
GFG – The face routing part
P Srepeat
Let F be the face with P on boundary and intersecting PTTraverse* F until reaching an edge that intersects PT at some point Q≠PP Q
until P=T
*counterclockwise if inner, clockwise if outer face
TS
P
F
GFG – The face routing part
P Srepeat
Let F be the face with P on boundary and intersecting PTTraverse* F until reaching an edge that intersects PT at some point Q≠PP Q
until P=T
*counterclockwise if inner, clockwise if outer face
TS
Q
F
P
GFG – The face routing part
P Srepeat
Let F be the face with P on boundary and intersecting PTTraverse* F until reaching an edge that intersects PT at some point Q≠PP Q
until P=T
*counterclockwise if inner, clockwise if outer face
TS
F
P
GFG – The face routing part
P Srepeat
Let F be the face with P on boundary and intersecting PTTraverse* F until reaching an edge that intersects PT at some point Q≠PP Q
until P=T
*counterclockwise if inner, clockwise if outer face
TS
P
F
What about the GPSR Loop?
A
B
C
D
E
S T
Outer Face
What about the GPSR Loop?
A
B
C
D
E
S T
Outer Face
What about the GPSR Loop?
A
B
C
D
E
S T
Outer Face
Select face with P on boundary and intersecting PT
P
What about the GPSR Loop?
A
B
C
D
E
S T
Outer Face
Example 3
Greedy Path Vector Face Routing (GPVFR) [Leong, Mitra, Liskov, 2005]
GPVFR – The Face Routing Part
S T
A
B
1. Find the face F containing the line segment ST. Let A and B be the clockwise and anti-clockwise nodes. If |AT| ≤ |BT|, forward the packet clockwise along F; if |AT| > |BT|, forward the packet anti-clockwise.
2. If any adjacent edge intersects the line segment ST then set S to current node C and go to step 1. [Leong, Mitra, Liskov, 2005]
F
GPVFR – The Face Routing Part
S T
A
B
1. Find the face F containing the line segment ST. Let A and B be the clockwise and anti-clockwise nodes. If |AT| ≤ |BT|, forward the packet clockwise along F; if |AT| > |BT|, forward the packet anti-clockwise.
2. If any adjacent edge intersects the line segment ST then set S to current node C and go to step 1. [Leong, Mitra, Liskov, 2005]
GPVFR – The Face Routing Part
S T
A
B
C
1. Find the face F containing the line segment ST. Let A and B be the clockwise and anti-clockwise nodes. If |AT| ≤ |BT|, forward the packet clockwise along F; if |AT| > |BT|, forward the packet anti-clockwise.
2. If any adjacent edge intersects the line segment ST then set S to current node C and go to step 1. [Leong, Mitra, Liskov, 2005]
S := C
GPVFR – The Face Routing Part
S T
S
B
A
1. Find the face F containing the line segment ST. Let A and B be the clockwise and anti-clockwise nodes. If |AT| ≤ |BT|, forward the packet clockwise along F; if |AT| > |BT|, forward the packet anti-clockwise.
2. If any adjacent edge intersects the line segment ST then set S to current node C and go to step 1. [Leong, Mitra, Liskov, 2005]
F
GPVFR – The Face Routing Part
S T
S
B
A
1. Find the face F containing the line segment ST. Let A and B be the clockwise and anti-clockwise nodes. If |AT| ≤ |BT|, forward the packet clockwise along F; if |AT| > |BT|, forward the packet anti-clockwise.
2. If any adjacent edge intersects the line segment ST then set S to current node C and go to step 1. [Leong, Mitra, Liskov, 2005]
F
What about Delivery Guarantees?
S
T
What about Delivery Guarantees?
S
A
T
B
F
What about Delivery Guarantees?
S
A
C
T
B
What about Delivery Guarantees?
CB
S
T
A
F
What about Delivery Guarantees?
CB
T
B
A
S
F
What about Delivery Guarantees?
T
S
F
What about Delivery Guarantees?
S
TF
GPVFR forwarding loop in arbitrary graphs
Is this an Issue for Greedy + PVFR?
B
S
A
TF
Start here.
Example 4
Greedy Other Adaptive Face Routing GOAFR, [Kuhn et al., 2003]
Face Routing Part of GOAFR
P Srepeat
Explore the complete boundary of face F containing the line PTAdvance to Q on F’s boundary which is closest to T and set P Q
until reaching T
S T
F
P
Face Routing Part of GOAFR
P Srepeat
Explore the complete boundary of face F containing the line PTAdvance to Q on F’s boundary which is closest to T and set P Q
until reaching T
S T
Q
F
P
Face Routing Part of GOAFR
P Srepeat
Explore the complete boundary of face F containing the line PTAdvance to Q on F’s boundary which is closest to T and set P Q
until reaching T
S T
Q
F
P
Face Routing Part of GOAFR
P Srepeat
Explore the complete boundary of face F containing the line PTAdvance to Q on F’s boundary which is closest to T and set P Q
until reaching T
S T
Q
F
P
What about the GPVFR Loop?S
TF
State of the Art
Counter examples for some well established mechanisms which are proved to be correct
Proofs do not consider the details of localized face selection
General question: Does face and combined greedy-face routing provide delivery guarantees???
General Face Start Mechanism
Assumption Planar graph S and T are connected
MechanismSelect first edge SA in cw direction from ST; traverse by right hand rule
Or select first edge SB in ccw direction from ST; traverse by left hand rule
Invariant: Always detects an ST-intersection P≠S
T
S
A B
UV
P
General Face Change Mechanism
Precondition Planar Graph S and T are connected S and U are connected UV intersects ST
MechanismIf UT right of UV then traverse by left hand rule
else traverse by right hand rule
Invariant: Always detects a PT-intersection Q≠P
T
U
V
rightleftS
cw<180°
ccw≤180°
T
S
U
(a)
V
PQ
(b)
RNG and GG are Good Natured
Face change is not an issue in GG and RNG
Intersection Property of GG
RNG GG applies to RNG as well
T
S
U
V
WLOG: |UT| < |ST|
Summary
Success of face routing applied on its own
RNG GG LDT Any
GFG ok ok ok ok
GPSR loop loop loop loop
GOAFR ok ok ok ok
GPVFR ? ? ? loop
Summary
Success of combined greedy-face routing
RNG GG LDT Any
GFG ok ok ok ok
GPSR ok ok ? loop
GOAFR ok ok ok ok
GPVFR ok ok ? loop
Summary
GG and RNG allow simplified scheme
RepeatGreedy as long as possible
Traverse single face until return to greedy possible
Until delivery