An Adaptive Fault-Tolerant Communication Scheme for Body Sensor Networks

A high degree of reliability for critical data transmission is required in body sensor networks (BSNs). However, BSNs are usually vulnerable to channel impairments due to body fading effect and RF interference, which may potentially cause data transmission to be unreliable. In this paper, an adaptive and flexible fault-tolerant communication scheme for BSNs, namely AFTCS, is proposed. AFTCS adopts a channel bandwidth reservation strategy to provide reliable data transmission when channel impairments occur. In order to fulfill the reliability requirements of critical sensors, fault-tolerant priority and queue are employed to adaptively adjust the channel bandwidth allocation. Simulation results show that AFTCS can alleviate the effect of channel impairments, while yielding lower packet loss rate and latency for critical sensors at runtime.


Introduction
With recent advances in intelligent (bio-) medical sensors, low-power integrated circuits and wireless networking technologies, Body Sensor Networks (BSNs) have been applied in many areas, especially in human health monitoring [1][2][3][4][5].By outfitting patients with wireless wearable or implanted vital sign sensors, detailed real-time data on physiological status can be continuously sampled [6,7].Although BSN shares many of the same challenges with general wireless sensor networks (WSNs), a number of BSN-specific challenges could be specified.
BSNs often demand high degrees of reliability and specific message latency requirements for real-time health monitoring [8].However, BSNs have fewer and smaller nodes compared with conventional WSNs.Smaller nodes imply smaller batteries, creating stricter constrains on the energy consumed by processing, storage, and communication resources [9].Usually, BSNs are vulnerable to channel impairments due to body fading effects and/or RF interference [10].The radio channel assigned to the BSN services is not always clean and sometimes, even the efficient coding schemes used to combat interference may fail.Channel impairments can cause unreliable data transmission and high Bit Error Rate (BER).Hence in some cases the critical data can't be sent to control nodes in time.Consequently, the doctor may make wrong diagnosis and the patient may be delayed to be cured and even die.In addition, the packet loss results in data retransmission.Because the buffer of a biosensor is often very limited, data retransmissions will consume much energy, thus impelling the node to fail.Therefore, it has become crucially important to provide a fault-tolerant communication scheme for BSNs to guarantee reliable data transmission.
In BSNs, biosensors gathering different types of physiological data may have different reliability requirements [11].For example, heart rate sensors are often considered more important than blood pressure sensors, and hence should be served first under the condition of lack of shared resources (e.g., bandwidth).At the same time, the level of reliability requirements may change dynamically at runtime.For instance, the reliability requirement of the blood pressure sensor might be low when blood pressure readings are in normal range, but the reliability requirement will become much more rigorous when the readings indicate hypotension or hypertension.As a consequence, the system needs to dynamically maintain the reliability requirements of sensors to provide reliability assurance for the sensor nodes with high demand of reliability.
In this paper we present an adaptive and flexible fault-tolerant communication scheme for BSNs, namely AFTCS.When channel impairments occur, AFTCS can provide reliable data transmission for critical sensors by reserving channel bandwidth according to the perceived information about human physiological status, external environment, and the system itself.Fault-tolerant priority and queue are employed to adaptively adjust the channel resource allocation.Simulations have been conducted to evaluate the performance of the proposed scheme.Results are presented and analyzed.
The rest of the paper is organized as follows.In Section 2, we summarize the related work.Section 3 presents the related variables used in the AFTCS scheme and its application scenario.The detailed description of AFTCS is given in Section 4. In Section 5, the performance of AFTCS is evaluated.Finally, we conclude the paper and outline some future work in Section 6.

