# Restoration Strategy Based on Optimal Relay Node Placement in Wireless Sensor Networks

Authors: Xiaoding Wang; Li Xu; Shuming Zhou
Journal: International Journal of Distributed Sensor Networks
 (2015)

---

## Abstract

In wireless sensor networks (WSNs), connecting disjoint segments is significant for network restoration, especially in some mission critical applications. However, the variability of distances between disjoint segments has tremendous influence on relay nodes deployment. In fact, finding the optimal solution for connecting disjoint segments in terms of the number and positions of relay nodes is NP-hard. To address this issue, plenty of heuristics, such as STP-MSP (Cheng et al., 2008), MST-1tRN (Lloyd et al., 2007), and CORP (Lee and Younis, 2010) are deeply pursued. In this paper, we propose a distributed restoration algorithm based on optimal relay node placement (simply, ORNP). It aims at federating separated segments by populating the minimum number of relay nodes in a WSN that has suffered a significant damage. In addition, both of complexity and upper bound of the relay count for ORNP are explored. The simulation results show that ORNP performs better than STP-MSP, MST-1tRN, and CORP in terms of relay count and the connectivity of resulting topology.


---

## Body

## 1. Introduction

Wireless sensor networks (WSNs) are well-known by the significant advantage in monitoring space, such as battlefield surveillance, environment monitoring, and biological detection [1–3]. To accomplish such surveillance missions, a large amount of sensors are intentionally placed over a geographic area (called the area of interest, A
O
I) to monitor certain events. In general, a sensor node is powered by the battery with a limited capacity. And the majority of energy consumption results from communication. Because of such energy constraint, a large number of sensors are deployed for area coverage. In fact, such deployment will facilitate the surveillance mission. For example, all sensors can be easily coordinated to forward gathered data to a base station along a multihop wireless path. In this case, the reachability between any pair of sensors is required which implies the importance of the connectivity in W
S
Ns.Due to this special network architecture,W
S
Ns are subject to damage that can partition the network into disjoint segments. In Figure 1, the dark areas represent the extent of the damage that partitions the surviving sensors into several disconnected segments. In particular, the network is performing critical tasks, such as forecasting the activity of volcano and monitoring the security status of a border. In these scenarios, all important data are shared to coordinate the action of the segments. Thus restoring connectivity for a disconnected W
S
N is crucial.Figure 1
Segments discovery in a damagedW
S
N.Some distributed algorithms in references [4, 5] have been designed to relocate some operational nodes such that the network becomes connected. However the algorithms are inappropriate to connectivity restoration for a severely damaged network.Unlike those algorithms above, this paper aims to design an efficient algorithm that deploys the minimum number of relay nodes (R
N
s) to connect the disjoint network segments. Similarly, Lin and Xue [6] mapped such optimal relay nodes deployment problem into establishing the Steiner minimum tree with a minimum number of Steiner points. They also proved the NP hardness of this problem.Our Contribution. This paper presents a polynomial-time algorithm, namely, O
R
N
P, that opts to seek the minimum number of relays required for establishing a connected intersegment topology through the following steps.(1)
We subdivide the area of interestA
O
I into clusters through Voronoi partition that the virtual backbone is built by the collaboration of all cluster heads.
(2)
A novel strategy for relay nodes selection among cluster members, with respect to the properties of Global Voronoi Coverage, is proposed to execute the prerestoration of a disconnected network.
(3)
The3
-
s
t
a
r technology is applied to further decrease the number of disjoint segments by recursively deploying one relay node for every three separated segments.
(4)
We propose a geometrical center based algorithm that places relay nodes toward the center of mass of the polygon formed by the remaining disjoint segments to achieve the connectivity of the entire network.The rest of the paper is organized as follows. Related work is covered in Section2. The federation problem and Voronoi coverage based system model are described in Section 3. The algorithm O
R
N
P is elaborated in Section 4. Section 5 gives the theoretical analysis on upper bound of R
N count and complexity of O
R
N
P. And the validation results are presented in this section as well. We conclude this paper in Section 6.


## 2. Related Work

There are two categories of heuristics pursued for federating segmentedW
S
Ns [7]: the first category is about establishing connectivity by populating extra relay nodes and the second one is transporting data between segments through mobile agents.Previous work onR
N placement can be classified into two categories. The first strives to establish connectivity between end points [8] in unconstrained network. In the second category, a higher degree of connectivity as an additional performance objective is pursued in [9, 10]. In [8], Lloyd and Xue designed M
S
T
-
1
t
R
N that is based on constructing a minimum Steiner tree with minimum number of Steiner points by a geometric disk cover algorithm. Lee and Younis proposed C
O
R
P and O
R
C [11, 12]. Both of C
O
R
P and O
R
C model the network as a grid of equal-sized squares (cells) with all segments and relays located at the center of cells. C
O
R
P works in rounds. In each round, it chooses a neighbor cell that is the closest to the other segments to place a relay node. Unlike C
O
R
P, O
R
C works in two phases: (1) identifying Steiner points (S
Ps) at which R
Ns would be populated to minimize the number of deployed R
Ns for connecting segments and (2) for every three neighboring boundary segments identified, deploying an additional R
N to form a connected i
n
t
e
r
-
S
P topology. These two steps are repeated recursively, until all segments are united. We improve C
O
R
P and propose O
R
N
P that tends to provide a better performance than C
O
R
P. The details of performance comparison are discussed in Section 5.To achieve higher connectivity [9, 10, 13], Tang et al. connected each sensor to at least two R
Ns with a minimum number of R
Ns involved. And he achieved the 2
-
c
o
n
n
e
c
t
e
d
i
n
t
e
r
-
R
N network [9]. Younis et al. proposed a heuristic 2
C
-
S
p
i
d
e
r
W
e
b [13] that establishes an i
n
t
e
r
-
s
e
g
m
e
n
t topology such that each segment at the perimeter is connected to two distinct R
Ns on the inner mesh through 2 disjoint paths. Meanwhile, different transmission radiuses of heterogeneous nodes are considered by Han et al. in [10]. They opted to establish k
-
v
e
r
t
e
x disjoint paths by deterministically populating the minimum number of additional R
N
s.Furthermore, all three networks, sparse mobile ad hoc networks, delay tolerant networks, and fragmented sensor networks, employ mobile nodes for data delivery. As a mobile node, it plays one of three roles: a collector that tours the sensors and carries their data, a base station that processes the data, or a relay that forwards data from one node to another [14, 15]. Furthermore, mobile nodes are deployed to link disjoint nodes as data forwarders [16] or to increase the lifetime of a network that consists of stationary sensors [17]. In [18], Senel and Younis designed a heuristic I
D
M
-
k
M
D
C that finds k
-
s
u
b
s
e
t
s of segments, computes an optimized tour for each subset, and assigns one mobile data collector for each tour. Compared with these strategies that may study the effect of the number of nodes, O
R
N
P only concerns minimizing the R
N count.


## 3. Preliminary

In this section, we first give the notations and assumptions and then present the network model and the problem statement.


### 3.1. Notions and Terminologies

We use the following notations throughout the paper:(i)
r
c: the maximum communication range of sensor nodes,
(ii)
r
s: the sensing range of sensor nodes,
(iii)
d
(
s
i
,
s
j
): the Euclidean distance between two points s
i and s
j,
(iv)
d
i
s
k
(
u
): the sensing disk of node u that is a closed disk centered at point u with radius r
s,
(v)
S
i: the i
t
h segment,
(vi)
S: the set of S
i required to be connected,
(vii)
R
(
S
i
): the sensor node that represents the segment S
i,
(viii)
C
i: the i
t
h cluster,
(ix)
C
H
i: the cluster head of the i
t
h cluster,
(x)
S
P
G: the smallest polygon which includes all R
(
S
i
),
(xi)
B
R: the segment that lies on the perimeter of S
P
G,
(xii)
C
o
M: the center of mass of S
P
G.All sensor nodes deployed inA
o
I are assumed homogeneous; that is, r
c and r
s are the same for all nodes. If the Euclidean distance between two nodes is not greater than r
c, they can directly exchange messages. A sensor node can perfectly monitor (or cover) a point in the plane, if their Euclidean distance is not greater than r
s.The Voronoi partition is a well-known geometric structure that has been applied to network clustering. For example, Voronoi trees [19] have been proposed to answer reverse nearest neighbour (R
N
N) queries [20]. Given a set of data points and a query point q, the R
N
N problem [21] is to find all the data points whose nearest neighbour is q. There are three formal definitions associated with Voronoi partitions.Definition 1 (see [22]).
Given a setS of n sites s
1
,
s
2
,
…
,
s
n in a plane R
2, their Voronoi partition is defined as the subdivision of the plane into n cells, one for each site, with the property that any point in the cell corresponding to a site is closer to that site than to any other site. Formally, the Voronoi cell corresponding to site s
i is defined as(1)
V
R
2
,
S
,
s
i
=
AOI
⋂
⋂
j
=
1
,
j
≠
i
n
x
∣
d
s
i
,
x
≤
d
s
j
,
x
.In addition, two Voronoi cells meet along a Voronoi edge, and three Voronoi cells meet at a Voronoi vertex. We call a site a neighbor of another site if the Voronoi cells of the two sites share an edge.Definition 2 (see [23]).
The Voronoi cellV
(
R
2
,
S
,
s
i
) is said to satisfy the local Voronoi coverage, if every point p
∈
V
(
R
2
,
S
,
s
i
) is covered by d
i
s
k
(
s
i
).Definition 3 (see [23]).
If every Voronoi cellV
(
R
2
,
S
,
s
i
) satisfies the local Voronoi coverage where 1
≤
i
≤
S, then the area is said to satisfy the global Voronoi coverage.As shown in Figure2(a), the black solid points and hollow points denote the predetermined nodes and ordinary nodes, respectively, while the rectangle represents the A
O
I. And the Voronoi cell corresponding to site s
i is the polygon formed by Voronoi vertices, for example, the Voronoi cell of 6 is the polygon formed by Voronoi vertices 1, 2, 3, 4, and 5. Figure 2(b) shows the global Voronoi coverage for all 6 Voronoi cells.Figure 2
Voronoi partition and global Voronoi coverage.
(a)
(b)SinceC
o
M based restoration is a part of O
R
N
P, we recall two definitions about geometrical center as follows.Definition 4 (see [24]).
Given an arbitrary nonempty finite multisetP in R
2, an Euclidean median of P is a point in R
2, denoted as M
(
P
), that minimizes ∑
p
∈
P
x
-
p, when x
=
M
(
P
).
We denoteL
M
=
∑
p
∈
P
M
(
P
)
-
p as the sum of the distance from M
(
P
) to all points in P.Definition 5 (see [24]).
Given an arbitrary nonempty finite multisetP in R
2, the centre of mass of P is the function whose value, denoted by C
(
P
), is the point in R
2 given by C
(
P
)
=
1
/
P
∑
p
∈
P
p.
We denoteL
C
=
∑
p
∈
P
C
(
P
)
-
p as the sum of the distance from C
(
P
) to all points in P.Throughout this paper, we assume the entire area satisfies the global Voronoi coverage (see Figure2(b)). The rationale is that if the sensing disks of some predetermined sensors can provide complete coverage of the entire area that implies the effective area surveillance, the area of interest is initially subdivided into clusters by Voronoi partition with respect to the positions of some predetermined sensor nodes (cites). Furthermore for each Voronoi cell (cluster), the corresponding sensor is nominated as the cluster head while the other sensors within the cell serve as cluster members; that is, there are six clusters C
1, C
2, C
3, C
4, C
5, and C
6 constructed through Voronoi Partition as shown in Figure 2(b). By doing so, the cluster heads can coordinate their cluster members to execute a particular task. While the partition is established, all cluster heads form an virtual backbone that forwards collected data to the base station (B
S) as shown in Figure 3.Figure 3
The virtual backbone constructed through Voronoi partition.Note that although a sensor node could locate within two cluster heads’ sensing area, every sensor can only join one cluster and send all data toward its cluster head. The rationale for that is that two copies of the same data collected by a cluster member are possibly sending towards two cluster heads such that the redundant data could travel through the virtual backbone.It is worth mentioning that it is pointed out in [25] that the specification of r
c
=
2
r
s holds for most commercially available sensors such as Berkeley Motes. Both Zhang and Hou [25] and Wang et al. [26] prove that if the transmission range of sensors equals or exceeds twice their sensing range, coverage implies connectivity. However we set r
c
≤
2
r
s throughout the rest of the paper, because we consider the scenario that some nodes have to play the role of gateways to ensure connectivity of the virtual backbone such that the collected data can be relayed from one cluster head to the other.


