Wireless Communications and Mobile Computing
Volume 2017 (2017), Article ID 4195908, 14 pages
https://doi.org/10.1155/2017/4195908

Research Article

CARCC: Connectivity Autorecovering via Cooperative Communication

Ulisses Rodrigues Afonseca,¹ Camila Feitosa Rêgo,² and Jacir Luiz Bordim²

¹Instituto Federal de Goiás, Campus Luziânia, Luziânia, GO, Brazil
²Department of Computer Science, University of Brasília (UnB), Brasília, DF, Brazil

Correspondence should be addressed to Ulisses Rodrigues Afonseca; urafonseca@ifg.edu.br

Received 4 July 2016; Revised 6 October 2016; Accepted 23 October 2016; Published 15 January 2017

Academic Editor: Gianluigi Ferrari

Copyright © 2017 Ulisses Rodrigues Afonseca et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

Wireless ad hoc networks are often considered an alternative for providing communication means 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 connectivity when necessary. CARCC allows the selection of suitable CC-links in time, whereas a centralized approach takes time, where is the degree of the underline network graph 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.

1. 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–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 (CC-links) 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 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.

2. Preliminaries

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

2.1. 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 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 -connected 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 -connected components that runs in time and uses at most messages, where is the number of edges.

As in [19], in this work a block is defined as maximal, nontrivial -connected subgraph. Figure 1, denotes a topology with two blocks and their respective members. Also, we assume that articulation points, bridges, and -connected subgraphs can be correctly identified by a distributed mechanism sharing similar characteristics to those in [17–19] such that the following conditions are satisfied.

Figure 1: Graph representing a network topology with 8 nodes. The articulation node is shown in gray. The -connected blocks are and .

Condition 1. A node knows whether it is an articulation point or not.

Condition 2. Each block is correctly determined and has a unique identification number (≥1). Each node knows the block id it belongs to.

The next subsection details the communication model assumed in this work.

2.2. 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 , , 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 can adjust its transmit power with values in the range . When , the transceiver is turned off and when , the transceiver operates at full power. Thus, a source node can communicate directly with the destination node 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 and , and is the receiver sensitivity to correctly receive a packet (i.e., the threshold of the received power so that node can correctly decode the signal and obtain the original message). An edge between two neighboring nodes and , complying with (1), is called a direct link and is represented as . The direct neighboring set of a node is denoted as .

Suppose that nodes cooperatively transmit signals to a particular destination node . We assume that a cooperative transmission is successful if and only if the received, combined, signal at is greater than or equal to . For latter reference, let denote the helper set nodes of a source node that cooperatively transmit packets to destination . The received signal power necessary for and its helper nodes to communicate cooperatively with a destination node can be computed by

A cooperative communication link (CC-link) between nodes and is denoted as . 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, . That is, if , then if is a direct link and if is a CC-link. Similarly, the graph of direct and CC communication is denoted by and , respectively. The weight of a direct edge between nodes , is defined as

As in [9, 14, 20], this work assumes that cooperating nodes expand the same amount of power when establishing a cooperative link. Therefore, the weight of a CC-edge can be defined as

where is the minimum power consumption of the node to communicate with the farthest node in and is the minimum power consumption of the node to communicate directly to , together with its helper nodes in .

In a cooperative communication from to , node should initially send its data to helper nodes in and then node and its helpers must simultaneously send the same data to . 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 .

