110
WIRELESS SENSOR NETWORK COVERAGE: DEMONSTARTING POWER SAVINGS AND LIMITATIONS WITH MINIMIZED COVERAGE BY SIDNEY I. RUBEY A thesis submitted to the Graduate faculty of the University of Colorado at Colorado Springs in partial fulfillment of the requirements for the degree of Master of Science Department of Computer Science

WIRELESS SENSOR NETWORK COVERAGE

Embed Size (px)

DESCRIPTION

This paper explores the competing issues of coverage efficiency and power available in wireless sensor networks. Specifically, a shortest distance routing protocol is implemented, and total network system lifetimes are determined using a variety of small percentages of the available system nodes. Using a network simulator developed in Java, wireless sensor nodes are simulated, and power consumption algorithms are included in each node that take into consideration all aspects of power consumption in the operation of the node. Simulating different coverage schemes on the same network system, same initial power sources, and routing protocol, an increase of overall system lifetime of 900% is demonstrated, but also that the network lifetime increase does not increase linearly as the percentage of nodes used in the system is decreased.

Citation preview

WIRELESS SENSOR NETWORK COVERAGE:

DEMONSTARTING POWER SAVINGS AND LIMITATIONS WITH MINIMIZED COVERAGE

BY

SIDNEY I. RUBEY

A thesis submitted to the Graduate faculty of the

University of Colorado at Colorado Springs

in partial fulfillment of the

requirements for the degree of

Master of Science

Department of Computer Science

2011This thesis for Master of Science degree by

Sidney I. Rubey

has been approved for the Department of Computer Science

by

------------------------------------------------------------------------

Dr. C. Edward Chow, Chair

------------------------------------------------------------------------

Dr. Terrance E. Boult

------------------------------------------------------------------------

Dr. Xiaobo Zhou

-----------------------------------------

Date

Abstract

This paper explores the competing issues of coverage efficiency and power available in wireless sensor networks. Specifically, a shortest distance routing protocol is implemented, and total network system lifetimes are determined using a variety of small percentages of the available system nodes. Using a network simulator developed in Java, wireless sensor nodes are simulated, and power consumption algorithms are included in each node that take into consideration all aspects of power consumption in the operation of the node. Simulating different coverage schemes on the same network system, same initial power sources, and routing protocol, an increase of overall system lifetime of 900% is demonstrated, but also that the network lifetime increase does not increase linearly as the percentage of nodes used in the system is decreased.

Acknowledgement

I would like to thank Professor C. Edward Chow for his guidance and patience during my thesis work. I would also like to thank my family for their support, patience, and understanding during this labor when I had to be working on my thesis.

Abstractiii

Acknowledgementiv

1 INTRODUCTION1

1.1Wireless Sensors Structure and Operation1

1.2 Research Goal: Demonstrating Advantages of Reducing Coverage3

1.3 Paper Organization4

2 RELATED WORK6

2.1 Power6

2.2 Recent Developments with Power8

2.3 Coverage9

2.4 Wireless Sensor Network Simulators13

3 PRELIMINARIES16

3.1 Battery, Power Consumption & Management16

3.2 Routing Protocol18

3.3 Placement of Sensors20

4 IMPLEMENTATION OF SIMULATION21

4.1 Assumptions21

4.2 Java Network Simulator21

4.3 Power Consumption29

4.3.1 Microcontroller30

4.3.2 Sensing Unit30

4.3.3 Radio30

4.4 Coverage30

5 ENHANCEMENT 132

6 ENHANCEMENT 234

7 COMPLEXITY ANALYSIS OF ALGORITHM35

8 EXPERIMENTAL RESULTS37

8.1 Initial Simulation Configuration37

8.2 Enhancement 141

8.3 Enhancement 243

9 LESSONS LEARNED45

10 CONCLUSIONS AND FUTURE RESEARCH47

Appendix A54

Appendix B58

Appendix C59

Figures

Figure 1: Berkeleys SmartDust, Crossbow Technologies MICA22

Figure 2: Converting RF energy to DC power..................................9

Figure 3: Algorithm of MUEL Simulator................................................................21

Figure 4: Display of output window with nodes near each other............................30

Figure 5: Graph of Network Life vs. Number of Subgroups...................................40

Tables

Table 1: Current used in Crossbow MICA2 Mote...........................................................25

Table 2: Network lifetimes, first configuration................................................................35

Table 3: Network lifetimes, second configuration...........................................................36

Table 4: Network lifetimes with Enhancement #1...........................................................38

Table 5: Network lifetimes with Enhancement #2...........................................................39

66

Chapter 1

1 INTRODUCTION

Wireless sensors, and the arrangement of these small, electronic devices into radio networks, have introduced the capability of remotely monitoring a physical environment for a wide variety of parameters. In effect, there is additionally the ability to interface the physical world, monitoring whatever parameter is of interest, with the internet. A scientist may, for example, be able to view conditions in a rain forest on another continent, from his office in Colorado. [LE10]

1.1Wireless Sensors Structure and Operation

Wireless sensors are devices that range in size from a piece of glitter to a deck of cards. They are functionally composed of:

a sensing unit that is designed and programmed to sense whatever characteristic is of interest; some common examples of properties that are monitored are light, temperature, humidity, pressure, etc.

a converter that transforms the sensed signal from an analog to a digital signal;

a microprocessor controlling component that includes an operating system for the unit, processor and memory;

a radio component that includes both a receiver and a transmitter.

Powering these components is typically one or two small batteries. There are also wireless sensors utilized in applications that use a constant, wired power source and do not use batteries as a power source. This type of wireless sensor is not considered in this paper.

Figure 1:Berkeleys SmartDust [PI01] Crossbows Mica mote (appx. 60 mm across) [XB10]

In an external environment where the power source is batteries, which this paper will concentrate on, wireless sensors are placed in an area of interest that is to be monitored, either in a random or known fashion. The sensors self-organize themselves in a radio network using a routing algorithm, monitor the area for whatever parameter it was designed to monitor, and transmit the data to a central node, sometimes called a base station, or sink node, that collects the data from all of the sensors. This node may be the same as the other nodes, or because of its increased requirements, may be a more sophisticated node with increased power. The unique advantage of wireless sensors is that they may be deployed in an environment for extended periods of time, continuously monitoring the environment, without the need for human interaction or operation. This, however, establishes the power source as the limiting component of the sensor.

1.2 Research Goal: Demonstrating Advantages of Reducing Coverage

Thus introduces the tradeoff between power and coverage in wireless sensor networks. A system of wireless sensor nodes organized into a network may turn on every node for maximum coverage, sometimes introducing redundant coverage over an area, and the lifetime of the system will be minimized. Maximum, redundant coverage may be appropriate and desired in some applications, such as using tiny sensor nodes to monitor a critical health situation in humans, and also in situations where replacement of the batteries is possible when power is completely depleted. Maximum, redundant coverage may also be desirable in applications using rugged, environment sensor nodes for monitoring a strategic military scenario for a known duration of time. In these examples, the lifetime of the system is not maximized, and this is an entirely acceptable consequence. At the other end of the spectrum, however, there are applications where maximum, redundant coverage is not the paramount consideration. A reduced coverage scheme may be wholly acceptable, as a tradeoff for vastly extending the lifetime of the system. For example, any phenomenon that is not too divergent throughout an area; events, phenomenon that are somewhat continuous and one event at one point is not drastically different than the same monitored event at an adjacent point. Put another way, in applications where the tradeoff of coverage to gain extended system lifetime does not have drastic negative consequences. Some examples of these types of phenomenon are temperature, light, sound, atmospheric conditions.

The advantages of minimizing coverage, under appropriate circumstances, are the focus of this paper. For an area that is being monitored by a wireless sensor network, with nodes having a finite, known sensing range, and turning on one node in an area that produces no overlap in coverage, establishes one spot of coverage in the area. Hence, the term spotty coverage is sometimes used to refer to fewer sensor nodes being turned on with no overlap.

For example, a wireless sensor network may have a calculated lifetime of 100 hours using 100% of the sensors. If 50% of the sensors are used at one time, while the remaining 50% are reduced to a low-power sleep state, it would be expected that the overall lifetime of the system would be approximately doubled to 200 hours, and this is what the simulation demonstrates.

1.3 Paper Organization

The advantages of minimizing coverage in varying degrees, under appropriate circumstances, are the focus of this paper. The remainder of this paper will cover the following areas: First, a review of research that has already been done that relates to this topic will be covered. This will cover a review of papers that deal with minimizing power consumption or extending network life - in wireless sensor networks; then, papers that deal with the sensing coverage of wireless sensor networks; and finally wireless sensor network simulators. Specific attention is paid to research that dealt with minimizing the coverage of wireless sensor networks to extend network lifetime. The next section will introduce the basics of electricity and how power consumption is measured in the wireless sensor nodes. Following this, will be a discussion of the routing protocol that has been implemented in the network simulator, which will lead to a discussion of the network simulator that has been implemented using the programming language Java. Finally, the experimental results obtained from simulating power consumption in wireless sensor networks under different conditions will be presented. This will be followed with lessons learned and conclusions to be drawn from the research.

