You are on page 1of 11

Edge Processing and Enterprise Integration:

Closing the Gap on Deployable Industrial


Sensor Networks
Robert P. Adler, Jonathan Huang, Raymond Kong, Philip Muse, Lama Nachman, Rahul C. Shah,
Chieh-Yih Wan, and Mark Yarvis
Intel Corporation, USA
additional energy savings through true edge processing,
Abstract-The next frontier of sensor networking is providing real-time decimation and filtering, FFT, and
integration: building operational systems that meet business
requirements and integrate with existing business processes. We spike energy computation [3] on the sensing platform.
describe an industrial deployment and the system architecture We describe the implementation of a generic query
that overcomes challenges in energy efficiency, system reliability, capability, which enables an application agnostic
data fidelity, and flexible integration. We evaluate the architecture. Finally, we show that by utilizing an
performance of these deployments and consider various system
enhancements that impact performance. online, XML-based query mechanism, the sensor
network can be customized to specific application
Index Terms- sensor networks, deployments, architecture requirements and also easily integrated as part of
existing business applications and processes.
I. INTRODUCTION We describe and evaluate this architecture in the
While sensor networks may be valuable in a wide context of an industrial deployment that provides
variety of applications in the long term, the industrial predictive maintenance for thrusters and payload pumps
market represents an excellent short term opportunity for onboard an oil tanker. This deployment was evaluated
this technology. Predictive maintenance of industrial side by side with an existing predictive maintenance
machinery is one area in which the return on investment capability, which was based on manual data collection.
of wireless sensing has been demonstrated [1]. The cost We evaluate the performance of this system in terms of
of deploying a wireless sensor network is both lower its maintainability and overall lifetime, and its ability to
than the cost of a wired sensing capability and easily reliably deliver high-quality data. Finally, we evaluate
offset by the decrease in factory downtime (enabled by the impact of various system tradeoffs and optimizations
increased sensing granularity). By decreasing the barrier on system performance.
to entry, wireless sensor networks enable a wider The contributions of the paper are threefold. First, we
applicability of predictive maintenance systems. demonstrate techniques for increasing system lifetime
Prior work has demonstrated the viability of industrial through processing at the edge of the network for certain
sensor networking using a proof of concept deployment applications, enabled by a platform like the Intel Mote 2.
[1]. The goal of that deployment was to validate the Second, we show the advantage of using XML as an
overall network architecture, including reliability, input/output mechanism for sensor networks to easily
deployability, and cost. In addition, it demonstrated that integrate with existing business processes while allowing
by including additional memory and reliable for customizable applications and queries. Finally we
communications in the sensing platform the overall identify key issues needed to make industrial sensor
network lifetime could be increased. networks a reality - system reliability, integration with
In this paper, those results are extended, industry systems, and application-specific edge
demonstrating the practicality of an operational processing.
deployment capable of replacing existing predictive The rest of the paper is organized as follows. Section
maintenance capabilities on a day-to-day basis. Our II describes the application and deployment. Section III
architecture is based on the Intel Mote 2 sensor node [2]. reviews related work, while Section IV describes the
We demonstrate the ability of this platform to provide overall system architecture and data flow. A more
detailed look at some specific system components is
Other names and brands may be claimed as the property of others. presented in Section V. Section VI presents an analytical

1-4244-1268-4/07/$25.00 t2007 IEEE


Thiis full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE SECON 2007proceedings.
620
model that calculates system lifetime, evaluates the previous work, we reported on an oil tanker deployment
performance of specific software components and that demonstrated concept viability [1] and the
provides some results on system reliability. Section VII reliability, cost, and performance advantages of using a
details lessons learned from the deployment experience resource-rich sensing platform. However, the previous
while Section VIII concludes the paper. deployment was merely a proof of concept. That system
did not support business class integration or run-time
II. APPLICATION DESCRIPTION user configurable data acquisition. In addition, the
We have designed, implemented, and evaluated a system had relatively low data rate (3000 data points per
sensor network for predictive maintenance of propulsion measurement), which provided insufficient resolution for
and payload equipment onboard an oil tanker. The diagnostic analysis (1/24th the density of current
deployment consisted of 22 sensor motes and 91 sensors offerings in the handheld market). The deployment
on 21 machines in a multi-level engine room of a large collected about 80% of the expected sensor data, with
oil tanker to facilitate condition-based maintenance [4]. individual nodes delivering anywhere between 30% and
The system was intended to replace the existing manual 90% of their data. In contrast, the current system is fully
collection mechanism, in which people with handheld business integrated, supports complex queries, in-
devices walk to each sensor point to collect data. This network data analysis (edge processing, triggering), and
process required roughly half an hour per machine. consistently collects 96% of requested data.
Historically, collected data was imported into the There have also been a number of outdoor sensor
Enshare Emonitor software package [5], which network deployments that are targeted to environmental
performed trend analysis of the vibration signature and monitoring. One of the first such deployments was on
identified any potential problems. This time-consuming Great Duck Island [7], where 43 nodes collected 36 byte
process was performed about once per month. readings every 70 seconds from Leach Storm Petrel
We replaced the manual data collection process with a nests. In Sonoma, California another network gathered
wireless sensor network, which allows more frequent data from 33 motes in redwood trees every 5 minutes for
data collection (hourly in this deployment) while 44 days [8]. In Zebranet [9], zebras in a nature preserve
maintaining integration with the backend Enshare were monitored via collar-mounted motes, forming a
Emonitor analysis software. Frequent data collections sparse gossip-based communication topology. Other
can greatly increase the probability of detecting faults in successful deployments include environmental
equipment before catastrophic failures occur. While monitoring in the James Reserve in California [10], the
data collections have previously been automated using ExScal deployment [11], as well as fire monitoring in
wired networks [6], the cost of retrofitting the the Bitterroot National Forest in Idaho [12].
environment with wires can be significant. While environmental monitoring systems are viable
In this deployment, each sensor node (mote) collects sensor network applications, their requirements are
data from multiple sensing points per machine. Data rather different from our application. For example,
from each sensing point includes time and frequency typical environmental sensor networks are designed for
domain vibration signals, temperature, RPM, and Spike continuous low (scalar) data rate monitoring (tens of
Energy (gSE). The battery status of each mote is also bytes per node per minute), whereas our application
collected. requires bulk data at relatively infrequent intervals
Multiple engine compartments on the ship were (hundreds of kilobytes per node every hour). Reliable
isolated from each other by water-tight bulkheads. Since data collection is not typically critical in environmental
periodic closure of these bulkheads made RF monitoring since it is possible to compensate by over-
communication virtually impossible, the software must sampling (either in time or space). In our application,
function autonomously and adapt to unpredictable losing even a single packet of data (if not properly
disruptions to network connectivity. In addition, the recovered) could render a given data collection for a
metallic surfaces created a multipath-rich environment. given machine/unit useless. A clear exception to typical
These two factors resulted in an RF-unfriendly environmental monitoring applications is the volcano
environment. monitoring application reported in [13]. This application
required continuous data rates of approximately 300
III. RELATED WORK bytes per second and achieved a data reliability rate
Many researchers have reported experiences with above 95%, albeit in the context of a small network (4
specific sensor networks application deployments. In nodes).
Other researchers have proposed prototype sensor