3. 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 is an articulation node. From the definition of articulation nodes, removing (and its corresponding edges) partitions the network into two or more blocks. Suppose that nodes and , located at different network blocks, are direct neighbors of articulation node . In case node fails, both and would be confined into separated network components. Clearly, a direct link cannot be established as and . Our approach relies on the fact that nodes located on distinct components (such as and 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.

Problem 1. Given nodes and residing at different blocks and connected to a common articulation point , construct a CC-link satisfying (2) by selecting appropriate helper set and such that (4) is minimized.

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 to a block 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.

4. 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.

4.1. 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 be an articulation point. Then, according to [19], comprises nodes located in distinct blocks . Clearly, the neighboring nodes of an articulation, say and , each residing at different blocks, are separated by a distance , 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 and a destination node . The link is created cooperatively by and its helper set . 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 to reach node when computing (2). The above estimate, however, imposes a higher than necessary energy burden on the helper nodes. To overcome this, an estimated distance is used while computing (2). Let and be adjacent nodes of articulation point residing at different blocks such that . By the model assumed in this work, knows , . Likewise, knows and . Node can compute an estimated distance by exchanging distance information, as follows:

Clearly, . Hence, this estimation can be used by the HSS heuristic to compute (2) based on -hop distance information.

Now, we turn our attention to (4). Assume that node is the closest neighboring node of articulation node in block . Clearly, the node with least distance , where , is closer to node than any other node . Hence, node selects the closest nodes to node to form the helper set . According to (4), the closer a node is to , the lower the energy will be demanded to establish the CC-link . The HSS heuristic uses a distance estimation rather than a target node location. Hence, in effect, the obtained CC-link connects to an arbitrary node , where resides at an estimated distance from node . The details of the HSS heuristic are presented in Algorithm 1.

Input: Source , articulation node , estimated distance ;

Output: A helper set complying with (2) and (4) or ;

             Total transmission power or if .

  # is a function returning the node with the least , ;

  # Let be the destination node such that with ;

(1) ∖; ;

(2) while    do

(3)      ;

(4)      ∖;

(5)      Using (5), node obtains ;

(6)      Node uses to compute and ;

(7)      if    then

(8)          return  ;

(9)      end if

(10)  end while

(11)  return  ;

Algorithm 1: HSS().

The HSS takes as input the source node , the articulation node , and the estimated distance between and node . In the following description we consider that and , for . The while-loop of the HSS adds nodes to the helper set until the destination can be reached by a cooperative link. In case the nodes in ∖ are exhausted and a 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 . Clearly, such information can be obtained while articulation points begin to be computed [19]. Hence, node is able to compute and the estimate based only on local information.

In case node succeeds in computing the CC-link (i.e., ) to an arbitrary node , a directional CC-link connecting block to block can be created. As any node in is at a distance of at most from node , by a proper selection of the estimate , the CC-link can reach the farthest node in , independently of the block where node is located. In other words, the CC-link can reach all the nodes in . The reverse link can be computed by node 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 . Clearly, the while-loop runs for at most times, where is the maximum degree of . Ordering the nodes by their respective distance takes time using efficient sorting algorithms. Hence, HSS runs in time. For latter reference, we summarize the above discussion in following lemma.

Lemma 2. Given a source node , an articulation node , and an estimated distance to a destination node , the task of computing the helper set complying with (2) and (4) can be done in time.

4.2. 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–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 such that . Thus, for each block the articulation node computes , where . 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, and , are informed to each node . Once the distance estimation is available to the neighboring nodes of the articulation point, these nodes execute routine HSS using the estimate or . If , then uses estimate ; otherwise uses estimate . This is necessary since is at distance and the estimated distance to reach the second most distant node in a different block is . 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 . This task is executed in lines (5)–(7).

Input: Articulation point ;

Output: , a CC-link connecting such that and , ;

# Computing the min distance to reach the farthest block

  (1) , , computes ;

  (2)  retrieves and satisfying ;

  (3)  broadcasts to all ;

# Upon receiving , check if a CC-link can be set up;

  (4)  compute ;

  (5) if    then

  (6)   sends back to node ;

  (7) end if

# Selecting a suitable backup node in each block ;

  (8) Node collects the messages and computes for each block ;

  (9) Node informs to node that it holds de minimum cost among the nodes in

    that block. Node becomes the backup node for block ;

Algorithm 2: CARCC().

Note that a node in 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 , . 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 has a single backup node whose cost is the least among the nodes in that block. Let denote the selected backup node in block . As 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. 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 and . Solid and dotted arrows represent, respectively, messages used to select a backup node in cluster and cluster . 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 , 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)).

(a)

(b)

(c)

Figure 2: Example of CARCC operation.

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 and . Clearly, this task can be executed in 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 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 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 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 , . Hence, overall, CARCC requires messages for selecting backup nodes for a given articulation point. Thus, we have the following.

Theorem 3. Given nodes and residing at different blocks and connected to a common articulation point , the task of constructing a CC-link by selecting appropriate helper set and can be computed by CARCC in 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.

4.3. 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 CC-link 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 , , 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 in each block , , sends a message containing , SrcBlockID, and SrcNode. All the nodes in different blocks collect and register the received signal power . This information is routed back to node via direct links using a message . As node is the articulation point, all reply messages pass through . Hence, by checking the reply messages, node can identify the highest for each pair , where and , . The computation of can be done by the relaying nodes, so as to reduce the number of messages reaching the articulation point. By properly combining the reported messages, the articulation node receives at most messages. To see this, let us consider the number of messages received by nodes in block . Clearly, as there are at most backup nodes, the nodes in block receive at most messages. Each node may create a table consisting of the source node, block ID, and received transmission power and route back to the articulation point. Downstream nodes on the path to the articulation point only report the received values after collecting the messages from their neighbors. This can be achieved by allowing nodes closer to the articulation point to wait for the reply messages to be received and combined. The above approach reduces the number of messages passed to the articulation point to the number of neighboring nodes in that block. That is, the number of received messages by node from block equals . Once the articulation point collects the message form its direct neighbors, it can determine the highest received power for each source/destination pair in each block. This information is sent via broadcast to its direct neighboring nodes. On receiving the message, node can adjust its transmission power to reach node . Indeed, the optimized transmission power to reach node can be computed as , where 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.

