# An Energy-Efficient Fail Recovery Routing in TDMA MAC Protocol-Based Wireless Sensor Network
## 3 Proposed Route-Recovery Algorithms
### Energy Model of Convergent Network
* If for all child nodes, \(c_{i}\)\(g\) is unreachable, select the \(c_{m}\) as a \(MCR\_BP\big{(}p_{j}\big{)}\) and NE-MCR concept to find NE-\(MCR\_BP\big{(}p_{j}\big{)}\) (details are given in following subsection). * Inform all \(c_{k}\)'s and \(g\) that \(c_{i}\) is chosen as \(MCR\_BP\big{(}p_{j}\big{)}\). When \(MCR\_BP\big{(}p_{j}\big{)}\) is selected for each \(p_{j}\), \(p_{i}\) informs its child nodes \(c_{k}\) and grandparent node \(g\) by broadcasting a message \(M\big{(}MCR\_BP\big{(}p_{j}\big{)},\ slot\big{(}p_{j}\big{)}\big{)}\). Then nodes \(c_{k}\) and \(g\) record the node ID of \(MCR\_BP\big{(}p_{j}\big{)}\) and the time slot of slot(\(p_{j}\)). This process completes the procedure of \(MCR\_BP\) selection. Then, during the main data-forwarding operation, if a fault occurs in node \(p_{j}\), the real-time recovery process is conducted as follows: All child nodes \(c_{k}\) of \(p_{j}\) forward their data to pre-selected \(MCR\_BP\big{(}p_{j}\big{)}\) instead of the failed parent \(p_{j}\). Then, \(MCR\_BP\big{(}p_{j}\big{)}\) forwards its data to the grandparent \(g\), while bypassing the failed node \(p_{j}\). The failed recovery process takes place only when a fail occurs in the parent node whose backup node was pre-selected. We have implemented an MCR simulator in a C program and measured the performance of MCR using an example network of size 1000 nodes. We evaluated the behavior of the number of isolated nodes (nodes with lost routing) by injecting faults to an increasing number of nodes. Figure 5 compares the number of isolated nodes for the two-fail recovery method. In the case of the MCR fail recovery method, the number of isolated nodes tends to grow linearly, whereas in a naive route recovery method (based on random selection),  
Figure 4: MCR back-up parent selection procedure. (**a**) Segment of a network where the primary parent failed; (**b**) \(MCR\_BP\) selection procedure. the number of isolated nodes grows exponentially. The significant reduction in the number of isolated nodes is attributed to the fact that MCR can efficiently select optimal backup nodes, whereas the random selection method could not find proper backup parents in many cases. The proposed recovery algorithm selects the node that has maximal connectivity with other siblings. In the sparse network scenario, however, the elected \(MCR\_BP(p_{j})\) may not cover all siblings. Therefore, in Figure 5, our method experiences additional isolated nodes when the number of induced faulty nodes grows. In the event of a parent node's failure, the first action of its pre-selected backup parent (BP) is to take over the faulty parent's time slot. The selected BP, then, notifies all its sibling nodes that BP is selected to act as a backup parent. This pre-processing method is carried out only once when the network is initiated, and its initial routing is conducted. A detailed pseudo code for the backup parent selection algorithm is given in [37]. The MCR is a fast algorithm with low complexity and no hardware overhead. It may, however, fail in finding a BP node when none of the child nodes can reach its grandparent node. We define this problem as an out-of-reach problem. Increasing the wireless range of the child nodes may seem to be a quick solution to the out-of-reach problem. This, however, requires increased transmission power of the nodes leading to a shorter battery life of the network. It also increases the interference with neighbor nodes. It is well known from the [PERSON]'s path loss model of Equation (7) that the transmission power rapidly grows with the increasing distance. Equation (7) shows that the required \(E_{tx}\) tends to grow excessively even for a small increase in distance. In this paper, therefore, we only consider a constrained distance and thus a limited transmission power for all nodes to preserve the battery lifetime.