# An Energy-Efficient Fail Recovery Routing in TDMA MAC Protocol-Based Wireless Sensor Network
## 1 Introduction
In [23; 24], it is reported meta-heuristic fault detection algorithms to overcome WSN failure and improve the system reliability. Like many previous approaches, however, such fault recovery methods add significant overheads to both hardware and power, and thus are unacceptable for practical IoT networks. In [16], [PERSON] et al. recommended classifying the edges between sensor nodes into three types: primary, backup and side edges. Each node selects one parent as a primary parent and zero or more parents as backups. Primary edges from a spanning tree are used as long as no communication error occurs. If an error occurs in a primary edge, data may be successfully delivered by one of the backup edges. Authors of this work, however, did not clearly specify on what basis their algorithm selects the primary and backup edges. In this paper, we propose a fault recovery routing algorithm called an energy efficient, neighbor-extended maximal connectivity re-routing (NE-MCR), which does not incur any additional hardware cost, and thus is well suited to WSNs under stringent power constraints. The NE-MCR algorithm conducts an additional route-recovery process after the main routing and TDMA schedulingsteps are completed. In this, we identify as faulty nodes the parent nodes that do not respond (acknowledge) to their child nodes within a given time duration. Our method selects the local optimal backup parent nodes during the routing process in a way that ensures most of the child nodes can maintain their connectivity. In WSNs, a number of different techniques can be applied to detect the failures. Some researchers proposed the use of passive information collection for the purpose of failure detection. In these methods, information crucial to detect the failure can be extracted from regular data packets sent to the sink node [25; 26]. In [8], the authors proposed a special framework to detect the failure in WSN. In this model, sensor nodes piggyback checksum tags of path upon all regular messages sent to the sink node. Each node updates the tags with its own node identification (ID) by means of the Fletcher checksum algorithm. After receiving packets from all routes, the sink node inspects their checksum. To identify any changes in a specific path, the sink node injects a series of control messages. Based on the response to these messages, the sink determines and reports the failure. Most failure detection algorithms use additional control information which incurs an overhead in low power WSN. Therefore, in the current work, faulty parents are detected by identifying the nodes that do not acknowledge their child within a given period. We compare the NE-MCR algorithm with two reference algorithms, i.e., exponential and sine cost function-based routing (ESCFR) and double cost function-based routing (DCFR) that are presented in [11]. Our simulation results prove that NE-MCR has improved energy efficiency and a longer network lifetime than reference algorithms. We are targeting the applications of the proposed method's IoT networks for wireless metering. In this application, every sensor node periodically wakes up at the same time and sends its sensing data towards the sink node via pre-calculated multi-hop routing paths. We consider a contention-free TDMA protocol, where each node transmits at its time slot, which is pre-allocated during the scheduling process after the routing process is done [27]. The essence of this network structure can be explained in a way that each parent node receives all its child nodes' data and aggregates them into one data packet along with its own sensing data. It then transmits its aggregated data to its parent node at its allocated time slot. To conserve the battery power, each parent node switches back to sleep mode once it transmits the aggregated data. We also implemented above procedures on real hardware and demonstrated data forwarding performance in [28].