# Backup nodes adjust its based on ;

(1) The backup node in each block sends a CC message containing ;

(2) For each received message , node records a tuple with the ();

(3) Node sends a message with the collected information back to the SrcNode through node ;

(4) For each block , node computes

      ;

(5) Node inform the to SrcNode in block ;

(6) On receiving the , the adjust its transmission power

      ;

Algorithm 3: PwOpt.

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 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 . In the above example, a single, directional CC-link from block to block was established. The same steps are executed to create a reverse CC-link from to block . 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.

(a)

(b)

(c)

(d)

(e)

Figure 3: CC-link power optimization example.

As can be observed, the task of the optimizing the CC-links power transmission requires at most 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.

5. 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  m area. The node density assumes the following values . 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 () is set to and the receiver threshold () is set to , allowing a maximum transmission range () of ≈70 m. The simulation results comprehend the average of simulations for each configuration set, with a confidence interval.

Figure 4 depicts simulation snapshots of the proposed solution. Figure 4(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 Figure 4(b). Figure 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).

(a)

(b)

(c)

(d)

Figure 4: Example of CARCC simulation.

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 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 (): the transmission power required by each individual node to establish a CC-link.(iii)Metric M3 (): the total transmission power required to establish connectivity using cooperative communication.(iv)Metric M4 (): the transmission power required to maintain connectivity when cooperative communication is not possible.(v)Metric M5 (): the number of helper nodes used to maintain connectivity with the selected destination node.(vi)Metric M6 (): the number of links created by means of cooperative communication.

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 . 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 “-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 () and higher node density (). 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 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 5: Transmission power required to reach the farthest node in the helper set.

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 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.

Figure 6: Transmission power required by individual node during cooperation.

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 higher than the best global CC-link and about compared to the best local CC-link.

Figure 7: The total transmission power of the 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 , 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 , the CARCC expands at most 14% more transmission power than a direct link computed using global topological information and at most 9.2% using -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.

Figure 8: Minimum transmission power using 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 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.

Figure 9: Number of nodes in the helper set.

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 established a CC-link capable of reaching nodes and . 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 to . 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.

Figure 10: Number of created cooperative links.

6. 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 CC-links 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 and higher than the best CC-link using, respectively, global and -hop location information. CARCC runs in time using only local information, where is the degree of the graph. A global solution, on the other hand, requires 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.

Notations

: | Graph , where is the set of vertices (nodes) and is the set of edges (links)
: | Number of vertices (nodes)
: | Number of edges (links)
: | Direct edge (link)
: | Cooperative edges (links)
: | Edge between node and node
: | Direct edge between node and node
: | Cooperative edge between node and node
: | Estimated distance between node and
: | Network block with ID (cluster of biconnected nodes)
: | Transmission power
: | Maximum transmission power
: | Distance between nodes and
: | Minimum distance between a node and a disjoint network block
: | Path loss exponent
: | Receiver sensitivity threshold
: | Helper set connecting the source node to destination node
: | Received power over a cooperative link formed by and its helpers
: | Direct neighbors of the nodes excluding articulation 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
: | Individual cost of cooperative communication link
: | Total cost of a cooperative communication link
: | Source node
: | Destination node
: | Identifier of the network block holding the source node
: | Identifier of the network block holding the destination node
: | Margin of error for transmission power adjustment
: | 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.

Competing Interests

The authors declared that they have no conflict of interests.

Acknowledgments

This work has been partially supported by CNPq and CAPES.

References

