Next Article in Journal
Smart Roadside System for Driver Assistance and Safety Warnings: Framework and Applications
Previous Article in Journal
Estimating the Biodegradability of Treated Sewage Samples Using Synchronous Fluorescence Spectra
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Deployment of Distributed Applications in Wireless Sensor Networks

Department of Electric and Electronic Engineering, University of Cagliari, Cagliari 09123, Italy
*
Author to whom correspondence should be addressed.
Sensors 2011, 11(8), 7395-7419; https://doi.org/10.3390/s110807395
Submission received: 9 June 2011 / Revised: 9 July 2011 / Accepted: 18 July 2011 / Published: 25 July 2011
(This article belongs to the Section Physical Sensors)

Abstract

: The increase in computation and sensing capabilities as well as in battery duration of commercially available Wireless Sensors Network (WSN) nodes are making the paradigm of an horizontal ambient intelligence infrastructure feasible. Accordingly, the sensing, computing and communicating infrastructure is set with a programmable middleware that allows for quickly deploying different applications running on top of it so as to follow the changing ambient needs. In this scenario, we face the problem of setting up the desired application in complex scenarios with hundreds of nodes, which consists of identifying which actions should be performed by each of the nodes so as to satisfy the ambient needs while minimizing the application impact on the infrastructure battery lifetime. Accordingly, we approach the problem by considering every possible decomposition of the application’s sensing and computing operations into tasks to be assigned to each infrastructure component. The contribution of energy consumption due to the performance of each task is then considered to compute a cost function, allowing us to evaluate the viability of each deployment solution. Simulation results show that our framework results in considerable energy conservation with respect to sink-oriented or cluster-oriented deployment approaches, particularly for networks with high node densities, non-uniform energy consumption and initial energy, and complex actions.

Graphical Abstract

1. Introduction

Over the past decade, Wireless Sensor Networks (WSN) have consistently evolved into more complex distributed monitoring and control systems. In the beginning, the only goal of a WSN was to monitor a given environment. As depicted in Figure 1, sensors gathered the required information mostly according to a fixed temporal schedule and sent it to the routers, whose primary functions were to both perform the sensing and conveniently transmit data received from sensors. Finally, the Coordinator would collect the data transmitted by the router. The Coordinator has much higher processing and memory capacity than the other nodes in the network. It initializes and manages the WSN: it is responsible for routing and storing the routing tables as well as information about the network and security keys. The Coordinator usually interfaces with a server or a computer. In this way, data from sensors could be processed and stored. The Coordinator possessed all the intelligence of the network. Given the cost of more advanced devices, all other nodes only had basic processing and memory capacity [1].

A WSN is characterized by the presence of one or more sinks. A sink is a node which gathers and controls data collected by different sensor nodes. In every network there is at least one sink present, corresponding to the Coordinator.

WSNs are now becoming more and more complex. According to the information gathered by the sensors, the network is capable of making decisions and acting upon them. Indeed, they are expected to be one of the pillars of the Internet of Things (IoT) paradigm [2], which foster the introduction of key applications, including but not limited to domotics, assisted living, e-health, enhanced learning automation and industrial manufacturing logistics, business/process management, and intelligent transportation of people and goods. Reduction in the cost of the devices has increased the nodes’ capacity, thus they can perform some processing before sending the data to a sink. They can aggregate data coming from different sensors, perform temporal and spatial averaging as well as data filtering so as to reduce the burden of transmitting large amounts of data to the Coordinator and increase the network lifetime. Indeed, devices in a WSN are typically powered by batteries that can be difficult to replace, such as in the case of subterranean or underwater nodes.

These considerations contribute to the vision of an horizontal ambient intelligence infrastructure wherein the sensing, computing and communicating infrastructure is set with a programmable middleware that allows for quickly deploying different applications running on top of it so as to follow the changing ambient needs, for example: monitoring a given geographical area and alerting when something is happening therein; activating the heating system when the ambient is getting cold; tracking the processing chain in industrial plants to prevent hazardous scenarios. In this case, we focus on the need for a logic that, starting from the desired application, can be set up in complex scenarios with hundreds of nodes, evaluate the possible deployment solutions and decide which action should be performed by each of the nodes so as to satisfy the ambient needs while minimizing the application’s impact on the infrastructure’s battery lifetime. Accordingly, we approach the problem by considering every possible decomposition of the application’s sensing and computing operations into tasks to be assigned to each infrastructure component. The contribution of energy consumption due to the performance of each task is then considered to compute a cost function allowing us to evaluate the viability of each deployment solution.

This paper is organized as follows. The second Section describes how other authors have dealt with the problem of maximizing of the network lifetime, and the model of energy consumption considered in this work. The third Section introduces the problem and how we have approached it. The following Section defines the algorithm used by the framework to maximize the network lifetime. In the fifth Section, some simulation results on the effectiveness of the framework are presented. The last Section draws final conclusions. Finally, in the Appendix we provide the list of symbols used to make it easier to follow the description of the proposed algorithm.

2. Background

2.1. Past Studies

Due to their scarce resources, minimization of energy consumption has been a key challenge for Wireless Sensor Networks. There are a great number of works that have focused on the maximization of the network lifetime, each taking into account a different approach to achieve it.

Routing is probably the most immediate issue addressed in order to accomplish this goal. A convenient choice of paths to route data may result in significant energy conservation. In [3], an energy-efficient metric for finding routes was proposed. In [4], nodes energy reserves were taken into account to route the traffic so that the nodes’ drain-out is maximized. Other routing techniques are shown in many other studies, such as [5] and [6].

Some studies build on the assumption that transmission energy consumption is related to the square of the distance between two communicating nodes. Therefore, it might be more energy efficient to send data over many short hops rather than fewer long hops. This issue was handled in [7] and, later, in [8]. This approach intends to maximize the network lifetime by minimizing overall energy consumption. However, it does not resolve the problem of unbalanced energy consumption among the nodes. This uneven energy dissipation may lead to an early death of some nodes, indeed resulting in a reduction of the network lifetime rather than an increase.

In order for some nodes not to die much earlier than others, energy consumption in the network should be as balanced as possible. Relay nodes might be used for this purpose, as shown in [9] and [10]. Energy load distribution can also be achieved by conveniently deploying the network nodes, as in [11]. In [12], the nodes are spaced non-uniformly as a function of their distance. Taking into account that nodes near the base station feel the effects of higher traffic more than other nodes, spacing is adjusted in such a way that nodes with higher traffic have a shorter hop distance than nodes with less traffic.

None of the studies mentioned above considers the possibility of processing the data in the nodes of the path to the destination. Because most of the energy spent in a Wireless Sensor Network depends on the amount of data that is transmitted over the network, reducing the amount of data may result in a reduction of the transmission energy consumption. This principle has been only partially adopted by LEACH [13], where sensors serve as Cluster Heads aggregating the data and, indeed, decreasing the number of bytes sent over the network. Energy consumption balancing is guaranteed by a random rotation of the role of Cluster Head.

