You are on page 1of 9

International Journal of Computer Engineering and Technology ENGINEERING (IJCET), ISSN 0976INTERNATIONAL JOURNAL OF COMPUTER 6367(Print), ISSN 0976

6375(Online) Volume 4, Issue 3, May June (2013), IAEME & TECHNOLOGY (IJCET) ISSN 0976 6367(Print) ISSN 0976 6375(Online) Volume 4, Issue 3, May-June (2013), pp. 331-339 IAEME: Journal Impact Factor (2013): 6.1302 (Calculated by GISI)


Ms. Preetee K. Karmore HOD, CSE Department, Dr. Babasaheb Ambedkar College of Engineering & Research Nagpur, India. Ms. Supriya S. Thombre Asst. Prof, CT Department, Yeshwantrao Chavan College of Engineering Nagpur, India. Mr. Gaurishankar L. Girhe Principal, Smt. Radhikatai Pandav, Polytechnic Nagpur, India.

ABSTRACT Wireless sensor networks (WSNs) are highly distributed networks consists of small, lightweight wireless nodes, deployed in large numbers to monitor the environment or system by the measurement of physical parameters such as temperature, pressure, or relative humidity. Some of the applications of wireless sensor networks includes military or border surveillance, health care, environment, industrial process control and so on. Operating system (OS) support for WSNs plays a central role in building scalable distributed applications that are efficient and reliable. This paper will help both OS developers and OS users. With OS developers, they will know what has worked in previous OSes and what has not. With OS users, they know the features of existing sensor network OSes, so they can select a sensor network OS that is the most appropriate for their application. In this paper we provide an overview of operating systems for wireless sensor networks namely TinyOS, MANTIS, Contiki, RetOS, MagnetOS and routing protocols used for routing information from source to destination. Keywords: Wireless Sensor Network, Operating System, MANET, TinyOS, RetOS, MagnetOS, Contoki.

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 3, May June (2013), IAEME I. INTRODUCTION Wireless sensor network (WSN) is a large network of sensor nodes and these nodes are directly interacting with the environment by sensing physical parameters such as temperature, humidity etc. All the sensor nodes send and receive data to/from a base station (BS). The base station usually serves as a gateway to some other network [1]. Typically, a sensor node is a miniature device that includes four main components: a sensing unit for data acquisition, a microcontroller for local data processing and some memory operations, a communication unit to allow the transmission/reception of data to/from other connected devices and finally a power source which is usually a small battery. WSNs support a wide range of applications such as target tracking, environmental monitoring, system control, health monitoring or exploration in hostile environment [2]. The main features of WSNs are: scalability with respect to the number of nodes in the network, self-organization, self-healing, energy efficiency, a sufficient degree of connectivity among nodes, low-complexity, low cost and size of nodes [3]. II. OPERATING SYSTEMS FOR WIRELESS SENSOR NETWORKS

TinyOS TinyOS is a tiny micro-threaded OS that attempts to address two issues: how to guarantee concurrent data flows among hardware devices, and how to provide modularized components with little processing and storage overhead. These issues are important since TinyOS is required to manage hardware capabilities and resources effectively while supporting concurrent operation in an efficient manner [4]. The execution model of TinyOS consists of interrupts and tasks. Interrupts execute at a higher priority and can preempt the execution of tasks. Tasks execute at a lower priority and are scheduled in a FIFO manner. Tasks in TinyOS are written in a run-to-completion manner, and they cannot be preempted or self-suspended. For this reason, I/Os are done in split phases, i.e., a request is done at the end of a task while signal invokes the start of the next task. In order to provide a better support for the component architecture and execution model of TinyOS, the nesC language [14] was designed for programming based on TinyOS [12].


