Selection of Efficiently Adaptable
Clustering Algorithm upon Base Station
Failure in Wireless Sensor Network
Dissertation
submitted in partial fulfillment of the requirements
for the degree of
Master of Technology
by
Tushar D. Maheshwari
Roll No: 121022009
under the guidance of
Dr. Jibi Abraham
Department of Computer Engineering and Information Technology
College of Engineering, Pune
Pune - 411005.
June 2012
Dedicated to my mother
Smt. Sunita D. Maheshwari
and my father
DEPARTMENT OF COMPUTER
ENGINEERING AND
INFORMATION TECHNOLOGY,
COLLEGE OF ENGINEERING, PUNE
CERTIFICATE
This is to certify that the dissertation titled
Selection of Efficiently Adaptable Clustering
Algorithm upon Base Station Failure in Wireless
Sensor Network
has been successfully completed By
Tushar D. Maheshwari
(121022009)
and is approved for the degree of
Master of Technology.
Dr. Jibi Abraham
Guide and Head,
Department of Computer Engineering and Information Technology College of Engineering, Pune, Shivaji Nagar, Pune-411005.
Abstract
Wireless Sensor Network (WSN) applications have increased in recent times in fields such as environmental sensing, area monitoring, air pollution monitoring, forest fires detection, machine health monitoring, and landslide detection. In such applications, there is a high need of secure communication among sensor nodes. There are different techniques to secure network data transmissions, but due to power constraints of WSN, group key based mechanism is the most preferred one. Hence, to implement scalable energy efficient secure group communication, the best approach would be hierarchical based like Clustering.
In most of the WSN designs based on clustering, Base Station (BS) is the central point of contact to the outside world and in case of its failure; it may lead to total disconnection in the communication. Critical applications like these cannot afford to have BS failure as it is a gateway from sensor networks to the outside world. In order to provide better fault tolerant immediate action, a new BS at some other physical location will have to take the charge. This may lead to a total change in the hierarchical network topology, which in turn leads to re-clustering the entire network and in turn formation of new security keys. Therefore, there is a need to find a suitable algorithm which clusters sensor nodes in such a way that when a BS fails and a new BS takes the charge, new group key gets established with minimum computation and less energy consumption.
A survey on various clustering algorithms like Energy-Efficient Multi-level Clustering Algorithm for Large-scale WSNs (EEMC), Low Energy Adaptive Clus-tering Hierarchy Protocol for WSNs (LEACH), Power Efficient and Adaptive Clustering Hierarchy Protocol for WSNs (PEACH), Hybrid, Energy-Efficient, Dis-tributed Clustering Approach for WSNs (HEED) and Energy Efficient Clustering Algorithm for Maximizing Lifetime of WSNs (EECML) has been done to analyze their performance with respect to various parameters like power consumption of sensor nodes, cluster overlapping, cluster stability, fault tolerance and node-cluster information based on the literature survey and on the basis of these parameters we came to know that HEED and EECML are probably the most suitable algorithms to achieve our aim. So HEED and EECML are implemented on TinyOS, an open source platform for building WSN applications and their performance is evaluated for required parameters. From evaluation it is found that EECML could be the most suitable algorithm that makes a WSN adaptable upon failure of BS.
Acknowledgments
I express my sincere gratitude to my guide Dr. Jibi Abraham for her constant help, encouragement and inspiration throughout the project work. Without her invaluable guidance, this work would never have been a successful one. I would also like to thank all the faculty members of the department for their valuable suggestions and helpful discussions. Last, but not the least, I would like to thank my dearest and closest friends and of course parents who have been the backbone, advisors and constant source of motivation throughout the work.
Tushar D. Maheshwari
College of Engineering, Pune June, 2012
Contents
Abstract iii
Acknowledgments iv
List of Figures vii
List of Tables viii
1 Introduction 1
1.1 Wireless Sensor Networks . . . 1
1.2 MICA2 . . . 2 1.3 Clustering . . . 3 1.4 Motivation . . . 4 1.5 Thesis Objective . . . 5 1.6 Thesis Outline . . . 6 2 Literature Survey 7 2.1 Wireless Sensor Networks . . . 7
2.2 TinyOS-Platform for Practical Implementation . . . 7
2.2.1 Basic Structure of TinyOS . . . 8
2.2.2 Features of TinyOS . . . 8
2.2.3 File Types in TinyOS . . . 9
2.2.4 The nesC language . . . 10
2.2.5 TOSSIM-TinyOS Simulator . . . 11
2.2.5.1 Characteristics of TOSSIM . . . 11
2.2.5.2 Compiling and Running Simulation . . . 12
2.3 Clustering Algorithms . . . 13
2.3.1 Low Energy Adaptive Clustering Hierarchy Protocol for WSNs (LEACH) . . . 13
2.3.2 An Energy-Efficient Multi-level Clustering Algorithm for
Large-scale WSNs (EEMC) . . . 14
2.3.3 Power Efficient and Adaptive Clustering Hierarchy Protocol for WSNs (PEACH) . . . 15
2.3.4 Hybrid, Energy-Efficient, Distributed Clustering Approach for WSNs (HEED) . . . 17
2.3.5 Energy Efficient Clustering Algorithm for Maximizing Life-time of WSNs (EECML) . . . 21
3 Proposed Approach 29 3.1 Evaluation Parameters . . . 29
3.1.1 Power Consumption of Sensor Nodes . . . 29
3.1.2 Cluster Stability . . . 29
3.1.3 Fault tolerance and Re-clustering . . . 30
3.1.4 Cluster Overlapping . . . 30
3.1.5 Scalability . . . 30
3.1.6 Node Cluster Information . . . 30
3.2 Further Approach . . . 30
4 Implementation and Results 33 4.1 Implementation in TinyOS . . . 33
4.1.1 Challenges in Implemetation . . . 33
4.1.2 Estimation of Energy Dissipation . . . 34
4.2 Results . . . 36
4.2.1 Power Consumption of sensor nodes . . . 36
4.2.2 Cluster stability . . . 36
4.2.3 Scalability . . . 39
4.2.4 Fault Tolerance . . . 40
4.2.5 Cluster Overlapping . . . 40
4.2.6 Node Cluster Information . . . 40
4.2.7 Power Consumption of Cluster Head . . . 40
5 Conclusion and Future Work 43 5.1 Conclusion . . . 43
5.2 Future Work . . . 43
6 Publications 45
List of Figures
1.1 Sensor information forwarding without clustering and aggregation . 3
1.2 Sensor information forwarding with clustering and aggregation . . . 4
1.3 Clustering hierarchy before failure of Base Station . . . 5
1.4 New clustering hierarchy after failure of Base Station . . . 5
2.1 Clustering hierarchy before failure of Base Station . . . 9
2.2 Hierarchy of the various files in TinyOS . . . 10
2.3 Clustering hierarchy before failure of Base Station . . . 11
2.4 System design of HEED protocol . . . 20
2.5 Algorithm model of EECML . . . 24
2.6 Protocol operation of EECML . . . 26
2.7 Complete scenario of sensor network when clustered through EECML 27 2.8 Flowchart of each Cluster Head gathering data from its member and the lower layer CH located in the same clustering angle . . . . 28
4.1 Power Consumption of all sensor nodes in HEED and EECML after formation of clusters but before failure of Base Station . . . 37
4.2 Power Consumption of all sensor nodes in HEED and EECML after failure of Base Station (average of different positions of new BS) . . 38
4.3 Stability of clusters in HEED and EECML . . . 39 4.4 Residual energy of Cluster Head(s) in a cluster(No. of nodes=25) . 41 4.5 Residual energy of Cluster Head(s) in a cluster(No. of nodes=50) . 42
List of Tables
3.1 Comparative results of various clustering algorithm as per literature survey . . . 31 4.1 Results for total energy consumed by Sensor Nodes after formation
of clusters but before failure of Base Station . . . 37 4.2 Results for total energy consumed by Sensor Nodes after failure of
Base Station . . . 38 4.3 Results for Cluster Stability . . . 39 4.4 Results showing residual energy of Cluster Head(s) in a cluster . . . 41 4.5 Residual energy of Cluster Head(s) in a cluster . . . 42
Chapter 1
Introduction
1.1
Wireless Sensor Networks
Wireless sensor network consists of large number of small, low power, low cost sensor nodes with limited memory, computational, and communication resources and a Base Station. These nodes continuously monitor environmental conditions and collect detailed information about the physical environment in which they are installed, then transmits the collected data to the BS. BS is a gateway from sensor networks to the outside world. The BS has a very large storage and large data processing capabilities. It passes the data it receives from sensor nodes to the server from where end-user can access them. The sensors nodes are generally deployed around the area of the Base Station and form groups as per the need of the Base Station.
WSN has an advantage of being operated unattended in the environment where continuous human monitoring is either risky, inefficient or infeasible. Sensor nodes run on batteries and once nodes are deployed their batteries cannot be recharged, so they have short lifespan.
There are various applications of Wireless Sensor Network; they are mainly de-ployed in military and health applications. Also they are applied in robot control, automatic manufacturing, office or home automation. WSN is useful in detecting forest fires based on temperature information it receives from large number of distributed sensor nodes.
1.2 MICA2
1.2
MICA2
The MICA2 [31, 32] is a third generation mote module used for low power Wire-less Sensor Networks. A large array of available sensor boards make this mote customizable for various applications. It works on AA batteries which has life of more than one year.
Hardware Specifications
• Sensing: It is available through expansion boards not limiting to Tempera-ture, Barometric Pressure, Acceleration/Seismic, Acoustic, Magnetic.
• Modulation type : Frequency Shift key
• Input/Output: MICA2 has 51 pin connector for connecting to the sensor board. It supports analog inputs, digital I/O. It also contains 3 LEDs for diagnostic purposes.
• Chip :Atmega 128L Microcontroller
• Flash memory : 128KB
• External Storage : 512KB
• Static RAM : 4KB
• EEPROM : 4KB
• Execution rate : 16 MIPS.
• Default Power : 2× AA batteries
• Typical capacity : 2850mAh
• Radio Frequency: 868/916Mhz, 433, or 315Mhz
Applications:
• Wireless Sensor Network
• Security, Surveillance and Force Protection
• Environmental Monitoring
1.3 Clustering
1.3
Clustering
WSN [1, 2] consists of a large number of sensor nodes, moreover these sensor nodes run on non rechargeable batteries. So to serve the objective of fault-tolerance, load balancing and network connectivity, grouping of nodes is required. Clustering [3] is a process of dividing sensor nodes into groups on the basis of various parameters, and selecting a group leader from each group. The groups are called clusters and group leaders are called Cluster Heads(CHs) of the clusters. Parameters for forming the clusters include distance between cluster head and its member, intra-cluster communication cost, residual energy of sensor nodes, location of node with respect to BS etc.
Figure 1.1: Sensor information forwarding without clustering and aggregation
Figure 1.1 and Figure 1.2 gives a pictorial representation of different ways of data communication in Wireless Sensor Network. Figure 1.1 shows communication without clustering whereas figure 1.2 shows the network scenario when there is clustering in the network. Clustering divides the sensor nodes in the network into clusters and selects a Cluster Head (CH) for each cluster so that member from each cluster communicates through their CH in order to communicate to the BS. In this way clustering increases network lifetime as after clustering less number of nodes will access the channel for communication with the BS, all the informations and updates of whole cluster are collected together at CH and forwarded to the next CH in the hierarchy or the BS. CH can also look into other functions like data aggregation, group key management, distributed computation. Clustering
1.4 Motivation
Figure 1.2: Sensor information forwarding with clustering and aggregation
also helps in optimal utilization of network resources, load balancing, node failure management, energy consumption and network lifetime management.
1.4
Motivation
When Wireless Sensor Networks are deployed mainly for military and health ap-plications, there is a high need of secure communication among sensor nodes. There are different techniques to secure network data transmissions, but due to power constraints of WSN, group key based mechanism [11] is the most preferred one. Hence to implement scalable energy efficient secure group communication, the best approach would be hierarchical based like Clustering [3].
In most of the WSN [1,2] designs based on clustering, Base Station is the central point of contact to the outside world and in case of its failure; it may lead to total disconnection in the communication. So in order to provide better fault tolerant immediate action, a new BS at some other physical location will have to take the charge. This may lead to a total change in the hierarchical network topology, which in turn leads to re-clustering the entire network and in turn formation of new security keys. Hence in such situations, we need a clustering algorithm which will perform the minimum re-clustering with minimum energy consumption and minimum execution time.
1.5 Thesis Objective
1.5
Thesis Objective
Figure 1.3 and Figure 1.4 shows the clustering sensor network scenario before and after failure of BS respectively, it is clear that whenever there is a change in location of BS there will be some or more change in clusters and topology of the sensor network, this also results in more efforts in terms of energy consumption and time for establishment of new group key.
Figure 1.3: Clustering hierarchy before failure of Base Station
Figure 1.4: New clustering hierarchy after failure of Base Station
We have to find a suitable algorithm which clusters sensor nodes in such a way that when a BS fails and a new BS takes the charge, new group key gets
1.6 Thesis Outline
established with minimum computation and less energy consumption i.e. our objective is to come up with the most suitable clustering algorithm that requires minimum changes in clusters and topology in such situations and makes WSN efficiently adaptable.
In order to accomplish our goal many clustering algorithms from the literature will be considered and their performance will be evaluated on various chosen pa-rameters. The parameters will be chosen in such a way that in effect they will help us to find an efficiently adaptable clustering algorithm.
1.6
Thesis Outline
The rest of the thesis is organized as follows: In Section 2 we give a brief descrip-tion of the important papers that we have studied or utilized as a part of our literature survey. In Section 3, we introduce our proposed system model for mood recognition. Section 4 shows the experimental results achieved so far and finally in Section 5 we present the conclusion and future work.
Chapter 2
Literature Survey
2.1
Wireless Sensor Networks
From the following properties obtained after literature survey of WSNs, it is clear that there are hundreds or thousands of deployed sensor nodes in the application field of WSN. The main features of WSN
are:-• All sensor nodes are battery operated which has very low power, and after deployment recharging those batteries is not possible.
• Links among the sensor nodes are symmetric, i.e., two nodes can communi-cate using the same transmission power.
• All the sensor nodes which are deployed have initially same amount of com-munication and battery power.
• There are various transmission power levels for all sensor nodes, and dynam-ically each node can change their power level.
• Mobility of sensor node varies from application to application, so in general they are quasi-stationary.
• Location of sensor nodes once deployed cannot be tracked down as they are not equipped with GPS antennae.
2.2
TinyOS-Platform for Practical
Implementa-tion
TinyOS [29, 30] is a lightweight, event-driven, open source operating system de-veloped specially for low-power nodes of sensor network. It operates on ultra-low
2.2 TinyOS-Platform for Practical Implementation
power which is what makes it different from other operating systems. It has very advanced systems and techniques for saving power.
TinyOS makes it very easy to build sensor network applications. It provides a set of important abstractions and services, such as storage, communication, timers, and sensing. It defines a concurrent execution model, so developers can build applications out of reusable components and services worrying about un-foreseen interactions. TinyOS runs on many of the generic platforms, and most of them support easy addition of new nodes in the network. Furthermore, TinyOSs structure is designed in such a way that it is very easy to port it to new platforms.
2.2.1
Basic Structure of TinyOS
TinyOS [29, 30] basically consists of commands, events and tasks. Commands are used to initiate a particular action in a program, events is a type of notification that notify that action has occurred. Events are generally generated by external interrupts and results are provided to the command which generated the previous command. Task is a program which runs in background doing all the computations for different modules. Figure 2.1 shows the flow of all these basic constructs i.e. application generates a command, some task is performed, then command is passed to component module which in turn generates another command for hardware interface from where event is generated and the results are provided to the application passing through the component module.
2.2.2
Features of TinyOS
TinyOS provides mainly three things which make developing sensor network ap-plications and systems easier:
1. Component Model: It defines how to write small piece of code and convert them into larger abstractions. It is grounded in nesC [29]. It allows us to write pieces of reusable code which explicitly declare their dependencies. 2. Concurrent Execution Model: It defines how components interleave their
computations as well as how interrupt and non-interrupt code interact. It enables TinyOS to support many components needing to act at the same time while requiring little RAM. First, every I/O call in TinyOS is split-phase: rather than block until completion, a request returns immediately and the caller gets a callback when the I/O completes. TinyOS only needs only one stack, and does not have threads.
2.2 TinyOS-Platform for Practical Implementation
Figure 2.1: Clustering hierarchy before failure of Base Station
3. Overall component structure with APIs, component libraries and services that simplifies the task of writing new applications and services. TinyOS has a set of APIs for common functionality, such as sending packets, reading sensors, and responding to events. It also provides a component structure and component libraries.
2.2.3
File Types in TinyOS
There are three types of file in TinyOS
namely-• Interfaces : It specifies functionality to outside world, what type of com-mands can be called and what events need handling. Standard filename syntax is (xxx.nc).
• Module : This is a file in which real code is implemented, it contains the code for the interface functions defined in interface file. Its standard filename syntax is (xxxM.nc).
• Configuration : This is file which is used for wiring of components in an application
2.2 TinyOS-Platform for Practical Implementation
Figure 2.2 shows an example where main.nc file contains abstract of an inter-face interinter-faceM.nc, code2M.nc and code3M.nc are the files which contain their own defined definition of the interface interfaceM.nc in interfaceA and interfaceB respectively. This interface are wired through configuration file comp1C.nc and app.nc for comp3M.nc and comp2M.nc respectively.
Figure 2.2: Hierarchy of the various files in TinyOS
2.2.4
The nesC language
TinyOS itself with its applications and systems are written in nesC [29, 30] which is a dialect of C language. nesC is compiler for applications that run on UCB motes built on top of avg-gcc. nesC file has extension “.nc“. It is a static lan-guage with no dynamic memory i.e. no malloc, no heap and no function pointers. It is influenced by Java and is designed to foster code reuse. It eliminates mono-lithic programs so that code can be used more easily and number of errors get decreased. It has features to reduce code and RAM size, also it supports sig-nificant optimizations and help in preventing low-level bugs like race conditions. Figure 2.3 shows execution of program in TinyOS.
2.2 TinyOS-Platform for Practical Implementation
Figure 2.3: Clustering hierarchy before failure of Base Station
2.2.5
TOSSIM-TinyOS Simulator
TOSSIM [30]is a discrete event simulator provided by TinyOS for high fidelity simulation of all of its applications. User can compile TinyOS application on PC framework of TinyOS instead of compiling them on real mote. So user can test, analyze and debug developed algorithms in a controlled and repeatable environ-ment. As it runs on PC, users can examine their code using debuggers and other development tools. TOSSIM primarily focuses on simulating TinyOS and its ex-ecution but not the real world. TOSSIM is not always a right simulation solution as it makes many assumptions focusing on making some behaviors accurate while simplifying others. There is always a question about TOSSIM that whether it can simulate Z or it has an accurate model for Z.
2.2.5.1 Characteristics of TOSSIM
Various characteristics of TOSSIM as mentioned in [29, 30] are:
• Fidelity: TOSSIM simulates the network at the bit level, simulates every interrupt in the system and each individual ADC capture. By default, it captures TinyOS behavior at very low level.
2.2 TinyOS-Platform for Practical Implementation
• Time: While TOSSIM precisely times interrupts, it does not model execu-tion time. A piece of code in TOSSIM will run instantaneously so the spin locks will never exit as the event that allow spin lock to stop will never occur unless code execution completes.
• Model: TOSSIM though provides abstractions of certain real-world phe-nomena like bit error but it does not model the real world. User can im-plement models whatever they want to by manipulating these abstractions. TOSSIM always tries to keep the simulation efficient and simple.
• Building: TOSSIM builds directly from TinyOS code. In-order to simulate a protocol or system, its TinyOS implementation has to be written. Though it is more difficult than an abstract simulation but once it is done it can be taken and run on real motes.
• Imperfections TOSSIM makes many simplifying assumptions though it captures TinyOS behavior at a very low level. So it may be possible that code which runs in a simulation might not run on real mote. As TOSSIM is discrete-event simulator, its interrupts are non-preemptive so in case of preemptive interrupt real mote may fail but simulation will run.
2.2.5.2 Compiling and Running Simulation
TOSSIM is built automatically whenever TinyOS application is compiled. Com-pilation can be done by entering in the application directory and typing make or make pc. make pcwill only compile a simulation of the application. The TOSSIM has executable by the name main.exe, and created in build/pc after compilation. It has the following usage:
Usage: ./build/pc/main.exe [options] numnodes [options] are:
-h,- -help Display this message.
-gui pauses simulation waiting for GUI to connect
-a=hmodeli specifies ADC model (generic is default) options: generic random
-b=hseci motes boot over first hseci seconds (default: 10)
-ef=hfilei use hfilei for eeprom; otherwise anonymous file is used
-l=hscalei run sim at hscalei times real time (fp constant)
-a=hmodeli specifies a radio model (simple is default) options: simple static lossy
2.3 Clustering Algorithms
-rf=hfilei specifies file input for lossy model (lossy.nss is default)
-s=hnumi only boothnumi of nodes
-t=hseci run simulation forhseci virtual seconds
numnodes number of nodes to simulate
2.3
Clustering Algorithms
From the various proposed clustering algorithms in the literature, five energy effi-cient algorithms are selected in order to achieve our goal and these algorithms are evaluated further to select the best algorithm which makes WSN better adaptable. Evaluation is done on basis of various parameters which will be studied in chapter 3. In this section we will study the selected algorithms in detail.
2.3.1
Low Energy Adaptive Clustering Hierarchy Protocol
for WSNs (LEACH)
LEACH [8] is a distributed hierarchical protocol which provides data aggregation for sensor networks by selecting random CHs in a distributed manner. It forms clusters based on the received signal strength and uses the CH nodes as routers to the Base Station. All data processing such as data fusion and aggregation are local to the cluster. Each node transmits to their CHs which in turn aggregate and compress the data and send to the Base Station. A stochastic algorithm is used (round by round) by each node to determine whether it can become CH in that round or not. All non CH nodes communicate to the CH in TDMA fashion as scheduled by CH.
In LEACH, Cluster Head is selected dynamically and rotated periodically which counts for less power consumption of the network. But since it uses single-level clustering scheme, power consumption is comparatively more to those algo-rithms that use multi-level clustering. Nodes that have been CH cannot be CH for next i rounds. At the end of each round, node that is not a CH selects the closest CH and joins its cluster by informing the CH. This protocol creates non overlapping clusters. Although there is no energy-balancing problem in LEACH but it doesn’t care about the energy consumption in intra-clusters communication. So clusters formation and its structure in LEACH may not be optimal.
2.3 Clustering Algorithms
2.3.2
An Energy-Efficient Multi-level Clustering Algorithm
for Large-scale WSNs (EEMC)
EEMC [7] is a multi-level clustering protocol which organizes nodes into hierarchy of clusters and aims at minimizing the total power consumption of the network as they use multi-level clustering scheme. It is an extension of TLCS (Two Level Clustering Scheme) [7] where each cluster is divided into sub clusters (level-2) having their respective cluster heads. These CHs after gathering data packets transmit the aggregated data packet to the corresponding CH of level-1 and finally all CHs (level-1) send data to the BS.
Operation of data collection is done in rounds and each round has two phases: 1. Cluster setup phase : This phase means that the nodes execute this
algorithm to establish multi-level clustering topology on its own. This phase works in a top-down fashion [20], that is Cluster Heads at level-i will be elected before level-(i + 1).
Initially all active nodes are set to non-CH nodes. Then each of these nodes send their location information and current residual energy to the BS to indicate that the algorithm will select a new set of CHs in level-1. When BS receives these values, it sends a message containing total remaining energy of the network and total reciprocal of the distance from all nodes to the BS. Once active nodes receive this command message, they set their probability of becoming level-1 CH on the basis of received values. Since along with node’s residual energy, transmission distance of node is also considered as a factor in deciding CH, those nodes which are closer to the BS and/or have higher remaining energy have more chances to become level-1 CH. Transmission distance is considered as a factor because ultimately the CH has to transfer the final packet to BS, so if distance is large more energy will be consumed and vice-versa.
Later the elected level-1 CHs will broadcasts an advertisement message in its radio range, whoever non-CH node receive this advertisement message, sends a message back to CH containing its residual energy and joins that cluster. In this way both CHs and cluster members have information of each other. Then CHs will send a command message to their members containing number of nodes in the cluster, total remaining energy of cluster members and total reciprocal distance from normal nodes to the cluster head. In this way level-2 CHs will be selected and so on for further levels.
2.3 Clustering Algorithms
2. Data transmission phase : This phase signifies transmission of sensed data packets from nodes to BS under such kind of topology. Once n-level clustering topology is established, the non CH nodes start transmitting the sensed data to the lowest CH. Then CHs at level-n will aggregate the data they receive from ordinary nodes and transmits the collected data to the n-1 level CHs ad so on. At last each of the level-1 CHs transmits the collected data(from level-2 cluster heads) to the BS. This phase runs periodically till the end. Energy spent by a regular node in sending a data packet to level-n CHs, then by level-n CHs to send the same to level-n-1 CHs and so on to level-1 CHs and finally the energy spent by level-1 CH to send packet to BS contributes the total cost of delivering the data from non head node to the BS.
In order to minimize overhead, the data transmission phase is long as compared to cluster set-up phase in the algorithm. After clustering process, a node can either elect to become CH or join a cluster as per the message it receives from the different CHs within its cluster range then inform that CH about its membership. So it is scalable for large sensor networks. This protocol produces clusters which are relatively stable. Also, since all CH sends advertisement message in their radio range, it may be possible that a non-CH may fall into range of more than one CH. Therefore, this algorithm creates overlapping clusters.
2.3.3
Power Efficient and Adaptive Clustering Hierarchy
Protocol for WSNs (PEACH)
PEACH [6] also prolong network lifetime of WSNs. It operates on probabilis-tic energy-aware routing protocols [12, 13, 14, 15, 16] such as EAR [12], EAR-DPS [16], and GEAR [13]. Therefore, it has very low power consumption. It supports both routing protocols for WSN i.e. location aware and location un-aware. Location aware protocols are those which provide location information of sensor nodes like PEGASIS [21] and location unaware are those who do not pro-vide location information of sensor nodes like LEACH [8] and HEED [5]. Based on overheard information of each sensor node, this protocol forms adaptive clusters. In PEACH to achieve the goal of maximizing the lifetime of network with various energy constraints which have been discussed,following things are taken into account while designing the protocol:
• Cluster formation overhead: There are many protocols [5, 8, 22, 23] which suffer from overhead of cluster formation as these protocols consumes
2.3 Clustering Algorithms
lots of energy of sensor nodes which are basically battery-limited. Also each non-head node has to transmit the data packet to its Cluster Head even if it is at more distance as compared to BS. This type of reverse forwarding of packet may increase energy consumption of intra-cluster communication. So, cluster formation overhead should be the most important parameter in development of a clustering protocol.
• Adaptive multi-level clustering: As per the condition of WSN the level of clustering hierarchy must be adaptive in nature. Most of the clustering protocols have fixed level of hierarchical clustering. Fixed level clustering [6] can be affected adversely by distribution of WSNs. So, the clustering proto-cols should have a more adaptive and dynamic hierarchical clustering level.
Cluster formation on PEACH
Based on the information overheard by each sensor node, this protocol forms adaptive clusters. When a node Ni transmits a packet to node Nj then this
protocol defines two sets of nodes:
• NodeSet(Ni,Nj): It is a set of all nodes which lies in a circle whose center is
node Ni and radius is the distance between nodes Ni and Nj.
• ClusterSet(Ni,Nj):It is a set of all nodes which belongs to NodeSet(Ni,Nj)
but not in NodeSet(Base station,Nj)
NodeSet(Ni,Nj) consists of nodes which can overhear the transmission of packet
from the nodeNi to nodeNj andClusterSet(Ni,Nj)includes CH of all those nodes
which are overheard. Node Nj becomes the CH of ClusterSet(Ni,Nj) and it waits
for Tdelay to collect multiple packets from other nodes in ClusterSet(Ni,Nj). This
set remains active for both before and after Tdelay, selected CH Nj transmits the
collected data to next hop in the hierarchy.
In comparison to other protocols it has no overhead on CH selection and it forms an adaptive multi-level clustering. It improves the lifetime and power consumption of WSNs significantly. PEACH protocol supporting location-aware routing (which gives location information of sensor nodes) has lowest power consumption of all the other protocols. It produces clusters which are static and fixed and thus stable. Based on overheard information, it forms clusters without any additional packet transmission of advertisement, announcement, joining and scheduling messages. This protocol design supports its scalability nature. But this algorithm being dynamic produces overlapping clusters which is why we dont prefer this algorithm for our purpose. Node can move from one cluster to another cluster.
2.3 Clustering Algorithms
2.3.4
Hybrid, Energy-Efficient, Distributed Clustering
Ap-proach for WSNs (HEED)
HEED [5] is a distributed clustering algorithm used for Wireless Sensor Networks which is energy efficient. Every node has some limited energy associated with it. But when a node transmits/receives data and processes query requests, its energy reduces. Energy can also get wasted if there are packet collisions in the network or if a node has to do idle listening. As HEED applies clustering, for each cluster a CH is selected. But if the same CH remains for large amount of time performing send/receive operations then residual energy of the CH will become very low. Therefore, HEED chooses to rotate server role among all nodes of the cluster so that a balance will be achieved between residual energy of all nodes of the cluster. Hence, residual energy of any one node(CH) would not drop to minimum leading to less node failures due to energy depletion. For Server role rotation, clustering is triggered periodically at regular intervals in order to select CHs and at each node the process gets terminated in constant number of iterations.
Clustering is basically a process which divides network into clusters such that each cluster consists of adjacent nodes and selects CHs from them. Since all the nodes of the network will be competing to become CHs, certain parameters are used for deciding CHs. The parameters are as follows:
1. Residual energy of each node: This is the primary clustering parameter in deciding initial set of CHs. Residual energy means energy remaining with the node. Energy of a fully charged node will be maximum whereas that of a node performing various send/receive operations will get depleted. If energy associated with a node is not greater than minimum energy required by the a node to become CH then such a candidate should be eliminated from probable set of CHs.
2. Intra-Cluster Communication cost: This is used as a secondary param-eter to decide in which cluster a node falls. Sometimes it can happen that a node falls in the range of more than clusters. In such a case Intra-Cluster Communication Cost will break ties among the probable CHs.Intra-Cluster Communication cost is the cost required by a CH to communicate with every node of a cluster. The node which has minimum communication cost will become the CH. Cluster range can be defined as transmission power level used for communication inside a cluster. This is also called as Cluster Power Level. The Cluster Power Level is set to one of lower power levels of a node.
2.3 Clustering Algorithms
This cluster range decides how many number of clusters will be formed in the WSN.
LetMinPoweribe the power required by a nodeNi to communicate with CH.
Then Average Minimum Reachability Power(AMRP) of a node is defined as expected intra-cluster communication cost required if this node becomes CH.
AM RP =
P
M inP wri
M (2.1)
AMRP provides measures intra-cluster communication cost required for a node if it becomes CH. It indicates minimum power level required by all M nodes in the cluster.
Clustering Protocol Operation for HEED is as follows:
Process of re-clustering is periodically performed after a time interval of TCP
+ TN O seconds. Here, TCP denotes time required for the clustering protocol for
completion of cluster formation and TN O denotes no operation which means this
is the time during which formed clusters are stable and nodes in the network communicate with the help of these clusters and no clustering process is taking place. At each node, clustering process requiresNiter iterations. Before clustering
algorithm executes, initial percentage of CH among n nodes has to be decided (Cprob). For example, suppose we want 5 CHs in 100 sensor nodes then Cprob
=0.05. Every node in the WSN calculates its probability of becoming a CH as given below:
CHprob =Cprob×
Eresidual
Emax
(2.2) where, Eresidual is current remaining energy of the node andEmax is the
max-imum energy of a fully charged battery. CHprob is inversely proportional to Emax
which means as initial energy of a node increases its probability of becoming CH increases. There has to be a certain criterion on the values of CHprob as this is
the primary selection parameter for this protocol. Therefore, a condition is set on CHprob such that CHprob > pmin. Where pmin is the minimum probability to
become CH. If CHprob of a node falls below pmin then this node will not be part
of the set of probable CHs.
HEED is an iterative clustering algorithm since CHs change after specific time internal. There are basically three stages in HEED protocol operation. Following stages are part of one iteration of HEED protocol:
2.3 Clustering Algorithms
communication cost incurred to communicate with all its neighbors. Neigh-bors are identified by using concept of cluster range. Cluster range is cal-culated by the transmission power level used for communicating internally in the cluster. This level is also called as cluster power level. This is set to lower power levels of a node. This way, higher power levels can be kept re-served for inter-cluster communication. Neighbor of a node is a node present in cluster range of a node. After broadcasting cost to neighbors, every node calculates its CHprob using the formula defined in 2.2 and setsis final CH =
FALSE which means final Cluster Head is not yet elected 2. Iterate through following steps until CHprevious = 1:
I. Initially tentative set of Cluster Heads SCH is empty. Hence, a node
checks its own CHprob if CHprob = 1 then it elects itself as CH. CHprob
> pmin then it adds itself to a tentative set of CHs SCH In this way,
primary parameter residual energy is used to find tentative set of CHs. II. If this is not initial iteration, then SCH may not be empty. if SCH ! =
empty then a tentative CH is selected from SCH which has minimum
communication cost. If the tentative CH is the node itself and if its CHprob = 1 then it selects itself as final CH and sets is final CH =
TRUE. In this way, secondary parameter, communication cost is used to find final set of CHs.
III. Also,CHprevious is set to CHprob and CHprob is doubled.
3. Finalization
I. If a node has is final CH = TRUE, then it declares itself as CH and broadcasts this message to all its neighbors.
II. But if is final CH = FALSE then whether SCH is empty or not a
node having minimum communication cost is selected as final CH by considering itself ”uncovered”. A node is defined as ”covered” if it has heard either from tentative Cluster Head of final Cluster Head.
HEED implements multi-hop router mechanism. The design of which is as shown in the figure 2.4. The main modules of multi-hop router are:
1. Routing Engine:
This module mainly controls everything in HEED router. Its task is to decide whether a packet should be forwarded to parent of the tree or pushed
2.3 Clustering Algorithms
Figure 2.4: System design of HEED protocol
onto protocol stack. This module helps the process of data aggregation by intercepting incoming packets from nodes in the cluster and its descendants in the aggregation tree and pushes them onto stack. Routing mechanism does not have any effect on routing engine. It sends out packets which come from application layer.
2. Routing Logic:
The network has to select a routing algorithm for forwarding packets. This unit selects the routing algorithm to be used. It structures the network into connected graph, maintains information of neighbor nodes and sends update messages fro tree construction. This consists of 2 main modules:
i. Clustering Logic:
This unit implements the selected clustering algorithm. After clustering process gets completed, Aggregation tree is formed in which only Clus-ter Heads are considered in infrastructure.
ii. Parent Selection:
This module estimates link cost for each neighbor based on quality of communications and its closeness to the Base Station. This way, CH
2.3 Clustering Algorithms
helps in finding the best parent in the aggregation tree. Quality of communication is measured by symmetry of links and occurrences of data loss. The parameter data loss is very useful in finding quality of communication.
This way HEED is energy efficient, distributed clustering algorithm which helps in increasing network lifetime and ensures it has no cluster overlapping. CHs in HEED are well distributed in the network, and also sensor nodes are stationary. So clusters formed are highly stable. Cost can be a function of neighbor proximity or cluster density. This protocol prolongs network lifetime and produces clusters which has several appealing properties. This protocol is scalable as it can cluster large number of sensor nodes.
This protocol is applied on various sensor network protocols which require scal-ability, prolonged network lifetime, fault tolerance and load balancing. Currently this protocol is used to build only two level clustering hierarchies but it can be easily extended for multi-level clustering hierarchies. Once CHs are selected re-maining nodes are clustered with them. So Cluster head and cluster members have information about each other.
2.3.5
Energy Efficient Clustering Algorithm for
Maximiz-ing Lifetime of WSNs (EECML)
In most of the clustering algorithms including the ones discussed so far, in order to prolong the network lifetime of the cluster and the networks, there is dynamic or periodic selection of CH, which wastes much energy for broadcasting messages to general nodes or to other Cluster Heads i.e. there is additional energy consump-tion for the cluster head set-up and also for general nodes who spent their energy in receiving broad casted message from different new Cluster Heads frequently. So energy of general nodes cannot be used effectively. Furthermore, in actual appli-cation, WSN contains thousand number of nodes and they are deployed randomly in an area of density, so it gets difficult to balance energy balance for all the nodes. If each CH acts uninterrupted as the local control center and will not be re-placed by other nodes located in the same cluster until its working times reach the threshold, then the frequency of updating CH and the energy consumption for broadcasting messages can be reduced effectively. Therefore, a new clustering algorithm EECML [6] is proposed by Xiang Min and his team which is designed to prolong network lifetime by reducing energy consumption for inter-cluster and intra-cluster communication. Nodes are divided into static clusters and the
pro-2.3 Clustering Algorithms
tocol produces different size clusters i.e. clusters which are closer to the Base Station are smaller in size and those who are distant are larger in size. This is be-cause CHs which are closer to Base Station could have enough energy to transmit the data which comes from other CHs away from the BS. So in this way energy consumption for inter-cluster communication is balanced.
In intra-cluster, one cluster-head will continue to be the CH, so energy con-sumption for new CH set up and updating cluster is reduced. These clusters are referred as layers, clusters closest to Base Station belong to the top layer. So, entire network is divided into V-wedges of clustering angle θ and these wedges form cluster of varying size. The operation is broken into rounds where each CH receives data either from its members or from lower layer CH and send the ag-gregated data either to the base station or the upper layer cluster with TDMA mechanism. It has high scalability due to these layering mechanisms. This proto-col creates non-overlapping cluster with high stability as there is no node mobility possible. Initially Base Station informs to all the nodes of top layer about their CH and informs CH about its members. Then for lower layer immediate upper layer CH plays the role of Base Station in giving node information.
Energy Consumption Model
Xiang Min and team in their algorithm [6] says that in WSN, energy consump-tion of sensor nodes is mainly due to three reasons:
• Message sending
• Message receiving
• Data processing
Considering k is the length in bits of packets, d is the transmission distance in meters, the simplified energy consumption model for each part can be defined as:
PT(k) = Eelec×k+Eamp×dy ×k
PR(k) = Eelec×k (2.3)
Pcpu(k) = Ecpu×k
where,
Eelec : Dissipation energy (in nJ/bit) of a radio to run its circuitry
2.3 Clustering Algorithms
acceptable Eb/N0 at the receivers demodulator.
γ : Path loss exponent that is related to the transmission distance. Ecpu : Dissipation of energy (in nJ/bit) for processing a bit.
On the basis of equations 2.3, the energy consumption for the Cluster Head receiving and transmitting k bits packets can be defined as:
P = PT(k) +Pcpu(k) +PR(k)
= k(2Eelec+Ecpu+Eamp×dγ) (2.4)
The energy consumption is in direct proportion to the length of data packets or message packets. If the message packets can be reduced, the energy consumption can be reduced. When the transmission distance is less than a threshold, the energy consumption is in direct proportion to d2 . In other case, the energy
consumption is in direct proportion to d4. Thus, shortening the transmission
distance can reduce the energy consumption.
Protocol Model
As discussed EECML [6] protocol by Xiang Min and team is designed in a manner that the CH acts as the local control center instead of frequently changing the cluster head in order to balance the load. CH is burdened with transmitting data from other CHs through multi-hop, thus the energy dissipation of the CH is much more than that of the general nodes [26, 27]. Obviously, to maintain the connectivity of the entire network, it is very important that the CHs closer to the Base station keep alive as long as possible for the intercluster communication. So the number of the nodes in the clusters closer to the BS ought to be smaller than those farther away from the BS [28].
Assuming n sensor nodes are deployed in a wedge V area with angle called the clustering angle, and the nodes are deployed with uniform density (nodes/m2 ).
V is partitioned into m rings V1 , V2 , . . . , Vm . Each ring denotes a cluster,
and the center distance between the two adjacent rings is d1 , d2 , . . . , dm ,
anddi (1<=i<=m)is a one-hop distance for inter-cluster communication, i.e. the
cluster closer to the BS is called the upper layer cluster and other is called the lower layer cluster. The schematic diagram of the model is shown in figure 2.5. cluster C1 is made of nodes located in ring V1 , and cluster C2 is made of nodes
2.3 Clustering Algorithms
In each cluster, the CH receives data from its members and sends fused data to the upper layer cluster or to the BS at least once. If the number of the nodes in the cluster is very large, the CH may be out of work before finishing its first task. If the size of the cluster is very small, then the number of nodes of the cluster is very small. Thus, the energy supply of its nodes is mainly used to transmit data that come from the lower layer clusters, and its nodes may have much residual energy when the network is invalid, which cannot make the best of the energy supply of its nodes. So the optimum clustering angle must be selected to control the size of the cluster.
As already said that in EECML each Cluster Head acts as local control center until its working times reach the threshold. In figure 2.5, the size of the cluster Cm is the largest of all the clusters. Letfi , i = 1, 2, 3, . . . , m be the continuous
working times of the CH that acts continuously as the local control center. If the continuous working times of each CH with the same clustering angle satisfyf1 >=
f2 >=. . . . >=fm , then the connectivity of the cluster with the same clustering
angle can be maintained effectively.
Figure 2.5: Algorithm model of EECML
So, for the energy consumption and the systems lifetime the main parameters of this algorithms are one-hop distance d1hop, the clustering angle θ and the
con-tinuous working times fi. The optimal value of these parameters are calculated in
2.3 Clustering Algorithms dopt = γ s 2Eelec+Ecpu Eamp(γ −1) (2.5) θopt = v u u t 8π3(3E elec+Ecpu N(2Eelec+Ecpu (2.6)
where, d1hop <= dopt
Protocol Operation
In [6], protocol assumes that the Base Station is located at (0,0) and operation of the clustering algorithm is broken up into rounds that consists of CHs receiving data packets from its members and sending the fused data to the Base station or the upper layer cluster with the TDMA mechanism. The optimum one-hop transmission distance and the optimum clustering angle can be obtained based on equations 2.5 and 2.6
During the cluster set-up phase, BS broadcasts an advertisement message that contains the one-hop distanced1hopand its location to the closer nodes, and decides
which node acts as the first CH based on the received answer message that contains the location and ID of the closer nodes. To satisfy the condition d1hop <= dopt ,
the nodes whose locations approach the boundary between the top layer and the second layer must be selected as the first CHs by BS. The node receives a message from the Base Station which tells to which cluster the node belongs. Protocol operation is shown in figure 2.6. After the clusters and their CHs are selected, the first set-up is completed. The CHs broadcast, respectively, the message that contains their flags and location of their members and other nodes located in the lower layer clusters. There are two functions, one of which informs their members, and the other which is the same as the Base Station. In the same way, all clusters and their first CHs can be constructed through backward mechanism from Base Station to the last cluster.
Figure 2.7 shows the complete picture of WSN clustered through EECML algorithm. In the figure it is shown that how the algorithm covers the complete area by performing EECML protocol on different wedges of angle θ.
The steady-state operation is broken into rounds, where nodes send their data to the CH during their allocated transmission slot based on the TDMA mechanism. Assuming that all nodes are time synchronized. The duration of each slot in which a node transmits data is constant, so the time of sending data depends on the number of nodes in the cluster, and the slot of the lower layer CH is treated as
2.3 Clustering Algorithms
Figure 2.6: Protocol operation of EECML
a general node of the upper layer cluster. Figure 2.8 shows the flow of each CH gathering data from its member and other CHs with the same clustering angle.
Since the number of nodes deployed in the upper layer cluster is smaller than that of the lower layer cluster, the time slot of each cluster is different. At the same time, the lower layer CH is treated as a general node of the upper layer cluster, so the time slot of the lower layer cluster must be the sub-time slot of the upper layer cluster. For example, assume one round time is T and the number of layer is L. Thus, the time slot for the cluster with the same clustering angle can be allocated as 0 to T /L , T /L to 2T /L , . . . , (L 1)T/L to T . Assume that the number of nodes in each cluster with the same clustering angle is n1 , n2
, . . . , nL1 , nL . Then, the minimal time unit of each node can be calculated
as T /(L × (n1 + 1)), T /(L × (n2 + 1)), . . . , T /(L × (nL1 + 1)), T /(L
× nL ),and the time slot for each node can be allocated the same as the cluster.
To reduce energy dissipation, the radio of each general node is turned off until its allocated transmission time.
2.3 Clustering Algorithms
2.3 Clustering Algorithms
Figure 2.8: Flowchart of each Cluster Head gathering data from its member and the lower layer CH located in the same clustering angle
Chapter 3
Proposed Approach
3.1
Evaluation Parameters
There are many metrics which would determine strength of clustering algorithm for WSNs. After the detailed study, it can be inferred that below mentioned six metrics decide the extent of adaptability in the clustering algorithm in case of failure of Base Station. These metrics are selected and are defined as follows:
3.1.1
Power Consumption of Sensor Nodes
Power Consumption [1] for all systems, process and communication protocols in sensor nodes and sensor networks should be minimum as sensor nodes run on bat-teries and recharging them is very difficult since large number of nodes are gener-ally not attended after the deployment. The clustering algorithm which minimizes energy expense will in effect increase the lifetime of the sensor nodes and hence of the entire network. Power consumption also depends on the communication cost in the network. Nodes in clustered Wireless Sensor Network [1, 2] communicate via CHs. If the clusters are not properly formed then the communication cost might increase. Therefore, clustering technique should be properly selected.
3.1.2
Cluster Stability
Clustering [3] divides WSN into groups of sensor nodes. Once clusters are formed, node membership changing from one cluster to another cluster generally may not happen, but CH in a cluster may change. In order to balance the load in the cluster. This will indirectly help to reduce the energy expense towards the re-keying process of group key management activity in Wireless Sensor Network.
3.2 Further Approach
3.1.3
Fault tolerance and Re-clustering
Fault tolerance [2] is the ability to sustain network functionalities without any interruption due to node failures. Even if a node fails, network should be able to establish new paths for communication between remaining nodes. When a new sensor node gets added in the network, clustering algorithm should be able to adapt the change in the network with minimum energy-consumption and computation. Also Re-clustering should require minimum efforts and reconfigure the clusters in minimum time.
3.1.4
Cluster Overlapping
While forming clusters [3], one node should fall under only one cluster. But there are some clustering algorithms [17, 18, 19] which clusters one sensor node in more than one cluster due to which network overhead increases. Overlapping nodes will increase the communication cost for the network since that overlapped node will try to communicate using multiple CHs. Thus, overlapping should be less in a Wireless Sensor Network.
3.1.5
Scalability
A Wireless Sensor Network [1, 2] should perform its functionality correctly even when the number of nodes or workload in the network increases. Therefore Wire-less Sensor Network must be scalable and adaptive to changes in network topology.
3.1.6
Node Cluster Information
When clusters are created, each cluster member must have information about its corresponding CH and each CH must have the information about its member nodes in order to establish and maintain proper secure group key management in the cluster.
3.2
Further Approach
From literature, we selected many clustering algorithms in order to achieve our goal. These algorithms were studied against above mentioned parameters and Table 3.1 shows the abstract results which were obtained after the study. It is clear that EECML and HEED are more appropriate choices for a clustering algorithm in order to have adaptability in WSN. Since we have to select the most
3.2 Further Approach
suitable one, and these results only give us abstract informations. So, EECML and HEED are analyzed further by implementing them on TinyOS, their performance is evaluated on various aspects like Power consumption, cluster stability, cluster overlapping, scalability and fault tolerance. The algorithm which gives better performance will be selected as the most suitable algorithm.
Table 3.1: Comparative results of various clustering algorithm as per literature survey Metric Power Con- sump-tion of Sensor Nodes Cluster Stabil-ity Fault toler-ance and Re-clustering Cluster Over-lapping Scalability Node Cluster Infor-mation
EEMC Low High High Yes High Yes
PEACH Very Low Low High Yes Very High Yes
LEACH Medium High High No High Yes
HEED Very Low Very High
Very High
No High Yes
EECML Very Low Very High
Very High
No Very High Yes
Firstly in both algorithms, clusters are formed, hierarchy among the nodes is created and once the clustering process is completed, BS is made to fail. Then in order to keep the network in running state (as required by critical applications) another BS will take the charge and as discussed earlier whole process of clustering is repeated and new clusters, new hierarchy and new topology will be established. In this whole process a track on power consumption by sensor nodes is kept. Total power consumption of all nodes before failure of BS is recorded for both the algorithms. New BS can be any random node located in any random location. So, we consider different positions of new BS by repeating the process and then average of power consumed by all the nodes after failure of BS in all the cases is
3.2 Further Approach
recorded. For calculating cluster stability, membership of all the nodes for clusters is recorded before and after failure of BS when clustering process is completed. These recorded readings are compared and checked to see how many nodes change their membership.
Chapter 4
Implementation and Results
4.1
Implementation in TinyOS
From table 3.1, it is clear that amongst all clustering algorithms surveyed, HEED and EECML are the more appropriate choices for an energy-efficient clustering algorithm which makes wireless sensor network adaptable upon failure of Base Station. So, we need to evaluate their performance in detail against all discussed metrics. There is no cluster overlapping in both the algorithms and in both al-gorithms Cluster Head contains information of its cluster members and cluster members have information about its CH. So we need to evaluate the performance of HEED and EECML for Cluster Stability, Power Consumption of sensor nodes, fault tolerance and scalability.
These algorithms are implemented in TinyOS, an open-source development environment and a platform to build WSN applications in easiest way. These algorithms once implemented are simulated on TOSSIM,a discrete event simulator provided by TinyOS.
4.1.1
Challenges in Implemetation
The primary challenge is scarcity of energy that in effect drives protocol design. In order to deal with this challenge proper management of topology is required so that most of the sensor nodes remain in operating state as long as possible. Sensor nodes are deployed randomly in the field and can be distributed arbitrarily on the ground, so some nodes may on paths which is accessed most of the times to communicate to the Base Station, this results in radially depletion of their energy while other node’s energy can be left unmonitored.
4.1 Implementation in TinyOS
the basis of residual energy i.e. nodes with higher remaining energy are elected to perform more loaded task of CHs and nodes with lower remaining energy perform task of sensing. While in EECML this effect is taken care by keeping size of clusters closer to BS smaller as compared to clusters away from BS. Different sizes gives us an assurance that the closer CHs have enough energy to transmit the data it receives from the CHs farther from BS. Also as current CH is kept fixed in a cluster, frequency of updating cluster-head is reduced and thus minimizes energy consumption. Clustering enables nodes to communicate with smaller power ranges at intra-cluster level for more energy savings.
Another challenge is the estimation of remaining energy of battery after some operation. It can be done by inspecting analog-to-digital converter(ADC) for bat-tery voltage. Since ADC results have coarse granularity, this approach may not be useful. So we use a simplistic approach called credit-point system (CREP) where all sources of energy consumption are considered. We are not using an accurate CREP system instead only a rough estimate of remaining energy is computed for all sensor nodes using an integrated method independent of hardware.
4.1.2
Estimation of Energy Dissipation
We simulate the algorithms considering that they are running on Mica2 mote. So all the values required in the implementation are taken as per Mica2 mote values and most of the information is taken from [24, 25]. Assuming battery of sensor node has Vb average voltage and Ab Amp-hr capacity. The maximum residual
energy of each node, Emax is computed as follows:
Emax =Vb×Ab×3.6×103J oule (4.1)
If I is the current drawn while receiving or transmitting a packet and tb be the bit
transmission time then the energy consumed in transmitting/receiving one packet of size k is defined as:
E =Vb ×I ×tb×k×8 (4.2)
In a sensor network, energy dissipation of a sensor node is mainly due to following reasons:
• Processing
• Send/Receive
4.1 Implementation in TinyOS
that the it is better to express least energy in micro joules. Since we are us-ing credit point systems, for each sensor node maximum remainus-ing power with which each sensor node is initialized in simulation, MAX REM POWER=500000 points and for declaring a node is dead i.e. minimum remaining power of node, MIN REM POWER=300. As given in [24], following parameters values are used:
Eamp = 0.659 nJ/m2 (for EECML)
Ecpu = 7 nJ/bit (for EECML)
Eelec = 50 nJ/bit (for EECML)
Cprob=0.03 (for HEED)
clustering operational interval length (tc) = 11 seconds
routing update frequency = 6/min route recalculation frequency = 2/min
INTRA CLUSTER POWER = -20dBm (PA POW register=0x02) INTER CLUSTER POWER = -13dBm (PA POW register=0x06) Data rate = 0.5 packets/sec
Size of packet = 29 bytes
bit transmission time,tb = 62.4ms
Effective average voltage, Vb = 3V (mica2 mote uses two AA batteries)
Algorithms are experimented on the network using our credit point system. We use the values of drawn current from [25]. For PA POW=0x02, the drawn current =5.3mA and for PA POW=0x06, the drawn current = 6.7mA. The intra-cluster and inter-cluster energy consumption Eintra and Einter are defined as:
Eintra = 5.3×3×62.4×29×8
= 230microJ. (4.3)
Einter = 6.7×3×62.4×29×8
4.2 Results
4.2
Results
Experiments are conducted with 10,25,50 and 75 number of sensor nodes with the above taken parameters. Both EECML and HEED algorithms are evaluated against the selected metrics in chapter 3 in each of the experiments and their results are obtained as follows:
4.2.1
Power Consumption of sensor nodes
Table 4.1 shows the power consumed by all the sensor nodes to form a clustering hierarchy in the network for both HEED and EECML algorithms. These are the values obtained in both algorithms as soon as clusters are established in the net-work. Graph in figure 4.1 gives us the comparative results for both the algorithms. After this state, the current Base Station is made to fail by stopping it, and another takes the charge. As soon as this happens clustering protocol (HEED or EECML) starts forming their clusters again with respect to new location of BS. New BS can come at any random location, so we have taken three different posi-tions by simulating the algorithm three times and then total power consumption of network is calculated. Table 4.2 shows the average of power consumed by wireless sensor networks for both HEED and EECML algorithms in all three different posi-tions of new BS. Graph in figure 4.2 shows comparative power consumption of all sensor nodes in WSN. It is clear from graphs 4.1 and 4.2that power consumption in HEED is much more than that of EECML.
4.2.2
Cluster stability
Cluster stability is the extent to which change in membership of a node from one cluster to another cluster doesn’t happen when one BS fails and another takes the charge. We evaluate this metric by recording the clusters and its members after formation of clusters in both the cases i.e. before and after the failure of BS (considering three different positions of new BS). Table 4.3 shows the average(of all three case) number of nodes who don’t change their cluster membership i.e. they doesn’t move from one cluster to another cluster. Graph in figure 4.3 shows the cluster stability (in percentage) of both algorithms in a comparative way which tells that clusters formed for large number of nodes are more stable in EECML as compared to HEED.
4.2 Results
Table 4.1: Results for total energy consumed by Sensor Nodes after formation of clusters but before failure of Base Station
Total energy consumed by Sensor Nodes (in micro joules)
Before Base Station Failure
No.of nodes 10 25 50 75
EECML 12884 32666 65785 103500
HEED 59194 125307 222827 386586
Figure 4.1: Power Consumption of all sensor nodes in HEED and EECML after formation of clusters but before failure of Base Station
4.2 Results
Table 4.2: Results for total energy consumed by Sensor Nodes after failure of Base Station
Total energy consumed by Sensor Nodes (in micro joules)
After Base Station Failure (Average Consumption)
No.of nodes 10 25 50 75
EECML 35423.6 88783 172611 137963.3
HEED 103946 255927.6 445400.6 668050
Figure 4.2: Power Consumption of all sensor nodes in HEED and EECML after failure of Base Station (average of different positions of new BS)
4.2 Results
Table 4.3: Results for Cluster Stability
Cluster Stability
Average No. of Nodes not changing their membership Stability (%) No.of nodes 10 25 50 75 10 25 50 75 HEED 8 20 39.5 61.6 80 80 79 82.13 EECML 7.5 20.6 42 64.3 75 82.4 84 85.73
Figure 4.3: Stability of clusters in HEED and EECML
4.2.3
Scalability
Scalability signifies that the network should perform correctly even if number of nodes get increased. We have conducted experiments considering 10,25,75 and
4.2 Results
100 number of nodes. In all these cases we were able to get results, this accounts accounts that HEED and EECML algorithms for WSN are scalable.
4.2.4
Fault Tolerance
Fault tolerance is the ability of Wireless Sensor Network to sustain any interruption due to node failures i.e. network should be able to establish new paths even if a node fails for communication among rest of the nodes. Also Re-clustering should require minimum efforts and reconfigure the clusters in minimum time. We are dealing with failure of BS in both HEED and EECML algorithms, and in both the cases after failure, network runs in normal way by coming up with new BS and re-clustering the entire network. Similarly, if an ordinary node fails, re-clustering is performed in the same way.
4.2.5
Cluster Overlapping
Since in both HEED and EECML algorithms, a CH is assigned to a node only once in the process of clustering, their is no chance that any node would fall inside two clusters i.e. a node at a time can belong to only one cluster.
4.2.6
Node Cluster Information
In both HEED and EECML algorithm, CHs have information of their cluster members and cluster members have information of their CH.
4.2.7
Power Consumption of Cluster Head
It is clear from these results that power consumed by all sensor nodes in HEED protocol is much more than that of EECML protocol. This difference may be because in HEED protocol CH role is rotated periodically, due to the frequent updates inside the cluster. While in EECML algorithm, CH is fixed so no en-ergy is required in updating cluster. Due to this intra cluster power consumption will be more in HEED as compared to EECML. Therefore, an experiment is done which records the residual power of CH in EECML algorithm and average residual power of different CHs of same cluster in HEED algorithm, at different time in the network. Table 4.4 shows experiment results for 25 number of nodes and Table 4.5 shows the result for 50 nodes. Graphs in figure 4.4 and 4.5 show compara-tive variations in CH power consumption with time(in sec) for 25 and 50 nodes respectively.
4.2 Results
Table 4.4: Results showing residual energy of Cluster Head(s) in a cluster
Residual energy of Cluster Head(s) in a cluster (in micro joules)
No. of Nodes 25
Time (in sec) EECML HEED ( No. of CH=4 )
100 492809 492875
140 441643 482180
180 407702 474420
4.2 Results
Table 4.5: Residual energy of Cluster Head(s) in a cluster
Residual energy of Cluster Head(s) in a cluster (in micro joules)
No. of Nodes 50
Time(in sec) EECML HEED ( No. of CH=6 )
200 465108 485740
245 412473 476540
390 376045 462860
Chapter 5
Conclusion and Fut