Data Communication
Guaranteed Delivery Based on
Memorization
Motivation
Many greedy routing schemes perform well in dense networks
Greedy routing has a small communication overhead
Desirable to run Greedy routing as long as possible
However, greedy routing might fail in sparse networks
Guaranteed delivery is desirable property as well
On the following slides: in case of failure run a recovery mechanism which requires memorizing past routing information
In the message
In the visited node
Recovery by Flooding
Stojmenovic, Lin: Partial flooding to guarantee delivery (f- GEDIR, f-MFR, f-DIR)
Intermediate nodes handle packet according to GEDIR, MFR, …
Concave node broadcasts packet to all neighbors
To avoid message loops: concave node rejects further copies of the message, concave nodes are removed from the list of candidate nodes
Example: Message from S to D
S C
E
F
A
B G
H
D
unicast broadcast
Recovery by Flooding
When there is a path from source to destination then one of the neighbors lies on the path → guaranteed delivery
Observation: flooding produces many redundant message transmissions
Improvement: Component routing
Connected components in node v – partitions in the one-hop neighborhood graph N(v) when removing v
Algorithm
Concave node determines connected components
Forward message to only the best neighbor in each component
Number of message transmissions reduced significantly
e.g. concave node has at most four connected components in the unit disk graph model
DFS-Based Routing
Jain et al.: Geographic Routing Algorithm (GRA)
Intermediate node handles message greedily
Concave node maintains route to destination node
Start route discovery for outdated routing tables
Stuck packet is routed to destination after successful route discovery
How to perform route discovery?
DFS-Based Routing
Depth first search from concave node S
Yields an acyclic path from S to D
Node X puts its address on route discovery packet p
Forward to neighbor who has not seen p before
Select neighbor Y which minimizes |XY|+|YD|
If no possible neighbor exists, remove address from p and send it back to the node from which p was originally received
Alternative implementation: memorize DFS data in nodes
Other metrics may be applied on next neighbor selection
Quality-of-service paths (delay and bandwidth criteria, connection time, …)
X W
1 2 3
Y1
Y2 root Y3
t1, t6: path = …W
t2: path = …W X
t3: path = …W X Y1
t4: path = …W X Y2 t5: path = …W X Y3
Data Communication
Memoryless Guaranteed Delivery
Motivation
Disadvantage of greedy recovery based on memorizing traffic
Traffic may increase
Memorized data may be outdated
Greedy routing does not suffer from this fact
Instantaneous forwarding decision
Not affected by previous (and probably outdated) state information
Question: is there a recovery strategy which
preserves greedy’s memoryless property?
The Face Recovery Principle
Locally construct a planar graph
Visit face sequence providing progress towards T
Traverse faces according to the left/right hand rule
Return into greedy mode whenever possible
S F1
F2
F3
F4
F5
T
A B
C D
Face Recovery Details
When to change current face traversal?
How to decide the next face locally?
Example 1
Greedy-Face-Greedy GFG, [Bose et al., 1999]
GFG – The face routing part
P S repeat
Let F be the face with P on boundary and intersecting PT
Traverse* F until reaching an edge that intersects PT at some point Q≠P P Q
until P=T
*counterclockwise if inner, clockwise if outer face
T S
P
F
GFG – The face routing part
P S repeat
Let F be the face with P on boundary and intersecting PT
Traverse* F until reaching an edge that intersects PT at some point Q≠P P Q
until P=T
*counterclockwise if inner, clockwise if outer face
T S
Q
F
P
GFG – The face routing part
P S repeat
Let F be the face with P on boundary and intersecting PT
Traverse* F until reaching an edge that intersects PT at some point Q≠P P Q
until P=T
*counterclockwise if inner, clockwise if outer face
T S
F
P
GFG – The face routing part
P S repeat
Let F be the face with P on boundary and intersecting PT
Traverse* F until reaching an edge that intersects PT at some point Q≠P P Q
until P=T
*counterclockwise if inner, clockwise if outer face
T S
P
F
Example 2
Greedy Other Adaptive Face Routing GOAFR,
[Kuhn et al., 2003]
Face Routing Part of GOAFR
P S repeat
Explore the complete boundary of face F containing the line PT Advance 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 S repeat
Explore the complete boundary of face F containing the line PT Advance 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 S repeat
Explore the complete boundary of face F containing the line PT Advance 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 S repeat
Explore the complete boundary of face F containing the line PT Advance to Q on F’s boundary which is closest to T and set P Q until reaching T
S T
Q
F
P
General Face Change Mechanism
Observation: face can be traversed in two directions
After crossing variant: U selects V
Before crossing variant: U selects W
Best angle variant: U selects W
S T
V
U
W
Comparison of Variants
FACE over Dominating Set
Fact: localized planar graph construction prefers short edges over long ones
Affects performance of face traversal: increased hop count
How to reduce number of network nodes used by FACE?
Remember: connected dominating set – subset S of nodes of a graph G which satisfies
Induced subgraph G[S] is connected
Each node in G is either in S or has a one-hop neighbor in S
Datta et al.: Perform FACE algorithm only on internal nodes defined by a connected dominating set
Gabriel graph construction performed on DS only
If concave node is no internal node forward to neighbor in DS
Route along Gabriel graph until
Local minimum handled
Or node with destination in its neighbor list reached
Shortcut-Based FACE Routing
Possibly more neighbor nodes along path produced by face traversal
Locally construct planar graph used by all neighbor nodes → 2-hop neighbor information needed!
Perform a local planar graph traversal until reaching the last node in view and send packet to that node directly
S
D
…
Geographical Cluster Based
Routing
The main Idea
Connect neighboring clusters connected by a pair of nodes
No UDG assumption; nodes need to be connected within one cluster
Message loosely follows faces of the planar overlay graph
Graph exploration requires local knowledge of all adjacent clusters
Forwarding requires connectivity within Cluster C
S u T
F1 F2 F3 w
C v
D
GCR versus FACE
GCR Enables Local Traffic Dispersion
v
A B C
The Impact of Mobility
Routing on sub graph Routing on overlay
Source Node
Destination Node Destination Cluster
Source Cluster
Performance Study on Success Rate
The Advantages of Overlays
No geometric network requirements
Cluster membership sufficient
Greedy forwarding even in recovery mode
More robust to mobility
The Bad News
Disconnection
S
uv
T
The Bad News
Disconnection
Consider all edges
A
B
C
The Bad News
Disconnection
Consider all edges
Not implicitly planar C
D A
B
The Bad News
Disconnection
Consider all edges
Not implicitly planar
Remove bad edges
Always possible?
Local detection?
Planarity and Connectivity
Planarization by Edge Removal
Undirected graph
Unit disk graph
Circular transmission range
Unique sending radius
Aggregated UDG ?
Observation
Redundancy Property
Locally detectable intersection
Planarity and connectivity? C
D
A
B A
B
C
D (a)
(b)
R vw
E w
v, ) (
Redundancy Property not Sufficient
Assumption
Arbitrary network
Redundancy property
Conflicting goals
Planarity
Connectivity
Additional property?
( co-existence property)
u1 u2
u3
u4 u5
v1
v3 v2 v4
v5
w
Aggregated Gabriel Graph
Construction
Properties
Aggregated Gabriel Graph
Construction
Gabriel graph on UDG
Properties
u v
w
Aggregated Gabriel Graph
Construction
Gabriel graph on UDG
Aggregation afterwards
Properties
Aggregated Gabriel Graph
Construction
Gabriel graph on UDG
Aggregation afterwards
Properties
Connected
No regular intersection
Localized construction
Planar?
Irregular Intersection Problem
A B C
u w
v
A B C
u w
v
A B C
u w
v Aggregated Graph
Sub Graph 1
Sub graph 2
Purged Aggregated Gabriel Graph
A
B C
Irregular intersection ABxC
Purged Aggregated Gabriel Graph
A
C
B
Irregular intersection ABxC
UDG exists AC or BC
Purged Aggregated Gabriel Graph
Irregular intersection ABxC
UDG exists AC or BC
Remove AB
A
C
B
Purged Aggregated Gabriel Graph
Irregular intersection ABxC
UDG exists AC or BC
Remove AB
Introduce implicit edge BC
Properties
Planar
Connected
Localized construction possible
Forwarding along implicit edge BC?