MANTIS The MANTIS Operating System (MOS) is an open source embedded multithreaded operating system for wireless micro sensor platforms. MANIS gets its name from MultimodAl system for NeTworks of In-situ wireless Sensors. It is written in C. MANTIS is implemented in a lightweight RAM footprint that fits in less than 500 bytes of memory, this includes kernel, scheduler, and network stack. MOS has a power-efficient scheduler that sleeps the microcontroller when the sleep() function is called which reduces the consumption. A big part in the design features of MOS is its flexibility in the form of cross platform support and ability to test on PCs, PDAs, and different micro sensor platforms. MOS supports remote management of in-situ sensors through dynamic reprogramming and remote login. It has a low barrier to entry in terms of programming for sensor networks. Also, MOS supports advanced sensor OS features like multimodal prototyping, dynamic reprogramming, and remote shells. MANTIS is still a work in progress, a few things need to be improved upon, low power management needs to be improved (though the sleep () function does help in saving

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 3, May June (2013), IAEME energy, they are working on developing even more efficient ways as well), demonstrating reliability or code updated over the network, optimizing the size of these updates, and ensuring the security as well as the authenticity of updates need to be improved as well as a few other key things [5].

Figure 1: MANTIS OS architecture


Contiki Contiki [18], is a lightweight open source OS written in C for WSN sensor nodes. Contiki is a highly portable OS and it is build around an event-driven kernel. Contiki provides preemptive multitasking that can be used at the individual process level. A typical Contiki configuration consumes 2 kilobytes of RAM and 40 kilobytes of ROM. A full Contiki installation includes features like: multitasking kernel, preemptive multithreading, proto-threads, TCP/IP networking, IPv6, a Graphical User Interface, a web browser, a personal web server, a simple telnet client, a screensaver, and virtual network computing[18]. Preemptive threading is enabled on a per-process level and support for real-time applications provided through an extra timer called rtime. Contiki has become fairly popular and is attaining a high-quality place in the WSNs community [19].


RetOS Resilient, Expandable, and Threaded Operating System, which has been developed specifically for wireless sensor networks to provide multithreaded programming interface, system resiliency, kernel extensibility via loadable module, and network abstraction [20]. RETOS is a multithreaded operating system, hence it provides the commonly used thread model of programming interface to developers. In Wireless Sensor Networks Resilient operating system mechanism depends on dual mode operation and static/dynamic code checking. This mechanism guarantees stack, data, code and hardware safety on MMU-less hardware without restriction of the standard C language [19]. RETOS uses a software technique, called application code checking (ACC), to perform static and dynamic code checks. The goal of ACC is to prevent user applications from accessing memory outside of its legal boundary and direct hardware manipulation.


International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 3, May June (2013), IAEME

MagnetOS MagnetOS is a distributed adaptive operating system designed specifically for application adaptation and energy conservation. MagnetOS is a distributed operating system for ad-hoc and sensor networks whose goal is to enable power-aware, adaptive, and easy-todevelop ad-hoc networking applications. MagnetOS automatically and transparently partitions applications into components and dynamically finds a placement of these components on nodes within the ad-hoc network to reduce energy consumption and increase system longevity. MagnetOS is a single system image (SSI) or a single unified Java virtual machine that includes static and dynamic components. The static components rewrite the application in byte-code level and add necessary instructions on the semantics of the original applications. The dynamic components are used for application monitoring, object creation, invocation, and migration. SSI abstraction provides more freedom in object placement and simplifies application development. MagnetOS provide an interface to programmers for explicit object placement and override of the automatic object placement decisions [4].

III. ROUTING PROTOCOLS FOR WIRELESS SENSOR NETWORKS In a WSN, overhead is measured primarily in terms of bandwidth utilization, power consumption, and the processing requirements on the mobile nodes. Finding a strategy to balance these competing needs efficiently forms the basis of the routing challenge. The design of routing protocols for WSNs must consider the power and resource limitations of the network nodes, the time-varying quality of the wireless channel, and the possibility for packet loss and delay. In the following sections, several routing protocols that have been proposed for data dissemination in WSNs are described.

