Transcript Document

An Enhanced Top-Down Cluster and Cluster
Tree Formation Algorithm for
Wireless Sensor Networks
H. M. N. Dilum Bandara, Anura P. Jayasumana
[email protected], [email protected]
Department of Electrical and Computer Engineering,
Colorado State University, USA.
ICIIS 2007 - Peradeniya, Sri Lanka
1
Outline





Wireless Sensor Networks (WSN)
Motivation
GTC – Generic Top-down Clustering algorithm
Control of cluster & cluster tree characteristics
Simulation results


Simulator
Conclusions & future work
ICIIS 2007 - Peradeniya, Sri Lanka
2
Wireless Sensor Networks (WSN)
ICIIS 2007 - Peradeniya, Sri Lanka
3
Clustering
e-SENSE project
Underwater Acoustic Sensor Networks project
[1]
H
R
T
I
B
G
Q
J
A
P
A
C
F
U
[2]
K
B
D
C
E
G
F
D
E
L
H I
O
J K
L M P
O Q
M
U
Plume tracking
ICIIS 2007 - Peradeniya, Sri Lanka
[1] www.ist-esense.org
[2] http://www.ece.gatech.edu/research/labs/bwn/UWASN/work.html
4
R
Motivation

Some structure is required in future large scale WSNs, even if
they are randomly deployed




An algorithm that is independent of





Neighbourhood information
Location awareness
Time synchronization
Network topology
Top-down clustering allow better control


Ease of administration
Better utilization of resources
Simplified routing
Controlled cluster size, controlled tree formation, hierarchical
naming, etc.
An algorithm that supports the existence of multiple WSNs in
the same physical region
ICIIS 2007 - Peradeniya, Sri Lanka
5
Generic Top-down Clustering (GTC) algorithm
Form_cluster(NID, CID, T, N, MaxHops, TTL) {
Wait(T)
Broadcast_cluster(NID, CID, MaxHops, TTL)
ack_list ← Receive_ack(CNID, hops, timeout, P1, P2)
For i = 1 to N {
CCHi ← Select_candidate_CH(TTL, ack_list, P1, P2)
CIDi ← Select_next_CID()
Ti ← Select_delay()
Request_form_cluster(CCHi, CIDi, Ti, N, MaxHops, TTL)
}
}
Join_cluster() {
Listen_broadcast_cluster(NID, CID, MaxHops, TTL)
If(hops ≤ MaxHops & MyCID = 0)
MyCID ← CID, MyCH ← NID
Send_ack(CNID, Hops)
TTL ← TTL -1
If(TTL > 0)
Forward_broadcast_cluster(NID, CID, MaxHops, TTL)
Else {
Listen_form_cluster(CCH, CID, T, N, MaxHops, TTL, timeout)
Form_cluster(CCH, CID, T, N, MaxHops, TTL)
}
}
ICIIS 2007 - Peradeniya, Sri Lanka
6
Cluster formation
C4
C2
C1
C3
Form_cluster(NID, CID, T, N, MaxHops, TTL) {
Wait(T)
Broadcast_cluster(NID, CID, MaxHops, TTL)
ack_list ← Receive_ack(CNID, hops, timeout, P1, P2)
For i = 1 to N {
CCHi ← Select_candidate_CH(TTL, ack_list, P1, P2)
CIDi ← Select_next_CID()
Ti ← Select_delay()
Request_form_cluster(CCHi, CIDi, Ti, N, MaxHops, TTL)
}
}
Join_cluster() {
Listen_broadcast_cluster(NID, CID, MaxHops, TTL)
If(hops ≤ MaxHops & MyCID = 0)
MyCID ← CID, MyCH ← NID
Send_ack(CNID, Hops)
TTL ← TTL -1
If(TTL > 0)
Forward_broadcast_cluster(NID, CID, MaxHops, TTL)
Else {
Listen_form_cluster(CCH, CID, T, N, MaxHops, TTL,
timeout)
Form_cluster(CCH, CID, T, N, MaxHops, TTL)
}
}
ICIIS 2007 - Peradeniya, Sri Lanka
7
Cluster tree formation