### 3.2. Segment Federation Problem

In this paper, we only consider the disjointW
S
Ns. In this scenarios, nodes do not have mobility and all communication links are assumed bidirectional.


#### 3.2.1. Representative Nodes Localization

For any segmentS
i, we designate only one representative node R
(
S
i
). Note that R
(
S
i
) cannot be determined by a remote command center because of the damage to the communication of the network. Thus, to design a scheme for the nomination of representatives is imperative. However, we need to make sure all surviving sensors should have the knowledge of the network partitioned into segments. In Figure 1, the nodes closest to the damage area, for simplicity we call them border nodes, can easily detect the failure of communication with their neighbors. Actually once the communication of a border node with some of its neighbors is down and no more messages received from that on, it will notify all reachable nodes that a major damage has taken place which is the cause of consecutive node failures.Then by simply observing the notification messages flooded in the segment, the border node that has most neighbors is selected as a representative. The rationale of the representative selection is that newR
N
s are deployed in the vicinity of these border nodes such that the network topology can be restored to its prefailure status as similar as possible. In Figure 1, five representatives, denoted by black nodes, are selected for five segments S
0, S
1, S
2, S
3, and S
4. And they will broadcast their locations to the other nodes in the segments. The problem of federating the five segments shown in Figure 1 is now mapped to reconnecting R
(
S
i
),  i
=
0
,
…
,
4.


#### 3.2.2. Relay Nodes Deployment

Throughout this paper, we assume relay nodes which have the same communication rangeR as that of sensor only forward data. Since relays are more expensive, the number of deployed relays is to be minimized and they should be populated carefully. Cheng et al. formulate placing the fewest relays to connect nodes as finding the Steiner minimum tree with a minimum number of Steiner points and bounded edge length [27]. Lin and Xue proved that this problem is NP-hard [6]. Therefore heuristics are pursued in this paper.


## 3.1. Notions and Terminologies

We use the following notations throughout the paper:(i)
r
c: the maximum communication range of sensor nodes,
(ii)
r
s: the sensing range of sensor nodes,
(iii)
d
(
s
i
,
s
j
): the Euclidean distance between two points s
i and s
j,
(iv)
d
i
s
k
(
u
): the sensing disk of node u that is a closed disk centered at point u with radius r
s,
(v)
S
i: the i
t
h segment,
(vi)
S: the set of S
i required to be connected,
(vii)
R
(
S
i
): the sensor node that represents the segment S
i,
(viii)
C
i: the i
t
h cluster,
(ix)
C
H
i: the cluster head of the i
t
h cluster,
(x)
S
P
G: the smallest polygon which includes all R
(
S
i
),
(xi)
B
R: the segment that lies on the perimeter of S
P
G,
(xii)
C
o
M: the center of mass of S
P
G.All sensor nodes deployed inA
o
I are assumed homogeneous; that is, r
c and r
s are the same for all nodes. If the Euclidean distance between two nodes is not greater than r
c, they can directly exchange messages. A sensor node can perfectly monitor (or cover) a point in the plane, if their Euclidean distance is not greater than r
s.The Voronoi partition is a well-known geometric structure that has been applied to network clustering. For example, Voronoi trees [19] have been proposed to answer reverse nearest neighbour (R
N
N) queries [20]. Given a set of data points and a query point q, the R
N
N problem [21] is to find all the data points whose nearest neighbour is q. There are three formal definitions associated with Voronoi partitions.Definition 1 (see [22]).
Given a setS of n sites s
1
,
s
2
,
…
,
s
n in a plane R
2, their Voronoi partition is defined as the subdivision of the plane into n cells, one for each site, with the property that any point in the cell corresponding to a site is closer to that site than to any other site. Formally, the Voronoi cell corresponding to site s
i is defined as(1)
V
R
2
,
S
,
s
i
=
AOI
⋂
⋂
j
=
1
,
j
≠
i
n
x
∣
d
s
i
,
x
≤
d
s
j
,
x
.In addition, two Voronoi cells meet along a Voronoi edge, and three Voronoi cells meet at a Voronoi vertex. We call a site a neighbor of another site if the Voronoi cells of the two sites share an edge.Definition 2 (see [23]).
The Voronoi cellV
(
R
2
,
S
,
s
i
) is said to satisfy the local Voronoi coverage, if every point p
∈
V
(
R
2
,
S
,
s
i
) is covered by d
i
s
k
(
s
i
).Definition 3 (see [23]).
If every Voronoi cellV
(
R
2
,
S
,
s
i
) satisfies the local Voronoi coverage where 1
≤
i
≤
S, then the area is said to satisfy the global Voronoi coverage.As shown in Figure2(a), the black solid points and hollow points denote the predetermined nodes and ordinary nodes, respectively, while the rectangle represents the A
O
I. And the Voronoi cell corresponding to site s
i is the polygon formed by Voronoi vertices, for example, the Voronoi cell of 6 is the polygon formed by Voronoi vertices 1, 2, 3, 4, and 5. Figure 2(b) shows the global Voronoi coverage for all 6 Voronoi cells.Figure 2
Voronoi partition and global Voronoi coverage.
(a)
(b)SinceC
o
M based restoration is a part of O
R
N
P, we recall two definitions about geometrical center as follows.Definition 4 (see [24]).
Given an arbitrary nonempty finite multisetP in R
2, an Euclidean median of P is a point in R
2, denoted as M
(
P
), that minimizes ∑
p
∈
P
x
-
p, when x
=
M
(
P
).
We denoteL
M
=
∑
p
∈
P
M
(
P
)
-
p as the sum of the distance from M
(
P
) to all points in P.Definition 5 (see [24]).
Given an arbitrary nonempty finite multisetP in R
2, the centre of mass of P is the function whose value, denoted by C
(
P
), is the point in R
2 given by C
(
P
)
=
1
/
P
∑
p
∈
P
p.
We denoteL
C
=
∑
p
∈
P
C
(
P
)
-
p as the sum of the distance from C
(
P
) to all points in P.Throughout this paper, we assume the entire area satisfies the global Voronoi coverage (see Figure2(b)). The rationale is that if the sensing disks of some predetermined sensors can provide complete coverage of the entire area that implies the effective area surveillance, the area of interest is initially subdivided into clusters by Voronoi partition with respect to the positions of some predetermined sensor nodes (cites). Furthermore for each Voronoi cell (cluster), the corresponding sensor is nominated as the cluster head while the other sensors within the cell serve as cluster members; that is, there are six clusters C
1, C
2, C
3, C
4, C
5, and C
6 constructed through Voronoi Partition as shown in Figure 2(b). By doing so, the cluster heads can coordinate their cluster members to execute a particular task. While the partition is established, all cluster heads form an virtual backbone that forwards collected data to the base station (B
S) as shown in Figure 3.Figure 3
The virtual backbone constructed through Voronoi partition.Note that although a sensor node could locate within two cluster heads’ sensing area, every sensor can only join one cluster and send all data toward its cluster head. The rationale for that is that two copies of the same data collected by a cluster member are possibly sending towards two cluster heads such that the redundant data could travel through the virtual backbone.It is worth mentioning that it is pointed out in [25] that the specification of r
c
=
2
r
s holds for most commercially available sensors such as Berkeley Motes. Both Zhang and Hou [25] and Wang et al. [26] prove that if the transmission range of sensors equals or exceeds twice their sensing range, coverage implies connectivity. However we set r
c
≤
2
r
s throughout the rest of the paper, because we consider the scenario that some nodes have to play the role of gateways to ensure connectivity of the virtual backbone such that the collected data can be relayed from one cluster head to the other.


## 3.2. Segment Federation Problem

In this paper, we only consider the disjointW
S
Ns. In this scenarios, nodes do not have mobility and all communication links are assumed bidirectional.


### 3.2.1. Representative Nodes Localization

For any segmentS
i, we designate only one representative node R
(
S
i
). Note that R
(
S
i
) cannot be determined by a remote command center because of the damage to the communication of the network. Thus, to design a scheme for the nomination of representatives is imperative. However, we need to make sure all surviving sensors should have the knowledge of the network partitioned into segments. In Figure 1, the nodes closest to the damage area, for simplicity we call them border nodes, can easily detect the failure of communication with their neighbors. Actually once the communication of a border node with some of its neighbors is down and no more messages received from that on, it will notify all reachable nodes that a major damage has taken place which is the cause of consecutive node failures.Then by simply observing the notification messages flooded in the segment, the border node that has most neighbors is selected as a representative. The rationale of the representative selection is that newR
N
s are deployed in the vicinity of these border nodes such that the network topology can be restored to its prefailure status as similar as possible. In Figure 1, five representatives, denoted by black nodes, are selected for five segments S
0, S
1, S
2, S
3, and S
4. And they will broadcast their locations to the other nodes in the segments. The problem of federating the five segments shown in Figure 1 is now mapped to reconnecting R
(
S
i
),  i
=
0
,
…
,
4.


### 3.2.2. Relay Nodes Deployment

Throughout this paper, we assume relay nodes which have the same communication rangeR as that of sensor only forward data. Since relays are more expensive, the number of deployed relays is to be minimized and they should be populated carefully. Cheng et al. formulate placing the fewest relays to connect nodes as finding the Steiner minimum tree with a minimum number of Steiner points and bounded edge length [27]. Lin and Xue proved that this problem is NP-hard [6]. Therefore heuristics are pursued in this paper.