Flooding and Its Variants Flooding is a common technique frequently used for path discovery and information dissemination in wired and wireless ad hoc networks. The routing strategy is simple and does not rely on costly network topology maintenance and complex route discovery algorithms. Flooding uses a reactive approach whereby each node receiving a data or control packet sends the packet to all its neighbors. After transmission, a packet follows all possible paths. Unless the network is disconnected, the packet will eventually reach its destination. Furthermore, as the network topology changes, the packet transmitted follows the new routes. Flooding in its simplest form may cause packets to be replicated indefinitely by network nodes. To prevent a packet from circulating indefinitely in the network, a hop count field is usually included in the packet. Initially, the hop count is set to approximately the diameter of the network. As the packet travels across the network, the hop count is decremented by one for each hop that it traverses. When the hop count reaches zero, the packet is simply discarded. Flooding can be further enhanced by identifying data packets uniquely, forcing each network node to drop all the packets that it has already forwarded. Such a strategy requires maintaining at least a recent history of the traffic to keep track of which data packets have already been forwarded.


LEACH (Low Energy Adaptive Clustering Hierarchy) Heinzelman, et al.[13] introduced a hierarchical clustering algorithm for sensor networks, called Low Energy Adaptive Clustering Hierarchy (LEACH). LEACH is a cluster334

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 3, May June (2013), IAEME based protocol, which includes distributed cluster formation [7]. LEACH is self organizing, adaptive clustering protocol. LEACH aims to distribute energy consumption at every node in the sensor network uniformly, aggregate data, i.e. support data fusion and localized coordination, between nodes to form and operate clusters. All nodes in the network organize themselves into local clusters, with one node in the local cluster acting as cluster head. All nodes communicate only to the cluster head, and the cluster head conveys data to the base station. Nodes with higher capability advertise themselves as cluster heads, other nodes join the cluster head which is nearest to them. As cluster head has to spend lot of energy ,after certain time, randomized rotation of the cluster head is done, so that only node does not drain its energy. Every cluster head will prepare a schedule, to each of its members. The members communicate with the head only during that duration and sleep for the rest of the time. The operation of LEACH is divided into rounds. Each round begins with a set-up phase when the clusters are organized, followed by a steady-state phase where several frames of data are transferred from the nodes to the cluster-head and onto the base station [8].

Figure 2: LEACH Protocol Setup Phase: During the setup phase, a predetermined fraction of nodes, p, choose themselves as cluster-heads. This is done according to a threshold value, T(n). The threshold value depends upon the desired percentage to become a cluster-head- p, the current round r, and the set of nodes that have not become the cluster-head in the last 1/p rounds, which is denoted by G. The formula is as follows:

Every node wanting to be the cluster-head chooses a value, between 0 and 1. If this random number is less than the threshold value, T(n), then the node becomes the cluster-head for the current round. Then each elected CH broadcasts an advertisement message to the rest of the nodes in the network to invite them to join their clusters. Based upon the strength of

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 3, May June (2013), IAEME the advertisement signal, the non-cluster head nodes decide to join the clusters. The noncluster head nodes then informs their respective cluster-heads that they will be under their cluster by sending an acknowledgement message. After receiving the acknowledgement message, depending upon the number of nodes under their cluster and the type of information required by the system (in which the WSN is setup), the cluster-heads creates a TDMA schedule and assigns each node a time slot in which it can transmit the sensed data. The TDMA schedule is broadcasted to all the cluster-members. If the size of any cluster becomes too large, the cluster-head may choose another cluster-head for its cluster. The cluster-head chosen for the current round cannot again become the cluster-head until all the other nodes in the network have not become the cluster-head [10]. Steady Phase: During the steady phase, the sensor nodes i.e. the non-cluster head nodes starts sensing data and sends it to their cluster-head according to the TDMA schedule. The clusterhead node, after receiving data from all the member nodes, aggregates it and then sends it to the base-station. After a certain time, which is determined a priori, the network again goes back into the setup phase and new cluster-heads are chosen. SPIN (Sensor Protocols for Information via Negotiation) SPIN stands for Sensor Protocol for Information via Negotiation. These protocols are designed to address the deficiency of flooding and gossiping. SPIN uses negotiation and resources adaption to address the deciencies of ooding. The main objective of these protocols is to efficiently disseminate observations gathered by individual sensor nodes to all the sensor nodes in the network [4]. SPIN has three types of messages: ADV, REQ, and DATA. A sensor node broadcasts an ADV containing meta-data describing actual data. If a neighbor is interested in the data, it sends REQ for the data. Then the sensor node sends the actual DATA to the neighbor. The neighbor again sends ADVs to its neighbors and this process continues to disseminate the data throughout the network. Sensor Protocol for Information via Negotiation SPIN is based on data-centric routing, where the nodes advertise the available data through an ADV and wait for requests from interested nodes.
C. 1



