Information propagation Mikael Asplund Department of Computer and Information Science Linköping University

advertisement
Information propagation
TDDI07 Distributed Embedded Software and Networks
Mikael Asplund
Department of Computer and Information Science
Linköping University
Information propagation goals
●
Minimal control overhead (energy, bandwidth)
●
Minimal processing overhead
●
Multihop capability
●
Dynamic topology maintenance
●
Loop prevention
A
B
C
S
D
E
Information propagation schemes
●
●
●
●
●
●
Unicast
Anycast
Multicast
Broadcast
Manycast
Convergecast
Deliver a message to a specified node
Information propagation schemes
●
●
●
●
●
●
Unicast
Anycast
Multicast
Broadcast
Manycast
Convergecast
Deliver a message to any of a group of nodes
(usually to the one closest to the source)
Information propagation schemes
●
●
●
●
●
●
Unicast
Anycast
Multicast
Broadcast
Manycast
Convergecast
Deliver a message to a group of nodes that have
expressed interest in receiving the message
Information propagation schemes
●
●
●
●
●
●
Unicast
Anycast
Multicast
Broadcast
Manycast
Convergecast
Deliver a message to all the nodes in the network
Information propagation schemes
●
●
●
●
●
●
Unicast
Anycast
Multicast
Broadcast
Manycast
Convergecast
3
Deliver a message to at least k nodes in the network
Information propagation schemes
●
●
●
●
●
●
Unicast
Anycast
Multicast
Broadcast
Manycast
Convergecast
Inverse of broadcast/multicast
ID-based or Data-driven
●
ID-based routing
●
●
●
Route a message from a source to one or more destination using
addressing
Dissemination
●
Deliver data to many nodes (one-to-many)
●
Anycast/Manycast/Broadcast
●
Rumor/Epidemics
Collection
●
Gather the data in particular nodes of the network (sink)
●
Many-to-one traffic pattern
2011-02-17
Baspresentation LiU
Unicast Routing Categories
●
ID-based Flat
●
ID-based Hierarchical
●
Location-based
Terminology
●
●
Link State routing
●
Each node stores a connectivity map of the entire network
Distance vector routing
●
●
Nodes share routing tables with their neighbors
Source routing
●
Allows the sender to specify exactly the route for a packet
through the network
Routing Example
B
A
C
S
D
E
Destination
Next-hop
neighbor
Cost
Destination
Next-hop
neighbor
Cost
A
A
1
A
S
2
D
A
3
D
C
2
D
B
3
D
S
3
D
E
2
E
S
2
E
E
1
E
C
3
Ad Hoc Routing Protocols: Classification
●
●
●
●
When does the routing protocol operate?
Option 1: Routing protocol always tries to keep its routing data
up-to-date
●
Protocol is proactive (active before tables are actually
needed) or table-driven
Option 2: Route is only determined when actually needed
●
Protocol operates on demand, it is reactive
Option 3: Combine the previous two alternatives
●
Hybrid protocols
Proactive Protocols
●
●
●
●
Find routes only when needed
●
Periodically updates the routing tables to keep them up-to-date
Examples:
●
DSDV
●
OLSR
Pros:
●
The networks is reactive to changes, low latency
Cons:
●
Signalling overhead
Reactive Protocols
●
●
●
●
Find routes only when needed
●
Route discovery procedure to find a path to the destination
Examples:
●
DSR
●
AODV
Pros:
●
Reduce the signalling overhead
Cons:
●
Introduce latency
Energy-Efficient Unicast: Goals
●
Particularly interesting performance metric: Energy efficiency
A
3
4
2
1
3
D
C
2
B
1
2
1
E
2
3
1
H
G
F
2
2
4
2
Example: Send data from node A to node H
4
Energy-efficient routing
●
Minimize energy/bit
●
Maximize network lifetime
●
Maximum available power
●
Minimum battery cost (using reciprocal of battery capacity)
●
Min-max battery cost routing (choose path with minimal maximum
reciprocal)
Flooding, the base of all routing
●
Reaches all nodes (?)
●
Simple
●
Problem: Broadcast storm
●
Can be restricted
●
Needed for discovery
●
Gossiping: improves flooding by randomly choosing a neighbour
to which forwarding the packet
Rumor Routing
●
Turn routing problem around: Think of an “agent”
wandering through the network, looking for data (events, …)
 Agent initially