## 3.2.1. Representative Nodes Localization

For any segmentS
i, we designate only one representative node R
(
S
i
). Note that R
(
S
i
) cannot be determined by a remote command center because of the damage to the communication of the network. Thus, to design a scheme for the nomination of representatives is imperative. However, we need to make sure all surviving sensors should have the knowledge of the network partitioned into segments. In Figure 1, the nodes closest to the damage area, for simplicity we call them border nodes, can easily detect the failure of communication with their neighbors. Actually once the communication of a border node with some of its neighbors is down and no more messages received from that on, it will notify all reachable nodes that a major damage has taken place which is the cause of consecutive node failures.Then by simply observing the notification messages flooded in the segment, the border node that has most neighbors is selected as a representative. The rationale of the representative selection is that newR
N
s are deployed in the vicinity of these border nodes such that the network topology can be restored to its prefailure status as similar as possible. In Figure 1, five representatives, denoted by black nodes, are selected for five segments S
0, S
1, S
2, S
3, and S
4. And they will broadcast their locations to the other nodes in the segments. The problem of federating the five segments shown in Figure 1 is now mapped to reconnecting R
(
S
i
),  i
=
0
,
…
,
4.


## 3.2.2. Relay Nodes Deployment

Throughout this paper, we assume relay nodes which have the same communication rangeR as that of sensor only forward data. Since relays are more expensive, the number of deployed relays is to be minimized and they should be populated carefully. Cheng et al. formulate placing the fewest relays to connect nodes as finding the Steiner minimum tree with a minimum number of Steiner points and bounded edge length [27]. Lin and Xue proved that this problem is NP-hard [6]. Therefore heuristics are pursued in this paper.


## 4. The ORNP Approach

The proposedO
R
N
P approach applies greedy heuristics that work in rounds until all segments are federated. First we will introduce O
R
N
P as a centralized procedure, and then the distributed O
R
N
P is elaborated in Section 4.2. The framework of O
R
N
P is shown in Figure 4.Figure 4
The framework ofO
R
N
P.


### 4.1. Major Steps of ORNP

#### 4.1.1. Voronoi Partition Based Prerestoration Phase (VP)

The area of interest is subdivided into clusters through Voronoi partition with some sensor nodes (cites) predetermined. And in each Voronoi cell, the cluster head and cluster members are chosen as we assumed in Section3.1. Furthermore some cluster members play the role of gateways due to the fact that the maximum communication range of a sensor is assumed less than two times of its sensing range. While the entire network breaks down into disjoint segments, we try to locate a sensor node s covered by at least two distinct cluster heads C
i and C
j, where i
≠
j, C
i
∈
S
i, and C
j
∈
S
j. Then s is designated as a relay to federate S
i and S
j. It is worth mentioning that there could be more than one sensor node, that is, s
1 and s
2, covered by at least two distinct cluster heads C
i and C
j. In this case, we need to know which sensor is closer to the C
o
M of S
P
G that consists of disjoint segments. Because once several segments merge into one through the gateway, the position of the gateway could possibly become the nearest point to the C
o
M that directly shortens the distances from all resulting disjoint segments to the C
o
M for the next stage restoration. Thus if d
(
s
1
,
C
o
M
)
<
d
(
s
2
,
C
o
M
), then s
1 is a proper choice for the gateway. Intuitively, the selection of this kind of sensor nodes instead of populating new ones can significantly reduce the number of disjoint segments that require federation. As shown in Figure 5(a), there are three clusters C
1, C
2, and C
3 with 1, 2, and 3 as their cluster heads, respectively. And the virtual backbone consists of three cluster heads and one relay; for example, each of 1, 2, and 3 is connected by the relay node 4. However, if sensor node 4 breaks down, then 1, 2, and 3 are disconnected. In Figure 5(b), there are two sensor nodes covered by three cluster headers; that is, sensor 5 is covered by 1 and 3, while sensor 6 is covered by 2 and 3. Therefore both sensors 5
∈
C
1 and 6
∈
C
3 are chosen to federate three cluster heads 1, 2, and 3.Figure 5
The selection of relay nodes.
(a)
(b)Figure4 shows how Voronoi partition based prerestoration federates disjoint segments with the sensor nodes (cluster members) covered by at least two cluster heads. There are 27 disjoint segments that required federation as shown in Figure 6(a). The black nodes denote the cluster members covered by at least two cluster heads (see Figure 6(b)). They are chosen as relays to joint the corresponding cluster heads such that the number of separated segments is reduced from 27 to 11, as shown in Figure 6(c).Figure 6
Voronoi partition based prerestoration (VP).
(a)
(b)
(c)


#### 4.1.2. CoM Based Restoration Phase (CR)

After the prerestoration phase, we strive to further reduce the number of disjoint segments by establishing as many3
-
s
t
a
rs as possible. A 3
-
s
t
a
r is the structure that a relay is placed to joint three separated segments. There are still 11 disjoint segments left (see Figure 7(a)). We build three 3
-
s
t
a
rs such that the total number of disjoint segments is reduced by 6. Note that although we try to build 3
-
s
t
a
r as many as possible, if a deployed R
N can connect more than three separated segments, then all disjoint segments adjacent to this specific R
N can be federated. In fact, O
R
N
P requires less R
N, if more R
Ns adjacent to more than three separated segments are populated.Figure 7
CoM based restoration (CR).
(a)
(b)
(c)
(d)Once all3
-
s
t
a
rs are discovered, there will be no more segments that can be federated by deploying only one relay. Then we calculate the C
o
M of smallest polygon which includes all remaining segments, using the following formula [28], where c
x and c
y are coordinates of the C
o
M and x
i and y
i are coordinates of the segment S
i:(2)
Area
A
=
1
2
∑
i
=
0
n
-
1
x
i
y
i
+
1
-
x
i
+
1
y
i
,
c
x
=
1
6
A
∑
i
=
0
n
-
1
x
i
+
x
i
+
1
x
i
y
i
+
1
-
x
i
+
1
y
i
,
c
y
=
1
6
A
∑
i
=
0
n
-
1
y
i
+
y
i
+
1
x
i
y
i
+
1
-
x
i
+
1
y
i
.The rationale is that placingR
N
s toward the C
o
M will significantly decrease the number of R
N
s required for segment federation. Note that the CoMbased Restoration Phase works in rounds. In each round, every R
i first checks whether it can reach any R
N which may have been populated from another segment j, where i
≠
j. If there is no R
N reachable, then R
i places a relay node toward C
o
M. Note that each R
N placed by R
i will become new representative of S
i and every two R
Ns should be placed at r
c interval. It is worth mentioning that while two or more R
i
s meet, the corresponding S
i
s merge into a new segment and the closest R
i to the C
o
M is chosen as the representative of the new segment. Then the rest segments are excluded from the next round deployment. The whole phase will recursively deploy relays until all disjoint segments connect with each other. As shown in Figure 7(b), five segments R
1, R
2, R
3, R
4, and R
5 are deploying relays toward the C
o
M, where R
i
j denotes the relay deployed by R
i in the j
t
h round. It is clear that the relay R
2
2 can reach R
1
2, while R
3
2 is within the communication range of R
4
2 in the second round. Therefore R
2
2 and R
1
2 merge into one segment, so do R
3
2 and R
4
2. Compared with R
1
2 and R
4
2, R
2
2 and R
3
2 are closer to C
o
M. Hence R
2
2 will represent R
1 and R
2, while R
3
2 represents R
3 and R
4 for the next round deployment (see Figure 7(c)). Before relays reach the C
o
M, R
2
3, R
3
3, and R
5
3 are capable of communicating with each other; therefore all those 5 disjoint segments are connected in three rounds (see Figure 7(d)). And the resulting topology is shown in Figure 8. We will analyze the quality of the resulting topology in Section 5.Figure 8
The resulting topology throughO
R
N
P.


### 4.2. Distributed Implementation

This section describes howO
R
N
P is implemented in a distributed manner. First, we assume the area is partitioned into clusters through Voronoi partition before it is inflicted with major damage. Every cluster is considered as a segment with its cluster head chosen as the representative. The smallest polygon S
P
G on current set of representatives is calculated and the positions of B
R
s are broadcasted to all sensors as the initial status of the network. For simplicity, we call two cluster heads connecting with each other directly or through relay neighbors.While the networks are partitioned into disjoint segments due to the major damage, each segmentS
i will broadcast a federation request to all cluster head C
is within S
i. For each cluster head C
i
∈
S
i, communication with all its Voronoi neighbors is established. Once a cluster head C
H
i
∈
S
i fails to communicate with at least one of its Voronoi neighbors, C
H
i will try to broadcast gateway spotting message to all its cluster members. If some active cluster members of C
H
i can still contact with C
H
j of S
j, they will respond to federation acknowledgement messages. Then C
H
i randomly chooses one of those cluster members to play the role of gateway such that C
H
i and C
H
j are united.After the prerestoration phase, each segmentS
i chooses a sensor as its representative R
i and then broadcasts the location of R
i. Although each R
i does not know the locations of the other R
i
s, it assumes being a B
R and calculating the C
o
M of the S
P
G with respect to the positions of itself and all initial B
R
s that lost connections due to the damage. Then every R
i starts to place relays toward C
o
M and each R
N placed by R
i will become new representative of S
i. While two or more R
i
s meet, the corresponding S
i
s merge into a new segment and the closest R
i to the C
o
M is chosen as the representative of the new segment. Then the rest segments stop to deploy R
N
s toward the C
o
M. Each R
i will recursively deploy relays until all disjoint segments connect with each other. Note that, without the knowledge of precise positions of neighbor representatives, there is no way to directly build the 3
-
s
t
a
r. However the 3
-
s
t
a
rs still can be constructed during the R
N deployment.Intuitively, the implementation ofO
R
N
P in distributed way may result in more R
Ns populated. However, once R
Ns are deployed, any two disjoint segments can be united. And the communication in a W
S
N is restored.


## 4.1. Major Steps of ORNP

### 4.1.1. Voronoi Partition Based Prerestoration Phase (VP)

