Page 1
Energy Efficient Hierarchical Cluster-Based
Routing for Wireless Sensor Networks
Sajid Hussain and Abdul W. Matin
Jodrey School of Computer Science
Acadia University
Wolfville, Nova Scotia, Canada
{Sajid.Hussain, 073720m}@acadiau.ca
Technical Report – TR-2005-011
1
Page 2
Contents
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1 Introduction 5
2 Related Work 6
3 Hierarchical Cluster-Based Routing 7
3.1 States of a sensor node . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Election Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 Data Transfer Phase . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Quantitative Analysis 11
4.1 Radio Communication Model . . . . . . . . . . . . . . . . . . . . 11
4.2 Election Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3 Data Transfer Phase . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 Start energy for one round . . . . . . . . . . . . . . . . . . . . . 14
4.5 Optimum number of clusters . . . . . . . . . . . . . . . . . . . . 16
4.6 Time to complete one round . . . . . . . . . . . . . . . . . . . . 17
5 Results and Discussion 18
5.1 Optimum number of clusters . . . . . . . . . . . . . . . . . . . . 19
5.2 Energy Consumption . . . . . . . . . . . . . . . . . . . . . . . . 21
5.3 Iteration Time and Frames . . . . . . . . . . . . . . . . . . . . . 24
6 Conclusion and Future Work 27
References 28
Appendix A – MATLAB Source Code 29
2
Page 3
List of Figures
1 Communication stages in a cluster of a wireless sensor network. . 8
2 States of a sensor node in a wireless sensor network. . . . . . .. 9
3 Maximum optimum number of clusters. . . . . . . . . . . . . . . 19
4 Cluster size with respect to distance from the base stationand the
head-set size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5 Maximum optimum number of clusters. . . . . . . . . . . . . . . 21
6 Energy consumed per round with respect to number of clusters. . . 22
7 Energy consumed per round with respect to head-set size andnet-
work diameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
8 Time for iteration with respect to cluster diameter and thehead-set
size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
9 Time for iteration with respect to the number of clusters and the
head-set size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
10 Number of frames transmission per iteration with respectto the
head-set size and cluster diameter. . . . . . . . . . . . . . . . . . 26
3
Page 4
Abstract
Wireless sensor networks (WSNs) are used for various applications, such
as habitat monitoring, automation, agriculture, and security. Since numerous
sensors are usually deployed on remote and inaccessible places, the deploy-
ment and maintenance should be easy and scalable.
In this paper, we propose an energy efficient hierarchical cluster-based
routing protocol for continuous stream queries in WSN. We introduce a set
of cluster heads, head-set, for cluster-based routing. Thehead-set members
are responsible for control and management of the network. On rotation ba-
sis, a head-set member receives data from the neighboring nodes and trans-
mits the aggregated results to the distant base station. Fora given number of
data collecting sensor nodes, the number of control and management nodes
can be systematically adjusted to reduce the energy consumption, which in-
creases the network life.
4
Page 5
1 Introduction
With rapid advancement in electronics industry, small inexpensive battery-powered
wireless sensors have already started to make an impact on the communication
with the physical world. The wireless sensor networks (WSNs) can be deployed
in a wide geographical space to monitor physical phenomenonwith acceptable
accuracy and reliability. The sensors can monitor various entities such as: tem-
perature, pressure, humidity, salinity, metallic objects, and mobility; this mon-
itoring capability can be effectively used in commercial, military, and environ-
mental applications. Since WSNs consist of numerous battery-powered devices,
the energy efficient network protocols must be designed. Dueto large network
size, limited power supply, and inaccessible remote deployment environment,
the WSN-based protocols are different from the traditionalwireless protocols
[EGHK99, ECPS02]. The WSN-routing, for instance, uses multi-hop routing that
is not based on the principle of fairness. The redundant, inaccurate or uncertain
sensor data is filtered. Instead of address-based point-to-point communication,
the routing decisions are data centric in WSNs, where the goal is to efficiently
disseminate query and query results into the network.
The core operation of wireless sensor network is to collect and process data at
the network nodes, and transmit the necessary data to the base station for further
analysis and processing. Currently there are several energy efficient communica-
tion models and protocols that are designed for specific applications, queries, and
topologies. The routing algorithm proposed in this paper issuitable for contin-
uous monitoring of numerous widespread sensors, which are at a large distance
from the base station.
The structure of the remaining paper is as follows: Section 2briefly describes
the related work. In Section 3, our hierarchical cluster-based routing protocol is
described. In Section 4, we perform quantitative analysis for our protocol. Section
5 evaluates the performance of the proposed protocol. Finally, Section 6 concludes
the paper and provides directions for some future work.
5
Page 6
2 Related Work
Heinzelmanet al. [HCB00] describes the LEACH protocol, which is a hierarchi-
cal self-organized cluster-based approach for monitoringapplications. The data
collection area is randomly divided into several clusters.Based on time divi-
sion multiple access (TDMA), the sensor nodes transmit datato the cluster heads,
which aggregate and transmit the data to the base station. A new set of cluster
heads are chosen after specific time intervals. A node can be re-elected only when
all the remaining candidates have been elected.
Lindsey et al. propose PEGASIS [LR02], an extension of LEACH, where
nodes transmit to their nearest neighbor and messages are transmitted to the base
station on rotation basis. The PEGASIS protocol is found to be more robust to
node failures as compared to LEACH.
The cluster-based routing protocols are investigated in several research stud-
ies. For example, the work in [PCH+05] shows that a 2-tier architecture is more
energy efficient when hierarchical clusters are deployed atspecific locations. Bandy-
opadhyay and Coyle [BC03] describe a multi-level hierarchical clustering algo-
rithm, where the parameters for minimum energy consumptionare obtained using
stochastic geometry.
Cluster-based approaches are suitable for habitat and environment monitoring,
which requires a continuous stream of sensor data. Directeddiffusion and its
variations are used for event-based monitoring. Intanagonwiwat et al. [IGE00]
describes a directed diffusion protocol where query (task)is disseminated into
the network using hop-by-hop communication. When the queryis traversed, the
gradients (interests) are established for the result return path. Finally, the result is
routed using the path based on gradients and interests. Braginskyet al. [BE02], a
variation of directed diffusion, use rumor routing to flood events and route queries;
this approach is suitable for a large number of queries and a fewer events.
Ye, Heidemann, and Estrin [YHE04] describe a contention-based medium ac-
cess protocol, S-MAC, which reduces energy consumption by using virtual clus-
6
Page 7
ters. The common sleep schedules are developed for the clusters. Moreover,
in-channel signaling is used to avoid overhearing. Cerpaet al. [CE04] propose
ASCENT that operates between routing and link layers. Any routing or data dis-
semination protocol can use ASCENT to manage nodes redundancy. In ASCENT,
nodes monitor their connectivity and decide whether to become active and partici-
pate in the multihop networking. Moreover, nodes other thanactive nodes remain
in passive state until they get a request from active nodes.
As an extension of LEACH [HCB00], our proposed protocol introduces a
head-set for the control and management of clusters. Although S-MAC [YHE04]
divides the network into virtual clusters, the proposed protocol divides the net-
work into a few real clusters that are managed by a virtual cluster-head.
3 Hierarchical Cluster-Based Routing
Our hierarchical cluster-based routing scheme is suitablefor habitat and environ-
mental monitoring applications. The proposed routing scheme is based on the fact
that the energy consumed to send a message to a distant node isfar greater than
the energy needed for a short range transmission. We extend the LEACH protocol
by using a head-set instead of a cluster head. In other words,during each election,
a head-set that consists of several nodes is selected. The members of a head-set
are responsible for transmitting messages to the distant base station. At one time,
only one member of the head-set is active and the remaining head-set members are
in sleep mode. The task of transmission to the base station isuniformly distributed
among all the head-set members.
First, we describe a few terms that are used in defining our protocol. A cluster-
head is a sensor node that transmits an aggregated sensor data to the distant base
station. Non-cluster heads are sensor nodes that transmit the collected data to their
cluster head. Each cluster has a head-set that consists of several virtual cluster
heads; however, only one head-set member is active at one time. An iteration
consists of two stages: an election phase and a data transferphase. In an election
7
Page 8
phase, the head-sets are chosen for the pre-determined number of clusters. In the
data transfer phase, the members of head-set transmit aggregated data to the base
station. Each data transfer phase consists of several epochs. Each member of a
head-set becomes a cluster head once during an epoch. A roundconsists of several
iterations. In one round, each sensor node becomes a member of head-set for one
time. The above communication stages are illustrated in Figure 1.
Epoch 1
Epoch j
Election Phase
Data Transfer
Epoch 1
Epoch j
Election Phase
Data Transfer
Epoch 1
Epoch j
Election Phase
Data Transfer
Round 1
Iteration m
Iteration 1
Round 2 Iteration 1
Time
Figure 1: Communication stages in a cluster of a wireless sensor network.
3.1 States of a sensor node
Different states of a sensor node in a wireless sensor network are shown in Figure
2. The damaged or malfunctioning sensor states are not considered. Each sensor
node joins the network as acandidate. At the start of each iteration, a fixed number
of sensor nodes are chosen as cluster heads; these chosen cluster heads acquire the
active state. By the end of election phase, a few nodes are selected as members of
the head-sets; these nodes acquireassociate state. At the end of an election phase,
one member of a head-set is in active state and the remaining head-set members
8
Page 9
Candidate
End of iteration
Start of a new round
Non−candidate
End of an election phase
Associate
End of iteration
Active
Passive Associate
Start of an iteration
End of iteration
Start of an epoch
Start frame End frame
Figure 2: States of a sensor node in a wireless sensor network.
are in associate state.
In an epoch of a data transfer stage, the active sensor node transmits a frame to
the base station and goes into thepassive associate state. Moreover, the associate,
which is the next in the schedule to transmit to the base station, acquires the active
state. During an epoch, the head-set members are distributed as follows: one
member is in active state, a few members are in associate state, and a few members
are in passive associate state. During the transmission of the last frame of an
epoch, one member is active and the remaining members are passive associates;
there is no member in an associate state. Then, at the start ofthe next epoch, all
the head-set members become associate and one of them is chosen to acquire the
active state.
At the end of an iteration, all the head-set members acquire thenon-candidate
state. The members in non-candidate state are not eligible to become a member of
an head-set. At the start of a new round, all non-candidate sensor nodes acquire
candidate state; a new round starts when all the nodes acquire non-candidate state.
9
Page 10
3.2 Election Phase
In the proposed model, the number of clusters,k , are pre-determined for the wire-
less sensor network. At the start, a set of cluster heads are chosen on random
basis. These cluster heads send a short range advertisementbroadcast message.
The sensor nodes receive the advertisements and choose their cluster heads based
on the signal strengths of the advertisement messages. Eachsensor node sends
an acknowledgment message to its cluster head. Moreover, for each iteration, the
cluster heads choose a set of associates based on the signal analysis of the ac-
knowledgments. A head-set consists of a cluster head and theassociates. The
head-set, which is responsible to send messages to the base station, is chosen for
one iteration of a round. In an epoch of an iteration, each member of the head-
set becomes a cluster head. All the head-set members share the same time slot
to transmit their frames. Based on uniform rotation, a schedule is created for
the head-set members for their frame transmissions; only the active cluster head
transmits a frame to the base station. Moreover, a schedule is created for the
data acquisition and data transfer time intervals for the sensor nodes that are not
members of the head-set.
3.3 Data Transfer Phase
Once clusters, head-sets, and TDMA-based schedules are formed, data transmis-
sion begins. The non-cluster head nodes collect the sensor data and transmit the
data to the cluster head, in their alloted timer slots. The cluster-head node must
keep its radio turned on to receive the data from the nodes in the cluster. The as-
sociate members of the head-set remain in the sleep mode and do not receive any
messages. After, some pre-determined time interval, the next associate becomes a
cluster head and the current cluster head becomes a passive head-set member.
At the end of an epoch, all the head-set members have become a cluster head
for once. There can be several epochs in an iteration. At the end of an iteration, the
head-set members become non-candidate members and a new head-set is chosen
10
Page 11
for the next iteration. Finally, at the end of a round, all thenodes have become
non-candidate members. At this stage, a new round is startedand all the nodes
become candidate members.
4 Quantitative Analysis
In this section, we describe a radio communication model that is used in the quan-
titative analysis of our protocol. The energy dissipation,number of frames, time
for message transfer, and the optimum number of clusters areanalytically deter-
mined.
4.1 Radio Communication Model
We use a radio model as described in [HCB00], where for a shorter distance trans-
mission, such as within clusters, the energy consumed by a transmit amplifier is
proportional tor2. However, for a longer distance transmission, such as from a
cluster head to the base station, the energy consumed is proportional tor4. Using
the given radio model, the energy consumed to transmit anl -bit message for a
longer distance,d, is given by:
ET = lEe + lǫld4 (1)
Similarly, the energy consumed to transmit anl -bit message for a shorter distance
is given by:
ET = lEe + lǫsd2 (2)
Moreover, the energy consumed to receive thel -bit message is given by:
ER = lEe + lEBF (3)
Equation 3 includes the cost of beam forming approach that reduces energy
consumption. The constants used in the radio model are givenin Table 1.
11
Page 12
Description Symbol Value
Energy consumed by the amplifier to transmit
at a shorter distance
ǫs 10 pJ/bit/m2
Energy consumed by the amplifier to transmit
at a longer distance
ǫl 0.0013
pJ/bit/m4
Energy consumed in the electronics circuit to
transmit or receive the signal
Ee 50 nJ/bit
Energy consumed for beam forming EBF 5 nJ/bit
Table 1: Sample parameter values of the radio communicationmodel used in our
quantitative analysis.
4.2 Election Phase
For a sensor network ofn nodes, the optimal number of clusters is given ask . All
nodes are assumed to be at the same energy level at the beginning. The amount of
consumed energy is same for all the clusters. At the start of the election phase, the
base station randomly selects a given number of cluster heads. First, the cluster
heads broadcast messages to all the sensors in their neighborhood. Second, the
sensors receive messages from one or more cluster heads and choose their cluster
head using the received signal strength. Third, the sensorstransmit their decision
to their corresponding cluster heads. Fourth, the cluster heads receive messages
from their sensor nodes and remember their corresponding nodes. For each clus-
ter, the corresponding cluster head chooses a set ofm associates, based on signal
analysis.
For uniformly distributed clusters, each cluster containsnk
nodes. Using Equa-
tion 2 and Equation 3, the energy consumed by a cluster head isestimated as
follows:
ECH−elec ={
lEe + lǫsd2}
+{(
n
k− 1
)
l(Ee + EBF )}
(4)
The first part of Equation 4 represents the energy consumed totransmit the adver-
12
Page 13
tisement message; this energy consumption is based on a shorter distance energy
dissipation model. The second part of Equation 4 representsthe energy consumed
to receive(
nk− 1
)
messages from the sensor nodes of the same cluster. Equation
4 can be simplified as follows:
ECH−elec = lEen
k+ lEBF
(
n
k− 1
)
+ lǫsd2 (5)
Using Equation 2 and Equation 3, the energy consumed by non-cluster head
sensor nodes is estimated as follows:
Enon−CH−elec = {klEe + klEBF} +{
lEe + lǫsd2}
(6)
The first part of Equation 6 shows the energy consumed to receive messages
from k cluster heads; it is assumed that a sensor node receives messages from
all the cluster heads. The second part of Equation 6 shows theenergy consumed
to transmit the decision to the corresponding cluster head.Equation 6 can be
simplified as follows:
Enon−CH−elec = lEe (1 + k) + klEBF + lǫsd2 (7)
4.3 Data Transfer Phase
During data transfer phase, the nodes transmit messages to their cluster head and
cluster heads transmit an aggregated messages to a distant base station. The en-
ergy consumed by a cluster head is as follows:
ECH/frame ={
lEe + lǫld4}
+{(
n
k− m
)
l(Ee + EBF
}
(8)
The first part of Equation 8 shows the energy consumed to transmit a message to
the distant base station. The second part of Equation 8 showsthe energy consumed
to receive messages from the remaining(
nk− m
)
nodes that are not part of the
head-set. Equation 8 can be simplified as follows:
ECH/frame = lǫld4 +
(
n
k− m + 1
)
lEe +(
n
k− m
)
lEBF (9)
13
Page 14
The energy,Enon−CH/frame, consumed by a non-cluster head node to transmit
the sensor data to the cluster head is given below:
Enon−CH/frame = lEe + lǫsd2 (10)
For circular clusters with a uniform distribution of sensornodes and a network
diameter ofM, the average value ofd2 is given as:E[d2] =(
M2
2πk
)
. Equation 10
can be simplified as follows:
Enon−CH/frame = lEe + lǫsM2
2πk(11)
In one iteration,Nf data frames are transmitted. The frames transmitted by
each cluster isNf/k. TheNf/k frames are uniformly divided amongn/k nodes
of the cluster. Each cluster head frame transmission needsnk−m non-cluster head
frames. For simplification of equations, the fractionsf1 andf2 are given as below:
f1 =
(
1nk− m + 1
)
1
k(12)
f2 =
(
nk− m
nk− m + 1
)
1
k(13)
The energy consumptions in a data transfer stage of each cluster are as follows:
ECH−data = f1NfECH/frame (14)
Enon−CH−data = f2NfEnon−CH/frame (15)
4.4 Start energy for one round
There arek clusters andn nodes. In each iteration,m nodes are elected for each
cluster . Thus, in each iterationkm nodes are elected as members of head-sets.
The number of iterations required for alln nodes to be elected is(
nkm
)
, which is
the number of iterations required in one round. Moreover, aniteration consists of
14
Page 15
an election phase and a data transfer stage. The energy consumed in one iteration
of cluster is as follows:
ECH/iter/cluster = ECH−elec + ECH−data (16)
Enon−CH/iter/cluster = Enon−CH−elec + Enon−CH−data (17)
Since there am nodes in a head-set, theECH/iter/cluster is uniformly divided
among the head-set members, as given below:
ECH/node =ECH/iter/cluster
m(18)
Similarly, there arenk−m non-cluster head nodes in a cluster. TheEnon−CH/iter/cluster
is uniformly distributed among all the non-cluster head members as follows:
Enon−CH/node =Enon−CH/iter/cluster
nk− m
(19)
The start energy,Estart, is an energy of a sensor node at the initial start time.
This energy should be sufficient for at least one round. In oneround, a node
becomes a member of head-set for one time and a non-cluster head for(
nkm
− 1)
times. An estimation ofEstart is given below:
Estart = ECH/node +(
n
km− 1
)
Enon−CH/node (20)
Using Equation 18, Equation 19 and Eqaution 20,Estart can be described as
below:
Estart =1
m
(
ECH/iter/cluster + Enon−CH/iter/cluster
)
(21)
Using Equation 21, Equation 16, Equation 17, Equation 14, and Equation 15,
Estart can be given as follows:
15
Page 16
Estart =ECH−elec + Enon−CH−elec
m+
Nf
m
(
f1ECH/frame + f2Enon−CH/frame
)
(22)
Using Equation 22,Nf can be given as below:
Nf =mEstart − ECH−elec − Enon−CH−elec
f1ECH/frame + f2Enon−CH/frame(23)
4.5 Optimum number of clusters
In a cluster, the energy consumed to transmit an aggregated reading to the base
station is as follows:
Ec = ECH/frame +(
n
k− m
)
Enon−CH/frame (24)
The first part of Equation 24 is due to the energy consumption as an active member
of the head-set. The second part of Equation 24 is due to(
nk− m
)
non-cluster
head nodes. The total energy consumed byk clusters is as follows:
Etotal/frame = kEc (25)
Using Equation 25, Equation 24, Equation 11, and Equation 9,the total energy
consumed byk clusters is given below:
Etotal/frame = k{
lǫld4 +
(
n
k− m + 1
)
lEe +(
n
k− m
)
lEBF
}
+
k
{
(
n
k− m
)
(
lEe + lǫsM2
2πk
)}
(26)
The above equation can be simplified as follows:
Etotal/frame ={
klǫld4 + (n − km + k) lEe + (n − km) lEBF
}
+{
(n − km) lEe + (n − km) lǫsM2
2πk
}
(27)
16
Page 17
Etotal/frame = klǫld4 + (2n − 2km + k)lEe + (n − km)lEBF + lnǫs
M2
2πk− lmǫs
M2
2π(28)
The optimum number ofk for minimum consumed energy can be determined
as follows:
dEtotal
dk= 0 (29)
Using Equation 29 and Equation 28, we get the following result:
ǫld4 − (2m − 1)Ee − mEBF − nǫs
M2
2πk2= 0 (30)
Using Equation 30, the optimum value ofk for minimum dissipation of frame
energy is as follows:
k =
√
n
2π
√
ǫs
ǫld4 − (2m − 1)Ee − mEBFM (31)
4.6 Time to complete one round
Sensor nodes transmit messages according to a specified schedule, which is based
on TDMA. The frame time,tframe is the addition of transmission times of the
messages transmitted by all the nodes of a cluster. For a datatransfer rate ofRb
bits/second and message length ofl bits, the time to transfer a message,tmsg, is as
follows:
tmsg =l
Rb
(32)
In one frame, messages are transmitted by all the non-cluster head nodes and
the active member of the head-set. Since at one time only one member of head-set
is active, the inactive head-set members, which arem − 1, do not transmit during
the frame transmission. The time for one frame is given as follows:
17
Page 18
tframe =
n
k−m∑
i=1
tmsgi
+ {tmsgcluster head} (33)
The first part of Equation 33 is due tonk− m messages from non-cluster head
nodes. The second part of Equation 33 is due to the transmission of the active
member of the head-set.
If we assume that message transfer time is same for all the nodes, Equation 33
can be simplified as follows:
tframe =(
n
k− m + 1
)
tmsg (34)
As Nf frames are transmitted in one iteration, time for one iteration, titeration
is as follows:
titeration = tframe × Nf (35)
Using Equation 35, Equation 34, and Equation 32, the iteration timetiteration
can be given as below:
titeration =l
Rb
(
n
k− m + 1)
)
Nf (36)
Since there arenkm
iterations in one round, the time for one round,tround, is as
follows:
tround = titeration ×n
km
=l
Rb
n
k
(
n
k− m + 1
)
Nf
m(37)
5 Results and Discussion
In this section, a few results are analyzed for our proposed routing protocol using
the quantitative analysis and radio communication model ofSection 4.
18
Page 19
5.1 Optimum number of clusters
The optimum number of clusters can be obtained from Equation31. Figure 3
illustrates the graph that shows the variation in optimum number of clusters with
respect to the head-set size, where the base station is atd=150 m and the number
of nodesn=1000 . The head-set size can be varied between1 and6. As the graph
shows, the head-set size cannot be greater than6. Moreover, for a given head-set
size, the maximum number of clusters can also be determined from the graph.
1 2 3 4 5 6 7 8 9 100
5
10
15
Head−Set Size
# of
Clu
ster
s
Figure 3: Maximum optimum number of clusters.
Figure 4 shows a graph that illustrates the variation in maximum cluster size
with respect to distance from the base station and the head-set size. As the graph
shows, bigger cluster sizes can be managed for larger valuesof head-set sizes.
However, when the head-set size is small, only small number of clusters are pos-
19
Page 20
1
2
3
4
5
150
200
2501
2
3
4
5
6
7
8
9
10
Head−Set SizeDistance
# of
Clu
ster
s
Figure 4: Cluster size with respect to distance from the basestation and the head-
set size.
sible. Moreover, when the distance from the base station is increased, more en-
ergy is spent for a distant transmission. As a result, for thesame head-set size,
the maximum number of clusters decreases when the distance to the base station
increases.
Figure 5 shows graphs that illustrate the energy consumption with respect to
the number of clusters. As expected, the energy consumptionis reduced when the
number of clusters are increased. However, the rate of reduction in energy con-
sumption is reduced for higher cluster sizes. Moreover, theenergy consumption
is lower when head-set size is3 as compared to head-set size of1.
20
Page 21
0 2 4 6 8 10 12 14 16 18 200
1
2
3
4
5
6
Number Of Clusters
Ene
rgy
(J)
Head−Set Size=1
Head−Set Size=3
Figure 5: Maximum optimum number of clusters.
5.2 Energy Consumption
The energy consumed for specific number of frames and different head-sizes is
compared in this section.
Figure 6 shows graphs that illustrate the variation in the energy consumed per
node with respect to the number of clusters and network diameter. The x-axis and
y-axis represent the number of clusters and the energy consumed in one round,
respectively. Equation 20 is used to estimate the energy consumed in one node.
In a round, the number of frames transmitted by one node is20 . The graphs show
that energy consumption is reduced when the number of clusters are increased.
For the simulated network of1000 nodes, graphs shows that the optimum range
of clusters lies between20 and60 . As the number of cluster are increased, graph
21
Page 22
0
50
100
150
200
0
10
20
30
40
500
0.2
0.4
0.6
0.8
1
Network Diameter (m)
# Of Clusters k
Est
art (
J)
Head−Set Size=1
Head−Set Size=3
Nf=10000,d=100,n=1000
Figure 6: Energy consumed per round with respect to number ofclusters.
shows that the energy consumption also increases. When the number of clusters
are below the optimum range, for example10 , the data collecting sensor nodes
have to send data to the distant cluster heads. On the other hand, when the number
of clusters are greater than optimum range, there will be more transmissions to the
distant base station.
Moreover, the energy consumption is lower for the higher head-set size. In the
given graphs, the energy consumed is approximately three times less when head-
set size is3 as compared to LEACH, where head-set size is1. The reduction in
energy consumption is mainly due to extra nodes in the head-set. In transmission
of each frame, there arenk− m non-cluster head transmissions and one cluster
head transmission. However,m − 1 nodes are in sleep mode and do not transmit.
Further, there are fewer elections in our routing model as compared to LEACH;
22
Page 23
the number of elections are reduced fromnk
to nkm
.
0
50
100
150
200
0
5
10
15
200
0.02
0.04
0.06
0.08
0.1
0.12
Network Diameter (m)
Head−Sest Size
Est
art (
J)
Nf=10000,k=50,n=1000
Figure 7: Energy consumed per round with respect to head-setsize and network
diameter.
Figure 7 shows a graph that illustrates the variation in the energy consumed
per round with respect to head-set size and network diameter. The x-axis, y-
axis, and z-axis represent the network diameter, the head-set size, and the energy
consumed in one round, respectively. Equation 20 is used to estimate the energy
consumed/round by each sensor node. The number of data frames in one iteration
is Nf = 10, 000 and the number of clustersk = 50. As expected, the graph shows
that energy consumption is reduced when the head-set size isincreased.
The results of reduced energy consumption, as illustrated in Figure 6 and Fig-
ure 7, show that using a head-set of sensor nodes is more desirable than a single
cluster head. Moreover, this protocol provides a more systematic approach of
23
Page 24
reducing the energy consumption. If more nodes are added in LEACH, all the
nodes are treated alike and these extra nodes will also be used in collecting the
sensor data. However, in our approach, the number of sensor nodes for data col-
lection remain unchanged and the number of control and management nodes can
be adjusted.
5.3 Iteration Time and Frames
In this section, average time to complete one iteration suchthat every node be-
comes a member of head-set is estimated. In other words, an average time for
one iteration in each round is estimated. Morevoer, frames transmitted in each
iteration are also evaluated.
0
50
100
150
200
0
20
40
60
80
1000
0.5
1
1.5
2
2.5
3
3.5
4
x 104
Network DiameterHead−Set Size (%)
Tim
e fo
r on
e ite
ratio
n (s
ec)
Head−Set Size=3
Head−Set Size=3
Figure 8: Time for iteration with respect to cluster diameter and the head-set size.
24
Page 25
The graph of Figure 8 illustrates the variation in time to complete one iteration
with respect to cluster diameter and head-set size. The x-axis, y-axis, and z-axis
represent the cluster diameter, head-set size, and time to complete one iteration,
respectively. The head-set size is given as a percentage of cluster size. The start
energy,Estart is fixed for all the cases. The start energy can be used for the longest
period of time when the head-set size is50%of the cluster size. When the head-
set size is less than50%of the cluster size, there are fewer transmissions in each
iteration but there are more iterations to complete the round. However, when the
head-set size is greater than50%of the cluster size, there are more transmissions
in each iteration, although there are fewer iterations.
010
2030
4050
0
5
10
15
20−1
0
1
2
3
4
5
6
7
x 104
# of clusters, kHead−Set Size
Tim
e (s
ec)
n=1000,M=100,r=250*103
Figure 9: Time for iteration with respect to the number of clusters and the head-set
size.
Figure 9 shows a graph that illustrates the variation in timefor one iteration
25
Page 26
with respect to the number of clusters and the head-set size.For the same number
of clusters, the time for iteration increases as the head-set size increases. It shows
that one iteration can last longer for larger head-set sizes. However, for larger
number of clusters, the time for iteration is reduced. This graph shows that the
head-set size and the number of clusters should be carefullychosen to extend the
network life time.
0
50
100
150
200
0
5
10
15
200
2
4
6
8
10
12
14
16
18
x 104
Network Diameter (m)Head−Set Size
# of
Fra
mes
n=1000,k=50,r=250*10 3
Figure 10: Number of frames transmission per iteration withrespect to the head-
set size and cluster diameter.
Figure 10 shows a graph that illustrates the number of framestransmitted with
respect to cluster diameter and head-set size. The x-axis, y-axis, and z-axis repre-
sent the network diameter, head-set size, and number of frames, respectively. As
expected, for increased value of head-set sizes, more frames can be transmitted.
As a result, the iteration can last for a longer time, which isalso consistent with
26
Page 27
the results shown in Figure 9. In other words, when the head-set size is increased,
there are more control and management sensor nodes. Consequently, the data
collecting nodes can be used for a longer period of time.
6 Conclusion and Future Work
The results of our quantitative analysis of the proposed hierarchical cluster-based
routing protocol indicate that the energy consumption can be systematically de-
creased by including more sensors in a head-set. For the samenumber of data
collecting sensor nodes, the number of control and management nodes can be
adjusted according to the network environment.
In future work, the variation in the head-set size for different network condi-
tions will be investigated. This work will be extended to incorporate non-uniform
cluster distributions. We are developing the simulation model to validate and ver-
ify our quantitative analysis. Although the state transition diagram of the proposed
protocol is briefly discussed, the performance analysis based on Markov chains
will be evaluated.
27
Page 28
References
[BC03] S. Bandyopadhyay and E. J. Coyle. An energy efficient hierarchical
clustering algorithm for wireless sensor networks. InProceedings
of the IEEE Conference on Computer Communications (INFOCOM),
2003.
[BE02] D. Braginsky and D. Estrin. Rumor routing algorthim for sensor net-
works. In Proceedings of the 1st ACM International Workshop on
Wireless Sensor Networks and Applications, pages 22–31, New York,
NY, USA, 2002. ACM Press.
[CE04] A. Cerpa and D. Estrin. ASCENT: Adaptive self-configuring sen-
sor networks topologies.IEEE Transactions on Mobile Computing
(TMC) Special Issue on Mission-Oriented Sensor Networks, 3(3),
July-September 2004.
[ECPS02] D. Estrin, D. Culler, K. Pister, and G. Sukhatme. Connecting the
physical world with pervasive networks.IEEE Pervasive Computing,
pages 59 – 69, January-March 2002.
[EGHK99] D. Estrin, R. Govindan, J. Heidemann, and S. Kumar.Next century
challenges: Scalable coordination in sensor networks. InProceedings
of the International Conference on Mobile Computing and Networks
(MobiCom), 1999.
[HCB00] W. R. Heinzelman, A. Chandrakasan, and H. Balakrishnan. Energy-
efficient communication protocol for wireless microsensornetworks.
In Proceedings of the Hawaii International Conference on System
Sciences, January 2000.
[IGE00] C. Intanagonwiwat, R. Govindan, and D. Estrin. Directed diffusion:
A scalable and robust communication paradigm for sensor networks.
28
Page 29
In Proceedings of the 6th Annual International Conference on Mobile
Computing and Networking, pages 56–67, August 2000.
[LR02] S. Lindsey and C. S. Raghavendra. PEGASIS: Power-efficient gath-
ering in sensor information systems. InProceedings of the IEEE
Aerospace Conference, March 2002.
[PCH+05] J. Pan, L. Cai, Y. T. Hou, Y. Shi, and S. X. Shen. Optimal base-station
locations in two-tiered wireless sensor networks.IEEE Transactions
on Mobile Computing (TMC), 4(5):458–473, 2005.
[YHE04] W. Ye, J. Heidemann, and D. Estrin. Medium access control with co-
ordinated adaptive sleeping for wireless sensor networks.IEEE/ACM
Transactions on Networks, 12(3):493–506, 2004.
29
Page 30
Appendix A – MATLAB Source Code
This appendix contains the MATLAB code for several graphs.
MATLAB code for the graph of Figure 3.
el=0.0013 * 10ˆ-12; es=10 * 10ˆ-12; Ee=50 * 10ˆ-9; Ebf=5 * 10ˆ-9;
n=1000; l=4000; Nf=10000; M=100;
[m]=[1:1:10];
d=150;
f1=el * (dˆ4)-Ebf. * m-(2 * m-1) * Ee;
k=((n/(2 * 3.14))ˆ(0.5)) * ((es./f1).ˆ(0.5)) * M;
plot(m,k);
MATLAB code for the graph of Figure 4.
el=0.0013 * 10ˆ-12; es=10 * 10ˆ-12; Ee=50 * 10ˆ-9; Ebf=5 * 10ˆ-9;
n=1000; d=110; l=4000; M=100;
[m,d]=meshgrid([1:1:5],[150:10:250]);
f1=-Ebf. * m+el. * (d.ˆ4)-(2 * m-1) * Ee;
k=((n/(2 * 3.14))ˆ(0.5)) * ((es./f1).ˆ(0.5)) * M;
mesh(m,d,k);
xlabel(’Head-Set Size’, ’FontSize’,14)
ylabel(’Distance’, ’FontSize’,14)
zlabel(’# of Clusters’,’FontSize’,14)
MATLAB code for the graph of Figure 5.
el=0.0013 * 10ˆ-12; es=10 * 10ˆ-12; Ee=50 * 10ˆ-9; Ebf=5 * 10ˆ-9;
n=1000; M=100; d=100; l=4000; Nf=10000;
[k]=[1:1:20];
m=1;
Ech_elect=l. * (Ee. * ((n./k)-m+1)+es * dˆ2);
Enon_ch_elect=l. * (Ee. * (1+k)+es * dˆ2);
Ech_frame=l. * (((n./k)-m+1) * Ebf+el * dˆ4+((n./k)-m+1) * Ee);
Enon_ch_frame=l. * (Ee+es * ((Mˆ2)./((2 * 3.14159). * k)));
Ech_data=(1./((n./k)-m+1)). * (Nf./k). * Ech_frame;
Enon_ch_data=(((n./k)-m)./((n./k)-m+1)). * (Nf./k). * Enon_ch_frame;
Ech_iter=Ech_elect+Ech_data;
Enon_ch_iter=Enon_ch_elect+Enon_ch_data;
Eround=(Ech_iter/m)+(((n./(k * m))-1). * Enon_ch_iter)./((n./k)-m);
plot(k,Eround);
hold on
m=3;
Ech_elect=l. * (Ee. * ((n./k)-m+1)+es * dˆ2);
30
Page 31
Enon_ch_elect=l. * (Ee. * (1+k)+es * dˆ2);
Ech_frame=l. * (((n./k)-m+1) * Ebf+el * dˆ4+((n./k)-m+1) * Ee);
Enon_ch_frame=l. * (Ee+es * ((Mˆ2)./((2 * 3.14159). * k)));
Ech_data=(1./((n./k)-m+1)). * (Nf./k). * Ech_frame;
Enon_ch_data=(((n./k)-m)./((n./k)-m+1)). * (Nf./k). * Enon_ch_frame;
Ech_iter=Ech_elect+Ech_data;
Enon_ch_iter=Enon_ch_elect+Enon_ch_data;
Eround=(Ech_iter/m)+(((n./(k * m))-1). * Enon_ch_iter)./((n./k)-m);
plot(k,Eround);
xlabel(’Number Of Clusters’, ’FontSize’,14)
ylabel(’Energy (J)’, ’FontSize’,14)
MATLAB code for the graph of Figure 6.
el=0.0013 * 10ˆ-12; es=10 * 10ˆ-12; Ee=50 * 10ˆ-9; Ebf=5 * 10ˆ-9;
n=1000; k=50; d=100; l=4000; Nf=10000; m=1;
[M,k]=meshgrid([1:20:200],[5:5:50]);
Ech_elect=l. * (Ee. * (n./k)+Ebf. * ((n./k)-1)+es * dˆ2);
Enon_ch_elect=l. * (Ee. * (1+k)+(k * Ebf)+es. * ((M. * M)./((2 * 3.14159). * k)));
Enon_ch_frame=l. * (Ee+es. * ((M.ˆ2)./((2 * 3.14159). * k)));
Ech_frame=l. * (((n./k)-m) * Ebf+(el * dˆ4)+((n./k)-m+1) * Ee);
f1=1./(k. * ((n./k)-m+1)); f2=((n./k)-m)./(k. * ((n./k)-m+1));
Ech_data=f1. * Nf. * Ech_frame;
Enon_ch_data=f2. * Nf. * Enon_ch_frame;
Ech_iter=Ech_elect+Ech_data;
Enon_ch_iter=Enon_ch_elect+Enon_ch_data;
Estart=(Ech_iter./m)+((n./(k. * m))-1). * (Enon_ch_iter./((n./k)-m));
surf(M,k,Estart);
hold on
m=3;
Ech_elect=l. * (Ee. * (n./k)+Ebf. * ((n./k)-1)+es * dˆ2);
Enon_ch_elect=l. * (Ee. * (1+k)+(k * Ebf)+es. * ((M. * M)./((2 * 3.14159). * k)));
Enon_ch_frame=l. * (Ee+es. * ((M.ˆ2)./((2 * 3.14159). * k)));
Ech_frame=l. * (((n./k)-m) * Ebf+(el * dˆ4)+((n./k)-m+1) * Ee);
f1=1./(k. * ((n./k)-m+1)); f2=((n./k)-m)./(k. * ((n./k)-m+1));
Ech_data=f1. * Nf. * Ech_frame;
Enon_ch_data=f2. * Nf. * Enon_ch_frame;
Ech_iter=Ech_elect+Ech_data;
Enon_ch_iter=Enon_ch_elect+Enon_ch_data;
Estart=(Ech_iter./m)+((n./(k. * m))-1). * (Enon_ch_iter./((n./k)-m));
surf(M,k,Estart);
xlabel(’Network Diameter (m)’, ’FontSize’,14)
ylabel(’# Of Clusters’, ’FontSize’,14)
zlabel(’Estart (J)’,’FontSize’,14)
>> colormap cool
31
Page 32
MATLAB code for the graph of Figure 7.
el=0.0013 * 10ˆ-12; es=10 * 10ˆ-12; Ee=50 * 10ˆ-9; Ebf=5 * 10ˆ-9;
n=1000; k=50; d=100; l=4000; Nf=10000;
[M,m]=meshgrid([1:10:190],[1:1:19]);
Ech_elect=l. * (Ee. * (n/k)+Ebf * ((n/k)-1)+es * dˆ2);
Enon_ch_elect=l. * (Ee * (1+k)+(k * Ebf)+es. * ((M. * M)/(2 * 3.14159 * k)));
Ech_frame=l. * (((n/k)-m) * Ebf+(el * dˆ4)+((n/k)-m+1) * Ee);
Enon_ch_frame=l * (Ee+es. * ((M.ˆ2)/(2 * 3.14159 * k)));
f1=1./(k. * ((n/k)-m+1)); f2=((n/k)-m)./(k. * ((n/k)-m+1));
Ech_data=f1. * Nf. * Ech_frame;
Enon_ch_data=f2. * Nf. * Enon_ch_frame;
Ech_iter=Ech_elect+Ech_data;
Enon_ch_iter=Enon_ch_elect+Enon_ch_data;
Estart=(Ech_iter./m)+((n./(k. * m))-1). * (Enon_ch_iter./((n/k)-m));
surf(M,m,Estart);
xlabel(’Network Diameter (m)’, ’FontSize’,14)
ylabel(’Head-Sest Size’, ’FontSize’,14)
zlabel(’Estart (J)’,’FontSize’,14)
>> colormap cool
MATLAB code for the graph of Figure 8.
el=0.0013 * 10ˆ-12; es=10 * 10ˆ-12; Ee=50 * 10ˆ-9; Ebf=5 * 10ˆ-9;
n=1000; k=50; d=100; l=4000; r=250 * 10ˆ3; Estart=0.1;
[M,m]=meshgrid([1:10:190],[1:1:19]);
Ech_elect=l. * (Ee * (n/k)+Ebf * ((n/k)-1)+es * dˆ2);
Enon_ch_elect=l. * (Ee * (1+k)+(k * Ebf)+es. * ((M. * M)/(2 * 3.14159 * k)));
Ech_frame=l. * (((n/k)-m) * Ebf+(el * dˆ4)+((n/k)-m+1) * Ee);
Enon_ch_frame=l * (Ee+es. * ((M.ˆ2)/(2 * 3.14159 * k)));
f1=1./(((n/k)-m+1) * k);
f2=((n/k)-m)./(((n/k)-m+1) * k);
p1=((m. * Estart)-Ech_elect-Enon_ch_elect);
p2=(f1. * Ech_frame)+(f2. * Enon_ch_frame);
Nf=p1./p2;
ti=Nf. * (n/k-(m-1)) * (l/r);
surf(M,(m * k* 100)/n,ti);
xlabel(’Network Diameter’, ’FontSize’,14)
ylabel(’Head-Set Size (%)’, ’FontSize’,14)
zlabel(’Time for one iteration (sec)’,’FontSize’,14)
32
Page 33
MATLAB code for the graph of Figure 9.
el=0.0013 * 10ˆ-12; es=10 * 10ˆ-12; Ee=50 * 10ˆ-9; Ebf=5 * 10ˆ-9;
n=1000; M=100; d=100; l=4000; r=250 * 10ˆ3;
Estart=0.1;
[m,k]=meshgrid([1:1:20],[1:2.5:50]);
Ech_elect=l. * (Ee. * (n./k)+Ebf. * ((n./k)-1)+es * dˆ2);
Enon_ch_elect=l. * (Ee. * (1+k)+(k. * Ebf)+es. * ((M * M)./(2 * 3.14159 * k)));
Ech_frame=l. * (((n./k)-m) * Ebf+(el * dˆ4)+((n./k)-m+1) * Ee);
Enon_ch_frame=l * (Ee+es. * ((Mˆ2)./(2 * 3.14159 * k)));
f1=1./(((n./k)-m+1). * k);
f2=((n./k)-m)./(((n./k)-m+1). * k);
p1=((m. * Estart)-Ech_elect-Enon_ch_elect);
p2=(f1. * Ech_frame)+(f2. * Enon_ch_frame);
Nf=p1./p2;
ti=Nf. * (n./k-(m-1)) * (l/r);
surf(k,m,ti);
xlabel(’# of clusters, k’, ’FontSize’,14)
ylabel(’Head-Set Size’, ’FontSize’,14)
zlabel(’Time for one iteration (sec)’,’FontSize’,14)
MATLAB code for the graph of Figure 10.
el=0.0013 * 10ˆ-12; es=10 * 10ˆ-12; Ee=50 * 10ˆ-9; Ebf=5 * 10ˆ-9;
n=1000; k=50; d=100; l=4000; r=250 * 10ˆ3; Estart=0.1;
[M,m]=meshgrid([1:10:200],[1:1:20]);
Ech_elect=l. * (Ee * (n/k)+Ebf * ((n/k)-1)+es * dˆ2);
Enon_ch_elect=l. * (Ee * (1+k)+(k * Ebf)+es. * ((M. * M)/(2 * 3.14159 * k)));
Ech_frame=l. * (((n/k)-m) * Ebf+(el * dˆ4)+((n/k)-m+1) * Ee);
Enon_ch_frame=l * (Ee+es. * ((M.ˆ2)/(2 * 3.14159 * k)));
f1=1./(((n/k)-m+1) * k); f2=((n/k)-m)./(((n/k)-m+1) * k);
p1=((m. * Estart)-Ech_elect-Enon_ch_elect);
p2=(f1. * Ech_frame)+(f2. * Enon_ch_frame);
Nf=p1./p2;
surf(M,m,Nf);
xlabel(’Network Diameter (m)’, ’FontSize’,14)
ylabel(’Head-Set Size’, ’FontSize’,14)
zlabel(’# of Frames’,’FontSize’,14)
>> colormap cool
33