Cluster tree is formed by keeping track of parent & child
relationships
C4
C1
C2
C1
C5
C3
C3
C2
ICIIS 2007 - Peradeniya, Sri Lanka
C6
C7
C4
C8
C9
C10
8
Control of cluster & cluster tree characteristics

By varying parameters of the algorithm clusters & cluster
tree with desirable properties can be achieved

Parameters that can be varied

MaxHops – Maximum distance to a child node within a cluster

TTL – No of hops to propagate the cluster formation broadcast

N – No of candidate cluster heads

Ti – Time delay before forming cluster i

CIDi – New cluster ID
ICIIS 2007 - Peradeniya, Sri Lanka
9
Controlling MaxHops & TTL


MaxHops determine the size of a cluster

MaxHops = 1 – Single-hop clusters

MaxHops ≥ 2 – Multi-hop clusters
Two variants of the GTC algorithm
1.
Simple Hierarchical Clustering (SHC)



2.
TTL = MaxHops
New clusters heads are selected from nodes that are
within the parent cluster
This is similar to the IEEE 802.15.4 clustering
Hierarchical Hop-ahead Clustering (HHC)


TTL = 2 × MaxHops + 1
New clusters heads are selected from nodes that are
outside the parent cluster
ICIIS 2007 - Peradeniya, Sri Lanka
10
Ideal SHC & HHC clusters
7
CID 9
CID 6
CID 5
3
CID 1
5
9
CID 5
CID 1
4
CID 10
CID 7
CID 8
CID 2
2
5
1
7
10
10
2
12
13
8
CID 9
CID 3
CID 2
CID 8
CID 3
9
6
11
CID 7
CID 4
SHC – Simple Hierarchical Clustering
MaxHops = TTL = 1
N = 3
1
3
4
11
CID 6
CID 4
CID 10
6
7
12
HHC – Hierarchical Hop-ahead Clustering
MaxHops = 1
TTL = 3
N = 6
ICIIS 2007 - Peradeniya, Sri Lanka
11
Controlling time delay (T)



Each candidate cluster head waits sometime before forming
a cluster
This delay prevents collisions
By varying time delay shape of the cluster tree can be
controlled

Breadth-first, depth-first or some scheme in between
5
2
3
9
10
11
4
4
6
7
8
1
5
14
15
3
…
…
…
…
…
28
(a) Breadth first cluster formation
7
8
9
12
10
11
2
13
1
C2
12
13
6
C3
…
…
…
…
…
…
TL(i)<TL(i+1)
ICIIS 2007 - Peradeniya, Sri Lanka
…
14
15
16 …
17 …
(b) Depth first cluster formation
TB(i)<TB(i+1)
12
New cluster ID

New cluster ID can be assigned

as a sequence of numbers – 1, 2, 3


based on node ID of the candidate cluster head
 CID = NID


Root node must assign cluster ID
Parent cluster heads can assign cluster ID
0
based on hierarchical naming



Parent cluster heads can assign cluster ID
Simplified routing
Much easier with the top-down approach
000
ICIIS 2007 - Peradeniya, Sri Lanka
00
10
100 010
20
110 020
13
Simulation Results
ICIIS 2007 - Peradeniya, Sri Lanka
14
Simulator

A discrete event simulator was developed using C

Nodes were randomly placed on a 100×100 square grid
with a given probability

e.g. 1, 0.5 & 0.25

100 sample runs based on pre-generated networks were
considered

N was selected such that N=3 for SHC & N=6 for HHC

Circular communication model



Within clusters - Multi-hop
Cluster head to cluster head - Single-hop
Assumptions



