# Energy Efficient Routing in Wireless Sensor Networks: A Comprehensive Survey
## 5 Reliable Routing
### QoS Based  
In most WSN protocols, location information of nodes is needed to calculate the distance between two nodes and to estimate energy consumption. Sensor networks are spatially deployed on a region and, as there is no addressing scheme such as the IP addresses, location information can be utilized to route data efficiently. In protocols of Topology subcategory, nodes that know their own neighbor positions as well as message sources are assumed to be informed about the position of the destination information. In what follows in this section, seventeen typical examples of location based energy efficient routing protocols are described. In the QoS based subcategory, protocols try to balance network's energy consumption, data quality, and end to end delay using certain QoS metrics as delay, energy, response time, etc. In what follows in this section, eighteen typical examples of QoS based energy efficient routing protocols are described. _Stateless Protocol for rEal-timE communication_ (SPEED) [136] is a QoS routing protocol for WSNs that provide low end to end delays, demands from every node to maintain neighbor node information, and using a geographic forwarding to find paths. It achieves a certain speed for every packet in the network so each application is able to estimate a packet's end to end delay by dividing the distance to the base station to the speed of the packet and provides congestion avoidance for congested networks. The routing module of SPEED is called Stateless Geographic Non deterministic Forwarding (SNFG) and works along with another four modules in the network layer. In addition, it maintains a desired delivery speed across the network while it includes a two-tier adaption for diverting traffic at network layer and locally regulating packets sent to the MAC layer. SPEED uses the following components:  
1. An Applications Programming Interface (API)
2. A delay estimation scheme
3. A scheme for neighbor beacon exchange
4. A Nondeterministic Geographic Forwarding (NGF) algorithm
5. Last mile processing
6. Backpressure Rerouting
7. A Neighborhood Feedback Loop (NFL)
8. Load balancing is achieved with the SNGF mechanism scattering the packets in a large transmission region  
In SPEED, total transmission power is less due to the simplicity of routing and the uniformity of traffic distribution. In addition, SPEED performs better in terms of end to end delay and miss ratio. Its weakness is that there is no energy consumption metric. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Protocol** & **Advantages** & **Disadvantages** & **Scalability** & **Mobility** & **Routing** & **Robustness** \\ \hline \multirow{4}{*}{
\begin{tabular}{c} MSIEEP \\ [134] \\ \end{tabular} } & It has low packet drop & The predefined \\  & ratio and increased \\  & stability period. & & routing paths limit its \\  & & application. & & & region’s cluster \\  & & & & & The mobile sink \\  & & & & & stops in predefined \\  & Communication cost & The nodes are \\  & is reduced. Network \\  & lifetime is extended. & & deployed in a fixed \\  & & manner. & & & and collects data \\  & & & & from the region’s \\  & & & & cluster head. \\ \hline \hline \end{tabular}
\end{table} 
Table 12: Synopsis of Topology Protocols belonging to Mobile Sink subcategory. Multi path and Multi SPEED_ (MMSPEED) [137] can achieve high QoS in both Timeliness and Reliability domains. In the timeliness domain it guarantees multiple speed options for packet delivery while, in the reliability domain, it performs probabilistic multipath forwarding for various requirements. MMSPEED does not need to be aware of network geographic information, but, with the use of localized geographic packet forwarding and dynamic compensation, it can counterbalance any local decision inaccuracies in the routing path. MMSPEED offers both energy efficiency and scalability. However, when the load is high, MMSPEDD is unable to meet end to end delay requirements.