CARCC : Connectivity Autorecovering via Cooperative Communication

Wireless ad hoc networks are often considered an alternative for providing communicationmeans to support urgent and temporary tasks. In such settings, network connectivity is a primary condition to allow nodes to exchange information. In this work we explore the use of cooperative communication (CC) techniques for improving network connectivity.The proposed solution, named Connectivity Autorecovering with Cooperative Communication (CARCC), monitors potential network disruption points and proactively creates cooperative links (CC-links).These links are used to regain network connectivitywhennecessary. CARCCallows the selection of suitable CC-links in O(Δ(G) × Λ) time, whereas a centralized approach takes O(V2 × Λ) time, where Δ(G) is the degree of the underline network graph G(V, E) and Λ is the computational cost of selecting helper nodes. Although CARCC relies on localized information, it is able to provide comparable results of other noteworthy alternatives that require global topological information. The CC-links provided by CARCC reestablished network connectivity in over 91% in the evaluated settings.


Introduction
Wireless ad hoc networks have been envisioned as an alternative to support critical and temporary tasks.The application of these networks ranges from environment monitoring to providing disaster-response teams with a fast-deployable and cost-effective communication network.Nodes in an ad hoc network communicate via short-range radio links and may cooperate in relaying packets, allowing nonadjacent nodes to exchange information.Multihop communication can be ensured as long as a path from a given source to a desirable destination node exists.In such case, the task of gathering and dispensing sensed or generated information to faraway nodes is greatly reduced.For instance, a member of a disaster-response team may use flooding to summon medical assistance.Once the appropriate team is contacted (i.e., receives the message), it may reply the caller with the necessary information on actions to be taken prior to their arrival.In the above example, network connectivity is a necessary condition for delivering the request message.
A sizable number of solutions have been proposed in the literature aiming at ensuring network connectivity.Li and Hou [1] addressed the problem of adding as few nodes as possible so that the resulting network topology is connected.They proved that this task is NP-complete and proposed a Delaunay triangulation-based heuristic to tackle it.Goyal and Caffery [2] proposed the use of limited, coordinated mobility, to recover from link and node failures.In case of network disruption, nodes would move in a coordinated way to reestablish connectivity.Articulation points (a.k.a.cut-vertices) may appear during the network operation as a result of battery depletion, node movement, or event due to link failure.As the failure of an articulation point renders the network disconnected, Yong and Hu [3] presented a mathematical model to predict the formation of articulations based on network characteristics and node activity.Afonseca et al. [4] proposed the use of packet aggregation techniques for reducing energy consumption of articulation nodes that could render the network disconnected.Khelifa et al. [5] proposed the use of redundant nodes that could be moved or activated in case of link or node failure.When necessary, redundant nodes would be activated and moved to the appropriate locations to reinforce connectivity.Recently, Guerriero et al. [6] proposed a centralized scheme to determine an appropriate node location to execute a given task that does not require additional nodes.In the same work, a distributed heuristic based on localized information was proposed.
In spite of its benefits, the above solutions require a significant amount of time to activate, dispense, and/or move redundant nodes to the appropriate locations.The use of cooperative communication (CC, for short) has been considered an attractive alternative for enhancing network connectivity [7][8][9][10].The research on cooperative communication has been driven by the fact that some devices, such as sensor nodes, may not be empowered with multiple antennas due to their size and power constraints.Cooperative communication is a technique that allows nodes to create a virtual antenna array without deploying multiple antennas on the same device [8,11].CC allows nodes to send data to the far-end receiver over long distances efficiently [8].Song et al. [12] studied the connectivity properties of sparse and dense networks when CC is used to extend the transmission range.As expected, nodes employing CC were able to improve network connectivity even in a sparse setting.The authors show that, by properly selecting helper nodes, cooperative networks may use less power than noncollaborative networks to maintain network connectivity.However, the task of finding helper nodes that, cooperatively, reconnect network components while using the least of amount of power is an NP-complete problem [13].
Yu et al. [9] proposed a centralized topology control scheme, called CoopBridges, to increase network connectivity by employing cooperative communication.Starting from an undirected, disconnected graph, CoopBridges uses a heuristic to create bidirectional, cooperative edges, connecting disjoint network components.The proposed heuristic aims at selecting a subset of nodes, called helpers nodes, requiring the least amount of power to establish a cooperative link.As redundant cooperative communication links (CClinks) may be created, a minimum spanning tree algorithm is employed to prune costly links.Neves and Bordim [7] developed a similar mechanism, called CoopSink, to interconnect network components in a wireless sensor network.CoopSink uses a modified version of the heuristic proposed in [9].The proposed scheme provides CC-links connecting disjoint components in a low-cost path to the sink node.Note that both CoopBridges and CoopSink work under the assumption that global topological information is provided prior to their execution.However, means to collect and disseminate topological information among disjoint network components are not detailed in the above schemes.
This work proposes a localized mechanism to establish cooperative communication links to prevent network partition.The proposed scheme, called Connectivity Autorecovering via Cooperative Communication (CARCC, for short) operates by identifying possible disruption points and selecting appropriate neighboring nodes to establish backup CC-links (a preliminary version of this work appeared in [14]).In case of node or link failure, backup CC-links become operative to reestablish network connectivity.As CC-links are directional links by nature, bidirectional links are only possible when source and destination nodes have sufficient cooperative nodes.Hence, depending on the network topology and node condition, it may not be possible to establish a bidirectional CC-link.Using localized information, CARCC explores the use of directional CC-links to provide ways to reestablish connectivity even when bidirectional links are not possible.Although CARCC shares some characteristics of the works proposed by Khelifa et al. [5] and Yu et al. [9], it does not require the use of additional nodes or previous knowledge of the network topology.Indeed, CARCC is a distributed mechanism that relies on a simple and yet effective heuristic to select appropriate nodes with least amount of energy to recover network connectivity.
Simulation results show that CARCC provides results matching those provided by centralized solutions.In addition, CARCC reduces the network requirements to create suitable CC-links.In fact, CARCC allows the selection of suitable CC-links in (Δ() × Λ) time, whereas a centralized approach takes ( 2 × Λ) time, where Δ() is the degree of the underline network graph (, ) and Λ is the computational cost of selecting helper nodes.Compared to a centralized scheme, the localized CC-links provided by CARCC require a slightly higher transmission power.Nevertheless, in case of failure of an articulation point, network connectivity can be successfully obtained in more than 91% in the evaluated scenarios, which is comparable to the results obtained by a centralized algorithm.It is important to note, however, that centralized algorithms require means to maintain topological information up to date.Hence, power consumption of a centralized solution highly depends on the strategy used to obtain topological information.This cost has not been accounted for in this work as investigating such strategies is outside the scope of this paper.
The remaining of this paper is organized as follows.Section 2 presents a brief overview on techniques for locating articulation points and details the cooperative communication model assumed in this work.Section 3 states the problem while the main contribution of this work is presented in Section 4. Simulation results are presented and discussed in Section 5. Finally, Section 6 concludes this work.