The area of interest is subdivided into clusters through Voronoi partition with some sensor nodes (cites) predetermined. And in each Voronoi cell, the cluster head and cluster members are chosen as we assumed in Section3.1. Furthermore some cluster members play the role of gateways due to the fact that the maximum communication range of a sensor is assumed less than two times of its sensing range. While the entire network breaks down into disjoint segments, we try to locate a sensor node s covered by at least two distinct cluster heads C
i and C
j, where i
≠
j, C
i
∈
S
i, and C
j
∈
S
j. Then s is designated as a relay to federate S
i and S
j. It is worth mentioning that there could be more than one sensor node, that is, s
1 and s
2, covered by at least two distinct cluster heads C
i and C
j. In this case, we need to know which sensor is closer to the C
o
M of S
P
G that consists of disjoint segments. Because once several segments merge into one through the gateway, the position of the gateway could possibly become the nearest point to the C
o
M that directly shortens the distances from all resulting disjoint segments to the C
o
M for the next stage restoration. Thus if d
(
s
1
,
C
o
M
)
<
d
(
s
2
,
C
o
M
), then s
1 is a proper choice for the gateway. Intuitively, the selection of this kind of sensor nodes instead of populating new ones can significantly reduce the number of disjoint segments that require federation. As shown in Figure 5(a), there are three clusters C
1, C
2, and C
3 with 1, 2, and 3 as their cluster heads, respectively. And the virtual backbone consists of three cluster heads and one relay; for example, each of 1, 2, and 3 is connected by the relay node 4. However, if sensor node 4 breaks down, then 1, 2, and 3 are disconnected. In Figure 5(b), there are two sensor nodes covered by three cluster headers; that is, sensor 5 is covered by 1 and 3, while sensor 6 is covered by 2 and 3. Therefore both sensors 5
∈
C
1 and 6
∈
C
3 are chosen to federate three cluster heads 1, 2, and 3.Figure 5
The selection of relay nodes.
(a)
(b)Figure4 shows how Voronoi partition based prerestoration federates disjoint segments with the sensor nodes (cluster members) covered by at least two cluster heads. There are 27 disjoint segments that required federation as shown in Figure 6(a). The black nodes denote the cluster members covered by at least two cluster heads (see Figure 6(b)). They are chosen as relays to joint the corresponding cluster heads such that the number of separated segments is reduced from 27 to 11, as shown in Figure 6(c).Figure 6
Voronoi partition based prerestoration (VP).
(a)
(b)
(c)


### 4.1.2. CoM Based Restoration Phase (CR)

After the prerestoration phase, we strive to further reduce the number of disjoint segments by establishing as many3
-
s
t
a
rs as possible. A 3
-
s
t
a
r is the structure that a relay is placed to joint three separated segments. There are still 11 disjoint segments left (see Figure 7(a)). We build three 3
-
s
t
a
rs such that the total number of disjoint segments is reduced by 6. Note that although we try to build 3
-
s
t
a
r as many as possible, if a deployed R
N can connect more than three separated segments, then all disjoint segments adjacent to this specific R
N can be federated. In fact, O
R
N
P requires less R
N, if more R
Ns adjacent to more than three separated segments are populated.Figure 7
CoM based restoration (CR).
(a)
(b)
(c)
(d)Once all3
-
s
t
a
rs are discovered, there will be no more segments that can be federated by deploying only one relay. Then we calculate the C
o
M of smallest polygon which includes all remaining segments, using the following formula [28], where c
x and c
y are coordinates of the C
o
M and x
i and y
i are coordinates of the segment S
i:(2)
Area
A
=
1
2
∑
i
=
0
n
-
1
x
i
y
i
+
1
-
x
i
+
1
y
i
,
c
x
=
1
6
A
∑
i
=
0
n
-
1
x
i
+
x
i
+
1
x
i
y
i
+
1
-
x
i
+
1
y
i
,
c
y
=
1
6
A
∑
i
=
0
n
-
1
y
i
+
y
i
+
1
x
i
y
i
+
1
-
x
i
+
1
y
i
.The rationale is that placingR
N
s toward the C
o
M will significantly decrease the number of R
N
s required for segment federation. Note that the CoMbased Restoration Phase works in rounds. In each round, every R
i first checks whether it can reach any R
N which may have been populated from another segment j, where i
≠
j. If there is no R
N reachable, then R
i places a relay node toward C
o
M. Note that each R
N placed by R
i will become new representative of S
i and every two R
Ns should be placed at r
c interval. It is worth mentioning that while two or more R
i
s meet, the corresponding S
i
s merge into a new segment and the closest R
i to the C
o
M is chosen as the representative of the new segment. Then the rest segments are excluded from the next round deployment. The whole phase will recursively deploy relays until all disjoint segments connect with each other. As shown in Figure 7(b), five segments R
1, R
2, R
3, R
4, and R
5 are deploying relays toward the C
o
M, where R
i
j denotes the relay deployed by R
i in the j
t
h round. It is clear that the relay R
2
2 can reach R
1
2, while R
3
2 is within the communication range of R
4
2 in the second round. Therefore R
2
2 and R
1
2 merge into one segment, so do R
3
2 and R
4
2. Compared with R
1
2 and R
4
2, R
2
2 and R
3
2 are closer to C
o
M. Hence R
2
2 will represent R
1 and R
2, while R
3
2 represents R
3 and R
4 for the next round deployment (see Figure 7(c)). Before relays reach the C
o
M, R
2
3, R
3
3, and R
5
3 are capable of communicating with each other; therefore all those 5 disjoint segments are connected in three rounds (see Figure 7(d)). And the resulting topology is shown in Figure 8. We will analyze the quality of the resulting topology in Section 5.Figure 8
The resulting topology throughO
R
N
P.


## 4.1.1. Voronoi Partition Based Prerestoration Phase (VP)

The area of interest is subdivided into clusters through Voronoi partition with some sensor nodes (cites) predetermined. And in each Voronoi cell, the cluster head and cluster members are chosen as we assumed in Section3.1. Furthermore some cluster members play the role of gateways due to the fact that the maximum communication range of a sensor is assumed less than two times of its sensing range. While the entire network breaks down into disjoint segments, we try to locate a sensor node s covered by at least two distinct cluster heads C
i and C
j, where i
≠
j, C
i
∈
S
i, and C
j
∈
S
j. Then s is designated as a relay to federate S
i and S
j. It is worth mentioning that there could be more than one sensor node, that is, s
1 and s
2, covered by at least two distinct cluster heads C
i and C
j. In this case, we need to know which sensor is closer to the C
o
M of S
P
G that consists of disjoint segments. Because once several segments merge into one through the gateway, the position of the gateway could possibly become the nearest point to the C
o
M that directly shortens the distances from all resulting disjoint segments to the C
o
M for the next stage restoration. Thus if d
(
s
1
,
C
o
M
)
<
d
(
s
2
,
C
o
M
), then s
1 is a proper choice for the gateway. Intuitively, the selection of this kind of sensor nodes instead of populating new ones can significantly reduce the number of disjoint segments that require federation. As shown in Figure 5(a), there are three clusters C
1, C
2, and C
3 with 1, 2, and 3 as their cluster heads, respectively. And the virtual backbone consists of three cluster heads and one relay; for example, each of 1, 2, and 3 is connected by the relay node 4. However, if sensor node 4 breaks down, then 1, 2, and 3 are disconnected. In Figure 5(b), there are two sensor nodes covered by three cluster headers; that is, sensor 5 is covered by 1 and 3, while sensor 6 is covered by 2 and 3. Therefore both sensors 5
∈
C
1 and 6
∈
C
3 are chosen to federate three cluster heads 1, 2, and 3.Figure 5
The selection of relay nodes.
(a)
(b)Figure4 shows how Voronoi partition based prerestoration federates disjoint segments with the sensor nodes (cluster members) covered by at least two cluster heads. There are 27 disjoint segments that required federation as shown in Figure 6(a). The black nodes denote the cluster members covered by at least two cluster heads (see Figure 6(b)). They are chosen as relays to joint the corresponding cluster heads such that the number of separated segments is reduced from 27 to 11, as shown in Figure 6(c).Figure 6
Voronoi partition based prerestoration (VP).
(a)
(b)
(c)


## 4.1.2. CoM Based Restoration Phase (CR)

After the prerestoration phase, we strive to further reduce the number of disjoint segments by establishing as many3
-
s
t
a
rs as possible. A 3
-
s
t
a
r is the structure that a relay is placed to joint three separated segments. There are still 11 disjoint segments left (see Figure 7(a)). We build three 3
-
s
t
a
rs such that the total number of disjoint segments is reduced by 6. Note that although we try to build 3
-
s
t
a
r as many as possible, if a deployed R
N can connect more than three separated segments, then all disjoint segments adjacent to this specific R
N can be federated. In fact, O
R
N
P requires less R
N, if more R
Ns adjacent to more than three separated segments are populated.Figure 7
CoM based restoration (CR).
(a)
(b)
(c)
(d)Once all3
-
s
t
a
rs are discovered, there will be no more segments that can be federated by deploying only one relay. Then we calculate the C
o
M of smallest polygon which includes all remaining segments, using the following formula [28], where c
x and c
y are coordinates of the C
o
M and x
i and y
i are coordinates of the segment S
i:(2)
Area
A
=
1
2
∑
i
=
0
n
-
1
x
i
y
i
+
1
-
x
i
+
1
y
i
,
c
x
=
1
6
A
∑
i
=
0
n
-
1
x
i
+
x
i
+
1
x
i
y
i
+
1
-
x
i
+
1
y
i
,
c
y
=
1
6
A
∑
i
=
0
n
-
1
y
i
+
y
i
+
1
x
i
y
i
+
1
-
x
i
+
1
y
i
.The rationale is that placingR
N
s toward the C
o
M will significantly decrease the number of R
N
s required for segment federation. Note that the CoMbased Restoration Phase works in rounds. In each round, every R
i first checks whether it can reach any R
N which may have been populated from another segment j, where i
≠
j. If there is no R
N reachable, then R
i places a relay node toward C
o
M. Note that each R
N placed by R
i will become new representative of S
i and every two R
Ns should be placed at r
c interval. It is worth mentioning that while two or more R
i
s meet, the corresponding S
i
s merge into a new segment and the closest R
i to the C
o
M is chosen as the representative of the new segment. Then the rest segments are excluded from the next round deployment. The whole phase will recursively deploy relays until all disjoint segments connect with each other. As shown in Figure 7(b), five segments R
1, R
2, R
3, R
4, and R
5 are deploying relays toward the C
o
M, where R
i
j denotes the relay deployed by R
i in the j
t
h round. It is clear that the relay R
2
2 can reach R
1
2, while R
3
2 is within the communication range of R
4
2 in the second round. Therefore R
2
2 and R
1
2 merge into one segment, so do R
3
2 and R
4
2. Compared with R
1
2 and R
4
2, R
2
2 and R
3
2 are closer to C
o
M. Hence R
2
2 will represent R
1 and R
2, while R
3
2 represents R
3 and R
4 for the next round deployment (see Figure 7(c)). Before relays reach the C
o
M, R
2
3, R
3
3, and R
5
3 are capable of communicating with each other; therefore all those 5 disjoint segments are connected in three rounds (see Figure 7(d)). And the resulting topology is shown in Figure 8. We will analyze the quality of the resulting topology in Section 5.Figure 8
The resulting topology throughO
R
N
P.


## 4.2. Distributed Implementation

