Node Self-Deployment Algorithm Based on an

3 downloads 0 Views 5MB Size Report
Jan 14, 2016 - Key Lab for IOT and Information Fusion Technology of Zhejiang, Hangzhou ... node deployment, node localization, time synchronization, network protocol design, etc. ...... neighbor nodes for each other; so do p4, p5 and p6.
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)=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/).