## 4 Adaptive Fault-Tolerant Communication Scheme
### Resource Reservation Based on Priority Queue
In the fourth time period, the priority of the SpO\({}_{2}\) sensor increases, and the priority of the temperature sensor decreases for the changes in the readings. In the fifth time period, there is a decrease in the priority of the ECG sensor owing to the reduction of the noise level. In the sixth time period, the fault-tolerant priorities of all sensors decrease because they have operated in the fault-free state for a certain time. Obviously, the reliability requirements of different biosensors can be maintained at runtime by fault-tolerant priority. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Parameter** & **ECG** & **SpO\({}_{2}\)** & **Temperature** \\ \hline Payload size (Bytes) & 50 & 25 & 2 \\ Transmission rate (packets/s) & 10 & 8 & 1 \\ High delay sensitivity & Yes & Yes & No \\ Priority set & \{0, 1, 2, 3\} & \{2, 3, 4, 5\} & \{3, 4, 5, 6\} \\ Initial priority & 2 & 4 & 5 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Sensor node specifications. The packet loss rates of BodyQoS and AFTCS are shown in Figure 9. In time Periods 1-2, the packet loss rates of BodyQoS and AFTCS are basically the same. However, from Period 3, for the sensors with higher demand of reliability, AFTCS achieves lower packet loss rates than BodyQoS. The reason is that, AFTCS re-allocates bandwidth according to the new fault-tolerant priorities to first provide reliability assurance for the sensor nodes with higher demand of reliability, while BodyQoS still allocates bandwidth according to the original fixed priorities. It is worth noting that during time periods 3, 5 and 6, two sensors have the same fault-tolerant priorities, and the one requiring less channel resources is served first. Figure 8: Fault-tolerant priority changes. Figure 9: Packet loss rate. As can be seen from Figure 10, for the sensors with higher demand of reliability, AFTCS achieves lower average packet latency than BodyQoS at runtime. With AFTCS, the transmission of fault-related packets has little effect on packet latency. This is because the fault-related packets are transmitted only when some failures occurred or may occur. Taking the fault-tolerant data packets of the buffer overflow failure for example, the sensors don't send the buffer-overflow-related information to the control node unless the buffer utilization is higher than 80% or 90%. Therefore, basically it doesn't affect the reliable data communication of BSN. ## 6 Conclusions

In this paper, we have presented an adaptive fault-tolerant communication scheme (AFTCS) based on fault-tolerant priorities for BSNs. AFTCS can tolerate channel impairments by exploiting resource reservation. The fault-tolerant priority and queue are employed to dynamically adjust the channel bandwidth allocation so as to fulfill the reliability requirements of critical sensors. Simulation results show that AFTCS can reduce the effect of channel impairments while guaranteeing lower packet loss rates and latency for the sensors with higher demand of reliability at runtime. The primary contributions of this paper are summarized as follows:

(1) An asymmetric fault-tolerant architecture is proposed, in which resource-constrained sensor nodes do little processing and the control node with abundant resources performs the majority of fault-tolerant operations. Figure 10: Average packet latency. (2) An adaptive priority management method is presented, which can dynamically adjusts the fault-tolerant priorities of sensors according to the perceived information, thus guaranteeing the priorities of critical sensors during runtime. (3) A resource reservation method based on dynamic priority queue is presented. In case of channel impairments, the packet loss rates for critical sensors will be decreased after channel reservation, and the times of retransmission will be reduced, thus shortening the average transmission latency.