This section describes howO
R
N
P is implemented in a distributed manner. First, we assume the area is partitioned into clusters through Voronoi partition before it is inflicted with major damage. Every cluster is considered as a segment with its cluster head chosen as the representative. The smallest polygon S
P
G on current set of representatives is calculated and the positions of B
R
s are broadcasted to all sensors as the initial status of the network. For simplicity, we call two cluster heads connecting with each other directly or through relay neighbors.While the networks are partitioned into disjoint segments due to the major damage, each segmentS
i will broadcast a federation request to all cluster head C
is within S
i. For each cluster head C
i
∈
S
i, communication with all its Voronoi neighbors is established. Once a cluster head C
H
i
∈
S
i fails to communicate with at least one of its Voronoi neighbors, C
H
i will try to broadcast gateway spotting message to all its cluster members. If some active cluster members of C
H
i can still contact with C
H
j of S
j, they will respond to federation acknowledgement messages. Then C
H
i randomly chooses one of those cluster members to play the role of gateway such that C
H
i and C
H
j are united.After the prerestoration phase, each segmentS
i chooses a sensor as its representative R
i and then broadcasts the location of R
i. Although each R
i does not know the locations of the other R
i
s, it assumes being a B
R and calculating the C
o
M of the S
P
G with respect to the positions of itself and all initial B
R
s that lost connections due to the damage. Then every R
i starts to place relays toward C
o
M and each R
N placed by R
i will become new representative of S
i. While two or more R
i
s meet, the corresponding S
i
s merge into a new segment and the closest R
i to the C
o
M is chosen as the representative of the new segment. Then the rest segments stop to deploy R
N
s toward the C
o
M. Each R
i will recursively deploy relays until all disjoint segments connect with each other. Note that, without the knowledge of precise positions of neighbor representatives, there is no way to directly build the 3
-
s
t
a
r. However the 3
-
s
t
a
rs still can be constructed during the R
N deployment.Intuitively, the implementation ofO
R
N
P in distributed way may result in more R
Ns populated. However, once R
Ns are deployed, any two disjoint segments can be united. And the communication in a W
S
N is restored.


## 5. Performance Evaluation

### 5.1. Theoretical Analysis

The correctness, complexity, and approximation ratio ofO
R
N
P are analysed in this subsection. First we give the following theorems and lemmas.Theorem 6.
If the areaA satisfies the global Voronoi coverage, then there exists at least one sensor node s
∈
C
i for each C
i
∈
A, such that s is covered by C
i, C
j, and C
k, where i
≠
j
≠
k.Proof.
Based on the definition of Voronoi Partition, the position of a Voronoi vertexv is the intersection point of three Voronoi edges which is shared by 3 pairs of Voronoi neighbors; that is, d
(
v
,
C
H
1
)
<
r
s, d
(
v
,
C
H
2
)
<
r
s, and d
(
v
,
C
H
3
)
<
r
s. As shown in Figure 5(a), sensor 4 is covered by three cluster heads 1, 2, and 3. Therefore the sensor s
∈
V
(
A
,
S
,
C
H
1
) located in the position of v is covered by C
H
1, C
H
2, and C
H
3.Theorem 7 (see [24]).
The centre of mass provides a(
2
-
2
/
n
)-approximation of the Euclidean median, where n denotes the number of points.We denote the optimal solution to the federation problem on a setS of disjoint segments O
p
t
S. The number of relays deployed by O
p
t is denoted by O
p
t
(
S
), while M
S
T
(
S
) denotes the number of relays placed along the edges of the M
S
T on set S. Furthermore, we call a M
S
T of the resulting topology through O
p
t
(
S
) an optimal M
S
T (O
M
S
T
(
S
)). The total length of edges in O
M
S
T
(
S
) and M
S
T
(
S
) is denoted by L
O
M
S
T
(
S
) and L
M
S
T
(
S
), respectively. Obviously, O
p
t
(
S
)
≤
M
S
T
(
S
) always holds which implies that L
O
M
S
T
(
S
)
≤
L
M
S
T
(
S
) due to R
N
s are populated at the interval of r
c.Theorem 8.
The number of relays deployed byO
R
N
P is less than 3 times that of O
p
t.Proof.
TheS
T
P
-
M
S
P is a 3-approximation algorithm. It first combines nodes that can directly merge each other into one group. Then for every three groups, it seeks a position S that is at most R units away and place a R
N in S to merge three groups into one. These steps are repeated until no such position could be found. Then each group is represented as a point p and an M
S
T is constructed based on a set P of point p, denoted by M
S
T
(
P
). Thus the number of relays populated equals the sum of the number of S and L
e
n
g
t
h
(
e
)
/
r
c
-
1 relays populated on each edge, e, of the computed M
S
T. Although O
R
N
P establishes 3
-
s
t
a
rs on a set S
p of disjoint segments as S
T
P
-
M
S
P, relays are deployed towards the C
o
M of the S
P
G formed by the set S
r of remaining disconnected segments instead of deploying R
N
s along the edges of M
S
T on S
r. Note that S
r
+
S
p
=
N, where N denotes the total number of disjoint segments.
For simplicity, we letL
O
M
S
T
(
S
r
)
=
L
O
M
S
T, L
M
S
T
(
S
r
)
=
L
M
S
T, L
C
(
S
r
)
=
L
C, and L
M
(
S
r
)
=
L
M. According to Definitions 4 and 5 and Theorem 7, we have L
M
≤
L
O
M
S
T
≤
L
M
S
T and L
C
<
2
·
L
M. Hence L
C
<
2
·
L
O
M
S
T
<
2
·
L
M
S
T that implies C
o
M
(
S
r
)
≤
2
·
O
p
t
(
S
r
), where C
o
M
(
S
r
) represent the number of relays placed by C
o
M based restoration.
Intuitively, the construction of3
-
s
t
a
rs is a 3-approximation algorithm on S
p of segments while relay nodes deployment toward C
o
M is a 2-approximation algorithm on S
p; thus, O
R
N
P is a 3-approximation algorithm.Theorem 9.
The complexity of relay nodes deployment toward theC
o
M is O
(
N
×
d
(
S
j
,
C
o
M
)
/
r
c
), where N
=
S and d
(
S
j
,
C
o
M
)
=
m
a
x
{
d
(
S
i
,
C
o
M
)
∣
S
i
∈
S
}.Proof.
TheC
o
M based restoration (C
P) places R
N toward C
o
M of S
P
G. More specifically, one R
N in a round for each S
i until all S
is are united. Since two R
Ns should be placed at the distance of r
c, intuitively the process takes at most d
(
S
j
,
C
o
M
)
/
r
c rounds to federate all disjoint segments, where d
(
S
j
,
C
o
M
)
=
m
a
x
{
d
(
S
i
,
C
o
M
)
∣
S
i
∈
S
}. Furthermore, there are N segments engaged in the process. Thus the complexity of relay nodes deployment toward the C
o
M is O
(
N
×
d
(
S
j
,
C
o
M
)
/
r
c
).Theorem 10.
The complexity of theO
R
N
P is O
(
N
3
), and N is the number of partitioned segments.Proof.
SinceO
R
N
P consists of two efficient algorithms, Voronoi partition based prerestoration (VP) (Algorithm 1) and C
o
M based restoration (C
P) (Algorithm 2), we analyse the complexity of them, respectively.
TheC
o
M based restoration works in two phases. In the first phase, it strives to construct 3
-
s
t
a
rs as many as possible. It is clear that the complexity of 3
-
s
t
a
r construction is O
(
N
3
). In the second phase, all remaining disjoint segments are populating relays towards the C
o
M. If two or more segments meet, the one closest to the CoM is chosen as a representative for the next round deployment. According to Theorem 9, the complexity of relay nodes deployment toward the C
o
M is O
(
N
×
d
(
S
j
,
C
o
M
)
/
r
c
), where N denotes the number of remaining disjoint segments and d
(
S
j
,
C
o
M
)
=
m
a
x
{
d
(
S
i
,
C
o
M
)
∣
S
i
∈
S
}. Therefore the complexity of C
o
M based restoration is O
(
N
3
).
In addition, theV
P partitions the network into Voronoi cells for relay nodes selection, the complexity of which is O
(
N
) [29].
So, the complexity of theO
R
N
P is O
(
N
3
).Algorithm 1:Voronoi partition based prerestoration.
Input:  n disjoint segments S
1
,
S
2
,
…
,
S
n.
Output: The federation of S
i, i
≤
n.
(1) Calculate the CoM of the SPG on the current set of separatedS
i.
(2)while (there exist at least a sensor s
j
∈
⋂
i
=
1
k
disk
(
CH
i
), where CH
i
∈
S
i) do
(3)   if  d
s
l
,
CoM
=
min
⁡
{
d
s
j
,
CoM
∣
s
j
∈
⋂
i
=
1
k
disk
(
CH
i
)
}  then
(4)Choose the sensor s
l as a relay to federate the segments from S
1 to S
k
(5)Update the list of disjoint segments.
(6)   end if
(7)end whileAlgorithm 2:CoM based restoration phase.
Input: The remaining l segments S
1
,
S
2
,
…
,
S
l.
Output: The federation of S
i, i
≤
l.
(1)while (there exists a position p such that d
(
p
,
S
i
)
<
r
S, d
(
p
,
S
j
)
<
r
S and d
(
p
,
S
k
)
<
r
S where i
,
j
,
k
≤
l) do
(2) Place a sensors as a relay to federate three segments S
i, S
j and S
k.
(3) Update the list of disjoint segments.
(4)end while
(5) Calculate the CoM of the SPG on the current set of separatedS
i.
(6)repeat
(7) EachS
i populates a relay r
i toward the CoM and let r
i represent S
i.
(8)if there are k  r
i
s that meet each other then
(9)  Choose the closestr
i to the CoM to represent k  r
i
s
(10)Update the list of disjoint segments.
(11)
end if
(12)until (All segments are united)


### 5.2. Validation Experiments

The simulation environment, performance metrics, and experimental results are discussed in this subsection.


#### 5.2.1. Performance Metrics and Baseline Approaches