Chapter 2

2 RELATED WORK

2.1 Power

The first topic in the Related Work section has to do with the power usage of the wireless sensor nodes. This has often been considered a function strictly of transmission what routing protocol or algorithm is being used for sending data, messages, network traffic, etc. As I demonstrate in this paper, and is also documented in some of the following papers, energy is also consumed by the other components of the node, and this can be significant. Another distinction to be made on this topic is that some papers are focused on minimizing power usage, by whatever means and thereby extending network life, and some papers focus on maximizing network lifetime.

The work by Schurgers, et al, Energy Efficient Routing in Wireless Sensor Networks, discusses two approaches to making the most efficient use of limited energy in sensors, and thereby extending the life of the network system. The first approach is to use a concept they termed Data Combining Entities, or DCEs. This concept is similar to clustering, but it does not specifically designate a cluster head; instead it picks a node that has other streams of network traffic flowing through it as the DCE. In this manner, nodes that are in close proximity to the DCE relay their packets to the DCE which can compress and then forward these nodes packet for them. Their simulations demonstrate that energy consumption using this method can be reduced by a factor of 2 to 3. [SC01]

The second technique demonstrated by Schurgers to reduce energy consumption in a wireless sensor network is the spreading of network traffic over the entire network. This is opposed to network traffic passing through a few critical nodes, which is typical of how network traffic with randomly placed nodes normally evolves. The energy in these few critical nodes understandably is depleted quickly as it passes other nodes message traffic.

The idea is to divert new streams away from nodes that are currently part of the path of other streams. A node that receives packets tells all its neighbors, except to the one from where the stream originates, that its height has increased. [SC01]

The height is another term for number of hops to the base node. In this manner, it is telling its neighbors that it is not an efficient route to the base. By attempting to spread the network traffic over more of the network in this manner, simulations demonstrate the network remains intact 90% longer than a stochastic routing protocol. [SC01]

Slijepcevic, et al, in the paper Power Efficient Organization of Wireless Sensor Networks, focuses on reducing the overall power in the network system by grouping the sensor nodes into mutually exclusive sets. In this manner, the coverage throughout the surveillance area is maintained by the sensor nodes, and turning on only one of sensor nodes of the set at a time. This technique assumes that sensor nodes are placed stochastically. [SL01]

There are many more research topics that demonstrate energy, or power, saving, efficiency, optimization in wireless sensor networks. The subjects range from, but are not limited to, energy conservation with regard to routing protocols, operating systems, software systems, grouping or clustering nodes for power savings, placement of nodes, energy efficient electronic and radio transmission devices, and communication techniques. In short, every component and operation of the individual nodes and the network as a whole has been researched for optimum energy usage. [CH01]

Maximizing System Lifetime in Wireless Sensor Networks by Dong, is one of the first papers to differentiate between the time and transmission approaches to overall lifetime of a wireless sensor node network. Dong refers to these as the time based model and the packet based model. This research considers many different time based models, and also packet based models; the purpose of the paper is not to put forth scheme that is supposed to be the best. Rather, considering different combinations of models, it does an analysis of the models and determines the complexity of each of the models. In the time based model, it is shown that the problem of extending network lifetime while maintaining connectivity the complexity is NP-hard. In the packet based model, it is demonstrated that all models are NP-hard, with the exception of cases where each node has a fixed transmission power, many-to-one unicast life time, one-to-many unicast lifetime, and one-to-one unicast lifetime are polynomially solvable; also, many-to-many unicast lifetime is also polynomially solvable in the single commodity model. [DO05]

The next paper considered is Minimum Power Configuration for Wireless Communication in Sensor Networks, by Xing et al. This paper approaches the power / network lifetime problem as actually two problems: one, minimizing the number of active nodes in the network to only those required for coverage and connectivity; two, adjusting the configuration of the power consumed for transmissions by the nodes. This paper demonstrates that the optimum power configuration depends on the data rates of the network. Furthermore, it is demonstrated that problem of solving the minimum power configuration is an NP-hard problem. Also, there are two protocols presented: the minimum power configuration protocol (MCPC), and minimum active subnet protocol (MACP). Unique to MPCP, the protocol will dynamically reconfigure the network power usage configuration based on the current data rates. [XI05]

Chao-Lieh Chen et al authored the paper Energy-proportional Routing for Lifetime extension of Clustering-Based Wireless Sensor Networks. In this research paper, an algorithm is presented that will determine the energy usage for nodes in an upcoming round of data collection and transmission; it then determines if a cluster-head or a node should be used for forwarding tasks or transmit data to intermediate hops. In this manner, the algorithm helps to use energy evenly throughout the network. Testing and mathematical proofs validate that network lifetime can be extended by dissipating energy evenly throughout the network. [CH07] In addition to Schurgers [SC01], this is another paper that promotes energy being used evenly throughout the entire network will extend overall network life.

The next paper that deals with extending the lifetime of wireless sensor nodes introduces the concept of Pareto Optimality. Named after the Italian economist Vilfredo Pareto, a Pareto improvement in a system is one that will make an improvement in an element of a system without making any of the other elements of the system worse off. An overall adjustment to the system configuration is said to be Pareto optimal if no further Pareto improvements can be made, or in other words, an improvement to one element will introduce some type of disadvantage to another element. [GA11]

Hence, A Theory for Maximizing the Lifetime of Sensor Networks, by Joseph C. Dahger et al, is introduced. This paper makes some strict assumptions on the type of network its algorithm is applicable to. It assumes static network conditions in a unicast multi-hop wireless sensor network. It initially draws on the solution for this type of network that was discussed in Chang [CH04]. The iterative algorithm attempts to find a Pareto Optimal solution to maximizing the lifetime of the network. In the first iteration of the algorithm, the minimum lifetime of the network is maximized. If the solution is not Pareto Optimal a second iteration of the algorithm is performed, and this algorithm is performed until a Pareto Optimal solution is found. Extensive theorems and experimental results are presented that establish that the algorithm can be used to guarantee a solution that maximizes the network lifetime. [DA07]

The next paper reviewed basically introduces an algorithm for identifying which subset of the network should be used, and scheduling transmissions based on a stochastic shortest path and which node has the most energy left. Yunxia Chen et al, present the paper Transmission Scheduling for Optimizing Sensor Network Lifetime: A Stochastic Shortest Path Approach. [YU07] The subset of transmitting nodes does so through a fading channel, which is a radio channel that is experiencing attenuation through a propagation medium. The process of determining which sensors should transmit is solved by a stochastic (random) shortest path Markov decision process, or MDP. A Markov decision process is one in which outcomes are determined part randomly and part by some decision maker. MDPs are used extensively in situations where there exists a selection of options and the outcomes are unknown, but the outcome is desired to be optimized, according to some measurement. [FE02] Much overhead network transmission, and therefore network energy, is required for a centralized transmission scheme, so the transmission algorithm used is one based on the sensor node itself knowing its communication characteristics and available channels. The scheduling algorithm is based on a shortest path multi-armed bandit problem which uses a Gittins index to optimize the transmission scheduling. A multi-armed bandit problem takes its name from the one-armed bandit, or slot machine. For a multi-armed bandit, there are sequences of levers that can be pulled with each one having a payoff. The object is to optimize/maximize the total payout over a sequence of lever pulls. In Brief, a Gittins index is a measure of the payout over a sequence of actions. [WH80] Again, similar to Chen [CH07] and Schurgers [SC01], this paper demonstrates extending network life by distributing workload evenly over the entire network. Another paper reviewed, Lifetime Extension for Surveillance Wireless Sensor Networks with Intelligent Redeployment [KO10] also extends network life by evenly distributing network traffic over the entire network.

The 2008 paper by Kim et al, Minimizing Delay and Maximizing Lifetime for Wireless Sensor Networks with Anycast [KI08] pertains to a unique type of wireless sensor network, namely an event-driven network that uses Anycast, and the nodes of the network have an asynchronous wake-sleep schedule. To understand Anycast, it is important to understand the wake-sleep cycle employed in many wireless sensor network systems. To conserve battery power, many systems employ some type of schedule in which sensors are in a low power sleep state for much of the time, and wake to perform functions such as sensor reading, or transmission of messages, whatever purpose they may have. The system developed as part of this paper, MUEL, utilizes a wake-sleep cycle for the sensor nodes. Anycast is a message relay function in which, instead of having one node that a sensor node will transmit its messages to, a node will have a group of candidate nodes that it can transmit to. Because of the asynchronous wake-sleep cycle of the sensor nodes, the transmitting node does not know exactly which node will be awake and available to receive and relay a transmission. The authors solve this problem and thus minimize the delay is transmitting messages. In this manner minimizing delay and wasting energy in the wake state the lifetime of the network is extended: a unique solution for a unique type of wireless sensor network. [KI08]