In [14], Cluster Heads for a mobile WSN are chosen according to a selection algorithm which takes into account characteristics of the nodes such as power energy and transmission rate. The clustering algorithm presented is periodically re-run to possibly find new nodes which might improve the network lifetime.

Given the computational capacity of modern sensors, a step forward could be taken not just by aggregating data, but by processing them before they arrive at their destination whenever possible and on the basis of the network topology and power resource detection. In this paper, a framework that determines which of the nodes should process the data in order to maximize the network lifetime is presented. To the best of the authors’ knowledge, no similar frameworks for WSN have been proposed before. An example of an overlaying framework that handles an architecture for an integration of the IoT in enterprise services might be found in [15]. However, this framework is not conceived to minimize the energy consumption, unlike the framework hereafter described.

2.2. Energy Consumption

Energy consumption in Wireless Sensor Networks is determined most of all by transmission and reception. As mentioned in [16]

{ P T ( δ ) = P T 0 + P A ( δ ) = P T 0 + P T x ( δ ) / η P R = P R 0
where PT and PR are radio frequency power consumptions for transmitting and receiving respectively; PA is the power consumption of the Power Amplifier (PA); δ is the distance between the transmitter and the receiver; PT0 and PR0 are the components of power consumption of the transmitting and receiving circuitry respectively; PTx is the output power at the antenna which, for reliable transmissions, depends on the distance δ; η is the drain efficiency of the PA.

Considering a channel in which the path loss component is predominant, and thus secondary effects such as multipath and Doppler can be neglected, the received power PRx can be expressed as

P Rx = P Tx A × δ α
where A is a parameter determined by the characteristics of the antennas (such as gain and efficiency) and α denotes the path-loss exponent, which is about 2 for free space. This kind of modelling is typical of free space propagation. Of course, the model might be extended to account for other fading effects.

From Equations (1) and (2)

P T ( δ ) = P T 0 + P Rx × A × δ α η

Considering ε = PRxmin × A, where PRxmin is the minimum reception power for a reliable communication

P T ( δ ) = P T 0 + ε × δ α η

This implies that the total power consumption for communicating between a transmitting node A and a receiving node B of a WSN could be written as

P AB = P R 0 B + P T 0 A + ε AB × δ AB α η A

Therefore, the energy consumption of the network to transmit a packet of k bits from A to B with a constant data rate R is

e tx ( k , P T 0 A , η A , P R 0 B , ε AB , δ AB ) = P AB × k R = k R ( P R 0 B + P T 0 A + ε AB × δ AB α η A ) = k × ( e R B + e T A ( δ ) )
where eTA is the energy to send one bit over a distance δAB and eRB is the energy to receive one bit.

The model described does not take into account mechanisms such as sleep schedule and route discovery, which may produce overhead. Thus it could thus be necessary to consider not just the single packet transmission, but also the energy consumption due to the overhead.

Besides transmission and reception, the other two main causes of energy consumption are due to the sensing activity and to the processing. The sensing energy consumption esens is determined by the specific characteristics of the sensor, which is given by the used hardware.

The processing energy consumption eproc(task, datain) is proportional to the complexity of the task—that is, the number of instructions needed to complete the task—and to the ingress data datain—the higher the number of samples involved in the processing, the higher the energy consumption. This function eproc(.) can be determined on the basis of the device datasheet used. Calling Mtask the number of instructions for the task, smpin the number of samples to be processed and einstr the average energy consumption per instruction executed

e proc ( task , data in ) = smp in × M task × e instr

A summary of the notation used throughout this paper is provided at the beginning of this document for quick reference.

3. Problem Formulation

The goal of a WSN is to accomplish a given number of operations mostly based on some measurements performed on the relevant environment. In our scenario not all the nodes have the same capacities, as represented in Figure 2, where three sets of possible tasks have been considered, which could be: data processing, temperature measurement and video monitoring. Given the status of the network in terms of node capacities, topology, and energy distribution, the problem addressed is to assign to each node the tasks that, combined together, contribute to the target network operations while minimizing the application impact on the infrastructure battery lifetime.

In our modelling, the number of nodes X = {x1, ..., xi, ..., xN} in the WSN is denoted with N, where the node xi can be a sensing node, a router or an actuator (or node with a combination of these roles). The node xN refers to the sink (we assume there is only one sink in the network). The network can be described by:

  • the N × N adjacency matrix A = (aij): an element aij of A is equal to 1 when a link connects node i to node j and the sink is closer to j than to i;

  • the distance matrix Δ = (δij), which contains the pairwise distances (in meters) between adjacent nodes. If δij = ∞, nodes i and j are not adjacent;

  • the matrix E = (εij), with the parameters εij introduced in Section 2.2, calculated for each combination of adjacent nodes i and j, where i reaches the sink though j. If εij = ∞, nodes i and j are not adjacent;

  • the set of characteristic parameters Vi = {PR0i, PT0i, ηi} of every node xi, which are useful to compute the transmission energy consumption as defined in Equation (3) in Section 2.2;

  • the set F = {f0, ..., fw, ..., fW} of tasks, which encompasses all the tasks that can be performed by any node in the network. For instance, 0 might correspond to “temperature sensing in the area 1”, 1 to the “temperature sensing in the area 2”, 2 to the “pressure sensing in the area 3”, 3 to the “spatial averaging” (which means performing the average of the sensed data arriving from different geographical areas), 4 to the ‘temporal averaging” (which means performing the average of sample values sensed by the same sensor at different instants of time), 5 to the “only transmission”, 6 to “no actions”. Each of the tasks in an F set entails a transmission of data, with the exception, of course, of “no actions”;

  • the set Di = {di1, ..., dim, ..., dili}, with DiF, where the elements of Di are the tasks that the node xi is able to perform.

We assume that a given operation O has to be deployed in the network, which can be decomposed into a sequence of distributed tasks. This could represent diverse operation, including: computing the average of the temperature in certain geographical areas, measuring the light intensity in a room, video-surveillance of a specific geographical area, or a combination of these. In the following, we rely on a specific reference application, which we name spatial and temporal monitoring: a spatial and temporal mean operation over an hour is performed on the temperature values sensed by the sensors every 10 min by the sensors from 3 different locations; the average values are stored in the sink. We use this example to better explain our modelling.

Three significant parameters can be associated with the operation to be deployed:

  • the total cost value Etot, which takes into account the energy consumption;

  • the sequence C = {c1, ..., cl, ..., cL} of the sub-operations that must be executed by the nodes to perform the operation O. If, for instance, O is our reference example of spatial and temporal monitoring, some of the sub-operations in C will certainly be “temporal averaging” and “spatial averaging”. Each sub-operation is equivalent to one of the fw tasks defined above: CF. The terms sub-operation and task are used interchangeably, but we refer to cl as a sub-operation to emphasise its link with its respective operation O. Sub-operations are listed in C in order of priority: if a node has to execute both c1 and c2, the former must be executed before the latter. With reference to our spatial and temporal monitoring example, c1, c2 and c3 are the sensing sub-operations: c1 is “temperature sensing in area 1”, c2 is “temperature sensing in area 2” and c3 is “temperature sensing in area 3”; because every sensor only belongs to one area, the order of the sensing sub-operations is irrelevant. Rather, it is important that data is gathered before any other sub-operation is performed on it; thus, the sensing sub-operations are the first elements in C. If a node has to calculate both the temporal and spatial mean of the received values, it has to first work out the temporal mean on the data received from each path, and then it has to perform the spatial mean on it. Therefore, c4 is “temporal mean” and c5 is “spatial mean”. Finally, c6 is “only transmission” and c7 is “no actions”. All the sub-operations for the example are summarized in Table 1;

  • the set S = {s1, ..., si, ..., sN}, where si is the status of node i with respect to operation O. The value si defines which sub-operation cl the node i is performing. Of course, the status of the node xi has to be chosen among the set of tasks Di that the node is able to perform. If the node is not involved in the operation O, its status corresponds to “no actions”. For this reason, “no actions” is necessarily included in set F. The following must always be verified:

    • – if a node xj receives some data from a node xi, which means that si cannot be “no actions”, node xj must at least transmit the data

      s i " no actions "   a ij = 1 s j " no actions "

    • – if a node xj does not receive any data, which means that the status of all the nodes connected to it is “no actions”, sj must also be set to “no actions”

      s i " no actions "   i : a ij = 1 s j = " no actions "

Thanks to the greater processing power and storage capacity of modern sensors, contrary to the past, the same operation O can be performed in several different ways: gathered data can be immediately sent to a sink or it can be processed before being transmitted. In the case of the latter, the number of bits to be sent would be smaller, and therefore the transmission energy consumption would be lower as well; however, processing energy consumption could be higher in this second case. Quantifying the energy consumption in both cases, it could be possible to establish which one determines a reduction of battery consumption in the sensors, incrementing the network lifetime.

The framework described further takes a high-level code as input, evaluates which combination of statuses S = {s1, ..., si, ..., sN} permits the operation O to be performed with the lowest possible energy consumption Etot, and finally elaborates and assigns among the nodes the most appropriate tasks to be performed. Hence, it is evident that the cost function Etot will vary depending on the status of each node, that is, how the operation O is performed. The problem addressed is then defined as the set of statuses S that minimizes the impact of the application on the network lifetime. In the following, we elaborate the considered scenario by defining further constraints that solve the problem.

4. Deployment of Distributed Applications

In the following, we present the proposed solution towards a distributed application deployment in WSN. The following Subsections present: the constraints on the traffic generated by the distributed applications; the concept of virtual nodes, which are duplicates of real nodes that are introduced to deal with nodes that perform more than a single action in a deployment solution; the cost functions built on the basis of the energy consumption formulae; the network lifetime maximization procedure; a summary of the proposed framework. Note that the modelling that we propose in this work and that we present in this Section is aimed at evaluating all the possible solutions of application deployment in terms of data transmission and processing. The parameters, constraints and cost functions are introduced for the sole aim of evaluating the viability of the solution.

4.1. Constraints on Traffic Flows

In our scenario we assume that the sources of traffic in the network (the sensors) generate samples of k bits at a certain frequency f. The processing in the network is performed on this type of traffic flow coming from different nodes. The generic node xi receives the traffic T i in over which it performs the sub-operation corresponding to its assigned status si. The effect of this sub-operation is the generation of the output traffic T i out, which is computed by function p as follows

T i out = p ( T i in , s i )

The output traffic is then sent to the next node towards the sink.

The data generated by p in the node xi is modelled by the H-dimensional vector T i out = ( t i 1 out , , t ih out , , t iH out ), where each element t ih out = { k ih out , f ih out } corresponds to a traffic flow where each sample of k ih out bits is transmitted at the frequency f ih out. Each sample described by t ih out results from a spatial processing or a sensing. The data T i out is then sent to the following node xj, according to adjacency matrix A.

The node xj receives data from all adjacent nodes that reach the sink through xj, with the exception of the nodes with a “no actions” status

T j in = i = 1 N T j out × a ij × z i , with z i = { 0 s i " no actions " 1 otherwise

As defined by Equation (7), the data T j in received by the node xj is processed, according to the status of xj:

  • if sj is a sensing status, p does not take any T j in as input and the output is defined by the specific sensing operation;

  • if sj is an “only transmission” status, the output of p is exactly equal to T j in;

  • if sj is a “no action” status, p returns a T j out with all fields set to 0 as output. This case is included for completeness, but it is not supposed to happen because of Equation (5);

  • if sj is a processing status, T j out can be the most diverse depending on the specific processing objectives, which are coded in sj and that control the specific function p. In the following we analyze certain cases.

Referring to the spatial and temporal monitoring example, processing can be a spatial averaging, a temporal averaging, or a combination of both. In a spatial processing, the samples coming from different paths are processed together, as shown in an example in Figure 3(a). Here, four flows of 25 bits per second are received by node 4, which are then averaged to produce a single flow of 25 bits per second. Accordingly, the resulting T j out is made of only one element t j 1 out = { k j 1 out , f j 1 out }, where the number of bits per sample k j 1 out and the frequency f j 1 out are equal to those of each input flows. It must be noted that, in general, k j 1 out is not necessarily equal to the number of bits of each input flow, but it may be different according to the processing output.

Differently, the temporal averaging is performed on every traffic flow in T j in. The resulting T j out contains the same number of traffic flows as in T j in, where every element t jh out is characterized by the same number of bits per sample k jh out and the same frequency f jh out corresponding to the averaging frequency associated to the node status sj. Indeed, we may have different status codes associated to the temporal averaging, each one distinguished by a different processing frequency. Figure 3(b) shows an example for this kind of processing, where, in this case, we assume the node status corresponds to temporal averaging with frequency 0.5 Hz.

Other processing tasks can be performed on every single sample of each received traffic flow without involving other samples. This is the case, for instance, where one must evaluate whether the received values exceed a given threshold or not, consequently transmitting a boolean output value. The only thing that changes in the output traffic flows is the number of bits per sample; therefore, T j out contains the same number of traffic flows as in T j in at the same frequency f jh out, but with different bits per sample k jh out. Figure 3(c) shows the traffic flows for the described processing.

There are many other processing tasks that can be performed in a given network and they are coded in F as described in the previous Section. For each one of these, an operator p(x, y) is defined. Note that for our objective, this operator is needed to figure out the traffic flows that will be traversing the network for each deployment scenario.

4.2. Virtual Nodes

It is possible that a single node has to perform more than one task. For instance, if operation O is a temporal and spatial average of the temperature values measured in different geographical areas, it may happen that a single node has to compute both spatial and temporal average values on the received data. To take into account this type of scenario, we rely on the concept of virtual nodes. These are copies of real nodes, each one able to perform only a specific sub-operation and sending the resulting data at zero-energy cost to the next virtual node (except the last one that sends the data to the next node). We define the set of sub-operations that a single node xi can perform consecutively for the implementation of the operation O

G i = D i C \ L
where L is the set of sub-operations that the node cannot execute with the others, which are “only transmission” and “no actions”. These two are kept outside the set Gi because it cannot happen that a sequence of sensing/processing tasks are followed by any of the tasks in L. If |Gi| > 1, the node xi is divided into |Gi| virtual nodes. Each virtual node is created so as to be able to execute only one of the sub-operations in Gi, to which the sub-operations in L are added. Each virtual node can then be assigned to perform only one of these three sub-operations (the one taken from Gi plus the two in L). Hence, the new network will have a number Nvir of total nodes x v vir
N vir = i = 1 N Γ i , with   Γ i = { | G i | if | G i | > 0 1 otherwise

The set of possible sub-operations for x v vir is D v vir. Figure 4 draws an example of sequence of virtual nodes for node x4, which is substituted by nodes x 4 vir, x 5 vir and x 6 vir. Let us refer to the spatial and temporal monitoring example and the associated set of sub-operations C listed in Table 1. Additionally, let us assume that {c1, c4, c5, c6, c7} ⊂ D4, that is: the node x4 can sense the area 1, perform a temporal averaging, a spatial averaging, only transmit the received data and perform no actions (these last two tasks are always included). Because L = {c6, c7}

D 4 vir = { c 1 , c 6 , c 7 } D 5 vir = { c 4 , c 6 , c 7 } D 6 vir = { c 5 , c 6 , c 7 }

A new adjacency matrix Avir is defined to incorporate additional virtual nodes. Such matrix is built simply by substituting the real node with the sequence of virtual nodes, so that the first virtual node is connected to the nodes from which xi received the data, while the last virtual node is connected to the node to which xi sent the data. The other nodes are connected in sequence. An exception happens if the real node can also perform some sensing functions. In this case, the corresponding virtual node is kept outside this sequence and it merely sends the data to the subsequent virtual node. This rule has been introduced because the sensing operation does not need any data from other nodes. This scenario is what happens in the example shown in Figure 4, where the temperature sensing function can be performed by node x 4 vir.

As defined in Section 3, sub-operations are in priority order. For this reason, virtual nodes have to be placed such that the first performs the sub-operation with the highest priority, and the last executes the sub-operation with the lowest priority and sends the data to the rest of the network. With reference to Figure 4, the highest priority is given to the sensing action, because whether there are any data to be sensed, the information should be gathered before processing it. For this reason, sub-operation c1 is included in D 4 vir. If data received by node x 5 vir has to be processed, temporal averaging should be performed before spatial averaging. Thus, priority of the former must be higher than the latter, and this is the reason why temporal averaging c4 is an element of set D 5 vir, while spatial averaging c5 is an element of set D 6 vir. The adjacency matrix Avir has to be defined accordingly.

A set of characteristic parameters V i vir = { P R 0 i vir , P T 0 i vir , η i vir } has to be associated with each node. Taking into account the virtual nodes substituting node xi, the transmission cost from a virtual node to the other must be null. Therefore, only the last virtual node, that has to transmit the data to the network, has the same characteristic parameters V i vir as xi: the virtual nodes before it must have the parameters P R 0 i vir and P T 0 i vir set to 0.

New matrices Δvir and Evir are defined, where the values of their elements for adjacent virtual nodes from the same original node are null. From now on, we will be referring only to a network with virtual nodes; however, to make the presentation clearer, we will skip subscript “vir”, as it is unnecessary.

4.3. Cost Functions

The objective of the proposed algorithm is to evaluate the viability of each deployment solution on the basis of a cost function that is connected to energy consumption. Quite often in similar scenarios, past studies have proposed the evaluation of the network lifetime and have aimed at maximizing it. Since in our framework we assume the network may be employed to perform more than one operation simultaneously, there is no sense in computing the network lifetime since it is affected by other applications which are not considered in the same analysis. For this reason we try to minimize the energy consumption for the operation under analysis, allowing the network administrator to also include a parameter that takes into account the current node battery energy level, as it is shown in the following.

We consider three cost functions: one for the sensing, one for the processing and one for the transmission. The sensing cost function for node xi is expressed as

E i sens = f i out × γ i × e i sens × y i , with   y i = { 1 if   s i sensing code 0 otherwise
with e i sens representing the sensing energy consumption as defined in Section 2.2. Recall that f i out is the node output traffic frequency, which also represents the sensing frequency. The parameter γi is a coefficient in inverse proportion to the residual energy of the node which can be set to drive the deployment of the application towards nodes with higher residual energy levels, as anticipated above. When performing our experiments, we have set γi to 1 when the battery is fully loaded, while we set γi to 5 when the battery level is lower than 20% of the total charge. From 1 to 5, γi changes linearly.

We defined the processing cost function as follows

E i proc = h = 1 H f ih out × γ i × e ih proc ( c s i , T i in ) × v i with   v i = { 1 if   s i processing code 0 otherwise
where γi is the coefficient defined above, and e ih proc is the processing energy consumption defined by Equation (4), which depends on the characteristics of the node xi, the sub-operation csi that has to be executed, which in turn depends on the status si of the node, and the received data T i in described in Equation (8). Because the processing cost depends on the number of processing per second performed by the same node xi, it is proportional to the frequency f ih out of each of the H egress traffic flows, where H is the size of T i out as described in Section 4.1. The number of samples to calculate e i proc is defined differently for each kind of processing detected in Section 4.1. For a spatial processing, the number of processed samples is equal to the number of ingress traffic flows; for a temporal processing, the number of processed samples for each traffic flow t ih out is the ratio between the frequency of arrival of the samples f ih in and the processing frequency f ih out; by definition, for a single sample processing the number of processed samples is 1.

Both sensing and processing are followed by a transmission. Therefore, unless the node is in a “no actions” status, it has to transmit the output data. Because for Equation (5) if a node receives data it cannot be in “no actions” status, every node involved in the operation O has to transmit data. The related cost function is

E i tx = f i × γ i × e tx ( T i out , V i , j = 1 N V j × a ij , j = 1 N ε ij , j = 1 N δ ij )
where fi is the transmission frequency, γi is the residual energy coefficient, and etx is the transmission energy consumption defined by Equation (3), depending on: the data to be transmitted T i out; the characteristic parameters Vi of the node xi; the characteristic parameters Vj of all the xj nodes that will receive the data from xi, which, for a connected graph, is just one; the parameter εij concerning nodes xi and xj; the distance δij between xi and xj .

Given Equations (11–13), the overall cost function for any operation O is

E tot = i = 1 N ( E i sens + E i proc + E i tx )

4.4. Maximization of Network Lifetime

The goal is to find the set of the statuses S = {s1, ..., si, ..., sN} of the nodes that minimize the network energy cost function.

Therefore, the optimization problem becomes

minimize     E tot = i = 1 N ( E i sens + E i proc + E i tx )
subject to    Q l min i = 1 N q il Q l max with   q il = { 1 s i c l 0 otherwise
v { s v } = G N v : x v x N

The condition in Equation (15b) is a constraint on the minimum ( Q l min) and the maximum ( Q l max) number of nodes that have to perform the sub-operation cl. This could be necessary, for example, when a given geographical area is monitored by a certain number of nodes, but the required information is not needed from all of them. If, for instance, the mean temperature value of an area monitored by 30 sensors is needed, we may prefer the temperature information to be gathered just by 10 of those sensors, in order to consume less energy. In this case, both Q l min and Q l max would be equal to 10, and the algorithm would choose the 10 sensors which weight less on the network lifetime, among the 30 sensors which are able to sense temperature in the required area. When this constraint is not needed for a sub-operation l, Q l min is null and Q l max is set to N.

The condition in Equation (15c) shows that the set of statuses of the virtual nodes corresponding to the original sink node xN must correspond to the set |GN|.

This implies that none of the virtual nodes corresponding to the original sink node can be in “only transmission” or “no actions” status, but they are in a processing status; therefore, if there is any data still to be processed, those virtual nodes have to process them.

The problem defined in Equation (15) is a Binary Integer Programming (BIP) problem: the unknown status of a node xi can be defined as a |C|-dimensional binary array, where C is the set of sub-operations as defined in Section 3. Because every node can only have one status, which means that it can perform only one sub-operation among those that it is able to perform, only one element of this array can be equal to 1, and it corresponds to one of the sub-operations that the relating node xi is able to perform, according to Di. The elements of the array represent the weights to the contributions in Equations (11,12) of the node to the cost function.

BIP problems are classified as NP-hard. Their exact solution is usually found using branch-and-bound algorithms. The worst case complexity of branch-and-bound algorithms is the same as the complexity of exhaustive search, which means that its complexity scales exponentially with the problem size. In the case under consideration, the problem size is dominated by the number of sub-operations |C| and the number of virtual nodes Nvir. Therefore, the worst case complexity would be O(2|C| × Nvir ). Nevertheless, in most cases branch-and-bound is more efficient compared to exhaustive search. Furthermore, our problem’s structure is such that only one element of the |C|-dimensional array representing the status of each node is nonzero. This condition allows to reduce the search space to O(Nvir|C|). It has to be noted that commercial mathematical programming solvers such as CPLEX [17] or Xpress Optimization Suite [18] are claimed to use optimized branch-and-bound algorithms whose complexity scales linearly with the problem size.

In order to further reduce complexity, heuristic algorithms might be used as well, obtaining sub-optimal solutions which may be considered sufficient in most cases.

4.5. The Proposed Framework

Given a network similar to the one in Figure 2, the Coordinator, which is responsible for initiating and maintaining the network, is the device on which the deployment algorithm is performed. The proposed algorithm needs to know the exact topology of the network, that is, how the nodes are connected to each other and what the distance between any two of them is, as well as the routing table. In order to compute the cost function in Equation (14), further information is needed, such as the parameters to model the radio channel, the transmission, reception, sensing and processing energy consumption of each node, the residual energy of each node, the working frequency and the data rate.

In summary, the algorithm performs the following steps:

  • define N xi, sets F, Di, Vi and matrices Δ, E and A;

  • define set O and the corresponding set C;

  • define sets Gi;

  • define the new network with Nvir virtual nodes x i vir, and new sets D i vir, V i vir, Δvir, Evir and Avir;

  • given in Equation (15), solve it with a linear programming solver, in order to find set S.

The solving algorithm has been implemented in Mosel language, and the solution has been found using Xpress Optimization Suite. The binary array Σ v vir = { σ v 1 vir , , σ vl vir , , σ vL vir } has been associated to each node x v vir, where L is the cardinality of C, that is, the number of sub-operations which must be executed to perform operation O, as described in Section 3. The elements of Σ v vir must satisfy the following constraints:

  • the element σ vl vir can be equal to 1 if and only if x v vir is able to perform the sub-operation clC, which means that σ vl vir cannot be equal to 1 if the sub-operation cl is not an element of the set of tasks D v vir that the node x v vir is able to perform

    c l D v vir σ vl vir 1

  • only one element in Σ v vir can be equal to 1

    l = 1 L σ vl = 1

The elements of the array built this way are the weights yi and vi of the energy contributions in Equations (11,12) defined in Section 4.3.

The optimum way to perform the operation O at issue and spend the least amount of energy as possible will then be found. The node or the combination of nodes that are able to perform it and consume the minimum amount of energy will be chosen; then, a low level code describing which tasks each node has to perform will be developed and distributed to the appropriate nodes.

5. Performance Analysis

5.1. Test Cases and Simulations Setup

To evaluate the effectiveness of the proposed strategy, three test cases have been taken into account according to some of the most significant realistic scenarios considered in past works, such as in [13]:

  • case1: uniform energy consumption and uniform initial energy (UC-UE) at each node (equal characteristic parameters and battery life for every node);

  • case2: non-uniform energy consumption and uniform initial energy (NUC-UE) at each node (different characteristic parameters but same battery life for every node). The energy consumption of the nodes have been assigned according to a uniform distribution from 60% to 140% of the energy consumption for case 1;

  • case3: uniform energy consumption and non-uniform initial energy (UC-NUE) at each node (same characteristic parameters but different battery life for every node). The battery charge has been assigned randomly according to a uniform distribution from 20% to 100% of the total charge.

We monitored a rectangular-shaped outdoor environment (e.g., a vineyard, a seaport, a tourist plaza), divided into areas of 25 m2, where the nodes have been deployed with different densities:

  • 0.2 nodes per square meter;

  • 0.3 nodes per square meter;

  • 0.4 nodes per square meter.

The nodes have been positioned randomly, following a uniform distribution. Each node is equipped with sensors for the measurement of temperature, humidity, PH and light exposure. The data are sent to the Coordinator, which has identification number N.

We have focused our analysis on the following two operations:

  • (OpA) calculation and storage in the sink of the (temporal and spatial) mean values of temperature, humidity, PH and light exposure over an hour, starting from the values sensed every 10 min from every area;

  • (OpB) aggregation of traffic coming from different areas of the network, carrying temperature, humidity, PH and light exposure values to the Coordinator for later analysis by qualified staff.

We assumed that each sensed value is represented as a double numerical value, which is 64 bits long. Note that these two operations have been selected to compare the scenarios in which the network is required to perform significant data processing (OpA) and nodes have to perform only basic processing on the data, yet can significantly reduce the amount of transmitted data by aggregating the sensed samples (OpB).

For both OpA and OpB, the first sub-operations are the sensing ones: c1 is the “temperature, humidity, PH and light exposure sensing for area 1”, c2 is the “temperature, humidity, PH and light exposure sensing for area 2”, and so on for every area. In order not to weigh down the text with alternatives, we suppose there are just 2 areas, which is not the case of the simulation scenario. Similarly to the spatial and temporal monitoring example in Section 3, for OpA c3 is “temporal mean”, c4 is “spatial mean”, c5 is “only transmission” and c6 is “no actions”. In addition to c1 and c2, the sub-operations for OpB are: c3 as “aggregation of samples”, c4 as “only transmission” and c5 as “no actions”. The sub-operations for the two operations are summarized in Table 2.

The nodes communicate using IEEE 802.15.4 radio interfaces on the 2.4 GHz frequency band. To keep things simple, any possible overhead has not been taken into account.

We have simulated the resulting scenarios in MatLab environment, where we have implemented the proposed algorithm together with alternative approaches as discussed in the following Subsection. The main setup parameters are listed in Table 3 ([16,19,20]).

5.2. Analysis of Case Studies

The optimization algorithm has been applied to each of the cases mentioned in Section 5.1. The resulting cost value has been compared with:

  • the cost value that is obtained if data are processed only by the Coordinator. This means that each traffic flow generated by the sensors is sent to the Coordinator without any processing at the intermediate nodes. We refer to this comparison with the letter “C”;

  • the data are processed (whenever needed) by every Cluster Head (node receiving flows from different sensors) found in the path to the Coordinator. We refer to this comparison with the letters “CH”;

  • the mean cost value for all possible solutions that might be detected. This is introduced to make a comparison with a possible solution where the processing of the data is performed on fixed nodes, which is expected to bring results corresponding to the median solution. We refer to this comparison with the letter “M”.

These comparisons are expressed as a percentage of the energy conservation that would result using the proposed technique with respect to the alternatives one.

Figure 5 shows the results for the two operations.

The two graphs show significant improvements of the proposed strategy with respect to the alternative ones with an average improvement of 36.3%. Limited benefits are observed in case UC-UE for both OpA and OpB. In fact, when all the nodes have the same parameter, and thus have a uniform energy consumption and the same initial energy, the choice of which node will perform the processing boils down to which Cluster Heads will do it. To illustrate the scenario, we refer to Figure 6, which depicts a Cluster Head CH 1 connected to the Cluster Head CH 2 by nodes 1, 2, and 3. Note that the Cluster Heads are just nodes that receive more than one traffic flow from different links. Because processing in CH 1 weights on the network as much as processing on node 1, node 2 or node 3, any processing of the data before arriving to CH 2 is more energy conserving. Processing the data on CH 1 ensures spending less transmission energy than processing data on nodes 1, 2 or 3. Accordingly, the CH approach allows for obtaining results similar to the ones we obtained with our approach in case UC-UE. We get slightly better results because when Cluster Heads are close to each other sometimes it is better to perform the processing only in the second Cluster Head rather than in both of them.

On the contrary, in cases NUC-UE and UC-NUE, devices’ energy consumption does not weight the same amount on the entire network. This means that the nodes chosen by the proposed algorithm to perform the processing will be those that weight less on the network, regardless of whether they are Cluster Head or not. Therefore, the detection of the lower cost solution determines the best results, in terms of energy consumption, for networks with heterogeneous parameters, which are the most common type of networks in real scenarios.

The benefits with respect to the approach CH are lower than the case of using approaches C and M. In fact, literature dictates that the use of Cluster Heads is a convenient solution, because the aggregation of frames coming from different paths leads to a reduction in network energy consumption. For this reason, when using Cluster Heads the cost is much lower, compared to sending every single frame to the Coordinator, or to the average of the other possible solutions; this determines less difference from the optimization algorithm solution, and thus a lower energy conservation. However, this approach requires every node in the network to be able to perform data processing, which is not always the case. In any case, our approach is proven to always outperform the CH approach.

It could be noted that for OpA, in which processing is more elaborate and the number of instructions for every process greater, energy conservation is higher than it is for OpB. In fact, as could be expected, the lower the energy cost necessary for the processing, the more convenient it is to process the data in every Cluster Head encountered.

This fact is demonstrated by the results shown in Figure 7, which depicts the percentage of energy conservation while the ratio between the processing cost and the cost to transmit 137 bytes of data increases. The distance considered is equal to the average distance of all the nodes from the Coordinator. Comparison has been made both in the case that data are processed only by the Coordinator (solid lines) and cases in which data are processed by every Cluster Head (dashed lines). In the former, energy conservation decreases when processing cost to transmission cost ratio increases. In fact, as could be expected, when the processing cost increases with respect to the transmission cost, it becomes more convenient to transmit data rather than process data. On the other hand, when compared with the CH approach, energy conservation increases when the processing cost to transmission cost ratio increases. In fact, when the processing cost increases, it is more convenient to accurately choose the nodes where processing might be performed rather than processing data every time that it is possible to do so. Table 4 shows the results for OpA and OpB, for different node densities of 0.2 and 0.4 nodes/m2. The resulting tendency of an improved energy conservation when node density increases is basically due to two factors:

  • in cases NUC-CE and UC-NUE, when the number of nodes in the same area increases, it is more likely that among neighbouring nodes there are node where the processing cost is lower;

  • the higher the number of nodes in the same area, the higher the number of clusters formed, and therefore the bigger the amount of data that can be processed before they arrive to the Coordinator, reducing the energy cost.

It may be inferred from the results that using the framework would be particularly energy conserving when data from different nodes have to be processed together, the processing is pretty complex, and the energy consumption or the initial energy is not uniform for the network.

In the considered framework we have not addressed the routing problem and we have assumed that the routing of the packets is working correctly. However, computation of the paths and re-computation in case of failure is for sure another cause of energy consumption. When the network experiences the failure of a node, that node must be bypassed and data addressed to it must be sent to the following node. To do it, an appropriate new routing path must be found. The number of packets exchanged to find a new routing path depends on the routing algorithm used by the network. If we consider a bad scenario where an average of 50 packets have to be sent among 10-hop distant nodes where each node is 2 m far from the other ones, in case of one node failure every hour, energy conservation would decrease by about 7.8%. It has been estimated that the decrease in energy conservation for OpA and for a density of 0.3 nodes/m2 would be around 8.2% in case UC-UE, 12% in csae NUC-UE and 14.7% in case UC-NUE.

A final observation may be made in regard to Figure 8, which depicts the percentage of energy conservation for OpA, comparison C, in cases UC-UE, NUC-UE and UC-NUE, for a density of 0.3 nodes/m2, in relation to the distance of each area from the Coordinator. As could be expected, the greater the distance of the sources from the Coordinator, the more energy conservation is derived from the use of the framework.

Although they have not been reported, similar results have been obtained for all other cases.

6. Conclusions

In this paper we have studied the deployment of distributed applications inWireless Sensor Networks and proposed a solution aimed at minimizing the impact of energy consumption on the network lifetime. We have considered a scenario where the nodes have dissimilar capacities in terms of sensing and processing. The resulting algorithm has been implemented to perform simulations in different scenarios and the results have been compared with alternative solutions. We observed significant improvements in terms of energy savings. We may therefore infer that using the framework described would be particularly energy conserving when the application encompasses the processing of data coming from different nodes, the processing is pretty complex, and the energy consumption of nodes as well as battery energy is not uniform over the entire network.

Energy Consumption
PT

Transmitting radio frequency power consumption

PR

Receiving radio frequency power consumption

PT0

Transmitting circuit power consumption

PR0

Receiving circuit power consumption

PA

Power Amplifier power consumption

PTx

Output power at the antenna

PRx

Input power at the antenna

δ

Distance between transmitting and receiving nodes

η

Drain efficiency of the Power Amplifier

A

Parameter determined by the characteristics of the antennas such as gain and efficiency

α

Path loss exponent

ε

Parameter proportional to PRx and A

etx

Transmission energy consumption

R

Data rate

eT

Energy consumed to send one bit

eR

Energy consumed to receive one bit

esens

Sensing energy consumption

eproc

Processing energy consumption

einstr

Average energy consumption per instruction executed

Mtask

Number of instruction to process task

smpin

Number of samples to be processed

Problem Formulation
X = {x1, ..., xi, ..., xN}

Set of N nodes in the WSN

A = (aij) ∈ ℝN × N

Adjacency matrix

Δ = (δij) ∈ ℝN × N

Distances matrix

E = (εij) ∈ ℝN × N

Matrix of the parameters ε

Vi = {PR0i, PT0i, ηi}

Set of characteristic parameters of the node xi

F = {f0, ..., fw, ..., fW }

Set of W tasks that can be performed by any node in the network

Di = {di1, ..., dim, ..., dili}

Set of li tasks that the node xi is able to perform

O

Operation performed by the WSN

Etot

Total cost value associated to O

C = {c1, ..., cl, ..., cL}

Set of L sub-operations which must be executed by the nodes to perform operation O

S = {s1, ..., si, ..., sN}

Set of N statuses, where si corresponds to the status of the node xi

Traffic Flows
T i out = ( t ih out ) 𝕉 H

Vector of the output traffic flows generated by node xi

t ih out = { k ih out , f ih out }

Traffic flow, corresponding to the h-th element of T i out, where each sample of k ih out bits is transmitted at the frequency f ih out

T i in

Vector of the input traffic flows, corresponding to the union of the traffic flows received by node xi

p ( T i in , s i )

Function which generates the output traffic T i out, based on the input traffic and the status of the node xi

Virtual Nodes
Gi

Set of sub-operations that a single node xi can perform consecutively for the implementation of the operation O

L

Set of sub-operations that the nodes cannot execute with the others

X vir = { x 1 vir , , x v vir , , x N vir vir

Set of Nvir nodes of the WSN with virtual nodes

Avir ∈ ℝNvir × Nvir

Adjacency matrix for the WSN with virtual nodes

Δvir ∈ ℝNvir × Nvir

Distances matrix for the WSN with virtual nodes

Evir ∈ ℝNvir × Nvir

Matrix of the parameters ε for the WSN with virtual nodes

V v vir

Set of characteristic parameters of the node x v vir of the WSN with virtual nodes

D v vir

Set of tasks that the node x v vir of the WSN with virtual nodes is able to perform

Cost Functions
E i sens

Sensing cost function for node xi

γi

Coefficient in inverse proportion with the residual energy of the node xi

E i proc

Processing cost function for the node xi

E i tx

Transmission cost function for the node xi

Q l min

Minimum number of nodes that have to perform the sub-operation cl

Q l max

Maximum number of nodes that have to perform the sub-operation cl

References

  1. Yick, J; Mukherjee, B; Ghosal, D. Wireless sensor network survey. Comput. Networks 2008, 52, 2292–2330. [Google Scholar]
  2. Atzori, L; Iera, A; Morabito, G. The internet of things: A survey. Comput. Networks 2010, 54, 2787–2805. [Google Scholar]
  3. Singh, S; Woo, M; Raghavendra, C. Power-aware routing in mobile ad hoc networks. Proceeding of the 4th ACM/IEEE International Conference on Mobile Computing and Networking, Dallas, TX, USA, July 1998.
  4. Chang, J; Tassiulas, L. Energy conserving routing in wireless sensor networks. Proceedigns of the Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies, INFOCOM 2000, Tel Aviv-Yafo, Israel, 26–30 March 2000; 1, pp. 22–31.
  5. Park, J; Sahni, S. An online heuristic for maximum lifetime routing in wireless sensor networks. IEEE Trans. Comput 2006, 55, 1048–1056. [Google Scholar]
  6. Liu, F; Tsui, C; Zhang, YJ. Joint routing and sleep scheduling for lifetime maximization of wireless sensor networks. IEEE Trans. Wireless Commun 2010, 9, 2258–2267. [Google Scholar]
  7. Ramanathan, R; Hain, R. Topology control of multihop wireless networks using transmit power adjustment. Proceedigns of the Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies, INFOCOM 2000, Tel Aviv-Yafo, Israel, 26–30 March 2000.
  8. Calhoun, B; Daly, D; Verma, N; Finchelstein, D; Wentzloff, D; Wang, A; Cho, S; Chandrakasan, A. Design considerations for ultra-low energy wireless microsensor nodes. IEEE Trans. Comput 2005, 54, 727–740. [Google Scholar]
  9. Ergen, SC; Varaiya, P. Optimal placement of relay nodes for energy efficiency in sensor networks. Proceedings of the IEEE International Conference on Communications, ICC ’06, Istanbul, Turkey, 1–15 June 2006.
  10. Tang, J; Hao, B; Sen, A. Relay node placement in large scale wireless sensor networks. Comput. Commun 2006, 29, 490–501. [Google Scholar]
  11. Gao, Q; Blow, K; Holding, D; Iqbal, QR. Radio range adjustment for energy efficient wireless sensor networks. Proceedings of SpringSim’07, Norfolk, VA, USA, 25–29 March 2007.
  12. Howitt, I; Wang, J. Energy balanced chain in wireless sensor networks. Proceedings of the IEEE Wireless Communications and Networking Conference, WCNC 2004, Atlanta, GA, USA, 21–25 March 2004.
  13. Heinzelman, W; Chandrakasan, A; Balakrishnan, H. An application-specific protocol architecture for wireless microsensor networks. IEEE Trans. Wireless Commun 2002, 1, 660–670. [Google Scholar]
  14. Hong, T; Wu, C. An improved weighted clustering algorithm for determination of application nodes in heterogeneous sensor networks. J. Inf. Hiding Multimedia Signal Process 2011, 2, 173–184. [Google Scholar]
  15. Spiess, P; Karnouskos, S; Guinard, D; Savio, D; Baecker, O; de Souza, LM; Trifa, V. SOA-Based integration of the internet of things in enterprise services. Proceedings of the International Workshop on Cloud Services, IWCS 2009, Los Angeles, CA, USA, 10 July 2009.
  16. Wang, Q; Hempstead, M; Yang, W. A realistic power consumption model for wireless sensor network devices. Proceedings of the Third Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks, Reston, VA, USA; Sepember 2006; pp. 25–28. [Google Scholar]
  17. ILOG. CPLEX User’s Manual. Available online: http://yalma.fime.uanl.mx/cplex11-manual/Content/Optimization/Documentation/CPLEX/_pubskel/XPlatform/User_man250.html (accessed on 9 June 2011).
  18. FICO. Xpress Optimization Suite. Available online: http://www.fico.com/en/Products/DMTools/Pages/FICO-Xpress-Optimization-Suite.aspx (accessed on 9 June 2011).
  19. Chipcon. SmartRF CC2420 Datasheet. 2.4 GHz IEEE 802.15.4/ZigBee-Ready RF Transceiver. Available online: http://inst.eecs.berkeley.edu/cs150/Documents/CC2420.pdf (accessed on 9 June 2011).
  20. IEEE. Std 802.15.4. 2006. Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (WPANs). Available online: http://www.google.com.hk/url?sa=t&source=web&cd=1&ved=0CB0QFjAA&url=http%3A%2F%2Fprofsite.um.ac.ir%2Fhyaghmae%2FACN%2FWSNMAC1.pdf (accessed on 9 June 2011). [Google Scholar]
Figure 1. Structure of a WSN.
Figure 1. Structure of a WSN.
Sensors 11 07395f1 1024
Figure 2. Example of a WSN. Nodes belonging to set 1 might perform task f1; nodes in set 2 might perform task f2; nodes in set 3 might perform task f3.
Figure 2. Example of a WSN. Nodes belonging to set 1 might perform task f1; nodes in set 2 might perform task f2; nodes in set 3 might perform task f3.
Sensors 11 07395f2 1024
Figure 3. Examples of data processing in node 4 that receives input traffic from nodes 1–3. In these sketches we show the input and output traffic for: spatial averaging (a); temporal averaging (b); and single sample processing (c).
Figure 3. Examples of data processing in node 4 that receives input traffic from nodes 1–3. In these sketches we show the input and output traffic for: spatial averaging (a); temporal averaging (b); and single sample processing (c).
Sensors 11 07395f3 1024
Figure 4. Example of virtual nodes substituting node x4. Node x4 can perform a sensing action.
Figure 4. Example of virtual nodes substituting node x4. Node x4 can perform a sensing action.
Sensors 11 07395f4 1024
Figure 5. Percentage of energy conservation using the framework, for (a) OpA and (b) OpB, in cases UC-UE, NUC-UE and UC-NUE, comparisons C, CH and M, for a node density of 0.3 nodes per m2.
Figure 5. Percentage of energy conservation using the framework, for (a) OpA and (b) OpB, in cases UC-UE, NUC-UE and UC-NUE, comparisons C, CH and M, for a node density of 0.3 nodes per m2.
Sensors 11 07395f5 1024
Figure 6. Example of a transmission from Cluster Head CH 1 to Cluster Head CH 2.
Figure 6. Example of a transmission from Cluster Head CH 1 to Cluster Head CH 2.
Sensors 11 07395f6 1024
Figure 7. Percentage of energy conservation with respect to the ratio between processing cost and the cost to transmit 137 bytes of data, for cases UC-UE, NUC-UE and UC-NUE, for a density of 0.3 nodes per m2. Solid lines show energy conservation with respect to data processed only by the Coordinator; dashed lines show energy conservation with respect to data processed by every Cluster Head.
Figure 7. Percentage of energy conservation with respect to the ratio between processing cost and the cost to transmit 137 bytes of data, for cases UC-UE, NUC-UE and UC-NUE, for a density of 0.3 nodes per m2. Solid lines show energy conservation with respect to data processed only by the Coordinator; dashed lines show energy conservation with respect to data processed by every Cluster Head.
Sensors 11 07395f7 1024
Figure 8. Percentage of energy conservation for every area of the network for OpA, comparison C, in cases UC-UE, NUC-UE and UC-NUE, for a density of 0.3 nodes/m2, for an increasing distance of the area from the Coordinator.
Figure 8. Percentage of energy conservation for every area of the network for OpA, comparison C, in cases UC-UE, NUC-UE and UC-NUE, for a density of 0.3 nodes/m2, for an increasing distance of the area from the Coordinator.
Sensors 11 07395f8 1024
Table 1. Sub-operations for the spatial and temporal monitoring example.
Table 1. Sub-operations for the spatial and temporal monitoring example.
ciDescription
c1Temperature sensing in area 1
c2Temperature sensing in area 2
c3Temperature sensing in area 3
c4Temporal mean
c5Spatial mean
c6Only transmission
c7No actions
Table 2. Sub-operations for OpA and OpB, for two monitored areas.
Table 2. Sub-operations for OpA and OpB, for two monitored areas.
ciOpAOpB
c1Temperature, humidity, PH and light exposure sensing for area 1
c2Temperature, humidity, PH and light exposure sensing for area 2
c3Temporal meanAggregation of samples
c4Spatial meanOnly transmissions
c5Only transmissionNo actions
c6No actions——
Table 3. Simulation setup parameters.
Table 3. Simulation setup parameters.
ParameterValue
RF frequency2,400 MHz
Bit rate250 kbps
Programmable output power rangeProgrammable in 8 steps from approximately 24 to 0 dBm
Receiver sensitivity94 dBm
PR059.2 mW
PT026.5 mW
η50%
A14 dB
einstr1 nJ
Packets header12 bytes
Packets maximum payload125 bytes
Table 4. Percentage values of energy conservation using the framework, for OpA and OpB, in cases UC-UE, NUC-UE and UC-NUE, comparisons C, CH and M, for a node density of 0.2 and 0.4 nodes/m2.
Table 4. Percentage values of energy conservation using the framework, for OpA and OpB, in cases UC-UE, NUC-UE and UC-NUE, comparisons C, CH and M, for a node density of 0.2 and 0.4 nodes/m2.
Node density [nodes/m2]Case 1[%]Case 2[%]Case 3[%]
CCHMCCHMCCHM
OpA0.2
0.4
19.5
25.6
5.5
5.9
11 7
16 5
50.0
58.0
29.3
35.3
42.2
46.2
47.5
56.7
16.4
23.5
33.6
43.7
OpB0.2
0.4
28.9
30.8
0.1
0.1
17.0
18.2
33.3
37.8
0.7
1.0
19.9
21.4
38.6
40.9
1.6
3.5
19.7
21.1

Share and Cite

MDPI and ACS Style

Pilloni, V.; Atzori, L. Deployment of Distributed Applications in Wireless Sensor Networks. Sensors 2011, 11, 7395-7419. https://doi.org/10.3390/s110807395

AMA Style

Pilloni V, Atzori L. Deployment of Distributed Applications in Wireless Sensor Networks. Sensors. 2011; 11(8):7395-7419. https://doi.org/10.3390/s110807395

Chicago/Turabian Style

Pilloni, Virginia, and Luigi Atzori. 2011. "Deployment of Distributed Applications in Wireless Sensor Networks" Sensors 11, no. 8: 7395-7419. https://doi.org/10.3390/s110807395

Article Metrics

Back to TopTop