621
network integration frameworks centered on broad/ 1. Obtain query
parameter 8. Convert to
public access in a green-field technical environment updates ULF and
import
(XML)
[14], [15]. In contrast, our work was a real-world
implementation of a business-critical system that 2. Transport
integrated with business applications in a production 7. Transport
query output data
parameters
environment. We did not have the flexibility to make (via SFB)
(via SFB)
changes to the existing data consumer to support
application-side integration. Further, broad access to this 3. Deliver 6. Generation

I
of output
sensor data is not desirable to the business customer; query
parameters data (XML)
rather, the goal is seamless integration to business 4. Inject 5. Data
systems. queries collection
There have also been a number of proposals on
different approaches to sensor network query
mechanisms. Yao and Gehrke propose mechanisms for Figure 1. A three-tiered network architecture and system data flow.
tasking sensor networks through declarative queries cycle operation. For simplicity, all sensor nodes follow
[16]. TinyDB [17] is an integrated query-based solution the same user-configurable sleep/wake schedule, waking
for generic environmental monitoring applications. only to sense and transmit sensed data. Communication
TinyDB incorporates network routing, database at this layer is via an 802.15.4 network.
querying, node scheduling and data collection and The Intel Mote 2 features an Intel XScaleg processor
aggregation features into its highly database-centric (PXA271), 256 kB of SRAM, 32 MB of SDRAM, 32
query processing framework. It uses a SQL-like query MB of Flash, and an 802.15.4 radio (CC2420). The
language for data acquisition and offers a rich set of processor supports frequency and voltage scaling,
database-centric primitives to support in-network data enabling the application to dynamically adjust its power
processing. In contrast, we propose a query engine that consumption and performance based on its changing
uses a lightweight, but highly flexible query interface needs. We have taken advantage of this feature by
that is optimized for industrial sensing, as discussed in scaling up the frequency during high computation phases
Section V.C. The TinyDB approach is also more suitable and scaling it back down during radio communication.
for scalar data than bulk data, since there is no easy way Sensor nodes are subdivided into groups called
to sequentially schedule queries and data retrieval in the clusters. Each cluster forms an ad hoc DSDV routing
network. For bulk data, this approach would result in tree, rooted by a cluster head that provides the interface
congestion in the network. to Tier 2. Routing decisions are made using an end-to-
IV. SYSTEM OVERVEW end success rate metric, as described in [18]. During
each data acquisition cycle, nodes select a cluster either
Rather than building a highly customized sensor dynamically, based on the quality of available routes to
network, we have created a generic distributed cluster heads [19], or via static pre-assignment. This
architecture that supports a broad class of industrial routing structure allows data from sensors (which make
monitoring and sensing applications. Key requirements up the bulk of traffic) to efficiently and reliably reach the
of this system include low cost, low upkeep and cluster head, routing around any obstructions or low
maintenance, easy integration with existing enterprise quality links. Flooding is used for communication from
applications, and highly flexible configuration. cluster heads into the network. Each cluster operates on
A. System Architecture an orthogonal communication channel (a different radio
Our network architecture is hierarchical, with three frequency), allowing communication in each cluster to
logical layers (Figure 1). The lowest layer, Tier 1, proceed in parallel, without contention from other
consists of Intel Mote 2 sensor nodes that interface with clusters. Communication at this tier utilizes a data
the physical world. Sensor nodes are responsible for representation, data transport, and query and control
autonomous data acquisition and the forwarding of capability that is optimized for low bandwidth and high
acquired data to nodes in Tier 2. To maintain low cost packet loss rates.
and power efficiency, nodes at this layer have no long The middle layer, Tier 2, consists of the cluster heads
term storage and limited radio bandwidth and battery from Tier 1. Each cluster head leads autonomous data
capacity. TinyOS was chosen as the software acquisition for a cluster and provides a modest amount
framework for this layer, enabling extremely low duty of persistent storage (a flash memory card) for incoming