Preliminaries
This section presents an overview on techniques to identify articulation points and defines the cooperative communication model considered in this work.

Identifying Critical Elements.
In this work, "critical elements" are defined as nodes and edges that, when removed, turn the graph disconnected.Let  = (, ) be an undirected connected graph, where  is the set of nodes and  is the set of edges.Node V ∈  is a cut-vertex (a.k.a.articulation) if its removal makes the graph  disconnected.Similarly, an edge  ∈  is a bridge if its removal makes the graph disconnected.Articulation points are of particular importance in wireless networks as they represent the unique link between the components they connect.These nodes usually have a higher demand in relaying packets, as compared to other regular nodes.As a consequence, articulation points are likely to experience a faster drainage of their energy resources [4].
The task of locating articulation points and bridges can be performed using the Depth First Search algorithm (DFS) [15].Goyal and Caffery [2] and Khelifa et al. [5] employed a modified DFS to locate articulation points in WSNs.A drawback of these solutions is the fact that they require topology information to be acquired before executing the DFS algorithm.Jorgic et al. [16] proposed a distributed solution that uses -hop neighboring information to locate articulation nodes.The proposed scheme, however, has the disadvantage of producing false positives.Chaudhuri [17] proposed a distributed algorithm to find bridge nodes and 2connected components.This strategy was extended to locate articulation points in [18] using (|| + ||) units of time.Turau [19] presented a distributed algorithm for computing bridges, articulations, and 2-connected components that runs in (||) time and uses at most 4|| messages, where || is the number of edges.
As in [19], in this work a block is defined as maximal, nontrivial 2-connected subgraph.Figure 1, denotes a topology with two blocks and their respective members.Also, we assume that articulation points, bridges, and 2-connected subgraphs can be correctly identified by a distributed mechanism sharing similar characteristics to those in [17][18][19] such that the following conditions are satisfied.Condition 1.A node V ∈  knows whether it is an articulation point or not.
Condition 2. Each block B  is correctly determined and has a unique identification number  (≥1).Each node V ∈  knows the block id it belongs to.
The next subsection details the communication model assumed in this work.

