# Energy Efficient Routing in Wireless Sensor Networks: A Comprehensive Survey
## 2 Communication Model
### Query Based
_Energy aware routing_[31] is a data centric routing protocol that constantly uses non optimal paths to maximize network lifetime. To pick one of these paths, it uses a probability function that depends on energy consumption of each path. This approach takes into consideration network lifetime as the only metric attribute. Instead of using the minimum energy path, it uses multiple routes with a certain probability to maximize network lifetime. The operation of the routing protocol has three phases:  
1. Setup phase: Localized flooding is performed to find all paths from source to destination, calculate corresponding energy costs and create routing tables. 2. Data Communication phase: Based on the energy costs calculated, routing paths are chosen probabilistically and data are sent from source to destination. 3. Routing maintenance phase: With the intermittent use of localized flooding, routing paths are kept alive. Energy aware routing protocol compared to DD provides greater energy efficiency. However, a single path use removes path failure tolerance. In addition, compared to DD, more complex routing paths are formed due to the storage of location information and the addressing mechanism. _Gradient Based Routing_ (GBR) [32] is a variant of Directed Diffusion. It combines the number of hops with interests and creates link heights and gradients to improve data communication. When an interest is diffused through the network, the number of hops is stored. Every node can find out the minimum number of hops to the BS, called node's height. A link's gradient is the difference of height between two neighbor nodes. A packet is transmitted through a link with a high gradient. The algorithm uniformly balances traffic over the network, which helps to balance nodes' load and prolong network lifetime, using techniques as data aggregation and traffic spread, as nodes act as relays for multiple paths. It uses three data spreading techniques:  
1. Stochastic design: the sender node picks one link in random in case there are two or more hops with the same gradient. 2. Energy based design: when a node has energy below a specified threshold, it increases its height to discourage other neighbors to transmit data. 3. Flow based design: flows from nodes that are part of other flows are prevented. Compared to DD, GBR has lower communication energy consumption. In addition, GBR provides great load balancing. However, increased overhead is produced. In [33], two schemes called _Constrained Anisotropic Diffusion Routing_ (CADR) and _Information Driven Sensor Querying_ (IDSQ) are introduced. In order to maximize information gain while maintaining latency and bandwidth at minimum, nodes are queried and data are routed by activating sensor nodes close to a specific event and data routes are dynamically adjusted. In this way, compared to Directed Diffusion, greater energy efficiency is provided. In addition, queries reach neighbors first. On the other hand, the combination of the processes creates overhead. In CADR, nodes evaluate objectives of information/cost and route packets based on local information/cost gradient and requirements of the end user. To model the information utility measure, standard estimation theory is used. In IDSQ, there is no defined routing of queries and information between nodes and the BS, but the way to select the optimal order of nodes for maximum incremental information gain is provided. Thus, IDSQ acts as an auxiliary optimization process. A synopsis of the characteristics of Query based routing protocols is shown in Table 1.