Figure 3: SPIN Protocol In figure 3, node 1 sends ADV message to all its neighbors, 2 and 3. Node 3 requests for the data using REQ message, for which node 1 send data using message DATA to node 3.

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 3, May June (2013), IAEME After receiving the data Node 3 sends ADV message to its neighbors 4 and 5 and the process continues. It does not send to 1 because 3 know that it received data from 1. The data is described in the ADV packet using high level data descriptors, which are good enough to identify the data. These high level data descriptors are called meta-data. The meta-data of two different datas should be different and meta-data of two similar data should be similar. The use of meta-data prevents, the actual data being flooded throughout the network. The actual data can be given to only the nodes which need the data. This protocol also makes nodes more intelligent, every node will have a resource manager, which will inform each node about the amount various resources left in the node. Accordingly the node can make a decision regarding, whether it can as forwarding node or not.

PEGASIS (Power-Efficient Gathering in Sensor Information Systems) PEGASIS is a data-gathering protocol based on the assumption that all sensor nodes know the location of every other node, that is, the topology information is available to all nodes. Also, any node has the required transmission range to reach the BS in one-hop, when it is select as a leader. The main objectives of PEGASIS are twofold. First, the protocol aims at extending the lifetime of a network by achieving a high level of energy efficiency and uniform energy consumption across all network nodes. Second, the protocol strives to reduce the delay that data incur on their way to the sink [4]. A near optimal chain based protocol that is an improvement over LEACH. Instead of forming multiple clusters, PEAGSIS construct a node chain when nodes are placed randomly in a play field then each node communicates only with a close neighbor and takes turns transmitting to the base station, thus reducing the amount of energy spent per round[16]. The chain construction is performed in a greedy way. Figure 4 shows node 0 connected node 3, 1 connecting to node 2. When a node fails, the chain is reconstructed in the same manner by avoiding the dead node [6].

Figure 4: Chain construction using the greedy algorithm.

IV. CONCLUSION The objectives of this paper were to provide overview of various operating systems and routing protocols for Wireless Sensors Network and to present the significant features of each one. Routing protocols have the common objective of trying to extend the lifetime of the sensor network. By examining some existing sensor network OSes, we know the strengths and weaknesses of a number of different OSes.