Cooperative Communication.
Cooperative communication (CC) is a technique in which nodes transmit the same packet, taking advantage of the broadcast nature of wireless transmission, to achieve spatial diversity.In CC, nodes create a virtual antenna array without deploying multiple antennas on the same device [8,11].CC research is driven by the fact that some devices, like sensors, cannot accommodate an antenna array due to size and power constraints.Besides allowing for spatial diversity gain, CC provides transmission range extension [8].The communication model considered in this work is similar to that used in [9,20], which is detailed next.
The communication between two nodes, say V  , V  , in the traditional model can be simplified in terms of the transmission power, the distance between nodes, and the rate of signal fading.A node V  can adjust its transmit power   with values in the range [0,  MAX ].When   = 0, the transceiver is turned off and when   =  MAX , the transceiver operates at full power.Thus, a source node V  can communicate directly with the destination node V  only if its transmission power complies with the following relation: where  is the exponent of signal fading, usually between 2 and 4, which is the rate of loss of the signal power with increasing distance,  , is the Euclidean distance between V  and V  , and  is the receiver sensitivity to correctly receive a packet (i.e., the threshold of the received power so that node V  can correctly decode the signal and obtain the original message).An edge between two neighboring nodes V  and V  , complying with (1), is called a direct link and is represented as V  V  .The direct neighboring set of a node V  is denoted as (V  ).Suppose that V 1 , V 2 , . . ., V  nodes cooperatively transmit signals to a particular destination node V  .We assume that a cooperative transmission is successful if and only if the received, combined, signal at V  is greater than or equal to .For latter reference, let  , ⊆ (V  ) denote the helper set nodes of a source node V  that cooperatively transmit packets to destination V  .The received signal power   necessary for V  and its helper nodes to communicate cooperatively with a destination node V  can be computed by A cooperative communication link (CC-link) between nodes V  and V  is denoted as Ṽ V  .As customary, the network topology is represented as graph (, ), which denotes the union of all the direct and CC-links.Let  and Ẽ represent the set of direct and CC-links, respectively.Thus, Similarly, the graph of direct and CC communication is denoted by  = (, ) and G = (, Ẽ), respectively.The weight of a direct edge between nodes V  , V  is defined as As in [9,14,20], this work assumes that cooperating nodes expand the same amount of power when establishing a Wireless Communications and Mobile Computing cooperative link.Therefore, the weight of a CC-edge Ṽ V  can be defined as where   ( , ) is the minimum power consumption of the node V  to communicate with the farthest node in  , and  CC ( , ) is the minimum power consumption of the node V  to communicate directly to V  , together with its helper nodes in  , .
In a cooperative communication from V  to V  , node V  should initially send its data to helper nodes in  , and then node V  and its helpers must simultaneously send the same data to V  .Thus, the weight of a CC-link is the sum of communication cost of these two steps.The cost for the first stage of communication is equivalent to   ( , ), while the cost of individual nodes to transmit data using CC is  CC ( , ).

Problem Definition
As mentioned in the previous section, finding a suitable set of nodes that cooperatively reconnect network components using the least of amount of power is an NP-complete problem [13].The heuristics proposed in [7,9] are centralized and we assume that node location is known beforehand.This work takes a different approach for reestablishing network connectivity.More precisely, we focus on identifying and monitoring critical elements and, in case of failure, backup CC-links are established, whenever possible, so as to maintain network connectivity.
Suppose that node V  ∈  is an articulation node.From the definition of articulation nodes, removing V (and its corresponding edges) partitions the network into two or more blocks.Suppose that nodes V  and V  , located at different network blocks, are direct neighbors of articulation node V  .In case node V  fails, both V  and V  would be confined into separated network components.Clearly, a direct link V  V  cannot be established as   (  ) − <  and   (  ) − < .Our approach relies on the fact that nodes located on distinct components (such as V  and V  in our example), when detecting the failure of a neighboring articulation node, may cooperate with the corresponding neighboring nodes to create a CC-link and reestablish network connectivity.Thus, our goal is to find suitable replacement nodes within -hop distance from the failed articulation node so as to regain network connectivity.
. ., V  and  1 ,  2 , . . .,   residing at different blocks and connected to a common articulation point V  , construct a CC-link satisfying (2) by selecting appropriate helper set As the task of finding suitable helper nodes using the least of amount of power is an NP-complete problem [13], this work proposes a heuristic to assist the neighboring nodes of an articulation in selecting helper nodes.The details of the proposed heuristic will be presented in the next section.
According to (2), as the helper set grows, less individual energy is demanded to construct a CC-link.On the other hand, the source node may expand more power to reach its direct neighbors.As discussed in the previous section, a cooperative link is a directional link by definition.Hence, it may happen that the best CC-link from a block B 1 to a block B 2 is not necessarily bidirectional (assuming that these subgraphs are disconnected due to an articulation failure).When required, two-directional CC-links may be created such that the destination node on a block may create a reverse CC-link to the source (provided that the necessary conditions are satisfied).The algorithm proposed in the subsequent section allows the establishment of both directional and bidirectional CC-links.In such case, the application developer may select the CC-link that best suits the application requirements.
Next, we present the details of the proposed Connectivity Autorecovering With Cooperative Communication (CARCC) protocol.

Network Connectivity Recovery
This section presents the Connectivity Autorecovering via Cooperative Communication (CARCC) protocol, which aims to restore network connectivity in the event of an articulation node failure.For the readers benefit, Notations show a list of the symbols used in this work.As mentioned before, CARCC works by identifying and proactively monitoring the availability of articulation nodes.In case of network disruption due to the unavailability of articulation nodes, cooperative communication is employed to reestablish connectivity via directional links.CARCC comprises two algorithms which are presented in the subsequent sections.First, a helper set selection heuristic is presented, which aims at selecting appropriate nodes to compose the helper set.Following it, the routine responsible for reconnecting the network in the event of articulation node failure is presented.