Perhaps the most unique approach to maximizing wireless sensor network lifetime is the paper by Long et al, Battery Allocation for Wireless Sensor Network Lifetime Maximization Under Cost Constraints [LO10]. All networks considered in this paper generally assume homogeneous sensor nodes with identical batteries. In this paper the author suggests the use of batteries that have different levels of energy stores, up to a maximum of ten different levels of energy store in batteries of the network. For example a sensor node with one camera-type coin-sized battery may be considered a node with just level 1 battery pack; a node with two of these has a level 2 battery pack, etc., to a maximum of ten in this paper. The authors use an integer nonlinear programming formulation to solve two specific problems associated with this type of solution: 1) given a set of battery types available for the network with specific cost of each, it solves a financially cost-constrained battery allocation problem which allows the problem to be solved by general optimization packages; and 2) Given a budget of energy cost, how should battery energy be assigned to sensor nodes to maximize the network lifetime given a constraint on total cost and on the number of different battery pack types. [LO10] Using this creative approach, the authors assert that testing has extended a network lifetime by 4 to 13 times what it would be with uniform, homogeneous batteries.

In the study by Tian He, et al, a specialized type of surveillance system is implemented that detects, for example, magnetic flux changes in a surveillance area, such as that created by a military tank, and tracks the movement of the object through the area of surveillance. The system designates some of the nodes as sentry nodes, in an active, continuously monitoring state, and the rest of the nodes are in a low power sleep state with a small percentage of the time awakening for the duty cycle. With these criteria, using MICA2 motes by Crossbow Technologies, they report their algorithm extends the lifetime of a sensor network by up to 900% in simulations. [HE10]

2.2 Recent Developments with Power

One of the most recent developments regarding the source of power for nodes in wireless sensor networks is the harvesting, or scavenging, of energy from ambient sources of power.

As the networks increase in number and the devices decrease in size, the replacement of depleted batteries is not practical. Furthermore, a battery that is large enough to last the lifetime of the device would dominate the overall system size, and thus is not very attractive. There is clearly a need to explore alternative methods of powering these small communication nodes. [SP03]

The advantage to the sensor node of having an unlimited power source, and thus the advantage to the operator, is obvious. The most common ambient energy sources are radio-frequency energy, vibrational energy, solar energy, and thermal energy. [OS09]

The book by Shad Roundy, et al, Energy Scavenging for Wireless Sensor Networks with Special Focus on Vibrations, explores various ambient power sources for wireless sensor networks, and ultimately focuses on ambient vibrational energy and its many advantages for powering the nodes. [SP03]

Another source of ambient energy available to nodes in a wireless sensor network is radio-frequency, or RF, energy. The history of wireless transmission of energy goes back to the work of Nicola Tesla in the 1890s in Colorado Springs, Colorado.(Wikipedia.org) The fundamental concept of harvesting RF energy is to have a receiving antenna convert an RF signal into DC power, as depicted in the diagram below.

Figure 2: Diagram converting RF energy to DC power

Ambient RF energy can be harvested from three different categories: intentional sources, anticipated ambient sources, and unknown ambient sources. Intentional ambient sources would provide the most control of delivering power to a wireless sensor network system.

For Powercast's components, the conversion efficiency of the received RF power to DC is typically between 50%75%, over a 100X range of input power or load resistance, and even greater for specialized applications. The harvesting activation power is currently ~100 W and the output power is up to 250 mW.(Ostaffe)

Having nodes that are able to operate independent of fixed-life batteries is a significant development in the field of powering wireless sensor networks. As with many considerations in designing a sensor node, the tradeoff of having this type of power scavenging component is increased cost.

2.3 Coverage

Much research has been devoted to the topics of ensuring coverage in wireless sensor networks, in addition to the research done on efficiently managing or minimizing power consumption in sensor nodes. Coverage is important in wireless sensor networks; the ability of a sensor network to monitor and report events is the sole purpose of the system. As the batteries power in the nodes depletes and the nodes cease to function, in addition to the potential loss of network connectivity provided by these nodes, the loss also means a loss of coverage capability. The purpose of the discussion of coverage for wireless sensor networks in this paper will be to demonstrate how well the coverage for randomly placed nodes serves a wireless sensor network. I will seek to answer important questions concerning coverage such as: what is the sensing range of the nodes, or what has been considered for the sensing range; at what point does the network break down and cease to function as a system in terms of coverage capability.

In the influential paper Coverage Problems in Wireless Ad-Hoc Sensor Networks, Meguerdichian, et al, introduces two fundamental concepts in terms of coverage for wireless sensor networks. These concepts view coverage from opposite ends of the spectrum, a worst case and a best case scenario in terms of sensor coverage. To specify and identify the solution, Voronoi diagrams and graph theory are used. The worst case is called the maximal breach path, and quantifies the quality of service by finding the areas of lowest observability from sensor nodes and detecting breach regions. The best case scenario is called the maximal support path, and finds areas of high observability from sensors and identifying the best supported regions in terms of sensor coverage. [ME01]

Coverage in Wireless Ad-hoc Sensor Networks, by Xiang-Yang Li, et al, builds upon and extends the work of Meguerdichian in [ME01]. Minimizing energy use is always one of the goals in wireless sensor nodes. This paper considered how to find an optimum best-coverage-path, one of the key concepts introduced in [ME01], that also had the benefit of consuming the least amount of energy, and the optimum best coverage path that travelled the shortest distance. The paper also provided justification for [ME01] to use Delaunay triangulation to solve the best coverage problem. [XI03]

The paper entitled Integrated Coverage and Connectivity Configuration in Wireless Sensor Networks by X. Wang, et al, introduces Coverage Connectivity Protocol (CCP) that has the flexibility to allow variable degrees of coverage depending on the application and environment. The paper demonstrates two key points: 1) using geometric analysis it proves that sensing coverage implies network coverage when a sensor nodes sensing range is no more than half of the communication range; and 2) using CCP it quantifies the relationship between coverage and connectivity. [WA03]

Huang, et al, presents the coverage problem in wireless sensor networks from a perspective of the ability to decide if every point in a service area is covered by at least k sensors, where k is a predefined value. This is referred to as k-coverage, or the points in a wireless network being kcovered. The solution in this paper to the question if a coverage area is k-covered includes: sensing ranges that are all of a uniform dimension, non-uniform sensing ranges, and irregular shaped sensing ranges. Through a derivation of theorems and lemmas concerning coverage, it is shown that by checking the perimeter of the sensor nodes sensing range, it can be determined if the coverage area is k-covered. [HU05]

Chow, et al, present the paper Wireless Sensor Networks Scheduling for Full Angle Coverage [CH08] in which the authors develop the concept of the angle of coverage. If a particular object that is being tracked, or a point in a field of surveillance, can be viewed from all 360 degrees around the object, its angle of coverage is 360. This is a slightly different perspective than considering if a point in the area of surveillance is k-covered. This paper uses distributed algorithms to define the minimum number of sensors required to maintain 360 degree coverage. Additionally, the paper considers different power usage values for the sensors, thus allowing different optimization objectives to be realized.

The final two papers are surveys of the most important sensor network coverage research papers. The first paper, Coverage Problems in Wireless Sensor Networks: Designs and Analysis by Thai, et al, was written in 2008. The paper considers the usual aspects of coverage in wireless sensor networks, including entire coverage, and target coverage. A valuable contribution of this paper is to include the discussion of bandwidth that is possible in wireless sensor networks.

When organizing sensors into a number of subsets, the number of available channels must be enough for the active sensors to communicate. Otherwise, some sensors cannot send data back to base stations. Thus the number of sensors in each subset must be less than or equal to the number of available channels. With this constraint, coverage breach can occur, i.e., some targets are not covered. [TH08]

In its Final Discussion and Outlook section, the authors also give a brief introduction to the barrier coverage problem, which is beyond the scope of the paper. The basic statement of this problem is to minimize the probability of a penetration through a barrier of wireless sensors.

The second and most current of the survey of coverage papers is Coverage in Wireless Sensor Networks: A Survey by Mulligan, et al. The authors provide a superior overview of the most prominent published research that has been done up to the present. In terms of the issues related to coverage, it discusses coverage types, deployment (random versus deterministic), node types (homogeneous versus heterogeneous), constraints, centralized and distributed algorithms, and three dimensional coverage. In terms of the approaches to the coverage problem, it discusses the art gallery approach, Vonoroi diagrams and Delaunay triangulation, worst and best case scenarios, probabilistic sensing, disjoint sets, and coverage with connectivity. One of the more important contributions of this paper is the presentation of the three dimensional coverage problem with wireless sensor networks, and the prominent research that has been done with this issue. Another unique contribution of this paper is to include a table that relates issues related to coverage with wireless sensor networks (horizontal axis) and the papers referenced in [MU11] (vertical axis).

2.4 Wireless Sensor Network Simulators

Wireless sensor network simulators play an important role in research in the field of wireless sensor networks. Practically, deploying sensors for test purposes in the same numbers and location as actual an deployment, is often not realistic. The very nature of wireless sensor networks is to monitor environments that are not typically accessible: environments that are remote, too hot, too cold, or too dangerous, for example. Wireless sensor network simulators provide a reasonable facsimile of how the network will behave in a live, operating condition.

