# Energy Efficient Routing in Wireless Sensor Networks: A Comprehensive Survey
## 3 Network Structure
### Hierarchical
#### 3.2.1 Hierarchy Based
Furthermore, data transmission to the BS is achieved through a cluster head to cluster head routing. In BCDCP, cluster head overload is avoided and uniform placement of cluster heads is achieved. However, there is decreased performance gain for a small field area. _Equalized Cluster Head Election Routing Protocol_ (ECHERP) [66] is a hierarchical routing protocol that uses the Gaussian elimination algorithm for the cluster head selection. In the initialization phase of ECHERP, the BS uses an advertisement TDMA schedule in order to get information regarding the location and the energy conservation of each individual network node. Next, the BS uses the Gaussian Elimination algorithm to compute, by considering all possible node combinations, the energy outflow that every single node will have if it becomes a cluster head at the very next round. In this way, the combination of cluster heads that minimizes the overall energy consumption is both discovered and selected. Gaussian elimination is executed in two phases. During the first phase, the rank of the linear system built, which represents the energy spent, is reduced by using the forward elimination technique. In the second phase, the solution of this system built is found by using the back-substitution technique. Next, the base station notifies the IDs of the newly elected cluster heads and it transmits them to the network for the cluster nodes to join the clusters. Finally, each cluster head uses a TDMA schedule in order to collect data from the nodes that belong to its cluster and then sends aggregated information to the BS either directly (if possible) or via upper level cluster heads. ECHERP achieves high energy efficiency, good scalability, and better overall performance compared to LEACH, PEGASIS, and BCDCP. On the other hand, metrics related to QoS and time constraints are not considered. _Multi-hop virtual Multiple Input Multiple Output_ (MIMO) [67] is a protocol that uses multiple nodes to collect and transmit event data with multiple hops to a remote BS. The network is divided in clusters where cluster heads communicate only with in-cluster nodes, which use Space-Time Block Code (STBC) for data encoding and transmission. Due to the short range of the intra-cluster communication, it assumes the use of an Additive White Gaussian Noise Channel with squared power path loss. MIMO achieves good energy saving, but may perform below optimal performance. _Hierarchical Power Aware Routing_ (HPAR) [68] protocol takes into consideration both the transmission power and the minimum battery power of nodes in routing paths. Specifically, first neighboring nodes are grouped in formations called zones and then it applies a maximum battery life policy. This policy uses an approximation algorithm called max-min ZPmin. At first, this algorithm discovers the least power consumption path. Then, it finds another path that maximizes the minimum battery energy. Finally, by taking into consideration both outcomes, the optimal routing path is discovered. In HPAR, both the transmission power and the minimum battery power are considered. In addition, the use of zones supports scalability. On the other hand, high overhead is caused. _Sleep/Wake Scheduling_[69] is a hierarchical protocol that divides the network into clusters that consist of a cluster head and cluster nodes and implements two radio modes, sleep, and wake. During Sleep/Wake Scheduling operation, a node can put its radio module into sleep mode, when there is no traffic in the network and into wake mode, when a node transmits or receives a packet. The key point is that it synchronizes sender and receiver, so that they can be put to sleep or wake mode at the same time with accurate synchronization, while random errors can occur due to system's non-deterministic factors. In addition, a cluster head can be also a cluster node resulting in a complex multi-level structure that supports multiple paths. With Sleep/Wake Scheduling, energy saving is achieved with sleep mode and congestion awareness is accomplished.