## 1 Introduction  
Recent progress in wireless sensor networks has revealed that multifarious sensors can be used to monitor various environment objects, such as plants, farm soil, factory instruments, and bird nests. To support ubiquitous computing, sensor networks should be integrated with the Internet, enabling people around the world to ubiquitously access information about the physical world [1]. In wireless sensor networks, sensor nodes can either periodically report sensing data to a server in a proactive manner, or deliver sensing data on-demand, namely when a user queries the sensor nodes only. On-demand information retrieval enables interaction between Internet users and sensor nodes, and lets a user retrieve up-to-date sensing information (such as the up-to-date landscape of a region) [1-4]. On-demand information retrieval consists of a data query phase and a data collection phase. A user initiates the process by sending a query message to a sensor network through the sink node, which broadcasts the query message to nodes in the network. The destination of a user's query is not described by the sensors' identifiers (IDs) but by the users' interest, as represented by the name of data attributes [2]. For instance, a typical query would not be destined to a certain sensor node for its temperature data, but rather to the corresponding sensor nodes for 'the temperature in the north-west quadrant'. Upon receiving the query message, the sensor nodes that match the query deliver sensing data to the sink node. The sink node then sends to the user the collected sensing data via the Internet. Because of the power constraints of battery-powered sensor nodes, energy efficiency is a substantial requirement of information retrieval in sensor networks. For this reason, each query message should be sent to sensor nodes with small traffic overhead and sensing data should be collected with low and balanced energy consumption. However, on-demand query messages are generally forwarded to sensor nodes in network-wide broadcasts, which create a large traffic overhead. Although geocasting can be used to localise a query dissemination area, the success of conventional query geocasting relies on two assumptions: the user specifies a region as the query's designated area and the specified query region includes all sensors that are corresponding to the query [5,6]. In fact, a user who issues a query to sensor networks often knows only the attributes of his/her interests, such as temperature information, and the name or location of relevant query objects such as a room. The location of a query object that the user knows may also be different from the location where the relevant sensors are deployed. Sensing data collection has meanwhile been the subject of extensive research. Data aggregation is a key solution to achieve energy efficiency. To aggregate sensing data in the sensor network, various network structures such as clusters and chains are utilised. Most of these data collection structures are applied to the proactive data collection, in which sensors periodically report data to a data server [7-11]. Note that on-demand information retrieval initiates query and data collection at arbitrary times from users with diverse interests. This makes it difficult to utilise data aggregation structures of clusters or chains, because of the complexity of setup and maintenance of the network structures of data aggregation. Many conventional on-demand data collection approaches adopt reverse trees, which are built based on the query dissemination. Sensing data are delivered in the tree towards the sink node, which is the root of the tree. However, this on-demand data collection is inefficient because of the large and unbalanced energy consumption in the network. Because most data are accumulated at a sink node with multihop relays, nodes near the sink node are likely to consume more energy than nodes remote to the sink node.