You are on page 1of 8

Developing an energy conserving routing application for a Sensor Node in Wireless Sensor Network by utilizing the Wiselib Algorithm

Library.
A Project Plan in Category 7: Potential Future Technologies, Open Source Technologies and Disruptive Technologies Submitted to

Cloud 20/20 Version 4.0: Demonstrable Student Project of the Year 2012
By Team Members:1.) Aayush Shrut (aayush.shrut@gmail.com) 2.) Rohit Ranjan (rht.ranjan@gmail.com) Project Guide:1.) Dibyajyoti Guha (dibya.guha@gmail.com) Studying:Bachelor of Technology in Information Technology In:Kalinga Institute of Industrial Technology, Bhubaneshwar, Orrisa 751024

ABSTRACT
Sensor networks are collections of sensor nodes which co-operatively send sensed data to base stations. As they have limited battery life, an efficient utilization of power is essential to sustain the network for a longer time. Our project addresses this issue by the use of an algorithm which eliminates data redundancy by comparing the data being sent between the neighborhood nodes and removing the duplicate ones. This increases the idle time of the sensor node. It differs from the existing work by enabling a filter at the start of the event, rather than at the data aggregator node only.

Introduction
1.1 Introduction to the project
1.1.1 Objective:
Using the existing algorithm library (provided by The Wiselib Organization), building a program which effectively shuts down the neighboring nodes which are broadcasting the same message type in a Wireless Sensor Network (WSN).

1.1.2 Need:
The project need arises from the fact that many a times in a WSN, messages belonging to the same type (or ID) are being broadcasted unnecessary in the network, creating duplicate data entries at the central base station. Hence, to reduce communication costs, some algorithm needs to be developed so as to remove or reduce nodes redundant sensor information and avoid forwarding data that is of no use. As nodes can inspect the data they forward they can measure averages or directionality for example of readings from other nodes. For example, in sensing and monitoring applications, it is generally the case that neighboring sensor nodes monitoring an environmental feature typically register similar values. This kind of data redundancy due to the spatial correlation between sensor observations inspires the techniques for in-network data aggregation and mining, and therefore this project.

1.1.3 Benefits:
The resulting program has tremendous benefits in the WSN arena, as it can help reduce communication costs by eliminating duplicate data items. This so happens because WSN network has a limited lifetime determined by the energy consumption of their sensor node [1]. Therefore, shutting down neighboring nodes with the same data directly increases the lifetime of the sensor nodes (as they consume less of the limited energy resource like battery), and in turn, reduces the communication costs.

1.2 Brief Overview of Wireless Sensor Network (WSN)


WSN consists of spatially distributed autonomous sensors to monitor changing conditions such as temperature, sound, vibration, pressure, humidity, motion or pollutants and to cooperatively pass their data through the network to a main location. [2] The WSN is typically built of "nodes" from a few to several hundreds or even thousands, where each node is connected to one (or sometimes several) sensors.

Each such sensor network node has typically several parts: a radio transceiver with an internal antenna or connection to an external antenna, a microcontroller, an electronic circuit for interfacing with the sensors and an energy source, usually a battery or an embedded form of energy harvesting. Sensor nodes can be imagined as small computers, extremely basic in terms of their interfaces and their components. They might vary in size from that of a shoebox down to the size of a grain of dust. The cost of sensor nodes is similarly variable, ranging from a few to hundreds of dollars, depending on the complexity of the individual sensor nodes. Size and cost constraints on sensor nodes result in corresponding constraints on resources such as energy, memory, computational speed and communications bandwidth. The base stations are one or more components of the WSN with much more computational, energy and communication resources. They act as a gateway between sensor nodes and the end user as they typically forward data from the WSN on to a server The topology of the WSNs can vary from a simple star network to an advanced multi-hop wireless mesh network. Operating systems for wireless sensor network nodes are typically less complex than general-purpose operating systems. They more strongly resemble embedded systems, with real time properties. [3] Several standards are currently either ratified or under development by organizations such as WAVE2M for wireless sensor networks. There are a number of standardization bodies in the field of WSNs. The IEEE focuses on the physical and MAC layers; the Internet Engineering Task Force works on layers 3 and above. In addition to these, bodies such as the International Society of Automation provide vertical solutions, covering all protocol layer. Finally, there are also several non-standard, proprietary mechanisms and specifications.

1.3 Brief Overview of The Wiselib:


The Wiselib is an algorithms library for networked embedded devices (the kind in which WSN Sensor nodes work). It contains various algorithm classes (for instance, localization or routing) that can be compiled for several platforms such as iSense or Contiki [4] or the sensor network simulator Shawn [5]. It is completely written in C++, with heavy uses of templates. This makes it possible to write generic and platform independent code that is very efficiently compiled for the various platforms. 4

Wiselib provides easy-to-use interfaces to the OS, which simplifies the development process and decreases the need for dealing with low-level functionality of specific hardware platforms. Algorithms can even be run in a simulation environment first (for debugging purposes, for example), and then compiled for real hardware platforms without changing a single line of algorithm code [6].

Solution
2.1 Problem Statement:A crucial role of sensors is in collecting data from the external sources for which it uses up a large amount of energy. As sensor nodes have limited battery life, an efficient utilization of power is essential in order to sustain the lifetimes of the networks for longer duration. This warrantees for an application that can work inside the sensor node which prevents unnecessary data sending by eliminating redundant data. This can help in saving the energy of the sensor node in terms of energy saved in transmitting.

In the above figure, if energy is conserved for all the event detection, it can increase the overall longevity of the Wireless Sensor Network. As Sensor nodes are mostly deployed 5

