## 4 Lifetime Improvement Mechanisms in Routing
### Node-Disjoint Multipath
Two kinds of query messages called Forward Agent (FA) and Backward Agent (BA) are employed in this protocol. FA which is sent by source node is responsible to search for multiple paths. BA carries the information of paths and updates the routing table of relay nodes as it moves on reverse path. The algorithm has three phases as follows: (1) _Initialization Phase:_ in this phase, a HELLO message will be broadcasted by sink node to its neighbors. It consists of four fields as follows: _Type_ field that shows the initialization message, _SenderID_ related to the previous hop, _HopCount_ that indicates the number of hops from the sink to the current receiver node, and _residual energy_ of the previous hop. The HopCount and Residual energy fields are initialized by the sink node with the values 0 and \(\infty\) respectively. When a sensor node receives a HELLO message, it checks whether the same message is registered in the memory or not. If it is received for the first time or there is a message with the same SenderID and greater Hopcount than the received one, the information of neighbors in memory should be updated. At the end of this phase, each node has sufficient information about its neighbors and the sink. (2) _Paths search phase:_ when the source node has some data for transmission, it send some FA messages to find multiple disjoint paths. FA chooses the next hop node based on the following probability:  
\[p(j)=\left\{\left(\frac{E_{j}}{\sum_{k=1}^{l}E_{k}}\right)*\frac{\sum_{k=1}^{l} E_{k\_to\textit{Sink}}}{E_{j\_to\textit{Sink}}}\right. \tag{7}\]  
where \(E_{j}=\) residual energy of node j and \(E_{k\_to\textit{Sink}}=E\) * _HopCount_. This parameter shows the energy consumption between the sink and node \(K\). The FA message is forwarded to the next hop according to the Equation (7) until its TTL expires. As soon as the sink node receives a FA message, it generates a BA message and sends it back to the source node through the reverse path. In order to conserve more energy, the nodes that are not participating in this phase will go into sleep mode. (3) _Data Transmission and Paths Maintenance Phase:_ after the source node receives all of the BA messages; it starts to send data packets to the sink by assigning a specific probability to each path. If the sink node realizes that the number of active paths is lower than two, it sends RST message to the source node and asks it to repeat the paths search phase. In comparison to the four other protocols, simulation results [43] show a significant improvement in network lifetime. For example, the EBMRR protocol has on average 110% longer lifetime compared to its predecessor the rumor routing [31] (RR) protocol. The philosophy behind this improvement is that EBMRR distributes energy consumption all over the network by constructing multiple paths using residual energy and power usage level at the neighboring nodes. Nevertheless, it has two disadvantages. The first one is that FA and BA messages that produced by source and sink nodes, respectively, may cause collisions among the paths of different sources. The second one is that service rate and buffer capacity of the active nodes are not taken into consideration for adjusting the traffic rate of the active routes. The authors of _Robust and Energy-Efficient Multi-path Routing (REER)_[15] proposed a method to select the best next hop during the paths construction phase based on the residual energy, Signal-to-Noise Ratio (SNR), and node available buffer size. The main objective of this protocol is to maximize the network lifetime through the traffic distribution across node-disjoint multiple paths. The algorithm has three main phases as follows: (1) _paths discovery phase_: this phase is divided into three steps. _Initialization stage:_ just like directed diffusion, the sink node start to construct a series of paths towards the source node in order to use them for data transmission. In this step, each sensor node should acquire some information about its neighbors by broadcasting HELLO messages through the network.