622
data. Each cluster head is composed of a line-powered shown in Figure 1. Queries are configured using a GUI
Stargate embedded PC platform [20], running Linux, which runs in the Enterprise network. The GUI creates
coupled via a UART interface to an Intel Mote 2, an XML representation of queries and other network
running TinyOS. The Intel Mote 2 provides the configuration parameters (described in Section V.A),
802.15.4 radio for communication with sensor nodes. which is then pushed to all the cluster heads using a file-
The network stack is split between the Stargate and the oriented disconnection tolerant transport called the
Intel Mote 2 to maximize reuse of TinyOS software Secure File Bridge (SFB).
components, primarily MAC, network, and query Once the input XML reaches a given cluster head, it is
components. serialized into a binary format and stored in a database
Each cluster head controls the formation of sensor for transmission to cluster nodes. This compact
node clusters, directs the sleep/wake cycle of the cluster, representation is used in the lowest layer of the network
initiates sensing on each sensor node in turn by injecting architecture for energy, communication, and storage
queries, and provides persistent storage for resulting efficiency.
sensor data. To provide fault tolerance and allow for Each cluster head is responsible for querying and
periodic disconnection (as might occur when the gathering data from the sensor nodes in a given cluster
watertight doors of a ship are closed), a disconnection during each data collection cycle. At the beginning of
tolerant transport over an IP network (over Ethernet or each data collection cycle, nodes form clusters around
802.11) is used for communication between cluster the cluster heads based on an end-to-end success rate
heads and the top tier of the network. When the metric [18]. During the cluster formation process, all
communication channel is available, cached sensor data nodes in the network operate on a default radio channel
is transmitted to, and configuration updates are received which is statically defined when the network is
from, the top tier. Devices at this tier receive instructions provisioned. Once the clusters are formed, however,
in an XML format that describes the sensing task cluster members switch to a cluster-specific radio
required and export an XML representation of the channel. The cluster formation process is described in
requested data to applications. XML was chosen for detail in Section V.B.
ease of integration with existing enterprise applications. After the channel change, each cluster head
The top layer, Tier 3, provides a standards-based and individually queries each node in its cluster, sending it
IP addressable interface to the enterprise. This tier also the relevant query parameters and gathering the sensor
provides the management and diagnostic interface to the data from the node. Details of the query protocol are
sensor network. Finally, this tier provides long term described in Section V.C. The resulting data is converted
archival storage (typically hard disk based) for data into an XML format at the cluster head and cached for
received from the sensor network. transmission to the enterprise network. When
The three-tiered architecture described above allows connectivity allows, the XML data files are pushed to
the sensor network to balance several competing goals. the Enshare server using the SFB disconnection tolerant
The top tier provides a persistent interface to the transport.
enterprise network, while still allowing the second tier to After all nodes in a cluster are queried, the cluster
be disconnection tolerant and the lower tier to conserve head notifies the cluster of the time designated for the
power much of the time. In addition, the top tier next data collection, after which all the sensor nodes go
provides standards compliance (XML data structure, and to sleep. When the next collection cycle occurs, sensor
IP communication), while hiding the power-optimized nodes wake up and, using the default communication
protocols and data formats used in the lower tiers. channel, begin the process of cluster formation again.
Finally, the storage capacity of individual nodes grows
from the bottom tier to the top, allowing a balance V. ARCHITECTURAL DETAILS
between reliability, cost and energy constraints.
In the above architecture, instructions to the sensor A. Integration with External Systems
network are simply sensing parameters, abstracting away Sensor networks, particularly those intended for
the specifics of the application. This approach industrial applications, should have an interface that fits
minimizes the amount of custom software and into existing business processes. This is particularly true
preprocessing needed within the sensor network itself. for sensor networks that are replacing an existing
technology or process. In our particular deployment, it
B. Data Flow was important to easily integrate with the customer's
A high level view of data flow through the system is existing commercial off-the-shelf (COTS) industrial

623
type of sensing to perform (e.g., temperature, vibration),
Gateway
Cluster Head wD
----
the post processing functions required, and calibration
and scaling parameters. A given sensing task can also
specify that multiple measurements should be
monitoring,tool z [5]. C
Enshare Emonitor1gRggg1CwI
.>$,$,$,$,
S to
performed, and an average result returned. Multiple
NodeBB X" Sf_ X1

sensing tasks form a query group. One measurement