Distance Based Helper Set
Selection.This subsection presents the HSS (helper set selection) heuristic.The main objective of the HSS is to allow neighboring nodes of an articulation point to compute backup CC-links that, in case of need, can be rapidly established to regain network connectivity.
Let node V  be an articulation point.Then, according to [19], (V  ) comprises nodes located in  ≥ 2 distinct blocks B 1 , B 2 , . . ., B  .Clearly, the neighboring nodes of an articulation, say V  and V  , each residing at different blocks, are separated by a distance  <  , ≤ 2, where  denotes the maximum transmission range of a node complying with (1).Recall that (2) allows for computing the transmission power necessary to create a CC-link between a source node V  and a destination node V  .The link Ṽ V  is created cooperatively by V  and its helper set  , ⊆ (V  ).Thus, when computing (2), the exact distance  ℎ, , ℎ ∈  , , is necessary.However, this information may not be available in a distributed environment as the nodes in  , are not direct neighbors of node .
Clearly, a node ℎ ∈  , could assume a distance of 3 to reach node V  when computing (2).The above estimate, however, imposes a higher than necessary energy burden on the helper nodes.To overcome this, an estimated distance E ℎ, is used while computing (2).Let V  and V  be adjacent nodes of articulation point V  residing at different blocks such that (V  )∩(V  ) = V  .By the model assumed in this work, V  knows  ,ℎ , ∀ℎ ∈ (V  ).Likewise, V  knows  , and  , .Node V ℎ can compute an estimated distance E ℎ, by exchanging distance information, as follows: Clearly,  < E ℎ, ≤ 3.Hence, this estimation can be used by the HSS heuristic to compute (2) based on 1-hop distance information.Now, we turn our attention to (4).Assume that node V  is the closest neighboring node of articulation node V  in block B  .Clearly, the node with least distance  ,ℎ , where ℎ ∈ (V  ), is closer to node V  than any other node  ∈ (V  ).Hence, node V  selects the closest nodes to node V  to form the helper set  , .According to (4), the closer a node ℎ ∈ () is to V  , the lower the energy will be demanded to establish the CClink Ṽ V  .The HSS heuristic uses a distance estimation rather than a target node location.Hence, in effect, the obtained CClink Ṽ V  connects V  to an arbitrary node V  , where V  resides at an estimated distance E , from node V  .The details of the HSS heuristic are presented in Algorithm 1.
The HSS takes as input the source node V  , the articulation node V  , and the estimated distance  , between V  and node V  .In the following description we consider that V  ∈ B  and V  ∈ B  , for  ̸ = .The while-loop of the HSS adds nodes to the helper set  , until the destination V  can be reached by a cooperative link.In case the nodes in () \ V  are exhausted and a Ṽ V  link cannot be established, HSS returns an empty set.The correctness of the HSS routine can be easily verified.Furthermore, HSS uses no broadcast as the  ,ℎ , ℎ ∈ () are known to V  .Clearly, such information can be obtained while articulation points begin to be computed [19].Hence, node V  is able to compute  , and the estimate E , based only on local information.
In case node V  succeeds in computing the CC-link Ṽ V  (i.e.,  , ̸ = 0) to an arbitrary node V  , a directional CC-link connecting block B  to block B  can be created.As any node in () is at a distance of at most  from node V  , by a proper selection of the estimate E, the CC-link Ṽ V  can reach the farthest node in (), independently of the block where node V  is located.In other words, the CC-link can reach all the nodes in ().The reverse link Ṽ V  can be computed by node V  ∈ (V  ) in a similar way.
As the HSS uses no broadcast, our next task is to evaluate its computational cost.The HSS adds direct neighbors to the helper set until the estimated distance can be reached via a CC-link (while-loop, lines (2)-( 10)).The estimated distance is computed by function F. Clearly, the while-loop runs for at most Δ() times, where Δ() is the maximum degree of .Ordering the nodes by their respective distance takes (Δ() × log Δ()) time using efficient sorting algorithms.Hence, HSS runs in (Δ() + Δ() × log Δ()) = (Δ() × log Δ()) time.For latter reference, we summarize the above discussion in following lemma.
Lemma 2. Given a source node V  , an articulation node V  , and an estimated distance  , to a destination node V  , the task of computing the helper set  , complying with ( 2) and ( 4) can be done in (Δ() × log Δ()) time.

