Over the past few decades the computing industry has gone past several milestones,
each of which has had a paradigm shift in the way we live our lives.
Computers were initially only confined to large corporations. With the advent
of personal computers, people started using them daily at work and also at
home. Today it is not uncommon for a person to move around with several
devices which have substantial amounts of computation power, e.g. a notebook,
mobile phone, PDA, digital camera, navigation system, etc. While one may
be inclined to feel that we are already surrounded by a huge number of embedded
devices, it appears that the computing industry, thanks to the further
miniaturization of electronics, might be on the verge of another paradigm shift
- one that would make computers omnipresent. The past decade has seen the
emergence of a new breed of tiny computers known as wireless sensor nodes.
These nodes, which may be battery powered, are equipped with sensors, a radio
transceiver, a CPU and some memory. They are usually networked together to
form wireless sensor networks. It is envisioned that sensor networks made up of
hundreds, thousands or probably even millions of nodes will eventually weave
into the very fabric of our lives and be present in one form or another in even
the most mundane of devices, like in a coffee mug for instance.
The enormous scale of these networks makes it impossible for them to be
managed manually by humans. In other words, the system needs to operate
autonomously and recover automatically from faults that may occur. As sensor
nodes are typically highly energy constrained devices, network lifetime is also of
paramount importance. Unlike conventional computer networks, e.g. an office
LAN, which can be used for a multitude of applications, wireless sensor networks
are generally known to be application-specific. This unique characteristic helps
save energy as it allows protocols designed for sensor networks to be optimized
for a particular application.
This thesis focuses on different techniques that may be used to extract data from a wireless sensor network in an energy-efficient manner. We present a
range of distributed, self-organizing and energy-efficient data management algorithms
that influence different components of the sensor node architecture:
MAC, routing, data aggregation and sensor sampling.
The algorithms we present are used for two different classes of applications:
(i) applications that only require a subset of all the data in the network to
be extracted using range-queries and (ii) applications that require all the data
to be extracted from all the sensors in the network at periodic intervals using
long-running queries.
For the first class of applications, we present a framework that ensures that
one-shot range queries are routed only to the relevant regions of the network
instead of carrying out flooding. The same framework is also used to assign
an appropriate amount of bandwidth to regions that are expected to generate
more data with respect to the incoming query. This allows precious energyresources
to be spent only where gains are expected. For the second class of
applications, we have designed two algorithms that help extract raw data in an
energy-efficient manner. The first algorithm, that takes advantage of spatial
correlations that may exist between the readings of neighbouring sensor nodes,
is a scheduling algorithm which decides when a particular node should aggregate
data. The second algorithm helps save energy by sampling the sensors in an
energy-efficient manner by taking advantage of temporal correlations that may
exist between successive sensor readings. In every instance, we have illustrated
how the various algorithms can benefit by using cross-layer information.