## 2 Related Work  
The growing interest in WSNs and the continual emergence of new techniques has inspired some efforts to design real-time fault tolerant routing protocols in this area. In [6], a distributed transmissionscheduling strategy was adopted. Non-conflict messages are used to achieve real-time scheduling. A time allocation scheduling method was designed to prevent the communication channel collision. A dynamic rate adjustment routing protocol based on energy consumption, _i.e._, RPAR (Real-time Power-Aware Routing), was proposed in [7], in which the node transmitting power is dynamically adjusted according to its energy consumption. However, RPAR doesn't consider the effect of node failure on real-time transmission. In [8], an energy-aware QoS routing protocol was proposed, which can find the transmission path that both has the maximum energy utilization and can meet the end-to-end transmission requirement. However, the time delay caused by channel is ignored. Moreover, the time complexity is high, which makes the method not suitable for the computation resource-constrained environment. In [9], the authors proposed a highly energy-efficient real-time routing protocol, which uses the constraint equivalent delay (CED) to dynamically select the next hop, and can simplify the process of finding the routing path greatly. This protocol can not only reduce the energy cost in the real time transmitting period, but also reduce the delay of end-to-end transmission. However, the node failure and network congestion are not considered during the process of real-time transmission. A cluster-based real-time transmission scheme was proposed in [10]. It performs data fusion in appropriate time, which can reduce energy consumption and the time of queuing in the buffer. However, frequent data fusion may cause higher transmission delay, and thus affect the real-time performance. SPEED (Stateless Protocol for Real-Time Communication in Sensor Networks) is one of the most classical real-time routing protocols for WSNs [3], which estimates the transmission rate between the current node and the sink node and establishes the transmission path according to the estimated rate to ensure the data can be sent to the sink node before the deadline. The SPEED protocol doesn't consider the effect of node failure and congestion. When node failure and network congestion occur, the information cannot be fed back to upstream nodes [11] timely, which thus affects the subsequent transmission and causes the relevant packet to be discarded. In [3], two heuristic methods called SPEED-T and SPEED-S were also proposed, which select the next hop in the Forwarding Candidate Set (FCS) according to the minimal transmission delay and the fastest transmission rate, respectively. SPEED-T and SPEED-S enhanced the real-time performance of SPEED, but they do not overcome the drawback of SPEED. In [12], a two-hop based real-time routing protocol was developed, which selects the next hop by evaluating the node in the two-hop range. However, it cannot overcome the drawbacks of SPEED either. A multi-path and multi-level SPEED routing protocol (MMSPEED) was proposed in [4], which dynamically selects the next hop according to the distance among the current node, neighbor node and sink node and sets up a tree structure for transmission according to the reachability of nodes. However, the time complexity of estimating the reachability of the nodes is an exponential function of the distance between the current node and the sink node. Therefore, it is not suitable for large-scale long-distance transmission. Furthermore, if congestion occurs in the initial hop nodes, the global transmission will be affected greatly. A real-time fault tolerant routing protocol called FTSPEED was proposed in [5]. FTSPEED is based on SPEED. It provides the transmission path selection method in the case that the next hop of current node is void. The data can be sent to the sink _via_ bypassing the empty areas.