The simulation, however, is only as good as how the simulator models the environment and how well it models the characteristics of the sensor itself. Frequently, researchers find wide discrepancies between the results from a simulation and how the sensor network actually behaved in the field of operation. The main reason for this discrepancy is the numerous parameters that need to be taken into consideration to really simulate the sensor and the environment. For this reason, it is not surprising that a common goal, or characteristic, in simulators is granularity, i.e., how detailed the simulator can be in simulating the operation of the sensor nodes.

Another characteristic that needs to be discussed is that some of these tools are network simulators, while others are emulators. A network simulator is a tool used to evaluate network protocol performance in a wireless sensor network, it simulates the network. Some simulators that I will discuss in this paper are NS-2, SensorSim, SENS, and EmStar. A network emulator is a tool used to evaluate real hardware performance on the nodes of a wireless sensor network. Some emulators that I will discuss in this literature review section are TOSSIM, ATEMU, and AVRORA.

The first network simulator to be discussed is NS-2, whose origins trace back to 1989 in the REAL network simulator at Cornell University. [KE11] Ns-2 is a discrete event simulator that was designed especially to simulate Transmission Control Protocol (TCP) on wireless and wired networks. It is written is the programming languages C++ and OTcl: the simulation environment itself is written in OTcl, and the implementation of the network protocols and simulator extension libraries are written in C++. Being one of the oldest network simulators, it has a very large body of support information available, and can be used to test a variety of network protocols. Some are ns-2s drawbacks are: the learning curve to operate the simulator is considerable, and knowledge of a scripting language, queuing theory, and modeling techniques is required; also, because the protocols are written in the object-oriented language C++, the simulator does not scale well for simulations of large wireless sensor node networks, as each node is represented as an object and performance is significantly affected. [CU05] [KE11] [NS10] [NS11]

SensorSim is another network simulator, which is based on ns-2. This simulator was developed in the Network & Embedded Systems Laboratory at UCLA. [SR01] Similar to the model power that was used in the MUEL simulator, which will be discussed, SensorSim enhanced ns-2 by having an advanced power model, taking into account all of the components on a sensor node that would use energy. Further, a significant advancement of SensorSim was to include, first a sensor channel, and later, a mechanism that allowed the simulation of external events that would trigger a reaction in the simulation. Another significant contribution of SensorSim was the development of a middleware software tool called SensorWare. This middleware functioned between the simulator and the simulated sensor nodes, and allowed dynamic management of nodes during simulation, such as the loading of scripts or other applications to the nodes. SensorSim, having evolved from ns-2, had similar problems of scalability, and is not publicly available today. [CU05]

SENS, or Sensor, Environment and Network Simulator, is a wireless sensor network simulator that was developed at the Open Systems Laboratory at the University of Illinois at Urbana Champaign (UIUC) in 2004. [SU04] SENS was developed as a customizable sensor network simulator for WSN applications. It has four main components that function to simulate the sensor node and network, and the environments in which the network might operate. There is an application component that simulates the software of the sensor node; a network component that simulates the transmission of packets among the nodes and operates in one of three modes successful packet transmission, a probability of packet loss, and packet collision; the third component is the physical component that simulates the power, sensor, and actuator parts of the sensor node and interface with the fourth component, the environment; the environment component is simulated by considering how different surfaces affect radio wave propagation. The environment simulation component is the key benefit of SENS; it is otherwise less customizable than other network simulators. [EG05] [SU11]

Yet another simulator of wireless sensor networks is SWAN, or simulation of wireless, ad-hoc networks that was developed at Dartmouth College. The simulator is based upon a previous 1998 project at Dartmouth, DaSSF, or Dartmouth Scalable Simulation Framework. Similar to SENS, SWAN is comprised of modules, or components, one of which is an environmental component that acts to simulate different scenarios, such as terrains, hazardous substances, and different radio propagation characteristics. [LI11]

There are many other wireless sensor network simulators. EmStar is a wireless sensor node network simulator that was also developed at UCLA. It uses a discrete event simulation model, and is a Linux based system. EmStar is designed to work with a limited number of motes, or sensor nodes, for the purpose of developing and deploying applications for wireless sensor networks. [GI11] [CU05] SensorMaker is another simulator that supports scalable and fine-grained instrumentation of the entire sensor networks. [SA08] J-Sim is a powerful simulation tool that is a collaborative work of UIUC and Ohio State Univeristy. It is developed in Java and Tcl; it allows for a variety of battery and power models to be simulated, supports many protocols in the simulated network environment, and has a highly developed GUI interface. [EG05] [SO05]

The first wireless sensor network emulator to be discussed is TOSSIM, which roughly stands for TinyOS Simulator. TinyOS is an open-source operating system specifically designed as an operating system for wireless sensor nodes; it was developed at the University of California at Berkeley using the nesC programming language with the support of Intel Corporation and Crossbow Technology. Again, emulators differ from simulators in that they are designed to evaluate the operation of the hardware components of a wireless sensor node, and run the actual code that would be run on each node in a network. The developers of TOSSIM had four goals in mind for the emulator:

scalability (the system should be able to handle thousands of nodes with different network configurations), completeness (as many system interactions as possible must be covered in order to accurately capture behavior), fidelity (subtle interactions must be captured if testing is to be accurate), and bridging (validating the implementation of algorithms). [CU05]

TOSSIM is mostly regarded as the best performing emulator, being able to emulate the operation more nodes than any other simulator or emulator. While the ability of TOSSIM outweighs any shortcomings, some disadvantages of TOSSIM have been that it emulates identical nodes, which is not realistic, and its probabilistic bit error model introduces inaccuracies in its emulation. [LE11]

Another wireless sensor network emulator to be reviewed is the ATEMU, which stands for Atmel Emulator, discussed in the paper ATEMU: A Fine-grained Sensor Network Simulator by Polley, et al. ATEMU is described as a bridge between an actual deployment of a wireless sensor network system, and a wireless sensor network simulator, a hybrid , where the operation of individual sensor nodes is emulated in an instruction by instruction manner, and their interactions with each other via wireless transmissions are simulated in a realistic manner. Although it was not specifically designed for MICA2 motes and TinyOS, much of the research and testing of ATEMU was performed with this platform. Another feature of ATEMU is XATDB, a tool that provides a graphical user interface to ATEMU, and a debugger tool for debugging code running on the sensors. ATEMUs main contribution is the granularity of the simulation of the sensor, that it has the ability to simulate different sensor platforms in the same simulation, and also XATDB which provides debugging functionality to the simulator. [PO10] A key weakness to ATEMU is that it is significantly, approximately 30 times, slower that TOSSIM. [EG05]

Avrora is another wireless sensor network simulator that simulates a sensor system at a very finely granular level; it was developed by Ben Titzer et al, at UCLA, and is discussed in the paper Avrora: Scalable Sensor Network Simulation with Precise Timing. Avrora attempts to achieve the advantages of TOSSIM and ATEMU, and mitigate these two emulators disadvantages. While TOSSIM and ATEMU are written in the programming language C, Avrora is written in Java. Avrora emulates the node operation by running code instruction-by-instruction. The unique feature of Avrora is how it handles the synchronization of nodes. There are two modes of synchronization: one uses a regular interval, that can be set by the emulation operator, to synchronize nodes; the other mode allows nodes to proceed along in simulation, until it reaches a state where it has to synchronize with its neighbors. Both of these synchronization modes reduce the overhead introduced by the synchronization function, as compared to TOSSIM and ATEMU. [TI11] [CU05]

Chapter 3

3 PRELIMINARIES

3.1 Battery, Power Consumption & Management

As previously discussed, the limiting component on the lifetime of a wireless sensor network is the power available in the batteries of the nodes. For this reason, assuming maximizing the overall life of the sensor network is a desirable goal, and assuming sensor nodes are inaccessible and batteries are not able to be replaced, much research effort has been put into minimizing the power consumed by the sensor node, while maintaining an appropriate amount of coverage and network connectivity for the specific application. These efforts have included power management schemes, power efficient routing protocols, and algorithms that put redundant sensor nodes in the network into an extremely low-power sleep mode for extended periods of time. While some sensor nodes are asleep, the other sensor nodes in the network are handling the duty of performing the sensing operations, transmitting and receiving data, sometimes acting solely as a signal transferring node.

To understand how the energy of a battery is used and depleted in a sensor nodes battery, a discussion of the basic electrical characteristics of the battery is necessary. The total amount of energy available in a battery is expressed as a quantity of amp-hours. An amp is a measure of electrical current, symbolically represented as I (capital letter I). For example, a standard commercial AA battery has approximately 1000 mAH or 1 AH, of energy store. [AL10] So, if a battery initially has 1000 mAH of energy, and the component that is running on the battery power uses 1 mA for one hour, the battery will have 999 mAH of power left at the end of one hour. Except for the very end of the battery life, the energy in most batteries dissipates at a linear rate, for a constant power load. [PL04] As will be shown, if one knows how many amps of current a component on the sensor nodes draws, perhaps in more than one state, such as in a fully operational state and in a low power sleep state, and also knows how long the component operated at that state, one will be able to calculate the power usage on the sensor nodes battery.

To simulate the power usage in wireless sensor nodes batteries, it is necessary to know specifically what functions of the node use power, and how much. In the simulation, there are five functions that draw current, or use the batterys power. They are:

