Construction of Quality Virtual Backbones with Link Fault Tolerance in Wireless Sensor Networks

Wireless sensor networks (WSNs) are extensively utilized in various circumstances. For applications, the construction of the virtual backbones (VBs) of WSNs has attracted considerable attention in this field. Generally, a homogeneous WSN is formulated as a unit disk graph (UDG), and the VB of the corresponding WSN is modeled as a connected dominating set (CDS) in the UDG. In certain applications, communication between sensors in a network may fail for various reasons, such as sensor movement, signal interference, and the appearance of obstacles. Consequently, a CDS in a UDG should possess fault tolerance on the edges. In this paper, we introduce a new concept called the 2 edge-connected 2 edge-dominating set (ð2, 2ÞECDS); then, we design an approximation algorithm for computing ð2, 2Þ-ECDSs in UDGs, the performance ratio of which is 30.51. By means of simulations, we compare our algorithm and existing algorithms in terms of the CDS size, running time, success rate, and network lifetime. The simulation results indicate that our algorithm exhibits better performance and is more suitable for constructing a VB with edge fault tolerance in a WSN.


Introduction
Wireless sensor networks (WSNs) are multihop selforganizing network systems that contain numerous sensor nodes. Because no predefined infrastructure is required, WSNs can be flexibly deployed in various circumstances, such as the Internet of Things, ocean monitoring, and traffic surveillance [1][2][3][4][5]. However, the wireless sensors in WSNs are usually powered by batteries, which means that minimizing sensor energy consumption is a critical challenge [6,7]. Generally, the energy of sensor nodes in a WSN is mainly consumed in the signal transmission process. Specifically, when a signal is transmitted from a source node to a target node, the required energy increases exponentially with increasing distance [8]. Thus, most WSNs use a multihop communication strategy rather than long-range direct communication to enhance the energy efficiency of the sensor nodes [9][10][11][12][13][14].
In multihop communication, a message from a source node to a target node may be retransmitted many times, which can result in substantial wireless signal interference and collision and waste a large amount of energy. Hence, a high-quality routing path for information transmission is critical. To address this issue in WSN communication, the concept of the VB, inspired by the backbone of wired networks, is supposed to reduce information overload and improve the efficiency and lifespan of the network [1].
In theory, a VB is a subset of sensor nodes in a WSN that meets the following requirements [15]. First, each node in a WSN is adjacent to a node in this subset. Second, any two nodes in the subset have a routing path between them in the VB. To investigate VBs in homogeneous WSNs, the WSN is typically modeled as a UDG G = ðV, EÞ, where a vertex in V is a simplification of a sensor node and an edge in E stands for the message transmission between two sensors; a VB of a WSN is modeled as a CDS in the corresponding graph G. In the research of WSNs, since a smaller VB entails less routing overhead and wireless signal collision, the size of the VB is an important index in measuring the quality of the VB. Thus, it is natural to find a minimum CDS (MCDS) of G when constructing a CDS. However, Garey and Johnson [16] dominating set (in short, ð2, 2Þ-ECDS) and develops a constant factor approximation algorithm to calculate a ð2, 2Þ-ECDS in a given UDG.
The main work of our paper is described as follows: (i) To obtain an edge fault-tolerant VB in a WSN, we introduce a new concept called the ð2, 2Þ-ECDS (ii) A centralized approximation algorithm is designed for the construction of a ð2, 2Þ-ECDS in a given UDG, whose performance ratio is proven to be 30.51 (iii) The designed algorithms are supported by strict theoretical analysis and simulation experiments. In the theoretical analysis, we conduct strict mathematical proof of the correctness of these algorithms. By means of simulation experiments, we illustrate that the CDSs output by our algorithms outperforms those obtained with the state-of-the-art algorithms presented in [25,26] The rest of this paper is organized as follows. In Section 2, related research is introduced. In Section 3, an introduction of the definitions, terms, and related results used in the remaining sections is provided. Section 4 presents an approximation algorithm for constructing a ð2, 2Þ-ECDS. Section 5 reports simulation results on the comparison between our algorithm and other related algorithms. Finally, in Section 6, we summarize our work and introduce potential directions for future work.

