05.01.2015 Views

Wireless Sensor Networks : Technology, Protocols, and Applications

Wireless Sensor Networks : Technology, Protocols, and Applications

Wireless Sensor Networks : Technology, Protocols, and Applications

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

258 MIDDLEWARE FOR WIRELESS SENSOR NETWORKS<br />

fusion point may be variable <strong>and</strong> dependent on such factors as system parameters,<br />

network status, <strong>and</strong> performance requirements.<br />

As middleware, DFuse comprises a data fusion API <strong>and</strong> a distributed algorithm<br />

for energy-aware role assignment. It supports distributed data fusion with automatic<br />

management of fusion point placement <strong>and</strong> migration to optimize a given cost function<br />

[8.11]. Application programmers only need to implement the fusion functions<br />

<strong>and</strong> provide a data flow graph. DFuse is suitable for applications that are hierarchical<br />

fusion functions intended for deployment in a heterogeneous ad hoc sensor network<br />

environment. It offers four sample cost functions for moving the fusion point:<br />

(1) minimize transmission cost without node power considerations, (2) minimize<br />

power variance, (3) minimize the ratio of transmission cost to power, <strong>and</strong> (4) minimize<br />

transmission cost with node power considerations. DFuse provides a heuristic<br />

role assignment algorithm that works as follows: First, run <strong>and</strong> deploy a naive<br />

role assignment to the network nodes from the root node to the source node,<br />

then allow every node to decide locally if it wants to transfer the role to any of<br />

its neighbors [8.11].<br />

8.4.10 DDS (Device Database System)<br />

DDS [8.12] enables distributed query processing over a device network. It defines<br />

three types of queries: historical, snapshot, <strong>and</strong> long-running. DDS is more suitable<br />

for queries than are the traditional warehousing approaches. Each device is a<br />

miniserver capable of supporting a set of functions <strong>and</strong> able to process portions<br />

of the queries. This device capability results in improved aspects of query performance<br />

such as throughput, response time, resource use, <strong>and</strong> time delay. Due<br />

to its resource requirements, DDS is not effective in a resource-constraint WSN,<br />

yet it can be useful for WSNs without resource limitations, such as when the batteries<br />

can be recharged. DDS considers only the problem of queries.<br />

8.4.11 <strong>Sensor</strong>Ware<br />

<strong>Sensor</strong>Ware [8.13] provides a language <strong>and</strong> runtime environment to support WSN<br />

programming. The language model is used to implement distributed algorithms<br />

while hiding unnecessary details from the application programmer <strong>and</strong> to enable<br />

sharing node resources among several applications [8.13]. A distributed algorithm<br />

is a set of programs executed in a set of nodes. <strong>Sensor</strong>Ware calls these programs<br />

mobile control scripts. The scripts are defined at the node level <strong>and</strong> can be recognized<br />

by <strong>Sensor</strong>Ware at each node. <strong>Sensor</strong>Ware has event-driven behavior. It<br />

resides on the top of operating system <strong>and</strong> uses functions <strong>and</strong> services of the<br />

operating system.<br />

<strong>Sensor</strong>Ware provides a compact runtime environment <strong>and</strong> script (180 kB). It<br />

targets a specific type of distributed algorithm for a collaborative signal processing<br />

task. It does not provide adaptation between applications <strong>and</strong> node resources or<br />

among applications. <strong>Sensor</strong>Ware has a fixed addressing scheme.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!