Node Self-Deployment Algorithm Based on an Uneven

sensors
Article
Node Self-Deployment Algorithm Based on an
Uneven Cluster with Radius Adjusting for
Underwater Sensor Networks
Peng Jiang 1,2, *, Yiming Xu 1,2 and Feng Wu 1,2
Received: 21 November 2015; Accepted: 7 January 2016; Published: 14 January 2016
Academic Editor: Jaime Lloret Mauri
1
2
*
College of Automation, Hangzhou Dianzi University, Hangzhou 310018, China; [email protected] (Y.X.);
[email protected] (F.W.)
Key Lab for IOT and Information Fusion Technology of Zhejiang, Hangzhou 310018, China
Correspondence: [email protected]; Tel.: +86-571-8691-9131 (ext. 512); Fax: +86-571-8687-8566
Abstract: Existing move-restricted node self-deployment algorithms are based on a fixed node
communication radius, evaluate the performance based on network coverage or the connectivity rate
and do not consider the number of nodes near the sink node and the energy consumption distribution
of the network topology, thereby degrading network reliability and the energy consumption balance.
Therefore, we propose a distributed underwater node self-deployment algorithm. First, each node
begins the uneven clustering based on the distance on the water surface. Each cluster head node
selects its next-hop node to synchronously construct a connected path to the sink node. Second, the
cluster head node adjusts its depth while maintaining the layout formed by the uneven clustering
and then adjusts the positions of in-cluster nodes. The algorithm originally considers the network
reliability and energy consumption balance during node deployment and considers the coverage
redundancy rate of all positions that a node may reach during the node position adjustment.
Simulation results show, compared to the connected dominating set (CDS) based depth computation
algorithm, that the proposed algorithm can increase the number of the nodes near the sink node
and improve network reliability while guaranteeing the network connectivity rate. Moreover, it can
balance energy consumption during network operation, further improve network coverage rate and
reduce energy consumption.
Keywords: node self-deployment; uneven clustering; radius adjusting; network reliability
1. Introduction and Related Works
Underwater wireless sensor networks (UWSNs) are network-monitoring systems consisting
of sensor nodes with the capabilities of perception, acoustic communication and computing in an
underwater environment in a self-organized manner; their function is to transmit sensed information to
a sink node for processing and analysis [1,2]. UWSNs can be applied to water environment monitoring,
underwater exploration, marine military defense and other fields [3–5]. This type of network has
become one of the most significant topics in the information field. Research on UWSNs mainly involves
node deployment, node localization, time synchronization, network protocol design, etc. [6–9]. Among
these topics, node deployment, as the foundation work for UWSNs design, has a direct effect on the
quality of target coverage and network service.
The node-deployment problem refers to moving sensor nodes to their positions in an artificial
or a self-organized manner to form a network topology that has special characteristics and can
benefit future works [10]. According to the mobility capability of nodes, node deployment can
be divided into static deployment, free-to-move node self-deployment and move-restricted node
Sensors 2016, 16, 98; doi:10.3390/s16010098
www.mdpi.com/journal/sensors
Sensors 2016, 16, 98
2 of 23
self-deployment [11–16]. Static deployment assumes that nodes do not have the capability to move and
need to use artificial methods to deploy [17]. It is usually a centralized algorithm, needing the a priori
environment information to calculate the pre-deployment positions; thus, it is inappropriate in many
UWSN cases, such as underwater resource exploration and marine military defense [4]. Free-to-move
node self-deployment assumes that nodes have the capability to move freely and can move in all
directions [2]. Move-restricted node self-deployment assumes that nodes have the capability to move
only vertically and can adjust their depth by themselves [18]. These two algorithms do not need any a
priori information, so they are applied more widely. However, the former, needing some autonomous
underwater vehicles to assist during the deployment process, leads to high energy and resource
costs, as well as high operation difficulty [16,19,20]. On the contrary, the latter, having developed a
simple underwater sensor node with vertical mobility by the method of filling in or drawing off water,
operates simply and availably [21,22]. Thus, move-restricted node self-deployment is more practical
than free-to-move node deployment.
On the one hand, a number of related studies have been conducted on the method of
move-restricted node self-deployment. Wu et al. [23] proposed a Voronoi-based depth-adjustment
scheme for UWSNs. To maximize the network coverage rate, this scheme compares the Voronoi
region area of every node in the same layer to determine the nodes that should go down to the next
layer. This process continues layer by layer until the nodes in the last layer have been determined.
However, this method uses a centralized manner to adjust node depth, which is difficult to achieve
in practice. Akkaya et al. [24] proposed a distributed self-deployment depth-adjustment algorithm
to adjust the depth of nodes after their initial deployment to reduce the coverage overlaps between
two neighboring nodes. Nodes continue to adjust their depth until the sensor coverage can no longer
be improved. Du et al. [25] proposed a coverage algorithm based on fixed-directional movement
for underwater sensor networks; this algorithm uses virtual forces to adjust a node to a position
with zero joint force exertion and achieves node intelligent deployment in an independent manner.
However, the aforementioned algorithms all view the network coverage rate as a standard and ignore
the effect of the network connectivity rate on the network quality of service. Senel et al. [26] proposed
the connected dominating set (CDS) based depth computation algorithm (CDA) on the basis of [24].
The algorithm initially constructs a connected backbone and then uses the dominator node on the
backbone to individually optimize the position of its non-dominators iteratively. The algorithm ensures
full-network connectivity while maximizing network coverage and reducing network deployment
consumption. However, similar to other algorithms, CDA considers fixed communication radius
nodes as deployment objects, which makes the nodes not be able to select an appropriate position
flexibly during the process of node depth adjustment. CDA also views the network coverage rate
or network connectivity rate as the criterion to deploy nodes and does not consider the number of
nodes deployed within a certain range around the sink node. Those two increase network energy
consumption and decrease network performance. In addition, the algorithm (i.e., CDA) considering
both the network coverage rate and the network connectivity rate, only considers the redundant
coverage rate of the location where the distance between the node and its next-hop node is Rc during
the process of optimizing the node position; thus, the network coverage rate can still be improved.
Furthermore, the energy consumption balance of the network formed by CDA performs poorly when
the number of nodes is relatively sparse. On the other hand, some studies [27,28] have also investigated
network cluster formation in wireless sensor networks (WSNs). Heinzelman et al. [29] proposed the
low-energy adaptive clustering hierarchy (LEACH) algorithm. This algorithm selects a cluster head
node randomly and completes clustering with the principle of the nearest neighbor. Its operation
is simple, but it cannot control the distribution of the cluster head node effectively. Mao et al. [30]
proposed an energy-efficient clustering scheme (EECS), which selects a cluster head node according to
the residual energy of the node and then finishes the network cluster. Compared to LEACH, EECS
selects the nodes with more residual energy preferentially as cluster head nodes, which reduces the
exchange frequency of the cluster head node and enhances the network stability. Tsai [31] proposed a
Sensors 2016, 16, 98
3 of 23
coverage-preserving routing protocol for WSNs. It selects the cluster head node based on the coverage
redundancy rate of the node and then finishes the network cluster. Consequently, the network operates
based on the cluster, and the great network coverage rate is maintained. In the method, a node having
a greater coverage redundancy rate has priority to become a cluster head node, which reduces the
node failure impact on the network coverage rate and slows down the drop speed of the network
coverage rate. Abbasi et al. [32] surveyed different cluster formation algorithms, analyzing their objects,
features, etc. Lloret et al. [33] proposed an algorithm that can structure the topology of different WSNs
to coexist in the same environment based on network clustering, where cluster head nodes manage
their own networks and have connections with other cluster head nodes, resulting in good network
connectivity and scalability of the whole parallel network structure. Yuan et al. [34] proposed an
uneven cluster mechanism. The mechanism divides the network into many clusters with different
sizes. Among them, a cluster, further from the sink node, has a greater size. On the contrary, a cluster,
closer to the sink node has a smaller size. The cluster distribution may balance the network energy
consumption and extend the network lifetime. Qiao et al. [35] proposed a chain structure-based uneven
cluster routing algorithm. It establishes a dynamic multiple-hop route considering the uneven cluster
mechanism for transmitting data, which can balance the energy consumption of nodes and prolong
the network lifetime.
To solve the aforementioned problems on move-restricted node self-deployment and according
to the aforementioned cluster formulation algorithm description, this study proposes the uneven
cluster and radius-adjusting self-deployment algorithm (URSA). After nodes are scattered on the
water surface randomly and uniformly, each node begins the uneven clustering process according to
the distance to the sink node. The cluster nodes then use the hybrid radius path-selection method
simultaneously to form a connected path to the sink node. In the depth-adjustment phase, the cluster
head nodes adjust their own depths according to the principle of maintaining the layout formed on the
water surface by the uneven clustering process. For each of its in-cluster nodes, the cluster head node
calculates some corresponding coverage redundancy rates (CRR) by assuming that the in-cluster node
is deployed on each position within the maximum communication radius of its basic nodes (i.e., nodes
that belong to the same cluster head node and that is the next-hop of the in-cluster node). The cluster
head node subsequently minimizes the hop number of the in-cluster node to optimize and adjust its
position. This algorithm forms a network layout of uneven distribution. In the distribution, the node
density and number of cluster head nodes of the area close to the sink node increase; the scale of the
cluster in that area becomes small. As a result, the number of nodes near the sink node then increases,
and the network reliability improves. The process of optimizing and adjusting the position of the
in-cluster nodes further improves the network coverage rate, decreases the hop of in-cluster nodes
and decreases the energy consumption of network deployment. The connected topological structure
formed during the process of node deployment (i.e., the cluster head node farther from the sink node
has a greater communication radius, and the cluster farther from the sink node has a larger scale) also
balances the energy consumption of network operation. The simulation results show that compared to
CDA having a good deployment performance, URSA can improve network reliability, balances and
reduces network energy consumption and improves the network coverage rate.
The rest of this paper is organized as follows. Section 2 describes the system model, assumptions
and definitions considered in this study. Section 3 presents the details of URSA. Section 4 analyzes the
complexity of URSA. Section 5 discusses the performance study and provides a detailed analysis of its
result. Finally, Section 6 concludes the paper and plans some future works.
2. Models and Definitions
2.1. Network Model
Assume that N sensor nodes are scattered on the water surface randomly and uniformly and are
floating on the water surface with buoys. Each node has communication, perception and mobility
Sensors 2016, 16, 98
4 of 23
capabilities (perpendicular to the horizontal direction), and the positions of the sensor nodes are
adjusted underwater by moving them to form a 3D coverage network. A typical UWSN architecture is
Sensors 2016, 16, 98
Sensors 2016, 16, 98
depicted
in Figure 1. In this model, the sink node communicates with the ground-monitoring station
by
radio;
nodes communicate
another
by acoustic
channels
and maintain
connectivity
ground-monitoring
station by with
radio;one
nodes
communicate
with
one another
by acoustic
channelswith
and
ground-monitoring station by radio; nodes communicate with one another by acoustic channels and
the
sink
node
via
oneor
multi-hop
paths.
Furthermore,
these
nodes
anchor
to
fix
their
position
once
maintain connectivity with the sink node via one- or multi-hop paths. Furthermore, these nodes
maintain connectivity with the sink node via one- or multi-hop paths. Furthermore, these nodes
they have
adjusted
their depth.
i-thdepth.
node by
si , and
thedenotes
corresponding
node by
set
anchor
to fix
their position
onceThis
theystudy
have denotes
adjustedthe
their
This
study
the i-th node
anchor to fix their position once they have adjusted their depth. This study denotes the i-th node by
S
=
{s
,
s
,
.
.
.
s
}.
The
following
assumptions
are
considered:
n
2 corresponding
si, and1 the
node set S = {s1, s2, … sn}. The following assumptions are considered:
si, and the corresponding node set S = {s1, s2, … sn}. The following assumptions are considered:
Figure 1.
1. Underwater
Underwater wireless
wireless sensor
sensor network
network (UWSN)
(UWSN) system
system model.
model.
Figure
Figure 1. Underwater wireless sensor network (UWSN) system model.
1.
1.
The Boolean perception model is adopted to describe the node sensing. If the sensing radius of
The
The Boolean
Boolean perception
perception model
model is adopted to describe the node sensing. If the sensing radius of
the node si is Rs, the space sensed by the node is a sphere whose center is the node location and
the
the node
node ssii isis RRss, ,the
thespace
spacesensed
sensedby
bythe
the node
node is
is aa sphere
sphere whose center is the node location and
Rs as the radius. An example is shown in Figure 2. The sphere with radius Rs is the sensed space
R
Rss as
asthe
theradius.
radius. An
An example
example is
is shown
shown in
in Figure
Figure 2. The
The sphere with radius Rss is the sensed space
of si. P1 is within the sphere and can be covered by si. On the contrary, P2 is beyond the sphere
of
of ssii.. PP11isiswithin
withinthe
thesphere
sphere and
and can
can be
be covered
covered by sii.. On
On the
the contrary,
contrary, P22 is beyond the sphere
and cannot be covered by si.
and
and cannot
cannot be
be covered
covered by sii..
si
si
P1
P1
P2
P2
RS
RS
Figure 2. 3D Boolean perception model.
Figure 2. 3D Boolean perception model.
2.
2.
2.
All nodes are isomorphic before deployment, but can adjust their transmission power by
All nodes are isomorphic before deployment, but can adjust their transmission power by
All nodes are
before deployment,
transmission
by
themselves,
i.e., isomorphic
the communication
radius Rc of but
the can
nodeadjust
can betheir
adjusted
with an power
adjusting
themselves, i.e., the communication radius Rc of the node can be adjusted with an adjusting
themselves,
i.e.,
the
communication
radius
R
of
the
node
can
be
adjusted
with
an
adjusting
c
precision of 1 m, but not more than the maximum communication radius Rc_Max determined
precision of 1 m, but not more than the maximum communication radius Rc_Max determined
precision
of 1 m,
but not
more
than the maximum
communication
Rc by
_Max
by
the physical
device.
The
communication
radius of
a node will be radius
changed
thedetermined
distance to
by the physical device. The communication radius of a node will be changed by the distance to
by
the
physical
device.
The
communication
radius
of
a
node
will
be
changed
by
the
distance
to
its next-hop node, i.e., the communication radius of a node is the rounded-down value
of the
its next-hop node, i.e., the communication radius of a node is the rounded-down value of the
its
next-hop
node,
i.e.,
the
communication
radius
of
a
node
is
the
rounded-down
value
of
the
distance between them when its next-hop node is determined.
distance between them when its next-hop node is determined.
distance
between
themone
when
its node.
next-hop
node is determined.
3. The
network
has only
sink
Its position
is fixed at the center of the water, and the
3. The network has only one sink node. Its position is fixed at the center of the water, and the
3. transmission
The networkpower
has only
one
sink
node.
Its
position
is fixed at the center of the water, and the
and energy can be infinite.
transmission power and energy can be infinite.
andposition
energy and
can be
4. Atransmission
node knowspower
its own
caninfinite.
determine the distance to the source according to the
4. A node knows its own position and can determine the distance to the source according to the
4. strength
A node knows
its own signal.
position and can determine the distance to the source according to the
of the received
strength of the received signal.
strength of the received signal.
2.2. Node Energy Consumption Model
2.2. Node Energy Consumption Model
2.2. Node Energy Consumption Model
Underwater sensor network nodes communicate with one another by acoustic signals.
Underwater sensor network nodes communicate with one another by acoustic signals.
Underwater
sensoruses
network
nodesconsumption
communicate
withofone
another sensor
by acoustic
signals.
Accordingly,
this study
an energy
model
underwater
network
data
Accordingly, this study uses an energy consumption model of underwater sensor network data
Accordingly, thiswith
study
an energy
model
of The
underwater
sensoracoustic
networksignal
data
communication
theuses
sound
wave consumption
as the medium
[36].
underwater
communication with the sound wave as the medium [36]. The underwater acoustic signal
attenuation model A(d) is given as follows:
attenuation model A(d) is given as follows:
A  d  sse , srec    d   sse , srec   d ssese , srecrec
A  d  sse , srec    d  sse , srec  
d s ,s
(1)
(1)
Equation (1) describes the energy attenuation when the data packet transmitting distance from
Equation (1) describes the energy attenuation when the data packet transmitting distance from
the source node sse to the destination node srec is d(sse, srec), where λ is the energy diffusion factor (the
the source node sse to the destination node srec is d(sse, srec), where λ is the energy diffusion factor (the
Sensors 2016, 16, 98
5 of 23
communication with the sound wave as the medium [36]. The underwater acoustic signal attenuation
model A(d) is given as follows:
A pd psse , srec qq “ dλ psse , srec q αdpsse ,srec q
(1)
Equation (1) describes the energy attenuation when the data packet transmitting distance from
the source node sse to the destination node srec is d(sse , srec ), where λ is the energy diffusion factor
(the cylindrical diffusion is one; the actual situation is 1.5; and the spherical diffusion is two). The
parameter α = 10a( Fr )/10 , where the absorption coefficient a(Fr ) is shown as follows:
apFr q “ 0.11
10´3 Fr2
10´3 Fr2
`
44
` 2.75 ˆ 10´7 Fr2 ` 3 ˆ 10´6
1 ` Fr2
4100 ` Fr2
(2)
where Fr is the carrier frequency, with the unit of kHz. The unit of the absorption coefficient is dB/m.
The energy for the nodes to send data Etx (d(sse ,srec )) is expressed as follows:
Etx pd psse , srec qq “ Pr ˆ Tp ˆ A pd psse , srec qq
(3)
where T p is the data transmission time and Pr is the minimum power packets that can be received.
2.3. Coverage Redundancy Rate
The coverage redundancy rate (CRR) of node si is defined as the ratio of the sensing overlapping
area of itself with other nodes within its one-hop communication radius and its sensing area [37]. γ(si )
is formulated as follows:
˜˜
¸
¸
volume
γpsi q “
Y
s j Pneighborpsi q
areaps j q Xareapsi q
(4)
volume pareapsi qq
where area(si ) represents the sensing area of node si .
The formulation in practical use is defined as follows:
¨
n ˚
ź
˚
˚1 ´
γpsi q “ 1 ´
˚
j “1 ˝
«
2
2
π
3
˜
d3 psi , s j q
R3s ´
8
¸
πdpsi , s j q
´
2
4
πR3s
3
˜
d2 psi , s j q
R2s ´
4
¸ff ˛
‹
‹
‹
‹
‚
(5)
where n is the number of neighbor nodes of node si and d(si ,s j ) is the distance between node si and its
neighbor node s j .
2.4. Network Coverage Rate
The network coverage rate, which reflects the coverage degree of an underwater sensor network
covering a monitoring area or targets, is also a primary standard to evaluate a node-deployment
algorithm. This standard is defined as the ratio of the effective area, the number of UWSN covers of
the targets to the entire area of the target region or all target numbers by using the Cor expression; the
formula is expressed as follows [26]:
V
Cor “ covered
(6)
Vregion
where Vcovered is the volume of the monitoring area covered by active nodes and Vregion is the volume
of the total monitoring area.
Sensors 2016, 16, 98
6 of 23
2.5. Network Connectivity Rate
The network connectivity rate is an important criterion of the service quality of sensor networks
and the premise of sensor network application. This criterion refers to the ratio of the number of nodes
that connect with the sink node by one or several hops to the total number of nodes by using the Cer
expression; the formulation is expressed as follows [26]:
Cer “
Nconnection
Nall
(7)
where Nconnection is the number of nodes connected to the sink node and Nall is the total number of
nodes in the UWSN.
2.6. Network Reliability
In UWSNs, network reliability reflects the effect on the network service quality when a node does
not function because of serious environmental and external factors or a lack of energy. From node
deployment, network reliability can be expressed by the redundancy of a network node. In this study,
network reliability can be expressed by the number of nodes within a certain range of the sink node
and the average number of their neighbor nodes. If the two indicators are great, the network reliability
is also great.
3. Algorithm Description and Process
3.1. Problem Description
Some scholars have already researched the node self-deployment problem for move-restricted
underwater sensor nodes. However, these algorithms are suitable only for the node deployment
of underwater sensor nodes with a fixed communication radius and only consider the criterion of
network coverage or the network connectivity rate without considering the network reliability problem
and the energy consumption balance of the network. In existing algorithms, adjacent nodes are far
away from one another as much as possible to minimize the overlapping area among themselves and
to maximize the network coverage rate. Consequently, the probability that nodes are deployed near
the sink node decreases to some degree, and the number of nodes within a certain range around the
sink node cannot be guaranteed. Even the use of a topology control method with a good effect cannot
improve network performance after deployment. In addition, in the process of adjusting the node
depth, algorithms only focus on the CRR of the position wherein the overlapping area of one node with
a specific node is the smallest and ignores the CRR of the position where the overlapping area is not
the smallest. Therefore, the network coverage rate should be improved. Moreover, existing algorithms
that consider the network connectivity rate (i.e., CDA) do not consider the balance of network energy
consumption during network operations. When the number of nodes is dense, the network formed by
CDA can modify the network topology by a routing protocol to achieve energy consumption balance.
By contrast, when the number of nodes is relatively sparse, the network formed by CDA may have no
other connected topology or ineffectively route protocols because the number of nodes is insufficient.
At this time, an operated network can only use the topological structure formed during the process of
node deployment. Furthermore, the energy consumption balance of the topological structure performs
badly, i.e., the energy consumption balance of the network formed by CDA is poor when the number
of nodes is relatively sparse. Therefore, this study defines the following problem: “After N nodes are
randomly and uniformly scattered on the water surface of the target area, a node self-deployment
algorithm with an adjustable communication radius is designed to adjust the depth of nodes, improve
network reliability, balance, reduce energy consumption, and maximize network coverage on the
premise of maintaining network connectivity”.
To solve the defined problem, this study proposes a distributed self-deployment algorithm for
underwater sensor nodes (i.e., URSA). After all nodes are scattered on the water surface randomly
Sensors 2016, 16, 98
7 of 23
and uniformly, each node firstly begins the process of uneven clustering according to the distance
to the sink node. This process forms a layout wherein the number of cluster head nodes in an area
close to the sink node becomes large and the scale of the cluster in that area becomes small. Second,
every cluster head node uses the hybrid radius path-selection method to select its next-hop node
concurrently according to the principle of minimizing the energy consumption of sending a message
from itself to the sink node. The cluster head node then forms a connected path to the sink node. The
feature of the connected path is that if the cluster head node is far away from the sink node, its path
to the next-hop node is long, thus ensuring network connectivity and saving and balancing energy
consumption in network operations. Third, each cluster begins to adjust the depth in an iterative
manner, and the corresponding cluster head node selects its own adjusting position with the principle
that the distance between itself and its next-hop node after adjustment is 1 m longer than that before
adjustment. This process retains the layout of the uneven cluster (i.e., the number of cluster head nodes
in an area close to the sink node increases, whereas the communication radius of the cluster head node
in that area decreases), increases the node number within the scope of the sink node, improves the
network reliability and balances network energy consumption. Finally, for each in-cluster node, the
cluster head node calculates some corresponding CRR rates by supposing that the in-cluster node
is deployed on each position within the maximum communication radius of its basic nodes and
selects the best position for every in-cluster node by the priority of the hop of the basic node of the
in-cluster node on the basis of decreasing the network coverage rate. This process decreases the hop
number of the in-cluster nodes, increases the chances of the nodes near the sink node, decreases the
energy consumption of deployment and improves the total coverage rate. The detailed description is
presented as follows.
3.2. Algorithm Description
URSA is divided into the following four steps: (1) uneven clustering [38]; (2) constructing a
connected path by the hybrid radius path-selection method; (3) the cluster head node calculating the
depth of each node in a cluster; and (4) finding a next cluster needing to be adjusted. The detailed
steps of the algorithm are as follows.
3.2.1. Uneven Clustering
After nodes are scattered on the water surface randomly and uniformly, the sink node broadcasts
to all nodes. Every node si calculates the distance to the sink node d(si ,Sink) according to the strength
of the signal it receives and sets its probability threshold Th (si ) by Equation (8). Every node si then
generates a random number r(si ) from zero to one and compares this number to Th (si ). If r(si ) < Th (si ),
node si becomes a provisional cluster head node and joins the set of provisional cluster head nodes
P (P = {p1 ,p2 , . . . pn1 } = {si | r(si ) < Th (si ), si S}, where pi represents the i-th provisional cluster head
node); otherwise, node si exits from the cluster competition and transforms into sleep mode.
$
’
dpsi , Sinkq ă dhot
& Th1
Th psi q “
(8)
Th2 dhot ď dpsi , Sinkq ă 2dhot
’
% T
dpsi , Sinkq ě 2dhot
h3
where Th1 , Th2 and Th3 are the probability threshold parameters, and Th1 > Th2 > Th3 . dhot represents
the radius of the hot-spot area. Equation (8) represents that if a node is close to the sink node, its Th is
great. In other words, the nodes near the sink node have a great probability to become a provisional
cluster head node, whose aim is to increase the number of the final cluster head nodes near the sink
node as much as possible.
Every provisional cluster head node pi defines its own competition radius R(pi ) by Equation (9)
and broadcasts its status message (node ID, d(pi ,Sink), R(pi )) with the communication radius R0 .
After a provisional cluster head node pi receives the message, it calculates the distance d(pi , p j ) to
Sensors 2016, 16, 98
8 of 23
the signal-sending node p j and defines the set of its own competition neighbor nodes SCH (pi ) by
Equation (10), namely the provisional cluster head node within its competition radius R(pi ).
˙
ˆ
dmax ´ dppi , Sinkq
R0
Rppi q “ 1 ´ c
dmax
(9)
where dmax is the farthest distance between any points in the water surface of the target area and the
sink node; c is the proportional constant; R0 is the maximum competition radius.
ˇ
`
˘
(
SCH ppi q “ p j ˇdppi , p j q ď max Rppi q, Rpp j q , dppi , p j q ď R0
(10)
In the stage of cluster head competition, all provisional cluster head nodes set the same waiting
time (Time). During the Time, each provisional cluster head node pi compares its distance to the sink
Sensors
2016,the
16, 98nodes in S
node
with
CH (pi ) and determines whether it will become a final cluster head node
(i.e.,node
cluster
head
node)
f
(f i) and
is the
m-th element in the set of the final cluster head node, namely the
with the nodes in SmCH(pm
determines whether it will become a final cluster head node
m-th(i.e.,
final
cluster
according
to the
following
conditions:
cluster
head head
node) fnode)
m (fm is the
m-th element
in the
set of the final
cluster head node, namely the
Sensors
2016, cluster
16, 98
m-th final
head node) according to the following conditions:
d(pi ,Sink) ď min(d(p j ,Sink)), p j SCH (pi ): pi becomes fm and broadcasts the “been cluster head”
(1)
d(p
i,Sink) ≤ min(d(pj,Sink)), pj ϵ SCH(pi): pi becomes fm and broadcasts the “been cluster head”
node
with
the
in SCH(pi) and determines whether it will become a final cluster head node
message
Mnodes
CH to notify its competition neighbor nodes with the communication radius of R0 .
message
MCHnode)
to notify
neighbor
nodes
with
communication
radius
of R0. the
(i.e., cluster head
fm (fmitsiscompetition
the m-th element
in the
set of
the the
final
cluster head node,
namely
(2) Sensors
d(pfinal
,Sink)
> min(d(p
p j to the
SCH
(pi ): pi conditions:
waits for messages from its competition neighbor
i2016,
j ,Sink)),
16,
98
m-th
cluster
head
node)
according
following
(2) d(pi,Sink) > min(d(pj,Sink)), pj ϵ SCH(pi): pi waits for messages from its competition neighbor nodes
nodes and takes the following corresponding operation according to the messages it receives:
(1)
andi,Sink)
takes the
following
corresponding
according
to the messages
it receives:
(1)
min(d(p
j ϵ SCH(pi): operation
pi becomes
fm itand
“been
cluster
noded(p
with the≤nodes
inj,Sink)),
SCH(pi) pand
determines
whether
willbroadcasts
become a the
final
cluster
headhead”
node
message
M
CHnode)
toM
notify
itsiscompetition
neighbor
nodes
with
the
communication
radius
of cluster
R0. the p ,
(i.e., cluster
head
f
mbroadcasted
(f
m
the
m-th
element
in
the
set
of
the
final
cluster
head
node,
namely

pipreceives
CH
by
one
of
its
competition
neighbor
node
p
j
,
gives
up
the
receives
M
broadcasted
by
one
of
its
competition
neighbor
node
CH
i
j
m-th d(p
final
cluster
head node)
according
the
following
conditions:
(2)
i,Sink)
>competition
min(d(p
j,Sink)),
pjbroadcasts
ϵ SCH(pto
i): p
i the
waits
for competition”
messages
from
its competition
neighbor
nodes
head
and
“exit
message
MGC. It then
converts
to
gives up the
cluster head competition and broadcasts the “exit competition” message MGC . It then
takes
following
corresponding
according
to the messages
it receives:
(1) and
d(pi,Sink)
≤the
min(d(p
pmode.
j ϵ SCH(pi): operation
pi becomes
fm and broadcasts
the “been
cluster head”
sleep
mode.
converts
toj,Sink)),
sleep

p
i receives
M
GC broadcasted
by
one
of
its
competition
neighbor
node
p
j, removes
message
M
CH
to
notify
its
competition
neighbor
nodes
with
the
communication
radius
ofnode
R0.p p, j removes node p
 pipreceives
MCHM
broadcasted
by one ofby
its competition
neighbor node neighbor
pj, gives up node
the
cluster
one of its competition
GC broadcasted
i receives
j
j
from
S
CH(pi), then
compares
the
distance
to
the
sink
node
with
its
updating
competition
(2) d(pi,Sink)
>
min(d(p
j
,Sink)),
p
j
ϵ
S
CH
(p
i
):
p
i
waits
for
messages
from
its
competition
neighbor
nodes
head
competition
the the
“exitdistance
competition”
message
GC. It with
then converts
to
from
SCH (pi ), and
thenbroadcasts
compares
to the
sink M
node
its updating
competition
neighbor
nodes
andcorresponding
continues
the preceding
operations.to operations.
and takes
the
following
operation
according
the messages it receives:
sleep
mode.
neighbor
nodes
and continues
the preceding
 p
pii cannot
receive
any message in Time and becomes fm.

receives
M
GC broadcasted by one of its competition neighbor node pj, removes node pj
 pipreceives
MCH
broadcasted
one of itsincompetition
node
receive
any by
message
Time andneighbor
becomes
fm .pj, gives up the cluster
i cannot
Sis
CHover,
(pi), then
compares
the distance
tocompetition”
the sink the
node
withcluster
itsMupdating
competition
Afterfrom
Timecompetition
every
cluster
head
node
fm broadcasts
“elect
(the
head
and
broadcasts
the “exit
message
GC.head”
It thenmessage
converts
to
IDAfter
of fm) Time
with
the
maximum
communication
radius
R
c_Max
to
stimulate
the
non-cluster
head
nodes
is
over,
every
cluster
head
node
f
broadcasts
the
“elect
cluster
head”
message (the ID
neighbor
nodes
and
continues
the
preceding
operations.
m
sleep mode.
one
of maximum
the clusters
and
the cluster
head
node
to save
the
information
of its the
neighbor
cluster head nodes to

p
i cannot
receive
any
message
in
Time
and
becomes
f
m
.
of fmto) join
with
the
communication
radius
R
_Max
to
stimulate
non-cluster
c
 pi receives MGC broadcasted by one of its competition
neighbor node pj, removes node pj
head nodes. When the cluster head node fj receives that message, it saves the distance d(fm,fj) and
joinplaces
oneAfter
of
the
clusters
and
the
cluster
head
node
to
save
the
information
of
its neighbor
cluster head
from
S
CHover,
(p
i), then
compares
the
distance
to
the
sink
node
with
its updating
competition
Time
is
every
cluster
head
node
f
m
broadcasts
the
head”
message
(the
the ID of fm into the set of its neighbor cluster head nodes N“elect
CH(fj); cluster
when
the
non-cluster
head
nodes.
the
head
nodethe
f j receives
message,
itthe
saves
distance
d(fm ,f j ) and places
ID
ofWhen
fm) with
the
maximum
radius Rto
cthat
_Max
to cluster
stimulate
non-cluster
headof
nodes
neighbor
nodes and
continues
preceding
operations.
node
receives
thatcluster
message,
itcommunication
calculates
the
distance
every
head
who
is the
the source
that
of
thethe
clusters
and
the
cluster
nodebecomes
to
save
information
its neighbor
cluster
message
replies
withof
the
message
(non-cluster
head
ID)
nearest
cluster
head
the to
IDjoin
of
fmand
set
its“join”
neighbor
cluster
head
nodes
(f jits
);ofwhen
the
non-cluster
head node
 one
piinto
cannot
receive
any
message
in head
Time
and
fthe
m. nodeN
CHto
head
nodes.
When
the cluster
head that
nodedofj not
receives
that
message,
itthey
saves
the distance
d(f
m,fj) and
node.
For
the
non-cluster
head
nodes
receive
any
message,
broadcast
with
R
c_Max
and
receivesAfter
thatTime
message,
itevery
calculates
the distance
to everythe
cluster
head who
ismessage
the source
is
head
node
fto
m broadcasts
head”
(the of that message
places
the ID of into
fm over,
into
set cluster
ofcluster
its neighbor
cluster
head
nodes
N“elect
CH(f
j); cluster
when nodes.
the
non-cluster
head
join themselves
thethe
nearest
according
the
reply
of their
neighbor
They transmit
andID
replies
with
the
“join”
message
(non-cluster
head
node
ID)
to
its
nearest
cluster
of
f
m
)
with
the
maximum
communication
radius
R
c
_Max
to
stimulate
the
non-cluster
head
nodes
node
receives
that message,
it calculates
theby
distance
to every
cluster
head
who
is the source
of that head node. For
the “join”
message
to the cluster
head node
using the
neighbor
node
as the
intermediate
node.
to
join
one
of
the
clusters
and
the
cluster
head
node
to
save
the
information
of
its
neighbor
cluster
the message
non-cluster
head
nodes
thatisdo
notinreceive
message,
with
and replies
the “join”
message
(non-cluster
head
node
to
its broadcast
nearest cluster
headRc _Max and join
The flow
chart
ofwith
Section
3.2.1
shown
Figure 3any
with
node
si asID)
anthey
example.
head
When
cluster
head that
nodedofj not
receives
itthey
saves
the distance
d(f
m,fj) and
node. nodes.
For the
non-cluster
head cluster
nodes
receive
any
message,
broadcast
with Rnodes.
c_Max
and
themselves
into
the the
nearest
according
tothat
themessage,
reply of
their
neighbor
They transmit the
places
the ID of into
fm into
set ofcluster
its neighbor
cluster
head
NCH(f
j); when nodes.
the non-cluster
head
Node
calculates
d(snodes
,Sink),sets
join themselves
thethe
nearest
according
tos the
reply
of their
neighbor
They transmit
T (s ) and produces
random
“join”
message
to
the
cluster
head
node
by
using
the
neighbor
node
as
the
intermediate
node.
node
receives
that message,
it calculates
theby
distance
tor(s )every
head
who
is the source
of that
number
from
0 to 1 cluster
the “join”
message
to the cluster
head node
using
the
neighbor
node
as the
intermediate
node.
TheThe
flow
of
Section
3.2.1
is shown
in Figure
3node
with
node
as an cluster
example.
message
and chart
replies
with
the “join”
head
to
itssinearest
head
flow
chart of
Section
3.2.1
ismessage
shown
in(non-cluster
Figure
3 with
node
si asID)
an
example.
R(s ) < T (s )?
node. For the non-cluster head nodes that do not receive any message, they broadcast with Rc_Max and
Y
Node
calculates
d(s ,Sink),sets
join themselves into the nearest cluster according
tos the
reply
of their neighbor nodes. They transmit
Node s becomes
p ,then
it calculates
T (s ) and
produces
random R(p ) and
S (p ),and setsnumber
constant
Time
and
actual
= 0;
r(s ) from
0 to
1 time Anode
the “join” message to the cluster head node by using the
neighbor
as the intermediate node.
The flow chart of Section 3.2.1 is shown in FigureAt3= Atwith
node
s
i as an example.
+1
i
h
i
i
i
i
h
i
i
CH
i
h
i
i
i
i
i
t
i
R(si) < Th(si)?
Y
Node si calculates d(si,Sink),sets
d(pi,Sink)
< min(d(p
Node si becomes
pi,then
it calculates
j,Sink)), R(pi) and
Th(si) and
random
pjproduces
ϵSCH(pi)and
SCH(pi),and setsnumber
constant
actual time At = 0;
r(sTime
i) from 0 to 1
Y
N
Y
Broadcast MEC with
communication radius R0
Y
The node gives up competition
and turns into sleep mode until
the cluster head selecting ends
Broadcast MEC with
communication radius R0
non-cluster-head nodes selects
the cluster nearest itself, after
the process of cluster head
competition ends
Y
The node gives up competition
and turns into sleep mode until
the cluster head selecting ends
Broadcast MEC with
communication radius R0
non-cluster-head nodes selects
the cluster nearest itself, after
the process of cluster head
competition ends
Ati)=<AtTh+
R(s
(si1)?
Receive MCH from its competition
neighbor node pj or not
Y
d(pi,Sink)
< min(d(p
Node si becomes
pi,then
it calculates
j,Sink)), R(pi) and
N
pjϵSTime
CH(pi)and
SCH(pi),and sets constant
actual time At = 0;
Y
N
Receive MEC from its competition
neighbor node pj or not
At = At + 1
N
Receive MCH from its competition
neighbor node pY
j or not
d(premove
i,Sink) <pjmin(d(p
from S j,Sink)),
(p )
N i
pjϵSCH(pi) CH
Y
N
Receive MEC from its competition
neighbor
pj or not
At >node
Time?
Receive MCH from its competition
Y node pj or not
neighbor
Y
pi becomes the final cluster head fm
remove pj from SCH(pi)
N
End
Receive MEC from its competition
neighbor
pj or not
At >node
Time?
Figure 3. Flow chart ofYSection 3.2.1.
Y
N
N
N
N
node receives that message, it calculates the distance to every cluster head who is the source of that
message and replies with the “join” message (non-cluster head node ID) to its nearest cluster head
node. For the non-cluster head nodes that do not receive any message, they broadcast with Rc_Max and
join themselves into the nearest cluster according to the reply of their neighbor nodes. They transmit
the “join” message to the cluster head node by using the neighbor node as the intermediate node.
Sensors 2016, 16, 98
9 of 23
The flow chart of Section 3.2.1 is shown in Figure 3 with node si as an example.
Node si calculates d(si,Sink),sets
Th(si) and produces random
number r(si) from 0 to 1
R(si) < Th(si)?
Y
Node si becomes pi,then it calculates R(pi) and
SCH(pi),and sets constant Time and actual time At = 0;
At = At + 1
d(pi,Sink) < min(d(pj,Sink)),
pjϵSCH(pi)
Y
N
Receive MCH from its competition
neighbor node pj or not
Y
N
Broadcast MEC with
communication radius R0
Receive MEC from its competition
neighbor node pj or not
N
Y
The node gives up competition
and turns into sleep mode until
the cluster head selecting ends
remove pj from SCH(pi)
At > Time?
non-cluster-head nodes selects
the cluster nearest itself, after
the process of cluster head
competition ends
N
Y
pi becomes the final cluster head fm
End
Figure3.3. Flow
Flow chart
chartof
ofSection
Section3.2.1.
3.2.1.
Figure
8
3.2.2. Constructing a Connected Path by the Hybrid Radius Path-Selection Method
When every cluster head node fm does not receive the reply of non-cluster head nodes over a
period of time, fm will construct a connected path to the sink node. fm first compares d(fm ,Sink) to the
radius of the hot-spot area dhot . If d(fm ,Sink) < dhot , fm connects with the sink node directly; otherwise,
fi will find its next-hop node from the set of its neighbor cluster head nodes NCH (fm ). The detailed
process is expressed as follows:
(1)
fm selects the cluster head nodes in the forward direction (i.e., the direction close to the sink node)
from the nodes in NCH (fm ) by Equation (11). These nodes are denoted by the cluster head nodes
of the forward direction of fm BCH (fm ):
ˇ
(
BCH p f m q “ f j ˇdp f j , Sinkq ă dp f m , Sinkq, f j P NCH p f m q
(2)
(3)
(4)
fm selects the k nodes nearest to itself from the nodes in BCH (fm ) as the set of alternative next-hop
nodes FCH (fm ). If the number of the nodes in BCH (fm ) is smaller than k, FCH (fm ) = BCH (fm ). If the
node number is zero, Step (3) is performed; otherwise, Step (4) is performed.
fm selects k non-cluster head nodes whose cluster head nodes are not fm in the forward direction
within its Rc _Max as the set of alternative next-hop nodes FCH (fm ). This process guarantees that
the communication radius of fm is greater than the communication radius of its next-hop node.
fm selects a node s j from the nodes in FCH (fm ) by minimizing the sum of the distance to fm and
the distance to the sink node as its next-hop node next(fm ):
ˇ
`
˘
(
nextp f m q “ s j ˇmin dp f m , s j q ` dps j , Sinkq , s j P FCH p f m q
(5)
(11)
(12)
If next(fm ) is a non-cluster head node, the node becomes a cluster head node and finds its next-hop
node according to the preceding process. Otherwise, the entire process ends.
Sensors 2016, 16, 98
10 of 23
3.2.3. Cluster Head Node Calculating the Depth of Each Node in a Cluster
When one cluster head node fm receives the “calculate diving depth” message MCD , fm optimizes
its own position and the position of its in-cluster nodes. After the depths of all nodes in its cluster are
calculated, each node dives to its position synchronously.
fm initially calculates its own diving position according to the principle of maintaining and
adjusting the layout on the water surface formed by uneven clustering. The rules are as follows:
(1)
fm is a common node (having both the last-hop node and the next-hop node). If the communication
radius of fm on the water surface RU A (fm ) plus one is greater than the adjusted communication
radius R A (f j ) of its next-hop node f j , i.e., fm satisfies the feature of the uneven clustering after it
adjusts its depth, fm regards its adjusted communication radius as RU A (fm ) + 1 and calculates
its diving depth; otherwise, fm regards the adjusted communication radius of its next-hop node
R A (f j ) plus one as its adjusted communication radius and calculates its diving depth. This process
of calculating the diving depth of fm dep(fm ) is formulated as follows:
#
depp f m q “ depp f j q `
(2)
b`
a
2RU A p f m q ` 1
˘2
R A p f j q ` 1 ´ pRU A p f m qq2
RU A p f m q ` 1 ą R A p f j q
RU A p f m q ` 1 ď RU A p f j q
(13)
where RU A (fm ) is the communication radius of fm before it adjusts its depth. In other words,
RU A (fm ) represents the distance between itself and its next-hop node on the water surface. R A (fm )
is the communication radius of fm after it adjusts its depth. In other words, R A (fm ) represents the
distance between itself and its next-hop node after fm adjusts its depth.
If fm is a leaf node (having only next-hop nodes), it can reduce the CRR with its last-hop node by
increasing its own depth. fm determines its depth dep(fm ) by Equation (14) on the basis of whether
it is the one-hop node of the sink node.
$ b
d2 ´ d2 p f m , Sinkq
` ˘ &
b hot
dep p f m q “ dep f j `
% p2R q2 ´ pR p f qq2
s
UA m
d p f m , Sinkq ď dhot
(14)
d p f m , Sinkq ą dhot
After the cluster head node fm defines its depth, it updates the node set all_deployed consisting of
nodes that have adjusted their depths in the entire network and the node set part_deployed consisting
of nodes with depths calculated in the cluster and begins to calculate the depth of its in-cluster nodes.
The cluster head node fm defines the depth of one in-cluster node N f every round. In each round, fm
initially selects each node in order from the nodes in part_deployed as the basic node b of N f (i.e., nodes
in the same cluster with N f , as the next-hop nodes of N f ). For every basic node b, fm individually
calculates the diving depth of N f by Equations (15) and (16) when the distance d_adjust between the
adjusted position of N f and the adjusted position of b is Rc _Max, Rc _Max-1 . . . d(N f ,b). fm then selects
the minimum CRR as the CRR of basic node b and saves the corresponding depth (when the minimum
CRR corresponds to several different depths, fm selects the corresponding depth by the communication
radius of node N f and the diving distance of N f in order).
b
dis_vertical “
$
’
&
deppN f q “
d_adjust2 ´ d2 pN f , bq
Rs
Depth ´ Rs
’
% deppbq ˘ dis_vertical
deppbq ´ dis_vertical ă Rs
deppbq ` dis_vertical ą Depth ´ Rs
others
(15)
(16)
where dis_vertical is the vertical distance between the adjusted position of N f and the adjusted position
of b; Depth is the depth of the target area. Equation (16) represents the diving depth of N f when the
diving depth of N f is greater than Depth-Rs or smaller than Rs . In other words, at that moment, some
useless region exists in the sensing area of N f , and the diving depth of N f is equal to Depth-Rs or Rs .
Sensors 2016, 16, 98
11 of 23
fm subsequently compares the CRR of every basic node b to select the minimum CRR. Thereafter,
fm compares the hop number of every basic node to the CRR that is within the rang range of the
minimum CRR and selects the basic node with the minimum hop number as the basic node of N f
(when the hop number is equal, fm selects it by the communication radius and diving depth in order
of node N f ). fm determines the optimal position of node N f . fm finally updates part_deployed and
all_deployed.
An example for the process by which the cluster head node calculates the depths of its in-cluster
nodes is described in Figure 4a. In the figure, s1 , s2 , s3 , s4 , s5 and f are on the water surface. Among
them, f represents a cluster head node, and others represent in-cluster nodes. In addition, s1 , s2 , s3
and f are in the part_deployed. In other words, their depths have been already calculated in the cluster.
When f calculates the depth of s5 , it finds that the distance between s5 and each node in part_deployed is
greater than Rc _Max. Thus, it ignores calculating the depth of s5 tentatively and continues to calculate
the depth of another node (i.e., s4 ). It firstly selects s1 as the basic node of s4 and calculates the possible
diving depth assuming that the distance between the adjusted position of s4 and s1 ' is respectively
Rc _Max, Rc _Max-1 . . . d(s4 ,s1 ). Consequently, all of the possible diving depths are on the line segment
d1 d2 . It then calculates the CRR of every position on d1 d2 and chooses the minimum CRR as the CRR
of s1 and saves the corresponding position m3 . In a similar way, all of the possible diving depths are
on the line segment c1 c2 , and the position of the minimum CRR is m2 , when it selects the s3 as the
basic node of s4 ; all of the possible diving depths are on the line segment a1 a2 , and the position of the
minimum CRR is m1 , when it selects the f. Specifically, when it selects the s2 as the basic node of s4 , it
ignores the situation because the distance between s4 and s2 is greater than Rc _Max. Finally, f finds the
minimum CRR among these position (i.e., m1 , m2 , m3 ) and compares the hop of the basic node whose
CRR is within rang range of the minimum CRR (i.e., compares the hop of s1 and f ). Consequently, f
Sensors 2016, 16, 98
selects m1 as the diving depth of s4 and f as the basic node of s4 . After finishing calculating the depth
Consequently, f selects m as the diving depth of s and f as the basic node of s . After finishing
of s4 , it calculates s5calculating
again. the
Atdepth
last,
nodes synchronously
to the
position
according to the
of seach
, it calculates
again. At last, each nodedives
synchronously
dives
to the
position according to the calculation result. The result of the nodes’ depth adjusting is depicted in
calculation result. The
result of the nodes’ depth adjusting is depicted in Figure 4b.
1
4
4
4
5
Figure 4b.
s4
s5
s1
f
a1
s2
s3
m1
c1
f'
s 2'
Shadow of node
a2
m2
d1 c2
m3
d2
s1 '
initial position of node
s3'
adjusted position of node
(a)
f'
s4'
s5'
s 2'
s1'
s3'
(b)
Figure 4. (a) Depth calculation process in a cluster (assume that the CRR on m3 is the minimum and
the CRR on m1 is within rang range of the minimum CRR; the basic node (next-hop node) of s2 and s3
3
is f, and the basic node of s1 is s2, after their depth is already calculated); (b) 3D result of nodes’
depth adjusting.
Figure 4. (a) Depth calculation process in a cluster (assume that the CRR on m is the minimum and
the CRR on m1 is within rang range of the minimum CRR; the basic node (next-hop node) of s2 and
s3 is f, and the basicThe
node
of sof1 Section
is s2 , 3.2.3
after
theirin depth
is already
calculated);
(b) 3D result of nodes’
flow chart
is shown
Figure 5 with
a cluster head
node fm as an example.
depth adjusting.
3.2.4. Finding a Next Cluster Needing to Adjust
After the cluster head node fm calculates the diving depth of all nodes in its cluster, it transmits
the “adjust depth” message (diving depth, basic node ID) to the corresponding in-cluster node to
notify them to dive. After all nodes dive to the specified location, fm broadcasts the “update”
message (ID, diving depth and adjusted communication radius of every node), and the other cluster
head nodes that receive the message update their all_deployed. fm then queries its last-hop cluster
head nodes whether some cluster head nodes have not adjusted. Thus, fm transmits MCD to one of
them, and the cluster head node receiving the message operates by Section 3.2.3. Otherwise, fm
transmits the “been adjusted” message MAD to its next-hop fj, and fj selects to transmit MCD or MAD
Sensors 2016, 16, 98
12 of 23
The flow chart of Section 3.2.3 is shown in Figure 5 with a cluster head node fm as an example.
3.2.4. Finding a Next Cluster Needing to Adjust
After the cluster head node fm calculates the diving depth of all nodes in its cluster, it transmits the
“adjust depth” message (diving depth, basic node ID) to the corresponding in-cluster node to notify
them to dive. After all nodes dive to the specified location, fm broadcasts the “update” message (ID,
diving depth and adjusted communication radius of every node), and the other cluster head nodes that
receive the message update their all_deployed. fm then queries its last-hop cluster head nodes whether
Sensors 2016, 16, 98
some cluster head nodes have not adjusted. Thus, fm transmits MCD to one of them, and the cluster
head node receiving the message operates by Section 3.2.3. Otherwise, fm transmits the “been adjusted”
according
to the situation of its last-hop cluster head node. This process is repeated until all clusters
message M AD to its next-hop f j , and f j selects to transmit MCD or M AD according to the situation of its
are adjusted.
last-hop cluster head node. This process is repeated until all clusters are adjusted.
Start
fm calculates its own depth by Equation
(13) or (14) and updates all_deployed
and part_deployed
fm selects unadjusted node Nf from
nodes in its cluster
Select node b in order as the basic
node from part_deployed
Y
d(Nf,b) > Rc_Max
N
Calcultates Nf´s diving position and the
corresponding CRR,when the distance of
Nf and adjusted position of b is
Rc_Max,Rc_Max-1,,,d(Nf,b)
For the current basic node b, select the
min CRR, sign as the CRR of b, and save
the corresponding depth
All nodes in
part_deployed are selected
or not?
Y
N
Among the CRR of every basic node,
calculates the min CRR
Selects the best position for node Nf priority
to hop number of its basic node which is
within the rang range of the min CRR
N
All nodes in cluster are calculated
for their depth or not?
Y
Find a next cluster needing to be
adjusted
End
Figure 5. Flow chart of Section 3.2.3.
Figure 5. Flow chart of Section 3.2.3.
4. Algorithm Analysis
4.1. Message Flow between Nodes
In URSA, message flow between nodes takes place during the process of the uneven clustering,
Sensors 2016, 16, 98
13 of 23
4. Algorithm Analysis
4.1. Message Flow between Nodes
In URSA, message flow between nodes takes place during the process of the uneven clustering,
constructing a connected path and the position adjustment of in-cluster nodes. This paper illustrates
the message flow between nodes in the algorithm based on some specific nodes.
4.1.1. Message Flow during Uneven Clustering
Sensors 2016, 16, 98
Sensors
2016, 16,
98
There
is message
flow in the several stages of the uneven clustering, as shown in Figure 6.
p2 p4 p5
p2 p4 p5
p3
p3
p1
p1
Competition
starts
Competition
starts
p6
p6
p2 p4 p5
p2 p4 p5
p3
p3
p1
p1
(b)
(b) final cluster head node
(a)
Sink node(a)
Sink node
Competition
ends
Competition
ends
provisional cluster head node
provisional cluster head node
d hodt hot
p6
p6
p1
p1
p6
p6
p2 p4 p5
p2 p4 p5
p3
p3
(c)
(c) up the competition
sleep node giving
sleep node giving up the competition
final cluster head node
Figure6.6.Several
Severalstage
stagestatuses
statusesofofuneven
unevenclustering.
clustering. (a)
(a)Initialization
Initializationphase
phaseofofcluster
clusterhead
headnode
node
Figure
Figure
6. Several
stage statuses
uneven
(a) Initialization
phasehead
of cluster
head node
competition;
(b)Phase
Phase
clusterof
head
nodeclustering.
competition;
(c)End
Endofofcluster
cluster
nodecompetition.
competition.
competition;
(b)
ofofcluster
head
node
competition;
(c)
head node
competition; (b) Phase of cluster head node competition; (c) End of cluster head node competition.
(Assumethat
that
p3 and
p4 communicate
can communicate
with
each
otherR0within
R0they
andare
that
are the
(Assume
p2 , pp23, and
p4 can
with each
other
within
and that
the they
competition
(Assume
thatneighbor
p2, p3 and
p4 can each
communicate
with
each
other
within R0p2and
that
they are
the
competition
so pdo
p
4
,
p
5
and
p
6
.
In
addition,
is
the
next-hop
node
neighbor
nodes
for eachnodes
other;for
so do p4other;
, p5 and
.
In
addition,
p
is
the
next-hop
node
of
p
,
and
theof
6
2
6
competition
neighbor
nodes
for
each
other;
so
do
p
4, p5 and p6. In addition, p2 is the next-hop node of
p6, and the
distance
between
p1 and
theissink
node
is greater
than Rc_Max).
distance
between
p1 and
the sink
node
greater
than
Rc _Max).
p6, and the distance between p1 and the sink node is greater than Rc_Max).
InFigure
Figure6a,
6a, thenodes
nodesare
areininthe
theinitialization
initializationphase
phaseofofcluster
clusterhead
head nodecompetition.
competition. Atthis
this
In
Inevery
Figure
6a, the
the nodes
arehead
in the
initialization
phase
of Rcluster
head node
node competition. At
At this
time,
provisional
cluster
node
broadcasts
within
0; the process of message flow between
time,
every
provisional
cluster
head
node
within
RR00;; the
process
of
flow
time,
every
provisional
cluster
head entering
node broadcasts
broadcasts
within
thecluster
processhead
of message
message
flow between
between
nodes
is
shown
in
Figure
7a.
Then,
into
the
phrase
of
the
competition
is shown
nodes
is
shown
in
Figure
7a.
Then,
entering
into
the
phrase
of
the
cluster
head
competition
is
nodes
is shown
in Figure 7a. Then, entering into the phrase of the cluster head competition is shown
shown
in
Figure
6b.
p
2 firstly becomes a final cluster head node and broadcasts MCH within R0, and p3, as
in
Figure
6b.
pp22 firstly
becomes
aa final
cluster
head
node
and
broadcasts
MMCH
within R , and p , as
in
Figure
6b.
firstly
becomes
final
cluster
head
node
and
broadcasts
CH within R00, and p33, as
wellasaspp4exit
exitthe
thecompetition
competitiondue
dueto
toreceiving
receivingM
MCH from
and
broadcast
M
GC, respectively, which is
well
fromppp222and
andbroadcast
broadcastM
M
, respectively,
which
44 exit the
CHfrom
well
as
p
competition
due
to
receiving
M
CH
GCGC
, respectively,
which
is
shown
in
Figure
7b.
Afterwards,
p
5 and p6 respectively remove p4. At the same time, p6 becomes a
is
shown
in
Figure
7b.
Afterwards,
p
and
p
respectively
remove
p
.
At
the
same
time,
p
becomes
5
6
6
4
shown
in Figure
7b.
Afterwards,
p5 and p6 respectively remove p4. At the same time, p6 becomes aa
finalcluster
cluster
headnode,
node,
and
pexits
5 exits the competition; the message flow is shown in Figure 7c. After
final
head
and
p
thethe
message
flow
is shown
in Figure
7c. After
the
final
clusterhead
headnode
node,competition,
and 5p5 exitsthe
thecompetition;
competition;
message
flow
ishead
shown
in Figure
7c. After
the cluster
shown
in Figure
6c,
the
final head
cluster
nodes
broadcast
their
cluster
head
node
competition,
shown
in
Figure
6c,
the
final
cluster
nodes
broadcast
their
ID,
and
the
cluster
node competition,
shown
in Figure
6c,
final
cluster head nodes
broadcast
their
ID,non-cluster
and thehead
non-cluster
head
nodes
reply
with
their
ID the
to the
corresponding
cluster
head
node,
the
the
head nodes
reply
with
their
ID to
the ID
corresponding
cluster head
node,
thenode,
message
ID,
and
the
non-cluster
head
nodes
reply
with
their
to
the
corresponding
cluster
head
the
message
flow
of
which
is
shown
in
Figure
7d.
flow
of which
in shown
Figure in
7d.Figure 7d.
message
flow is
of shown
which is
e
M M
e
p5
p5
e
p6
p6
Mf:MCH(Been cluster head)
MM
(Been
head)
f:M
CHGC
(Exitcluster
competition)
e:M
(b)competition)
Me:MGC(Exit
(b)
p5
p5
p6
p6
Mf
Mf cluster head)
Mf:MCH(Been
MM
(Been
head)
f:M
CHGC
(Exitcluster
competition)
e:M
Me:MGC(Exit(c)
competition)
(c)
p1
p1
p2
p2
p4
p4
M M
e
M M
4
4
e
e
M M
e
M Me
5
p3
p3
p2
p2
e
p4
p4
4
M M4
6
M M6
M M
5
p3
p3
M M
e
f
3
4
M M
4
M5
p6
M5
p6
M6
M6
Mi:pi’s ID,d(pi,Sink),R(pi)
Mi:pi’s ID,d(p
(a)i,Sink),R(pi)
(a)
Mf
Mf
M Mf
3
p4
p4
p5
p5
p2
p2
p6
p6
p2
p2
p1 's I
D
p1 's I
D
nu-cluster
p2's ID
nu-cluster
head
pJoin(ID)
2's ID
)
head
Join(ID)
(ID)
n
i
Jo (ID
n
J oi
s ID
p 6' ID
s
p 6'
p3
p3
M M
2
M M2
4
M M4
M2
M2
M3
M3
Join(
ID
Join( )
ID)
p2
p2
p2's ID
p2's ID
p6's ID
p6(d)
's ID
p6
p6
(d)
Figure 7. (a) Message flow in the initialization phase of cluster head node competition; (b,c) message
Figure 7. (a) Message flow in the initialization phase of cluster head node competition; (b,c) message
flow
at the(a)
stage
of cluster
head
node
competition;
(d) message
flow
after
cluster
head node(b,c)
competition.
Figure
Message
flow
in the
initialization
phase
of cluster
head
node
competition;
message
flow at7.the
stage
of cluster
head
node
competition;
(d) message
flow
after
cluster
head node competition.
flow at the stage of cluster head node competition; (d) message flow after cluster head node competition.
4.1.2. Message Flow during Path Selection
4.1.2. Message Flow during Path Selection
After clustering, cluster head nodes begin to build a connected path. When a node’s distance to
Afternode
clustering,
nodes
to build
a connected
path.
When amessage
node’s distance
to
the sink
is less cluster
than dhothead
, such
as p2begin
in Figure
6c, the
node sends
a request
to the sink
the
sinkand
node
less node
than replies
dhot, such
as pa2 confirmation
in Figure 6c, the
node sends
request
toshown
the sink
node,
theissink
with
message
to the anode;
the message
process is
in
node,
and
the
sink
node
replies
with
a
confirmation
message
to
the
node;
the
process
is
shown
in
Figure 8a. When a node’s distance to the sink node is greater than dhot and there are other cluster
Sensors 2016, 16, 98
14 of 23
4.1.2. Message Flow during Path Selection
After clustering, cluster head nodes begin to build a connected path. When a node’s distance to
the sink node is less than dhot , such as p2 in Figure 6c, the node sends a request message to the sink
node, and the sink node replies with a confirmation message to the node; the process is shown in
Figure 8a. When a node’s distance to the sink node is greater than dhot and there are other cluster head
nodes within its Rc _max, such as p6 in Figure 6c, it has a message exchange with a cluster head node,
which is shown in Figure 8b. In a similar way, when a cluster head node has no neighbors within its
Rc _max, such as p1 in Figure 6c, it has a message exchange with a non-cluster head node; the message
flow between
Sensors 2016,them
16, 98 is shown in Figure 8c.
Sensors 2016, 16, 98
p2
p2
p6
p6
RN
RC
RN
(a)
RC
(a)
RN
RC
RN
(b)
RC
Sink
Sink
p2
p2
RN
(b)
Clust
er-in
Clust
er-in
(c)
RC
RC: replay of confirmation
(c)of next-hop
RN: Request
RC: replay of confirmation
RN: Request of next-hop
p1
p1
RC
RN
Figure
8. Message
flowflow
during
pathpath
selection.
(a)(a)
Message
flow
with
Figure
8. Message
during
selection.
Message
flow
withSink
Sinknode;
node;(b)
(b)Message
Messageflow
flowwith
Figure
8.node;
Message
flow during
path
selection.
(a) Message
flow with Sink node; (b) Message flow
with
cluster
head
(c) Message
flow
with non-cluster
cluster
head
(c) node;
Message
flow
with
non-cluster
node.node.
with cluster head node; (c) Message flow with non-cluster node.
Message
Flow
during
In-Cluster
NodePosition
Position Adjustment
Adjustment
4.1.3. 4.1.3.
Message
Flow
during
In-Cluster
Node
4.1.3. Message Flow during In-Cluster Node Position Adjustment
In this process, the message flow between nodes takes place in three sub-processes. First, a
In this
process,
thethe
message
flow
between
nodes
takesplace
place in three
sub-processes.
First,
a
In this
message
flowits
between
nodes
sub-processes.
First,
a
cluster
headprocess,
node receives
MCD from
next-hop
nodetakes
and beginsintothree
calculate
the position
of its
cluster
headhead
node
receives
from
node
and
begins
calculate
position
cluster
node
receives
M
fromits
its next-hop
next-hopafter
node
begins
to to
calculate
the the
position
of itsitof its
in-cluster
nodes,
such
as M
p2 CD
inCD
Figure
6c.
Second,
theand
position
calculation
of in-cluster
nodes,
in-cluster
nodes,
such
as
p
in
Figure
6c.
Second,
after
the
position
calculation
of
in-cluster
nodes,
it
in-cluster
nodes,tosuch
as2 p2 in Figure
Second,
afterMthe
position
in-cluster
nodes,
it
sends message
its in-cluster
nodes.6c.Last,
it sends
CD to
one of calculation
its last-hopofnodes
if it cannot
be
sendssends
message
to its
nodes.
Last,
MCD
one
its
last-hop
nodes
it cannot
message
to in-cluster
its in-cluster
nodes.M
Last,
ititssends
sends
M
totoone
ofof
its
last-hop
nodes
if it if
cannot
be be
adjusted.
Otherwise,
the node
sends
AD toit
next-hop
node.
The
message
flows
between
them
are
CD
adjusted.
Otherwise,
node
sends
AD to
to its next-hop
message
flows
between
themthem
are are
adjusted.
Otherwise,
theinthe
node
sends
MM
next-hopnode.
node.The
The
message
flows
between
respectively
shown
Figure
9a–d.
AD
respectively
shown
in Figure
9a–d.
respectively
shown
in Figure
9a–d.
MCD(Calculate
Sink diving depth)
MCD(Calculate
Sink diving(a)
depth)
Depth,
(a)
basic node
Depth,
(b)
basic node
MCD(b)
(Calculate
p2 diving depth)
MCD(Calculate
p2 diving(c)
depth)
MAD
(Been
(c)
p2
adjusted)
MAD(Been
p2
(d)
adjusted)
p2
p2
p2
p2
Clust
er-in
Clust
er-in
p6
p6
Sink
Sink
(d)
Figure 9. Message flow during position adjustment. (a) Initialization phase of position adjustment;
Figure
9. Message
during
position
adjustment.
(a)adjustment.
Initialization phase
phase of
Figure
Message
flowflow
during
position
(a)
Initialization
of position
positionadjustment;
adjustment; (b)
(b)9.Phase
of position
adjustment;
(c,d)adjustment.
End
of position
of position
adjustment;
(c,d) of
End
of position
adjustment.
Phase(b)
ofPhase
position
adjustment;
(c,d) End
position
adjustment.
4.2. Complexity Analysis
4.2. Complexity Analysis
4.2. Complexity
Analysis
The message
and time complexity of URSA are evaluated in this section.
The message and time complexity of URSA are evaluated in this section.
The
time complexity of URSA are evaluated in this section.
4.2.1.message
Messageand
Complexity
4.2.1. Message Complexity
The total
number of sent messages is considered to determine the message complexity. The
4.2.1. Message
Complexity
The total
numberincludes
of sent three
messages
consideredtotothe
determine
message
complexity.
The
message
complexity
parts,is according
analysis the
of the
message
flow between
The
total
number
of
sent
messages
is
considered
to
determine
the
message
complexity.
The
message
complexity
includes
three
parts,
according
to
the
analysis
of
the
message
flow
between
nodes in Section 4.1.
message
complexity
includes
three
parts,
according
to
the
analysis
of
the
message
flow
between
nodes
nodes
in
Section
4.1.
N nodes are scattered on the water surface randomly and uniformly. At the beginning of the
N4.1.
nodes
are scattered
the water
surface cluster
randomly
and
uniformly.
Atof
the
beginning
of the
in Section
uneven
clustering,
Np nodeson
become
provisional
head
nodes,
and each
them
broadcasts
its
uneven
clustering,
N
p
nodes
become
provisional
cluster
head
nodes,
and
each
of
them
broadcasts
own status message (node ID, d(pi,Sink), R(pi)), where Np is formulated in Equation (17) accordingits
to
own
status(8).
message (node ID, d(pi,Sink), R(pi)), where Np is formulated in Equation (17) according to
Equation
Equation (8).
2
N d hot
Th1  3Th 2  4Th3 
Np 
 NTh3
2
(17)
N d hotlength
Th 2  4Th3 
Th1 3width
Np 
 NTh3
(17)
length  width
Each of them then makes a decision by broadcasting MCH to act as the final cluster head node or
Sensors 2016, 16, 98
15 of 23
N nodes are scattered on the water surface randomly and uniformly. At the beginning of the
uneven clustering, N p nodes become provisional cluster head nodes, and each of them broadcasts its
own status message (node ID, d(pi ,Sink), R(pi )), where N p is formulated in Equation (17) according to
Equation (8).
Np “
Nπd2hot pTh1 ` 3Th2 ´ 4Th3 q
` NTh3
length ˆ width
(17)
Each of them then makes a decision by broadcasting MCH to act as the final cluster head node or
MGC to exit the competition. Assuming that there are Kc cluster head nodes, they send Kc “elect cluster
head” messages, and then (N ´ Kc ) non-cluster head nodes send (N ´ Kc ) “join” messages. Thus, in
the process of the uneven clustering, the total number of message is formulated as:
2Np ` Kc ` pN ´ Kc q “ 2Np ` N
(18)
During the process of the path selection, each cluster head node sends a request message to
its next-hop node, and then, a corresponding reply message is sent to it. Thus, the total number of
messages is 2Kc in the process.
In the phrase of in-cluster nodes’ position adjustment, each cluster head node calculates the
positions of in-cluster nodes, when it receives MCD from its next-hop node. After the positions of
nodes in its cluster are adjusted, it sends M AD to its next-hop node sooner or later. Therefore, there
must be two messages transmitted on the link between a cluster head node and its next-hop node.
What is more, each cluster head node has only one next-hop node because of the hybrid radius
path-selection method. Therefore, the network has Kc cluster head nodes, and a sink node has Kc links;
and the number of message transmitted on these links is 2Kc . In addition, each cluster head node
respectively sends a corresponding adjustment message to its in-cluster nodes, after calculating the
depths of nodes in its cluster. Supposing that the i-th cluster has Ni in-cluster nodes, the number of
messages in the sub-process is formulated as:
Kc
ÿ
Ni “ N
(19)
i “1
Finally, the total number of the whole process is 2Kc + N.
Consequently, the total number of URSA messages is formulated as:
2Np ` N ` 2Kc ` 2Kc ` N “ 2Np ` 2N ` 4Kc ă 8N
(20)
Thus, the message complexity of URSA is O(N).
4.2.2. Time Complexity
At the beginning of the uneven clustering, each node synchronously produces a random number
from zero to one and estimates itself to be a provisional cluster head node or not, and then, each of the
provisional cluster head nodes synchronously broadcasts its status message. The time complexity of
these operations is constant. In the cluster head competition phrase, a provisional cluster head node
may become a final cluster head node, which needs to compare the distance to the sink node with all
of its competition neighbor nodes or exit the competition. For the convenience of expression on time
complexity, the number of competition neighbor nodes of a provisional cluster head node is expressed
by the average number of competition neighbor nodes in the network, signed as Na . Consequently, the
time complexity of the operation that a provisional cluster head node becomes a final cluster head
node is Na , and the time complexity of the operation that it exits competition is constant. However, the
worst situation in the phrase is that each of them judges itself to be a final cluster head node or not in
the one-by-one way, and the time complexity of the situation is Na ˆ Kc + N p ´ Kc + 2. At the end of
Sensors 2016, 16, 98
16 of 23
the uneven clustering, each non-cluster head node joins a final cluster head node that is the nearest to
it. The worst situation is that an ordinary node receives Kc messages from all final cluster head nodes,
so that it will compare the distance Kc times; consequently, the time complexity is (N ´ Kc ) ˆ Kc . Thus,
the time complexity of the uneven clustering is formulated as Expression (21), i.e., O(N2 ).
Na ˆ Kc ` Np ´ Kc ` pN ´ Kc q Kc ` 2 ă N 2 ` Np ´ Kc ` N 2 ` 2
(21)
During the process of the path selection, the worst situation is that each cluster head node selects
ordinary nodes within Rc _Max as its next-hop node. In this situation, the time complexity of the i-th
cluster head node is Ni . Thus, the time complexity of the total process is max(Ni ), i.e., O(N), because
each cluster head node finds its next-hop node synchronously.
In the phrase of in-cluster nodes’ position adjustment, the cluster head node calculates the depth
of every in-cluster node. Assuming that the i-th cluster has Ni in-cluster nodes, the worst situation
is that an in-cluster node has Ni basic nodes, and for every basic node, the cluster head node should
calculate the CRR of 2Rc _Max positions. Then, it may select the minimum CRR from the CRR of Ni
basic nodes. What is worse, there are Ni basic nodes whose CRR is within rang range of the minimum
CRR; in other words, the cluster head node should select the basic node with minimum hops from Ni
basic nodes. Thus, the time complexity of the whole process is formulated as:
Kc
ř
Ni p2Rc _Max ˆ Ni ` Ni ` Ni q
i “1
Kc
ř
“ p2Rc _Max ` 2q
Ni2
i
“
1
˜
¸2
Kc
ř
ă p2Rc _Max ` 2q
Ni
(22)
i“1
“ p2Rc _Max ` 2q N 2
That is, the result is O(N2 ).
Finally, the time complexity of URSA is O(N2 + N + N2 ), i.e., O(N2 ).
5. Simulation and Performance Analysis
5.1. Simulation Scenario and Parameter Settings
In this study, the four indicators of URSA and CDA, namely, network coverage rate, network
energy consumption, network reliability and energy consumption balance, are used to simulate,
analyze and compare, in order to verify the validity of URSA. The UWSNs node-deployment process
is simulated by MATLAB on the basis of the background of the Xixi Wetland water environment
monitoring. During the simulation, the target water area (length ˆ width ˆ depth) is set to
400 m ˆ 200 m ˆ 500 m, and the value of each indicator is produced by the average of 30 rounds of
simulation data. The parameter settings are as follows:
(1)
(2)
(3)
(4)
The parameter settings are based on the CDA in [26], i.e., the sensing radius of nodes Rs is
40 m, and the communication radius of nodes Rc in CDA is 100 m. This study also considers
the situation wherein the distance between two nodes is greater than 2Rs ; thus, the maximum
communication radius Rc _Max in URSA is also set to 100 m.
According to [38], a proportionality constant c influences the uneven clustering results, namely if
the value of c is small, the cluster size is small, and the number of clusters is large. The purpose
of the current study is to appropriately increase the number of clusters near the sink node; hence,
c is set to 0.7.
According to the method of calculating the optimum radius of hotspots dhot in [39] and the
parameter of the simulation scene set in the current study, dhot is set to 50 m.
Other parameters are presented in Table 1.
Sensors 2016, 16, 98
17 of 23
Table 1. Simulation parameters.
Parameter
Value
Length of data packet l
Energy consumption of data reception Pr
Energy diffusion factor λ
Carrier frequency Fr
Data transmission speed underwater
Initial competition radius R0
Sensors 2016,
16, 98
Probability
threshold parameter Th1 , Th2 , Th3
Parameter k
1000 bits
2 nJ/bit
1.5
24 kHz
300 bits/s
80 m
0.8, 0.6, 0.5
3
5.2. Simulation Example
5.2. Simulation Example
5.2.1. Effect of rang on Network Reliability and Network Coverage Rate
5.2.1. Effect of rang on Network Reliability and Network Coverage Rate
During the adjustment of the depth of in-cluster nodes, the cluster head node finds the
optimum
location
for its in-cluster
nodes
thenodes,
rang ofthe
the
minimum
CRR; finds
thus, the
theoptimum
value of
During
the adjustment
of the depth
of within
in-cluster
cluster
head node
rang
has
an
influence
on
the
results
of
network
deployment.
This
study
explores
the
changes
in
location for its in-cluster nodes within the rang of the minimum CRR; thus, the value of rang has an
network
rate of
and
network
reliability when
the number
network
is 200coverage
and the
influencecoverage
on the results
network
deployment.
This study
exploresofthe
changesnodes
in network
value
of rang
varies
from zero
to 0.5.
thenodes
network
coverage
of of
URSA
varying
rate and
network
reliability
when
the Figure
number10ofshows
network
is 200
and therate
value
rang for
varies
from
rang,
in
which
the
network
coverage
rate
decreases
and
the
rate
of
decrease
increases
with
increasing
zero to 0.5. Figure 10 shows the network coverage rate of URSA for varying rang, in which the network
rang.
Figure
presentsand
thethe
network
of URSAwith
for varying
rang,
in Figure
which 11
thepresents
numberthe
of
coverage
rate11
decreases
rate ofreliability
decrease increases
increasing
rang.
nodes
within
the of
Rc URSA
range for
of varying
the sinkrang,
node
immediately
shows
an inconsiderable
fluctuation.
network
reliability
in which
the number
of nodes
within the Rc range
of the
However,
its overall tendency
is growing, and
the rateHowever,
of increase
increases
gradually
with
sink node immediately
shows an inconsiderable
fluctuation.
its overall
tendency
is growing,
increasing
rang.
The average
number
of neighbor
nodes increases
all average
of the time,
andofthe
rate of
and the rate
of increase
increases
gradually
with increasing
rang. The
number
neighbor
increase
accelerates
with
When
the cluster
head nodewith
selects
the best rang.
locations
forthe
its
nodes increases
all of
theincreasing
time, andrang.
the rate
of increase
accelerates
increasing
When
in-cluster
nodes,
possibility
byitsthe
numbernodes,
of hops
the possibility
cluster head
nodethe
selects
the bestdominated
locations for
in-cluster
theincreases
possibilityand
dominated
by the
dominated
by the
value and
of CRR
decreases dominated
with increasing
phenomenon
increases
the
number of hops
increases
the possibility
by the rang.
value This
of CRR
decreases with
increasing
number
of
nodes
near
the
cluster
head
node,
shortens
the
path
in
the
cluster,
increases
the
chance
of
rang. This phenomenon increases the number of nodes near the cluster head node, shortens the path
the
node
closeincreases
to the sink
node and
increases
the possibility
nodes
gather. the
Therefore,
an
in the
cluster,
the chance
of the
node close
to the sink of
node
andto
increases
possibility
increasing
improves
the an
network
reliability,
but reduces
the network
coverage
rate. The
of nodes torang
gather.
Therefore,
increasing
rang improves
the network
reliability,
but reduces
the
preceding
analysisrate.
implies
the value
of rang
can that
be set
to the
of each
network coverage
The that
preceding
analysis
implies
theaccording
value of rang
canimportance
be set according
to
indicator
in the of
actual
study,
considering
the study,
compromise
between
the network
the importance
eachapplication.
indicator in In
thethis
actual
application.
In this
considering
the compromise
coverage
ratenetwork
and network
reliability,
rang
is set to
0.2 in every
between the
coverage
rate and
network
reliability,
rangexample
is set to below.
0.2 in every example below.
1
URSA
0.95
0.9
Coverage rate(1)
0.85
0.8
0.75
0.7
0.65
0.6
0.55
0.5
0
0.1
0.2
0.3
0.4
0.5
rang(1)
Network coverage
coverage rate
rate of the radius-adjusting self-deployment
self-deployment algorithm
algorithm (URSA)
(URSA) for
Figure 10. Network
varying rang.
15
14
13
Number of nodes
12
11
10
9
Average number of neighbor nodes of node
Number of nodes within Rc near Sink node
0.55
0.5
0
0.1
0.2
0.3
0.4
0.5
rang(1)
SensorsFigure
2016, 16,10.
98 Network coverage rate of the radius-adjusting self-deployment algorithm (URSA) for
18 of 23
varying rang.
15
Average number of neighbor nodes of node
Number of nodes within Rc near Sink node
14
13
Number of nodes
12
11
10
9
8
7
6
0
0.1
0.2
0.3
0.4
0.5
rang(1)
Sensors 2016, 16, 98
Figure 11.
11. Network
Network reliability
reliability of
of URSA
URSA for
for varying
varying rang.
rang.
Figure
5.2.2. Effect
Effect of
of Varying
Varying N
N on
on Every
Every Indicator
Indicator
5.2.2.
17
Figure 12
12presents
presentsthe
the
comparison
of the
network
coverage
rate varying
with varying
numbers
of
Figure
comparison
of the
network
coverage
rate with
numbers
of nodes.
nodes.
Theshows
figure that
shows
the network
coverage
both URSA
andincrease,
CDA increase,
the
The
figure
thethat
network
coverage
rates ofrates
bothofURSA
and CDA
but thebut
trend
trend
gradually
slows
down
with
the
increasing
number
of
nodes.
The
network
coverage
rate
gradually slows down with the increasing number of nodes. The network coverage rate of URSA of
is
URSA higher
is always
theofsame
number
nodes,
CDA
only
always
thanhigher
that of than
CDA that
withof
theCDA
samewith
number
nodes,
becauseofCDA
onlybecause
considers
the CRR
considers
the CRR
on the
the the
distance
andnodes
each of
nodes
is
on
the position
where
theposition
distancewhere
between
node between
and eachthe
of node
its basic
is its
Rc basic
and does
not
R
c
and
does
not
consider
the
situation
of
the
other
positions
where
the
distance
between
them
is
less
consider the situation of the other positions where the distance between them is less than Rc . In the
than Rc. that
In the
situation
CDA adoes
consider,
a node
overlap
in such
position.
situation
CDA
does notthat
consider,
nodenot
may
overlap in
such amay
position.
However,
theatotal
CRR
However,
the
total
CRR
rate
of
the
node
may
be
less
than
that
in
the
situation
that
CDA
can
consider.
rate of the node may be less than that in the situation that CDA can consider. In URSA, the process
In node
URSA,
the process
of node
adjusting
depth considers limitation,
the aforementioned
the
of
adjusting
depth
considers
the aforementioned
compareslimitation,
the CRR ofcompares
all possible
CRR of all
possible
and selects
the bestunder
position.
Therefore, under
the circumstances
of
positions
and
selectspositions
the best position.
Therefore,
the circumstances
of losing
some network
losing
some
network
coverage
rate
because
of
improving
the
network
reliability,
the
network
coverage rate because of improving the network reliability, the network coverage rate of URSA remains
coverage
rate
of of
URSA
remains higher than that of CDA.
higher
than
that
CDA.
1
CDA
URSA
0.9
Coverage rate(1)
0.8
0.7
0.6
0.5
0.4
100
125
150
175
200
225
Number of nodes
250
275
300
Figure 12.
12. Comparison
Comparison of
of network
network coverage
coverage rate
rate for
for varying
varying numbers
numbers of
of nodes.
nodes. CDA,
CDA, CDS-based
CDS-based
Figure
depth
depth computation
computation algorithm.
algorithm.
Figure 13
13 illustrates
illustrates the
the comparison
comparisonof
of the
the number
numberof
ofnodes
nodeswithin
withinthe
theRRc range
range of
of the
the sink
sink node
node
Figure
c
for
the
varying
numbers
of
nodes.
In
the
figure,
the
number
of
nodes
within
the
R
c range of the sink
for the varying numbers of nodes. In the figure, the number of nodes within the Rc range of the sink
node generally
generally increases
increases in
in both
both of
of the
the two
two algorithms.
algorithms. However,
However, compared
compared to
to CDA,
CDA, URSA
URSA shows
shows
node
improved results
resultswith
withthe
thesame
samenumber
numberofofnodes.
nodes.URSA
URSAuses
usesthe
theuneven
unevenclustering
clusteringprocess
process
form
improved
toto
form
a
a
layout
in
which
the
number
of
cluster
head
nodes
in
an
area
close
to
the
sink
node
increases,
layout in which the number of cluster head nodes in an area close to the sink node increases, whereas
whereas the size of the cluster in that area decreases. URSA adjusts the position of the cluster head
nodes according to the principle of maintaining this layout to increase the number of cluster head
nodes near the sink node. The size of the cluster in the area close to the sink node becomes small, and
all in-cluster nodes adjust their depth by minimizing their hop number, thereby increasing the
chance for in-cluster nodes close to the sink node to some extent. Figure 14 shows the comparison of
Sensors 2016, 16, 98
19 of 23
the size of the cluster in that area decreases. URSA adjusts the position of the cluster head nodes
according to the principle of maintaining this layout to increase the number of cluster head nodes
near the sink node. The size of the cluster in the area close to the sink node becomes small, and all
in-cluster nodes adjust their depth by minimizing their hop number, thereby increasing the chance
for in-cluster nodes close to the sink node to some extent. Figure 14 shows the comparison of the
average number of neighbor nodes for a varying number of nodes. The figure shows that the average
number of neighbor nodes of the two algorithms increases with increasing the number of nodes. The
number of URSA is always smaller than the number of CDA, but the difference between URSA and
CDA becomes insignificant gradually with the increasing number of nodes. Figures 13 and 14 indicate
that compared to CDA, the average number of neighbor nodes of URSA is low. Nevertheless, the
number of nodes within the Rc range of the sink node of URSA is obviously higher than that of CDA,
thus
Sensors
2016,
Sensorsmaintaining
2016, 16,
16, 98
98 the good performance of the network during its operation after being deployed.
14
14
Number of
of nodes
nodes within
within Rc
Rc near
near Sink
Sink node
node
Number
CDA
CDA
URSA
URSA
12
12
10
10
88
66
44
22
100
100
125
125
150
150
175
200
225
175
200
225
Number
Number of
ofnodes
nodes
250
250
275
275
300
300
Figure
13.
Comparison
the
node
number
within
the
R
Figure 13.
13. Comparison
Comparisonofof
ofthe
the
node
number
within
the
Rcc range
range of
of the
the sink
sink node
node for
for aa varying
varying
Figure
node
number
within
the R
c range of the sink node for a varying number
number
number
of nodes.
nodes.
of
nodes.of
13
13
12
12
CDA
CDA
URSA
URSA
Number of
of neighbor
neighbor nodes
nodes
Number
11
11
10
10
99
88
77
66
55
44
100
100
125
125
150
150
175
200
225
175
200
225
Number
Numberof
ofnodes
nodes
250
250
275
275
300
300
Figure
neighbor nodes
for aa varying
varying number
number of
of nodes.
nodes.
Figure 14.
14. Comparison
Comparison of
of the
the average
average number
number of
of neighbor
nodes for
The
The network
network energy
energy consumption
consumption includes
includes the
the energy
energy consumption
consumption of
of network
network deployment
deployment
The
network
energy
consumption
includes
the
energy
consumption
of
network
deployment
and
the
energy
consumption
of
network
operation.
According
to
[40],
the
energy
consumption
of
aa
and
the
energy
consumption
of
network
operation.
According
to
[40],
the
energy
consumption
ofof
and the energy consumption of network operation. According to [40], the energy consumption
moving
node
is
significantly
greater
than
the
energy
consumption
of
the
communication
among
moving
node
is
significantly
greater
than
the
energy
consumption
of
the
communication
among
a moving node is significantly greater than the energy consumption of the communication among
nodes
study
only
regards
the
energy
consumption
generated
by
nodes during
during
node
deployment.
Thus,
this
study
only
regards
thethe
energy
consumption
generated
by
nodes
duringnode
nodedeployment.
deployment.Thus,
Thus,this
this
study
only
regards
energy
consumption
generated
nodes
adjusting
their
depth
as
the
energy
consumption
of
network
deployment.
For
the
energy
nodes
adjusting
their
depth
as
the
energy
consumption
of
network
deployment.
For
the
energy
by nodes adjusting their depth as the energy consumption of network deployment. For the energy
consumption
consumption of
of
network
operation,
its
value
is
usually
related
to
the routing
routing algorithm
algorithm or
or protocol
protocol
consumption
of network
network operation,
operation, its
its value
value is
is usually
usually related
related to
to the
the
routing
algorithm
or
protocol
that
network
used
when
operates.
However,
when
the
number
is
sparse,
that the
the network
networkused
usedwhen
whenitititoperates.
operates.However,
However,
when
the
number
of nodes
nodes
is relatively
relatively
sparse,
that
the
when
the
number
of of
nodes
is relatively
sparse,
the
the
problem
of
the
energy
consumption
of
the
network
operation
is
related
to
the
topology
formed
the
problem
of
the
energy
consumption
of
the
network
operation
is
related
to
the
topology
formed
problem of the energy consumption of the network operation is related to the topology formed by
by
by the
the node
node self-deployment
self-deployment algorithm,
algorithm, which
which is
is the
the problem
problem that
that this
this paper
paper considers.
considers. Therefore,
Therefore, in
in
the
the simulation,
simulation, the
the networks
networks deployed
deployed by
by URSA
URSA and
and CDA
CDA use
use the
the corresponding
corresponding topology
topology formed
formed
by
by themselves
themselves when
when they
they operate.
operate. We
We use
use the
the energy
energy consumption
consumption model
model in
in [36]
[36] to
to calculate
calculate the
the
average
average energy
energy consumption
consumption of
of the
the node
node of
of each
each round.
round. According
According to
to [16],
[16], the
the diving
diving speed
speed of
of nodes
nodes
is
is 2.4
2.4 m/min,
m/min, and
and the
the power
power of
of nodes
nodes is
is 0.6
0.6 w.
w.
Sensors 2016, 16, 98
20 of 23
the node self-deployment algorithm, which is the problem that this paper considers. Therefore, in
the simulation, the networks deployed by URSA and CDA use the corresponding topology formed
by themselves when they operate. We use the energy consumption model in [36] to calculate the
average energy consumption of the node of each round. According to [16], the diving speed of nodes is
2.4 m/min, and the power of nodes is 0.6 w.
Figure 15 presents the comparison of network energy consumption for varying numbers of nodes.
The figure shows that the energy consumption of the network deployment of both URSA and CDA
increases with increasing the number of nodes. Nonetheless, the energy consumption of the network
deployment of URSA is always below that of CDA. The energy consumption of network operation of
the two algorithms also maintains within a certain value with increasing the number of nodes, but the
energy consumption of the network operation of URSA is always below that of CDA. CDA selects the
position of every node where the distance between the node and each of its basic nodes is Rc , which
makes the path to its cluster head node long. On the contrary, URSA deploys the cluster head nodes
Sensorsthe
2016,
16, 98surface and adjusts the positions of in-cluster nodes with the principle of minimizing
near
water
their hop number, which makes the path in the cluster short and reduces the energy consumption
energy
consumption
of effectively.
network deployment
effectively.
topology
formed by URSA,
of
network
deployment
In the topology
formed In
by the
URSA,
the communication
radiusthe
of
communication
radius
of
the
node
that
sends
numerous
data
bags
is
small
(i.e.,
the
distance
that
the node that sends numerous data bags is small (i.e., the distance that those data bags transmit
is
those datasmall),
bags transmit
small), radius
whereas
of the
node
that
relatively
whereas is
therelatively
communication
of the
the communication
node that sends radius
a few data
bags
is great.
sends
a fewthe
data
bags is
great.
As data
a result,
energy loss
during data
bagas
transmission
as
As
a result,
energy
loss
during
bagthe
transmission
decreases,
as well
the averagedecreases,
node energy
well as the average
node operations
energy consumption
of network operations in each round.
consumption
of network
in each round.
1200
CDA total energy consumption of deployment
URSA total energy consumption of deployment
CDA average of nodes-run energy consumption
URSA average of nodes-run energy consumption
energy consumption(J)
1000
800
600
400
200
0
100
125
150
175
200
225
number of nodes
250
275
300
Figure 15.
Comparison of
of energy consumption
consumption for varying numbers of sensor nodes (the unit of
15. Comparison
deployment energy consumption
consumption is
is 10
1033 J).
Figure 16
16indicates
indicates
balance
comparison
of network
consumption
for numbers
varying
Figure
thethe
balance
comparison
of network
energyenergy
consumption
for varying
numbers
of
nodes.
In
the
figure,
the
variance
of
the
energy
consumption
of
the
network
deployed
of nodes. In the figure, the variance of the energy consumption of the network deployed by URSAby
is
URSA is significantly
below
that owing
by CDA
to the layout
network
layoutby
formed
such a
significantly
below that
by CDA
to owing
the network
formed
URSA.byInURSA.
such aIn
network
networkthe
layout,
the
in theto area
close
to the
sink whereas
node is the
great,
whereas the
layout,
density
of density
nodes inofthenodes
area close
the sink
node
is great,
communication
communication
radius
of
the
node
in
that
area
is
small.
Nodes,
however,
should
forward
radius of the node in that area is small. Nodes, however, should forward considerable information.
considerable
The
farisaway
from thewhich
sink node
is the
the energy
opposite,
which makes
The
situation information.
far away from
thesituation
sink node
the opposite,
makes
consumption
of
the
energy
consumption
of
total
nodes
in
the
network
more
balanced.
By
contrast,
using
CDA,
the
total nodes in the network more balanced. By contrast, using CDA, the communication radius of
communication
radius
of each
node isoffixed,
thetarget
distribution
of nodesthereby
in the leading
target area
is
each
node is fixed,
and the
distribution
nodesand
in the
area is irregular,
to the
irregular, thereby
leading
to the concentrated
energy
the nodes
near the number
sink node.
concentrated
energy
consumption
on the nodes
near consumption
the sink node.onWith
the increasing
of
With
the
increasing
number
of
nodes,
the
amount
of
information
that
nodes
forward
will
further
nodes, the amount of information that nodes forward will further increase. Hence, the communication
increase.
Hence, the of
communication
energy
of different
every node
cannot be balanced
the
energy
consumption
every node cannot
be consumption
balanced by the
communication
radii of by
nodes,
different
communication
radii ofenergy
nodes,consumption
and the variance
oftwo
the algorithms
network energy
consumption
the
and
the variance
of the network
of the
becomes
significantofwith
two
algorithms
becomes
significant
with
the
increasing
number
of
nodes.
the increasing number of nodes.
4
every round
5
4.5
4
x 10
CDA
URSA
communication radius of each node is fixed, and the distribution of nodes in the target area is
irregular, thereby leading to the concentrated energy consumption on the nodes near the sink node.
With the increasing number of nodes, the amount of information that nodes forward will further
increase. Hence, the communication energy consumption of every node cannot be balanced by the
different communication radii of nodes, and the variance of the network energy consumption of the
Sensors 2016, 16, 98
21 of 23
two algorithms becomes significant with the increasing number of nodes.
4
Variance of energy consumption of every round
5
x 10
4.5
CDA
URSA
4
3.5
3
2.5
2
1.5
1
0.5
0
100
125
150
175
200
225
Number of nodes
250
275
300
Figure 16. Variance comparison of energy consumption for varying numbers of nodes.
Figure 16. Variance comparison of energy consumption for varying numbers of nodes.
6. Conclusions
20
This study proposes URSA. Each node begins the process of uneven clustering according to
the distance to the sink node. Each cluster head node then uses the hybrid radius path-selection
method to construct a connected path to the sink node and adjusts its own depth while maintaining
the uneven layout on the water surface. For each in-cluster node, a cluster head node considers the
redundant coverage rate on the position where the distance between the in-cluster nodes and its basic
nodes is greater than 2Rs , equal to 2Rs and less than 2Rs and, finally, selects its position to minimize
its hop number on the condition of declining coverage rate. The proposed algorithm, taking into
account the indicators of the network coverage rate and network connection rate as the same with
the other mobile-restricted self-deployment algorithms, additionally considers network reliability
and the balance of the energy consumption of the network during node deployment. In addition,
comparing to current algorithms only considering the redundant coverage rate of one or two fixed
positions during optimizing the network coverage rate, the proposed algorithm additionally considers
the coverage redundancy rate of all positions that the node may reach. The simulation results under
different numbers of nodes show that compared to CDA, URSA has a greater network coverage rate,
less and balanced network energy consumption and greater network reliability.
As future work, we plan to extend the ideas in this paper considering the node deployment about
the node probability perception model and free-to-move nodes. The in-cluster position adjustment
strategy needs to be modified to some degree. In addition, we also plan to consider some more
realistic models, such as an underwater environment with some obstacles, to improve the algorithm
adaptability. Meanwhile, we plan to conduct experiments on the simple sensor nodes and to further
verify the algorithm practicability.
Acknowledgments: This paper was supported by the National Natural Science Foundation of China
(NSFC61273072) and the Environmental Protection Plan of Zhejiang Province (2013A034) , the National Natural
Science Major Foundation of Research Instrumentation of China (61427808), the Key Foundation of China
(61333009), the National Key Basic Research Program of China (2012CB821204).
Author Contributions: Peng Jiang and Yiming Xu conceived and designed the research; Peng Jiang and
Yiming Xu performed the research; Peng Jiang, Yiming Xu and Feng Wu wrote the paper.
Conflicts of Interest: The authors declare no conflict of interest.
References
1.
Yick, J.; Mukherjee, B.; Ghosal, D. Wireless sensor network survey. Comput. Netw. 2008, 52, 2292–2330.
[CrossRef]
Sensors 2016, 16, 98
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
22 of 23
Han, G.; Zhang, C.; Shu, L.; Sun, N.; Li, Q. A survey on deployment algorithms in underwater acoustic
sensor networks. Int. J. Distrib. Sens. Netw. 2013, 1, 1–11. [CrossRef]
Guo, Z.W.; Luo, H.J.; Hong, F.; Yang, M.; Lionel, M.N. Current Progress and Research Issues in Underwater
Sensor Networks. J. Comput. Res. Dev. 2010, 47, 377–389.
Heidemann, J.; Stojanovic, M.; Zorzi, M. Underwater sensor networks: Applications, advances and
challenges. Philos. Trans. R. Soc. Lond. A Math. Phys. Eng. Sci. 2012, 370, 158–175. [CrossRef] [PubMed]
Felemban, E.; Shaikh, F.K.; Qureshi, U.M. Underwater Sensor Network Applications: A Comprehensive
Survey. Int. J. Distrib. Sens. Netw. 2015, 2015, 1–14. [CrossRef]
Alam, S.M.N.; Haas, Z.J. Coverage and connectivity in three-dimensional networks with random node
deployment. Ad Hoc Netw. 2014. [CrossRef]
Han, G.; Zhang, C.; Shu, L. Impacts of Deployment Strategies on Localization Performance in Underwater
Acoustic Sensor Networks. IEEE Trans. Ind. Electron. 2015, 62, 1725–1733. [CrossRef]
Verma, D.; Tripathi, A.K. Time Synchronization in Wireless Sensor Network Based on Level Discovery Phase.
Int. J. Comput. Appl. 2014, 104, 101–111.
Liu, L.; Liu, L.; Zhang, N. A Complex Network Approach to Topology Control Problem in Underwater
Acoustic Sensor Networks. IEEE Trans. Parallel Distrib. Syst. 2014, 25, 3046–3055. [CrossRef]
Aziz, A.A.; Sekercioglu, Y.A.; Fitzpatrick, P.; Ivanovich, M. A Survey on Distributed Topology Control
Techniques for Extending the Lifetime of Battery Powered Wireless Sensor Networks. IEEE Commun. Surv.
Tutor. 2013, 15, 121–144. [CrossRef]
Felamban, M.; Shihada, B.; Jamshaid, K. Optimal node placement in underwater wireless sensor networks. In
Proceedings of IEEE 27th International Conference on Advanced Information Networking and Applications
(AINA), West Lafayette, IN, USA, 25–28 March 2013; pp. 492–499.
Temel, S.; Unaldi, N.; Kaynak, O. On deployment of wireless sensors on 3-D terrains to maximize sensing
coverage by utilizing cat swarm optimization with wavelet transform. IEEE Trans. Syst. Man Cybern. Syst.
2014, 44, 111–120. [CrossRef]
Xia, N.; Wang, C.S.; Zheng, R.; Jiang, J.G. Fish Swarm Inspired Underwater Sensor Deployment. Acta Autom.
Sin. 2012, 38, 295–302. [CrossRef]
Li, X.; Ci, L.; Yang, M. Deploying three-dimensional mobile sensor networks based on virtual forces algorithm.
In Advances in Wireless Sensor Networks; Wang, R., Xiao, F., Eds.; Springer: Berlin, Germany; Heidelberg,
Germany, 2013; pp. 204–216.
Du, H.; Xia, N.; Zheng, R. Particle Swarm Inspired Underwater Sensor Self-Deployment. Sensors 2014, 14,
15262–15281. [CrossRef] [PubMed]
Detweiler, C.; Doniec, M.; Vasilescu, I. Autonomous Depth Adjustment for Underwater Sensor Networks:
Design and Applications. IEEE ASME Trans. Mechatron. 2012, 17, 16–24. [CrossRef]
Younis, M.; Akkaya, K. Strategies and techniques for node placement in wireless sensor networks: A survey.
Ad Hoc Netw. 2008, 6, 621–655. [CrossRef]
Pompili, D.; Melodia, T.; Akyildiz, I.F. Deployment analysis in underwater acoustic wireless sensor networks.
In Proceedings of the 1st ACM International Workshop on Underwater Networks, Los Angeles, CA, USA,
25 September 2006; pp. 48–55.
Nazarzehi, V.; Savkin, A.V. Decentralized control of mobile three-dimensional sensor networks for complete
coverage self-deployment and forming specific shapes. In Proceedings of the IEEE Conference on Control
Applications (CCA), Sydney, Australia, 21–23 September 2015; pp. 127–132.
Wang, Y.; Liu, Y.; Guo, Z. Three-dimensional ocean sensor networks: A survey. J. Ocean Univ. China 2012, 11,
436–450. [CrossRef]
Detweiler, C.; Doniec, M.; Vasilescu, I.; Basha, E.; Rus, D. Autonomous depth adjustment for underwater
sensor networks. In Proceedings of the Fifth ACM International Workshop on Underwater Networks, New
York, NY, USA, 1 October 2010; pp. 12–16.
Vasilescu, I.; Detweiler, C.; Rus, D. AquaNodes: An underwater sensor network. In Proceedings of the
Second Workshop on Underwater Networks, New York, NY, USA, 14 September 2007; pp. 85–88.
Wu, J.; Wang, Y.; Liu, L. A Voronoi-Based Depth-Adjustment Scheme for Underwater Wireless Sensor
Networks. Int. J. Smart Sens. Intell. Syst. 2013, 6, 244–258.
Akkaya, K.; Newell, A. Self-deployment of sensors for maximized coverage in underwater acoustic sensor
networks. Comput. Commun. 2009, 32, 1233–1244. [CrossRef]
Sensors 2016, 16, 98
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
23 of 23
Du, X.Y.; Li, H.; Zhou, L. Coverage Algorithm Based on Fixed-directional Movement for Underwater Sensor
Network. Comput. Eng. 2015, 41, 76–80.
Senel, F.; Akkaya, K.; Erol-Kantarci, M.; Yilmaz, T. Self-deployment of mobile underwater acoustic sensor
networks for maximized coverage and guaranteed connectivity. Ad Hoc Netw. 2014. [CrossRef]
Mehmood, A.; Lloret, J.; Noman, M.; Song, H. Improvement of the Wireless Sensor Network Lifetime using
LEACH with Vice-Cluster Head. Ad Hoc Sens. Wirel. Netw. 2015, 28, 1–17.
Ma, S.Q.; Guo, Y.C.; Lei, M.; Yang, Y.; Cheng, M.Z. A Cluster Head Selection Framework in Wireless Sensor
Networks Considering Trust and Residual Energy. Ad Hoc Sens. Wirel. Netw. 2015, 25, 147–164.
Heinzelman, W.B.; Chandrakasan, A.P.; Balakrishnan, H. An application-specific protocol architecture for
wireless microsensor networks. IEEE Trans. Wirel. Commun. 2002, 1, 660–670. [CrossRef]
Ye, M.; Li, C.; Chen, G.; Wu, J. EECS: An energy efficient clustering scheme in wireless sensor networks. In
Proceedings of the IEEE 24th Conference on Performance, Computing, and Communications, New York, NY,
USA, 7–9 April 2005; pp. 535–540.
Tsai, Y.R. Coverage-preserving routing protocols for randomly distributed wireless sensor networks. IEEE
Trans. Wirel. Commun. 2007, 6, 1240–1245. [CrossRef]
Abbasi, A.A.; Younis, M. A survey on clustering algorithms for wireless sensor networks. Comput. Commun.
2007, 30, 2826–2841. [CrossRef]
Lloret, J.; Garcia, M.; Bri, D.; Diaz, J.R. A cluster-based architecture to structure the topology of parallel
wireless sensor networks. Sensors 2009, 9, 10513–10544. [CrossRef] [PubMed]
Yuan, H.; Liu, Y.; Yu, J. A new energy-efficient unequal clustering algorithm for wireless sensor networks.
In Proceedings of the IEEE International Conference on Computer Science and Automation Engineering
(CSAE), Shanghai, China, 10–12 June 2011; pp. 431–434.
Qiao, X.G.; Wang, H.Q.; Gao, S.B.; Wang, Z. A Chain Structure-Based Uneven Cluster Routing Algorithm for
Wireless Sensor Networks (CSBUC). J. Appl. Sci. 2013, 13, 5220–5226. [CrossRef]
Ahmed, S.; Javaid, N.; Khan, F.A.; Durrani, M.Y. Co-UWSN: Cooperative Energy-Efficient Protocol for
Underwater WSNs. Int. J. Distrib. Sens. Netw. 2015. [CrossRef] [PubMed]
Jiang, P.; Ruan, B.F. Cluster-Based Coverage-Preserving Routing Algorithm for Underwater Sensor Networks.
Acta Electron. Sin. 2013, 10, 2067–2073.
Chen, G.; Li, C.; Ye, M. An unequal cluster-based routing protocol in wireless sensor networks. Wirel. Netw.
2009, 15, 193–207. [CrossRef]
Ye, M.; Chan, E.; Chen, G. On mitigating hot spots for clustering mechanisms in wireless sensor networks. In
Proceedings of the IEEE International Conference on Mobile Adhoc and Sensor Systems (MASS), Vancouver,
BC, Canada, 1 October 2006; pp. 558–561.
Dantu, K.; Rahimi, M.; Shah, H. Robomote: Enabling mobility in sensor networks. In Proceedings of the 4th
International Symposium on Information Processing in Sensor Networks, Los Angeles, CA, USA, 5–6 May
2005; pp. 404–409.
© 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons by Attribution
(CC-BY) license (http://creativecommons.org/licenses/by/4.0/).