N. Li and J. C. Hou, “Improving connectivity of wireless ad hoc networks,” in Proceedings of the 2nd Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services (MobiQuitous '05), pp. 314–324, San Diego, Calif, USA, July 2005.

D. Goyal and J. Caffery Jr., “Partitioning avoidance in mobile ad hoc networks using network survivability concepts,” in Proceedings of the 7th International Symposium on Computers and Communications (ISCC '02), pp. 553–558, IEEE, July 2002.

T. Yong and G. Z. Hu, “The articulation nodes modeling of wireless sensor networks,” in Proceedings of the International Conference on Computer Application and System Modeling (ICCASM '10), vol. 12, pp. 12–75, IEEE, Taiyuan, China, 2010.

U. R. Afonseca, P. H. Azevêdo Filho, J. L. Bordim, and P. S. Barreto, “Localização e redução do consumo de energia em pontos de articulação em redes de sensores sem fio,” in Proceedings of the 2nd Workshop de Sistemas Distribuídos Autonômicos, pp. 21–24, 2012.

B. Khelifa, H. Haffaf, M. Madjid, and D. Llewellyn-Jones, “Monitoring connectivity in wireless sensor networks,” in Proceedings of the IEEE Symposium on Computers and Communications (ISCC '09), pp. 507–512, July 2009.

F. Guerriero, A. Violi, E. Natalizio, V. Loscri, and C. Costanzo, “Modelling and solving optimal placement problems in wireless sensor networks,” Applied Mathematical Modelling, vol. 35, no. 1, pp. 230–241, 2011.

T. F. Neves and J. L. Bordim, “Topology control in cooperative Ad Hoc wireless networks,” Electronic Notes in Theoretical Computer Science, vol. 302, pp. 29–51, 2014.

C.-C. Jay Kuo, Y.-W. Peter Hong, and W.-J. Huang, Cooperative Communications and Networking: Technologies and System Design, Springer Science+Business Media, 2010.

J. Yu, H. Roh, W. Lee, S. Pack, and D.-Z. Du, “Topology control in cooperative wireless ad-hoc networks,” IEEE Journal on Selected Areas in Communications, vol. 30, no. 9, pp. 1771–1779, 2012.

J. Yu, H. Roh, W. Lee, S. Pack, and D.-Z. Du, “Cooperative bridges: topology control in cooperative wireless ad hoc networks,” in Proceedings of the IEEE INFOCOM, pp. 1–9, San Diego, Calif, USA, March 2010.

M. Uysal, Cooperative Communications for Improved Wireless Network Transmission: Framework for Virtual Antenna Array Applications, Information Science Reference, 2010.

S. Song, D. L. Goeckel, and D. Towsley, “Collaboration improves the connectivity of wireless networks,” in Proceedings of the 25th IEEE International Conference on Computer Communications (INFOCOM '06), pp. 1–11, IEEE, Barcelona, Spain, April 2006.

W.-T. Chen and N.-F. Huang, “Strongly connecting problem on multihop packet radio networks,” IEEE Transactions on Communications, vol. 37, no. 3, pp. 293–295, 1989.

U. R. Afonseca, T. F. Neves, and J. L. Bordim, “Sinkpath: a cooperative communication protocol to Restablish WSN connectivity,” in Proceedings of the 13th International Conference WWW/Internet 2014 (ICWI '14), pp. 299–306, IADIS Press, Porto, Portugal, October 2014.

J. Hopcroft and R. Tarjan, “Algorithm 447: efficient algorithms for graph manipulation,” Communications of the ACM, vol. 16, no. 6, pp. 372–378, 1973.

M. Jorgic, M. Hauspie, D. Simplot-Ryl, and I. Stojmenovic, “Localized algorithms for detection of critical nodes and links for connectivity in ad hoc networks,” in Proceedings of the 3rd IFIP Mediterranean Ad Hoc Networking Workshop, pp. 360–371, Bodrum, Turkey, June 2004.

P. Chaudhuri, “An optimal distributed algorithm for computing bridge-connected components,” The Computer Journal, vol. 40, no. 4, 1997.

P. Chaudhuri, “An optimal distributed algorithm for finding articulation points in a network,” Computer Communications, vol. 21, no. 18, pp. 1707–1715, 1998.

V. Turau, “Computing bridges, articulations, and 2-connected components in wireless sensor networks,” in Algorithmic Aspects of Wireless Sensor Networks, vol. 4240 of Lecture Notes in Computer Science, pp. 164–175, Springer, 2006.

Y. Zhu, M. Huang, S. Chen, and Y. Wang, “Energy-efficient topology control in cooperative Ad Hoc networks,” IEEE Transactions on Parallel and Distributed Systems, vol. 23, no. 8, pp. 1480–1491, 2012.

J. Lin and M. A. Ingram, “SCT-MAC: a scheduling duty cycle MAC protocol for cooperative wireless sensor network,” in Proceedings of the IEEE International Conference on Communications (ICC '12), pp. 345–349, Ottawa, Canada, June 2012.

K. Whitehouse, C. Karlof, and D. Culler, “A practical evaluation of radio signal strength for ranging-based localization,” ACM SIGMOBILE Mobile Computing and Communications Review, vol. 11, no. 1, pp. 41–52, 2007.

M. Kohvakka, J. Suhonen, M. Hännikäinen, and T. D. Hämäläinen, “Transmission power based path loss metering for wireless sensor networks,” in Proceedings of the IEEE 17th International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC '06), pp. 1–5, September 2006.

M. Grant, S. Boyd, and Y. Ye, Cvx: Matlab Software for Disciplined Convex Programming, 2008.