Related Work
A WSN can be abstracted as a graph G = ðV, EÞ; correspondingly, the VB of the WSN can be abstracted as a CDS of G. In recent years, numerous efforts have been made to construct MCDSs. In a general graph, Guha and Khuller [28] proved that for the MCDS problem, it is impossible to obtain a polynomial time approximation algorithm with a performance ratio ρ ln n for any 0 < ρ < 1 unless NP ⊆ DTIMEðn OðloglognÞ Þ, where n is the number of nodes in the graph. They introduced a 2ðHðΔÞ + 1Þ-approximation algorithm and a HðΔÞ + 2-approximation algorithm based on a greedy strategy, where Δ is the maximum degree of nodes in the corresponding network graph and H is the harmonic function. In [29], Du et al. improved this result and presented an ð1 + εÞ ln ð δ − 1Þ-approximation algorithm ðε > 0Þ, which is the best result in general graphs thus far.
For UDGs, the MCDS problem has been widely investigated, and a variety of results have been obtained [26,[30][31][32][33][34][35][36][37][38][39], in which different approximation algorithms have been proposed for this problem. These algorithms usually consist of two phases: (1) a maximal independent set (MIS), which serves as a dominating set in a given UDG, is determined, and (2) some nodes are selected into the MIS such that it becomes connected. Researchers analyzed the performance ratio of the resulting CDS from two aspects: the size of the MIS obtained in the first phase and the number of newly added nodes in the second phase. For the MIS 2 Wireless Communications and Mobile Computing size, in [33], Wan et al. demonstrated that the upper bound of an MIS is 4 * opt + 1 in a UDG, where opt represents the size of the MCDS in the UDG. Later, this upper bound was improved by [30,[34][35][36][37], where [30] obtained an upper bound of 3:399 * opt + 4:874, which is the best result thus far. For the size of the newly added nodes, in [33], Wan et al. showed that the size bound generated by their algorithms in the second phase is |I | −1, where |I | is the MIS obtained in the first phase. This result was used by [34,35] to evaluate the performance ratios of their algorithms. In [31,38], the Steiner tree strategy was used to design approximation algorithms for the MCDS problem, and the size of the newly added nodes in the second phrase was no more than ð1 + ln 5ÞCðT * Þ, where CðT * Þ is the number of Steiner nodes in the minimum Steiner tree containing the MIS obtained in the first phase. To our knowledge, this is the best result thus far. In research on the construction of node fault-tolerant VBs, Dai and Wu [17] introduced a concept called the ðk, kÞ-CDS. For a ðk, kÞ-CDS in a given G = ðV, EÞ, after ðk − 1 Þ nodes are deleted from G, the set of residual nodes in the ðk, kÞ-CDS is still a CDS for the subgraph induced by the residual nodes of G. They presented three algorithms to compute a ðk, kÞ-CDS for a given UDG. Unfortunately, they did not present the performance ratios of these three algorithms. In [18], Thai et al. extended this concept to the famous k-connected m-dominating set, where 1 ≤ k ≤ m. In their paper, a centralized approximation algorithm was provided for the minimum ðk, mÞ-CDS problem. Since then, numerous constant factor approximation algorithms for the construction of ðk, mÞ-CDSs have been proposed. In [40], Wu et al. presented a distributed algorithm with a per-formance ratio of 5/mðk 2 + 1Þðm + 42Þ. In [25], Shang et al. proposed another approximation algorithm, whose performance ratio is ð5 + 25/mÞð2 ≤ m ≤ 5Þ or 11 ðm > 5Þ, for constructing a ð2, mÞ-CDS. In [26], Shi et al. noted mistakes in the proof process of the performance ratio of the algorithm in [25] and found that the ratio should be ð15 + 15/mÞ ð2 ≤ m ≤ 5Þ or 21 ðm > 5Þ rather than ð5 + 25/mÞ ð2 ≤ m ≤ 5Þ or 11 ðm > 5Þ. Moreover, Shi et al. [26] used a submodular function and greedy strategy to design a new approximation algorithm with a performance ratio of α + 2 ð1 + ln αÞ, where α is the performance ratio of the algorithm for constructing the ð1, mÞ-CDS. In 2010, Kim et al. [23] introduced a 15r-approximation algorithm for computing a ð3, mÞ-CDS in a UDG, where r is the performance ratio of the algorithm for the ð2, mÞ-CDS (m ≥ 2) problem. In [41], Liu et al. used Tutte decomposition to design a 5rapproximation algorithm to calculate a ð3, mÞ-CDS (m ≥ 3) in a UDG, where r is the performance ratio of the algorithms for the ð2, mÞ-CDS (m ≥ 2) problem. When m = 3, they noted that the performance ratio of their algorithm is 62.30, which is better than the 580/3 performance ratio achieved by [23]. In [8], Wang et al. introduced the concepts of "good points" and "bad points" and proposed an algorithm to calculate a ðk, mÞ-CDS in a given UDG, where k = 3, 4 and m ≥ k. The main idea of their algorithm is to first obtain a ðk − 1, mÞ-CDS by means of an existing algorithm and then convert all degree-ðk − 1Þ bad points in the ðk − 1, mÞ-CDS into good points by adding "H-paths." Second, they construct a simplified auxiliary graph for the CDS obtained in each iteration. Finally, the ðk, mÞ-CDS is constructed by means of the simplified auxiliary graph. They achieved a performance ratio of 5β 2 for the ð3, mÞ-CDS problem (7β 3 for the ð4, mÞ-CDS problem), where β k is the performance ratio of the algorithm proposed in [26] for ðk, mÞ-CDS problem ðk = 2, 3Þ.
In recent years, research on link failure in WSN communication has attracted considerable attention. In [42], Zonouz et al. proposed a model, called time-dependent lognormal shadowing radio propagation, to analyze and estimate the reliability of a wireless link under consideration of the power consumption in different modes and wireless channel conditions. In [43], Fu et al. noted that the capacity of links is significantly limited in most WSNs. They believed (a) fu 1 , u 3 , u 7 g is not a CDS when edge ðu 3 , u 5 Þ fails   3 Wireless Communications and Mobile Computing that when the load of a few links in the network exceeds their capacity, link failures may occur, which may cause paralysis of the global network. Later, in [44], Draz et al. provided a link failure detection algorithm to proactively diagnose faulty links in a WSN and introduced a recovery mechanism against link failures. In [45], Xu et al. used independent Bernoulli processes to describe link failures in a WSN and employed a Kalman-consensus filter and CI algorithm to estimate these link failures through a hierarchical fusion method. In [46], to improve the robustness of VBs, Liang et al. proposed a new concept, robust VB, and corresponding algorithms against link failures in WSNs with unstable transmission ranges. In their work, a more robust VB, named the d-robust CDS, is obtained by their algorithms, and based on this VB, the communication in the corresponding WSN does not fail when R e ≥ ð1 − dÞ * R, where R e is the effective transmission range of the nodes and R is the initial transmission range of the nodes.
As described above, link failures can impact WSN communications. A natural idea is to investigate VBs with link fault tolerance, namely, the problem of edge fault-tolerant VBs against link failure. Unfortunately, research on the construction of edge fault-tolerant VBs in WSNs remains scarce. In this paper, we consider this problem and introduce the concept of the ð2, 2Þ-ECDS for UDG, which is a kind of edge fault-tolerant VB in the corresponding homogeneous WSN, and propose an approximation algorithm for the construction problem of the ð2, 2Þ-ECDS.

Preliminaries
For convenience, some concepts, notations, and knowledge related to graph theory are now introduced. In this paper, all considered graphs are connected unless otherwise specified.
3.1. System Model and Problem Definition. In this paper, we adopt the following assumptions: the sensors in the considered WSN are randomly placed in a given area and immobile thereafter; each sensor has the same transmission radius and initial energy; two sensors can communicate with each other if and only if one of them is within the transmission range of the other; and in the considered WSN, each link between sensors is bidirectional. We abstract each sensor of the WSN as a node of a graph and each communication link between two sensors as an edge between the corresponding nodes. Thus, a WSN is modeled as an undirected connected graph G = ðV, EÞ.
The problem that we address in this paper is called the minimum ð2, 2Þ -ECDS problem. For the sake of understanding the minimum ð2, 2Þ-ECDS problem, we first introduce some necessary concepts related to this problem.
Definition 1 (2 edge-connected graph). A graph G = ðV, EÞ is called a 2 edge-connected graph if for any e ∈ E, GhE − fegi is connected, where GhE − fegi is the spanning subgraph induced by edge set E − feg. In particular, a graph with a single node is defined as a 2 edge-connected graph.
In a given UDG G = ðV, EÞ, let u ∈ V and D ⊆ V. If |EðD, uÞ | ≥2, then we say that u is 2 edge-dominated by D.
Note that because the MCDS problem for a graph is NPhard, the minimum ð2, 2Þ-ECDS problem for a graph is also NP-hard. In this paper, we will design an approximation algorithm for the minimum ð2, 2Þ-ECDS problem.

Notations.
In this subsection, we use G = ðV, EÞ to denote a UDG.  (iii) x 1i = x 1j and x 2i = x 2j and x 3i < x 3j Definition 6 (bridge). In a given UDG G = ðV, EÞ, e * ∈ E is called a bridge of G if GhE − fe * gi is disconnected. According to Definitions 1 and 6, a given UDG G = ðV , EÞ is a 2 edge-connected graph if and only if each edge e ∈ E is not a bridge of G.
Definition 8 (simple cycle). In a given UDG G = ðV, EÞ, let According to Whitney's theorem [47], the proposition that for a given G = ðV, EÞ, e * is a bridge of G is equal to any one of the following propositions.
(1) In G, ∃x, y ∈ V such that all paths between x and y contain edge e * (2) G has no simple cycle containing e * Definition 9 (2E-block). In a given UDG G = ðV, EÞ, let S ⊆ V . G½S is a 2E-block of G if one of the following conditions holds: (1) S ⊂ V consists of a single node, and for any nonempty subset S ′ ⊆ V − S, G½S ∪ S ′ is not 2 edgeconnected (2) S ⊂ V consists of at least two nodes; G½S is a 2 edgeconnected graph; and for any nonempty subset S′ ⊆ V − S, G½S ∪ S′ is not 2 edge-connected (3) S = V and G is a 2 edge-connected graph Remark 10. According to the definitions of the 2E-block and 2 edge-connected graphs, for a given graph UDG G = ðV, EÞ and a set S ⊆ V, we have the following conclusions: (1) If G½S is a 2E-block of G, then G½S is 2 edgeconnected blocks (2) G½S is the unique 2E-block of G½S if and only if G½S is 2 edge-connected Definition 11 (L k ðSÞpath). In a given UDG G = ðV, EÞ, let S ⊆ V and x, y ∈ S. A path from x to y with k + 2 nodes is called a L k ðSÞ path if its k inner nodes belong to V − S.

Lemma 12.
In a given UDG G = ðV, EÞ, for any u, v ∈ V, there exist two paths that are edge-disjoint between u and v if and only if G is a 2 edge-connected graph.
According to Definition 7 and Whitney's theorem, the proof of Lemma 12 is easy to obtain.

Algorithm and Analysis
In this section, we present an algorithm (called LLZ20) to construct a ð2, 2Þ-ECDS in a 2 edge-connected UDG G. LLZ20 includes three main parts. First, a CDS in G is constructed with the two-stage approximation algorithm (called ACC11) in [32]. Next, a connected 2 edge-dominating set is calculated by adding some nodes to the CDS obtained in the first part; this can be implemented by calling Algorithm 2, whose flow chart is shown in Figure 3. Finally, L k ðSÞ paths are added to connect the nodes of the connected 2 edgedominating set obtained in the second part to make it a (2, 2)-ECDS; this can be implemented by calling Algorithm 3, whose flow chart is shown in Figure 4. In Algorithm 3, to compute 2E-blocks in a subgraph, we need to call another algorithm, Algorithm 4, whose flow chart is shown in Figure 5. LLZ20 is described formally in Algorithm 1. For readers to understand LLZ20 more intuitively, an example network graph is presented in Figure 6 to illustrate the steps of LLZ20. For convenience, let the initial energy of each node be the same.
(1) For a given WSN, which is abstracted as the network graph G = ðV, EÞ (shown in Figure 6(a)), LLZ20 calls ACC11 to construct a CDS in G (line 1). In this process, u 1 , u 2 , and u 4 are selected consecutively to form a CDS, and then, pseudocontrol node u 4 is deleted because u 4 does not affect the connectivity of the CDS. When this step is complete, fu 1 , u 2 g (blue nodes shown in Figure 6(b)) is the resulting CDS S CDS (2) In line 2 of LLZ20, Algorithm 2 is called to calculate a dominating set D (green nodes shown in Figure 6(c)) in G½V − fu 1 , u 2 g. Before Algorithm 2 is executed, nodes u 3 , u 4 , u 7 , u 8 , and u 9 are not 2 edge-dominated by the CDS fu 1 , u 2 g. When Algorithm 2 is executed, u 4 and u 3 are consecutively selected to obtain a connected 2 edge-dominating set S 0 = fu 1 , u 2 , u 3 , u 4 g, and the pseudocontrol node set VD is an empty set (see Figure 6(c) for details) (3) In line 3 of LLZ20, Algorithm 3 is called to calculate the set connector, which consists of the inner nodes of the selected L k ðSÞ path. Specifically, before Algorithm 2 is executed, fu 1 , u 2 , u 3 , u 4 g is not 2 edgeconnected. When Algorithm 2 is executed, the path u 1 ↔ u 5 ↔ u 2 and the path u 2 ↔ u 7 ↔ u 4 are consecutively selected; in other words, u 5 and u 7 are consecutively selected into the set connector. After this step is finished, S 1 ′ = fu 1 , u 2 , u 3 , u 4 , u 5 , u 7 g is the resulting ð2, 2Þ-ECDS (see Figure 6(d) for details) 5 Wireless Communications and Mobile Computing 4.1. Analysis of Algorithm Correctness. In this subsection, we provide proof of the correctness of our algorithms and show that a ð2, 2Þ-ECDS must be obtained after executing LLZ20. For this purpose, we need to show only that the following three results are true: (1) ACC11 in [32] can generate a CDS, (2) Algorithm 2 can generate a connected 2 edgedominating set, and (3) Algorithm 3 can generate a ð2, 2Þ-ECDS.
According to [32], the first result is true. Next, we show the correctness of the second result that Algorithm 2 can generate a connected 2 edge-dominating set.

Lemma 13.
After executing Algorithm 2, the output S 0 is a connected 2 edge-dominating set.
Proof. We need to prove that G½S 0 is connected and that S 0 is a 2 edge-dominating set. First, since S CDS is a CDS and We claim that there are two edges with a common endpoint v such that their other endpoints are in S 0 . If v ∈ L 1 , then according to lines 2-7, |EðS CDS , vÞ | ≥2, our claim is true. If v ∈ L 2 , then according to lines 8-14, after executing line 14, D is an MIS in G½B 0 , which means there is an edge with one endpoint v and another endpoint belonging to D. On the other hand, since S CDS is a CDS, there is an edge with endpoint v and another endpoint belonging to S CDS . Hence, our claim is true. According to the above analysis, S 0 is a 2 edge-dominating set.
According to the above lemma and lines 10-12 of Algorithm 2, it is easy to obtain the following corollary.

Corollary 14.
After Algorithm 2 is executed, for any S * ⊆ VD, Before we present the proof, let us first introduce some definitions and lemmas used in the following discussions. The following preliminaries, which serve as proof of the correctness of the results, are necessary.
For node u chosen in line 3, let E u = fe 1 , e 2 ,⋯,e k u g (line 9), S u j be a set of red nodes with the same Eblock IDðuÞ after executing the jth iteration of the for-loop (lines 10-24) in Algorithm 4 ðj = 1, 2,⋯,k u Þ, which is the iteration for e j (line 10). Let k u j be the number of Eblock IDs of the red nodes in C (line 11) before executing the jth iteration of the for-loop (lines 10-24), and let SP j be the subset of S u j that consists of all nonred nodes in C (line 11) before executing the jth 2 Construct a connected 2 edge-dominating set S 0 and a pseudocontrol node set VD with Algorithm 2 based on S CDS . 3 Construct a ð2, 2Þ-ECDS S 1 ′ with Algorithm 3 based on S 0 and VD. 4 returnS 1 ′.
Input: A connected graph G = ðV, EÞ and a CDS S CDS of G. Output: A connected 2 edge-dominating set S 0 and a pseudocontrol node set VD.

Lemma 15.
If there is no TC decomposition in S u j , then G½S u j contains a simple circle with all nodes of S u j .
Proof. According to the above discussion, it is easy to see that the result is true.
Proof. According to the definition of SP j and line 19, SP j ⊆ FðCÞ, where FðCÞ is the node set of the simple circle C selected in line 11 of Algorithm 4. Clearly, Otherwise, after executing the jth iteration of the for-loop (lines [10][11][12][13][14][15][16][17][18][19][20][21][22][23][24] in Algorithm 4, the Eblock IDs of the nodes in S j ðiÞ are not equal to Eblock IDðuÞ, which implies that S j ðiÞ is not contained in S u j , a contradiction. Let E 1 , E 2 , ⋯, E k u j and E k u j +1 be the edge sets in G½S j ð1Þ, G½S j ð2Þ, ⋯, G½S j ðk u j Þ and C, respectively. Construct a new graph Clearly, G * is connected: we claim that G * is 2 edge-connected. We need to prove only that for any edge e ∈ E * , G * hE * − fegi is connected. Since G½S j ðiÞ is 2 edge-connected, G½S j ðiÞ − feg is still connected. According to S j ðiÞ ∩ FðCÞ ≠ ∅ and the fact that C is connected, we have that G * hE * − fegi is connected. Clearly, x is not in any simple circle in G½S u j (otherwise, according to lines 10-24, x would be colored red). We claim that for any nonempty subset S ′ ⊆ S − fxg, G½S ′ ∪ fxg is not 2 edge-connected. In contrast, assume that there exists a nonempty subset S ′ ⊆ S − fxg such that G½S ′ ∪ fxg is 2 edge-connected. Let y ∈ S ′ ; then, there exist two edgedisjoint paths between x and y in G½S ′ ∪ fxg that form a simple circle and contain node x, a contradiction. Thus, this claim is true. According to the definition of a 2E-block, G½R i is a 2E-block.

Case 2. R i consists of red nodes with the same Eblock ID.
According to the definition of R i (line 29) and the structure of the for-loop (lines 2-28), we conclude that there is some selected node u ∈ S (line 3) with EðS, uÞ − BRANCH ≠ ϕ and some integer jð1 ≤ j ≤ k u Þ such that the corresponding S u j is R i . Now, consider the following two subcases: There is no TC decomposition in R i (S u j ). According to Lemma 15, G½R i contains a simple circle with all nodes in R i , which implies that G½R i is 2 edgeconnected nodes. Next, we show that for any nonempty set S ′ ⊆ S − R i , G½S ′ ∪ R i is not 2 edge-connected. To the contrary, assume that G½S ′ ∪ R i is 2 edge-connected. Let x ∈ S ′ and y ∈ R i ; then, there are two edge-disjoint paths between x and y in G½S′ ∪ R i that form a simple circle Cðx, yÞ. Cðx , yÞ has at least one edge that does not belong to BRANCH. Note that for any ðx 1 , y 1 Þ ∉ BRANCH, there exists a unique simple cycle containing ðx 1 , y 1 Þ, whose other edges belong to BRANCH. Hence, there exists a simple cycle Cðx, yÞ containing x, y and an edge ðx 2 , y 2 Þ ∉ BRANCH, whose other edges belong to BRANCH. Without loss of generality, suppose that ID x 2 < ID y 2 . When x 2 is selected in line 3, ðx 2 , y 2 Þ ∈ E x 2 . Then, a simple circle C (line 11), whose edges are all in set BRANCH ∪ fðx 2 , y 2 Þg, is determined in the iteration in which ðx 2 , y 2 Þ is chosen (line 10). Clearly, C is Cðx, yÞ. After this iteration is finished, x, y are colored red, and E block IDðxÞ = Eblock IDðyÞ. Furthermore, after executing line 9, it is still true that Eblock IDðxÞ = Eblock IDðyÞ, which implies that x, y ∈ R i , a contradiction to the assumption that x ∈ S ′ . Hence, G½S ′ ∪ R i is not 2 edge-connected. As a result, G½R i is a 2E-block.

Case 2.
There is a TC decomposition in R i ðS u j Þ. We first prove that G½R i is 2 edge-connected. Assuming that G½R i is not a 2 edge-connected graph, we will arrive at a contradiction. Let fS j ð1Þ, S j ð2Þ,⋯,S j ðk u Þ, SP j g be the TC decomposition of R i ; then, according to Lemma 16, there must exist t 1 ðt 1 ∈ f1, 2,⋯,k u gÞ such that G½S j ðt 1 Þ is not 2 edge-connected. According to the structure of the for theloop (lines 2-28), there is some u 1 ∈ S and some integer j 1 such that S j ðt 1 Þ = S If there is no TC decomposition in S j ðt 1 Þ, then according to Lemma 15, G½S j ðt 1 Þ is 2 edge-connected, a contradiction. If there is a TC decomposition in S j ðt 1 Þ, we have that there exists a S j 1 ðt 2 Þ ⊆ S j ðt 1 Þ such that G½S j 1 ðt 2 Þ is not 2 edge-connected, where t 2 ∈ f1, 2,⋯,k u 1 g. Repeating this procedure, Input: A 2 edge-connected graph G = ðV, EÞ, a connected 2 edge-dominating set S 0 in G and the corresponding pseudocontrol node set VD. Output: A ð2, 2Þ-ECDS S 1 ′ of G. 1 Color all nodes white and assign each node x ∈ V a super ID (called Eblock ID, denoted by Eblock IDðxÞ). Initially, let Eblock I DðxÞ = ∞ for each node x ∈ V. 2 Let connector = ∅, and calculate all 2E-blocks with Algorithm 4 in G½S 0 ∪ connector. 3 while the number of 2E-blocks in G½S 0 ∪ connector is more than 1 do. 4 if there exists an L 1 ðS 0 ∪ connectorÞ path connecting at least two 2E-blocks, then 5 Find an L 1 ðS 0 ∪ connectorÞ path L * 1 whose inner node x connects the most 2E-blocks. 6 connector = connector ∪ fxg. Recompute the 2E-blocks in G½S 0 ∪ connector with Algorithm 4. 7 else 8 Find an L 2 ðS 0 ∪ connectorÞ path L * 2 such that the number of 2E-blocks connected by its inner nodes is the most.  Wireless Communications and Mobile Computing we obtain a series of sets S j 0 ðt 1 Þ, S j 1 ðt 2 Þ, ⋯, S j m−1 ðt m Þ and S j m ðt m+1 Þ that satisfy the following conditions: 1Þ has a TC decomposition, and S j m ðt m+1 Þ has no TC decomposition Here, S j 0 ðt 1 Þ = S j ðt 1 Þ. Notably, the iteration of this procedure can terminate because each S u j that has a TC decomposition is determined by an edge in G½S − BRANCH and the number of edges in G½S − BRANCH is bounded (see the definition of TC decomposition). According to Lemma 15, G½S j m ðt m+1 Þ is 2 edge-connected, a contradiction. Hence, G ½R i is 2 edge-connected.
Next, we show that for any nonempty set S′ ⊆ S * − R i , G½S ′ ∪ R i is not 2 edge-connected. A similar discussion to the proof of Case 1 can be used to prove this result.
From the above analysis, G½R i is a 2E-block. Proof. Lemma 17 shows that each G½R i ∈ EB is a 2E-block. Next, we need to prove only that except for G½R 1 , G½R 2 , ⋯, G½R M , there are no other 2E-blocks in G½S. In contrast, assume that there is another 2E-block G½R * ∉ EB with R * = fx 1 , x 2 ,⋯,x k g ⊆ Sðk ≥ 1Þ in G½S. Consider the following cases. The number of 2E-blocks in G[S 0 U connector] is more than 1.
Find an L 1 or L 2 path to connect different 2Eblocks. The inner nodes in this path is put into the set connector There exists a node s in VDsuch that G[S 1 -s] is 2 edge-connected.

Wireless Communications and Mobile Computing
According to the definition of a 2E-block, G½R * is not a 2E -block, a contradiction.
Case 2. |R * | ≥2. Consider the following subcases. Case 1. There is R i ði ∈ f1, 2,⋯,MgÞ such that R * ⊆ R i . According to the definition of a 2E-block, G½R * is not a 2 E-block, a contradiction. Case 2. There is not an R i ði ∈ f1, 2,⋯,Mg such that R * ⊆ R i . Note that R * ⊆ S = R 1 ∪ R 2 ⋯ ∪R M . Then, ∃x i , x j ∈ R * and R p , R q ∈ EB such that x i ∈ R p and x j ∈ R q ðp ≠ qÞ. According to the assumption, R * is a 2E-block, which implies that G½R * is 2 edge-connected paths; thus, there exist 2 edgedisjoint paths between x 1 and x 2 that form a simple circle. Hence, G½R * ∪ R p ∪ R q is 2 edge-connected, a contradiction to the assumption that G½R * is a 2E-block.

Lemma 19.
In each iteration of the while-loop (lines 3-11) in Algorithm 3, before the execution of line 4, there must exist a shortest path L k ð½S 0 ∪ connectorÞðk ≤ 2Þ in G that connects at least 2 different 2E-blocks in G½S 0 ∪ connector.
Proof. According to line 3, before the execution of line 4, there exist at least two 2E-blocks in G½ S, where S = S 0 ∪ connector. In the following discussions, S = S 0 ∪ connector is a set obtained before the execution of line 4. Let EC 1 , EC 2 , ⋯, EC r ðr ≥ 2Þ be all the 2E-blocks in G½ S.
First, we prove that in G, there must exist an L k ð SÞ path that connects at least 2 different 2E-blocks. Since r ≥ 2, there must exist a bridge in G½ S. Let e be a bridge in G½ S; then, ∃x, y ∈ S such that all paths between x and y contain bridge e, which implies that there are no edge-disjoint paths between x and y in G½ S. On the other hand, since G is a 2 edge-connected graph, there are two edge-disjoint paths between x and y in G (Lemma 12). Let H be the shortest path from x to y in G that does not contain bridge e and has at least one node outside G½ S. For convenience, for u, v ∈ V, we use Pðu, vÞ to denote a path from u to v and Pðu, vÞ to denote Pðu, vÞ − fu, vg, and we let ifu is a white node then 6 Color u blue, and Eblock IDðuÞ = ID u . 7 end if 8 else 9 Let E u = fðu, vÞ | ðu, vÞ ∈ EðS, uÞ − ðBRANCH ∪ E done Þg  10 for each edge e ∈ E u do 11 Find a simple circle C, whose edges are all in the edge set BRANCH ∪ feg, and let FðCÞ be the set of all nodes in C. 12 if there are no red nodes in FðCÞthen. 13 Let  Algorithm 4: Calculate 2E-blocks. 10 Wireless Communications and Mobile Computing x i+1 belong to two different 2E-blocks in G½ S. In contrast, assume that for each Pðx i , x i+1 Þð1 ≤ i ≤ tÞ, x i , x i+1 belongs to the same 2E-block, say EC l ð1 ≤ l ≤ tÞ in G½ S (see Figure 8). According to the definition of a 2E-block, there is a path Qðx i , x i+1 Þ from x i to x i+1 in the 2E-block EC l . Now, using Qðx i , x i+1 Þ to replace x i ⟶ Pðx i , x i+1 Þ ⟶ x i+1 ð1 ≤ i ≤ tÞ in H, we obtain a new path H′ in G½ S that does not contain bridge e, a contradiction. Hence, the claim is true. Now, we suppose that Pðx i , x i+1 Þ satisfies the condition that x i and x i+1 belong to two different 2E-blocks in G½ S, is an L k ð SÞ. Next, we prove that there is an L m ð SÞðm ≤ 2Þ in G by induction on k, the number of nodes in Pðx i , x i+1 Þ. When k ≤ 2, the result is clearly true.
When k = 3, since S is a dominating set, there is a node in S, say z, such that z ∈ Nðx i2 Þ. If z ∉ EC 1 , then Assume that when k = n, the result is true. Now, we consider the situation k = n + 1. Then, Similarly, since S is a dominating set, there is a node in S, say z, such that z ∈ Nðx i2 Þ. If z ∉ EC 1 , then x i ⟶ x i1 ⟶ x i2 ⟶ z is an L 2 ð SÞ; the result is true. If z ∈ EC 1 , then z ⟶ x i2 ⟶ ⋯ ⟶ x iðn+1Þ ⟶ x i+1 is an L n ð SÞ. According to the inductive assumption, we have that the result is true. Let EID C 1 = fEblock IDðxÞ | x ∈ VðC 1 Þg. Clearly, |E ID C 1 | ≥2 before executing the jth iteration of the while-loop (lines 3-11). Let A j = fx ∈ S 0 ∪ connector j | Eblock IDðxÞ ∈ EID C 1 g.
In the jth iteration of the while-loop (lines 3-11) in Algorithm 3, after executing line 6 or line 9, which calls Algorithm 4 to recompute the 2E-blocks in G½S 0 ∪ connector j , each node x ∈ A j is set to have the same Eblock ID value, while the Eblock ID values of the nodes in ðS 0 ∪ connector j Þ − A j are unchanged. Thus, the number of different Eblock IDs of the nodes in G½S 0 ∪ connector j is less than that of different Eblock IDs of the nodes in G½S 0 ∪ connector j−1 . According to line 29 in Algorithm 4 and Lemma 18, we conclude that the number of different 2E -blocks in G½S 0 ∪ connector j is less than that in G½S 0 ∪ connector j−1 ; in other words, |EB j | < | EB j−1 | .
Case 1. u ∈ S * . Since S * ⊆ VD is an independent set and G½ According to the above discussions, we obtain the following theorem.

Analysis of the Performance Ratio and Time Complexity.
In the above subsection, we provided proof that a ð2, 2Þ-ECDS must be obtained by our algorithms. In this subsection, we prove that LLZ20 is an approximation algorithm and then present its performance ratio.
In line 1 of Algorithm 1, for a given graph G, we utilize ACC11 in [32] to construct a CDS in G. In this process, a CDS is calculated in 2 steps. In the first step, an MIS is obtained; in the second step, some nodes outside the MIS are added to the MIS such that it becomes a CDS S CDS . Das et al. [32] proved that the size of S CDS is no more than 6:78 * opt G + 8:12, where opt G is the MCDS size in G. Proof. Let opt G be the MCDS size in G; then, opt G ≤ opt. According to Algorithm 3 and Lemmas 22 and 23, we have the following inequalities: In the following paragraphs, we discuss the time complexity of LLZ20. The overall time cost of LLZ20 includes three components: (1) the time cost of computing a CDS S CDS by ACC11, (2) the time cost of computing a 2 edgedominating CDS S 0 by Algorithm 2, and (3) the time cost of constructing a ð2, 2Þ-ECDS S 1 ′ by Algorithm 3.
Denote the number of nodes in a given input G by n. In the first phase, according to [32], the time cost of constructing a CDS S CDS by ACC11 is Oðn 3 Þ.
In the third phase, since Algorithm 4 is called to compute the 2E-blocks in the subgraph induced by the updated S 0 ∪ connector, the time complexity of Algorithm 4 must be analyzed. In Algorithm 4, the time cost of constructing a BFS tree T is Oðn 2 Þ. In the iterations of the for-loop (lines 2-28), the time cost of computing all 2E-blocks in G½S based on T is Oðn 3 Þ. Hence, the time complexity of Algorithm 4 is Oðn 2 + n 3 Þ = Oðn 3 Þ. Now, we discuss the time cost of using 13 Wireless Communications and Mobile Computing Algorithm 3 to obtain the ð2, 2Þ-ECDS S 1 ′ . In Algorithm 3, iteration of the while-loop (lines 3-11) is equal to OðnÞ, and the overall behavior of line 2, line 6, and line 9 is similar. Each computes the 2E-blocks in the subgraph induced by the updated S 0 ∪ connector by calling Algorithm 4, which implies that all of their time costs are Oðn 3 Þ. Consequently, the time cost of adding L k ðS 0 ∪ connectorÞ paths to connect a 2 edge-dominating set S 0 to form a ð2, 2Þ-ECDS (while-loop (lines 3-11)) is Oðn 4 Þ. In addition, the time cost of deleting some redundant nodes from S 1 (lines 13-17) is Oðn 4 Þ. Hence, in the third phase, the time complexity of constructing a ð2, 2Þ-ECDS S 1 ′ by Algorithm 3 is Oðn 3 + n 4 + n 4 Þ = Oðn 4 Þ.

Theorem 25.
Suppose that the number of nodes in a given input G is n; then, the time complexity of LLZ20 (Algorithm 1) is Oðn 4 Þ.

Simulation and Analysis
In the previous sections, we proposed an approximation algorithm LLZ20 to compute a ð2, 2Þ-ECDS, a new CDS with edge fault tolerance, in a given network graph. At the same time, we conducted a theoretical analysis of the performance ratio of LLZ20. In this section, we perform simulation experiments to evaluate the performance of our algorithm in terms of the size of the CDS, running time, and success rate and compare our algorithms with the existing related algorithms proposed by [25,26]. In the rest of this section, we refer to the algorithm in [25] as SYWH08 and that in [26] as SZZW16. To objectively compare the performances of these three algorithms (LLZ20, SYWH08, and SZZW16), we utilize the algorithm proposed in [32], which, to the best of our knowledge, is the algorithm with the minimum performance ratio in terms of the size of the CDS, to generate a CDS. Notably, the authors of [26] proposed an algorithm to calculate a ð2, mÞ-CDS based on a known ð1, mÞ-CDS; however, they did not present a specific method to generate such a ð1, mÞ-CDS. In our simulation experiments, we use the algorithms proposed by [48] to calculate a ð1, mÞ-CDS based on a CDS obtained by [32]'s algorithm. The key parameters used in the simulations are listed in Table 1. In the simulation experiments, the employed hardware and software are an Intel Core i5 CPU 2.56 GHz, 16 GB DRAM, 64-bit Windows 10, and the Programming IDE is MATLAB.

Effects of the Number of Nodes.
In the experimental setup, for convenience, we choose a virtual space with a 100 × 100 experimental area. We let the transmission radius r of each node be 25 m and set the network size n to 10,20,30,40, ⋯, 250.
First, we provide a brief introduction to the generation process of candidate networks. Consider n nodes randomly distributed in the above virtual space. After a WSN has been determined, the program judges whether it is 2 connected: if yes, the network is chosen as a candidate network for the experiments; otherwise, it is abandoned. The procedure is repeated 100 times, and the candidate networks are saved. In the simulation experiment in this subsection, the chosen network graphs are 2 connected but not 2 edge-connected graphs. The main reasons for this selection are as follows. On the one hand, when the chosen network graph is a 2 connected graph, all three algorithms can generate a ð2, 2Þ-ECDS; however, when the chosen network graph is a 2 edge-connected graph, only our algorithm can guarantee the generation of a ð2, 2Þ-ECDS (SYWH08 and SZZW16 cannot). On the other hand, to objectively compare the performance of our algorithm with that of SYWH08 and SZZW16 in terms of CDS size and algorithm running time, the three algorithms should be able to generate a ð2, 2Þ-ECDS in the same experimental environment.
For each candidate network, G, LLZ20 (SYWH08 and SZZW16, respectively) is run to calculate a ð2, 2Þ-ECDS, and the running time and resulting CDS size are recorded. These operations are repeated for all candidates, and the averages are calculated as the simulation result. Figures 9  and 10 exhibit the simulation results for LLZ20, SYWH08, and SZZW16 in terms of CDS size and algorithm running time, respectively. Figure 9 presents the relationship between the simulation curves for the ð2, 2Þ-ECDS size of these three algorithms. The resulting ð2, 2Þ-ECDS size increases as the network size increases for all three algorithms. This result is reasonable because the larger the network size is, the greater the number of nodes needed to dominate the network. Moreover, our algorithm (LLZ20) outperforms SYWH08 in terms of the CDS size, and the CDS size difference between LLZ20 and SYWH08 increases as the network size increases. This is because SYWH08 is designed for a ð2, 2Þ-CDS, which is a ð2, 2Þ-ECDS, while LLZ20 is specifically designed for a ð2, 2Þ-ECDS. This difference may cause the number of nodes added to the ð1, 2Þ-ECDS to form the resulting ð2, 2Þ-ECDS in SYWH08 to be greater than that in LLZ20. According to Figure 10, the average running time of our algorithm is almost the same as that of SYWH08. Strictly speaking, the average running time of SYWH08 is slightly less than that of our algorithm. This slightly longer running time is tolerable because the performance of our algorithm is clearly better than that of SYWH08 in terms of CDS size, and the difference in average running time is within 5 s, even when the network size n is 250. Figure 9 shows that the size of the ð2, 2Þ-ECDS obtained by our algorithm is slightly larger than that obtained by SZZW16 for different network sizes. This result is acceptable for the following reasons. On the one hand, compared with SZZW16, our algorithm requires a shorter time to obtain the simulation results (see the discussion in the next paragraph). On the other hand, as mentioned in Introduction, some network graphs have an edge fault-tolerant CDS and do not contain any node fault-tolerant CDS. To guarantee that the simulation result of SZZW16 is obtained, 2-connected network graphs have to be chosen as the candidate networks for simulations in the simulation experiment. More specifically, compared with SZZW16, to guarantee that an expected CDS is obtained, our algorithm is designed to be suitable for a larger number of wireless networks; see the discussions regarding the next simulation for details. In addition, the difference between the size of the CDS obtained by our algorithm and that of the CDS obtained by SZZW16 is small (approximately 2).
Next, we consider the simulation results shown in Figure 10, which show that the performance of our algorithm is better than that of SZZW16 in terms of average running time. Figure 10 shows that the average running time of our algorithm is less than that of SZZW16 and that the average running time of SZZW16 increases superlinearly with increasing network size, while the average running time of our algorithm increases slightly with increasing network size. When n ≥ 150, the average running time of SZZW16 exceeds 570 s and is more than 57 times that of our algorithm. This result is reasonable. In fact, in the process of generating the ð2, 2Þ-ECDS, to select some nodes to add to the ð1, 2Þ-ECDS to form a ð2, 2Þ-ECDS, SZZW16 needs to compute the potential function value of each node in the network to determine whether it can be selected, and the computation of the potential function value for a node is very complex. Therefore, this process has a high time cost. Consequently, it is natural that this time cost increases as the network size increases. However, in the process of selecting some nodes to add to a ð1, 2Þ-ECDS to form a ð2, 2Þ-ECDS, for a node outside the ð1, 2Þ-ECDS, our algorithm only needs to make a simple comparison of the node neighbor information between this node and other nodes outside the ð1, 2Þ-ECDS to determine whether it can be selected, which entails only a small time cost.
On the basis of the above analysis, we can conclude that among SYWH08, SZZW16, and LLZ20, our algorithm is the most suitable algorithm to compute a ð2, 2Þ-ECDS in network graphs based on the comprehensive consideration of the CDS size and algorithm running time.

Effects of the Network Density.
In this subsection, we present simulations carried out to investigate the effects of the network density to compare the performance of the three algorithms. Specifically, we investigate how a change in network density affects the CDS size for these three algorithms.
To obtain simulation results showing how the CDS size changes as the network density changes, we fix the network size to n = 250 and the node transmission radius to 25 m and vary the area from 40 m × 40 m to 140 m × 140 m. In this experiment, we randomly generate 100 candidate networks, which are 2-connected, in an area with the size varying as described. For each candidate network, we run each of the three algorithms to obtain a ð2, 2Þ-ECDS and record the CDS size. For a given density, we repeat this operation for 100 candidate networks and take the average of the simulation results. Figure 11 compares the performance of the three algorithms in terms of the CDS size. From Figure 11, it is easily found that the CDS size increases as the network area size increases; in other words, the CDS becomes larger as the network density decreases. This is reasonable because the sparser the network is, the fewer nodes are dominated by a node in the network. In additional, from Figure 11, we can see that LLZ20 outperforms SYWH08 for each area size (i.e., network density) and shows similar performance to SZZW16. Specifically, the CDS generated by LLZ20 is smaller than that generated by SYWH08 by at least 57, and the difference increases as the network density increases (when the network area size is 40 m × 40 m, the difference is approximately 81). On the other hand, the size of the CDS obtained by LLZ20 is generally close to that obtained by SZZW16, and as the density increases, their difference decreases. In particular, when the network area size is 40 m × 40 m, this difference is approximately 2. This is acceptable for a reason similar to that mentioned when discussing the above simulation results, namely, the time complexity of SZZW16 is far greater than that of our algorithm, LLZ20. In other words, LLZ20 outperforms SZZW16 on average.

Comparison of the Success Rate.
As mentioned in the beginning of Subsection 4.1, in theory, for any given 2 edge-connected network graphs, our algorithm can always output a ð2, 2Þ-ECDS, while SYWH08 and SZZW16 may fail. If an algorithm cannot output an expected ð2, 2Þ-ECDS for the problem of finding the minimum ð2, 2Þ-ECDS for a given 2 edge-connected network, the algorithm is useless for this problem. In other words, in a randomly generated 2 edge-connected network, for the problem of finding the minimum ð2, 2Þ-ECDS, the probability that the considered algorithm successfully outputs a ð2, 2Þ-ECDS is an important factor in evaluating its performance. We call this probability the success rate of the considered algorithm. In this subsection, we compare the performance of three algorithms (LLZ20, SYWH08, and SZZW16) in terms of the success rate by means of a simulation experiment. For convenience, T s / T a is utilized to denote the considered algorithm's success rate, where T a is the number of total experimental networks and T s is the number of experimental networks in which a ð2, 2Þ-ECDS is successfully output by the algorithm.
In the experimental setup, we also select 100 candidates, where the selection process is similar to that in the above subsection, except for the condition used to determine whether a randomly generated network graph is a candidate. In this simulation, this condition is the following: "After such a WSN has been determined, the program judges whether it is 2 edgeconnected; if yes, this network is chosen as a candidate network for experiments; otherwise, it is abandoned." For each candidate network G, we run LLZ20 to calculate a ð2, 2Þ-ECDS and record whether a ð2, 2Þ-ECDS can be output. After the results are obtained for 100 candidate networks, we calculate the success rate T s /T a , where T a = 100. We perform 16 Wireless Communications and Mobile Computing similar operations for SYWH08 and SZZW16 to obtain the corresponding success rates. The simulation results for these three algorithms are shown in Table 2. According to Table 2, the success rate of our algorithm is 100% for all network sizes. This result is reasonable because in the theoretical analysis (Section 4), for any 2 edgeconnected network graphs, we strictly prove that our algorithm must output a ð2, 2Þ-ECDS. Table 2 also shows that the success rates of SYWH08 and SZZW16 are less than 100%, which is reasonable for the following reasons. On the one hand, when SYWH08 (SZZW16) runs in a network that is not 2 connected, it fails to generate a ð2, 2Þ-2ECDS. On the other hand, the network graphs in the simulation experiments are 2 edge-connected but not necessarily 2 connected graphs (according to the definitions of a 2 edgeconnected graph and 2 connected graph, a 2 connected graph must be a 2 edge-connected graph, but the inverse is not true). Moreover, Table 2 indicates that when the network size n decreases, the number of candidate networks in which SYWH08 and SZZW16 fail to output an expected ð2, 2Þ-ECDS becomes larger. It is natural because when the network size n decreases or the number of nodes deployed randomly in a given area decreases, the density of the network becomes sparser, which increases the probability that cut nodes exist in the network. Consequently, the probability that this network graph is not a 2 connected graph increases.

Comparison of the Network Lifetime.
In this subsection, we compare SYWH08, SZZW16, and LLZ20 in terms of the network lifetime. Note that for each of these algorithms, the first step requires the employment of other algorithms to generate a ð1, 1Þ-CDS. Therefore, to objectively compare the network lifetime performance of these three algorithms, we utilize the ð1, 1Þ-CDS generated by the algorithm proposed in [49], which is an approximation algorithm with favorable performance in terms of the network lifetime, as the CDS generated in the first step. For the experimental setup, we choose a virtual space with a 100 × 100 experimental area. We let the transmission radius r of each node to be 25 m (or 35 m) and set the network size n to 10,20,30,40, ⋯, 150. Similar to Subsection 4.1, 100 candidate networks are generated for this simulation experiment.
For convenience, we use the model proposed in [50] as the energy consumption model for our simulation. The energy consumption model mainly includes the following features: (1) the energy consumption for sending a packet is E TX = E elec * k + E tr * k * r 4 , (2) the energy consumption for receiving a packet is E RX = E elec * k, and (3) the energy consumption in the idle listening state is E RX = β * E elec * k . The definitions of the notations E elec , E tr , k, and β are given in Table 1. The energy consumption for constructing or reconstructing a CDS for these three algorithms is ignored.
To measure the performance of an algorithm K in terms of the network lifetime, we need to introduce an index,  17 Wireless Communications and Mobile Computing called the number of rounds and denoted by Round K , which is defined as follows. Based on the above energy consumption model, for the algorithm of interest, the following actions are considered to constitute one round: a sender s and receiver r are randomly selected, and s successfully sends m packets to r via the shortest path in the CDS generated by the algorithm under the condition that whole network contains no nodes with an energy of 0. To compute Round K , some additional assumptions are needed, as follows: (1) the initial energy of every node in the network is 1 J; (2) all nodes in the CDS are in the idle listening state; (3) the nodes outside the CDS are in the sleeping state, so their energy consumption is ignored; (4) each packet is 256 bytes; (5) all nodes on this shortest path in the CDS (except s and r) both receive and transmit these m packets; (6) for each node on this shortest path in the CDS, its neighbors outside the shortest path only receive these m packets and do not forward them to their neighbors; and (7) a new CDS needs to be generated by the algorithm K once the residual energy of any node in the CDS is reduced to 50%.
We take the average number of rounds for 100 networks as the simulation result for each algorithm, and the simulation results are shown in Figure 12. Figure 12 shows that the performance of our algorithm LLZ20 is much better than that of SZZW16 or SYWH08 in terms of the network lifetime. Specifically, the number of rounds (network lifetime) under SZZW16 or SYWH08 is 360 fewer than that under LLZ20 for all network sizes. This result is reasonable because when a new CDS is constructed, LLZ20 uses the greedy strategy based on the remaining node energy to select the nodes to constitute its CDS, while both SZZW16 and SYWH08 use other strategies to select the nodes for their CDSs; this implies that compared with LLZ20, SZZW16 (or SYWH08) has a higher probability of selecting some nodes selected in previous rounds to perform message routing in the current round, which, in turn, implies that the number of rounds under LLZ20 may be greater than that under SZZW16 (SYWH08).
Moreover, it can be observed that for LLZ20, the network lifetime increases as the network size increases. This is also reasonable. In the process of reconstructing a CDS via a greedy strategy based on energy, as the network size increases, the number of nodes with high residual energy available to form a CDS also increases. This means that compared with those in a smaller network, the new CDS nodes in a larger network will have higher residual energy after the same number of rounds. In contrast, from Figure 12, we can see that for SZZW16 or SYWH08, the network lifetime changes little with increasing network size. This is easily understood. Because some of the nodes chosen to form a new CDS during CDS reconstruction are selected in ways other than an energy-based greedy strategy in these two algorithms, this implies that there is a higher probability that nodes selected in previous rounds will be selected for message routing in the current round. In other words, in these two algorithms, it is expected that some nodes will be repeatedly selected to form different CDSs regardless of the network size, and the residual energy of these nodes will heavily impacts the lifetime of the whole network.

Conclusion
In this paper, to address the problem of the edge fault tolerance of VBs in WSNs, we introduced the concept of the ð2 , 2Þ-ECDS, a kind of CDS with edge fault tolerance, and proposed an effective algorithm for computing a ð2, 2Þ-ECDS in a 2 edge-connected network graph. The proposed algorithm is proven to be an approximation algorithm with a performance ratio of 30:51. By means of simulations, we compared the performance of our algorithm with that of existing related algorithms in terms of CDS size, algorithm running time, and algorithm success rate; the simulation results show

18
Wireless Communications and Mobile Computing that our algorithm is more suitable than the existing related algorithms for constructing a CDS with edge tolerance. In recent years, how to improve the energy efficiency of networks has been investigated in several studies [39,51]. In our future work, we will investigate the construction of VBs by considering edge fault tolerance and energy efficiency in heterogeneous WSNs and develop new algorithms for constructing ðk, mÞ-ECDSs for any k and m with m ≥ k ≥ 2 in homogeneous WSNs.

Data Availability
The data used to support the findings of this study are included within the article.

Conflicts of Interest
The authors declare that there is no conflict of interest regarding the publication of this paper.