# Current Trends on Green Wireless Sensor Networks
## 2 Energy Conservation
### Energy-Efficient Routing  
In the network layer, the most important task in the WSN is to set up a route between sensor nodes and BS. Since routing is an additional energy-consuming task, especially in the nodes close to the sink because of forwarding much more traffic, we must use energy-aware routing protocols. For an extensive review, the most cited surveys are [9; 125; 126; 127; 128; 129]. In the last two years, we can also find many surveys [130]. The survey done by [PERSON] and [PERSON] [131] (as [PERSON] and [PERSON] [132] had done before in [132]) classifies energy-efficient routing protocols according to the communication mode towards BS into single-hop or multihop, both cases with and without clustering. In the case of clustering, the mode refers to the communication between CH and BS. In the other hand, multihop routing protocols are classified between single-path or multipath (if traffic from source to BS is balanced between several paths). The survey by [PERSON] and [PERSON] [133] uses a taxonomy of routing protocols based on the network structure, classifying them into flat network (or data-centric), hierarchical and location-based routing protocols. [PERSON] et al. [134] uses the same classification, but the QoS-aware routing protocols are also considered. [PERSON] et al. [135] made the most complete survey about EE routing because, in addition to the traditional classification category of network structure, they also consider the communication model, if location information is either used or not, and if QoS or multipath are or not supported, and moreover protocols are both described and compared in every category. This classification is shown in Figure 2.  
Regarding the communication model, the protocols can be:  
* Query-based: When BS needs new data, it broadcasts a query message to ask for these data. Next, the node which owns the requested data sends them to the BS. * Coherent or non-coherent: In coherent protocols, a node applies some processing to the collected data. However, in non-coherent algorithms, the collected data are preprocessed at the source nodes and then sent to a special node, called aggregator (usually the CH), where they are further processed for data reduction. * Negotiation-based: before real data transmission, negotiation messages are exchanged between a source node and their destination to prevent redundant data. These protocols use a naming scheme to advertise data to destination. Regarding whether or not location information is used, this latter survey considers the special case of using a mobile agent (a program that travels across the nodes to perform tasks based on environmental conditions in an autonomous way) and where the BS can move within the network to collect data from sensor nodes. Location-based routing is also included under this type, but it could be included under the network structure category as done in other surveys. Under the Reliable Routing category, protocols are classified depending upon their inclusion of QoS support or multiple paths to balance the load and tolerate path failures. Another recent work [130] makes a systematic review of energy efficient routing schemes examining the literature during 2016-2018. For this purpose, they consider different categories of protocols: location-based, heterogeneity, mobility-based, multipath, hierarchical, data-centric and QoS based. To sum up, most of the routing algorithms proposed in the literature can be classified in flat network, hierarchical and location-based, either using single-hop or multihop communication. In flat network routing, all nodes have the same responsibility and every node has all information, so that the user can send a query to any node to obtain information. We must note that it is not possible to use a global addressing scheme due to the huge number of nodes in the network. This fact makes classical IP-based routing inadequate. Therefore, the routing is data-centric, i.e., it is totally dependent on naming of desired data.