in remote regions, with the network being ad hoc, this increase in their duration forms the crux of most of the research in Wireless Sensor Network.

2.2 Existing Solution:Existing work pertaining to power optimization in data collection, mostly deals with algorithms to enhance the spatial data correlation and redundant data elimination at data aggregator nodes only [7]. This means that generally, the entire data (including the redundant ones) are transferred to the data aggregator nodes, where by using certain algorithms, the redundant data is eliminated [8]. The main drawback of this lies in the lack of filtering at the start of the event itself. This puts a lot of pressure on the normal sensor nodes, draining their battery life quickly.

2.3 Project Design:Our application checks and disables those neighboring sensor nodes that are broadcasting and sensing the same type of messages, at the start of the event itself. It uses a table to maintain the list of disabled sensor nodes, and use buffer system for the comparison of the messages between the nodes. This type of filtering at the start of the event reduces the overhead on the data aggregator sensor nodes, and improves the battery life of WSN as a whole, which can be very valuable in development of energy conserving Sensor Nodes. The main challenge lies in testing the application for different OS. In that regard, Shawn simulator helps in proper testing for different OS of the sensor network. A detailed logic is given below:-

2.3.1 Algorithm Logic: The basic algorithm is mainly divided into following three
tasks:

1.)

Discovering neighborhood sensor node:We periodic flood broadcasting approach to discover neighborhood sensor node. Each sensor node broadcasts a message in the Wireless Sensor Network, announcing their state of liveliness in the network. These sensor nodes, after their broadcast, wait for the broadcast sent by other sensor nodes (every sensor node broadcasts messages, and wait for broadcast by other sensor nodes, hence the term flooding). The subsequent broadcast is received upon by the present sensor node, and it gives the necessary information to discovery their neighborhood nodes. To make flood broadcast occur periodically, Wiselib provides a function called set_timer (millisec,obj_pnt,userdata).

2.)

Comparing the nodes for same message type:Wiselib algorithm library provides a return typedef called node_id_t, which are same for the sensor nodes which are broadcasting the same message type. Hence we can easily compare the node ids of the neighborhood sensor node. If found true, then we can conclude that both nodes are broadcasting the same message type. However, we need to store the neighborhood sensor nodes id in a static 6

variable. This is because each time a sensor node receives new information about the neighborhood, it discards the previous information. By property of static variable, the sensor node will retain the previous information as well, which in this case will be the previously sent message type by virtue of the node_id.

3.)

Disabling the sensor node:For shutting down the sensor node, Wiselib provides a function called disable_radio(). By using it, we can easily shut down the neighborhood node from sending any more messages in the Wireless Sensor Network. This however, is only to be done when we found the neighborhood nodes broadcasting the same message type. A hash table is also maintained, similar to the Routing table, which stores the list of disabled sensor node.

System Requirements
The Project is aimed to work on the sensor node hardware. This means that the Operating system in target is TinyOS or Contiki. To develop on these platforms however, The Wiselib Algorithm library is used. To further test on it, Shawn simulator is used. Both Shawn and The Wiselib algorithm library are open source, designed to work on Ubuntu OS. The programming language to be used for the project is C++, with template specialization and delegates.

Expected Result
The expected project deliverable will be an application that can easily integrate with the sensor node OS and can check with the surrounding sensor nodes for the type of message being sent, and can perform intelligent disablement to those nodes which are sending the same messages.

Deliverables Register Template Planned Planned Deliverable Description Status / Comment Start Date End Date
Analysis and Integration 06/08/2012 3/09/2012 Completed

Designing and Class Diagrams 6/09/2012 Module 1: Message Comparison 18/09/2012 Module 2: Store and Disable 10/10/2012 Testing and Refinement 31/10/2012

17/09/2012 09/10/2012 30/10/2012 30/11/2012

Project Design

Using Shawn Simulator 7

REFERENCES:
[1] Geoffrey Werner Challen, Jason Waterman, Matt Welsh, Integrated Distributed Energy Awareness for Wireless Sensor Networks, 8th Annual International Conference on Mobile Systems, Applications and Services (MobiSys10), Pages 2-4, June, 2010. [2] http://en.wikipedia.org/wiki/Wireless_sensor_network [3] Muhammad Omer Farooq and Thomas Kunz, Department of Systems and Computer Engineering, Carleton University Ottawa, Canada; Operating Systems for Wireless Sensor Networks: A Survey, Sensors - Open Access Journal, 2011, 11, Pages 5900 5930. [4] Harsh Sundani, Haoyue Li, Vijay K. Devabhaktuni, Mansoor Alam, & Prabir Bhattacharya, Wireless Sensor Network Simulators: A Survey and Comparisons, International Journal Of Computer Networks (IJCN), Volume (2) : Issue (5), Pages 249265. [5] Tobias Baumgartner, Daniel Bimschas, Sndor Fekete, Stefan Fischer, Alexander Krller, Max Pagel and Dennis Pfisterer, Bridging the Gap between Simulated Sensor Nodes and the Real World, Lecture Notes in Computer Science, 2010, Volume 6511/2010, Pages 174 177. [6] https://github.com/ibr-alg/wiselib/wiki/Basic-Design-Components [7] Chiara Buratti, Andrea Conti, Davide Dardari and Roberto Verdone, An Overview on Wireless Sensor Networks Technology and Evolution, Sensors - Open Access Journal, 2009, 9, Pages: 6869-6896. [8] Hai-Ying Zhou, Dan-Yan Luo, Yan Gao, De-Cheng Zuo. Modeling of Node Energy Consumption for Wireless Sensor Networks, Wireless Sensor Network, 2011, 3, Pages 18-23.