Connectivity Monitoring
Algorithm.The proposed Connectivity Autorecovering via Cooperative Communication (CARCC) aims at recovering network connecting in case of an articulation node failure.For this purpose, direct neighbors of an articulation point monitor its availability.CARCC assumes that Conditions 1 and 2, discussed in Section 2, are satisfied prior to its execution.This task can be accomplished by using a protocol with similar characteristics of those presented in [17][18][19].In case the nodes work on a sleep/awake cycles, CARCC may take advantage of a Medium Access Control (MAC) protocol such that proposed in [21] to schedule monitoring cycles.
The details of the CARCC are shown in Algorithm 2. CARCC is composed of three main tasks, which are performed in sequence.The first task (lines (1)-( 3)) is to compute a suitable distance estimation to create CC-links able to connect nodes in neighboring blocks.If the articulation node fails, these blocks may still be connected via CC-links.To compute the CC-links, CARCC uses the HSS, which demands a distance estimation so that the necessary helper nodes can be selected at each block.Let  denote the number of blocks connected to articulation point V  such that B 1 , B 2 , . . ., B  .Thus, for each block B  (1 ≤  ≤ ) the articulation node V  computes   = min( , ), where  ∈ B  .That is, the articulation node computes the minimum distance to reach the closest node in each block.Next, the minimum distance to reach nodes in the farthest blocks is computed.The two largest values,  1 and  2 , are informed to each node V ∈ (V  ).Once the distance estimation is available to the neighboring nodes of the articulation point, these nodes execute routine HSS using the estimate  1 or  2 .If  , =  1 , then  ∈ (V  ) uses estimate  2 ; otherwise  uses estimate  1 .This is necessary since  is at distance  1 and the estimated distance to reach the second most distant node in a different block is  2 .Those nodes having sufficient helper nodes to create a CC-link for the given estimated distances report the CC-link cost back to the articulation V  .This task is executed in lines ( 5)- (7).
Note that a node in  ∈ B  ∩ (V  ) may refrain to send its CC-link cost (line ( 6)) when it overhears a cost lower that its own cost.Nevertheless, the articulation node may have several candidates per block B  , 1 ≤  ≤ .The next task is to select the backup node having the least cost.This task is performed in lines ( 8)- (9).At this stage, each block B  has a single backup node whose cost is the least among the nodes in that block.Let V  denote the selected backup node in block B  .As V  uses an estimated distance to compute the CC-link, the link cost may still demand more power than necessary to reach nodes in different blocks.Hence, a power optimization phase can be executed so as to reduce the CC-link cost.end if (10) end while (11) return ( , ← 0, 0); Algorithm 1: HSS(V  , V  ,  , ).A CC-link power optimization strategy is presented in the next subsection.
Figure 2 shows a graph composed of one articulation and two network blocks Solid and dotted arrows represent, respectively, messages used to select a backup node in cluster B 1 and cluster B 2 .In Figure 2(a), the articulation executes Algorithm 2 and computes the distance estimation, which is sent it to its direct neighbors (lines (1)-( 3)).In Figure 2(b), each node checks if the CC-link can be established to overcome the estimated distance (lines (4)-( 7)).In case HSS returns a nonempty helper set for a node V ∈ (V  ), the required transmission power is informed to the articulation node.Next, the articulation point selects, for each block, the node with least cost to be its backup node in that block.Figure 2(c) represents the message used by the articulation to define the backup node (lines ( 8)-( 9)).
With the correctness of the proposed CARCC being easily verified, our next task is to evaluate its running time.As discussed in Section 2.1, CARCC assumes that Conditions 1 and 2 are satisfied prior to its execution.That is, after the articulation points and blocks are correctly identified, the first task (lines (1)-( 3)) is executed by the articulation node and consists in computing distances  1 and  2 .Clearly, this task can be executed in |(V  )| ≤ (Δ()) time, where Δ() represents the degree of the underline graph.Computing of the helper set and the communication cost (lines (4)-( 7)) is performed by the direct neighbors of the articulation point and runs in (Δ() × log Δ()) time according to Lemma 2. The task of selecting the best source to connect each block (lines ( 8)-( 9)) takes (Δ()) time.Thus, overall, CARCC runs in (Δ() × log Δ()) time to identify suitable backup nodes and establish, whenever possible, CC-links connecting distinct blocks.
Next, we discuss the communication cost of the proposed algorithm.As can be observed in Algorithm 2, message transmission occurs in lines ( 3), (6), and (9).In line (3), the articulation point broadcasts the distance estimation to its direct neighbors.These nodes, in turn, compute the communication cost to create a CC-link to overcome the estimated distance.After that, the nodes in (V  ) that have enough helper nodes to create a CC-link send back to the articulation node the cost of establishing the cooperative link (line ( 6)).Hence, line (6) requires at most Δ() messages to be transmitted to the articulation point.Obviously, nodes having higher cost may refrain of sending their values when they overhear a cost being transmitted to the articulation point that is lower than its own cost.After collecting these messages, the articulation point selects the best source node in each block.Clearly, as there are at most  nodes, the articulation point may combine these values in a single message and broadcast the node ID of the selected backup node in each block B  , 1 ≤  ≤ .Hence, overall, CARCC requires (|(V  )|) ≤ (Δ()) messages for selecting backup nodes for a given articulation point.Thus, we have the following.Theorem 3. Given nodes V 1 , V 2 , . . ., V  and  1 ,  2 , . . .,   residing at different blocks and connected to a common articulation point V  , the task of constructing a CC-link by selecting appropriate helper set  V, ⊆ (V  ) (1 ≤  ≤ ) and  ,V ⊆ (V  ) (1 ≤  ≤ ) can be computed by CARCC in (Δ() × log Δ()) time using (Δ()) messages.
In the above discussion, we have restricted our attention to articulation node failures.Clearly, when nodes in the vicinity of the articulation become unavailable or multinode failure occurs, the backup node may not be able to create the CC-link.One possible alternative to overcome this limitation is to have multiple backup CC-links composed of disjoint source and helper nodes.When the articulation fails, the remaining nodes may decide which backup CC-link among the available ones is still capable of reconnecting the network.

