# An Energy-Efficient Approach to Enhance Virtual Sensors Provisioning in Sensor Clouds Environments
## 2 Related Works  
The problem of virtual sensor provisioning appears similar to the sensor allocation problem [5; 23; 25; 26; 27; 28; 29; 30], which is traditionally treated in the wireless sensor network context. However, these works consider only homogeneous sensor nodes (with the same physical characteristics such as the number and type of sensors) and a single application running on these nodes (for example, an application that periodically sends its measurements to the sink node). Another characteristic is the use of redundant sensors within the region of interest in order to organize the sensors into clusters. In the LEACH protocol [30], for instance, sensor nodes periodically change their status between sleep/wake-up. However, such a technique is not feasible in the sensor cloud environment since it does not consider different queries at the same time (for example, a case where query 1 requires temperature and humidity, and query 2 requires temperature and light) or sensor node heterogeneity (some nodes provide three types of sensors while others provide just one, for instance). Thus, there is no guarantee that awakened nodes can provide the required sensors. In Cloud Computing literature, there are already works on resource allocation, such as [31; 32], in which they also consider the optimal selection of resources in datacenters (like virtual machines, storage disks, and memories) to save energy consumption. Although similar to virtual sensor provisioning, the algorithms found in cloud computing context cannot be used in sensor cloud, since they do not take into account the constrained and specifics characteristics of a WSN (such as the small processing capability and limited energy supply). As many applications are related to the periodic monitoring of physical conditions (such as temperature and humidity), redundant data may be sent by many sensor nodes [33]. Most works in the literature consider data aggregation to overcome this situation [8; 34; 35; 36; 37; 38]. In these works, aggregation occurs when nodes are close to each other, or when data are relayed by some intermediate node, in some tree-routing scheme. However, the fact that nodes are close to each other does not guarantee data correlation in order to perform aggregation. For instance, two nodes can be separated by a wall. One node can be inside a room cooled by some air conditioning system, and the other one can be outside during a hot day. To illustrate that problem, consider the WSN in Figure 3a. There are 11 sensor nodes, represented by yellow circles, and one sink node, represented by a small brown square, at the top of the figure. The sensor nodes inside dashed squares are the selected ones to sensor the environment and to send their measurements. The others nodes are selected to act as a relay to the sink node. The color of the dashes represents regions whose temperature are very close, according to the user configuration. In Figure 3b, the nodes are organized in clustering-based routing scheme and the measurements transmitted by the sensor nodes are summarized by the relay-nodes. Although Nodes 7 and 8 are measuring temperature values very close to the values of the Nodes 10 and 9, Clusters 6 and 5 are transmitting the same values, generating an overhead of messages. In AC\(\times\)SIM, that problem could be mitigated by the selection of only a subset of sensor nodes from \"red\" and \"green\" clusters. For example, if only Node 7 and Node 12 were selected to transmit their measurements, the user would still have a view of all the region monitored. [PERSON] et al. [39] propose a scheme for the composition of virtual sensors based on the selection of only a subset of physical sensor nodes. The selection process takes into account the _goodness_ of the physical sensor nodes, i.e., how good is a particular sensor node to be part of a solution.