wireless sensor network coverage

advertisement
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
2011
ii
This 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
iii
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.
iv
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”.
v
ABSTRACT.................................................................................................................................. iii
Acknowledgement ....................................................................................................................... iv
1 INTRODUCTION ....................................................................................................................... 1
1.1Wireless Sensor’s Structure and Operation ........................................................................................ 1
1.2 Research Goal: Demonstrating Advantages of Reducing Coverage ................................................. 3
1.3 Paper Organization ............................................................................................................................. 4
2 RELATED WORK ...................................................................................................................... 6
2.1 Power .................................................................................................................................................. 6
2.2 Recent Developments with Power .................................................................................................... 14
2.3 Coverage .......................................................................................................................................... 15
2.4 Wireless Sensor Network Simulators ............................................................................................... 18
3 PRELIMINARIES ..................................................................................................................... 26
3.1 Battery, Power Consumption & Management .................................................................................. 26
3.2 Routing Protocol ............................................................................................................................... 28
3.3 Placement of Sensors....................................................................................................................... 30
4 IMPLEMENTATION OF SIMULATION ................................................................................ 31
4.1 Assumptions ..................................................................................................................................... 31
4.2 Java Network Simulator .................................................................................................................... 31
4.3 Power Consumption ......................................................................................................................... 38
4.3.1 Microcontroller .......................................................................................................................... 39
4.3.2 Sensing Unit ............................................................................................................................... 40
4.3.3 Radio .......................................................................................................................................... 40
4.4 Coverage .......................................................................................................................................... 40
5 ENHANCEMENT 1 .................................................................................................................. 42
6 ENHANCEMENT 2 .................................................................................................................. 44
vi
7 COMPLEXITY ANALYSIS OF ALGORITHM ...................................................................... 45
8 EXPERIMENTAL RESULTS................................................................................................... 47
8.1 Initial Simulation Configuration ......................................................................................................... 47
8.2 Enhancement 1................................................................................................................................. 51
8.3 Enhancement 2................................................................................................................................. 53
9 LESSONS LEARNED............................................................................................................... 55
10 CONCLUSIONS AND FUTURE RESEARCH ..................................................................... 57
Appendix A .................................................................................................................................. 64
Appendix B .................................................................................................................................. 68
Appendix C .................................................................................................................................. 69
vii
Figures
Figure 1: Berkeley’s SmartDust, Crossbow Technologies MICA2…………………2
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
viii
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
1
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 Sensor’s 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.
2
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:Berkeley’s SmartDust [PI01]
Crossbow’s 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 selforganize 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.
3
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
4
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
5
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.
6
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 DCE’s.
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
7
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
8
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-tomany 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
9
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 NPhard 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
10
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
11
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. MDP’s 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 multiarmed 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.
12
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
13
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
14
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 1890’s 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.
15
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
16
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
17
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 node’s 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 k–covered. 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
18
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
19
“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.
20
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
21
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-2’s 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]
22
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]
23
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 finegrained 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]
24
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 Finegrained 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. ATEMU’s 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]
25
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 instructionby-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]
26
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 node’s 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.
27
[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 node’s battery.
To simulate the power usage in wireless sensor node’s 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
battery’s power. They are:
1. The power used in the initial phase of the network’s life when each wireless
sensor node’s 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 node’s
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
28
would require that the wireless sensor node’s 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 node’s microprocessor, radio, and sensor board are in their active, fullpower mode.
4. Another category of power usage is that which is used to transmit another sensor
node’s reading, not necessarily transmitting its own reading. This category of
power usage requires the use of the wireless sensor node’s 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 node’s 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:
29
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 node’s 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
30
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.
31
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
32
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 user’s 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 node’s 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 network’s 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
node’s 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
33

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
node’s battery power

a variable state, of data type integer, that holds the value of the wireless sensor
node’s 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
34
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 node’s 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 node’s Node object’s
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 what’s 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
35

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
36
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
37
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 node’s 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 node’s final power
38
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
39
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
Micro Processor (Atmega128L)
current (full operation)
6
current sleep
8
Radio
current in receive
8
current xmit
12
current sleep
2
Logger
write
15
read
4
sleep
2
Sensor Board
current (full operation)
5
current sleep
5
units
ma
ua
ma
ma
ua
ma
ma
ua
ma
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
40
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
41
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.
42
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.
43
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 node’s 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 node’s power supply is made on the next line.
44
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
node’s 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.
45
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
46
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).
47
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
48

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%,
49
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
50
Table 3: Network lifetimes, second configuration
Graph 1
51
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.
52
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
53
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;
54
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.
55
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
56
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.
57
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
58
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.
59
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&typ
e=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&typ
e=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%3Dr
ep1%26type%3Dpdf&ei=nNtiTYKoB8G4tgfDy7igDA&usg=AFQjCNE4OohuYN5Z
azmhlLfMCZF3KafPNw .
[EG05] Egea-Lopez, E., J. Vales-Alonso, S. Martinez-Sala, P. Pavon-Marino, J. GarciaHarro. "Simulation Tools for Wireless Sensor Networks". Summer Computer
Simulation Multiconference (SPECTS ’05). Philadelphia, July 2005.
http://ait.upct.es/~eegea/pub/spects05.pdf .
60
[FE02] Feinberg, Eugene A. (editors), Adam Shwartz. “Handbook of Markov Decision
Processes: Handbook and Applications”. Kluwer’s 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/GirodElsonCerpaStathopoulosRamanatha
nEstrin.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&ty
pe=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-51S6XH23/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 .
61
[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.pd
f.
[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/rfenergy-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.
62
[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-76633.
[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. 175–187,
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/routingprotocols.html .
[WA03] Wang, Xiaorui, Guoliand Xing, Yuanfang Zhang, Chenyang Lu, Robert Pless,
Christopher Gill. "Integrated Coverage and Connectivity Configuration in Wireless
Sensor Networks." The First ACM Conference on Embedded Networked Sensor
Systems (SenSys 2003). Los Angeles: ACM, November 2003. pages 28 - 39.
63
[WH80] Whittle, P. “Multi-Armed Bandits and the Gittins Index”. Journal of the Royal
Statistical Society (Series B, Methadological), Vol. 42, No. 2 (1980).
http://www.jstor.org/2984953.
[WI10] Wikipedia.org. Wireless Energy Transfer. 28 February 2010. 1 March 2010
http://en.wikipedia.org/wiki/Wireless_energy_transfer .
[XB10] Xbow.com. MICA2 868, 916 MHz Crossbow Technology. Accessed 14 May
2010. http://www.xbow.com/Products/productdetails.aspx?sid=174.
[XI03] Xiang-Yang Li, Peng-Jun Wan, Ophir Frieder, "Coverage in Wireless Ad Hoc
Sensor Networks," IEEE Transactions on Computers, vol. 52, no. 6, pp. 753-763,
June 2003, doi:10.1109/TC.2003.1204831.
[XI05] Xing, Guoliang, Chenyang Lu, Ying Zhang, Qingfeng Huang, Robert Pless.
“Minimum Power Configuration for Wireless Communication in Sensor
Networks”. 2005. Web. February 21, 2011.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.81.9688&rep=rep1&typ
e=pdf .
[YU07] Yunxia, Chen, Qing Zhao, Vikram Krishnamurthy, Dejan Djonin. “Transmission
Scheduling for Optimizing Sensor Network Lifetime: A Stochastic Shortest Path
Approach”. IEEE Transactions on Signal Processing, Vol. 55, No. 5, May 2007.
page 2294 - 2309 .
64
Appendix A
How to Use MUEL
Minimize Usage – Extend Lifetime
Wireless Sensor Network Simulator
There are many different development environments for the Java
programming language. The most popular development environments are
Eclipse and Borland’s JBuilder. A programmer or developer may also write Java
programs in any text editing environment, but must have the Java Development
Kit installed on their computer to be able to compile and run Java programs. This
instruction will include the basics instructions for installing the Java Development
Kit on their computer; where to install the java files, how to compile and run the
Java program, and the program specific instructions for running the simulator:
1. Where to get the Java Development Kit (JDK)
2. How to download and install the JDK on your computer
3. How to compile and run a Java program
4. Instructions for running the MUEL
1. To run Java programs, the Java Runtime Environment (JRE) must be installed
on the computer. This is included in the download of the JDK. The current JDK
version is 6.0 with update 20. The usual type of JDK is the Java Development Kit
Standard Edition, one will see the abbreviation Java SE. This download is
available here, http://java.sun.com/javase/downloads/index.jsp, and the file size
is approximately 76 MB. JDK is available for Windows, Solaris, and Linux
operating systems, in both the standard 32-bit and the 64-bit versions.
65
2. The JDK will install on your computer with the JDK Installer much the same as
any other application would be installed. Assuming that the file was downloaded
from the website, as opposed to running the installation from the website, one
would double-click the JDK Installer icon after having confirmed that the file was
downloaded correctly from the website. The JDK will be installed on your
computer in the directory C:/Program Files/Java and C:/Program Files/JRE. The
next step for the user is to update the PATH variable so that when compiling or
running a Java program, the user will only need to enter the java or javac
command, and will not need to enter the entire pathname to the JDK and JRE
directories.
3. Before running a Java program, it must be compiled. For example, the command
javac MyProgram.java must be executed to compile the program before the most
current version of MyProgram.java may be run. To run the Java program, the
command java MyProgram.java would be run.
4. Finally, to run the MUEL simulator, the user would need to have all of the files
included in the simulator. This would include: nodegui/NodeFiledFrame.java, in
which nodegui is a folder, and is considered a Java package; also,
nodepkg/Main.java, nodepkg/Node.java, and nodepkg/UserInput.java, in which
nodepkg is a Java package.
Again, these instructions assume that the user is not running the simulator
in another development, such as Borland or Eclipse. In these specific
environments, other files that help to create the project are automatically
generated in the environment. If the user is running the Java program from the
66
command prompt, for example in a Windows environment and the PATH variable
has been updated as described before, and the user’s working directory is the
same as the directory that contains the Main.java program, the user would
execute the program as described above, java Main.java. Following this, the user
would then see the prompts to input the specific values for the simulation they
are interested in. The values that the simulator prompts for are:
1. The X – dimension of the area of surveillance, entered in meters.
2. The Y – dimension of the area of surveillance, entered in meters.
3. The expected transmission range of the wireless sensor nodes, entered in
meters. Typical transmission ranges for wireless sensor nodes range from a few
to 100 meters, depending on the type of node.
4. The battery capacity of the batteries used by the wireless sensor nodes, entered
in amp-hours. Assume that the wireless sensor nodes all use the same brand
and type of batteries. Some typical battery capacities are:
Battery Type
Capacity (mAh) Typical Drain (mA)
D
12000
200
C
6000
100
AA
2000
50
AAA
1000
10
N
650
10
9 Volt
500
15
(http://www.techlib.com/reference/batteries.html)
Note that the unit used in this table list the battery capacity in milli-amp-hours.
The input for the battery capacity is requested in amp-hour units. For
example, the AAA battery unit is listed in the table as 1000 mAh; the input for
67
the simulator for this value would be 1.0, or simply 1.
5. Sensing range of the wireless sensor nodes, entered in meters. It is assumed
that the sensing area of the wireless sensor nodes is a circle, whose radius is the
sensing range of the node.
6. The number of wireless sensor nodes in the network is the next input. This
parameter is typically in the magnitude of 10’s to 100’s. The largest value of this
parameter simulated was 245. More nodes may be used in simulations, how well
the simulator performs with a larger number of nodes depends on the system
running the simulator.
7. The last input by the user for the MUEL simulator is the percentage of nodes
being used at one time in the duty cycle by the wireless network. This is the key
function that allows variation in how few of the nodes will be active at one time.
For example, if the user wanted to use 100% of the sensor nodes for the duty
cycle, the user would enter “100”. If the user wanted to use half, 50%, of the
nodes in the duty cycle, the user would enter “50”, without the quotation marks.
Options for input to this prompt are 100, 50, 33, 20, 10.
68
Appendix B
69
Appendix C
MUEL Simulator Code Commented Out
Throughout the code that comprises the MUEL Simulator, some of the
actual code that comprises the simulator has been commented out. One reason
for this is to shorten the time that it takes to complete one run of the simulator.
For example, assume two AAA batteries are simulated as the power source for
the sensor node, this would provide the sensor node with approximately 2.0 amphours of power. Then, assuming a simulation of 200 wireless sensor nodes, the
time simulation algorithm in the MUEL simulator will perform between 900,000
and 4.4 million iterations, depending on the other parameters entered into the
system. With event logging turned on in the simulator, this simulation could take
one half of an hour to complete, and produce an event log with 6 GB of data. If
this is acceptable and the event log is desired, this may be un-commented out of
the program, as may be any other of the lines of code that have been
commented out.
There are also some lines of code that are applicable for Enhancement #1
and some for Enhancement #2.
Below are listed the sections of code that have been commented out for
expediency purposes:
Main.java
Line 192 – 196: a Thread.sleep() function; originally there to have the program
pause briefly when a node changed status to state 5
Line 198, 203 – 210: creation of a UserInput object and holdScreen() function;
70
originally there to have the program stop until user input when the variable
finalNodes was decremented
Line 259, 260: values used for Set 1 and Set 2 simulations, one of these must
be left in the simulator at all times; all Set 1 values or all Set 2 values must
consistently be turned on together
Line 359, 368: if statement must be turned on for Enhancement #1 and
commented out for Enhancement #2
Line 585 – 589: Thread.sleep() function; this was originally in the simulator to
briefly see the sensor node in the screen display turn to its “green” state 2
condition; without the delay, the green state is never seen, with the delay
the simulation run time is unacceptably long
Line 595 – 598: system.println() function; this code prints transmission events to
eventLog.dat file; with possible millions of events, writing to this file is a
key culprit in slowing execution of the simulation
Line 634 – 635: code that must be turned on to implement function of
Enhancements #1 & #2
Line 676 – 680: thread.sleep() function; a very brief delay in execution of
program when a sensor node runs out of power & transitions to state 4
Line 714 – 718: thread.sleep(); very brief delay after recomputing transmission
routes when a node has “died”
Line 818: println() statement that may be included when running simulator with
Enhancement #1 or #2
Download