Topology Control
Other Geometric Structures
Yao Graph
Definition
Result is a directed graph
Contains EMST as subgraph
Removing directed edges preserves connectivity
Not necessarily planar
U U
Minimum Power Topology
Recall: only for |UW|>C(a,c) the following equation holds
Consequence
Only for certain distance relaying over V saves energy
Concept: relay region
U V W
2 * (|UW|/2)^a + 2 * c <= |UW|^a + c
Minimum Power Topology
Node u preserves all nodes in transmission range which are lying in the intersection of all relay region complements
Intuition: when sending
beyond, there is always
a relay node for reducing
energy
Cone-Based Topology
Set power such that one node in each cone of angle can be reached
CBTC() may yield a directed topology
U
W
V X
Excursion: Directed Graphs
Directed Graph G
Symmetric subtopology G-
Remove all directed links
Localized construction
Exchange outgoing edges
U removes edge UV if V is not pointing to U
Symmetric supertopology G+
Add reverse link for each directed link
Localized construction
Exchange outgoing edges
U increases transmission range to reach any node pointing to U
A
E C B
F D
A
E C B
F D
A
E C B
F D
Cone-Based Topology
Some facts (without proofs here)
Shrink back optimization
V Shrink back V
Node at Network corner?
Topology Control
Directed Underlying
Network Graphs
Motivation
Many topology control mechanisms may produce disconnectivity in directed networks
Example 1: CBTC
Example 2: RNG
U
W
V
U
W
V
V
U
W V
U
W
Directive RNG
DRNG: include an edge uv iff
Not exists w and edges uw and wv and
|uw| < |uv| and |wv| < |uv|
V
U
W V
U
W
Directive Local Spanning Subgraph
DLSS
Each node v builds directed EMST T(v) over neighborhood N(v)
Chu-Liu/Edmonds Algorithm
Keep all outgoing edges vw of T(v)
V
A
B
D C
V
A
B
D C
V
A
B
D C
Original graph Directed EMST Result in V
Directive Local Spanning Subgraph
Directed MST with Kruskal?
Add sorted edge as long no cycle
Directed MST with Prim?
Add minimum weight connected vertex
A
C
B (2) (1)
(3)
A
C
B
No spanning tree
S
A
B
C (5)
(6)
(5)
(1)
S
A
B
C (5)
(6)
(5)
S
A
B
C (5)
(1) cost(Prim) = 16 cost(MST) = 12
(6)
Directive Local Spanning Subgraph
2
1
3
4 5
6 (1)
(10) (5)
(11) (4) (6)
(3) (6) (9)
(7)
(8) 2
1
6 (1)
(9) (5)
(9) (8) (6)
(7) (7)
S={(1,2),(1,6),(4,3),(3,5),(5,4)} => S={(1,2),(1,6),(2,3),(3,5),(5,4)}
Chu-Liu/Edmonds Algorithm for computing a directed MST 1. Discard the arcs entering the root if any;
For each node other than the root, select the entering arc with the smallest cost;
Let the selected n-1arcs be the set S.
2. If no cycle formed, G(N,S)is a MST. Otherwise, continue.
3. For each cycle formed, contract the nodes in the cycle into a pseudo-node (k), and modify the cost of each arc which enters a node (j)in the cycle
from some node (i)outside the cycle according to the following equation.
c(i,k)=c(i,j)-(c(x(j),j)-min_{j}(c(x(j),j))
where c(x(j),j)is the cost of the arc in the cycle which enters j.
4. For each pseudo-node, select the entering arc which has the smallest modified cost;
Replace the arc which enters the same realnode in Sby the new selected arc.
5. Go to step 2 with the contracted graph.
Directive Local Spanning Subgraph
2
1
3
4 5
6 (1)
(10) (5)
(11) (4) (6)
(3) (6) (9)
(7)
(8) 2
1
6 (1)
(9) (5)
(9) (8) (6)
(7) (7)
S={(1,2),(1,6),(4,3),(3,5),(5,4)} => S={(1,2),(1,6),(2,3),(3,5),(5,4)}
Chu-Liu/Edmonds Algorithm for computing a directed MST 1. Discard the arcs entering the root if any;
For each node other than the root, select the entering arc with the smallest cost;
Let the selected n-1 arcs be the set S.
Directive Local Spanning Subgraph
2
1
3
4 5
6 (1)
(10) (5)
(11) (4) (6)
(3) (6) (9)
(7)
(8) 2
1
6 (1)
(9) (5)
(9) (8) (6)
(7) (7)
S={(1,2),(1,6),(4,3),(3,5),(5,4)} => S={(1,2),(1,6),(2,3),(3,5),(5,4)}
Chu-Liu/Edmonds Algorithm for computing a directed MST 2. If no cycle formed, G(N,S) is a MST. Otherwise, continue.
3. For each cycle formed, contract the nodes in the cycle into a pseudo-node (k), and modify the cost of each arc which enters a node (j) in the cycle
from some node (i) outside the cycle according to the following equation.
c(i,k)=c(i,j)-(c(x(j),j)-min_{j}(c(x(j),j))
where c(x(j),j) is the cost of the arc in the cycle which enters j.
Directive Local Spanning Subgraph
2
1
3
4 5
6 (1)
(10) (5)
(11) (4) (6)
(3) (6) (9)
(7)
(8) 2
1
6 (1)
(9) (5)
(9) (8) (6)
(7) (7)
S={(1,2),(1,6),(4,3),(3,5),(5,4)} => S={(1,2),(1,6),(2,3),(3,5),(5,4)}
Chu-Liu/Edmonds Algorithm for computing a directed MST
4. For each pseudo-node, select the entering arc which has the smallest modified cost;
Replace the arc which enters the same real node in S by the new selected arc.
5. Go to step 2 with the contracted graph.
DRNG and DLSS
Theorem: DLSS is a subgraph of DRNG
Theorem: DLSS preserves connectivity
Corollary: DRNG preserves connectivity
Topology Control
Connectivity
Probability of Connectivity
Consider randomly deployed nodes
Factors to control network connectivity
Fixed transmission range; vary number of nodes or
Fixed node count; vary transmission range
Common framework: node density d
Average number of neighbors in transmission range
An estimate of this value:
A
n nodes uniformly distributed in A r
d = (n-1) * U(r) / A
= (n-1) * r2 / A U(r)
Probability of Connectivity
0 8 22
0 100
50
11
Density
Probability of connectivity
Probability of Connectivity
Fundamental question:
Given a number of nodes deployed in a region
Minimum transmission range to obtain connectivity?
Asymptotically the following holds [Gupta, Kumar]:
Corollary:
Assume: n nodes uniformly distributed on a unit disk
Transmission radius r(n) satisfies that node covers the area
r(n)2 = (log n + c(n)) / n
Then: network connected with probability one if and only if c(n) infinity
Assume: n nodes uniformly distributed on a unit disk Then r(n)=O(sqrt(log n / n)) implies network connected
Probability of Connectivity
Fact [Penrose]:
Assume network with n nodes and n infinity, then
Length of longest nearest neighbor and length of longest MST edge have asymptotically the same value
Idea to compute minimum radius r to maintain connectivity
First, localized LMST construction
Second, wave propagation of locally longest LMST edge
Longest edge e in wave propagation “wins”
Each node adjusts it’s transmission radius to |e|
Improvement?
Compute MST LMST instead
Localized construction of MST?
Quasi-Localized MST Construction
Construct LMST first
Run loop breakage procedure
Follow faces
Eliminate longest edge in closed faces
Repeat until stop at single node
Note
How to traverse faces locally?
see later
Limited to 2D
The Critical Node Degree
Remember
Average number of neighbors d(n,r) = (n-1)r2/A
[Gupta, Kumar]: r(n)=O(sqrt(log n / n)) implies network connected with probability one
Setting r(n) into d(n,r)
There exists constant c such that network is connected with probability one if d(n) ≥ c log n
[Xu, Kumar]: What is the value of c?
Each node connected to less than 0.074 log n neighbors asymptotically disconnection with probability one
Each node connected to more than 5.1774 log n neighbors asymptotically connection with probability one
Conjecture: for connection c may be close to one (open issue)
Fault Tolerant Topology Construction
Problem when setting minimum transmission power
Topology user (e.g. routing) more susceptible to node failure
Extreme case: single point of failure
Solution: Topology control
constructs a k-vertex connected network
Definition: k-vertex connected network
Network which can tolerate failure of at most k-1 nodes
Example 3-vertex connected network
V
P1 P2
P3
K-Connectivity
Fact: constructing minimum cost k-connected topology is NP-hard
[Penrose]: k-connectivity in geometric
random graph, n nodes, common radius r
Minimum value of r for k-connectivity = minimum value of r for minimum degree k (with prob. 1 as n goes to infinity)
Important result: global parameter (k-
connectivity) linked to local parameter (node
degree)
K-Connectivity
Localized construction of k-connected topology
[Li et al.] Yao graph
Use at least 6 cones
Choose k closest neighbors in each cone
[Bahramgiri et al.] CBTC()
Use = 2 / 3k
Remove all directed edges
Detecting Critical Nodes and Links
Alternative
Given topology
Local detection of “critical” nodes or links
Definition
Critical node v: subgraph of p-hop neighbors without v is disconnected
Critical link uv: Consider subgraph of common p-hop neighbors without uv is disconnected
Generalization to the case of k-connectivity
Experimental results in random unit disk graphs: high
correspondence between local and global decisions
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
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
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
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
36
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
Cluster interconnect
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
C
E F
4
5
4
5
2 3