Figure 4. The phases of cluster formation and data acquisition. within a query group can be configured to be a trigger.
Subsequent measurements are skipped if the trigger
monitoring tool Enshare Emonitor [5]. Changes to
value is not reached. For example, vibration
Enshare were not possible. Our integration design
measurements can be skipped if a motor's shaft is not
focused on the following requirements to allow broad
spinning (and thus the motor is not operating).
adoption with minimal overhead: require no changes to Individual sensing tasks within a query group can be
the existing production environment, maintain an open
performed simultaneously, allowing values to be
architecture for easy COTS and custom-application correlated in time. Finally, since many sensing tasks use
integration, and leverage existing standards and data similar parameters, the input XML also allows reusable
formats. Our solution implements an XML interface to sets of query parameters to be defined. In summary, a
the sensor network for both input and output. The
query is a set of generic instructions for controlling a
interface is application independent, and could be
sensor driver and setting input parameters.
applied to a wide variety of different sensing tasks. The output XML format provides a similar generic
Figure 2 shows a simplified example of the XML format for representing the resulting output data from a
input format. At a high-level the input XML provides sensor node. Figure 3 shows a simplified example of an
the settings for each active cluster head and a list of XML output record. The XML output specifies one or
queries to be performed by specific sensor nodes. The more output values, as well as metadata that describes
cluster specification identifies and names each cluster the sensing context. The metadata includes the identity
head in the network and controls the collection of the sensor that produced the data, the query that
frequency, operating channel, and other cluster-centric triggered the measurement, the unit of measurement, and
parameters. For each node, the input XML specifies other attributes of the output data. As required, this
both a logical and physical address of the node (allowing
generic output XML format can then be converted into a
physical replacements when failures occur), and the
specific input format for a target application. In our
sensing task that the node should perform, in the form of particular application, we converted the XML output
queries. In addition, the node specification can provide into a proprietary input format for Enshare Emonitor.
default values to be used in queries and enable or disable
node health monitoring. B. Cluster Formation
Each query is made up of one or more sensing tasks. As described in Section IV, during each data
Each sensing task specifies the channel to be sensed, the collection cycle, sensor nodes form clusters that operate
independently to deliver requested data to a cluster head.
The goal of clustering is to allow each sensor node to
find a high-quality route to a cluster head and for each
node to participate in sensing exactly once per cycle.
Cluster formation follows the phases shown in Figure 4.

>1C

Figure 2. Example Input XML Figure 3. Example output XML

624
All cluster heads and sensor nodes begin cluster
formation at the same point in time across the entire CIompact query structure
network. The cluster head reads the configuration stored Ipe enci laue
in persistent storage. If a radio channel has been
assigned to a given cluster head, that cluster head begins
sending DSDV route updates to the sensor nodes. Per
the DSDV protocol, sensor nodes rebroadcast route Params string
updates whenever they choose a new route. Route
selection is based on an end-to-end routing metric that
optimizes the packet delivery rate. Because route
updates are being broadcast from all cluster heads at the Figure 5. Packing and unpacking a query.
same time, all sensor nodes are able to select the lowest
cost route to reach any cluster head. At this point, each format) of a few hundred bytes in length can be packed
sensor node thus knows the cluster to which it belongs. into a binary string of less than 50 bytes. This approach
Each cluster consists of a tree of sensor nodes, rooted at greatly reduces the size of the query messages, reducing
a cluster head. communication overhead and thus increasing the
Once all nodes have had an opportunity to select a operational lifetime of battery-powered sensor nodes.
cluster, the channel change phase begins, in which a During each collection cycle, a query engine running
beacon sent by the cluster head instructs all cluster on the cluster head accesses the query parameter
members to switch to the channel assigned to the cluster database, and for each cluster member identifies the
head in the configuration. This message could be types of queries required, schedules query transmission,
integrated with routing messages, but for simplicity a serializes the queries into a compact binary format, and
separate message is used. reliably delivers queries with appropriate parameters.
At this point, all sensor nodes have a route to the The query mechanism uses a reliable handshake to
cluster head and are operating in the designated channel. transmit queries and receive data from each node. The
However, the cluster heads do not know which sensor cluster head queries one node at a time. Following each
nodes have chosen this cluster. During cluster successful data capture according to the specified query
identification, each node sends a traceroute message parameters, the data is immediately transmitted to the
along the routing tree to the cluster head. Each node cluster head via a reliable bulk transport. This process
along the route appends its own identity to this message. ensures a congestion-free data transmission environment
When received by the cluster head, these messages for bulk data retrieval.
identify the membership and topology of the cluster. Unlike TinyDB, our query mechanism is acquisition-
The cluster head uses this information to send specific centric rather than database-centric. Instead of
queries sequentially to each node in the cluster. After specifying queries in a generic SQL-like language, as in
the querylresponse phase, the cluster is instructed to TinyDB, our queries include a set of well defined
return to the default operating channel, go to sleep, and parameters (Figure 5) that configure the sensor hardware
wake at a future time for the next cluster formation. for data acquisition on the sensor node. Our query
C. Query Mechanism engine is lightweight but yet generic enough to support a
broad class of industrial sensing applications.
The query mechanism is driven by the cluster head The generic nature of the query language is enabled by
during each data collection cycle. It serializes complex a generic sensor driver interface. This interface abstracts
query parameters specified in the input XML' and the sampling parameters (e.g., sampling rate, number of
reliably polls each sensor in the cluster. The query samples, trigger source, target of triggers, trigger logic,
parameters are encoded and packed into a compact etc) from the low level implementation. The query
binary string consist of multiple segments. Each processor on the sensor node unpacks the query
segment is a triplet [type, length, value] that encodes a parameters into a well-defined data structure (Figure 5)
query parameter as shown in Figure 5. Using this and passes the structure to the sensor driver through this
encoding method, complex query specification (in XML interface. Post-processing functions can be specified by
the calling application (e.g., perform a 1024-point FFT
Note that not all parameters specified in the input XML go into the on the acquired data). By using different parameters with
network. For example, in Figure 2, the parameters targeted for cluster head the same physical channel, multiple sensors of different
configuration, such as "CollectionPeriod, CollectionPeriodUnit,
OperatingChanner' stay at the cluster head. types can be overloaded on top of a specific physical

625
sensor channel. By specifying multiple channels in the Orphan Node:
Discovery Time Node is associated with the net ork
same query, multiple data channels can be captured Awake
simultaneously. Finally, a flexible notion of triggering is
provided, similar to that of an oscilloscope. Sleeping *
Wake
D. Low Power Network Association Time

In our architecture, sensor nodes sleep and wake Network:


together. However, a new node joining the network Awake

(called an orphan node) would not know the sleep/wake Sleeping


cycles of the network until it participates in one cycle of Discovery Time Querying and data
collection
cluster formation and data collection. A node is
typically an orphan when it is newly installed or when its Figure 6. A timing diagram for low-power network association.
batteries are changed. A low power network association processor is in deep sleep, and the radio and sensor
algorithm allows orphan nodes to align with the network board turned off
are = 0.548 mA). During sensor
sleep/wake cycles while conserving their energy, warm up, the analog portions of the sensor board, the
compared to the simple approach of staying awake till processor (in 13 MHz mode) and radio are all on ('warmup
the next data collection cycle. = 150.2 mA). In the data collection mode, the analog
As shown in Figure 6, an orphan node duty cycles as it and digital portions of the sensor board are on, the radio
searches for a network. The duty cycle (on + off) period is also on, and the processor is bumped up to 104 MHz
is chosen so that it is impossible for an orphan node to to satisfy the high computing demands of our data
sleep through a cluster formation process. At the same processing algorithms (Icollection 220.9 mA).
time, the "on" time is the minimum time required for the Collectively, the sensor warm-up and data collection
orphan node to recognize that a cluster formation is in modes are called the active mode, since the node is
process, which would stop its duty cycling. actively collecting data, and the average current
A second feature is that cluster heads which are line consumption is calculated by taking into account the
powered transmit periodic messages while the network current consumption and time spent in these two modes
is sleeping. These messages indicate the time remaining (Iactive = 157.14 mA). In the data transfer or passive
until the next network discovery period. Thus any mode, the sensor board is off while the processor
orphan node that is within radio range of a cluster head (running at 13 MHz) and radio are on (Ipu=ve 57.9
can immediately align with the network sleep/wake mA). Note that for simplicity, the data transfer mode is
cycle. Note that this only benefits nodes that are within assumed when the mote is either routing data for other
one hop of a cluster head; however, those nodes were a nodes or simply waiting for other nodes to finish
substantial portion of the network in our deployment. transferring data. Hence the average current
consumption of a node is given by,
VI. SYSTEM PERFORMANCE
A. Analytical Model I Tsleep Isleep +Tactive iactive +Tpasive passive
When designing the system, we wanted to estimate the avg T T +T (1)
effect of various system parameters on energy 1sleep +Tactive passive

