You are on page 1of 33

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

Contents
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 Introduction

2 Related Work

3 Hierarchical Cluster-Based Routing

3.1

States of a sensor node . . . . . . . . . . . . . . . . . . . . . . .

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

List of Figures
1

Communication stages in a cluster of a wireless sensor network. .

States of a sensor node in a wireless sensor network. . . . . . . .

Maximum optimum number of clusters. . . . . . . . . . . . . . .

19

Cluster size with respect to distance from the base station and the
head-set size. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

Maximum optimum number of clusters. . . . . . . . . . . . . . .

21

Energy consumed per round with respect to number of clusters. . .

22

Energy consumed per round with respect to head-set size and network diameter. . . . . . . . . . . . . . . . . . . . . . . . . . . .

Time for iteration with respect to cluster diameter and the head-set
size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

Time for iteration with respect to the number of clusters and the
head-set size. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

23

25

Number of frames transmission per iteration with respect to the


head-set size and cluster diameter. . . . . . . . . . . . . . . . . .

26

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 deployment 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. The head-set members
are responsible for control and management of the network. On rotation basis, a head-set member receives data from the neighboring nodes and transmits the aggregated results to the distant base station. For a given number of
data collecting sensor nodes, the number of control and management nodes
can be systematically adjusted to reduce the energy consumption, which increases the network life.

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 phenomenon with acceptable
accuracy and reliability. The sensors can monitor various entities such as: temperature, pressure, humidity, salinity, metallic objects, and mobility; this monitoring capability can be effectively used in commercial, military, and environmental applications. Since WSNs consist of numerous battery-powered devices,
the energy efficient network protocols must be designed. Due to large network
size, limited power supply, and inaccessible remote deployment environment,
the WSN-based protocols are different from the traditional wireless 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 communication models and protocols that are designed for specific applications, queries, and
topologies. The routing algorithm proposed in this paper is suitable for continuous 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 2 briefly 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.

2 Related Work
Heinzelman et al. [HCB00] describes the LEACH protocol, which is a hierarchical self-organized cluster-based approach for monitoring applications. The data
collection area is randomly divided into several clusters. Based on time division multiple access (TDMA), the sensor nodes transmit data to 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 studies. For example, the work in [PCH+ 05] shows that a 2-tier architecture is more
energy efficient when hierarchical clusters are deployed at specific locations. Bandyopadhyay and Coyle [BC03] describe a multi-level hierarchical clustering algorithm, where the parameters for minimum energy consumption are obtained using
stochastic geometry.
Cluster-based approaches are suitable for habitat and environment monitoring,
which requires a continuous stream of sensor data. Directed diffusion 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 query is traversed, the
gradients (interests) are established for the result return path. Finally, the result is
routed using the path based on gradients and interests. Braginsky et 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 access protocol, S-MAC, which reduces energy consumption by using virtual clus-

ters. The common sleep schedules are developed for the clusters. Moreover,
in-channel signaling is used to avoid overhearing. Cerpa et al. [CE04] propose
ASCENT that operates between routing and link layers. Any routing or data dissemination protocol can use ASCENT to manage nodes redundancy. In ASCENT,
nodes monitor their connectivity and decide whether to become active and participate in the multihop networking. Moreover, nodes other than active 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 network 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 suitable for habitat and environmental monitoring applications. The proposed routing scheme is based on the fact
that the energy consumed to send a message to a distant node is far 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 is uniformly distributed
among all the head-set members.
First, we describe a few terms that are used in defining our protocol. A clusterhead 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 transfer phase. In an election
7

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 round consists 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.
Round 1

Iteration 1

Election Phase
Epoch 1
Data Transfer
Epoch j

Iteration m

Election Phase
Epoch 1
Data Transfer
Epoch j

Round 2

Iteration 1

Election Phase
Epoch 1
Data Transfer
Epoch j
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 a candidate. 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 acquire associate 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

Passive Associate

Associate

End of iteration

Start of an epoch

Start frame

End of iteration

End frame

End of iteration

Active

Noncandidate

Start of an iteration

Start of a new round

End of an election phase

Candidate

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 the passive 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 of the 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 the non-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.