1. The power used in the initial phase of the networks life when each wireless sensor nodes geographic location is establish with the base node, through whatever means is used by the system, a GPS position locating, for example. This category of power usage would require that the wireless sensor nodes microprocessor and transmitting and receiving components of the radio are in their full power, active mode.

2. The power used to compute the transmission node, and each node after that to establish a transmission chain that ultimately ends at the base node; this would happen at the initial start of the network system, and every time after a wireless sensor node is completely depleted of its energy. This category of power usage would require that the wireless sensor nodes microprocessor and transmitting and receiving components of the radio are also in their full power, active mode.

3. The power used in the active mode when the wireless sensor node is monitoring, or sensing, the environment and the transmission of the sensor to its transmission node. This category of power usage requires that the wireless sensor nodes microprocessor, radio, and sensor board are in their active, full-power mode.

4. Another category of power usage is that which is used to transmit another sensor nodes reading, not necessarily transmitting its own reading. This category of power usage requires the use of the wireless sensor nodes microprocessor and radio.

5. The last category is the power used in the low-power sleep state; this typically would establish that the wireless sensor nodes microprocessor, radio, and sensor board have low-power, sleep states.

3.2 Routing Protocol

Next, we must include a discussion of routing protocols.

A routing protocol is the implementation of a routing algorithm in software or hardware. A routing protocol uses metrics to determine which path to utilize to transmit a packet across an internetwork. The metrics used by routing protocols include: number of network layer devices along the path (hop count), bandwidth, delay, load, MTU (maximum transmission unit), cost. [TO10]

To further clarify the term metric, a metric in this sense is measure of some property of the network. The routing protocol used in the network simulator with this project is a variation of a shortest path routing algorithm implemented with the following steps:

First, the algorithm checks if the sensor node under consideration is within transmission range of the base node. If this is the case, then the sensor node is able to transmit directly to the base node and does not need any other transmission nodes.

With random placement of sensor nodes, as this simulation assumes, it is possible that a sensor node may not be within transmission range of any other node in the system. So, the second step in the algorithm is to check if there are any nodes that are completely outside the transmission range of all other nodes. For sensor nodes in which this is the case, these nodes are taken out of the system; they will not be part of the coverage or communication system. In the report output, generated at the end of each simulation, the number of nodes that were initially outside the system, and each individual node, are reported.

Once it is known which nodes are able to transmit directly to the base station, and which nodes are outside the transmission range of any other node, and thus eliminated from the system, transmission nodes are established for each sensor node. The algorithm finds the best transmission in the following manner:

1. for each node it considers which nodes are within its transmission range

2. for each node within the originally considered nodes transmission range, it determines the node that is closest to the base node; in this manner the algorithm continually finds the node within its transmission range, but going as far as possible in the direction of the base node

3. all nodes that are still in the network system go through this algorithm to find their transmission node

4. In the course of network operation, if a sensor node expends all of its battery power, the transmission nodes are recomputed so that a sensor node does not try to transmit to a dead sensor node

There are three conditions that will terminate the network operation:

1. When the base node becomes out of transmission range of all other sensor nodes, this may happen as a course of network operation, as nodes become depleted of energy and are dropped from the network, or if the initial placement of the base node places it out of range of the rest of the sensor nodes

2. When there are less than 5% of the original number of sensor nodes left in the network

3. When there is less than 15% of the original total sensing area coverage left because of the depletion of sensor nodes; the original total sensing coverage area is calculated as (original number of nodes) (sensing radius of node)2

3.3 Placement of Sensors

The simulator in this project determines the coordinates of each sensor node, and the base node randomly. This method of placing sensor nodes is consistent with real-life sensor node placement practices.

Chapter 4

4 IMPLEMENTATION OF SIMULATION

4.1 Assumptions

Following are assumptions that were made in the implementation of the network simulator:

the area of surveillance is a rectangular two-dimensional area whose dimensions are known

the surveillance area is on one plane, a flat terrain

each sensor node is placed randomly on the two-dimensional surveillance area and knows its coordinates

each sensor node is powered by two AAA batteries, each of which initially has approximately 1000 mAH of power

4.2 Java Network Simulator

This wireless sensor network simulator was written in the programming language Java. The simulator is comprised of four Java classes: the Main class, the Node class, the NodeFieldFrame class, and the UserInput class. The network simulator has been given a name which is to demonstrate the purpose of the project, Minimize Usage Extend Life, or the MUEL simulator. Each of these classes will be discussed.

The first class, Main.java, is the class that contains the main() method, which is the driver for the whole program. There are several key components to this class that contribute to the overall simulation of wireless sensor network operation. These contributions are:

create an object of the UserInput class that facilitates the user in inputting key data for the simulator

uses a random number generator to randomly determine the coordinates of each sensor node

creates an array that holds data type Node, which facilitates accessing each unique node by the index of the array

establishes each node in a coverage group, based on the users input as to what percentage of the total number of nodes are to be active at any one time

as previously described, implements the routing algorithm that transmits each sensor nodes reading to either its transmission node or the base node

creates an object of NodeFieldFrame that produces a Java window that graphically represents the wireless sensor networks area of surveillance and the location of each sensor node, including the base node

implements a for-loop, which simulates the passage of time; each iteration through the for-loop represents the passage of one minute; in this manner the simulator is able to measure the lifetime of the whole network system

calculates the usage of battery power for each sensor node, based on the sensor nodes time in a given state, the power consumed in the radio transmission of data, the power consumed in the transmission of data, and the power used to establish its location with respect to the base node

provides output to various data files

provides a concise report of key data upon termination of the network

The next component class that is part of the simulator is Node.java. This class describes all of the data and methods that describe the wireless sensor nodes. Some of the more important data of Nodes class are:

the x-coordinate of the wireless sensor node in the rectangular, Cartesian coordinate system

the y-coordinate

a variable transDirect, which is data type Boolean, that indicates whether the particular wireless sensor node is close enough to transmit directly to the base node without the need for an intermediate transmission node

a variable pwr, of data type double, to hold the value of the wireless sensor nodes battery power

a variable state, of data type integer, that holds the value of the wireless sensor nodes state, an integer value from 1 to 5

a variable inRange, of data type Boolean, that indicates whether the wireless sensor node is within transmission range of another node; if this value is false, the distance to any other sensor node is greater than the transmission distance of the wireless sensor node, so the node is taken out of the network system

a variable coverageGroup, of data type integer, that holds the numerical representation of which coverage group the wireless sensor node is in

a variable transNode, which is of data type Node, that is the wireless sensor node to which the given sensor node will transmit to

The methods of Node.java are

markIncompleteRoutes(), which is a method that is called in the main() method of the Main class; this method traces and prints the transmission chain of sensor nodes which ultimately ends at the base node

transmit(), which is recursively called every time a node transmits data to its transmission node, and this method also decrements the power at every node along the way to account for the sensor nodes battery power used in transmission

The next class that is part of the simulator is NodeFieldFrame.java. This class inherits the data and methods of its parent class, Frame.java. An object of this class is created in the main method, and is responsible for producing a Java frame that graphically represents the surveillance area and the location of each sensor node. Additionally, based on the value of the sensor nodes Node objects variable state, the NodeFieldFrame object will color the sensor node in the frame according to if it is still within the system, what state active or sleep it is in, and whats it battery power level is.

The final class to contribute to the simulator is UserInput.java. This class has methods that prompt the user for all of the input associated with the simulator. The inputs that prompt the user to provide are:

The x dimension of the surveillance area

The y dimension of the surveillance area

The initial battery power of each sensor node

The number of sensor nodes in the system

The radio transmission range of the sensor node

The sensing range of the sensor node

The percentage of nodes that are going to be active at any one time; the user may input 100% of the nodes, 50%, 33%, 20%, or 10% of the nodes will be active at any one time.

The principle algorithm followed by the simulator in operating in the wireless sensor network is displayed below.

Figure 3: Main algorithm of MUEL Simulator

Upon completion of entering the required input, the wireless sensor network .simulator commences. The output of the simulator is sent to three different output media: the graphical representation of the surveillance in a Java window; output will be sent to the DOS screen, or console window, this will depend on the environment in which you are running the Java simulator; finally, output is sent to a data file, eventLog.dat, which records key events as they happen in the network simulation.

The java window that presents a graphical representation of the sensor nodes and the surveillance area has some unique features to it. The base node is represented as a circular golden icon, larger than the other sensor node icons. The sensor nodes are also represented as circular icons, about two-thirds the size of the base node icon. These sensor node icons may be presented in one of five colors:

1. A yellow sensor node icon represents a sensor node in a low power sleep state

2. A green sensor node icon represents a sensor node in the active monitoring and transmitting state; the green icons do not normally appear visible because the simulation is proceeding too fast for the short time, one minute, that the sensor node is in the active monitoring state; delays have been implemented to make the green icon, active state sensor node visible; this delay has been commented out because it causes the simulator to take an unreasonable amount of time to complete the simulation.

3. A red sensor node icon represents a sensor node that has less than 50% of its original battery power left

