2.2 Distributed Approaches
2.2.5 Cluster-based Approaches
The cluster-based approaches create a virtual communication backbone to group sensor nodes and split the overall WSN into different groups (e.g., clusters). Fault detection is normally distributed and executed in each individual group. Usually, the leader node of a cluster (e.g., the cluster head) executes fault detection in its group using a centralized or distributed approach.
Gupta et al. [69] assume a fail silent model where any erroneous behavior does not affect the healthy components. In their fault tolerant clustering scheme, failure detection of the cluster head is investigated. This approach adopts a method of periodic status updates through inter-cluster communication. Along with the sensed data, sensor nodes provide their energy status to the cluster head. Once the sensed data and energy status of affiliated member sensor nodes are obtained, a cluster head constructs a Status containing information about the sensor nodes in its cluster, and the status of the cluster head itself. In the Status Update slot, the statuses of cluster heads are exchanged. At the end of detection phase, a cluster head CHi believes that CHj is faulty if it does not receive the update
from CHj. Since the updates can be missed due to link failures between two
sensor nodes, before taking any decision, CHi consults the consensus derived by
all cluster heads.
Jaikaeo et al. [70] propose the sensor information networking architecture (SINA). Their approach consists of mechanisms for hierarchical clustering, attribute-based naming, and querying and tasking supports. The manager node issues a script programmed in the SQTL language to all cluster heads to diagnose the sensor nodes. Upon receiving this script, cluster heads trigger their associated members for temperature readings. Cluster heads then compare the difference between each reading and the average reading of all the associated members with a predefined threshold. Member sensor nodes those failed to pass the threshold test are identified as faulty sensor nodes.
Tai et al. [71] propose a heartbeat-style failure detection service for the middle-ware implementation. This approach exploits the inherent message redundancy of ad-hoc networks. This approach is coupled with cluster-based communication architecture. The fault diagnosis is achieved by exchanging three types of messages namely Heartbeat message, Digest message and
Health-status-update message.
Ossama et al. [72] suggest an approach in which a cluster head periodically broadcasts a heartbeat message to inform its members that it is still functional. Upon not receiving any heartbeats from its cluster head, a member sensor node detects that its cluster head is faulty. In a WSN if member sensor nodes go through a duty cycle, they cannot hear periodic cluster head heartbeats. This approach addresses this issue where a member sensor node can solicit a heartbeat from its cluster head after sending a certain number of messages. Cluster heads detect neighboring cluster head failures using routing updates.
Wang et al. [73] propose an agreement-based fault detection mechanism for detecting cluster-head failures in clustered underwater sensor networks. Periodically, it performs a distributed detection process at each cluster member. This requires each cluster member in a cluster to maintain a status vector, in which each bit corresponds to a cluster member and is initialized to zero. A bit in the vector is set to one once its corresponding cluster member detects that the cluster head has failed. If all elements of the status vector of a cluster member become one, an agreement is reached and the cluster member takes a decision.
Venkataraman et al. [74] propose an approach in which the sensor nodes detect the energy failures in their respective clusters. In this approach, every sensor node has a record of its balance energy. The sensor nodes in each cluster embed their current energy status in the hello message and send to their first hop members, including their parent. The hello message consists of the location, energy and ID of the sensor node. A sensor node sends the failure report message to its parent and children when its energy level drops below a threshold value. The threshold value is the energy required to transmit D number of messages across a distance equal to the transmission range. D is the maximum number of one-hop sensor nodes selected during clustering.
Asim et al. [75] suggest a cellular-based approach where the cell manager (cluster head) and gateway nodes coordinate with each other to detect faults. In this approach, the cell manager sends get messages periodically to the associated member sensor nodes and gateway node and in return they send their updates. An
update includes sensor node ID and energy level. Upon not receiving update from
any sensor node, it sends an instant message to the sensor node and acquires its status. If a cell manager does not receive the acknowledgment in bounded time, it declares the sensor node as faulty and conveys this decision to other nodes in the WSN. Wei et al. [76] suggest a cluster-based real-time fault diagnosis aggregation algorithm (CRFDA). It closely follows [37] where the diagnostic tasks are assigned to the cluster members by the affiliating cluster head. The cluster head takes a decision by comparing the test results sent by its member sensor nodes.
Kazi [77] proposes an asynchronous failed sensor node detection (AFSD) method. In this approach, separate detection protocols are assigned to cluster heads and cluster members. A numeric counter variable called failure counter is used to track the received and sent data packets between active sensor nodes. AFSD modifies the failure counter such that for a fault-free sensor node, the value of the counter is bounded and tends to zero. For a failed sensor node, the value of this counter is unbounded and tends to infinity and eventually will cross a predefined threshold.