perform random walk
 Leave “traces” in the
network
 Later agents can use
these traces to find
data
 Essentially: works
due to high
probability of line
intersections
Rumor Routing
●
Turn routing problem around: Think of an “agent”
wandering through the network, looking for data (events, …)
 Agent initially
perform random walk
 Leave “traces” in the
network
 Later agents can use
these traces to find
data
 Essentially: works
due to high
probability of line
intersections
Rumor Routing
●
Turn routing problem around: Think of an “agent”
wandering through the network, looking for data (events, …)
 Agent initially
perform random walk
 Leave “traces” in the
network
 Later agents can use
these traces to find
data
 Essentially: works
due to high
probability of line
intersections
Rumor Routing
●
Turn routing problem around: Think of an “agent”
wandering through the network, looking for data (events, …)
 Agent initially
perform random walk
 Leave “traces” in the
network
 Later agents can use
these traces to find
data
 Essentially: works
due to high
probability of line
intersections
Rumor Routing
●
Turn routing problem around: Think of an “agent”
wandering through the network, looking for data (events, …)
 Agent initially
perform random walk
 Leave “traces” in the
network
 Later agents can use
these traces to find
data
 Essentially: works
due to high
probability of line
?
intersections
Rumor Routing
●
Turn routing problem around: Think of an “agent”
wandering through the network, looking for data (events, …)
 Agent initially
perform random walk
 Leave “traces” in the
network
 Later agents can use
these traces to find
data
 Essentially: works
due to high
probability of line
?
intersections
Rumor Routing
●
Turn routing problem around: Think of an “agent”
wandering through the network, looking for data (events, …)
 Agent initially
perform random walk
 Leave “traces” in the
network
 Later agents can use
these traces to find
data
 Essentially: works
due to high
probability of line
?
intersections
Rumor Routing
●
Turn routing problem around: Think of an “agent”
wandering through the network, looking for data (events, …)
 Agent initially
perform random walk
 Leave “traces” in the
network
 Later agents can use
these traces to find
data
 Essentially: works
due to high
probability of line
?
intersections
Rumor Routing
●
Turn routing problem around: Think of an “agent”
wandering through the network, looking for data (events, …)
 Agent initially
perform random walk
 Leave “traces” in the
network
 Later agents can use
these traces to find
data
 Essentially: works