consumption and battery life. To achieve this goal, we


built an analytical model that estimates battery life and Next, we estimated the time spent in each mode
system performance. This model was needed for two during the collection cycle (T=1 hour). The sensor
reasons. First, we wanted to enable the customer to make warm-up mode was a system parameter dictated by the
informed tradeoffs when configuring the system sensor board and the type of sensor (Twarm=p 6.5 sec.).
parameters (e.g. battery replacement frequency versus To estimate the time spent in the data collection mode,
collection frequency). Second, we wanted to get a better we picked typical sampling parameters and data
insight into the inefficiencies of the system and make processing requirements provided by the customer. We
system level optimizations in the final phases of the estimated the time spent in the data transfer mode using
development. the average sustained network data rate. Since the
We divided the application into multiple operating average rate is clearly dependent on network topology,
modes and measured the average power consumed by we averaged the data rate from several configurations
the application in each mode. In sleep mode the (measured to be 4 kbps). In the case of the 10 node

626
cluster (Nm=otes10), with 5 sensors per node (Nsensors=5), machinery with varying operating speeds, thus forcing
the total active time (Tactive) by this method was the data acquisition system to support a wide variety of
calculated to be 168 seconds while the passive time sampling rates. The maximum sampling rate of 100 kHz
(Tpassive) was 1581 seconds. Finally, we measured the was dictated by the spike energy (gSE) calculation,
network formation time (Tnetform = 65 sec.). which demodulates resonant frequencies in the 10's of
kHz range. While it is possible to provide a variable
sampling rate in either software or hardware, supporting
Tactive = Nsensors (Twarmup + Tcollection) (2) a wide range of sampling rates (along with all the
corresponding filters) in hardware significantly increases
Tpassiv = (Nm'otes-1) Tctive+ntoter lVensors lansfe,Tiettorn (3) system complexity. Instead, our implementation uses
e
_forlt~~~~e~r~trn~e hardware with a fixed sampling rate (at the maximum
required: 100 KHz), with down-sampling and
Tileep= T-(-noteN Tactive+Nmotes Nsensors Ttransfi+etToret (4)
decimation filtering performed in software when needed.
It is important that the decimation (i.e. reducing
Using the above values and the battery capacity sampling rate) must be preceded by an anti-aliasing filter
(16000 mAh), the model was validated by performing in order to satisfy the Nyquist criteria [21]. The anti-
multiple runs in different environments. In fact, the on aliasing filters are designed to have 0.01 dB passband
board ship data demonstrated that after 15 days of ripples, 80 dB stopband attenuation, and passband width
operation, the battery voltage had dropped from 4.4V to of 0.4 times the target sampling frequency.
3.8V, which is very close to the 3.75V value predicted A typical example is shown in Table I for a machine
by the model. The duration of a collection cycle is with anfiiax (maximum frequency span) of 1 kHz. In our
clearly constrained by the total active time as a lower example, a 1600 line FFT measurement has been
bound. If the application requires a collection cycle requested, with magnitude spectrum averaged over four
smaller than Tactive, some of the parameters mentioned separate time frames. The first column assumes that the
above will need to be tweaked to obtain a shorter Tactive raw data is being captured at the node and transferred to
period. the backend, where it is processed. In the second
B. Effect ofEdge Processing column, the down-sampling and filtering are performed
in the sensor node. In this case, transmitted data was
One of the differentiating features of this system is its reduced by 39x, at the cost of less than 2 additional
edge processing capability. The Intel Mote2 platform seconds of processing time. It results in a 27x reduction
with its Intel XScaleg processor has high energy in energy consumption. A further reduction in energy
efficiency for computationally intensive applications. consumption is obtained by performing the FFT analysis
When considering energy consumption, it is important to and averaging on the sensor node. This reduced the
evaluate not only the power consumption of the amount of data transmitted (particularly through
processor, but also the amount of time it takes to averaging across multiple samples), while increasing
perform a certain task. The actual energy consumed is processing time by less than one second. The third
the product of the two. The tradeoff between edge data column shows 250x reduction in data transmission and
processing (at the point of sensing) and transmission of 48x reduction in energy consumption compared to not
raw data to the backend for processing depends on doing processing at the edge.
energy consumption, latency constraints, and data Note that we made an optimistic assumption of data
sharing needs. In the case of this application, the data
from different machines do not need to be correlated, TABLE I: ENERGY EFFICIENCY OF DATA PROCESSING AT TUE EDGE
and there is no tight latency constraint. Hence, the main
issue in this implementation was one of energy Backend Edge Down- Edge Down-
Down- sampling sampling + FFT
optimization. We chose the edge processing approach sampling
because it allows the amount of data flowing through the Final Sampling
Rate (KH-z)
100 2.56 2.56
system to be reduced considerably, while adding Bytes Transmitted 1280 32.768 5.12
minimal compute cycles to support data reduction, (kB)
Data Transfer 204.8 5.2 0.8
resulting in a significant total energy reduction. The Time (sec)
resulting energy savings is a function of the energy Data Processing 0 1.76 2.48
efficiency of both the radio and the processor. Time (sec)
In this application, we needed to monitor different Total Energy (mJ) L 38011 1424 J 787

627
transmission throughput (50 kbps). Much greater energy measurements per channel (velocity and Spike Energy).
savings from on-node processing is expected in more The customer was interested in collection cycles
realistic scenarios. between once per day and once per hour. In the case of
Energy efficient signal processing was a key criterion a single collection per day, the 3 D-batteries will last for
in processor selection. The Wireless MMXTM (WMMX) 354 days, due to a low duty cycle of 2%, resulting in an
instructions of the PXA27 1 processor proved to be of average current of 1.9 mA. In this case, the average
great importance in energy efficiency of the power consumption is highly influenced by the sleep
implementation. In order to keep memory consumption current (0.5 mA). This effect can be seen by examining
within the limits of internal SRAM (external RAM tends the difference between the actual battery life plot and the
to be much more power hungry), the decimation filtering battery life plot assuming the sleep current goes to 0.
must be performed in real time, without loss of samples. However if we consider the case of 24 collections per
Furthermore, it is desirable to meet this real time day, the duty cycle rises to 49%, resulting in an average
requirement with as low a CPU clock frequency as current of 33 mA. In this case, the power consumption
possible to minimize power. Figure 7 evaluates two is dominated by the active current.
different implementations of the same multi-stage D. Effect of Low Power Network Association
decimation algorithm: 1) a C implementation with
object code generated by GCC and 2) a hand-optimized To understand the impact of low power network
WMMX implementation. The difference between these association on overall performance, first consider the
two implementations is about an order of magnitude in duty cycling of orphan nodes. If the network wakes
favor of WMMX. While part of the difference is due to every T seconds for data collection, and new nodes can
hand-coded assembly optimizations, a large part is due join at any time, the average wait by an orphan is T/2. If
to the WMMX vector multiply-and-accumulate the time an orphan node remains awake to check for
operation which performs four 1 6x16 multiplications network formation is Tdc,awake and the time it sleeps is
and sums the results in a single cycle, greatly Tdc,sleep, the energy saved by duty cycling is given by
accelerating the filtering operation. The performance of
the WMMX implementation enabled real time E I- Ppassive 0 T Tdc,awake
computation at the lowest clock speeds of 13 MHz, savings-2 + (5)
while the C implementation would require 104 MHz.
dc,awake dc,sleep)
C. Effect of Collection Frequency For a cluster of 10 nodes and a data collection period
The typical collection frequency for predictive of 24 hours, duty cycling increases network lifetime by
maintenance varies from a few collections per day to one 2.2%, while the gain in lifetime if collections are weekly
collection per week. We designed our system to allow is 13.388%. The second power saving mechanism is the
dynamic collection frequency adjustment. periodic broadcast of sleep messages by the cluster head
Figure 8 shows the effect of the collection frequency nodes. Since any node that is within radio range of a
on the battery life for a typical cluster configuration of cluster head can immediately synchronize with the
10 nodes, 5 channels per node, and two vibration network, the energy savings in this case would be
120

