Top Banner
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
33
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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

ǫ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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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: tr-2005-011

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