3.2 Election Phase


In the proposed model, the number of clusters, k, are pre-determined for the wireless sensor network. At the start, a set of cluster heads are chosen on random
basis. These cluster heads send a short range advertisement broadcast message.
The sensor nodes receive the advertisements and choose their cluster heads based
on the signal strengths of the advertisement messages. Each sensor 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 acknowledgments. A head-set consists of a cluster head and the associates. 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 headset 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 transmission 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 associate 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

for the next iteration. Finally, at the end of a round, all the nodes have become
non-candidate members. At this stage, a new round is started and all the nodes
become candidate members.

4 Quantitative Analysis
In this section, we describe a radio communication model that is used in the quantitative analysis of our protocol. The energy dissipation, number of frames, time
for message transfer, and the optimum number of clusters are analytically determined.

4.1 Radio Communication Model


We use a radio model as described in [HCB00], where for a shorter distance transmission, such as within clusters, the energy consumed by a transmit amplifier is
proportional to r 2 . However, for a longer distance transmission, such as from a
cluster head to the base station, the energy consumed is proportional to r 4 . Using
the given radio model, the energy consumed to transmit an l-bit message for a
longer distance, d, is given by:
ET = lEe + ll d4

(1)

Similarly, the energy consumed to transmit an l-bit message for a shorter distance
is given by:
ET = lEe + ls d2

(2)

Moreover, the energy consumed to receive the l-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 given in Table 1.

11

Description

Symbol Value

Energy consumed by the amplifier to transmit

10 pJ/bit/m2

0.0013

at a shorter distance
Energy consumed by the amplifier to transmit

pJ/bit/m4

at a longer distance
Ee

50 nJ/bit

EBF

5 nJ/bit

Energy consumed in the electronics circuit to


transmit or receive the signal
Energy consumed for beam forming

Table 1: Sample parameter values of the radio communication model used in our
quantitative analysis.

4.2 Election Phase


For a sensor network of n nodes, the optimal number of clusters is given as k. 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 sensors transmit their decision
to their corresponding cluster heads. Fourth, the cluster heads receive messages
from their sensor nodes and remember their corresponding nodes. For each cluster, the corresponding cluster head chooses a set of m associates, based on signal
analysis.
For uniformly distributed clusters, each cluster contains

n
k

nodes. Using Equa-

tion 2 and Equation 3, the energy consumed by a cluster head is estimated as


follows:
n
ECHelec = lEe + ls d +
1 l(Ee + EBF )
(4)
k
The first part of Equation 4 represents the energy consumed to transmit the advern

12



tisement message; this energy consumption is based on a shorter distance energy


dissipation model. The second part of Equation 4 represents the energy consumed
to receive

n
k

1 messages from the sensor nodes of the same cluster. Equation

4 can be simplified as follows:


n
n
+ lEBF
1 + ls d2
(5)
k
k
Using Equation 2 and Equation 3, the energy consumed by non-cluster head


ECHelec = lEe

sensor nodes is estimated as follows:


n

EnonCHelec = {klEe + klEBF } + lEe + ls d2

