Topology Control
Backbone Construction
Motivation: Backbone Construction
So far controlling topology by removing edges
Now topology control by removing nodes
Energy efficiency is the main application
Communication
Sensor coverage
Mitigate contention in a shared media is a
secondary goal
31
Motivation: Backbone Construction
Discussion on sensor radio
Active state: receiving or transmitting
Idle state: Listening into channel
Sleep state: Radio switched off
Significant energy savings due to sleep state
Placing as many nodes into sleep mode will prolong network lifetime
However, energy conserving sleep cycles are necessary
For the next we consider one such cycle
Dominating Sets
Definition: dominating set DS
Each node is either in DS or
Has a one-hop neighbor in DS
Definition: connected dominating set CDS
DS with nodes in DS forming a connected subgraph
Example
DS CDS
33
Dominating Sets
Most important concepts
Neighbor DS – traditional DS on communication graph
Area DS – any point in the area is covered by at least one sensor
Example use of Neighbor CDS: Broadcasting
Single node initiates broadcast and reaches CDS node
Only nodes in CDS rebroadcast
Any node in network will get broadcast message
Advantage: reduced communication overhead
Example use of Area DS: provide network of medium density
Fact: constructing minimum CDS is an NP-complete problem
Thus, interesting to find CDS schemes with good
approximation ratio
Clustering
Classification of nodes
Cluster – set of logically grouped nodes (here: nodes in vicinity)
Cluster head CH – coordinates it’s cluster
Cluster member CM – other nodes in cluster
Gateway node GW – interconnect of CHs
Example
CH
CH GW
cluster
cluster
Topology Control
Two Distributed Clustering
Examples
A Distributed Clustering Algorithm
Initial assumption
Nodes have an ID
Nodes are initially undecided
One-hop neighbors are known
Cluster formation
If all lower ID neighbors have sent cluster decision and
No one declared itself as clusterhead then
Decide to become clusterhead and
Broadcast decision to all neighbors
Cluster join
If receipt of CH decision of a neighbor node then
Declare self as non CH node and
Broadcast non-CH decision to all one-hop neighbors
Cluster interconnect
If received more than one CH node then
Declare self as gateway node
Improvement
Reduce number of clusterheads by using (degree, ID) in CH decision example: only one clusterhead; node 6
Use remaining energy as ID nodes with highest energy resources become CH
1
4 5
6
2 3
1
4 5
6
2 3
1
4 5
6
2 3
1
4 5
6
2 3 Initial network
Cluster formation
Cluster join
37
A Cluster Refinement Algorithm
Initial cluster setup
No messages received from other CHs
Declare as CH and
Inform neighbor nodes
Cluster migration
Periodically determine neighbor which is
Best node to become new CH
Definition: best neighbor
Node which as CH
(1) Maximizes number of followers and
(2) Minimizes overlap with other clusters
Example
Two initial CH become a single one
A
B
C
D E F
A
B
C
D E F
A
B
C
D E F
4
5
4
5
2 3
Topology Control
Dominating Sets
39
Dominating Set by Nominating Nodes
A simple scheme
Each node has an ID
Each node determines neighbor’s ID
Nominate neighbor with highest ID as DS node
Trivial: produces a DS
Non trivial: how to construct a CDS?
Example
3 1
2
5 4
Initial network
3 1
2
5 4
Nominations
3 1
2
5 4
Result
2D Cell-Based Dominating Set
Algorithm
Partition the plane into squares
Set square size such that nodes in a square S can hear each other
Nodes determine all other nodes in own square S
Node with highest ID gets the representative of the square
Easy to implement mobility extension
If square representative moves out of own square S1 then
Inform all nodes in square S1
Determine representative in new square S2
d
r S
S1
S2
41
2D Cell-Based Dominating Set
Is this always a connected DS?
Any transmission radius r keeps some squares in vicinity half covered
B C
A D
A Lightweight CDS Construction
Wu, Li: Preserve nodes which have two unconnected neighbors
Additional refinement:
A is covered by B if
each neighbor of A is also neighbor of B and
Key(A) < Key(B)
Only preserve those nodes not covered by any neighbor
Why lightweight?
No additional message exchange needed in case of positions and UDG
Otherwise two-hop neighbor information is sufficient
E H
G C
D A
J I
B F
K
L
43
A Lightweight CDS Construction
Refinement can be generalized
Node A is covered by B and C if
All neighbors of A are either neighbors of B or C or both and
Key(A)<Key(B) and Key(A)<Key(C)
Remove node A from DS if it is covered by B and C while
B and C are connected
A most general rule
Node A is covered by B1,…,Bk if
All neighbors of A are neighbor of at least one Bi and
Key(A) < min { Key(B1),…,Key(Bk) }
Remove node A from DS if it is covered by B1,…,Bk while
B1,…,Bk are connected
How to implement this rule efficiently? …
AB C
A Lightweight CDS Construction
Efficient implementation of the most general rule
Each node checks if it is an intermediate node, i.e., if it has two unconnected neighbors
Each intermediate node A constructs a subgraph G of neighbor nodes with higher key values
Intermediate node A is in DS if it’s subgraph G is
Empty or disconnected or
connected but there exists a neighbor of A which is not a neighbor of any node in G
Node 4 is an
intermediate node 4 6
2 3 5
7
Subgraph of nodes with Key values greater than 4
6
5 7
45
Further Enhancements
Example: assume A, B, C are DS members
Recall: node A removes itself if any two neighbor nodes B and C satisfy
All neighbors of A are neighbor of B or C or both
Key(A) < min { Key(B), Key(C) }
B and C are connected
Node A stays in DS. Why?
Solution: use (already available) two-hop info B
D
C E A
Further Enhancements
Example
A is DS member because of C
E is DS member because of key(E) > key(A)
However, DS may consist of node A only
DS may consist of A only if key(E) < key(A) holds
Observation: quality of DS depends on key value
Solution: alternative rule definition
Node u is covered by node v iff
N(u)N(v) or
N(u)=N(v) and key(u)<key(v)
Example: E is covered by A
C B
D A
E
Summary
Other geometric structures and objectives
Containing EMST
Reducing Power Consumption
Handling directed graphs
Connectivity
Stochastics depending on node density
MST as a useful tool to reduce power and keep connectivity
k-connectivity
Backbone Construction
Example objective: switching off nodes to preserve energy
Example objective: reduce message overhead of broadcast
Two concepts: clustering and dominating sets
47