4. A dark gray sensor node icon represents a sensor node that has less than 5% of its original battery power left; in this state the sensor node is considered dead and is taken out of the network system

5. A white sensor node icon represents a sensor node that was not within transmission range of any other sensor node, so it was removed from the network system

The second output format mentioned previously is the DOS screen or output console, depending on what environment the simulator is being run in. Output to this format is:

The Cartesian coordinates of each sensor node in the system

The sensor nodes that are close enough to the base node to transmit directly to the base node

The sensor nodes that are not within transmission range of any other sensor nodes; these nodes therefore will not be able to communicate with any other sensor nodes, or the system, and are therefore taken out of the network system

What coverage group each sensor node is in; if the user selected 100% of the sensor nodes to be used at one time, there will be one coverage group; if the user selected 50% of the sensor nodes to be active at one time, there will be two coverage groups; if the user selected 33% of the sensor nodes to be used at one time, there will be three coverage groups, and so on for 20% and 10% of the wireless sensor nodes being used at one time.

The transmissions chains, which can be thought of otherwise as the sequence of sensor nodes that transmit a sensor nodes reading, which will always end up being transmitted to the base node, N0.

A report on sensor nodes that expend energy and eventually have less than 5% of their original battery power left; the output gives the sensor nodes final power level; the output then reports how many nodes are in direct transmission range to the base node, and the transmission chain for each sensor node still alive in the system; this format for reporting dead sensor nodes is repeated until the system terminates due to loss of coverage, network connectivity, or the base node becomes out of range of other wireless sensor nodes.

A final status on each sensor node in the system, what their final power was still available, and the state of each sensor node at time of network termination

How many nodes were still active

What the total network lifetime was in hours

The third output format is the eventLog.dat file. Data that is sent to this file refers to the following network or sensor node events:

What sensor nodes are out of radio transmission range of the system

The network time a given sensor node transmits its reading

The percentage of the coverage area that was left at time of simulation termination

The number of sensor nodes that were still alive at time of simulation termination

This eventLog.dat file records many thousand events and ultimately ends up being a very large data file. It is usually too large to open with Notepad, but may be opened with any other text editor that is capable of opening large files, for example, Wordpad.

4.3 Power Consumption

In order to understand the means by which power is consumed by the sensor node, a brief discussion of the different states, or modes of operation, of the sensor node must be included. The states that a sensor node may exist in are 1), an active state in which the sensor node is fully powered, listening and transmitting signals; and 2) a sleep state in which the sensor node is reduced to the minimum required to maintain memory and allow it to awake and return to an active state.

The Mica Mote, by Crossbow Technologies, has typical power usage characteristics for wireless sensor nodes. These power usage values for the various components and operational levels will be used in the wireless sensor network simulator, MUEL. These power usage values are given in the following table:

Currents

value

units

Micro Processor (Atmega128L)

current (full operation)

6

ma

current sleep

8

ua

Radio

current in receive

8

ma

current xmit

12

ma

current sleep

2

ua

Logger

write

15

ma

read

4

ma

sleep

2

ua

Sensor Board

current (full operation)

5

ma

current sleep

5

ua

Table 1: Current used in Crossbow MICA2 Mote

(http://www.xbow.com/Support/Support_pdf_files/PowerManagement.xls)

So, the determining factors are the initial power available for the sensor node, and the amount of time the sensor node spends in that state.

4.3.1 Microcontroller

The microcontroller unit on the wireless sensor node is a small computer set in an integrated circuit. Its components would typically consist of a simple central processing unit, CPU, a clock component, the input / output channel connections, and memory. This unit is also where the operating system of the wireless sensor node would be maintained and ran. From the table it can be seen that the microcontroller in its full-power states requires 6 milli-amps, mA, of current, and 8 micro-amps, A, of current.

4.3.2 Sensing Unit

The sensing component of the wireless sensor node is that component which measures or takes the reading of whatever the node is supposed to monitor. From the table, it can be seen that the sensing unit may operate in one of two states: the active sensing state will require 5 mA of current to power it, and the sleep state of the sensing unit will require 5 A of current to power it.

4.3.3 Radio

This is the component that will receive radio messages from other wireless sensor nodes, be they regular nodes or the base node. From the table it can be seen that the radio may operate in two states; active and sleep. In the sleep state, the radio will require 2 A of current to power it; in the active state, the radio will require 8 mA to receive, and 12 mA of current to transmit.

4.4 Coverage

It is necessary to define coverage, and to establish how a wireless sensor node will be able to establish a positive reading, or make a measurement or reading of the parameter it is to be monitoring. In this simulation, it will be assumed that a wireless sensor node will be able to take a reading in a pure circular coverage area, and the intensity of the parameter that is being monitored will behave as for a radio signal, where the strength of the signal varies inversely with the square of the distance from the monitor.

Strength i/d2

Simply stated, the equation above represents the strength of the measurement is inversely proportional to the square of the distance between the wireless sensor node and the distance at which the measurement is taken.

Chapter 5

5 ENHANCEMENT 1

One enhancement that is readily available is to check if there are any nodes in the same coverageGroup that are also within a very close proximity to each other. If this were the case, the two wireless sensor nodes could be paired up and only one of them run at a time, and staying in the sleep state in the off time. This would theoretically prolong the life of the wireless sensor node, and therefore the network system. Examples of pairs of wireless sensor nodes can be seen in the following illustration. It can be seen that nodes N87 and N55, N88 and N135, and nodes N136 and N15 could be paired together. Consider if these pairs of nodes were in the same coverage Group; in an application designed to minimize usage and extend network life, it would certainly make sense to not have the pair of nodes active at the same time.

Figure 4: Display of output window with nodes near each other

This enhancement was implemented in the class Main.java in the method checkDuplicateCoverage(). The first step was to create a method that would check every node against every other wireless sensor node to see if

1. The nodes were in the same coverageGroup

2. To see if the nodes were less than 2 meters apart.

If both of these conditions were true, in the simulation, the nodes Boolean value node.isAPair would be set to true. This is checked in the Main.java file on line #575, and an adjustment to the nodes power supply is made on the next line.

Chapter 6

6 ENHANCEMENT 2

Another enhancement to the algorithm would be to lift the requirement that two wireless sensor nodes be in the same coverage group to form a pair. This would leave the check of two nodes against each other being only are these two nodes within two meters of each other? There is a slight modification to the method checkDuplicateCoverage(), which eliminates the condition that the two nodes being checked against each other are in the same coverage group.

Chapter 7

7 COMPLEXITY ANALYSIS OF ALGORITHM

The main algorithm of this simulation can be written as a function of the form f(n) = O(g(n)). Here, the function g(n) is the algorithm that is simulating our wireless network system, and the variable n represents the number of values that the function will work on; in this case n represents the number of wireless sensor nodes in our system. In the algorithm of the simulation, n, the number of wireless sensors in the network operates on every other wireless sensor node in the following methods: checkDuplicateCoverage(), checkNodesOutsideTransRangeOfEachOther(), and establishTransmitNode().

checkDuplicateCoverage() is the method that implements modifications for Enhancement #1 and Enhancement #2. This method checks every node against every other node for both the conditions: 1) is the node being checked in the same coverage group, and 2) is the node being checked within two meters of the initial node. If both of these conditions are met, the algorithm uses only one of the nodes at a time during an active duty cycle, thus saving energy for those two particular wireless sensor nodes.

In the method checkNodesOutsideTransRangeOfEachOther(), the distance between the node in question and the original node is checked. The algorithm saves the smallest distance between the original node in question, and all of the other nodes in the system. If this minimum distance turns out to be greater than the expected transmission range of the wireless sensor nodes, then this node will be effectively out of range of the whole system.

The third method, establishTransmitNode(), checks every node against every other node to find a node that is within transmission range, and the range between the node being checked and the base node is minimized. This algorithm continually sets the transmission node at the furthest distance from the original node and chooses one that is in the direction of the base node, so that the chain of transmission nodes will ultimately reach the base node.

All of these algorithms are similar to sorting algorithms and are a type of quadratic equation. The order of complexity of these algorithms, using big-O notation, is O(n2).

CHAPTER 8

8 EXPERIMENTAL RESULTS

8.1 Initial Simulation Configuration

The results from several simulations are presented in Table 1. Simulations were run using inputs of 100 meters by 100 meters for the dimensions of the surveillance area, a sensing range of 2 meters, battery power roughly equivalent to two AAA batteries, 2.0 amp-hours. The variables for each simulation were 1) the distance of the transmission range for the wireless sensor nodes, and 2) what percentage of nodes was used during the active cycle. Transmission ranges of 30, 15, 10, and 8 meters were used, and the percentages of nodes used during the active cycle were 100, 50, 33, 20, and 10%.

The key observations made regarding the results are:

Perhaps due to the programming of the simulations, the divergence in the resultant lifetimes of the wireless network was very small, for simulations that had similar parameters: surveillance area dimensions, sensing range, number of nodes

In the second set of simulations in which network life lasted much longer, the divergence of the lifetimes was greater, probably due to the fact that the network lifetime was much greater

