Information retrieval is vital to all practical sensor network applications. Resource constraints on nodes like limited battery, memory and computing power dictate that applications have to be designed with the view of maximizing energy efficiency. In-network reduction of data to information is therefore preferable to simple data retrieval. In-network processing so far has been limited to systems where the most complex of queries are simple aggregates. There is currently little research into how the idea of in-network processing can be extended and implemented to allow more complex queries to be resolved within the network
The authors defined complex queries as queries which:
This research proposed that:
In constructing a spatio-temporal query, for example, one has to consider not only local processing but perform ‘interpretation’ of data over an area of interest. To formulate such a request therefore requires that the system provide the ability to construct and issue more complex queries. These queries would represent higher level abstractions and would require more complex interactions to generate information. An example of a complex query is:
‘What is the average temperature in those areas in the network where the humidity is greater than 95 and the air pressure is between 900 and 1000 mbar’.
There is a need for the query to be able to express some type of spatial reasoning. Further, the questions can only be answered after some reasoning within and between the defined spatial entities. In effect, parts of the query depend on an earlier question being answered and only become relevant if a particular answer is obtained.
It therefore becomes necessary to create a processing system that facilitates in-network query resolution. Some of the abstractions proposed in a number of macroprogramming systems can be used in designing distributed algorithms that facilitate application development. In our research these abstractions were referred to as regions.
As a first step in the research, the feasibility of using in-network abstractions for complex query processing was examined. A number of simulations incorporating different techniques for query processing were conducted and the efficiency of the in-network abstraction approach analysed against results where centralized and in-network aggregation approaches were used. Below is a brief description of each simulation with links to view.
Region-based Simulation
In this simulation the network is divided into logical regions and the regions used to facilitate query processing. In this first example, regions are established over geographical location with a leader elected for each region. A 'preconflagration gas event' occurs and is communicated to the leader of the region within which it occurred. The leader sends out a query for temperature and gas data which it will use to determine whether a fire has started or not. Based on the result a FIREDETECTED or FALSEALARM response is sent to the sink which can lead to further queries. Watch the simulation.
Centralized Simulation
This simulation represents the basic warehousing approach where all data is sent directly to the sink for analysis. When the gas event occurs the detecting node immediately informs the sink. Once the sink has received the message it issues a query for the gas and temperature readings. This message reaches all nodes within range with nodes subsequently responding to the sink. Once the sink has received the data, analysis is performed to determine if the data indicates a fire or not. Watch the simulation.
In-network Aggregation Simulation
This simulation represents the class of query-based systems that incorporate in-network processing via aggregation of data up a spanning tree of the network, to the root (sink node). Each node knows its parent which is a node one level closer to the root. Data is sent by a node to its parent and to the parent’s parent until it reaches the sink.The sink upon receiving the message issues a query for the gas and temperature readings. When a node receives the message it forwards to its parent node a packet containing the gas and temperature readings. Data is aggregated wherever possible as messages move up the tree and sent in the same data packet. Once the sink has received this aggregate data, analysis is performed to determine if the data indicates a possible fire or not. If that is the case, further queries may need to be issued. Watch the simulation.
Contour mapping of sensored spaces is an important way of allowing the visualisation of sensor fields and can be used in a number of application domains like environmental monitoring. The idea of a region-based interpolated mapping of a parameter or combination of sensor parameters is one possible implementation of the ideas put forward in this research. This video shows a possible visualization of the interpolated data and resulting map from such a system.