Nodes were homogeneous
Stationary
Fixed transmission range
ICIIS 2007 - Peradeniya, Sri Lanka
15
Physical shape of the clusters
. l l
. . .
h h .
. . .
h . L
h $ K
. h..
. K K
. K K
K H H
H . H
. H .
H H H
. H .
. H .
. H H
H H .
. . H
. . .
f.. .
I I I
. . .
. . I
. . I
f . I
. . c
? ? d
? . .
? ? .
? ? .
. j . + .
j j $ L +
l.L L L L
. . . . .
. . K E .
K j.E . .
. K $.L..
. K . . .
K . E . .
. H K.. .
H . . . .
. . E . 7
. H 6 6 6
H H.. . .
H 6 . . 6
H . . . .
. 6 . . 6
H . . 6 6
. 6 . . .
. . . . .
I I I.. 6
. . c.. I
I I . . .
I I I . I
I . . d..
?.. . c c
. d ?.. d
. d . d .
d . d d .
? . . . .
+ + + + + ! . < . & - . . ?
+ . . + + + & < < < W . . .
. L + . + + - . W . . ?.. .
. . L + . + W . !.. . . . .
. +.. E E . . . . <.. . . .
7 . 5 5 . . 5 5 . <.< . . .
7 . . 5 5 5 . . . . W.. . .
. . 5 5 . 5 5 5 . 5 B B . .
7 E.. 5 . . . . G.. . B B .
5 . 7.. 2 5.. . 5 F.. . B .
2 . . . . . 2 . 2 . 4 . B.4
. 2 . . 1 1 . . 1 1 1 . . .
. . 2 . 1 1 1 1 . 1 . 1 . .
. . . 1 2.. . 1 1 1 . 1 . 4
. 2 2 . 1 1 . 1 1 1 4.. . 3
. . . . 1 . . 1.. 1 . . 1 3
6.. . . 1 1 1 1 1 1 . 1 A..
6 . 2 1 . . 1 1 . . 1 1 . .
. 6 6 1 1 1 1 1 1 1 3.1 . 3
. 6 6 . 1 1 . 1 . 1 . 3 . .
. 6 . 6 . . 3 . 3 . 3 . . .
6 I . . 8 . 3 3 8.3 . . . .
. I P . . 8 8 . 3 . 3 . . .
I . P P 8 P.. 8 8 8 3 . . .
. P P . 8 8 8 . . 8 8 . O..
c . . P N . . 8 . N.. . . 9
d . . P P N N . 8 . N N . .
. d P u.P . . . N N N . N N
d . . . q N q.N N . . . . N
. u . q p p N N N p.. . . R
? ? . . . ? ?
? ? ? ? ? . .
. ? . . ? ? .
. ?.. . ?.? ?
W ?.. . ? . ?
W . . . . . .
B . Y Y . . .
. . B Y ?.Y Y
B . . C ?.?..
. . . *.. . .
. . . Y.C . X
4 . B C . T .
C.A X.. C . U
4 T.. . C S .
. . A C C S S
. . U.. C S S
. . . A S . .
3 . . S.. S .
. 3 . 9 9 S .
3 9 9 9 9 . S
3 9 . . 9 S .
9.. . 9 9 9 Q
. . 9 . . Q Q
9 . 9 . . . .
. . . . 9 . Q
9 . . Q.Q . .
R.. . . Q . .
O . O . . . .
O O . . . Q .
. Q Q Q Q Q .
.
.
.
.
.
.
?.
Y
.
.
.
.
X
Y
.
S
S
S
.
S
.
.
.
Q
.
.
Q
.
.
.
.
.
f
.
Q
Q
.
.
.
Q
Q
.
?
.
.
.
T
.
T
T
T
.
.
.
W
.
W
W
W
W
f
.
f
.
.
Q
Q
Q
Q
Q
.
Q
?
T
T
T
T
.
.
.
T
.
.
.
.
.
W
.
W
W
f . f .
. f f.E
. f Q E
. . . .
Q . . E
Q Q Q E
. . Q E
Q . Q..
Q Q . 6
Q . Q 6
Q Q . .
. . . 6
?.. Q 6
. T T .
. T T .
T T . .
. . T .
T T.. .
. . T .
. . . .
T T T T
. . . T
Z . Z .
Z W Z.Z
W W . .
W W . .
W . W W
. . W .
. W.. W
. W . .
E
E
E
.
E
.
E
.
.
.
.
.
6
.
.
.
.
A
.
.
.
.
.
.
W
W
.
W
W
.
.
E
E
.
.
.
.
.
.
.
.
6
6
.
6
.
A
A
.
.
A
A
.
Z
.
W
W
.
.
.
E
E
.
.
.
E
E
.
6
6
6
.
.
.
.
.
A
A
.
.
.
A
.
Z
.
8
8
.
8
.
E E E
. . E
E E .
. E E
E.. E
. E E
. . E
. 6 6
6 . 3
. 6 .
. . .
6.. .
. 6 .
. . 1
6 6 .
. . .
. . .
. A.1
A A 1
A A .
A . 2
A . .
. A .
. 2 2
8 8 .
. . 2
. . 2
8 8 8
. . .
8 . 8
(a) SHC clusters
E F
E E
E E
. E
E .
. .
3 3
. 3
. .
3 3
. .
1 1
1 1
1 .
1 1
1 .
1 1
. .
1 1
1 1
. .
2 .
. 2
2 2
2 2
2 .
2 2
2 .
8.8
8 8
. F . F
F F F F
F.. F .
F . 3 .
. . . 3
3 3 . 3
. . . .
3 3 . 3
. . 3..
. . 3 3
3 . 3 .
. . 1 1
1 1 . 1
. 1 1 1
. 1 1 1
. 1.. 1
1 1 1 1
1 1 . .
1 1 1 1
. 1 . 1
2 . 2 .
2 2 2 2
2 . 2 .
. 2.2 2
2 . . 2
. 2 . 2
2 . 2 .
. . 2 2
8 2 8 .
8 8 8 D
F
F
.
.
.
3
3
3
.
.
3
1
.
.
1
.
.
1
1
.
2
.
2
2
2
.
2
2
.
.
.
.
F
.
.
.
.
3
3
.
.
.
1
1
.
.
1
1
1
4
.
.
.
.
.
.
2
.
.
.
l
l
.
.
.
.
.
.
3
3
3
.
.
.
.
1
4
.
.
.
.
.
.
.
D
.
.
D
.
.
l.I .
. I I
. . I
. . I
I I I
. I..
. I .
. . .
. G .
. . .
G . .
. G .
. G G
G G G
G . .
4 . .
. . .
. 4 .
4 . 4
. 4.4
. 4 4
. 4 .
. . .
. 4 .
. . .
D D .
. D .
D D .
D.D D
D . D
. .
I I
. .
. .
. .
. .
I I
G I
. G
. G
. G
G G
G..
. .
G G
4 .
. 4
. 4
. 4
4 4
. .
. 4
4 .
4 .
. .
. D
. .
D .
. .
D D
. x x .
x.. . .
I x . .
I v v .
I . v .
. . . .
. . . v
I v v v.
G G . .
. . . .
G . G .
. G . .
G . G G
G G . O
G G G .
G G G O
4 . . O.
. O . O
4 O . .
4 . O O
4 O . .
4 ! ! .
. ! !..
. . . !
! . ! .
! . . .
! . . !
. . . .
. a . .
a a.. .
Grid size = 30×30
D = 450
R = 30
For (a):
MaxHops = 1
TTL = 1
N= 3
For (b):
MaxHops = 1
TTL = 3
N= 6
* CHs are
indicated by
circles
(b) HHC clusters
* Cluster heads are highlighted with circles