There were simulations where the percentage of sensing coverage that was left at the end of the simulation was great, greater than 15%, which was a termination condition; as expected, these simulations terminated when the base node became out of range of the rest of the wireless sensor nodes; also, as expected, this type of simulation termination was more prevalent in simulations with a shorter transmission range, 8 meters or 10 meters

As the percentage of sensor nodes decreased during the active cycle, the extension of the network lifetime was seen to increase by an expected ratio; for example, when 100% of the nodes were used during the active duty cycle, the network lifetime was approximately 1709 hours, regardless of the transmission range of the sensor nodes. ( see figures in Table 1 ) When 50% of the nodes were used during the active duty cycle, the network lifetime was 3378 hours. If there were no overhead power loss, one would expect a network lifetime of 2 1709, or 3418 hours. This is 98% of the expected network lifetime, which is excellent. When 33% of the nodes were used during the active duty cycle, the network lifetime was 5010 hours. If there were no overhead power loss, one would expect 3 1709, or 5127 hours. The lifetime actually seen from the simulator, 5010 hours, is 97.7%. Continuing, when 10% of the nodes are used during the active duty cycle, the network lifetime was 15,462 hours. This is 90% of what would be expected if there were no overhead power loss. Making similar calculations in the second run of simulations, the extension of network life is much less, percentage-wise. For simulations in which 50%, 33%, 20%, and 10% of the nodes were active during the duty cycle, the network lifetimes were 93%, 87%, 77%, and 60%, respectively, of what would be expected if there were no overhead power loss. The cause for the lifetimes to be much less than in the first run of simulations is that the parameters chosen for the second run made the network run much longer, there was therefore much more of the power being used for overhead of the network operation.

Table 2: Network lifetimes, first configuration

Table 3: Network lifetimes, second configuration

Graph 1

Figure 5: Graph of Network Life vs. Number of Subgroups

8.2 Enhancement 1

Fifteen simulations were run in the MUEL wireless network simulator with the following parameters: 100m by 100m surveillance area, 245 wireless sensor nodes, sensing range of 2m, 15m transmission range, and 20% of the nodes active at one time in each coverage group. The results from the simulator with no enhancements and the results with Enhancement #1 are presented in the following table.

Table 4: Network lifetimes with Enhancement #1

The average of the simulations with no enhancement is 35,864.48 hours, and the standard deviation of the values is 1.67115; i.e., in a sample of numbers whose average is around 35,900, there is not much variance in the values.

The average of the simulations with Enhancement #1 is 35,864.92 hours, with a standard deviation of 1.32278; again, there is not much variance in the sample of values for Enhancement #1. However, the difference between the averages from the no enhancement group to the Enhancement #1 group is 0.44 hours. If we consider an average transmission time in the simulation of 0.75 seconds ( a one second transmission time for reporting a reading, and a 0.5 second transmission time for a node to relay a reading ), this would equate to 2112 transmissions.

0.44 hours 0.75 seconds/transmission 60 seconds/minute 60 minutes/hour = 2112 transmissions

So, even though the difference in the overall lifetime of the network with Enhancement #1 is not statistically significant, the enhancement does demonstrate that approximately 2000 more transmissions would be possible with Enhancement #1, as would be expected.

8.3 Enhancement 2

Fifteen simulations were also run in the MUEL simulator with Enhancement #2 having been implemented. The same network parameters were used with Enhancement #2 as with the previous simulations. The results from the simulations are presented in the table below.

Table 5: Network lifetimes with Enhancement #2

Again, it can be seen that the divergence among the results is not great; the standard deviation in the results from the simulations with Enhancement #2 is 0.74. The difference between the average of the simulations with no enhancement and that with Enhancement #2 is 0.85 hours. Using the same values as were used in the calculation for Enhancement #1, this translates into 4080 more transmissions.

0.85 hours 0.75 seconds/transmission 60 seconds/minute 60 minutes/hour = 4080 transmissions

Again, in relation to the overall life of the network in hours, this is not a statistically significant increase in network life, but it does demonstrate an increase of approximately 4000 transmissions in the life of the network, as would be expected.

CHAPTER 9

9 LESSONS LEARNED

There were many lessons learned in this research project. One simple lesson that is learned in beginning programming classes is that the order in which variables are given a value does make a difference when this variable is used in other expressions. This lesson was re-learned in this project.

Another lesson learned was to trust the program when the results that are produced are not what were expected. For example, the results from several simulations that used similar parameters, except transmission range and percentage of nodes used during an active cycle, were uncomfortably similar, leading me to think the simulation somehow was not running correctly. Upon further consideration, when the dimensions of the surveillance area were constant, even with random placement of the nodes, the nodes had a predictable number of transmissions to the base. So, if there was 0.1 hour difference from one simulation to the next, this amount of time would be the equivalent of approximately 500 transmissions, given an average transmission time of 0.75 seconds in the simulation.

Another lesson, or observation, was that the routing algorithm used in the simulation was surprisingly robust. One of the termination conditions was the base node becoming out of range from the rest of the network due to surrounding nodes depleting their energy and being dropped from the network. Only when the base node was on the perimeter of the surveillance area, especially when it was in a corner of the surveillance area, did the base node become out of range of the rest of the network. If the base node was located somewhere in the interior of the surveillance area, the routing algorithm usually found a route for nodes to the base node, and the network would terminate caused by another one of the termination conditions.

Finally, I would also have to include that it is very difficult to simulate every condition experienced by the nodes and network in the real world, and to have the simulator produce results that would be very characteristic of results in the real world.

CHAPTER 10

10 CONCLUSIONS AND FUTURE RESEARCH

The Minimize Usage Extend Life (MUEL) Wireless Network Simulator was developed to simulate network operations for wireless sensor node networks. The simulations produced results that would be expected: for identical network conditions, a network that is using 50% of the nodes during an active duty cycle, compared to a network that is using 100% of the nodes during an active duty cycle, will last approximately twice as long. There will, however, always be overhead power used in the operation of the network, e.g., power used to recompute transmission nodes after one node has depleted its energy and been removed from the network system. As smaller and smaller percentages of nodes are active at one time, the overhead power cost becomes greater and greater, so that while the overall network life is extended, the scale that that life of the network is increased becomes less and less. As demonstrated in the results, the longer the network runs, overhead power costs will become considerable. In the first run of simulations in which 100% of the nodes were active in the duty cycle, when 10% of the nodes were active in the duty cycle, the network lasted 90% of the time if there were no overhead power loss. In the second run of simulations, when 100% of the nodes were active in the duty cycle, the network had a lifetime of approximately 9,274 hours, regardless of the transmission range of the nodes. If there were no overhead power loss, when 10% of the nodes were active during the duty cycle, we would expect network lifetimes of 92,740 hours. What was observed was a network lifetime of approximately 55,900 hours, only 60% of the possible network lifetime. Both of these simulations used 245 nodes, 2 meter sensing range, and 100 meter by 100 meter surveillance area.

Still, this approach to extending wireless sensor node network lifetimes can be of significant benefit to situations where a reduced coverage is acceptable; extending the network life by as much as 900% is possible.

Areas for future research in this area might include assigning the sensor nodes into coverage groups so that when one coverage group is active, the actual coverage of the surveillance area will be more dispersed, instead of just according to the numbering of the nodes. There could also be advances in the overhead power used by the sensor nodes, so that as the networks become bigger and bigger, the actual extension of the network life will be maximized as much as possible.

Bibliography

[AL10] AllAboutBatteries.com. Battery energy storage in various battery sizes. 24 March 2010 http://www.allaboutbatteries.com/Energy-tables.html .