In our experiments, a partitionedW
S
N with varying numbers of segments has been considered. In addition, the parameters that affect the network characteristics are listed as follows.Communication Range of Relays
(
R
). The performance of O
R
N
P is affected by R; basically longer distances between segments require more R
N
s placed.Number of Segments
(
N
s
). Intuitively, a large number of segments require a larger R
N count.We used the following two metrics to evaluate the overall performance ofO
R
N
P.Number of
R
N
s
(
N
r
n
). A better approximation algorithm for the optimization of R
N placement deploys less R
Ns than other strategies.Average Node Degree. The connectivity of the resulting topology is measured by the total number of links among neighboring R
N
s dividing N
r
n.We compare the performance ofO
R
N
P with the following three baseline approaches; the first algorithm is M
S
T
-
1
t
R
N that establish a minimum spanning tree based on single-tiered relay node placement [8]. S
T
P
-
M
S
P, the second one, is designed for solving a Steiner tree problem with a minimum number of Steiner points [27]. The third approach that maps the network into grid to find the least R
N count is called C
O
R
P [11].MST-1tRN. This algorithm strives to place the minimum number of R
Ns to establish an M
S
T and its approximation ratio is between 5 and 7. It is based on the assumption that the communication range R of a R
N is larger than that of a sensor, r. For the given segments, M
S
T
-
1
t
R
N first computes an M
S
T. Then it deploys R
N
s on each edge, e, of the M
S
T. Note that if r
≤
L
e
n
g
t
h
(
e
)
<
2
r, then one R
N should be placed right in the middle of the edge. 2
+
(
L
e
n
g
t
h
(
e
)
-
2
r
)
/
R
-
1
R
Ns are placed along the edge e, while L
e
n
g
t
h
(
e
) is larger than 2
r. It is worth mentioning that r is assumed to be equal to R in our simulation.S
T
P
-
M
S
P. It populates the minimum number of R
Ns to establish connectivity such that the transmission range of each node is at most R. As a 3-approximation algorithm, it first combines reachable nodes into one group. Then for each three components, it seeks a position S that is at most R units away and places a R
N in S to merge three components into one. By Repeating these steps, all three components that can be connected by one R
N are located. After that, each component is represented as a point P and an M
S
T is computed based on Ps. Intuitively, the number of populated R
Ns is the sum of the number of position Ss and L
e
n
g
t
h
(
e
)
/
R
-
1
R
Ns placed on each edge, e, of the M
S
T.C
O
R
P. This scheme models A
O
I as a grid of squares (cells) with equal sizes. Because all segments and relays are located at the center of cells, a segment or a relay can reach relays located at the center of neighboring cells. C
O
R
P works in rounds. In each round, it first identifies the border segments. Then for each border segment, it chooses a neighbor cell that is closest to the other border segments to place a R
N. If some segments are within each other’s communication range, among which a segment is chosen to represent all of them for the next round deployment, these steps are repeated until all segments are federated.Note that among three baseline approaches, onlyC
O
R
P maps the network into grid and it assumes all the segments and relays are located at the center of cells. However this assumption does not hold for some realistic applications. Since C
O
R
P works under this assumption, a few more relays are required to be added to make sure that all segments center at cells. According to the proposed algorithm for cell coverage in [9], for each cell with the side length R
/
2, there is one relay with communication range R needed to cover every sensor within the cell as a representative.In summary,S
T
P
-
M
S
P and M
S
T
-
1
t
R
N opt to form an M
S
T among the segments using the least possible R
N count. In addition, C
O
R
P tries to form a network topology that has the segments at the periphery. Meanwhile, O
R
N
P strives to reduce the number of segments needed to be connected before the fewest R
N
s are placed to federate the entire network. The characteristics of the generated topologies will be later elaborated through a detailed example. This section focuses on the number of R
N
s and the node degree.


#### 5.2.2. Simulation Results and Comparison of the Generated Topology Quality

Several configurations with different combinations ofR and N
s are simulated. We change the value of R from 50 to 300 with increment of 50, while N
s varies from 3 to 8. And all segments are randomly deployed in an area 1000
m
×
1000
m. For each individual experiment, we average the results over 20 runs.Number of RNs. Figure 9 gives a performance comparison of O
R
N
P with baseline approaches in terms of the R
N count through varying R and N
s. Seen in Figure 9(a), as R increases, N
r
n decreases generally. The performance of O
R
N
P is better than M
S
T
-
1
t
R
N and S
T
P
-
M
S
P for R varied from 50
m to 300
m that is attributed to how O
R
N
P populates R
N
s toward the C
o
M rather than having an M
S
T or a Steiner tree when the number of segments is small. Note that O
R
N
P seeks less R
N
s than C
O
R
P, because C
O
R
P requires extra relays to make the segments centered at cells.Figure 9
Comparison of RN count.
(a)
(b)Figure9(b) shows how N
s affects the performance of O
R
N
P in a partitioned network. As N
s grows, more R
N
s are populated for all approaches. When N
s is as large as 7, all segments are connected. Once N
s is larger than 7, the number of R
N
s drops because of the density of the segments population getting high. When the communication range R is fixed, O
R
N
P still performs better than baseline approaches with various N
s.It is worth mentioning that even if there are no eligible sensors chosen as gateways which implies the Voronoi partition based prerestoration does not work,O
R
N
P always seeks less R
Ns than C
O
R
P. The reason for that is although both of C
O
R
P and O
R
N
P deploy R
Ns toward the geometrical center of the convex of all disjoint segments, C
O
R
P is based on the assumption of every segment located at the center of a cell. In fact, this assumption does not hold in real applications. Therefore C
O
R
P requires an extra relay to make sure all sensors within the cell will be covered by the extra relay that results in more R
Ns count.Average Node Degree. Seen in Figures 10(a) and 10(b), a better topology with higher connectivity in terms of the average node degree is generated by O
R
N
P. As R grows, O
R
N
P tends to build a network with much higher average node degree, when R reaches 150
m as shown in Figure 10(a). The performance advantage of O
R
N
P is not affected by N
s as shown in Figure 10(b). To sum up, the initial positions of segments have significant influence on the average node degree of the topology by O
R
N
P instead of the number of segments.Figure 10
Comparison of average node degree.
(a)
(b)O
R
N
P populates R
N toward the C
o
M that results in a better topology compared to baseline approaches in terms of connectivity.Figure11 shows the comparison on the resulting topologies obtained by O
R
N
P and the minimum steiner tree (M
S
T) that S
T
P
-
M
S
P and M
S
T
-
1
t
R
N establish with the same setup. Table 1 presents the number of R
N
s deployed along the shortest path between every two segments in both topologies. We assume bidirectional data delivery between two segments use the same path, where A
0 denotes O
R
N
P as A
1 denotes M
S
T. For all segments, O
R
N
P deploys less R
N
s to forward data than S
T
P
-
M
S
P and M
S
T
-
1
t
R
N. Overall O
R
N
P requires 150 hops for delivery between all pairs of segments, which is 66 hops less than that in M
S
T. Therefore, R
Ns deployment of O
R
N
P results in a topology with less overall latency, while data are delivered between segments.Table 1
ORNP versus MST.
Hops
S
0
S
1
S
2
S
3
S
4
S
5
S
6
A
0
A
1
A
0
A
1
A
0
A
1
A
0
A
1
A
0
A
1
A
0
A
1
A
0
A
1
S
0
0
0
2
2
2
2
5
8
5
8
5
8
3
4
S
1
2
2
0
0
2
2
5
8
5
8
5
8
3
4
S
2
2
2
2
2
0
0
5
8
5
8
5
8
3
4
S
3
5
8
5
8
5
8
0
0
2
2
2
2
3
4
S
4
5
8
5
8
5
8
2
2
0
0
2
2
3
4
S
5
5
8
5
8
5
8
2
2
2
2
0
0
3
4
S
6
3
4
3
4
3
4
3
4
3
4
3
4
0
0
Sum
22
32
22
32
22
32
22
32
22
32
22
32
18
24
Average
3.1
4.5
3.1
4.5
3.1
4.5
3.1
4.5
3.1
4.5
3.1
4.5
2.5
3.4Figure 11
Comparison of resulting topology.
(a)
(b)


## 5.1. Theoretical Analysis