HHC produce more circular & uniform clusters
ICIIS 2007 - Peradeniya, Sri Lanka
16
Why clusters needs to be circular?

Efficient coverage of the sensor filed[3]



Minimum number of clusters
Reduce the depth of the cluster tree
Better load balancing

Topology becomes more predictable
Reduce intra-cluster signal contention
Aggregation is more meaningful when cluster head is in the middle

Measuring circularity



Maximum Achievable Circularity (MAC)
MACi =
No of nodes in cluster i
×100
Total no of nodes in the range of CHi
ICIIS 2007 - Peradeniya, Sri Lanka
17
[3] M. Demirbas, A. Arora, V. Mittal and V. Kulathumani, “A fault-local self-stabilizing clustering service for
wireless ad hoc networks”, IEEE Trans. Parallel and Distributed Systems, vol. 17, no. 9, Sept. 2006, pp. 912-922
Circularity
80
SHC-Cir
HHC-Cir
SHC-STD
HHC-STD
70
Circularity / STD
60
50
40
30
20
10
0
12
15
18
21
24
27
30
Communication range
MaxHops = 1, 5000 nodes

HHC produce more circular clusters than SHC
ICIIS 2007 - Peradeniya, Sri Lanka
18
No of nodes/Clusters
3000
2500
2000

HHC produces lesser number of
clusters

HHC produces much larger
clusters than SHC

High STD in HHC is due to
smaller clusters at the edge of
the sensor field

