Topology Control
Dominating Sets
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
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
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 4 6 2
3 5
7
Subgraph of nodes with 6
5 7
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
BD
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)
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