ABSTRACT

Networks of sensor nodes are usually employed to monitor large areas, collecting data with regular frequency. This large volume of data has to be stored somewhere for answering to external user queries [1]. There are usually two main ways to store data. Source nodes, which are responsible for collecting data, can either locally store the data or transmit them to the sink, a powerful node connected to the external world. Both solutions present some disadvantages. If data are locally stored, several problems may arise: (1) data cannot be accumulated for long periods because nonsink nodes are equipped with only limited memory space, (2) stored data are lost once the energy of a source node—battery operated—is depleted, and (3) searching data for serving query demand results in network-wide communications. If data are forwarded from the source nodes to the sink node, the network might become congested, especially if raw (i.e., uncompressed) data are transmitted. Limitations to the number of packets a sensor can transmit to the sink per time unit must be also considered [2,3]. Nonetheless, sensors around the sink are generally highly used and exhausted easily; thus, the network may be partitioned rapidly due to the so-called sink-hole problem [4]. This problem has an increasing impact, for example, in visual sensor networks, 542a special class of wireless sensor network with smart-cameras, that handle larger set of data and that are an effective tool for many large area surveillance, environmental monitoring, and objects tracking applications [5].