Larger clusters are formed as the
communication range is
increased
1500
1000
500
0
12
15
18
21
24
27
30
Communication range
25
SHC - Ave. cluster size
HHC - Ave. cluster size
SHC - STD
HHC - STD
20
Average cluster size / STD
Number of clusters / Cluste heads
SHC
HHC
15
10
5
0
12
15
18
21
24
27
30
Communication range
MaxHops = 1, 5000 nodes
ICIIS 2007 - Peradeniya, Sri Lanka
19
Node distribution
900
SHC
800
HHC
700
No of clusters
600
500
400
300
200
100
0
0
5
10
15
20
25
30
35
40
45
Cluster size
MaxHops = 1, R= 30, 5000 nodes


HHC produces smaller number of large clusters
SHC produces larger number of small clusters
ICIIS 2007 - Peradeniya, Sri Lanka
20
Node depth distribution - Breadth-first tree formation
Simple Hierarchical Clustering
Hierarchical Hop-ahead Clustering
1400
Number of nodes
600
500
400
300
R=12
R=15
R=18
R=21
R=24
R=27
R=30
1200
1000
Number of nodes
R=12
R=15
R=18
R=21
R=24
R=27
R=30
700
800
600
400
200
200
100
0
0
0
10
5
15
20
25
30
35
40
45
50
55
0
5
10
15
25
20
Node depth
Node depth
MaxHops = 1, 5000 nodes


Nodes in HHC have a lower depth than SHC
Depth reduces as the communication range increases
ICIIS 2007 - Peradeniya, Sri Lanka
21
Node depth distribution - Multi-hop clusters
(breadth-first tree formation)
Simple Hierarchical Clustering
Hierarchical Hop-ahead Clustering
500
900
MaxHops=1 N=3
MaxHops=2 N=3
MaxHops=3 N=4
700
Number of nodes
Number of nodes
400
MaxHops=1 N=6
MaxHops=2 N=6
MaxHops=3 N=6
800
300
200
600
500
400
300
200
100
100
0
0
0
5
10
15
20
25
30
Node depth
35
40
45
50
55
0
5
10
15
20
25
Node depth
R = 12, 5000 nodes

Depth reduces as the MaxHops increases
ICIIS 2007 - Peradeniya, Sri Lanka
22
Node depth distribution - Depth-first tree formation
300
MaxHops=1 N=3
MaxHops=2 N=3
MaxHops=3 N=4
MaxHops=4 N=5
250
No of nodes
200
150
100
50
0
0

20
40
60
80
Depth
R = 12, 5000 nodes
100
120
Depth reduces as the MaxHops increases
ICIIS 2007 - Peradeniya, Sri Lanka
23
Hierarchical routing
A(0)
H
I
J
K
Q
B
E
B(00)
F
L
H
(000)
D
L
I
J
K
M
(100)(010) (110) (210) (020)
G
O

D(20) E(30) F(40) G(50)
C
A
N
C(10)
M
P
Q
(0100)
N
(030)
O
(050)
P
(0210)
Routing through cross links


Reduce burden on the root node
Lower latency
ICIIS 2007 - Peradeniya, Sri Lanka
24
Hierarchical routing & routing with cross links
No of messages delivered for HHC
35000
Without cross links
With cross links
No of messages
30000
25000
20000
15000
10000
5000
12
15
18
21
24
27
30
Communication Range
N = 6, 5000 nodes

Routing with cross links significantly increase the number of
messages delivered
ICIIS 2007 - Peradeniya, Sri Lanka
25
Conclusions & future work

The proposed algorithm is independent of neighbourhood
information, location awareness, time synchronization &
network topology
Algorithm scales well into large networks
The HHC outperforms SHC

We are currently working on



Further optimizing clusters after they are formed



Energy aware routing that will further increase the number of
messages delivered


Balancing the cluster tree
Further reducing node depth
Increased network lifetime
Determining suitable parameter values (MaxHops, TTL, N, T,
etc.) for optimum performance of the algorithm.
ICIIS 2007 - Peradeniya, Sri Lanka
26
Q&A ...?
ICIIS 2007 - Peradeniya, Sri Lanka
27
Thank you ….
ICIIS 2007 - Peradeniya, Sri Lanka
28