## 1 Introduction  
Research into sensor networks has increased over the last twenty years. A logical extension of the research carried out into sensor networks has been into the use of wireless transmission to form Wireless Sensor Networks (WSN). WSN is now being used for unattended monitoring of infrastructure including road, rail, bridges, factories _etc._; a range of environments such as forests, ocean life, _etc._; and even humans. Both mobile ad-hoc networks and WSN are infrastructure-less with a dynamic nature for the number of nodes and their mobility pattern, however, WSN has become more exigent with two additional challenges: limited resources and an extremely large number of nodes in a defined space. The prime focus of WSN is sensed data, specific to an application, and thereafter the identity of a sensor is not as important as the data associated with it. The nature of WSN has led to research into efficient data storage and retrieval methods. There are three canonical data storage and retrieval methods [1, 2] referred to as External Storage (ES), Local Storage (LS) and Data-Centric Storage (DCS). In ES [3, 4, 5, 6] nodes send data to the base station or gateway without prior processing or waiting for any query, and thus generated traffic is highly directed from many nodes towards one or a few sink nodes creating a potential bottleneck or hotspot surrounding the base station. The excessive traffic, created due to the continuous reporting of sensor data, leads to the high consumption of energy per node reducing the overall lifetime of the network. ES approaches may also have an unbalanced energy consumption rate among nodes due to the variation of distances between base station and sensor node. Furthermore, since the sink node is solely responsible to aggregate/fuse data and answer all queries, ES may result in delayed service. In LS [7, 8, 9, 10, 11] each node keeps its sensed data locally and uses flooding for queries consuming a significant amount of energy resources. Since the query node does not know the target node that stores the data of interest, it executes a blind query to all sensor nodes for data retrieval. In DCS, an event name is hashed to find the geographic location where data is sent to be stored. Data with the same event name is stored at the node closest to the same geographical location. Hence, queries with a particular name can be forwarded directly to the node storing the named data avoiding flooding. In [7], this approach has been shown as an energy-efficient data dissemination technique when compared to LS and ES. The key design constraint in WSN is the limited energy budget of a wireless sensor node together with the requirement for a long lifetime. In typical wireless sensor applications, the node's radio consumption dominates the total energy consumption. In [12], it is identified that a common node continuously powered on drains an AA battery of 300 mAh in four days where the typical operation target is several years. Thus providing the guarantee of longevity under the specified energy and complexity constraints is one of the prime concerns for a WSN design. DCS [1, 13, 14, 15] achieves this design goal by storing events in specified locations and uses data and communication naming abstractions rather than network addresses. Networks are usually divided into regions or sections where each region (or rendezvous nodes) represents a particular event or data type. Geographic Hash Table (GHT) [1] is the first DCS mechanism, proposed in 2002, where [PERSON], _et al._ use Distributed Hash Table (DHT) in order to map an event name to geographical spatial locations. It was proposed to select one (or more) rendezvous node(s), based on the event type, as the target node to store data. This reduces both storage and query cost. Subsequent research has been carried outtargeting different challenges including non-uniformity of the network, multi-dimensional attributes, range query, data aggregation and similarity searches.