[CH01] Chandrakasan, Anantha and Rex Min, Manish Bhardwaj, Seong-Hwan Cho,. "Low Power Wireless Sensor Networks." The 14th Annual Conference on VLSI Design (VLSID'01) (2001): 205, http://doi.ieeecomputersociety.org/10.110910.1109/ICVD.2001.902661.

[CH04] Chang, Jae-Hwan, Leandros Tassiulas. Maximum Lifetime Routing in Wireless Sensor Networks. 2004. Web. February 21, 2011. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.9402&rep=rep1&type=pdf .

[CH07] Chen, Chao-Lieh, Kuan-Rong Lee, Jung-Hsing Wang, Yau-Hwang Kuo. Energy-proportional routing for Lifetime Extension of Clustering-based Wireless Sensor Networks. International Journal of Pervasive Computing and Communications, 2007, Volume 3, Issue 3, pages 304 321.

[CH08] Chow, Kit-Yee, King-Shan Lui, Edmund Y. Lam. Wireless sensor networks scheduling for full angle coverage. June 17, 2008. http://www.eee.hku.hk/~sennet/pdf/multidimension2009-kychow.pdf .

[CU05] Curren, David. A Survey of Simulation in Sensor Networks. 2005. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.94.2626&rep=rep1&type=pdf .

[DA07] Dagher, Joseph C., Michael W. Marcellin, Mark A. Neifeld. A theory for maximizing the lifetime of sensor networks. 2007. http://citeseer.ist.psu.edu/viewdoc/download?doi=10.1.1.92.3957&rep=rep1&type=pdf .

[DO05] Dong, Qunfeng. Maximizing System Lifetime in Wireless Sensor Networks. 2005. http://www.citeseerx.ist.psu.edu/viewdoc/download/doi/10.1.1.109.6910/rep%3Drep1%26type%3Dpdf&ei=nNtiTYKoB8G4tgfDy7igDA&usg=AFQjCNE4OohuYN5ZazmhlLfMCZF3KafPNw .

[EG05] Egea-Lopez, E., J. Vales-Alonso, S. Martinez-Sala, P. Pavon-Marino, J. Garcia-Harro. "Simulation Tools for Wireless Sensor Networks". Summer Computer Simulation Multiconference (SPECTS 05). Philadelphia, July 2005. http://ait.upct.es/~eegea/pub/spects05.pdf .

[FE02] Feinberg, Eugene A. (editors), Adam Shwartz. Handbook of Markov Decision Processes: Handbook and Applications. Kluwers International Series. 2002. Pg 1-2. Web. http://www.ams.sunysb.edu/~feinberg/MDPHandBook/index.html .

[GA11] GameTheory.net. Pareto Optimal. April 8, 2011. http://www.gametheory.net/dictionary/ParetoOptimal.html .

[GI11] Girod, Lewis, Jeremy ElsonAlberto Cerpa, Thanos Stathopoulos, Nithya Ramanathan, Deborah Estrin. Em*: a Software Environment for Developing and Deploying Wireless Sensor Networks. February 19, 2011. http://www.cs.ucla.edu/~palsberg/sns/GirodElsonCerpaStathopoulosRamanathanEstrin.pdf .

[HE10] He, Tian and Sudha Krishnamurthy, John A. Stankovic, Tarek Abdelsaher, Liqian Luo, Radu Stoleru, Ting Yan, Lin Gu. Energy-Efficient Surveillance System Using Wireless Sensor Networks. 6 June 2004. 26 February 2010 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.126.8285&rep=rep1&type=pdf .

[HU05] Huang, Chi-Fu, Yu-Chee Tseng. "The Coverage Problem in Wireless Sensor Networks." Mobile Networks and Applications (2005): Volume 10, Number 4, pages 510 - 528.

[KE11] Keshav, S. "Overview." Department of Computer Science, Cornell University. Web. 07 Apr. 2011. http://www.cs.cornell.edu/skeshav/real/overview.html .

[KI08] Kim, Joohwan, Xiaojun Lin, Ness B. Shroff, Prasun Sinha. Minimizing Delay and Maximizing Lifetime for Wireless Sensor Networks With Anycast. Proceedings of IEEE INFOCOM 08. February 21, 2011. http://cobweb.ecn.purdue.edu/~linx/paper/ton08-sleep.pdf .

[KO10] Kosar, Rabun, Ilir Bojaxhiu, Ertan Onur, Cem Ersoy. Lifetime extension for surveillance wireless sensor networks with intelligent redeployment. February 21, 2011. http://www.sciencedirect.com/science/article/B6WKB-51S6XH2-3/2/dbadb759d6f9af3671367a2ab449e012 .

[LE10] Lewis, F. L., Wireless Sensor Networks, March 10, 2010, http://arri.uta.edu/acs/networks/WirelessSensorNetChap04.pdf.

[LE11] Levis, Philip, Nelson Lee, Matt Welsh, David Culler. TOSSIM: Accurate and Scalable Simulation of Entire TinyOS Applications. February 19, 2011. http://www.cs.ucla.edu/~palsberg/sns/LevisLeeWelshCuller03.pdf .

[LI11] Liu, Jason, L. Felipe Perrone, David M. Nichol, Michael Liljenstam. Simulation Modeling of Large-Scale Ad-hoc Sensor Networks. February 19, 2011. http://www.cs.ucla.edu/~palsberg/sns/LiuPerroneNicolLiljenstamElliottPearson.pdf .

[LO09] Long, Hengyu, Yongpan Liu, Yiqun Wang, Robert P. Dick, Huazhong Yang. Battery Allocation for Wireless Sensor Network Lifetime Maximization Under Cost Constraints. November, 2009. http://robertdick.org/publications/long09nov.pdf .

[ME01] Meguerdichian, Seapahn, Farinaz Koushar, Miodrag Potkonjak, Mani B. Srivastava. "Coverage Problems in Wireless Ad-Hoc Sensor Networks". IEEE Infocom (2001): Vol. 3 pages 1380-1387, April 2001.

[MU11] Mulligan, Raymond, Habib M. Ammari. Coverage in Wireless Sensor Networks: A Survey. February 21, 2011. http://www.macrothink.org/journal/index.php/npa/article/viewFile/276/332 .

[NS10] "Nsnam - User Information." 12 Feb. 2010. Web. 07 Apr. 2011. http://nsnam.isi.edu/nsnam/index.php/User_Information .

[NS11] Ns-3 Network Simulator, The. Web. 07 Apr. 2011. http://www.nsnam.org/ .

[OS10] Ostaffe, Harry. RF Energy Harvesting Enables Wireless Sensor Networks. 13 October 2009. 28 February, 2010. http://www.sensorsmag.com/sensors-mag/rf-energy-harvesting-enables-wireless-sensor-networks-6175 .

[PE11] Perrone, Luiz Felipe, David M. Nichol. A Scalable Simulator for TinyOS Applications. February 19, 2011. http://www.cs.ucla.edu/~palsberg/sns/PerroneNicol02.pdf .

[PI01] Pister, Kris. SMART DUST, Autonomous Sensing and Communication in a Cubic Millimeter. SMART DUST. 2001. Accessed 14 May 2010. http://robotics.eecs.berkeley.edu/~pister/SmartDust/ .

[PL04] Plett, Gregory Ph.D. Associate Professor, Department of Electrical and Computer Engineering, personal communication, S. Rubey. 21 October 2004.

[PO11] Polley, Jonathan, Dionysys Blazakis, Jonathan McGee, Dan Rusk, John S. Baras. ATEMU: A Fine-grained Sensor Network Simulator. February 19, 2011. http://www.cs.ucla.edu/~palsberg/sns/Polley04.pdf .

[SA08] Sangho, Yi, Hong Min, Yookun Cho, Jiman Hong. "SensorMaker: A Wireless Sensor Network Simulator for Scalable and Fine-Grained Instrumentation. International Conference on Computational Science and Its Applications, (ICCSA 08), April 2008. pg 800 810.

[SC01] Schurgers, Curt and Mani Srivastava. "Energy Efficient Routing in Wireless Sensor Networks." MILCOM'01, Vienna, VA (October 28-31, 2001): 357-361, http://circuit.ucsd.edu/~curts/papers/MILCOM01.pdf.

[SL01] Slijepcevic, Sasa and Miodrag Potkonjak. "Power Efficient Organization of Wireless Sensor Networks." IEEE International Conference on Communications (ICC'01), Helsinki, Finland, June 2001 (2001): 472-476, http://www.cs.ucla.edu/~miodrag/papers/ICC2001.pdf.

[SP03] Springer.com. Energy Scavenging for Wireless Sensor Networks. 1 January 2003. 28 February 2010 http://www.springer.com/engineering/circuits+&+systems/book/978-1-4020-7663-3 .

[SO05] Sobeih, Ahmed, W. Chen, J. C. Hou, L. Kung, N. Li, H.Lim, H. Tyan, H. Zhang, J-Sim: A simulation and emulation environment for wireless sensor networks. In Proc. Annual Simulation Symposium (ANSS 2005), San Diego, CA, pp. 175187, April 2005.

[SR01] Srivastava, Mani B. "SensorSim." Networked & Embedded Systems Laboratory. 22 Oct. 2011. Web. 07 Apr. 2011. http://nesl.ee.ucla.edu/projects/sensorsim/ .

[SU04] Sundresh, Sameer. SENS: A Sensor, Environment and Network Simulator. 2004. Web. April 7, 2011. http://osl.cs.uiuc.edu/sens/ .

[SU11] Sundresh, Sameer, Wooyoung Kim, Gul Agha. SENS: A Sensor, Environment and Network Simulator. February 19, 2011. http://www.cs.ucla.edu/~palsberg/sns/SundreshKimAgha04.pdf .

[TH08] Thai, My T., Feng Wang, David Hongwei, Xiaohua Jia. Coverage Problems in Wireless Sensor Networks: Designs and Analysis. International Journal of Sensor Networks, IJSNET Vol. 3, No. 3, 2008. page 191 200.

[TI05] Titzer, Ben L., Daniel K. Lee, Jens Palsberg. Avrora: Scalable Sensor Network Simulation With Precise Timing. Proceedings of IPSN'05, Fourth International Conference on Information Processing in Sensor Networks, 2005. http://www.cs.ucla.edu/~palsberg/paper/ipsn05.pdf .

[TO10] TopBits.com. Routing Protocols. 24 March 2010 http://www.topbits.com/routing-protocols.html .

[WA03] Wang, Xiaorui, Guoliand Xing, Yuanfang Zhang, Chenyang Lu, Robert Pless, Christopher Gill. "Integrated Coverage and Connectivity Configurat