## 1 Introduction
Such queries have different attributes and data will be returned according to the specified attributes. In this area, the authors in [6] proposed a data-centric routing scheme based on flooding which uses only 1-hop neighbor information. In this scheme, to reduce the number of messages and conserve more energy, at each hop, just a subset of neighbor nodes is selected to rebroadcast the flooding message. The data-centric protocol in [21] makes use of historical link states and link quality estimation to route data toward the sink. It generates a connectivity graph according to the result of link quality estimation and considers dynamic windows for discovering historical link states. In [22] the authors proposed a topology aware routing (TAR) protocol which encodes a network topology to a low dimensional virtual coordinate area where hop distances between the nodes are maintained. According to accurate hop distance comparisons, TAR uses greedy forwarding to find the proper neighbor which is one hop closer to the sink and obtain high packet delivery ratio. In [7] a geometric spanner for static wireless _ad hoc_ networks is proposed, which can be used in a localized manner. In this scheme, by utilization of a connected dominating set and the local Delaunay graph, an efficient network backbone is constructed and the communication cost is reduced. Hierarchical algorithms separate the nodes into sub regions called clusters in order to segregate the areas of the monitoring environment. To allow communication between the clusters, a leader (cluster-head) is selected from each cluster. Leaders are then responsible for the management (data aggregation, queries dispatch) and transmission of the collected data within the region they control. Hierarchical or cluster-based routing usually consists of two layer routing: one layer relates to cluster head selection and the other one for routing. The main goal of these protocols is energy conservation by participation of the nodes in multi-hop communications [17]. Cluster Overlay Broadcast (COB) [23] works with route request messages and route reply messages flooded only by cluster heads. While receiving a route reply message, a cluster head labels itself as active for the related session. However, the route generated by this approach can only be used once. In [24] a clustering routing approach based on a Bayesian game is proposed. In this approach, to reduce the energy consumption, a static game of incomplete information in converted into a static game of complete information. In addition, both cluster head distribution and remaining energy of the nodes are taken into consideration in the design of the proposed routing algorithm. In [25] the authors proposed an intelligent system for controlling buildings and providing energy saving services. In this scheme, they used a self-clustering sensor network and proposed a node type indicator based routing (NTIR) protocol to support sensor network requirements and prolong the network lifetime. Location-based algorithms relay on the use of a node's position information to find and forward data towards a destination in a specific network region. Position information is usually obtained from GPS (Global Positioning System) equipment or by exchanging some positional information. In recent years, several location-based routing approaches have been proposed. In [26] the authors proposed a 3D geographical routing (3 DGR) scheme which uses the location information of the nodes to route data from source nodes to destinations by considering path quality and reliability. Moreover, the geographic routing algorithm which is proposed in [27] makes use of virtual position as the intermediate location of all direct neighbors of a node. In this scheme, instead of using nodes' real locations, the virtual positions are utilized in selecting the next hop. The so-called energy-awareinterference-sensitive geographic routing (EIGR) protocol [28] aims to reduce the average energy consumption of networks and mitigate interference.