## 3 Cluster Formation
### Failure Management
#### 3.3.2 Transient-Fault Management  
The authors in [94] propose a smart checkpointing scheme for quick failure detection and recovery of a faulty CH. The paper's contribution is different from its predecessors in term of the type of failure management. While most of fault-management algorithms only address permanent failure [90, 93, 98, 99], the main contribution of [94] concerns detection and recovery of transient faulty-CHs. The scheme selects several additional backup nodes in each cluster during the CH selection phase for checkpointing. The backup nodes are responsible for detecting the status of CHs periodically, and in case of detection of a faulty-CH, one of the backup nodes automatically replaces the CH. To minimize the recovery cost of the network in term of lost-data due to transient CH failure, each CH routinely sends routing information and its collected data to the backup nodes. The level of reliability of the algorithm is dependent on the two factors of checkpointing interval and number of backup nodes in each cluster. To achieve a trade-off between reliability and energy consumption, the algorithm uses a Markov model [100] to determine the minimum number of backup nodes and the optimum value of checkpointing interval, which is the time between two successive checkpoints, while the energy consumption of checkpointing process does not exceed the energy consumption of re-clustering phase due to the CH failure. By solving the Equations (18) and (19), the minimum number of backup nodes (n-1) in a network consisting of \(N\) nodes and the optimum checkpointing interval (I\({}_{\text{ckpt}}\)) can be defined:  
\[A_{steady}=1-\frac{\rho^{n}n!}{\sum\
olimits_{k=0}^{n}\rho^{k} \frac{n!}{\left(n-k\right)!}} \tag{18}\] \[I_{ckpt}\geq\frac{\Delta T}{\left(N-1\right)^{2}+2\left(N-1 \right)} \tag{19}\]where A\({}_{\text{steady}}\) (the steady-state availability) is equal to the expected reliability of the user, \(\rho\) is the ratio of the failure rate (\(\lambda\)) of each node to the repair rate of backup nodes and \(n\) is the number of backup nodes including the CH. The test-bed implementation and simulation results presented by the paper show that the algorithm saves energy consumption of the network in recovery stage of transient CH failure. Nevertheless, the main achievement of the paper is the significant reduction of recovery latency in comparison to the re-clustering process. While the recovery latency in re-clustering process grows exponentially with the increase of the number of nodes in the cluster, the checkpointing process linearly restricts it with a slight slope. Cluster-Member-based fAult-Tolerant scheme (CMATO) [95] works at the cluster scale and exploits the overhearing capability of sensor nodes in monitoring the activity of CHs. The objective of the algorithm is to deal with faulty connection of cluster members with their corresponding CH, either due to CH-failure or due to a faulty connection links. In CMATO, cluster members are responsible for detecting faulty CHs by monitoring their links to the CH. There are four states considered for nodes: _error_free_, _error_detecting_, _ch_error_ and _medium_error_. At the initial stage, all nodes are in _error_free_ state by default, until a cluster member finds a faulty-CH through monitoring synchronization beacon messages, packet acknowledgements or MAC layer Wake-up-frames. By detecting a fault, the node enters into an _error_detecting_ state and propagates an _unable_list_ to the rest of cluster members. The list is propagated and updated among the cluster members, and as the size of the list exceeds a predefined threshold value, the CH is considered as failed and a _ch-fail_ message would be broadcast. By receiving the _ch-fail_ message, cluster member nodes enter into a _ch_error_ state.