Optimizing the CC-Link.
As mentioned before, the backup nodes establish CC-links based on an estimated distance informed by the articulation point.Hence, the CClink may require more power than necessary to reach nodes in distinct blocks.Hence, this section presents an alternative to optimize the CC-link transmission power.More precisely, after selecting backup nodes in each block B  , 1 ≤  ≤ , these nodes may execute Algorithm 3 to optimize the transmission power.The idea behind Algorithm 3 is that nodes in a neighboring block, upon receiving a message via CC-link, may inform the source of the message whether the transmission power can be reduced or not.To achieve this, the selected backup node V  in each block B  , 1 ≤  ≤ , sends a message  containing  CC ( , ), SrcBlockID, and SrcNode.All the nodes in different blocks collect  and register the opt CC ( , ) = ( CC ( , )/  ) ⋅ , where  > 0 is used as margin of error.Note that the set of auxiliary nodes  , does not change during this task (the HSS routine is not applied again).Distance estimation based on RSSI has been reported in the literature to provide reasonable accuracy [22].Alternatively, the path loss can be determined from frames transmitted at different power levels using the technique proposed by Kohvakka et al. [23].Also,  can be used to reduce the effects of eventual fluctuations.
Figure 3 shows the power optimization steps to reduce power consumption of the cooperative links (CC-links).Figure 3(a) shows the CC-link and Figure 3(b) depicts the transmission of message  used to discover   of each reachable node in an adjacent block.In Figure 3(c), the node receiving message  stores the tuple  and routes the message  to the articulation node.In Figure 3(d), the articulation node selects the highest   B  among the received messages and forwards it to the backup node.Based on the information received, the backup node optimizes the transmission power so as to reduce energy consumption.This final step is shown in Figure 3(e), where the CC-link is optimized to reach as far as the nearest neighbor in the adjacent block B 2 .In the above example, a single, directional CC-link from block B 1 to block B 2 was established.The same steps are executed to create a reverse CC-link from B 2 to block B 1 .Note that, whenever possible, CARCC creates bidirectional CC-links among distinct blocks connected to an articulation point.In case of articulation node failure, these backup CC-links are used to maintain connectivity.
As can be observed, the task of the optimizing the CClinks power transmission requires at most Δ() + 1 messages to be handled by the articulation point.Furthermore, Algorithm 3 runs in (Δ()) time, which is the time taken to combine the received  tuples and forward them to the downstream nodes.