International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 3, May June (2013), IAEME REFERENCES [1] Shilpa Mahajan, Jyoteesh Malhotra, Sandeep Sharma, "Improved Enhanced Chain Based Energy Efficient Wireless Sensor Network", Wireless Sensor Network, 2013, 5, 84-89, doi:10.4236/wsn.2013.54011 Published Online April 2013. Ridha Soua and Pascale Minet, "A Survey on Energy Efficient Techniques in Wireless Sensor Networks", 978-1-4577-1193-0/11/$26.00 2011 IEEE. Chiara Buratti, Andrea Conti, Davide Dardari and Roberto Verdone, "An Overview on Wireless Sensor Networks Technology and Evolution", Sensors 2009, 9, 68696896;OPEN ACCESS sensors ISSN 1424-8220 doi:10.3390/s90906869. Kazem Sohraby, Danial Minoli, Taieb Znati, Wireless Sensor Networks Technology, Protocols, and Applications", A John Wiley & Sons , INC. ,Publication. Shah Bhatti, James Carlson, Hui Dai, Jing Deng, Jeff Rose, Anmol Sheth, Brian Shucker, Charles Gruenwald, Adam Torgerson, Richard Han, "MANTIS OS: An Embedded Multithreaded Operating System for Wireless Micro Sensor Platforms", Mobile Networks & Applications (MONET) Journal, Special Issue on Wireless Sensor Networks, August 2005. Neha Rathi, Jyoti Saraswat, Partha Pratim Bhattacharya, "A Review On Routing Protocols For Application In Wireless Sensor Networks", International Journal of Distributed and Parallel Systems (IJDPS) Vol.3, No.5, September 2012. Baiping Li, Xiaoqin Zhang, "Research and Improvement of LEACH Protocol for Wireless Sensor Network", International Conference on Information Engineering,9781-61275-024-8/10/$25.00 2012 IERI. Meena Malik,Dr. Yudhvir Singh, "Analysis of LEACH Protocol in Wireless Sensor Networks", International Journal of Advanced Research in Computer Science and Software Engineering, Volume 3, Issue 2, February 2013. Thang Vu Chien, Hung Nguyen Chan, and Thanh Nguyen Huu,"A Comparative Study on Operating System for Wireless Sensor Networks", ICACSIS 2011 ISBN: 978-9791421-11-9 Nutan Sindhwani, Rohit Vaid, "V Leach: An Energy Efficient Communication Protocol For Wsn", Vol. 2, No. 2, February-March 2013, ISSN: 2320-2491. A. K. Dwivedi, M. K. Tiwari, O. P. Vyas, "Operating Systems for Tiny Networked Sensors: A Survey", International Journal of Recent Trends in Engineering, Vol. 1, No. 2, May 2009. Wei Dong, Chun Chen, Xue Liu, and Jiajun Bu, "Providing OS Support for Wireless Sensor Networks: Challenges and Approaches", IEEE Communications Surveys And Tutorials. W. Heinzelman, A. Chandrekasam, and H. Balakrishnan, Energy-Efficient Communication Protocol for Wireless Microsensor Networks, In Proceedings of the Hawaii Conference on System Science, Jan. 2000. D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler,The nesC language: A holistic approach to networked embedded systems, in Proceedings of ACM PLDI, 2003. Dunkels A, Gronvall B, Voigt T. Contiki a Lightweight and Flexible Operating System for Tiny Networked Sensors, Proceedings of the 9th Annual IEEE International Conference on Local Computer Networks; Washington, DC, USA. October 2004; pp. 455462.

[2] [3]

[4] [5]





[10] [11]





International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 3, May June (2013), IAEME [16] S. Lindsey and C.S. Raghavendra, PEGASIS: Power Efficient Gathering in Sensor Information Systems, Proceedings of the IEEE Aerospace Conference, Big Sky, Montana, March 2002, vol. 3. [17] Hojung Cha, Sukwon Choi, Inuk Jung, Hyoseung Kim, Hyojeong Shin,Jaehyun Yoo, Chanmin Yoon,"RETOS: Resilient, Expandable, and Threaded Operating System for Wireless Sensor Networks",IPSN07, April 25-27, 2007, Cambridge, Massachusetts, U.S.A. [18] Muhammad Omer Farooq and Thomas Kunz, "Operating Systems for Wireless Sensor Networks: A Survey", sensors ISSN 1424-8220, 2011. [19] Leelavathi G, Shaila K, Venugopal K R and L M Patnaik, "Design Issues On Software Aspects And Simulation Tools For Wireless Sensor Networks", International Journal of Network Security & Its Applications (IJNSA), Vol.5, No.2, March 2013. [20] R.Rajasree and Dr.G.Kalivarathan, A Review on Routing Protocols and Non Uniformity with Wireless Sensor Networks, International Journal of Computer Engineering & Technology (IJCET), Volume 3, Issue 3, 2012, pp. 348 - 354, ISSN Print: 0976 6367, ISSN Online: 0976 6375. [21] Poonam Thakur and M.Vijaya Raju, Survey on Routing Techniques for Manets and Wireless Sensor Networks: A Comparison, International Journal of Computer Engineering & Technology (IJCET), Volume 4, Issue 1, 2013, pp. 275 - 283, ISSN Print: 0976 6367, ISSN Online: 0976 6375. [22] Neeraj Tiwari, Rahul Anshumali and Prabal Pratap Singh, Wireless Sensor Networks: Limitation, Layerwise Security Threats, Intruder Detection, International Journal of Electronics and Communication Engineering & Technology (IJECET), Volume 3, Issue 2, 2012, pp. 22 - 31, ISSN Print: 0976- 6464, ISSN Online: 0976 6472.