Related Work
The growing interest in BSNs and the continual emergence of new techniques have inspired some efforts to study the reliability and quality-of-service (QoS) of BSNs.Otal et al. [6,12,13] proposed a novel QoS cross-layer scheduling mechanism based on fuzzy-logic rules for body sensor networks.An energy-saving distributed queuing MAC protocol is adopted.It can guarantee that all packets are served with a specific BER and within particular latency limit while keeping low power consumption.
However, it neglects different reliability requirements of different types of biosensors.In [11], the challenges brought about by BSN applications are presented and a statistical bandwidth strategy, i.e., BodyQoS, is proposed to guarantee reliable data communication.However, the dynamic change in reliability requirements of sensors is not considered in BodyQoS.Natarajan et al. highlighted the existence of the inter-user interference effect in BSN from the perspective of network architectures in [14], and make a preliminary investigation of the impact of inter-user interference and implement an instance with a fixed WSN infrastructure to reduce the interference between users in [15].Braem et al. [16,17] modeled probabilistic connectivity in multi-hop body sensor networks to determine ways to improve reliability, which can guarantee k-connectivity between nodes.Qiao et al. [18] proposed a multi-homed body sensor network framework and investigate handover strategies during sensor nodes' movement to increase data reliability for BSNs.In [19] a novel packaging technology for BSN based on non-conductive thermoplastic polyurethane adhesive is presented to connect electronic modules with textile circuits in a cost efficient and reliable way.
Although existing schemes [6,[11][12][13][14][15][16][17][18][19] provide some solutions to improve fault-tolerant performance of BSN, designing fault tolerant BSNs to deal with channel impairments is still a challenging issue.In this paper, an adaptive and flexible fault tolerant communication scheme (AFTCS) for BSN is proposed.Major differences between this work and the aforementioned schemes include: (1) In order to fulfill the reliability requirement of critical sensors, fault-tolerant priority and queue are employed to adaptively adjust the channel resource allocation.Thus it can adaptively provide the reliability assurance for the sensors with high demand of reliability.
(2) A resource reservation method based on dynamic priority queue is presented, including bandwidth measurement, bandwidth requirements calculation and bandwidth allocation methods.In AFTCS, the fault-tolerant priority dynamically changes according to the fault-related information, which can reflect the dynamic change in reliability requirements of sensors.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 lowering the average transmission latency.

Preliminaries
In this section, we describe the application scenario.The variables used in the AFTCS scheme will be defined.We consider a scenario where the BSN is formed by a collection of biosensors, control nodes and a base station, as shown in Figure 1.In general, the biosensors are wireless wearable or implanted vital sign sensors which consist of a processor, memory, transceiver, sensors and a power unit.Each biosensor node is typically capable of sensing, processing, storing and transmitting the data.The control node periodically sends the sampled data to the medical server in the hospital through the base station, where they are stored for further processing [20].
Due to the size and energy consumption restrictions, biosensors (such as sweat, EKG, temperature) cannot afford heavy computation and communication.Compared with biosensors, the control node (such as a cell phone or PDA) and the base station have comparatively higher transmission rate and computation power.In other words, BSN is a typical asymmetric structure.
We first give the definitions of some variables used in the AFTCS scheme, as listed in Table 1.
Definition 1: Fault-tolerant priority p. p indicates the level of reliability requirements of a sensor.It can be dynamically adjusted at runtime.Definition 2: Fault-tolerant priority set.Each sensor has a fault-tolerant priority set.Based on the fault-related information, the control node dynamically selects an appropriate priority for the sensor from its priority set.
Definition 3: Fault-tolerant priority queue Q.The Q is a priority queue managing the fault-tolerant priorities of all the sensors in the system.The sensors in Q are sorted by priority in descending order.The queue containing all sensors removed from reservation New Q removed after re-reservation

Adaptive Fault-Tolerant Communication Scheme
Figure 2 illustrates the AFTCS scheme.AFTCS consists of three parts: fault-related information collection, fault-tolerant priority queue management and channel resource reservation based on priority queue.Biosensors collect and send physiological data and some fault-related information to the control node.They also execute commands from the control node.The control node analyzes perceived fault-related information, dynamically changes fault-tolerant priority of the sensors and allocates channel resources to different sensors to reduce the effect of channel impairments.Obviously, the AFTCS scheme is entirely consistent with the asymmetric structure of BSN.In order to guarantee the priorities of critical sensors when the channel resource is scarce, the fault-tolerant priority will be dynamically adjusted.We use the similar resource reservation approach used in [11,21] to address channel impairments.The reserved bandwidth is adjusted according to fault-tolerant priority.

Fault-Related Information Collection
The fault-related information collection module is responsible for obtaining the specific information from human body, physical environment, and the BSN itself.Based on the collected information, we can determine the reliability requirements of the sensors during runtime.In AFTCS, three kinds of fault-related information are collected: (1) Bioinformation.The bioinformation is mainly physiological data collected by biosensors, such as body temperature, heart rate and blood pressure, etc.For a specific biosensor, its reliability requirement might be low when the readings are in normal range (e.g., the range of a body temperature sensor's reading is 36 °C-37.2°C), but the level of reliability requirements should increase when the readings indicate abnormality (e.g., the reading of a body temperature sensor is higher than 37.5 °C).
(2) Environmental information.The environmental factors (temperature, humidity, light, etc.) may affect the health condition of the patient.Therefore, the environmental information will influence the reliability requirement of the biosensor.For example, in warm and humid regions, where water is available as a transmission medium, Vibrio cholerae may proliferate rapidly to the level of an infective dose.Hence, a higher level of fault tolerance should be provided for the biosensors that collect Vibrio cholerae data under the conditions of high temperature and high humidity.
(3) Runtime system information.These parameters reflect the reliability status of sensor nodes, which include buffer usage, the residual battery life, etc.This information can be derived from an inner hardware memory of the biosensor.For example, if the buffer utilization of a certain sensor is larger than 90%, then its reliability requirement will increase; on the other hand, when a sensor's buffer utilization is normal (e.g., 50%), its reliability requirement will not increase or even decrease.

Fault-Tolerant Priority Queue
In order to guarantee the priorities of critical sensors, the control node maintains a fault-tolerant priority queue to manage the current reliability requirements of each sensor.The fault-tolerant priority of a sensor can be statically configured by the clinician through the user interface.It can also be dynamically adjusted according to the perceived fault-related information.An example of the fault-tolerant priority queue containing 5 sensors is shown in Figure 3, where a smaller value indicates a higher priority.Each sensor has a fault-tolerant priority set.For example, the priority set of sensor S 1 is {1, 3}, i.e., the control node can only choose 1 or 3 as the current fault-tolerant priority for S 1 .When two sensors have the same fault-tolerant priority, the one requiring less bandwidth reservation (i.e., BW SCdata , see Section 4.3) is served first.For example, for S 4 and S 5 in Figure 3, though their current fault-tolerant priorities are identical, the sensor S 4 will be served first because it requires less bandwidth reservation than S 5 .After the system deployment, each sensor in the system has a default fault-tolerant priority.During the system operation, according to the perceived information, the control node dynamically selects a new fault-tolerant priority as the current priority for the sensor from its fault-tolerant priority set.If the control node perceives channel impairments, it will first provide reliability assurance for the sensors with higher priorities in the queue.
We will give detailed illustration of how to adjust the fault-priority based on some parameters in the following section. (

1). Activation threshold
The parameter θ is defined as the activation threshold for triggering the adjustment of the fault-tolerant priority of the sensor.For the sake of simplicity, we use one activation threshold for the whole system.As illustrated in Figure 4, the activation threshold is θ = 0.4.
(2).Priority tuner Priority tuner is used to adjust the current fault-tolerant priority of the sensor.For any fault-tolerant priority p of the sensor S i in the fault-tolerant priority set, the priority tuner is represented by m ip .If m ip exceeds the activation threshold, then the priority p may be activated as the new current priority.All priority tuners of fault-tolerant priorities for the sensor S i will be set to 0 when its current fault-tolerant priority is reset.
(3).Adjustment factor δ ip (t) is defined as the adjustment factor of the fault-tolerant priority p for the sensor S i at time t.If the fault-related information is favorable for the priority p, δ ip (t) will increase.Otherwise, δ ip (t) will decrease.For example, for the body temperature biosensor S temperature , its fault-tolerant priority set is {p 1 , p 2 , p 3 }, where p 1 > p 2 > p 3. According to Table 2, at time t, if the body temperature is low without fluctuation, then δ ip 1 (t) ≤ δ ip 3 (t) ≤ δ ip 2 (t).If the body temperature is high and sharply fluctuating, then δ ip 1 (t) ≤ δ ip 2 (t) ≤ δ ip 3 (t) and δ ip 1 (t) may be negative.(4).Priority acquiescence The priority acquiescence parameter λ ip (t) is used to prevent frequent changes in priority.It represents the time period in which the sensor S i wants to maintain the activation of the fault-tolerant priority p.The function acquiescence ip (t) indicates whether the sensor S i will acquiesce in its fault-tolerant priority p: 1, If has been active for ( )at time acquiescence ( ) 0, Otherwise If a fault-tolerant priority p of the sensor S i has been activated for more than λ ip (t) at time t, then acquiescence ip (t)=1.Otherwise, acquiescence ip (t) = 0.This function means that the sensor S i will acquiesce in the fault-tolerant priority p until S i has used the priority p for the time period of λ ip (t).
The current fault-tolerant priority tuner of the sensor S i is re-calculated as follows: (0) 0 As shown in Figure 4, the current fault-tolerant priority of the sensor S i is initially p current , and m ip is set to 0. If p current is acquiescent at time t, then m ip (t) = 0 (see e.g., State 0, State 3 and State 5 in Figure 4).Otherwise, m ip will continue to change based on the adjustment factor δ ip (t) over time unless the priority tuners of some fault-tolerant priorities exceed activation threshold θ, when the control node will activate a new fault-tolerant priority for the sensor S i (e.g., p 2 is activated at State 2 in Figure 4) and all priority tuners of the sensor S i will be set to 0 (see e.g., State 3 and State 5 in Figure 4).
When multiple priorities' tuners exceed activation threshold θ at the same time, the highest priority will be activated (e.g., p 3 is activated at State 4 in Figure 4).

Resource Reservation Based on Priority Queue
In order to reduce the effect of channel impairments, AFTCS adopts a channel bandwidth reservation method, which is similar to the approach used in [11,21].The control node measures the available channel bandwidth at runtime.When it finds out that the channel impairments occur, it will re-allocate the bandwidth to the sensors according to the fault-tolerant priorities and the bandwidth requirements.The bandwidth reservation method includes three parts: effective bandwidth measurement, bandwidth requirements calculation and bandwidth allocation based on the fault-tolerant priority, as shown in Figure 5.The effective bandwidth represented by the time interval is divided into two parts: reserved bandwidth and best-effort bandwidth.Based on the priority queue, the reserved bandwidth is allocated to the sensors with higher priorities, while the sensors with lower priorities may be served by best-effort communications, and T i × D i represents the time allocated to the sensor S i to send D i packets within each time interval.In the cases of initiation of a new sensor, changes in effective bandwidth or sensors' priorities, etc. T i × D i may be recalculated to reallocate the effective bandwidth.For example, for S 3 and S 4 , on account of the changes in their priorities, we can reserve bandwidths for S 4 , while S 3 is served by best-effort communications.T D × Conventional bandwidth measurement methods usually depend on radio platforms.For example, in CODA [22], each node samples the channel information periodically to get the effective channel bandwidth at runtime.This method is effective for radios with the carrier sense ability.However, it is not suitable for frequency hopping spread spectrum radios such as Bluetooth [23].AFTCS adopts the same bandwidth measurement method used in [11], which is a radio-agnostic method based on Virtual MAC (VMAC).
The control node sends a polling packet to the biosensor to request the sensor to send acknowledgement packets within specific time.The control node will record the actual waiting time and the number of packets successfully received.In this case the effective channel bandwidth is: where Size pkt and Size pollingPkt are the data payload of data packet and polling packet size in bytes, respectively.If T wait = T i × D i + T maxPkt and N received = 0, then the polling packet is considered lost.As illustrated in Figure 5, in order to adaptively schedule bandwidth, we should dynamically calculate the values of D i and T i .In the case of channel impairments, the effective bandwidth BW effective will decrease, and the allocated time for sending one packet T i will increase, which is given as follows: where BW ideal = (N pkt × S pkt × 8)/T interval , N pkt is the maximum number of packets that can be received or transmitted within each T interval , assuming a clean channel, S pkt is the data payload of each packet size in bytes, and T maxPkt is the maximum MAC response time for handling a packet transmission request.
In the ideal case, T i ' = T minPkt .Hence we can get: ' ' For highly delay-sensitive sensors, the number of the packets transmitted within each time interval should not be less than K min .As a result, the ' i D is recalculated as follows: ' ' max , The method described above assumes that all the sensors have fixed priorities.However, the priorities will be adjusted due to the change of physiological and external environments.Moreover, the bandwidths of some sensors cannot be reserved successfully due to the limited system resources.To tackle these problems, we present a feasible decision-making control of bandwidth allocation.
We compute the requested data bandwidth BW required and compare it with the actual effective bandwidth BW effective .Then we allocate the bandwidth based on the dynamic fault-tolerant priorities.
Different from [11], the bandwidth reservation for fault-related information is considered as a portion of BW required .As illustrated in Figure 6, the requested data bandwidth BW required includes four parts: (1) Reservations for non-polling packets (e.g., control packets for activation and dormancy) from the control node to sensors BW CScontrol ; (2) Reservations for fault-related information packets (e.g., the packets including the information of battery usage, buffer usage, etc.) from sensors to the control node BW SCaware ; (3) Reservations for sampled data packets from sensors to the control node BW SCdata ; (4) Reservations for polling packets from the control node to sensors BW CSpolling .We can consequently get the bandwidth requirements of all reservations in the system as follows:  Algorithm 1 presents the pseudocode of the bandwidth reservation control algorithm used in AFTCS.A reservation sensor queue Q reserved and a queue Q removed containing all sensors removed from reservation queue are maintained through minimum heap and maximum heap respectively based on reliability requirements of sensors.If multiple sensors need to re-reserve bandwidth for fault-tolerance simultaneously, the sensors will be processed in priority descending order.The new reservation S add for the sensor is handled according to the total required bandwidth BW required (including the new reservation): (1) If the total required bandwidth BW required ≤ B L × BW effective , then the new reservation S add is acceptable and S add is added into Q reserved .
(2) Under the condition of B L × BW effective < BW required ≤ B H × BW effective , if the fault-tolerant priority of S add is not less than the lowest fault-tolerant priority in Q reserved , then its new reservation is accepted and S add is added into Q reserved .Otherwise, its new reservation is refused and S add is added into Q removed .
(3) Finally, in the case of the total required bandwidth BW required > B H × BW effective , if it can make enough space for the new reservation S add by removing the bandwidth of sensors with lower priorities from Q reserved , then the new reservation S add is accepted.Otherwise, it is rejected.In the process of removing the sensors from Q reserved , three situations may occur: If all sensors with lower priorities than S add in Q reserved have been processed and the aggregate bandwidth of them (i.e., Sum) is still less than BW required −B H × BW effective , then the new reservation of S add is rejected and S add is added into Q removed .If the aggregate bandwidth (Sum) of the sensors (Q temp ) that may be removed from Q reserved satisfies that Sum < BW required −B H × BW effective , then the current sensor is added into the temporary queue Q temp , and the next sensor with lower priority than S add in Q reserved will be checked.If the aggregate bandwidth of sensors (Q temp ) that may be removed from Q reserved satisfies that Sum ≥ BW required −B H × BW effective , then the new reservation of S add is acceptable; Sensors in Q temp are removed from Q reserved and added into Q removed ; and S add is added into Q reserved .
For the sensors in Q removed , they are served by best-effort communications temporarily.However, in the following four situations, their bandwidths may be re-reserved: (1) the fault-tolerant priorities increase; (2) the fault-tolerant priorities of sensors in Q reserved decrease; (3) the bandwidth requirements are reduced; (4) the effective bandwidth increases.
if the priority of S add is not higher than Q reserved .minPriority()then 8:

Time Complexity Analysis
Theorem 1: The time complexity of AFTCS is T(n) = O(nlgn), where n is the number of sensors in the system.
Proof.The fault-tolerant channel allocation algorithm based on the priorities mainly maintains two fault-tolerant priority queues: the reservation sensor queue Q reserved and the queue Q removed containing all sensors removed from the reservation queue.Q reserved and Q removed are maintained through minimum heap and maximum heap respectively.Suppose the number of sensors in the system is n and the number of sensors in Q reserved is m (0 ≤ m ≤ n), then the number of sensors in Q removed is n-m.For Q reserved , the time complexity for building the minimum heap is O(m); the time complexity for the insertion or removal of the sensor is O(lgm); the time complexity for the traversal of all sensors is O(mlgm).Similarly, for Q removed , the time complexity for building the maximum heap is O(n-m); the time complexity for the insertion or removal of the sensor is O(lg(n-m)); the time complexity for the traversal of all sensors is O((n-m)lg(n-m)).Therefore, the time complexity is as follows.

Performance Evaluation
We evaluated AFTCS on the Castalia simulator [24].Castalia is an open source, discrete event-driven simulator based on OMNeT++ [25].The experiment simulates a typical body sensor network, in which sensors measure a person's physiological parameters.We configure the body sensor network with three types of biosensors: ECG sensor, SpO 2 sensor and Temperature sensor.All nodes adopt Castalia standard CC2420 IEEE802.15.4 radios.In the whole experiment seven fault-tolerant priorities are adopted.The range of fault-tolerant priority is 0~6, where a smaller value indicates a higher priority.Tables 3 and 4 describe the detailed simulation parameters and sensor node specifications, respectively.We compare our AFTCS scheme with the BodyQoS scheme [11].The simulation includes six time periods.In the first time period (0 s~100 s), the system operates in an ideal state, and the readings of all sensors are normal.In the second time period (100 s~200 s), noise signals are generated to introduce the channel impairment.The noise floor is increased to −80 dBm.In the third time period (200 s~300 s), the noise floor is increased to −70 dBm.Besides, the readings of the temperature sensor become high with large fluctuations.In the fourth time period (300 s~400 s), the readings of the SpO 2 sensor become exceptional and the readings of the temperature sensor become normal.In the fifth time period (400 s~500 s), the noise floor is reduced to −80 dBm.In the sixth time period (500 s~600 s), the noise floor becomes ideal.In other words, the system operates in an ideal state once again.In the whole experiment, two metrics are used for performance evaluation: packet loss rate and average packet latency.The packet loss rate is used to evaluate the performance of reliability and the average packet latency is used to evaluate the performance of timeliness.
Figure 8 presents the fault-tolerant priority changes of each sensor during the simulation.In the first time period, the fault-tolerant priorities of all sensors decrease, because they have operated in the fault-free state for a certain time.In the second time period, the priorities of the ECG sensor and the SpO 2 sensor increase due to the channel impairment, while the priority of the temperature sensor doesn't change, because its channel sensitivity is relatively low.In the third time period, the priorities of the ECG sensor and the SpO 2 sensor further increase due to the increase of the noise level.The priority of the temperature sensor increases rapidly because of the abnormality of readings and the channel impairment.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.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.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.

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.
(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.
In the future, we will design a parameter update strategy to configure parameters dynamically during runtime based on knowledge learned from previous experiences and evaluate AFTCS (e.g., in terms of energy efficiency) by means of more extensive simulations.We also consider implementing and testing the scheme on real-life BSNs that can take advantage of the adaptive and flexible faulttolerant communication enabled by AFTCS.

Figure 5 .
Figure 5. Bandwidth reservation based on priority queue.
ip (t) The time that S i wants to maintain p at time t BW idealIdeal bandwidth

Table 2 .
Impact of body temperature on fault-tolerant priority.