The correctness, complexity, and approximation ratio ofO
R
N
P are analysed in this subsection. First we give the following theorems and lemmas.Theorem 6.
If the areaA satisfies the global Voronoi coverage, then there exists at least one sensor node s
∈
C
i for each C
i
∈
A, such that s is covered by C
i, C
j, and C
k, where i
≠
j
≠
k.Proof.
Based on the definition of Voronoi Partition, the position of a Voronoi vertexv is the intersection point of three Voronoi edges which is shared by 3 pairs of Voronoi neighbors; that is, d
(
v
,
C
H
1
)
<
r
s, d
(
v
,
C
H
2
)
<
r
s, and d
(
v
,
C
H
3
)
<
r
s. As shown in Figure 5(a), sensor 4 is covered by three cluster heads 1, 2, and 3. Therefore the sensor s
∈
V
(
A
,
S
,
C
H
1
) located in the position of v is covered by C
H
1, C
H
2, and C
H
3.Theorem 7 (see [24]).
The centre of mass provides a(
2
-
2
/
n
)-approximation of the Euclidean median, where n denotes the number of points.We denote the optimal solution to the federation problem on a setS of disjoint segments O
p
t
S. The number of relays deployed by O
p
t is denoted by O
p
t
(
S
), while M
S
T
(
S
) denotes the number of relays placed along the edges of the M
S
T on set S. Furthermore, we call a M
S
T of the resulting topology through O
p
t
(
S
) an optimal M
S
T (O
M
S
T
(
S
)). The total length of edges in O
M
S
T
(
S
) and M
S
T
(
S
) is denoted by L
O
M
S
T
(
S
) and L
M
S
T
(
S
), respectively. Obviously, O
p
t
(
S
)
≤
M
S
T
(
S
) always holds which implies that L
O
M
S
T
(
S
)
≤
L
M
S
T
(
S
) due to R
N
s are populated at the interval of r
c.Theorem 8.
The number of relays deployed byO
R
N
P is less than 3 times that of O
p
t.Proof.
TheS
T
P
-
M
S
P is a 3-approximation algorithm. It first combines nodes that can directly merge each other into one group. Then for every three groups, it seeks a position S that is at most R units away and place a R
N in S to merge three groups into one. These steps are repeated until no such position could be found. Then each group is represented as a point p and an M
S
T is constructed based on a set P of point p, denoted by M
S
T
(
P
). Thus the number of relays populated equals the sum of the number of S and L
e
n
g
t
h
(
e
)
/
r
c
-
1 relays populated on each edge, e, of the computed M
S
T. Although O
R
N
P establishes 3
-
s
t
a
rs on a set S
p of disjoint segments as S
T
P
-
M
S
P, relays are deployed towards the C
o
M of the S
P
G formed by the set S
r of remaining disconnected segments instead of deploying R
N
s along the edges of M
S
T on S
r. Note that S
r
+
S
p
=
N, where N denotes the total number of disjoint segments.
For simplicity, we letL
O
M
S
T
(
S
r
)
=
L
O
M
S
T, L
M
S
T
(
S
r
)
=
L
M
S
T, L
C
(
S
r
)
=
L
C, and L
M
(
S
r
)
=
L
M. According to Definitions 4 and 5 and Theorem 7, we have L
M
≤
L
O
M
S
T
≤
L
M
S
T and L
C
<
2
·
L
M. Hence L
C
<
2
·
L
O
M
S
T
<
2
·
L
M
S
T that implies C
o
M
(
S
r
)
≤
2
·
O
p
t
(
S
r
), where C
o
M
(
S
r
) represent the number of relays placed by C
o
M based restoration.
Intuitively, the construction of3
-
s
t
a
rs is a 3-approximation algorithm on S
p of segments while relay nodes deployment toward C
o
M is a 2-approximation algorithm on S
p; thus, O
R
N
P is a 3-approximation algorithm.Theorem 9.
The complexity of relay nodes deployment toward theC
o
M is O
(
N
×
d
(
S
j
,
C
o
M
)
/
r
c
), where N
=
S and d
(
S
j
,
C
o
M
)
=
m
a
x
{
d
(
S
i
,
C
o
M
)
∣
S
i
∈
S
}.Proof.
TheC
o
M based restoration (C
P) places R
N toward C
o
M of S
P
G. More specifically, one R
N in a round for each S
i until all S
is are united. Since two R
Ns should be placed at the distance of r
c, intuitively the process takes at most d
(
S
j
,
C
o
M
)
/
r
c rounds to federate all disjoint segments, where d
(
S
j
,
C
o
M
)
=
m
a
x
{
d
(
S
i
,
C
o
M
)
∣
S
i
∈
S
}. Furthermore, there are N segments engaged in the process. Thus the complexity of relay nodes deployment toward the C
o
M is O
(
N
×
d
(
S
j
,
C
o
M
)
/
r
c
).Theorem 10.
The complexity of theO
R
N
P is O
(
N
3
), and N is the number of partitioned segments.Proof.
SinceO
R
N
P consists of two efficient algorithms, Voronoi partition based prerestoration (VP) (Algorithm 1) and C
o
M based restoration (C
P) (Algorithm 2), we analyse the complexity of them, respectively.
TheC
o
M based restoration works in two phases. In the first phase, it strives to construct 3
-
s
t
a
rs as many as possible. It is clear that the complexity of 3
-
s
t
a
r construction is O
(
N
3
). In the second phase, all remaining disjoint segments are populating relays towards the C
o
M. If two or more segments meet, the one closest to the CoM is chosen as a representative for the next round deployment. According to Theorem 9, the complexity of relay nodes deployment toward the C
o
M is O
(
N
×
d
(
S
j
,
C
o
M
)
/
r
c
), where N denotes the number of remaining disjoint segments and d
(
S
j
,
C
o
M
)
=
m
a
x
{
d
(
S
i
,
C
o
M
)
∣
S
i
∈
S
}. Therefore the complexity of C
o
M based restoration is O
(
N
3
).
In addition, theV
P partitions the network into Voronoi cells for relay nodes selection, the complexity of which is O
(
N
) [29].
So, the complexity of theO
R
N
P is O
(
N
3
).Algorithm 1:Voronoi partition based prerestoration.
Input:  n disjoint segments S
1
,
S
2
,
…
,
S
n.
Output: The federation of S
i, i
≤
n.
(1) Calculate the CoM of the SPG on the current set of separatedS
i.
(2)while (there exist at least a sensor s
j
∈
⋂
i
=
1
k
disk
(
CH
i
), where CH
i
∈
S
i) do
(3)   if  d
s
l
,
CoM
=
min
⁡
{
d
s
j
,
CoM
∣
s
j
∈
⋂
i
=
1
k
disk
(
CH
i
)
}  then
(4)Choose the sensor s
l as a relay to federate the segments from S
1 to S
k
(5)Update the list of disjoint segments.
(6)   end if
(7)end whileAlgorithm 2:CoM based restoration phase.
Input: The remaining l segments S
1
,
S
2
,
…
,
S
l.
Output: The federation of S
i, i
≤
l.
(1)while (there exists a position p such that d
(
p
,
S
i
)
<
r
S, d
(
p
,
S
j
)
<
r
S and d
(
p
,
S
k
)
<
r
S where i
,
j
,
k
≤
l) do
(2) Place a sensors as a relay to federate three segments S
i, S
j and S
k.
(3) Update the list of disjoint segments.
(4)end while
(5) Calculate the CoM of the SPG on the current set of separatedS
i.
(6)repeat
(7) EachS
i populates a relay r
i toward the CoM and let r
i represent S
i.
(8)if there are k  r
i
s that meet each other then
(9)  Choose the closestr
i to the CoM to represent k  r
i
s
(10)Update the list of disjoint segments.
(11)
end if
(12)until (All segments are united)


## 5.2. Validation Experiments

The simulation environment, performance metrics, and experimental results are discussed in this subsection.


### 5.2.1. Performance Metrics and Baseline Approaches

In our experiments, a partitionedW
S
N with varying numbers of segments has been considered. In addition, the parameters that affect the network characteristics are listed as follows.Communication Range of Relays
(
R
). The performance of O
R
N
P is affected by R; basically longer distances between segments require more R
N
s placed.Number of Segments
(
N
s
). Intuitively, a large number of segments require a larger R
N count.We used the following two metrics to evaluate the overall performance ofO
R
N
P.Number of
R
N
s
(
N
r
n
). A better approximation algorithm for the optimization of R
N placement deploys less R
Ns than other strategies.Average Node Degree. The connectivity of the resulting topology is measured by the total number of links among neighboring R
N
s dividing N
r
n.We compare the performance ofO
R
N
P with the following three baseline approaches; the first algorithm is M
S
T
-
1
t
R
N that establish a minimum spanning tree based on single-tiered relay node placement [8]. S
T
P
-
M
S
P, the second one, is designed for solving a Steiner tree problem with a minimum number of Steiner points [27]. The third approach that maps the network into grid to find the least R
N count is called C
O
R
P [11].MST-1tRN. This algorithm strives to place the minimum number of R
Ns to establish an M
S
T and its approximation ratio is between 5 and 7. It is based on the assumption that the communication range R of a R
N is larger than that of a sensor, r. For the given segments, M
S
T
-
1
t
R
N first computes an M
S
T. Then it deploys R
N
s on each edge, e, of the M
S
T. Note that if r
≤
L
e
n
g
t
h
(
e
)
<
2
r, then one R
N should be placed right in the middle of the edge. 2
+
(
L
e
n
g
t
h
(
e
)
-
2
r
)
/
R
-
1
R
Ns are placed along the edge e, while L
e
n
g
t
h
(
e
) is larger than 2
r. It is worth mentioning that r is assumed to be equal to R in our simulation.S
T
P
-
M
S
P. It populates the minimum number of R
Ns to establish connectivity such that the transmission range of each node is at most R. As a 3-approximation algorithm, it first combines reachable nodes into one group. Then for each three components, it seeks a position S that is at most R units away and places a R
N in S to merge three components into one. By Repeating these steps, all three components that can be connected by one R
N are located. After that, each component is represented as a point P and an M
S
T is computed based on Ps. Intuitively, the number of populated R
Ns is the sum of the number of position Ss and L
e
n
g
t
h
(
e
)
/
R
-
1
R
Ns placed on each edge, e, of the M
S
T.C
O
R
P. This scheme models A
O
I as a grid of squares (cells) with equal sizes. Because all segments and relays are located at the center of cells, a segment or a relay can reach relays located at the center of neighboring cells. C
O
R
P works in rounds. In each round, it first identifies the border segments. Then for each border segment, it chooses a neighbor cell that is closest to the other border segments to place a R
N. If some segments are within each other’s communication range, among which a segment is chosen to represent all of them for the next round deployment, these steps are repeated until all segments are federated.Note that among three baseline approaches, onlyC
O
R
P maps the network into grid and it assumes all the segments and relays are located at the center of cells. However this assumption does not hold for some realistic applications. Since C
O
R
P works under this assumption, a few more relays are required to be added to make sure that all segments center at cells. According to the proposed algorithm for cell coverage in [9], for each cell with the side length R
/
2, there is one relay with communication range R needed to cover every sensor within the cell as a representative.In summary,S
T
P
-
M
S
P and M
S
T
-
1
t
R
N opt to form an M
S
T among the segments using the least possible R
N count. In addition, C
O
R
P tries to form a network topology that has the segments at the periphery. Meanwhile, O
R
N
P strives to reduce the number of segments needed to be connected before the fewest R
N
s are placed to federate the entire network. The characteristics of the generated topologies will be later elaborated through a detailed example. This section focuses on the number of R
N
s and the node degree.


### 5.2.2. Simulation Results and Comparison of the Generated Topology Quality

Several configurations with different combinations ofR and N
s are simulated. We change the value of R from 50 to 300 with increment of 50, while N
s varies from 3 to 8. And all segments are randomly deployed in an area 1000
m
×
1000
m. For each individual experiment, we average the results over 20 runs.Number of RNs. Figure 9 gives a performance comparison of O
R
N
P with baseline approaches in terms of the R
N count through varying R and N
s. Seen in Figure 9(a), as R increases, N
r
n decreases generally. The performance of O
R
N
P is better than M
S
T
-
1
t
R
N and S
T
P
-
M
S
P for R varied from 50
m to 300
m that is attributed to how O
R
N
P populates R
N
s toward the C
o
M rather than having an M
S
T or a Steiner tree when the number of segments is small. Note that O
R
N
P seeks less R
N
s than C
O
R
P, because C
O
R
P requires extra relays to make the segments centered at cells.Figure 9
Comparison of RN count.
(a)
(b)Figure9(b) shows how N
s affects the performance of O
R
N
P in a partitioned network. As N
s grows, more R
N
s are populated for all approaches. When N
s is as large as 7, all segments are connected. Once N
s is larger than 7, the number of R
N
s drops because of the density of the segments population getting high. When the communication range R is fixed, O
R
N
P still performs better than baseline approaches with various N
s.It is worth mentioning that even if there are no eligible sensors chosen as gateways which implies the Voronoi partition based prerestoration does not work,O
R
N
P always seeks less R
Ns than C
O
R
P. The reason for that is although both of C
O
R
P and O
R
N
P deploy R
Ns toward the geometrical center of the convex of all disjoint segments, C
O
R
P is based on the assumption of every segment located at the center of a cell. In fact, this assumption does not hold in real applications. Therefore C
O
R
P requires an extra relay to make sure all sensors within the cell will be covered by the extra relay that results in more R
Ns count.Average Node Degree. Seen in Figures 10(a) and 10(b), a better topology with higher connectivity in terms of the average node degree is generated by O
R
N
P. As R grows, O
R
N
P tends to build a network with much higher average node degree, when R reaches 150
m as shown in Figure 10(a). The performance advantage of O
R
N
P is not affected by N
s as shown in Figure 10(b). To sum up, the initial positions of segments have significant influence on the average node degree of the topology by O
R
N
P instead of the number of segments.Figure 10
Comparison of average node degree.
(a)
(b)O
R
N
P populates R
N toward the C
o
M that results in a better topology compared to baseline approaches in terms of connectivity.Figure11 shows the comparison on the resulting topologies obtained by O
R
N
P and the minimum steiner tree (M
S
T) that S
T
P
-
M
S
P and M
S
T
-
1
t
R
N establish with the same setup. Table 1 presents the number of R
N
s deployed along the shortest path between every two segments in both topologies. We assume bidirectional data delivery between two segments use the same path, where A
0 denotes O
R
N
P as A
1 denotes M
S
T. For all segments, O
R
N
P deploys less R
N
s to forward data than S
T
P
-
M
S
P and M
S
T
-
1
t
R
N. Overall O
R
N
P requires 150 hops for delivery between all pairs of segments, which is 66 hops less than that in M
S
T. Therefore, R
Ns deployment of O
R
N
P results in a topology with less overall latency, while data are delivered between segments.Table 1
ORNP versus MST.
Hops
S
0
S
1
S
2
S
3
S
4
S
5
S
6
A
0
A
1
A
0
A
1
A
0
A
1
A
0
A
1
A
0
A
1
A
0
A
1
A
0
A
1
S
0
0
0
2
2
2
2
5
8
5
8
5
8
3
4
S
1
2
2
0
0
2
2
5
8
5
8
5
8
3
4
S
2
2
2
2
2
0
0
5
8
5
8
5
8
3
4
S
3
5
8
5
8
5
8
0
0
2
2
2
2
3
4
S
4
5
8
5
8
5
8
2
2
0
0
2
2
3
4
S
5
5
8
5
8
5
8
2
2
2
2
0
0
3
4
S
6
3
4
3
4
3
4
3
4
3
4
3
4
0
0
Sum
22
32
22
32
22
32
22
32
22
32
22
32
18
24
Average
3.1
4.5
3.1
4.5
3.1
4.5
3.1
4.5
3.1
4.5
3.1
4.5
2.5
3.4Figure 11
Comparison of resulting topology.
(a)
(b)


