2.2 Sensor Network Architectures
Research on the design of architectures which
leverage sensor network technologies has considered
both the architecture of the individual sensors and
the broader network architecture. In terms of the
former, considerable attention has been given to
aspects such as minimization of the software
footprint of the sensor module, optimization of the
sensor design, development of low-power devices,
etc. (Polastre, Hill, & Culler, 2004).
In terms of the broader architecture of sensor
networks, considerable effort has gone into
designing communication topologies and protocols
that are both robust (e.g., self-healing routing) and
minimize power and bandwidth overheads
(Krishnamachari, Estrin, & Wicker, 2002). By
adapting the routing topologies it is possible to
obtain significant performance improvements.
Consider, for example, approaches such as data-
centric routing (Krishnamachari et al., 2002) (which
uses in-network aggregation of data flows) and
dynamic adaptation of sensor sampling rates
(Ganesan, Ratnasamy, Wang, & Estrin, 2004;
Polastre et al., 2004), which are used to improve
performance, minimize network traffic, and reduce
energy consumption.
Whilst these aspects are important, they have
typically been developed without a clear
consideration of the specific characteristics of the
design of the applications which will often be used
to leverage the data. For example, where the data is
used within a Web-based application then one of the
key aspects is consideration of the nature of
interactivity in Rich Web Applications, and in
particular the use of technologies such as AJAX,
Flex and Silverlight to pull content to the Web client
as needed in response to user interactions.
The integration of Sensor networks into Rich
Web Applications is typically done through
continuous collection of the sensor data into a
central repository (whether or not it happens to be
needed at that time) and then either pulling the
content to the browser or streaming it from the
server. In either case, it means that data is collected
from the sensors which may not be needed at a
particular point in time (with the associated wastage
of sensor module resources).
Some work on middleware for sensor networks
can assist in this area. Approaches to lightweight
publish-subscribe models (see, for example (Costa,
Picco, & Rossetto, 2005; Gaynor, Moulton, &
Welsh, 2004; Huang & Garcia-Molina, 2004)) can
provide a mechanism for retrieving sensor content to
the Web server, and then to the browser, only when
the sensor data is changed (or, rather, when the
sensor node determines that the data warrants
publishing). Whilst this is an improvement it still
neglects the interplay between client and server (and
ultimately sensor). For example, the level of
information granularity – both spatial and temporal –
that is relevant to a particular client session will
change over time, and will influence the information
that needs to be published by the sensor.
We believe that one of way of addressing this
problem is through the use of concepts from
classical control theory, and in particular the use of
distributed synchronized state observers.
G(z)
G
Est
(z)
L
z
ctualSystem
ModeledSystem
ObserverCompensato
u(k)input
y(k)
Plantoutput
O
(k)
Observedstate
(k)
Plantstate
(notobservable)
‐
+
+
+
O
(k)
Observeroutput
Figure 2: General form of a Luenberger observer.
2.3 State Observers
In classical control theory, we manipulate the inputs
to a system being controlled in order to achieve
system output behaviours that meet performance
requirements. Appropriate modeling allows us to
design controllers which use the error between a
desired system output and the actual output to
generate the system input. This is straightforward
when the system outputs can be reliably measured
(and if the system behaviour is readily modeled –
particularly if the behaviour is linear, though there
are sophisticated techniques for dealing with non-
linear systems). However in many cases some of the
system outputs cannot be directly observed or
accurately measured. (This may be for a range of
reasons – the output variables may be of a form that
is not easy to measure, they may be inaccessible, or
the sensors may themselves introduce errors). In
these cases, one solution is to use a state observer. A
state observer is a model of a real system that gives
us access to an estimate of the internal state of the
system. As shown in Figure 2, with a Luenberger
Observer (Ellis, 2002), the observable outputs of the
physical system are compared to the equivalent
USING SYNCHRONIZED LIGHTWEIGHT STATE OBSERVERS TO MINIMISE WIRELESS SENSOR RESOURCE
UTILISATION
7