<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">IASC</journal-id>
<journal-id journal-id-type="nlm-ta">IASC</journal-id>
<journal-id journal-id-type="publisher-id">IASC</journal-id>
<journal-title-group>
<journal-title>Intelligent Automation &#x0026; Soft Computing</journal-title>
</journal-title-group>
<issn pub-type="epub">2326-005X</issn>
<issn pub-type="ppub">1079-8587</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">21922</article-id>
<article-id pub-id-type="doi">10.32604/iasc.2022.021922</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Fault Tolerance Techniques for Multi-Hop Clustering in Wireless Sensor Networks</article-title><alt-title alt-title-type="left-running-head">Fault Tolerance Techniques for Multi-hop Clustering in Wireless Sensor Networks</alt-title><alt-title alt-title-type="right-running-head">Fault Tolerance Techniques for Multi-hop Clustering in Wireless Sensor Networks</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Rajab</surname><given-names>Adel</given-names></name><email>77adel.rajab@gmail.com</email>
</contrib><aff><institution>College of Computer Science and Information Systems, Najran University</institution>, <addr-line>Najran, 61441</addr-line>, <country>Saudi Arabia</country></aff>
</contrib-group><author-notes><corresp id="cor1">&#x002A;Corresponding Author: Adel Rajab. Email: <email>77adel.rajab@gmail.com</email></corresp></author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2021-12-02"><day>02</day>
<month>12</month>
<year>2021</year></pub-date>
<volume>32</volume>
<issue>3</issue>
<fpage>1743</fpage>
<lpage>1761</lpage>
<history>
<date date-type="received"><day>20</day><month>7</month><year>2021</year></date>
<date date-type="accepted"><day>20</day><month>10</month><year>2021</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2022 Rajab</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Rajab</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_IASC_21922.pdf"></self-uri>
<abstract>
<p>Wireless sensor networks (WSN) deploy many nodes over an extended area for traffic surveillance, environmental monitoring, healthcare, tracking wildlife, and military sensing. Nodes of the WSN have a limited amount of energy. Each sensor node collects information from the surrounding area and forwards it onto the cluster head, which then sends it on to the base station (BS). WSNs extend the lifetime of the network through clustering techniques. Choosing nodes with the greatest residual energy as cluster heads is based on the idea that energy consumption is periodically distributed between nodes. The sink node gathers information from its environment that is then transmitted to the base station. The clustering protocol uses a considerably amount of energy for data collection and transmission, with additional energy used for listening to the nodes. It also contributes to channel sensing and avoiding collisions alongside energy transmission. Most clustering techniques do not consider cluster fails, because of which detection through cluster heads or the BS is not possible. Terminated nodes and sub-cluster heads thus continue to transmit information to the failed sub-cluster head, which leads to higher energy consumption. In light of this, we propose a technique to choose cluster heads while reducing the use of CSMA/CA through fault tolerance to determine the failure of the cluster heads by consuming little energy. This work here contributes to increasing the life of the WSN and conserving its energy by more than a half-sensor node per round.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Fault-tolerant detection</kwd>
<kwd>fault-tolerant recovery</kwd>
<kwd>wireless sensor networks</kwd>
<kwd>network lifetime</kwd>
<kwd>cluster head</kwd>
<kwd>energy consumption</kwd>
<kwd>fault coverage</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Wireless sensor networks (WSNs) are important for the performance of applications in several fields, including military operations, rescue missions, medical surveillance, and climate change. However, a number of issues persist with regard to maintaining connectivity and maximizing the network lifetime in them. The sensor nodes in a WSN directly communicate with one another or with the base station (BS). It is challenging to replace these sensor nodes or recharge them. Therefore, a method is needed to reduce their energy used to extend the life of the sensor network. The optimization of available energy for the sensor node is thus an important operation in the WSN. This end is attained through a clustering algorithm. Clustering is a technique for optimizing the energy consumed during data routing. Clusters are regions of sensor nodes divided into small groups, with each cluster having a node known as a cluster head (CH). Transforming information by using cluster heads reduces energy consumption. In this technique, the cluster heads are close to the BS, to which they can directly transfer their data. Otherwise, they indirectly transfer information to it through multi-hop communication using other clusters. Clustering can thus extend the network&#x2019;s life. Clustering methods are responsible for collecting data from the environment based on sensor nodes. Other nodes that sense and transfer data only to the cluster heads are known as ordinary nodes [<xref ref-type="bibr" rid="ref-1">1</xref>].</p>
<p>Sensors work together to sense, process, and transfer data. Due to the nature of WSNs, a sensor node, sub-cluster, and cluster head may fail. Therefore, the route from the clusters to the BS may also fail. This study proposes a technique to select cluster heads for the network with a limited use of CSMA/CA through fault tolerance. We propose three basic models: cluster head selection, fault tolerance detection, and recovery. This study modifies LEACH for failure detection and recovery by changing its transformation data to a spare node.</p>
<p>Section 2 presents the protocol specification, and Section 3 summarizes related work in the area. Section 4 examines the protocol implementation, and Section 5 explores its energy efficiency and reliability. Section 6 describes the results of simulation to verify the proposed method, and Section 7 details a comparative examination of it. Finally, Section 8 provides the conclusion of this study and directions for future research in the area.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Original LEACH Protocol</title>
<p>LEACH [<xref ref-type="bibr" rid="ref-2">2</xref>] employs a distributed algorithm to form clusters. The sensor nodes can make autonomous decisions without any centralized control. The proposed algorithm focuses on the round when a cluster is being formed. Each round begins with a setup phase. Consequently, a steady-state phase formation is used to send data to the sink. The setup phase can be classified into three phases: (1) advertisement, (2) cluster setup, and (3) schedule creation.</p>
<sec id="s2_1">
<label>2.1</label>
<title>Phase 1: Setup Phase</title>
<p>As mentioned above, this phase is further classified into three parts.</p>
<sec id="s2_1_1">
<label>2.1.1</label>
<title>Advertisement Phase</title>
<p>Each of the nodes yields a haphazard number between zero and one, which is then checked according to a threshold Th(n). If the number is less than Th(n), this means that a cluster head has been selected. Once a sensor node has been selected as the CH, Th(n) is set to zero to allow other nodes a chance of being chosen as the cluster head. Th(n) increases as the number of nodes that are CHs increases. Th(n) self-control increase, thus, the chance for the rest of the sensor nodes to be elected as CHs increases.</p>
<p>T(n) &#x003D; 1 if only one node is left, meaning that is will certainly be selected. T(n) is given by the equation</p>
<p><disp-formula id="ueqn-15">
<mml:math id="mml-ueqn-15" display="block"><mml:mrow><mml:mi mathvariant="normal">T</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="normal">n</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mrow><mml:mrow><mml:mi mathvariant="normal">p</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mi mathvariant="normal">p</mml:mi><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">m</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">p</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>G</mml:mi></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mrow><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">w</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>where n represents the sensor nodes that can become cluster heads, G represents any node that have not yet been CHs, p represents cluster heads as a percentage of all nodes, and the current round is represented by r. When a node is chosen as the CH, it announces its &#x201C;id&#x201D; to the other nodes. Ordinary nodes choose the clusters that they join depending upon the separation between them. Once the cluster heads receive all shared messages, they produce a message to inform every node in their cluster of their status.</p>
</sec>
<sec id="s2_1_2">
<label>2.1.2</label>
<title>Setup Phase</title>
<p>Each sensor node decides to join a CH itself. It sends a message to inform the CH that it wants to join its cluster according to the distance between them.</p>
</sec>
<sec id="s2_1_3">
<label>2.1.3</label>
<title>TDMA Creation Table</title>
<p>The cluster head accepts the request message from the sensor node to the effect that it wants to be in its cluster. The cluster head knows how many members there are. Thus, it creates a TDMA schedule and permits only a single node to be transferred into each slot. A broadcast of the TDMA schedule is then sent to the cluster members.</p>
</sec>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Phase 2: Steady-state Phase</title>
<p>Each sensor node transmits its location information to the cluster head according to its TDMA table time. When all aggregated data have been received by it, the CH resends it to the BS. The latter receives all location information from the CH and retransfers a message to every node to start a new round. This means that the next round cannot begin until the BS has obtain all the data from all CHs in the first round. The algorithm then returns to first stage for CH selection.</p>
<fig id="fig-14">
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-14.png"/>
</fig></sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Related Work</title>
<p>In [<xref ref-type="bibr" rid="ref-3">3</xref>], a protocol was proposed for centralized clustering (LEACH-C) in which the base station chooses the cluster head according to the gain in energy and distance from the sink. The BS gathers information on the position and residual energy of every sensor node in the first phase. The base station organizes the residual energy of every sensor. Nodes with low energy are not selected as the CH. The BS is selected as the cluster head, and sends the cluster-id of each CH to every sensor node. The cluster head creates the TDMA for data transfer.</p>
<p>The first round of the E-LEACH protocol randomly selects N nodes as CHs. In the second round, the remaining nodes with high energy are chosen. The protocol improves the LEACH in the setup phase, and is the same as the LEACH protocol in the steady-state phase. The proposed method maximizes the lifetime of the network and balances the load of the network nodes to a better extent than the original LEACH [<xref ref-type="bibr" rid="ref-4">4</xref>].</p>
<p>In protocol selection for TB-LEACH, the CH relies upon a random timer generated by the sensor nodes, and chooses the first advertised node as cluster head from among six or fewer nodes; the other nodes are selected as normal nodes. The lifetime in TB-LEACH is enhanced by over 100 s compared with that in the original LEACH protocol [<xref ref-type="bibr" rid="ref-5">5</xref>,<xref ref-type="bibr" rid="ref-6">6</xref>].</p>
<p>Wang et al. [<xref ref-type="bibr" rid="ref-7">7</xref>] proposed a hybrid multi-hop partition-based clustering routing protocol (HMPBC) that considers cluster head selection with regard to the residual energy of the candidate nodes. Once the large area of the network has been divided into zones, the cluster uses a single-chain structure with only one zone to prolong the lifetime of the network. The minimum spanning tree algorithm through the CHs. The HMPBC solves the problems in multiple LEACH-MLOR [<xref ref-type="bibr" rid="ref-7">7</xref>] and the original LEACH. It uses a minimum spanning tree to communicate with the cluster heads while incurring an additional overhead.</p>
<p>An algorithm to handle network load was proposed in [<xref ref-type="bibr" rid="ref-8">8</xref>] that uses and conserves the residual energy of the idle channel. This is suitable for small WSNs. Another protocol [<xref ref-type="bibr" rid="ref-9">9</xref>], known as improved-LEACH, reduces the energy consumption of every sensor node.</p>
<p>In [<xref ref-type="bibr" rid="ref-10">10</xref>], new techniques were proposed to prolong the network lifetime by reducing the number of messages of the cluster head. The proposed method is called LEACH medium control access (LEACH-MAC). However, it runs into the problems of a large overhead and network complexity. In [<xref ref-type="bibr" rid="ref-11">11</xref>], LEACH simulated annealing was proposed in which the BS is at the center. The method searches for the energy of each node and the distance between sensor nodes according to the center, and the node with the highest remaining energy is nominated as the cluster head.</p>
<p>In [<xref ref-type="bibr" rid="ref-12">12</xref>] a dual-hop-layered LEACH (DL-LEACH) protocol was proposed. It uses two hops between each network node and the BS, and relies on distance. Any node can send data to the cluster head. It first determines the distance between the CH and all BS and then sends the data to the nearest BS.</p>
<p>The authors of [<xref ref-type="bibr" rid="ref-13">13</xref>] proposed a technique called ICH-LEACH that is based on a distance factor that solves the distance problem in LEACH.</p>
<p>The work in [<xref ref-type="bibr" rid="ref-14">14</xref>] improves the PEGASIS to propose a LEACH protocol called EE-RBDG that can enhance energy efficiency, gather information, and reduce the average end-to-end delay compared with LEACH and PEGASIS in each round.</p>
<p>In [<xref ref-type="bibr" rid="ref-15">15</xref>], a protocol was proposed to select cluster heads with a large amount of energy, and is called the EE-LEACH protocol. LEACH-T divides the network into three layers, where each layer has a cluster head [<xref ref-type="bibr" rid="ref-16">16</xref>]. In [<xref ref-type="bibr" rid="ref-17">17</xref>], the authors introduced the LEACH-GA protocol that prolongs the network lifetime compared with LEACH and LEACH-C. O-LEACH, proposed in [<xref ref-type="bibr" rid="ref-18">18</xref>], can improve the throughput and PDR as well as the conserved power energy compared with the original LEACH. In [<xref ref-type="bibr" rid="ref-19">19</xref>], a CH was chosen close to the base station to reduce energy and increase the lifetime of the network.</p>
<p>In [<xref ref-type="bibr" rid="ref-20">20</xref>], a protocol was introduced in which the area of the network is divided into clusters. Each cluster then chooses a cluster head. lGA-LEACH was developed by using a genetic algorithm to select the optimal cluster head and maximize the conservation of power energy by nodes over its lifetime.</p>
<p>The method proposed here considers recent developments (LEACH-MF) to conserve sensor energy. The proposed work focuses on Modified LEACH-MF Parameter and improve its Limited Communication the proposed work called (LC-LEACH-MF). The work enhancement efficiency of Energy Consumption, Packet Delivery Ratio, First Node Dead, Half Node Dead, and Last Node Dead [<xref ref-type="bibr" rid="ref-21">21</xref>].</p>
<p>Syms et al. [<xref ref-type="bibr" rid="ref-22">22</xref>] proposed the suggested ReLEACH protocol that involves choosing a CH for many rounds. This protocol is also known as reappointment LEACH. The node selected as a CH functions continuously until it has lost all energy, at which time another node is chosen as the CH.</p>
<p>Radhika et al. [<xref ref-type="bibr" rid="ref-23">23</xref>] proposed a micro-genetic algorithm-based LEACH protocol (lGALEACH) that uses a genetic algorithm to select the optimal CH. It can improve the network lifetime and reduce energy consumption.</p>
<p>Elmagzoub et al. [<xref ref-type="bibr" rid="ref-24">24</xref>] proposed a thorough, contemporary review of the latest architectures, subsystems and integrated technologies of MIMO wireless signals backhauling using optical fibre access networks.</p>
</sec>
<sec id="s4">
<label>4</label>
<title>Protocol Implementation</title>
<p>We propose a technique to select cluster heads for multi-hop clustering in wireless sensor networks. It consists of the following:<list list-type="bullet"><list-item>
<p>First stage: cluster head selection.</p></list-item><list-item>
<p>Second stage: cluster setup.</p></list-item><list-item>
<p>Third stage: data transmission.</p></list-item></list></p>
<p>In the first stage, three sensor nodes with the highest power are chosen. Two of three act as CHs and the third acts as a spare node. In the second stage, the two CHs broadcast an advertisement message to all sensor nodes, which then determine the cluster to join according to the highest and lowest energies. The nodes with the highest energies replay a joint response to the CH to be a multi-hop cluster, and nodes with the lowest energies replay a joint response to the CH or multi-hop node to act as normal nodes. The spare node broadcasts an advertisement message containing information about its id, and stays dormant. The nodes with the greatest energy that function as CHs or multi-hop nodes receive messages regarding the spare node to join according to their failure detection. In the third stage, the two CHs use the TDMA table to collect data from all sensor nodes and transmit them to the BS <italic>via</italic> the multi-hop connection. The third node uses the TDMA table to gather data from all sensors that detect the failure of sub-cluster heads and transmits this to the BS. The proposed algorithm has the following objectives:<list list-type="bullet"><list-item>
<p>increase the coverage of WSNs</p></list-item><list-item>
<p>fault tolerance</p></list-item><list-item>
<p>conserve power by limited use of CSMA/CA</p></list-item><list-item>
<p>longer network lifetime</p></list-item><list-item>
<p>lower energy consumption</p></list-item><list-item>
<p>packets received at the BS</p></list-item><list-item>
<p>packets received at the CH</p></list-item><list-item>
<p>dead nodes of the network.</p></list-item></list></p>
<p>The proposed technique focuses on multi-hop communication, which represents the Multi-Hop node fault tolerant technique of sensor node failures in each Multi-Hop clustering in WSNs. The proposed method uses CSMA/CA only in multi-hop clusters and neglects it in normal sensor nodes. This enables the algorithm to conserve the power of all normal nodes. The technique presents fault tolerance as failure detection and recovery. For failure detection, the CHs sends a &#x201C;hello&#x201D; message to all multi-hop clusters. If any of these messages is not received, the CH advertises that the given multi-hop nodes is a failed node. The CH sends the failure of transmission of multi-hop information to the spare node to change its valid nodes to the spare node, which transmits the collected data to the base station.</p>
<sec id="s4_1">
<label>4.1</label>
<title>First Stage: Cluster Head Selection</title>
<p>The proposed technique selects the nodes with the greatest energy as the CH. Two nodes are identified as CHs, and a tree is built around them as shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, where Counter Left &#x003D; 0 and Counter Right &#x003D; 1.</p>
<p>The first point on the tree is built by using N-Counter Left (representing the first point on the left branch) and Counter Right &#x002B; 2 (representing the first point on the right branch). Counter Left and Counter Right are increased by one, and move to the second point. The left branch is built here by using N-Counter Left (representing the second point on the left branch) and Counter Right &#x002B; 2 (representing the second point on the right branch). The third point (a spare node) is used only if multi-hop failure is identified by the failure algorithm. If more than 10 sensor nodes are used, Counter Left and Counter Right are both increased by one and all the above steps are repeated. This generates many branches of the tree with higher energies on the right side than the left. The nodes of the right branch become multi-hop nodes for other nodes. The tree is rebuilt by resetting Counter Left and Counter Right to zero and one, respectively, at beginning of each round.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>The clustered architecture with 20 nodes</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-1.png"/>
</fig>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Second Stage: Cluster Setup</title>
<p>The proposed method chooses three nodes with the highest energy. Two of them act as cluster heads and the third one is a spare node. The CHs then broadcast advertisement messages containing information about them and their ids. The spare node broadcasts an advertisement message containing information on its id. Based on their remaining energy, the sensor nodes identify the CH to join. The multi-hop cluster and the normal nodes then replay a response message to the CH.</p>
</sec>
<sec id="s4_3">
<label>4.3</label>
<title>Third Stage: Data Transmission</title>
<p>The CHs use the TDMA table to gather data from all network nodes that are then transmitted to the BS, as in the original LEACH protocol. Each sensor node selected as the CH is responsible for collecting data from the other sensors. Both the CHs then create a TDMA table of active members. As in the original LEACH method, the two CHs or the spare node collect data from surrounding nodes that are then sent to the BS. This process is shown in <xref ref-type="fig" rid="fig-2">Figs. 2</xref>&#x2013;<xref ref-type="fig" rid="fig-4">4</xref>. The algorithm rebuilds the TDMA in each round.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Data transmission by the first cluster head</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-2.png"/>
</fig>
<p><xref ref-type="fig" rid="fig-2">Fig. 2</xref> shows that the first cluster (CH1) collects all information from its members. This is followed by CH2 and the spare node. CH1 collects information received from the normal sensor nodes and its multiple hops, and transfers it to the BS. The work here is distributed among the main three sensor nodes. This provides a benefit from the corruption of low power to transfer its message before dissipating its energy. It also helps conserve power and prolong the network&#x2019;s lifespan.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Data transmission by the second cluster head</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-3.png"/>
</fig>
<p><xref ref-type="fig" rid="fig-3">Fig. 3</xref> shows that the second cluster head (CH2) collects information from normal sensor nodes reachable through multiple hops in its cluster area, followed by the spare node, and resends it to the BS.</p>
<p><xref ref-type="fig" rid="fig-4">Fig. 4</xref> shows a spare node working as the third cluster head, which is only found if that the multi-hop cluster failed, whereby it will receive the information from its members and compare it with first and second clusters. The spare node gathers the data from its normal sensors and multi-hop nodes according to its cluster area, and resends it to the BS.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Data transmission from spare node</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-4.png"/>
</fig>
</sec>
<sec id="s4_4">
<label>4.4</label>
<title>Proposed Algorithm</title>
<fig id="fig-15"><graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-15.png"/></fig></sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Energy Efficiency and Reliability</title>
<p>The proposed objective is to conserve the energy of the sensor nodes by limiting the use of CSMA/CA, which consumes a significant amount of power in the transmission and receipt of data to sense the channel.</p>
<p>We explain the probability of data transmission to conserve energy. k represents the number of packets to transmit to the TDMA slot from the cluster head. Our method distributes the packets over the nodes by considering the worst possible collisions. CSMA transmits a packet if the channel is clean, and all other sensor nodes in it abort their attempts and sense its transmission. The channel can be by c parameter and p persistent the CSMA-slot. The proposed [<xref ref-type="bibr" rid="ref-3">3</xref>] assumes that all packet transmissions are lost if more than one sensor node accesses the channel slot. In these works, the probability of the first CSMA-slot which receives successful transmission is in equation:</p>
<p><disp-formula id="eqn-1"><label>(1)</label>
<mml:math id="mml-eqn-1" display="block"><mml:mrow><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">k</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">c</mml:mi><mml:mi mathvariant="normal">k</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="normal">p</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:math>
</disp-formula></p>
<p>The next CSMA slot receives its successful transmission, given by:</p>
<p><disp-formula id="eqn-2"><label>(2)</label>
<mml:math id="mml-eqn-2" display="block"><mml:mrow><mml:mi mathvariant="normal">P</mml:mi><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="normal">c</mml:mi><mml:mi mathvariant="normal">k</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="normal">p</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:math>
</disp-formula></p>
<p>The cluster forwards k&#x2212;1 packets by using the CSMA slot with the highest probability of successful transmission.</p>
<p><disp-formula id="eqn-3"><label>(3)</label>
<mml:math id="mml-eqn-3" display="block"><mml:mrow><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>=</mml:mo><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">p</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="normal">p</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>Cluster behavior is represented as a discrete-time Markov chain (DTMC), as shown in <xref ref-type="fig" rid="fig-5">Fig. 5</xref>. It shows the number of sensors states that a packet must forward. State 0 is the steady-state solution of the chain. The CSMA has the following probability of containing at least one sensor node that attempts to transmit a packet:</p>
<p><disp-formula id="eqn-4"><label>(4)</label>
<mml:math id="mml-eqn-4" display="block"><mml:mrow><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">k</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="normal">p</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /></mml:mrow></mml:math>
</disp-formula></p>
<p>CSMA focuses on two bounds: failure occurring in case of two simultaneous sensing procedures, and when a sensor node initiates a transfer between the posting and the execution of the sending task of another node. To solve the problem of incorrect sensing if two sensors are involved, the following equation is used:</p>
<p><disp-formula id="eqn-5"><label>(5)</label>
<mml:math id="mml-eqn-5" display="block"><mml:mrow><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">k</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="normal">p</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mrow></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="normal">&#x0024;</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">p</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>where $ represents the probability of incorrect sensing between the sensors, and $ parameter is closer to the 1, p (K&#x2212;1) refers to the expected number of additional accesses to the channel in the same CSMA slot.</p>
<sec id="s5_1">
<label>5.1</label>
<title>Fault Tolerance as Failure Detection</title>
<p>To detect the failure of a CH, we modify our proposed algorithm. Let the time of beginning of a round be represented by btr. btr &#x002B; fn represents the time at which the second round begins, and fn presents the duration of one round. We chose three main sensor nodes, of which the two with the highest energy were used as cluster heads and the third as the spare node. A total of m sensor nodes represented a part of the multiple hops transmitting the data for s seconds to the cluster&#x2019;s TDMA table. For each cluster transfer, t1 &#x003D; fn&#x002A; m/s represents transmission through the CHs and their sensor nodes. The cluster heads transfer a message to only other cluster heads and multi-hop nodes. The CHs heads use time t1 to detect a transmission that has not been received by the multi-hop nodes. The proposed method neglects ordinary sensor nodes in the detection in each round, and identifies only multi-hop nodes if a transmissions has failed. The CHs can advertise the failure of the multi-hop node as shown in <xref ref-type="fig" rid="fig-5">Fig. 5</xref>.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Failure detection</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-5.png"/>
</fig>
</sec>
<sec id="s5_2">
<label>5.2</label>
<title>Fault Tolerance as Failure Recovery</title>
<p>If the failure of a multi-hop node is detected, the fault tolerance recovery model informs the multi-hop failure &#x002B; 2 node to become the new multi-hop according to its positional value. And join a position of multi-hop failure &#x002B; 2 to a spare node. Also, the normal nodes which join before to a multi-hop node failed, it joins by using the n-(multi-hop failure &#x002B; 2) &#x2212; 1 to a spare node, according to its position value, as shown in <xref ref-type="fig" rid="fig-6">Fig. 6</xref>.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Cluster head recovery in WSN</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-6.png"/>
</fig>
</sec>
<sec id="s5_3">
<label>5.3</label>
<title>Fault Coverage Area</title>
<p>Each CH has members, a multi-hop node and normal sensor nodes. The first and second clusters with them multi-hop nodes only in each cluster represent a chine. So, the total of chines in this techniques are two, such as in <xref ref-type="fig" rid="fig-7">Fig. 7</xref>.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>The chine architecture of a cluster head</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-7.png"/>
</fig>
<p>Nodes 20, 17, 15, 13, and 11 in the above represent the first chain, and nodes 19, 16, 14, 12, and 10 represent the second chain. Node 10 is terminal in the second chain. These nodes hereinafter neglect failure, but can become clusters or sub-clusters after a set of rounds; during this time, the algorithm starts examining its nodes to identify failure. We neglect two sensor nodes per each two-chain sequence, which causes these nodes to change into normal sensor nodes that constitute more than half of all nodes in the network. This helps retain more energy in each round. Fault-tolerant coverage is an important issue in any technique for detecting and recovering from the failure of nodes in a sensor networks.</p>
<p>The probability of failure nodes occurring in a single chain is as follows:</p>
<p><disp-formula id="eqn-6"><label>(6)</label>
<mml:math id="mml-eqn-6" display="block"><mml:mrow><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">c</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">F</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mo>=</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mo>!</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">F</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mo>!</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="normal">F</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>!</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>where F_Node is the probability of faulty nodes occurring among N_S_Chain nodes.</p>
<p>N_S_Chain represents the number of nodes in a single chain.</p>
<p>The probability of failure of the first chain of sensor nodes is calculated by the following equation:</p>
<p><disp-formula id="eqn-7"><label>(7)</label>
<mml:math id="mml-eqn-7" display="block"><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">l</mml:mi><mml:mi mathvariant="normal">u</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">c</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>=</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mn>1</mml:mn><mml:mo>!</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">F</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mn>1</mml:mn><mml:mo>!</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="normal">F</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>!</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>The probability of failure of the second chain of sensor nodes is as follows:</p>
<p><disp-formula id="eqn-8"><label>(8)</label>
<mml:math id="mml-eqn-8" display="block"><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">l</mml:mi><mml:mi mathvariant="normal">u</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">c</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>=</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mn>2</mml:mn><mml:mo>!</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">F</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mn>2</mml:mn><mml:mo>!</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mn>2</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="normal">F</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>!</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>F_Node represents the probability of a node being faulty among N_S_Chain nodes.</p>
<p>F_Node1 represents faulty nodes in chain1, F_Node2 represents faulty nodes in chain2, N_S_Chain1 represents the number of sensor nodes in chain1, and N_S_Chain2 represents number of sensor nodes in chain2.</p>
<p>For example, if N_S_Chain1 &#x003D; 4 the number of sensor nodes of chain1 and F_Node1 &#x003D; 2 failure sensor nodes among a N_S_Chain1, it calculating as:</p>
<p><disp-formula id="eqn-9"><label>(9)</label>
<mml:math id="mml-eqn-9" display="block"><mml:mrow><mml:mn>4</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">c</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mn>2</mml:mn><mml:mo>=</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo>!</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo>!</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>!</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>=</mml:mo><mml:mn>6</mml:mn></mml:mrow></mml:math>
</disp-formula></p>
<p>The total number of faulty sensor nodes in the first and second chains is calculated as follows:</p>
<p><disp-formula id="eqn-10"><label>(10)</label>
<mml:math id="mml-eqn-10" display="block"><mml:mrow><mml:mi mathvariant="normal">C</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">l</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">u</mml:mi><mml:mi mathvariant="normal">l</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:math>
</disp-formula></p>
</sec>
<sec id="s5_4">
<label>5.4</label>
<title>Power Consumption</title>
<p>The exhaustion of power for detect a sensor nodes failure bases on the CHs and multi-hop nodes. The CHs transfer messages to the multi-hop nodes and neglect the normal member nodes. Therefore, they use more power more than normal sensor nodes, which constitute most nodes of the sensor network. These techniques can conserve more power in each round. The proposed, CHs transfer acknowledgment of a fault multi-hop nodes excepted the normal sensor nodes which are ready to becoming as a multi-hop nodes in a coming round, when the multi-hop nodes accept a messages coming from the CH, and resend acknowledgment message to its CH. The normal nodes are prevented from receiving or sending any acknowledgment. Therefore, energy is conserved until these nodes becomes CHs or multi-hop nodes. Thus, the faulty messages required are: 2&#x002A; (2&#x002A; (N_S_Chain &#x2212; 2)).</p>
<p>The total power consumed for failure detection is:</p>
<p><disp-formula id="eqn-11"><label>(11)</label>
<mml:math id="mml-eqn-11" display="block"><mml:mrow><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">T</mml:mi><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">d</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>+</mml:mo><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">R</mml:mi><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>where ETx (k, d) and ERx (k)) are as follows:</p>
<p><disp-formula id="eqn-12"><label>(12)</label>
<mml:math id="mml-eqn-12" display="block"><mml:mrow><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">T</mml:mi><mml:mi mathvariant="normal">x</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="normal">k</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">d</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">l</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">k</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">m</mml:mi><mml:mi mathvariant="normal">p</mml:mi><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">k</mml:mi><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="normal">d</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">R</mml:mi><mml:mi mathvariant="normal">x</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="normal">k</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">l</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">k</mml:mi></mml:mrow></mml:math>
</disp-formula></p>
<p>There are two chains, and two messages are required.</p>
<p>Power of recovery of failure nodes is given by:</p>
<p><disp-formula id="eqn-13"><label>(13)</label>
<mml:math id="mml-eqn-13" display="block"><mml:mrow><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">T</mml:mi><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="normal">d</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">T</mml:mi><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">d</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>The fault-tolerant power is given by:</p>
<p><disp-formula id="eqn-14"><label>(14)</label>
<mml:math id="mml-eqn-14" display="block"><mml:mrow><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">T</mml:mi><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">d</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>+</mml:mo><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">N</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>+</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">T</mml:mi><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="normal">d</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">T</mml:mi><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">d</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Simulations</title>
<p>Simulations were implemented in a square area of l00 m &#x00D7; l00 m with an initial energy of 2 J to deploy 100 sensor nodes. The simulation was executed in MATLAB. We implemented the original LEACH algorithm, LC-LEACH-MF, and our proposed method that contains fault tolerance techniques. We simulated a number of rounds to measure the lifetime and power consumption of the nodes to detect and recover the failed nodes. The proposed method consumed less power compared with the original LEACH algorithm and LC-LEACH-MF. It increased the coverage and lifetime of the WSN as shown in <xref ref-type="table" rid="table-1">Tab. 1</xref> and <xref ref-type="fig" rid="fig-8">Fig. 8</xref>. We assessed our method in terms of the number of live nodes, number of dead nodes, energy consumed for identifying a fault (detection, recovery), and energy consumed by the live nodes.</p>
<table-wrap id="table-1"><label>Table 1</label>
<caption>
<title>Node lifetime <italic>vs</italic>. number of rounds</title></caption>
<table><colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Number of rounds</th>
<th>LEACH</th>
<th>LC-LEAC&#x2013;MF</th>
<th>Proposed</th>
</tr>
</thead>
<tbody>
<tr>
<td>200</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>300</td>
<td>65</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>500</td>
<td>4</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>600</td>
<td>1</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>1000</td>
<td>0</td>
<td>94</td>
<td>96</td>
</tr>
<tr>
<td>1500</td>
<td>0</td>
<td>45</td>
<td>51</td>
</tr>
<tr>
<td>1800</td>
<td>0</td>
<td>14</td>
<td>27</td>
</tr>
<tr>
<td>2000</td>
<td>0</td>
<td>1</td>
<td>19</td>
</tr>
<tr>
<td>2200</td>
<td>0</td>
<td>0</td>
<td>6</td>
</tr>
<tr>
<td>2300</td>
<td>0</td>
<td>0</td>
<td>4</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Lifetime measured in rounds</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-8.png"/>
</fig>
<sec id="s6_1">
<label>6.1</label>
<title>Network Lifetime</title>
<p>Network lifetime or the number of live nodes is the total lifetime of the network from the start of the round until the last dead node. <xref ref-type="table" rid="table-2">Tab. 2</xref> and <xref ref-type="fig" rid="fig-9">Fig. 9</xref> shows a comparison among the original LEACH, LC-LEACH-MF, and our proposed protocol in terms of network lifetime. Nodes of the LEACH protocol began to die starting from round 300, the first six nodes of the LC-LEACH-MF protocol died in round 1,000, as did four nodes of our proposed protocol. The proposed network nodes die at around 2274, but in our proposal that is up to around 2300. Therefore, the proposed method was superior to the LEACH and LC-LEACH-MF protocols.</p>
<table-wrap id="table-2"><label>Table 2</label>
<caption>
<title>Number of dead nodes <italic>vs</italic>. number of rounds</title></caption>
<table><colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Number of rounds</th>
<th>LEACH</th>
<th>LC-LEAC&#x2013;MF</th>
<th>Proposed</th>
</tr>
</thead>
<tbody>
<tr>
<td>200</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>300</td>
<td>35</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>500</td>
<td>96</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>600</td>
<td>100</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>1000</td>
<td>100</td>
<td>6</td>
<td>4</td>
</tr>
<tr>
<td>1500</td>
<td>100</td>
<td>55</td>
<td>49</td>
</tr>
<tr>
<td>1800</td>
<td>100</td>
<td>86</td>
<td>73</td>
</tr>
<tr>
<td>2000</td>
<td>100</td>
<td>99</td>
<td>81</td>
</tr>
<tr>
<td>2200</td>
<td>100</td>
<td>100</td>
<td>94</td>
</tr>
<tr>
<td>2300</td>
<td>100</td>
<td>100</td>
<td>96</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Analysis of number of dead nodes <italic>vs</italic>. number of rounds</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-9.png"/>
</fig>
<p><xref ref-type="table" rid="table-3">Tab. 3</xref> and <xref ref-type="fig" rid="fig-10">Fig. 10</xref> show a comparison among the LEACH, LC-LEACH-MF, and our proposed method in terms of first node dead (FND). It shows that the proposed method suffered from an earlier FND than the LEACH and LC-LEACH-MF protocols.</p>
<table-wrap id="table-3"><label>Table 3</label>
<caption>
<title>Comparison of FND, HND, and LND</title></caption>
<table><colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th></th>
<th>FND</th>
<th>HND</th>
<th>LND</th>
</tr>
</thead>
<tbody>
<tr>
<td>LEACH</td>
<td>221</td>
<td>326</td>
<td>588</td>
</tr>
<tr>
<td>LC-LEACH-MF</td>
<td>725</td>
<td>1456</td>
<td>1966</td>
</tr>
<tr>
<td>Proposed</td>
<td>870</td>
<td>1722</td>
<td>2274</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="fig-10">
<label>Figure 10</label>
<caption>
<title>Analysis of FND, HND, and LND <italic>vs</italic>. number of rounds</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-10.png"/>
</fig>
</sec>
<sec id="s6_2">
<label>6.2</label>
<title>Energy Consumption</title>
<p><xref ref-type="table" rid="table-4">Tab. 4</xref> and <xref ref-type="fig" rid="fig-11">Fig. 11</xref> show that the proposed method was more efficient than the LC-LEACH-MF and the original LEACH protocols in terms of energy consumption. At close to round 300, the LEACH protocol had expended all its energy, while at around 600 the LC-LEACH-MF consumed its energy, and at around 2200. Our proposed protocol therefore gains the highest energy, consumed at around 2300. Thus, the proposed work is improved in the comparison of LEACH and LC-LEACH-MF protocols in terms of energy consumption. <xref ref-type="table" rid="table-5">Tabs. 5</xref> and <xref ref-type="table" rid="table-6">6</xref>, and <xref ref-type="fig" rid="fig-12">Figs. 12</xref> and <xref ref-type="fig" rid="fig-13">13</xref> show the lowest amount of energy for the detection of a failure node.</p>
<table-wrap id="table-4"><label>Table 4</label>
<caption>
<title>Total energy consumption <italic>vs</italic>. number of rounds</title></caption>
<table><colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Energy level</th>
<th>LEACH</th>
<th>LC-LEACH-MF</th>
<th>Proposed</th>
</tr>
</thead>
<tbody>
<tr>
<td>2</td>
<td>588</td>
<td>1966</td>
<td>2274</td>
</tr>
<tr>
<td>1.8</td>
<td>500</td>
<td>1830</td>
<td>2140</td>
</tr>
<tr>
<td>1.55</td>
<td>430</td>
<td>1720</td>
<td>1890</td>
</tr>
<tr>
<td>1.3</td>
<td>300</td>
<td>1600</td>
<td>1690</td>
</tr>
<tr>
<td>1.05</td>
<td>127</td>
<td>1450</td>
<td>1650</td>
</tr>
<tr>
<td>0.8</td>
<td>78</td>
<td>1300</td>
<td>1600</td>
</tr>
<tr>
<td>0.55</td>
<td>22</td>
<td>1100</td>
<td>1500</td>
</tr>
<tr>
<td>0.3</td>
<td>14</td>
<td>890</td>
<td>1000</td>
</tr>
<tr>
<td>0.05</td>
<td>8</td>
<td>500</td>
<td>500</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="fig-11">
<label>Figure 11</label>
<caption>
<title>Total energy consumption <italic>vs</italic>. number of rounds</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-11.png"/>
</fig>
<table-wrap id="table-5"><label>Table 5</label>
<caption>
<title>Energy consumption for fault detection <italic>vs</italic>. rounds</title></caption>
<table><colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Energy level</th>
<th>LEACH</th>
<th>LC-LEACH-MF</th>
<th>Proposed</th>
</tr>
</thead>
<tbody>
<tr>
<td>2</td>
<td>345</td>
<td>1156</td>
<td>1337</td>
</tr>
<tr>
<td>1.8</td>
<td>294</td>
<td>1076</td>
<td>1258</td>
</tr>
<tr>
<td>1.55</td>
<td>252</td>
<td>1011</td>
<td>1111</td>
</tr>
<tr>
<td>1.3</td>
<td>176</td>
<td>941</td>
<td>994</td>
</tr>
<tr>
<td>1.05</td>
<td>74</td>
<td>852</td>
<td>970</td>
</tr>
<tr>
<td>0.8</td>
<td>45</td>
<td>764</td>
<td>941</td>
</tr>
<tr>
<td>0.55</td>
<td>12</td>
<td>647</td>
<td>882</td>
</tr>
<tr>
<td>0.3</td>
<td>8</td>
<td>523</td>
<td>588</td>
</tr>
<tr>
<td>0.05</td>
<td>4</td>
<td>294</td>
<td>294</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="fig-12">
<label>Figure 12</label>
<caption>
<title>Energy consumption for fault detection <italic>vs</italic>. number of rounds</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-12.png"/>
</fig>
<table-wrap id="table-6"><label>Table 6</label>
<caption>
<title>Energy consumption for failure recovery <italic>vs</italic>. number of rounds</title></caption>
<table><colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Energy level</th>
<th>LEACH</th>
<th>LC-LEACH-MF</th>
<th>Proposed</th>
</tr>
</thead>
<tbody>
<tr>
<td>2</td>
<td>288</td>
<td>1051</td>
<td>1324</td>
</tr>
<tr>
<td>1.8</td>
<td>245</td>
<td>978</td>
<td>1246</td>
</tr>
<tr>
<td>1.55</td>
<td>210</td>
<td>919</td>
<td>1100</td>
</tr>
<tr>
<td>1.3</td>
<td>147</td>
<td>855</td>
<td>984</td>
</tr>
<tr>
<td>1.05</td>
<td>62</td>
<td>775</td>
<td>960</td>
</tr>
<tr>
<td>0.8</td>
<td>38</td>
<td>695</td>
<td>931</td>
</tr>
<tr>
<td>0.55</td>
<td>10</td>
<td>588</td>
<td>873</td>
</tr>
<tr>
<td>0.3</td>
<td>6</td>
<td>475</td>
<td>582</td>
</tr>
<tr>
<td>0.05</td>
<td>3</td>
<td>267</td>
<td>291</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="fig-13">
<label>Figure 13</label>
<caption>
<title>Energy consumption for failure recovery <italic>vs</italic>. number of rounds</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="IASC_21922-fig-13.png"/>
</fig>
</sec>
</sec>
<sec id="s7">
<label>7</label>
<title>Comparative Study</title>
<p>We compared LEACH, LC-LEACH-FM, and the proposed method in terms of network lifetime, fault detection, and fault recovery, where the comparison reveals the three protocols which improved the network lifetime, which is the best one of three protocols. LEACH and LC-LEACH-FM do not contain fault tolerance techniques while the proposed method does, as shown in <xref ref-type="table" rid="table-7">Tab. 7</xref>.</p>
<table-wrap id="table-7"><label>Table 7</label>
<caption>
<title>Comparison of methods</title></caption>
<table><colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th></th>
<th>LEACH</th>
<th>LC-LEACH-FM</th>
<th>Proposed</th>
</tr>
</thead>
<tbody>
<tr>
<td><bold>Lifetime of the network</bold></td>
<td>Good</td>
<td>Very good</td>
<td>Very good</td>
</tr>
<tr>
<td><bold>Capability of fault detection</bold></td>
<td>No</td>
<td>No</td>
<td>Yes</td>
</tr>
<tr>
<td><bold>Capability of fault recovery</bold></td>
<td>No</td>
<td>No</td>
<td>Yes</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s8">
<label>8</label>
<title>Conclusions and Future Work</title>
<p>In this study, we proposed a method to reduce the energy consumed by a WSN by using a limited amount of CSMA/CA compared with the LEACH protocol, by detecting and recovering the failure of cluster heads or sub-cluster heads. The proposed techniques can conserve over half of sensor energy in each round. It exhibits better fault tolerance than LEACH and LC-LEACH-FM [<xref ref-type="bibr" rid="ref-21">21</xref>]. In future work, the performance of the proposed protocol should be investigated by taking into account the ratio of packets delivered to the cluster heads and the base station, the end-to-end delay, overhead, and distance.</p>
</sec>
</body>
<back><fn-group>
<fn fn-type="other">
<p><bold>Funding Statement:</bold> The author received no specific funding for this study.</p>
</fn>
<fn fn-type="conflict">
<p><bold>Conflicts of Interest:</bold> The author declare that he has no conflicts of interest to report regarding the present study.</p>
</fn>
</fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Mahajan</surname></string-name> and <string-name><given-names>P. K.</given-names> <surname>Dhiman</surname></string-name></person-group>, &#x201C;<article-title>Clustering in wireless sensor networks: A review</article-title>,&#x201D; <source>International Journal of Advanced Research in Computer Science</source>, vol. <volume>7</volume>, no. <issue>3</issue>, pp. <fpage>198</fpage>&#x2013;<lpage>201</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><given-names>W. B.</given-names> <surname>Heinzelman</surname></string-name></person-group>, &#x201C;<article-title>Application-specific protocol architectures for wireless networks</article-title>,&#x201D; <comment>Ph.D. Dissertation, Department of Electrical Engineering and Computer Science, MIT, Cambridge, MA, (Accessed 8 October 2020)</comment>, <year>2020</year>. [Online]. Available: <uri>https://dspace.mit.edu/handle/1721.1/26881</uri>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W. B.</given-names> <surname>Heinzelman</surname></string-name>, <string-name><given-names>A. P.</given-names> <surname>Chandrakasan</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Balakrishnan</surname></string-name></person-group>, &#x201C;<article-title>An application-specific protocol architecture for wireless microsensor networks</article-title>,&#x201D; <source>IEEE Transactions on Wireless Communications</source>, vol. <volume>1</volume>, no. <issue>4</issue>, pp. <fpage>660</fpage>&#x2013;<lpage>670</lpage>, <year>2002</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Mumtaz</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Mumtaz</surname></string-name> and <string-name><given-names>M. N.</given-names> <surname>Khan</surname></string-name></person-group>, &#x201C;<article-title>Energy aware routing using improved LEACH protocol</article-title>,&#x201D; <source>Universal Journal of Communications and Network</source>, vol. <volume>3</volume>, no. <issue>3</issue>, pp. <fpage>64</fpage>&#x2013;<lpage>67</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Hu</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Jin</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Dou</surname></string-name></person-group>, &#x201C;<article-title>A time-based cluster-head selection algorithm for LEACH</article-title>,&#x201D; in <conf-name>IEEE Symp. on Computers and Communications</conf-name>, <publisher-loc>Marrakech, Morocco</publisher-loc>, pp. <fpage>1172</fpage>&#x2013;<lpage>1176</lpage>, <year>2008</year>. </mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R. P.</given-names> <surname>Mahapatra</surname></string-name> and <string-name><given-names>R. K.</given-names> <surname>Yadav</surname></string-name></person-group>, &#x201C;<article-title>Descendant of LEACH based routing protocols in wireless sensor networks</article-title>,&#x201D; <source>Procedia Computer Science (Elsevier)</source>, vol. <volume>57</volume>, no. <issue>1</issue>, pp. <fpage>1005</fpage>&#x2013;<lpage>1014</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>Z.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>Hybrid multihop partition-based clustering routing protocol for WSNs</article-title>,&#x201D; <source>IEEE Sensors Letters</source>, vol. <volume>2</volume>, no. <issue>2</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>4</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Peng</surname></string-name> and <string-name><given-names>X.</given-names> <surname>Li</surname></string-name></person-group>, &#x201C;<article-title>The improvement and simulation of LEACH protocol for WSNs</article-title>,&#x201D; in <conf-name>IEEE Int. Conf. on Software Engineering and Service (ICSESS)</conf-name>, <publisher-loc>Beijing, China</publisher-loc>, pp. <fpage>500</fpage>&#x2013;<lpage>503</lpage>, <year>2010</year>. </mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Latiwesh</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Qiu</surname></string-name></person-group>, &#x201C;<article-title>Energy efficient spectrum aware clustering for cognitive sensor networks: Cog LEACH-C</article-title>,&#x201D; in <conf-name>10th Int. Conf. on Communications and Networking</conf-name>, <publisher-loc>China (ChinaCom), Shanghai, China</publisher-loc>, pp. <fpage>515</fpage>&#x2013;<lpage>520</lpage>, <year>2015</year>. </mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Tang</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Tan</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Han</surname></string-name>, <string-name><given-names>W.</given-names> <surname>An</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Li</surname></string-name></person-group>, &#x201C;<article-title>An energy harvesting aware routing algorithm for hierarchical clustering wireless sensor networks</article-title>,&#x201D; <source>KSII Transactions on Internet and Information Systems (TIIS)</source>, vol. <volume>2</volume>, no. <issue>2</issue>, pp. <fpage>504</fpage>&#x2013;<lpage>521</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>H. S.</given-names> <surname>Zhang</surname></string-name> and <string-name><given-names>W.</given-names> <surname>Bu</surname></string-name></person-group>, &#x201C;<article-title>A clustering routing protocol for the energy balance of wireless sensor network based on simulated annealing and genetic algorithm</article-title>,&#x201D; <source>International Journal of Hybrid Information Technology</source>, vol. <volume>7</volume>, no. <issue>2</issue>, pp. <fpage>71</fpage>&#x2013;<lpage>82</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J. Y.</given-names> <surname>Lee</surname></string-name>, <string-name><given-names>K. D.</given-names> <surname>Jung</surname></string-name>, <string-name><given-names>S. J.</given-names> <surname>Moon</surname></string-name> and <string-name><given-names>H. Y.</given-names> <surname>Jeong</surname></string-name></person-group>, &#x201C;<article-title>Improvement on LEACH protocol of a wide-area wireless sensor network</article-title>,&#x201D; <source>Multimedia Tools and Applications</source>, vol. <volume>76</volume>, no. <issue>19</issue>, pp. <fpage>19843</fpage>&#x2013;<lpage>19860</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M. B.</given-names> <surname>Taj</surname></string-name> and <string-name><given-names>M. A.</given-names> <surname>Kbir</surname></string-name></person-group>, &#x201C;<article-title>ICH-LEACH: An enhanced LEACH protocol for wireless sensor network</article-title>,&#x201D; in <conf-name>Int. Conf. on Advanced Communication Systems and Information Security</conf-name>, <publisher-loc>Marrakesh, Morocco</publisher-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>5</lpage>, <year>2016</year>. </mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Bouldin</surname></string-name> and <string-name><given-names>N.</given-names> <surname>Meghanathan</surname></string-name></person-group>, &#x201C;<article-title>Rank-based data gathering in wireless sensor networks</article-title>,&#x201D; <source>International Journal of Research and Review of Applied Sciences</source>, vol. <volume>5</volume>, no. <issue>1</issue>, pp. <fpage>159</fpage>&#x2013;<lpage>163</lpage>, <year>2010</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M. A.</given-names> <surname>Sibahee</surname></string-name>, <string-name><given-names>S. F.</given-names> <surname>Lu</surname></string-name>, <string-name><given-names>M. Z.</given-names> <surname>Masoud</surname></string-name>, <string-name><given-names>Z. A.</given-names> <surname>Hussein</surname></string-name>, <string-name><given-names>M. A.</given-names> <surname>Hussain</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>LEACH-T: LEACH clustering protocol based on three layers</article-title>,&#x201D; in <conf-name>Int. Conf. on Network &#x0026; Information Systems for Computers</conf-name>, <publisher-loc>Wuhan, China</publisher-loc>, pp. <fpage>36</fpage>&#x2013;<lpage>40</lpage>, <year>2017</year>. </mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G. S.</given-names> <surname>Arumugam</surname></string-name> and <string-name><given-names>T.</given-names> <surname>Ponnuchamy</surname></string-name></person-group>, &#x201C;<article-title>EE-LEACH: Development of energy-efficient LEACH protocol for data gathering in WSN</article-title>,&#x201D; <source>EURASIP Journal on Wireless Communications and Networking</source>, vol. <volume>76</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>9</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Sivakumar</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Radhika</surname></string-name></person-group>, &#x201C;<article-title>Performance analysis of LEACH-GA over LEACH and LEACH-C in WSN</article-title>,&#x201D; <source>Procedia Computer Science</source>, vol. <volume>125</volume>, no. <issue>1</issue>, pp. <fpage>248</fpage>&#x2013;<lpage>256</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Bhola</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Soni</surname></string-name> and <string-name><given-names>G. K.</given-names> <surname>Cheema</surname></string-name></person-group>, &#x201C;<article-title>Genetic algorithm based optimized leach protocol for energy efficient wireless sensor networks</article-title>,&#x201D; <source>Journal of Ambient Intelligence and Humanized Computing</source>, vol. <volume>11</volume>, no. <issue>3</issue>, pp. <fpage>1281</fpage>&#x2013;<lpage>1288</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A. O.</given-names> <surname>Salem</surname></string-name> and <string-name><given-names>N.</given-names> <surname>Shudifat</surname></string-name></person-group>, &#x201C;<article-title>Enhanced LEACH protocol for increasing a lifetime of WSNs</article-title>,&#x201D; <source>Personal and Ubiquitous Computing</source>, vol. <volume>23</volume>, no. <issue>5</issue>, pp. <fpage>901</fpage>&#x2013;<lpage>907</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Kardi</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Zagrouba</surname></string-name></person-group>, &#x201C;<article-title>RaCH: A new radial cluster head selection algorithm for wireless sensor networks</article-title>,&#x201D; <source>Wireless Personal Communications</source>, vol. <volume>113</volume>, no. <issue>4</issue>, pp. <fpage>2127</fpage>&#x2013;<lpage>2140</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Sharma</surname></string-name> and <string-name><given-names>N.</given-names> <surname>Mittal</surname></string-name></person-group>, &#x201C;<article-title>An improved LEACH-MF protocol to prolong lifetime of wireless sensor networks</article-title>,&#x201D; in <conf-name>2018 IEEE 8th Int. Advance Computing Conf. (IACC)</conf-name>, <publisher-loc>Noida, India</publisher-loc>, pp. <fpage>174</fpage>&#x2013;<lpage>179</lpage>, <year>2018</year>. </mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Smys</surname></string-name></person-group>, &#x201C;<article-title>Re-LEACH: An energy-efficient secure routing protocol for wireless sensor networks</article-title>,&#x201D; in <conf-name>Int. Conf. on Computer Networks and Communication Technologies</conf-name>, <publisher-loc>Singapore</publisher-loc>, vol. <volume>15</volume>, pp. <fpage>777</fpage>&#x2013;<lpage>787</lpage>, <year>2019</year>. </mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Radhika</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Sivakumar</surname></string-name></person-group>, &#x201C;<article-title>Energy optimized micro genetic algorithm based LEACH protocol for WSN</article-title>,&#x201D; <source>Wireless Networks</source>, vol. <volume>27</volume>, no. <issue>1</issue>, pp. <fpage>27</fpage>&#x2013;<lpage>40</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M. A.</given-names> <surname>Elmagzoub</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Shaikh</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Alghamdi</surname></string-name> and <string-name><given-names>K.</given-names> <surname>Rajab</surname></string-name></person-group>, &#x201C;<article-title>A review on MIMO wireless signals over fibre for next generation fibre wireless (FiWi) broadband networks</article-title>,&#x201D; <source>Electronics</source>, vol. <volume>9</volume>, no. <issue>12:2014</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>31</lpage>, <year>2020</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>