due to high
probability of line
?
intersections
Unicast Routing Categories
●
ID-based Flat
●
ID-based Hierarchical
●
Location-based
Hierarchical Networks – Backbones
●
Idea: Select some nodes from the network/graph to form a
backbone
●
A connected, minimal, dominating set (MDS or MCDS)
●
●
●
Dominating nodes control their neighbors
Protocols like routing are confronted with a simple topology –
from a simple node, route to the backbone, routing in backbone
is simple (few nodes)
Problem: MDS is an NP-hard problem
●
Hard to approximate, and even approximations need quite a
few messages
Backbone by Growing a Tree
Construct the backbone as a tree, grown iteratively
Backbone by Growing a Tree – Example
1:
2:
3:
4:
Problem: Which Gray Node to Pick?
When blindly picking any gray node to turn black, resulting tree can
be very bad
u
u
d
...
d
...
d
...
...
...
...
...
...
...
v
Solution:
Look ahead!
One step suffices
Look ahead
using
nodes g
and w
u
v
v
u
g
u
d
...
d
...
...
...
...
...
v=w
v
Start Big, Make Lean
●
●
Idea: start with some, possibly large, connected dominating set,
reduce it by removing unnecessary nodes
Initial construction for dominating set
●
All nodes are initially white
●
●
Mark any node black that has two neighbours that are not
neighbours of each other (they might need to be dominated)
! Black nodes form a connected dominating set (for connected
non-complete networks); shortest path between ANY two nodes
only contains black nodes
●
Needed: Pruning heuristics
Pruning Heuristics
●
Heuristic 1: Unmark node v if
●
Node v and its neighborhood are included in the neighborhood
of some node marked node u (then u will do the domination for
v as well)
●
●
Node v has a smaller unique identifier than u (to break ties)
Heuristic 2: Unmark node v if
●
●
Node v’s neighborhood is included in the neighborhood of two
marked neighbors u and w
Node v has the smallest
identifier of the tree nodes
a
u
v
w
b
c
d
Clustering
●
●
Partition nodes into groups of nodes – clusters
Many options for details
●
Are there clusterheads? – One controller/representative node
per cluster
●
●
May clusterheads be neighbors? If no: clusterheads form an
independent set
Typically: clusterheads form a maximum independent set
May clusters overlap? Do they have nodes in common?
Maximum Independent Set
●
●
●
●
Definition: maximum set of nodes that are not connected
Computing a maximum independent set is NP-complete
Show: A maximum independent set is also a dominating set
Maximum independent set not necessarily intuitively desired
solution
●
Example: Radial graph, with only (v0,vi)  E
A Basic Construction Idea for Independent Sets
•
•
•
Init:
1
2
3
7
6
5
4
Step 1:
1
2
3
7
6
5
4
Step 2:
1
2
3
7
6
5
4
Make each node a clusterhead
that locally has the largest attribute
value
Step 3:
1
2
3
7
6
5
4
Once a node is dominated by a
clusterhead, it abstains from local
competition, giving other nodes a
chance
Step 4:
1
2
3
7
6
5
4
Use some attribute of nodes to
break local symmetries
•
Node identifiers, energy
reserve, mobility, weighted
combinations… - matters not
for the idea as such (all types
of variations have been looked
at)
Determining Gateways to Connect Clusters
●
●
●
●
Suppose: Clusterheads have been found
How to connect the clusters, how to select gateways?
It suffices for each clusterhead to connect to all other clusterheads that are
at most three hops away
●
Resulting backbone (!) is connected
Formally: Steiner tree problem
●
●
Given: Graph G=(V,E), a subset C  V
Required: Find another subset T  V such that C  T is connected and
C  T is the cheapest such set
●
Cost metric: number of nodes in T, link cost
●
Here: special case since nodes in C are an independent set
Rotating Clusterheads
●
●
Serving as a clusterhead can put additional burdens on a node
●
For MAC coordination, routing, …
Rotate
●
Periodically reelect
●
LEACH – determine an optimal percentage P of nodes to
become clusterheads in a network
–
Use 1/P rounds to form a period
–
In each round, nP nodes are elected as clusterheads
–
At beginning of round r, node that has not served as clusterhead in this
period becomes clusterhead with probability P/(1-P(r mod 1/P))
Unicast Routing Categories
●
ID-based flat
●
ID-based hierarchical
●
Location-based
Basics of Position-based Routing
●
●
●
Most forward within range r
●
Send to that neighbor that realizes the most forward progress
towards destination
●
Problem: being greedy, it often selects a long path (hop count)
Nearest node with (any) forward progress
●
Idea: Minimize transmission power
Directional routing
●
Choose next hop that is angularly closest to destination
●
Choose next hop that is closest to the connecting line between
source and destination
●
Problem: Might result in loops!
Problem: Dead Ends
●
Simple strategies might send a packet into a dead end
●
Possible solution: Greedy Perimeter Stateless Routing (GPSR)
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
K
Z
D
J
C
G
L
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
K
Z
D
J
C
G
L
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
K
Z
D
J
C
G
L
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
Z
D
J
Enter
face
routing
K
C
G
Face: largest region not cut by other edges
L
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
Z
D
J
Enter
face
routing
K
C
G
Face: largest region not cut by other edges
L
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
Z
D
J
Enter
face
routing
K
C
G
L
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
Z
D
J
Enter
face
routing
K
C
G
L
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
Z
D
J
Enter
face
routing
K
C
G
L
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
Z
D
J
Enter
face
routing
K
C
G
L
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
Z
D
J
Enter
face
routing
K
C
G
L
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
Z
D
J
Enter
face
routing
K
C
G
L
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
Z
D
J
Enter
face
routing
K
C
G
L
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
Z
D
J
Enter
face
routing
K
C
G
L
GPSR – Example
●
Route packet from node A to node Z
E
B
A
I
F
H
Z
D
J
Enter
face
routing
K
C
G
L
ID-based or Data-driven
●
ID-based routing
●
●
●
Route a message from a source to one or more destination using
addressing
Dissemination
●
Deliver data to many nodes (one-to-many)
●
Anycast/Manycast/Broadcast
●
Rumor/Epidemics
Collection
●
Gather the data in particular nodes of the network
●
Many-to-one traffic pattern
2011-02-17
Baspresentation LiU
Why collection protocols?
●
●
Monitoring applications
●
Sense data
●
Send it to collecting nodes
Can't we use the previous MANET protocols?
●
Resource constraints
●
Unstable links and network topologies
●
Scalability issues
●
Self-organising features required
2011-02-17
Baspresentation LiU
Collection trees
●
Network topology: tree
structure
●
●
●
The root is the “sink”
Leaves and intermediate
nodes are normal nodes
Routing:
●
each node forward the packet
to its parent
http://sing.stanford.edu/gnawali/ctp/CTP-SenSys2009.pdf
2011-02-17
Baspresentation LiU
Cost-based routing
2011-02-17
Baspresentation LiU
Cost-based routing
1
8
2011-02-17
Baspresentation LiU
Cost-based routing
4
1
9
8
4
2011-02-17
Baspresentation LiU
Cost-based routing
4
3
1
9
8
8
4
2011-02-17
Baspresentation LiU
Cost-based routing
4
3
1
10
9
8
8
4
2011-02-17
Baspresentation LiU
Cost-based routing
1
8
4
5
1
3
10
8
18
9
8
12
4
2011-02-17
Baspresentation LiU
8
Cost-based routing
1
8
4
5
1
3
10
8
18
9
8
12
4
2011-02-17
Baspresentation LiU
8
Cost-based routing
2011-02-17
Baspresentation LiU
Collection Tree Protocol
●
State of the art protocol for Wireless Sensor Networks
●
Characteristics
●
Distance vector
●
Distributed
●
Cost-based
●
Proactive and reactive elements
2011-02-17
Baspresentation LiU
Cost metric: ETX
●
Expected Number of Transmissions (ETX)
●
Sink cost = 0
●
The cost monotonically decreases while reaching the sink
4
1
5
1
3
8
10
8
18
9
8
12
4
2011-02-17
Baspresentation LiU
CTP features
●
Datapath validation
●
Use data packet to check topology inconsistency
–
Loop detection
The cost must decrease while reaching the sink!
1
25 19
3
1
8
10
8
9
8
1
12
4
2011-02-17
Baspresentation LiU
18
CTP features
●
Beaconing
●
●
●
Usually fixed intervals
Tradeoff between energy (and bandwidth) vs agility in updating the
network topology
Adaptive beaconing
●
Increase the interval if nothing happens
●
Reset the interval if an event occurs
–
Loop detected during datapath validation
–
Significant change of cost
–
New node asking neighbour information
2011-02-17
Baspresentation LiU
Download