Simulation Results
To assess the goodness of the Connectivity Autorecovering via Cooperative Communication (CARCC) protocol, we have implemented it and other prominent alternatives in Matlab [24].For a given network topology, the simulation process begins by identifying articulation points and blocks.From this point, the HSS routine is used to identify suitable backup nodes.For each topology, the nodes are randomly positioned in a 300 × 300 m area.The node density   assumes the following values   = 4.0 × 10 −4 , 4.5 × 10 −4 , . . ., 12.0 × 10 −4 .Only connected network topologies with at least one articulation are considered in the simulation.The transmission power, receiver threshold, and signal fading are similar to those used by Zhu et al. [20] and Yu et al. [9].The maximum transmitting power ( MAX ) is set to 4900 and the receiver threshold () is set to 1, allowing a maximum transmission range ( MAX ) of ≈70 m.The simulation results comprehend the average of 1000 simulations for each configuration set, with a 95% confidence interval.4(c) shows the backup CC-links computed by Algorithm 2. The dashed lines represent the CC-links and the dotted lines represent the links connecting the source nodes and the corresponding helpers nodes.Figure 4(d) shows a reconnected network topology employing a single CC-link, obtained after power optimization (i.e., after the execution of Algorithm 3).
To verify goodness of the selected backup nodes in terms of power consumption and connectivity, CARCC is compared to the following: (i) a centralized solution in which global topology information is available and (ii) a localized solution in which -hop node distance information is known beforehand.In the simulations  = 2 and the proposed HSS is applied to select the helper set.To compute the CC-link using global topology information, an exhaustive search is performed to select source and helper nodes with the aim of reestablishing network connectivity.The resulting CC-link is equivalent to running a minimum spanning tree after the creation of all possible cooperative links in the network.This method matches the links established by CoopBridges [9,10].The best localized CC-link is computed in a similar way, but considering source and destination nodes as direct neighbors of the articulation node.The above strategy has been used in the preliminary version of this work [14].Hereafter, "global" and "local" refer to the topology information used in computing a CC-link.Recall that CARCC computes the CC-links based solely on distance estimation as it does not rely on exact node location.The following metrics are used in comparing the CC-links obtained using global and local topology information to those links provided by CARCC: (i) Metric M1 (  ( , )): the transmission power required to reach the farthest node in the helper set.
(ii) Metric M2 ( CC ( , )): the transmission power required by each individual node to establish a CClink.Metrics M1-M3 show the cost of establishing a CC-link, starting from the cost of reaching the selected helper nodes (M1), the cost of taking part in a CC-link (M2), and the total cost of the CC-link (M3).Metric M4 considers the case in which nodes may increase the transmission power beyond  MAX .Hence, M4 serves as the base to compare the costs of a direct link and a CC-link to reestablish communication in case on network disruption.Lastly, M5-M6 shows the average number of helper nodes and CC-links used to maintain connectivity in case of articulation node failure.The rest of this section presents results for the above metrics.These metrics are evaluated as a function of node density (number of nodes per area) shown in the -axis.In what follows, the transmission power with and without employing Algorithm 3 is denoted as "CARCC" and "CARCC PwOpt," respectively.The results for the best global and local CC-links are denoted as "Global" and "2-Hop", respectively.Figure 5 shows the results for Metric M1.According to the CC model described in Section 2.2, with closer helper nodes, the values of   ( , ) tend to decrease.This fact can be observed in results shown in Figure 5, where CARCC without optimization is able to cut the transmission power in approximately 50% when comparing lower (  = 4.0 × 10 −4 ) and higher node density (  = 12.0 × 10 −4 ).A similar behavior is observed for the global and local solutions as well as for CARCC with optimization.Clearly, global and local topological information allows for a better selection of source and helper nodes, resulting in a lower transmission cost for metric M1.As CARCC uses an estimate distance instead of a precise node location, the results for CARCC without optimization demand higher transmission power.However, when power optimization is used, the source and helper nodes are able to reduce the transmission power significantly.In fact, the transmission power used by CARCC with power optimization is similar to that obtained when precise node location at 2 hops is used.The results show that the transmission power difference at higher node density is negligible when CARC with power optimization is used.Figure 6 shows the average transmission power for individual nodes during the cooperative transmission.Unlike previous results, the node density has little effect on the transmission power for metric M2.In case of an articulation node failure, the CC-link connecting disjoint components need to overcome a distance that surpasses that of a direct link, which is independent of the node density.As can be observed, nodes participating in a CC-link require  CC ( , ) ≈  MAX in case of CARCC without optimization.However, when power optimization is employed, the transmission power cut surpasses 30%.In fact, the global CC-link, local CC-link, and CARRC with optimization present similar results, with the latter expanding a little more power.In the worst case, CARCC with optimization requires ≈7.7% more transmission power than the best global CC-link and ≈4.4% more transmission power than the best local CC-link.The above results show that the power optimization allows CARCC to create efficient CC-links.

Wireless Communications and Mobile Computing
Figure 7 shows simulation results for Metric M3.This metric encompasses the power necessary to reach the nodes on the helper set and the transmission power required to cooperatively send data to the destination node.As can be observed in the figure, the total transmission power decreases with higher density, which comes from the reduced transmission power required to reach the helpers.The transmission power required by the optimized CARCC is about 10.35% higher than the best global CC-link and about 5.42% compared to the best local CC-link.
In general, nodes may increase their transmission power up to certain limits, which are determined by the underline hardware or by governmental regulations.Figure 8 shows simulation results for Metric M4, in which nodes may increase the transmission power without bounds.Although a node may not increase the transmission power beyond the  MAX , it provides a lower bound on the amount of power required to reestablish communication when direct links are employed.The results denote that node density has a higher impact on CC-links as compared to direct links.As discussed above, this follows from the results shown in metric M1.With node density  = 12.0 × 10 −4 , the CARCC expands at most 14% more transmission power than a direct link computed using global topological information and at most 9.2% using 2-hop local information.This result indicates that CARCC with power adjustment can reconnect the network with a minor transmission power increase.That is, CARCC with optimization is at most 14% higher than the lower bound provided by a direct link.Next, we evaluate the number of nodes in the helper set.The results are depicted in Figure 9, which shows the simulation results for Metric M5.As can be observed, the number of helper nodes is below 2 nodes independent of the strategy employed.CARCC without optimization requires a higher number of helper nodes due to higher estimated distance of the CC-links.When power optimization is employed, the number of helper nodes at higher density is close to those required by the global and local strategies.
In the example shown in Figure 3(a), one can verify that the CC-links created by Algorithm 2 may reach a number of nodes in distinct blocks of the source node.In the figure, the source node V 2 established a CC-link capable of reaching nodes V 5 and V 7 .The simulation results in Figure 10 show that the number of nodes at the destination blocks reached by the selected source node increases linearly with node density.The results of metric M6 show an increase nearly threefold when the node density increases from  = 4.0 × 10 −4 to  = 12.0 × 10 −4 .This behavior corroborates that CARCC create links that are able to reach nodes well beyond the neighborhood of the articulation node.Clearly, such links could be explored to provide an alternative path to a particular destination.