(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 the energy consumed
to transmit the decision to the corresponding cluster head. Equation 6 can be
simplified as follows:
EnonCHelec = lEe (1 + k) + klEBF + ls d2

(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 energy consumed by a cluster head is as follows:
n

ECH/f rame = lEe + ll d



n
m l(Ee + EBF
k


(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 shows the energy consumed
to receive messages from the remaining

n
k

m nodes that are not part of the

head-set. Equation 8 can be simplified as follows:


ECH/f rame

n
n
m + 1 lEe +
m lEBF
= ll d +
k
k
4

13

(9)

The energy, EnonCH/f rame , consumed by a non-cluster head node to transmit


the sensor data to the cluster head is given below:
EnonCH/f rame = lEe + ls d2

(10)

For circular clusters with a uniform distribution of sensor nodes and a network
diameter of M, the average value of d2 is given as: E[d2 ] =
can be simplified as follows:
EnonCH/f rame

M2
2k

. Equation 10

M2
= lEe + ls
2k

(11)

In one iteration, Nf data frames are transmitted. The frames transmitted by


each cluster is Nf /k. The Nf /k frames are uniformly divided among n/k nodes
of the cluster. Each cluster head frame transmission needs nk m non-cluster head
frames. For simplification of equations, the fractions f1 and f2 are given as below:
f1 =

f2 =

n
k

n
k

1
m+1

1
k

(12)

n
k

1
k

(13)

m
m+1

The energy consumptions in a data transfer stage of each cluster are as follows:
ECHdata = f1 Nf ECH/f rame

(14)

EnonCHdata = f2 Nf EnonCH/f rame

(15)

4.4 Start energy for one round


There are k clusters and n nodes. In each iteration, m nodes are elected for each
cluster . Thus, in each iteration km nodes are elected as members of head-sets.
The number of iterations required for all n nodes to be elected is

n
km

, which is

the number of iterations required in one round. Moreover, an iteration consists of


14

an election phase and a data transfer stage. The energy consumed in one iteration
of cluster is as follows:
ECH/iter/cluster = ECHelec + ECHdata

(16)

EnonCH/iter/cluster = EnonCHelec + EnonCHdata

(17)

Since there a m nodes in a head-set, the ECH/iter/cluster is uniformly divided


among the head-set members, as given below:

ECH/node =

ECH/iter/cluster
m

(18)

Similarly, there are nk m non-cluster head nodes in a cluster. The EnonCH/iter/cluster


is uniformly distributed among all the non-cluster head members as follows:

EnonCH/node =

EnonCH/iter/cluster
n
m
k

(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 one round, a node
becomes a member of head-set for one time and a non-cluster head for
times. An estimation of Estart is given below:

Estart = ECH/node +

n
1 EnonCH/node
km


n
km

(20)

Using Equation 18, Equation 19 and Eqaution 20, Estart can be described as
below:

Estart =


1 
ECH/iter/cluster + EnonCH/iter/cluster
m

(21)

Using Equation 21, Equation 16, Equation 17, Equation 14, and Equation 15,
Estart can be given as follows:
15

Estart =


ECHelec + EnonCHelec Nf 
f1 ECH/f rame + f2 EnonCH/f rame (22)
+
m
m

Using Equation 22, Nf can be given as below:

Nf =

mEstart ECHelec EnonCHelec


f1 ECH/f rame + f2 EnonCH/f rame

(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/f rame +

n
m EnonCH/f rame
k


(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

n
k

m non-cluster

head nodes. The total energy consumed by k clusters is as follows:


Etotal/f rame = kEc

(25)

Using Equation 25, Equation 24, Equation 11, and Equation 9, the total energy
consumed by k clusters is given below:
Etotal/f rame

n
n
= k ll d +
m + 1 lEe +
m lEBF +
k
k
(
!)

n
M2
k
m lEe + ls
k
2k


(26)

The above equation can be simplified as follows:


n

Etotal/f rame = kll d4 + (n km + k) lEe + (n km) lEBF +


(

M2
(n km) lEe + (n km) ls
2k
16

(27)

Etotal/f rame = kll d4 + (2n 2km + k)lEe + (n km)lEBF + lns

M2
M2
lms
(28)
2k
2

The optimum number of k for minimum consumed energy can be determined


as follows:
dEtotal
=0
dk

(29)

Using Equation 29 and Equation 28, we get the following result:

l d4 (2m 1)Ee mEBF ns

M2
=0
2k 2

(30)

Using Equation 30, the optimum value of k for minimum dissipation of frame
energy is as follows:

k=

n
2

s
M
l d4 (2m 1)Ee mEBF

(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, tf rame is the addition of transmission times of the
messages transmitted by all the nodes of a cluster. For a data transfer rate of Rb
bits/second and message length of l bits, the time to transfer a message, tmsg , is as
follows:

l
(32)
Rb
In one frame, messages are transmitted by all the non-cluster head nodes and
tmsg =

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 are m 1, do not transmit during
the frame transmission. The time for one frame is given as follows:

17

tf rame =

n
m
kX

tmsgi

i=1

The first part of Equation 33 is due to

+ {tmsgcluster

n
k

m messages from non-cluster head

head

(33)

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:
tf rame

n
=
m + 1 tmsg
k


(34)

As Nf frames are transmitted in one iteration, time for one iteration, titeration
is as follows:
titeration = tf rame Nf

(35)

Using Equation 35, Equation 34, and Equation 32, the iteration time titeration
can be given as below:

Since there are

n
km

l n
m + 1) Nf
(36)
titeration =
Rb k
iterations in one round, the time for one round, tround , is as


follows:
n
km


l n n
Nf
=
m+1
Rb k k
m
tround = titeration

(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 of Section 4.
18

5.1 Optimum number of clusters


The optimum number of clusters can be obtained from Equation 31. 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 at d=150m and the number
of nodes n=1000. The head-set size can be varied between 1 and 6. As the graph
shows, the head-set size cannot be greater than 6. Moreover, for a given head-set
size, the maximum number of clusters can also be determined from the graph.
15

# of Clusters

10

10

HeadSet Size

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 values of head-set sizes.
However, when the head-set size is small, only small number of clusters are pos19

10
9

# of Clusters

8
7
6
5
4
3
2
1
250
5
4

200
3
2

Distance

150

HeadSet Size

Figure 4: Cluster size with respect to distance from the base station and the headset size.
sible. Moreover, when the distance from the base station is increased, more energy is spent for a distant transmission. As a result, for the same 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 consumption is reduced when the
number of clusters are increased. However, the rate of reduction in energy consumption is reduced for higher cluster sizes. Moreover, the energy consumption
is lower when head-set size is 3 as compared to head-set size of 1.

20

Energy (J)

HeadSet Size=3
1

HeadSet Size=1

10

12

14

16

18

20

Number Of Clusters

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 is 20. The graphs show
that energy consumption is reduced when the number of clusters are increased.
For the simulated network of 1000 nodes, graphs shows that the optimum range
of clusters lies between 20 and 60. As the number of cluster are increased, graph
21

Nf=10000,d=100,n=1000

HeadSet Size=1

Estart (J)

0.8

0.6

0.4

0.2

0
50
40

200

HeadSet Size=3

30
20

100
10

# Of Clusters k

150

50
0

Network Diameter (m)

Figure 6: Energy consumed per round with respect to number of clusters.


shows that the energy consumption also increases. When the number of clusters
are below the optimum range, for example 10, 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 headset size is 3 as compared to LEACH, where head-set size is 1. The reduction in
energy consumption is mainly due to extra nodes in the head-set. In transmission
of each frame, there are

n
k

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

the number of elections are reduced from

n
k

to

n
.
km

Nf=10000,k=50,n=1000

0.12
0.1

Estart (J)

0.08
0.06
0.04
0.02
0
20
200

15
150

10
100

HeadSest Size

50
0

Network Diameter (m)

Figure 7: Energy consumed per round with respect to head-set size 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, yaxis, 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 clusters k = 50. As expected, the graph shows
that energy consumption is reduced when the head-set size is increased.
The results of reduced energy consumption, as illustrated in Figure 6 and Figure 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

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 collection 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 such that every node becomes 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.

x 10

HeadSet Size=3

Time for one iteration (sec)

4
3.5
3
2.5
2
1.5
1
0.5
0
100

HeadSet Size=3
80

200
60

150
40

100
20

HeadSet Size (%)

50
0

Network Diameter

Figure 8: Time for iteration with respect to cluster diameter and the head-set size.

24

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 is 50% of the cluster size. When the headset size is less than 50% 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 than 50% of the cluster size, there are more transmissions
in each iteration, although there are fewer iterations.
3

n=1000,M=100,r=250*10
4

x 10
7
6

Time (sec)

5
4
3
2
1
0
1
20
50

15
40

10

30
20

HeadSet Size

10
0

# of clusters, k

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 time for one iteration
25

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 carefully chosen to extend the
network life time.
n=1000,k=50,r=250*103

x 10
18
16

# of Frames

14
12
10
8
6
4
2
0
20
200

15
150

10
100
5

HeadSet Size

50
0

Network Diameter (m)

Figure 10: Number of frames transmission per iteration with respect to the headset size and cluster diameter.
Figure 10 shows a graph that illustrates the number of frames transmitted with
respect to cluster diameter and head-set size. The x-axis, y-axis, and z-axis represent 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 is also consistent with
26

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 decreased by including more sensors in a head-set. For the same number 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 conditions will be investigated. This work will be extended to incorporate non-uniform
cluster distributions. We are developing the simulation model to validate and verify 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

References
[BC03]

S. Bandyopadhyay and E. J. Coyle. An energy efficient hierarchical


clustering algorithm for wireless sensor networks. In Proceedings
of the IEEE Conference on Computer Communications (INFOCOM),
2003.

[BE02]

D. Braginsky and D. Estrin. Rumor routing algorthim for sensor networks. In Proceedings of the 1st ACM International Workshop on
Wireless Sensor Networks and Applications, pages 2231, New York,
NY, USA, 2002. ACM Press.

[CE04]

A. Cerpa and D. Estrin. ASCENT: Adaptive self-configuring sensor 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. In Proceedings
of the International Conference on Mobile Computing and Networks
(MobiCom), 1999.
[HCB00]

W. R. Heinzelman, A. Chandrakasan, and H. Balakrishnan. Energyefficient communication protocol for wireless microsensor networks.
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

In Proceedings of the 6th Annual International Conference on Mobile


Computing and Networking, pages 5667, August 2000.
[LR02]

S. Lindsey and C. S. Raghavendra. PEGASIS: Power-efficient gathering in sensor information systems. In Proceedings 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):458473, 2005.
[YHE04]

W. Ye, J. Heidemann, and D. Estrin. Medium access control with coordinated adaptive sleeping for wireless sensor networks. IEEE/ACM
Transactions on Networks, 12(3):493506, 2004.

29

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*(d4)-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*d2);
Enon_ch_elect=l.*(Ee.*(1+k)+es*d2);
Ech_frame=l.*(((n./k)-m+1)*Ebf+el*d4+((n./k)-m+1)*Ee);
Enon_ch_frame=l.*(Ee+es*((M2)./((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*d2);

30

Enon_ch_elect=l.*(Ee.*(1+k)+es*d2);
Ech_frame=l.*(((n./k)-m+1)*Ebf+el*d4+((n./k)-m+1)*Ee);
Enon_ch_frame=l.*(Ee+es*((M2)./((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*d2);
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*d4)+((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*d2);
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*d4)+((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

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*d2);
Enon_ch_elect=l.*(Ee*(1+k)+(k*Ebf)+es.*((M.*M)/(2*3.14159*k)));
Ech_frame=l.*(((n/k)-m)*Ebf+(el*d4)+((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*103; Estart=0.1;
[M,m]=meshgrid([1:10:190],[1:1:19]);
Ech_elect=l.*(Ee*(n/k)+Ebf*((n/k)-1)+es*d2);
Enon_ch_elect=l.*(Ee*(1+k)+(k*Ebf)+es.*((M.*M)/(2*3.14159*k)));
Ech_frame=l.*(((n/k)-m)*Ebf+(el*d4)+((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

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*103;
Estart=0.1;
[m,k]=meshgrid([1:1:20],[1:2.5:50]);
Ech_elect=l.*(Ee.*(n./k)+Ebf.*((n./k)-1)+es*d2);
Enon_ch_elect=l.*(Ee.*(1+k)+(k.*Ebf)+es.*((M*M)./(2*3.14159*k)));
Ech_frame=l.*(((n./k)-m)*Ebf+(el*d4)+((n./k)-m+1)*Ee);
Enon_ch_frame=l*(Ee+es.*((M2)./(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*103; Estart=0.1;
[M,m]=meshgrid([1:10:200],[1:1:20]);
Ech_elect=l.*(Ee*(n/k)+Ebf*((n/k)-1)+es*d2);
Enon_ch_elect=l.*(Ee*(1+k)+(k*Ebf)+es.*((M.*M)/(2*3.14159*k)));
Ech_frame=l.*(((n/k)-m)*Ebf+(el*d4)+((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