0 100
a)
0
U)
en

80 600
Q EC
en 60 500
L- * WM MX
Battery Life
0 400
40
0~
._
realtime > 300
20 deadline Battery Life as
13 MHz .) 200 sleep current -> 0
0
z e o0 '0
0,' zoo/Us m
loo
EC 89.4 83.5 51.6 50.2 32.9 41.8 28.9 26.6
0
IMWMMX 10.9 5.9 5.2 4.1 3 3.8 2.9 2.4 1 3 6 9 12 24
Decimation factor Number of Daily Collections
Figure 7. C versus WMMX implementations Figure 8. Collection frequency vs. battery life for a 10-node cluster

628
unresponsive due to unknown reasons at random time.
1 In those rare cases, the failed sensor nodes would miss
savings 2 passive (8) queries. However, a watchdog timer would later reset
The result is an increase of 4.6% in the lifetime for a the node and automatically restore it to normal
cluster of 10 motes collecting data every 24 hours and operation.
30.4% for a weekly collection period.
VII. LESSONS LEARNED
E. Evaluation of System Reliability
Our system performance evaluation uncovered a few
The reliability of the system was measured in detail in shortcomings of the design and identified some potential
a testbed environment that approximated the oil tanker solutions. We discuss briefly some of these results
environment over 8 weeks of continuous operation. The below.
testbed consisted of 10 sensor nodes deployed in three The query mechanism described above tightly couples
clusters in an industrial space that provided chilled water sensing and data delivery to a query. While it is
and other environmental support for a large office beneficial to perform bulk data transfers sequentially to
building. The steel-and concrete construction and large reduce the contention for the RF channel, sensing
machinery provided a close approximation to the (sensor warm-up and data acquisition) can clearly occur
deployment environment. in parallel across all nodes within the system. This
Depending on the machine it was attached to, each of approach could reduce the length of a collection cycle,
the 10 sensor nodes performed either 17 or 21 data hence reducing the total energy consumption
acquisitions every 90 minutes. The amount of data to be significantly, particularly in large clusters. A simple
collected from each mote was either 78.3 kB or 97.9 kB. approach would be to perform two passes across the
Figure 9 shows a histogram of successful data nodes in each cluster. In the first pass, queries would be
collections for each node over the 8 week test. A delivered, and in the second pass, results would be
successful collection was defined as a cycle in which all gathered. We estimate that for the oil tanker
acquisitions for a sensor node were completed and deployment, this would increase the lifetime from 20.5
successfully transferred. In Figure 9 the average data days to 61 days, an increase of approximately 197%.
collection rate was 95.6%. System reliability can also be A second shortcoming is the simple sleep mechanism
evaluated by the collection reliability factor which is the that we implemented in this application, which requires
reliability with which we can expect a single acquisition all nodes in the cluster to be awake for the entire
to complete. The collection reliability factor for the collection cycle. As the cluster size grows, nodes have
testbed over the 8 week test was measured to be 98.40%. to wait longer for other nodes to finish, hence increasing
We identified two major issues that contributed to the the passive time and reducing the opportunity for nodes
failure of an acquisition or data collection. First, the poor to return to the lowest energy mode (sleep mode). Figure
radio communication channel, which was time-varying, 10 shows the energy spent in the three phases as a
sometimes caused specific nodes to fail to associate with function of the number of nodes within the cluster
the cluster head, thus missing a query cycle. (single collection per day case). Clearly the passive
Furthermore, a very poor communication channel could energy grows considerably with the cluster size.
cause the reliable bulk transport protocol to fail when the Implementing a more sophisticated sleep mechanism
maximum number of retransmissions was exceeded. could recover some of this passive energy. However,
Second, on rare occasions, sensor nodes became because some nodes need to be awake to serve as
100.00%
98.00% 200000
96.00% Mean =956%
94.00% ) 150000 Sleep Mode
E
92.00% Passive Mode
> 100000
90.00%
88.00% Active Mode
50000
86.00%
84.00% 0
nl n3 n5
n7 n9
Configured Mote 10 8 6 4 2
(nl-nlO) Number of nodes in a cluster
Figure 9. Histogram of the percentage of successful data collection cycles
for each mote Figure 10. Effect of cluster size on energy consumption

