Post on 16-Dec-2015
1
K-clustering in Wireless Ad Hoc Networks
Fernandess and MalkhiHebrew University of Jerusalem
Presented by: Ashish Deopura
2
Outline of the presentation
• Motivation for clustering in Mobile Ad hoc networks
• Problem Statement
• Algorithm Description
• Conclusions / Summary
3
Wireless Ad-hoc networks
• Dynamic topology
• Power and bandwidth limitations
• Broadcast network
• Routing– How to determine path from source to
destination
4
Cluster-based Routing Protocol
The network is divided to non overlapping sub-networks (clusters) with bounded diameter.
• Intra-cluster routing: pro-actively maintain state information for links within the cluster.
• Inter-cluster routing: use a route discovery protocol for determining routes.
5
Cluster-based Routing Protocol (Cntd.)
• Limit the amount of routing information stored and maintained at individual hosts.
• Clusters are manageable. Node mobility events are handled locally within the clusters. Hence, far-reaching effects of topological changes are minimized.
• Overcome mobility by adjusting cluster size (diameter) according to network stability.
6
Cluster-heads
B
A
S E
F
H
J
D
C
G
IK
M
N
L
O
B
A
S E
F
H
J
D
C
G
IK
M
N
L
O
CH Denote Cluster-heads
7
Problem Statement
• Minimum k-clustering: given a graph G = (V,E) and a positive integer k, find the smallest value of ƒ such that there is a partition of V into ƒ disjoint subsets V1,…,Vƒ and diam(G[Vi]) <= k for i = 1…ƒ.
• The algorithmic complexity of k-clustering is known to be NP-complete for simple undirected graphs.
9
Algorithm Description
• A two phase distributed algorithm for k-clustering where k > 1 that has a competitive worst case ratio of O(k)– First phase: construct a MCDS tree of the
network– Second phase: partition the spanning tree into
sub-trees with bounded diameter.
10
System Model
Two general assumptions regarding the state of the network’s communication links and topology:
1. The network may be modeled as an unit disk graph (represents effective broadcast range).
2. The network topology remains unchanged throughout the execution of the algorithm.
11
Unit Disk Graph
B
A
S E
F
H
J
D
C
G
IK
M
N
L
O
B
A
S E
F
H
J
D
C
G
IK
M
N
L
O
The distance between adjacent nodes = 1
The distance between non adjacent nodes is >= 2
12
Preliminaries IGiven an undirected graph G = (V,E) consider
the following general definitions regarding k-clustering:
• Diameter:
• Dominating Set (DS):
• Connected Dominating Set (CDS): The induced sub graph G[D] is connected.
}.,:),(max{ Vvuvuddiam
./
.
DinnodesometoadjacentisDV
innodeeachtsVDSubset
13
Preliminaries II
• Independent Set (IS):
• Maximal Independent Set (MIS): An independent set S where no proper superset of S is also an IS.
• A MIS is also DS.
.
.
Sinnodesofpairanybetween
edgenoistheretsVSSubset
15
First Phase: MCDS Tree Construction
Given an unit disk graph G = (V,E) the algorithm executes as follows:
• Step 1: Construct a spanning tree T.• partitions the nodes into disjoints sets Si
• Si is a set of nodes at level equal to i
• Every node knows its neighbors• A rank associated with every node
17
Spanning tree (Cntd.)
• Connected Dominating Set, parent child pointers
D F
B
E G
C
AA
B C
D E F G
INV INV
18
Connected Dominating Set
5
6
3
4root
2
4
2
4
6
6
Denote MIS nodes
1
3
35
5
DenoteNS nodes
1
root
2 3
4
2
5
6
3
4
35
5
4
6
6
Denote spanning tree edge.
19
Second Phase: K-sub tree
• Partition the spanning tree into sub-trees– Bounded Diameter
• Each node maintains – Height– Highest child
• Detach child if– H+ Height + 1 > k– Where H is the height received from a child
20
K-sub-tree Converge-cast (K=4)
1
root
2 3
4
2
5
6
3
4
35
5
4
6
6
Denote MCDS spanning tree edge.
leaf
The tree rooted at this node exceeds k detach the highest child
21
K-sub-tree Converge-cast (K=4)
1
root
2 3
4
2
5
6
3
5
6leaf
The tree rooted at this node exceeds k detach the highest child.
Denote MCDS spanning tree edge.
23
Summary
• A distributed k-clustering algorithm
• Competitive worst case ratio of O(k)
• Building-block – essential for cluster-based routing protocols.
• Flexible - cluster diameter is a part of the algorithm parameter.