Conclusion
This work explores cooperative communication to provide a localized solution to reconnect isolated network components and restore network connectivity.The proposed protocol, named Connectivity Autorecovering with Cooperative Communication (CARCC), uses single-hop topological information to proactively reconnect the network using cooperative links.The proposed scheme works by monitoring nodes and regions that are more susceptible to rupture the network.CARCC was compared against two different strategies that use global and -hop information to compute the best CClinks to regain network connectivity.Simulation results show that the links established by CARCC require similar amount of transmission power to those that require more detailed information on node location.The transmission power is at most 13% and 5.42% higher than the best CC-link using, respectively, global and 2-hop location information.CARCC runs in (Δ()×log Δ()) time using only local information, where Δ() is the degree of the graph.A global solution, on the other hand, requires (|| 2 × Δ() × log Δ()) time.Clearly, CARCC is suitable alternative to regain network connectivity and provide an alternative path to route sensitive and urgent information to a monitoring center or sink node.As a future work, we plan to consider more elaborated path loss models as well as other wireless channel impairments, such as fading and signal interference in the simulations.Margin of error for transmission power adjustment :

Notations
Message containing the received signal power : Message containing the destination transmission power and the block of the source node Δ(): The degree of the graph    : Node density.

Figure 4
Figure 4  depicts simulation snapshots of the proposed solution.Figure4(a) shows the initial topology containing a single articulation point.Due to articulation node failure, the network becomes partitioned into two disjoint components as depicted in Figure4(b).Figure4(c)shows the backup CC-links computed by Algorithm 2. The dashed lines represent the CC-links and the dotted lines represent the links connecting the source nodes and the corresponding helpers nodes.Figure4(d)shows a reconnected network topology employing a single CC-link, obtained after power optimization (i.e., after the execution of Algorithm 3).To verify goodness of the selected backup nodes in terms of power consumption and connectivity, CARCC is compared to the following: (i) a centralized solution in which global topology information is available and (ii) a localized solution in which -hop node distance information is known beforehand.In the simulations  = 2 and the proposed HSS is applied to select the helper set.To compute the CC-link using global topology information, an exhaustive search is performed to select source and helper nodes with the aim

Figure
Figure 4  depicts simulation snapshots of the proposed solution.Figure4(a) shows the initial topology containing a single articulation point.Due to articulation node failure, the network becomes partitioned into two disjoint components as depicted in Figure4(b).Figure4(c)shows the backup CC-links computed by Algorithm 2. The dashed lines represent the CC-links and the dotted lines represent the links connecting the source nodes and the corresponding helpers nodes.Figure4(d)shows a reconnected network topology employing a single CC-link, obtained after power optimization (i.e., after the execution of Algorithm 3).To verify goodness of the selected backup nodes in terms of power consumption and connectivity, CARCC is compared to the following: (i) a centralized solution in which global topology information is available and (ii) a localized solution in which -hop node distance information is known beforehand.In the simulations  = 2 and the proposed HSS is applied to select the helper set.To compute the CC-link using global topology information, an exhaustive search is performed to select source and helper nodes with the aim

Figure 5 :Figure 6 :
Figure 5: Transmission power   ( , ) required to reach the farthest node in the helper set.

Figure 7 :
Figure 7: The total transmission power of the CC-link.

Figure 10 :
Figure 10: Number of created cooperative links.
Source V  , articulation node V  , estimated distance  , ; Output: A helper set  , complying with (2) and (4) or 0;Total transmission power  CC ( , ) or 0 if  , = 0. # F() is a function returning the node with the least  ,ℎ , ∀ℎ ∈ ; # Let V  be the destination node such that V  ∈ () with  , ≤ ; Input: (7)ds ⟨ CC ( , ), V⟩ back to node V  ;(7)end if # Selecting a suitable backup node in each block B  ; (8) Node V  collects the messages and computes min V  ∈B  ( CC ( , ), V) for each block B  ; (9) Node V  informs to node V  ∈ B  that it holds de minimum cost among the nodes in that block.Node V  becomes the backup node for block B ; Algorithm 2: CARCC(V  ).
(, ): Graph , where  is the set of vertices (nodes) and  is the set of edges (links)  V  : Edge between node  and node  V  V  : Direct edge between node  and node  Ṽ V  : Cooperative edge between node  and node  E ℎ, : Estimated distance between node ℎ and  B  : N e t w o r kb l o c kw i t hI D (cluster of biconnected nodes) Function returning the closest node in the set  to a given destination node   : Communication cost of a direct edge   ( , ): Communication cost of node  to reach the nodes in its helper set  CC : Individual cost of cooperative communication link (Ṽ  V  ): Total cost of a cooperative communication link SrcNode: Sourcenode DstNode: Destination node SrcNodeId: Identifier of the network block holding the source node DstNodeId: Identifier of the network block holding the destination node :