629
routers, the potential gain may be limited. Proceedings ofthe SecondACM Conference on Embedded Networked
Sensor Systems (SenSys '04), Baltimore, MD, November 2004.
[8] G. Tolle, et al., "A Macroscope in the Redwoods," Proc. of the 3rd
VIII. CONCLUSION International Conference on Embedded Networked Sensor Systems,
(SenSys'05), San Diego, CA, Nov. 2005.
This paper described the development and deployment [9] T. Liu, C. Sadler, P. Zhang, and M. Martonosi, "Implementing Software
of an operational sensor network for predictive on Resource-Constrained Mobile Sensors: Experiences with Impala and
ZebraNet," Proc. ofthe Second International Conference on Mobile
maintenance of equipments onboard an oil tanker. The Systems, Applications and Services, Boston, MA, June 2004.
system used XML for flexible input and output, enabling [10] R. Szewczyk, E. Osterweil, J. Polastre, M. Hamilton, A. Mainwaring,
and D. Estrin, "Habitat Monitoring with Sensor Networks,"
easy integration into existing business processes and Communications of the ACM, Vol. 47, No. 6, June 2004.
providing an application agnostic way to configure the [11] A. Arora, et al., "Exscal: Elements of an Extreme Scale Wireless Sensor
sensor devices. A model was presented to compute the Network," Proceedings of the 11th IEEE International Conference on
Embedded and Real-Time Computing Systems and Applications (RTCSA
lifetime of the system, which was also used to evaluate 2005), Hong Kong, August 2005.
the performance tradeoffs of different system features [12] C. Hartung, C. Seielstad, S. Holbrook, and R. Han, "FireWxNet: A
Multi-Tiered Portable Wireless System for Monitoring Weather
and to aid the customer in making informed system Conditions in Wildland Fire Environments," Proceedings of the Fourth
configuration choices. The paper also demonstrated the International Conference on Mobile Systems, Applications, and Services
(MobiSys 2006), Uppsala Sweden, June 2006.
energy advantage of features such as edge processing [13] G. Werner-Allen, J. Johnson, M. Ruiz, O. Marcillo, J. Lees, and M.
and low power network association, leading to Welsh, "Monitoring volcanic eruptions with a wireless sensor network",
In Proc. EWSN, Jan. 2005.
substantially increased network lifetime. [14] J. Shneidman, P. Pietzuch, J. Ledlie, M. Roussopoulos, M. Seltzer, M.
Welsh, "Hourglass: An Infrastructure for Connecting Sensor Networks
REFERENCES and Applications," Harvard Technical Report TR-21-04.
[15] P. Gibbons, B. Karp, Y. Ke, S. Nath and S. Seshan. IrisNet: An
[1] L. Krishnamurthy, et al., "Design and Deployment of Industrial Sensor Architecture for a Worldwide Sensor Web. Pervasive Computing, Oct-
Networks: Experiences from a Semiconductor Plant and the North Sea," Dec 2003.
Proc. of the 3rd International Conference on Embedded Networked [16] Y. Yong and J. E. Gehrke, "The Cougar Approach to In-Network Query
Sensor Systems (SenSys), Nov. 2005. Processing in Sensor Networks," Sigmod Record, Volume 31, Number
[2] R. Adler, et al., "Demo Abstract: Intel Mote 2: An Advanced Platform 3, September 2002.
for Demanding Sensor Network Applications," Proceedings of the 3rd [17] S. Madden, M. Franklin, J. Hellerstein, and W. Hong, "TinyDB: An
International Conference on Embedded Networked Sensor Systems, Acquisitional Query Processing System for Sensor Networks," ACM
SenSys'05, San Diego, CA, Nov. 2005. Transactions on Database Systems, Vol. 30, No. 1, March 2005, pp 122-
[3] M. Xu, "Spike EnergyT Measurement and Case Histories," ENTEK 173.
IRD International Corporation Technical Report, Online: [18] M.D. Yarvis, W.S. Conner, L. Krishnamurthy, J. Chhabra, B. Elliott,
http://domino.automation.rockwell.com/applications/gs/region/EntekWe and A. Mainwaring, "Real-World Experiences with an Interactive Ad
bST.nsffiles/Xu99.pdf/$file/Xu99.pdf Hoc Sensor Network," Proceedings International Workshop on Ad Hoc
[4] A. B. Holmes, "Making Maintenance Invisible," A-B Journal, Putman Networking (IWAHN 2002), Vancouver, B. C., Canada, August, 2002.
Media, Sept. 2004. [19] M. Yarvis, N. Kushalnagar, H. Singh, A. Rangarajan, Y. Liu, and S.
[5] Rockwell Automation, "EmonitorR An Integrated Suite of Singh, "Exploiting Heterogeneity in Sensor Networks," Proceedings of
Maintenance Data Functions," http://www.rockwellautomation.com/ the IEEE International Conference on Computer Communication
services/conditionmonitoring/emonitor.html (INFOCOM2005), Miami, FL, March 2005.
[6] Bentley Nevada, "Asset Condition Monitoring Systems," [20] Crossbow Technology, Inc., "Stargate X-Scale Processor Platform
http://www.bently.com/prod/products/monitoringsystems.htm Datasheet," Online: http://www.xbow.com/Products/Product_pdf files/
[7] R. Szewczyk, A. Mainwaring, J. Polastre, J. Anderson, and D. Culler, Wireless_pdf/Stargate_Datasheet.pdf
"An Analysis of a Large Scale Habitat Monitoring Application," [21] A.V. Oppenhein and R.V. Schafer, Discrete-Time Signal Processing,
2nd Edition. Englewood Cliffs, NY: Prentice Hall, 1999.

630

You might also like