## 5.2.1. Performance Metrics and Baseline Approaches

In our experiments, a partitionedW
S
N with varying numbers of segments has been considered. In addition, the parameters that affect the network characteristics are listed as follows.Communication Range of Relays
(
R
). The performance of O
R
N
P is affected by R; basically longer distances between segments require more R
N
s placed.Number of Segments
(
N
s
). Intuitively, a large number of segments require a larger R
N count.We used the following two metrics to evaluate the overall performance ofO
R
N
P.Number of
R
N
s
(
N
r
n
). A better approximation algorithm for the optimization of R
N placement deploys less R
Ns than other strategies.Average Node Degree. The connectivity of the resulting topology is measured by the total number of links among neighboring R
N
s dividing N
r
n.We compare the performance ofO
R
N
P with the following three baseline approaches; the first algorithm is M
S
T
-
1
t
R
N that establish a minimum spanning tree based on single-tiered relay node placement [8]. S
T
P
-
M
S
P, the second one, is designed for solving a Steiner tree problem with a minimum number of Steiner points [27]. The third approach that maps the network into grid to find the least R
N count is called C
O
R
P [11].MST-1tRN. This algorithm strives to place the minimum number of R
Ns to establish an M
S
T and its approximation ratio is between 5 and 7. It is based on the assumption that the communication range R of a R
N is larger than that of a sensor, r. For the given segments, M
S
T
-
1
t
R
N first computes an M
S
T. Then it deploys R
N
s on each edge, e, of the M
S
T. Note that if r
≤
L
e
n
g
t
h
(
e
)
<
2
r, then one R
N should be placed right in the middle of the edge. 2
+
(
L
e
n
g
t
h
(
e
)
-
2
r
)
/
R
-
1
R
Ns are placed along the edge e, while L
e
n
g
t
h
(
e
) is larger than 2
r. It is worth mentioning that r is assumed to be equal to R in our simulation.S
T
P
-
M
S
P. It populates the minimum number of R
Ns to establish connectivity such that the transmission range of each node is at most R. As a 3-approximation algorithm, it first combines reachable nodes into one group. Then for each three components, it seeks a position S that is at most R units away and places a R
N in S to merge three components into one. By Repeating these steps, all three components that can be connected by one R
N are located. After that, each component is represented as a point P and an M
S
T is computed based on Ps. Intuitively, the number of populated R
Ns is the sum of the number of position Ss and L
e
n
g
t
h
(
e
)
/
R
-
1
R
Ns placed on each edge, e, of the M
S
T.C
O
R
P. This scheme models A
O
I as a grid of squares (cells) with equal sizes. Because all segments and relays are located at the center of cells, a segment or a relay can reach relays located at the center of neighboring cells. C
O
R
P works in rounds. In each round, it first identifies the border segments. Then for each border segment, it chooses a neighbor cell that is closest to the other border segments to place a R
N. If some segments are within each other’s communication range, among which a segment is chosen to represent all of them for the next round deployment, these steps are repeated until all segments are federated.Note that among three baseline approaches, onlyC
O
R
P maps the network into grid and it assumes all the segments and relays are located at the center of cells. However this assumption does not hold for some realistic applications. Since C
O
R
P works under this assumption, a few more relays are required to be added to make sure that all segments center at cells. According to the proposed algorithm for cell coverage in [9], for each cell with the side length R
/
2, there is one relay with communication range R needed to cover every sensor within the cell as a representative.In summary,S
T
P
-
M
S
P and M
S
T
-
1
t
R
N opt to form an M
S
T among the segments using the least possible R
N count. In addition, C
O
R
P tries to form a network topology that has the segments at the periphery. Meanwhile, O
R
N
P strives to reduce the number of segments needed to be connected before the fewest R
N
s are placed to federate the entire network. The characteristics of the generated topologies will be later elaborated through a detailed example. This section focuses on the number of R
N
s and the node degree.


## 5.2.2. Simulation Results and Comparison of the Generated Topology Quality

Several configurations with different combinations ofR and N
s are simulated. We change the value of R from 50 to 300 with increment of 50, while N
s varies from 3 to 8. And all segments are randomly deployed in an area 1000
m
×
1000
m. For each individual experiment, we average the results over 20 runs.Number of RNs. Figure 9 gives a performance comparison of O
R
N
P with baseline approaches in terms of the R
N count through varying R and N
s. Seen in Figure 9(a), as R increases, N
r
n decreases generally. The performance of O
R
N
P is better than M
S
T
-
1
t
R
N and S
T
P
-
M
S
P for R varied from 50
m to 300
m that is attributed to how O
R
N
P populates R
N
s toward the C
o
M rather than having an M
S
T or a Steiner tree when the number of segments is small. Note that O
R
N
P seeks less R
N
s than C
O
R
P, because C
O
R
P requires extra relays to make the segments centered at cells.Figure 9
Comparison of RN count.
(a)
(b)Figure9(b) shows how N
s affects the performance of O
R
N
P in a partitioned network. As N
s grows, more R
N
s are populated for all approaches. When N
s is as large as 7, all segments are connected. Once N
s is larger than 7, the number of R
N
s drops because of the density of the segments population getting high. When the communication range R is fixed, O
R
N
P still performs better than baseline approaches with various N
s.It is worth mentioning that even if there are no eligible sensors chosen as gateways which implies the Voronoi partition based prerestoration does not work,O
R
N
P always seeks less R
Ns than C
O
R
P. The reason for that is although both of C
O
R
P and O
R
N
P deploy R
Ns toward the geometrical center of the convex of all disjoint segments, C
O
R
P is based on the assumption of every segment located at the center of a cell. In fact, this assumption does not hold in real applications. Therefore C
O
R
P requires an extra relay to make sure all sensors within the cell will be covered by the extra relay that results in more R
Ns count.Average Node Degree. Seen in Figures 10(a) and 10(b), a better topology with higher connectivity in terms of the average node degree is generated by O
R
N
P. As R grows, O
R
N
P tends to build a network with much higher average node degree, when R reaches 150
m as shown in Figure 10(a). The performance advantage of O
R
N
P is not affected by N
s as shown in Figure 10(b). To sum up, the initial positions of segments have significant influence on the average node degree of the topology by O
R
N
P instead of the number of segments.Figure 10
Comparison of average node degree.
(a)
(b)O
R
N
P populates R
N toward the C
o
M that results in a better topology compared to baseline approaches in terms of connectivity.Figure11 shows the comparison on the resulting topologies obtained by O
R
N
P and the minimum steiner tree (M
S
T) that S
T
P
-
M
S
P and M
S
T
-
1
t
R
N establish with the same setup. Table 1 presents the number of R
N
s deployed along the shortest path between every two segments in both topologies. We assume bidirectional data delivery between two segments use the same path, where A
0 denotes O
R
N
P as A
1 denotes M
S
T. For all segments, O
R
N
P deploys less R
N
s to forward data than S
T
P
-
M
S
P and M
S
T
-
1
t
R
N. Overall O
R
N
P requires 150 hops for delivery between all pairs of segments, which is 66 hops less than that in M
S
T. Therefore, R
Ns deployment of O
R
N
P results in a topology with less overall latency, while data are delivered between segments.Table 1
ORNP versus MST.
Hops
S
0
S
1
S
2
S
3
S
4
S
5
S
6
A
0
A
1
A
0
A
1
A
0
A
1
A
0
A
1
A
0
A
1
A
0
A
1
A
0
A
1
S
0
0
0
2
2
2
2
5
8
5
8
5
8
3
4
S
1
2
2
0
0
2
2
5
8
5
8
5
8
3
4
S
2
2
2
2
2
0
0
5
8
5
8
5
8
3
4
S
3
5
8
5
8
5
8
0
0
2
2
2
2
3
4
S
4
5
8
5
8
5
8
2
2
0
0
2
2
3
4
S
5
5
8
5
8
5
8
2
2
2
2
0
0
3
4
S
6
3
4
3
4
3
4
3
4
3
4
3
4
0
0
Sum
22
32
22
32
22
32
22
32
22
32
22
32
18
24
Average
3.1
4.5
3.1
4.5
3.1
4.5
3.1
4.5
3.1
4.5
3.1
4.5
2.5
3.4Figure 11
Comparison of resulting topology.
(a)
(b)


## 6. Conclusion

In this paper, we have discussed the problem of federating disjoint segments in a partitionedW
S
N. The proposed solution O
R
N
P consists of two efficient algorithms, Voronoi partition based prerestoration and C
o
M based restoration, both of which collaborate to establish communication links between segments. The performance of O
R
N
P is analyzed mathematically and validated through simulation. The simulation results show O
R
N
P outperforms S
T
P
-
M
S
P, M
S
T
-
1
t
R
N, and C
O
R
P in terms of the relay count and the connectivity of resulted topology. It is worth mentioning that although O
R
N
P is a centralized algorithm, it can be implemented in a distributed manner. Thus it is applicable to all kinds of networks’ restoration and it does not rely on any particular W
S
N features.Here are some open issues that will be addressed in the future. The first one is that relay nodes deployment may consider the quality of service (Q
o
S) requirement instead of just establishing the connectivity only. For example, when massive data travel through those pathes with overall capacity lower than Q
o
S requirement, the relays on those pathes will drain their batteries that can directly cut off communications in the network. The second one is how to restore damaged networks with obstacles involved. Under some circumstance, relays cannot be placed on obstacles that are difficult to travel through by mobile relays. Therefore, the future work includes extending O
R
N
P to solve the network restoration problems with the Q
o
S requirement or the obstacle constrain.



---

*Source: 409085-2015-07-22.xml*