First, building an UWSN requires deploying the sensor nodes to the corresponding positions and organizing them into a network. Hence, the formation of an UWSN includes the network node deployment and networking. Node deployment is to place a certain number of sensor nodes in the designated area, to set up the cruising path of UUVs, and so forth. Networking mainly organizes the already deployed nodes and establishes the network topology, determines the routing policy and data transmission strategy of the network, and makes the network available to users. Therefore, the systematic performance of an UWSN depend not only on the physical performance of its nodes, but also on how these nodes are organized.
3.1. UWSN Deployment Process Based on Improved Body-Centered Cubic Lattice
The UWSN nodes need to be deployed in a certain environment, and they are influenced by the environment and the physical properties of the nodes themselves. The optimal ball-body coverage mode is a body-centered cubic lattice, whose normal coverage (NBCL) is shown in
Figure 1a. In NBCL, the body-centered cubic lattices structure is piled up layer by layer by regular ball-bodies. If the boundary effect is ignored, this network topology needs less nodes for certain monitored spaces, but the ratio of energy consumption in the UWSN will become much larger, so we improve the NBCL to a Cross Body-centered Cubic Lattice (CBCL), shown as
Figure 1b. In CBCL, the ball-bodies on the higher level are cross stacked over the spaces between ball-bodies on the next layer, and the cubic space is divided into hierarchies and monitors from the top down. The basic idea of CBCL generation is to utilize the vertical movement of sensor nodes to generate a similar body-centered cubic lattice from a planar square lattice. First, randomly distributed nodes on the plane are included into the Voronoi cell of different planar square lattices. Nodes in the same cell decide whether to enter the active state based on the states of other nodes in the cell. At the same time, the monitored space is divided in terms of the Voronoi cells of a body-centered cubic lattice. The moving depth of the sensor nodes is determined by the coverage scope of the body-centered cubic lattice. By moving in a vertical direction the nodes are deployed in the Voronoi cells of the body-centered cubic lattice hierarchically. With an adequate number of active nodes, the CBCL can form a 3D underwater monitoring network, which effectively reduces the energy consumption of the network without affecting the coverage scope.
If this CBCL structure is projected onto a plane it forms a planar square lattice CL shown in
Figure 1c, and the planar square lattice of NBCL as CL. The Voronoi centre of each layer is distributed on the vertex of CL.
We assume that the monitored space length is
x, width is
y, depth is
z, detection radius of the sensor is
db, and the number of columns, lines and layers along the direction of
x,
y,
z are
n1,
n2,
n3, respectively, and the distance between sensor nodes in the same layer is
a. The position relationship of sensor nodes in NBCL when the monitored space is overcovered, is shown in
Figure 2. In
Figure 2a, the relationship between the
db and
a is
. In
Figure 2b,
h represents the height of common coverage area among three sensor nodes, then
h meets of
, and the spacing of layers could be expressed with
.
When
d = 2
,
h = 0 and
H =
.
Figure 2c is the vertical view of the deployment of sensor nodes, and
l and
L represent the line distance and column distance of the nodes ranked according to the width and the length of the monitored space, respectively, then
l =
a/2 and
L =
a. Then the number of sensor nodes for the monitored space is
N, hence, the formula (1) will be obtained:
In accordance with space geometry, the relationship between the coverage radius
Rbcc of the CBCL and coverage radius
RCL of the planar square lattice CL can be computed. A unit of CBCL is shown in
Figure 2a, in which the side length of the cubic body is
a.
Figure 2b shows the relationship between lattice packing radius
ρbcc and side length
a, thus:
ρbcc =
and
Rbcc =
,
Rbcc =
.
Figure 1c shows a part of the planar square lattice CL, which is projected from the CBCL onto a plane. The coverage radius of the planar square lattice is the circumscribed circle radius of the Voronoi cell, thus
RCL =
a/2 and
RCL =
.
As all sensor nodes are deployed on the sea surface in the beginning, they can be seen as being on the same plane. The improved CBCL divides the nodes on the plane into different square cells according to the square lattice CL. We set the coverage radius of the square lattice CL to RCL, then the coordinates of the reference point are (xc,yc), thus the coordinates of lattice point in CL are (), where u and v are integers. A square lattice can be uniformly represented by a binary set (u,v), thus (u,v) is used as the ID of the lattice point. The square cell ID of any node on the plane is that of the lattice point closest to the node.
In order to complete the 3D network node deployment, the sensor nodes must be sunk to different depths. The network is generated by planar nodes in accordance with the CBCL, so we need to distinguish the type of the square lattice point which the node belong to. According to
Figure 1, the CL contains two types lattice point: type 1 and type 2. If the ID of Voronoi cell in type 1 and type 2 are respectively (
u1,
v1) and (
u2,
v2), we consider the following theorem:
Theorem 1. In square lattice CL, the sum of u1 and v1 in type 1 is W1 = u1 + v1, and the sum of u2 and v2 in type 2 is W2 = u2 + v2. One of W1 and W2 must always be odd, and the other must always be even.
For example in
Figure 1c, if the lattice point Lp
1 is the type 1, then
W1 =
u1 +
v1. If Lp
2 belongs to type 2, then
W2 =
u2 +
v2 = (
u1 + 1) +
v1, so if
W1 is an odd integer, that the
W1 must be an even integer.
Suppose the initial depth of the network monitoring 3D underwater space is
D0, and its maximum depth is
Dm. According to the CBCL in
Figure 1, the monitored space is stratified from top to bottom in the light of the plane of the CBCL. The distance between adjacent layers is called inter-laminar space, represented by
dl, and as
Figure 2a shows,
dl =
, when the coverage radius of the
CBCL is
Rbcc. Hence the depth of
i layer in monitored space is
D0 +
i∙
dl,
I = 0, 1, ⋯,
n − 1, where
n = (
Dm −
D0)/
dl + 1. Assume the square cell ID of a node on the plane is (
u,
v). Generally, the sensor nodes are deployed in the even layer when
u + v is even; the sensor nodes are deployed in the odd layer when
u + v is odd. Assume that sensor nodes are continually placed in the lattice points of the planar square CL in
Figure 1, and they move down layer by layer according to the above method. In that way the network in the CBCL structure is generated. In practice, the positions of the sensor nodes on the plane are not overlapping. Some redundant nodes can be selected to generate a network in an approximate CBCL structure in the same way. As analyzed above, the network deployment process and topology generation method can be described as in
Figure 3.
From
Figure 3, the steps of the method are described as follows:
- Step 1.
Place the sensor node randomly on the ocean surface. After anchoring, it calculates the ID of the unit it belongs to according to its coordinates (obtained by GPS) and the pre-designated reference points, then enters into sleep state. The sleep time of nodes obeys the index distribution [
7], and the probability density function is
, where
λ is the startup speed;
ts is the sleep interval. The original value of parameter
λ determines the interval in which the network wakes up enough nodes during the deployment phase.
- Step 2.
The node enters into startup state after awakening. The node broadcast startup messages within Rp radius, which contains its own unit ID. To send the startup message to any nodes in the same cell, the Rp should be set to satisfy the condition that Rp ≥ 2RCL.
- Step 3.
For any active node which receives startup messages, if it belongs to the same unit as the starter node does, it sends a reply message which contains information of the layer where the sensor node is. Otherwise, it ignores the startup message.
- Step 4.
If the starter node does not receive any reply message within a certain interval, the sensor nodes will move to any layer of underwater monitored space from the surface and enter into active state. While the starter node receives the reply message, it first determines the number of active sensor nodes in this cell, and if there are k sensor nodes in active state in every layer, the sensor nodes go back into the sleep state. Otherwise, the sensor nodes move to a layer with less active nodes and enter active state.
- Step 5.
When the active nodes responds to the reply message from the neighbor node, they compare with the nodes with least work time in replying to the message only when there are k working nodes on the layer the node is in. It enters into the sleep state if its work time is shorter.
3.2. Cross Deployment Networking Method
Compared with radio communication, acoustic communication has low data transmission rates and high error rates. Therefore, in order to improve the reliability of data transmission and the parallel data transmission capabilities, we have built a K-Connected K-Dominating Set (K-CDS) as the virtual communication backbone, and proposed a Cross Deployment Networking Method (CDNM) of UWSNs suitable for the underwater environment. In CDNM, nodes on the communication backbone are responsible for data transmission. The users can query data by accessing the nodes on this communication backbone.
Firstly, we introduce the concept of the
K-CDS. A point set
V is
K-connected if and only if the network is still connected after any of the
K − 1 points is taken out of this set. A point set
V’ ⊆
V is
K-dominated if and only if the nodes in set
V are in dominating set
V’ or there are
K neighbor nodes in the dominating set. A point set
V’ ⊆
V is
K-connected
K-dominated, if
V’ is
K-dominated, and the induced sub-graph of
V’ is
K-connected. As shown in
Figure 4,
K = 1, 2, 3 and 8 nodes form the
K-CDS of the point set, in which points marked as concentric circles are selected into the
K-CDS.
Because the nodes are deployed randomly, the neighbor relationships between nodes are also generated randomly. Therefore, during the
K-CDS building process, we adopt the random method, namely, every node has a probability of
pk of being a backbone node. The
pk is a function that depends on
K and the number of sensors. The algorithm of CDNM (Algorithm 1) is then described as follows:
Algorithm 1: CDNM |
1: Initial network nodes set
NNS = all node, virtual communication backbone nodes set VCB_set = Ø, no virtual communication backbone nodes set NVCB_set = Ø and setup the initial value of pk; Random select Ni from NNS as initial node of virtual communication backbone; Put Ni into VCB_set; |
2: For(j == 0; j <= the node number of NNS; j++) |
3: Random select Nk from other nodes in pk probability |
4: If(Nk is not a member of VCB_set and Nk + VCB_set meeting K-CDS) |
5: Put Nk into VCB_set; |
6: else |
7: Put Nk into NVCB_set; |
8: end if; |
9: end for; |
10: create routing protocol on OSPF; |
11: end. |
When pk is appropriate, there is a high probability that the network can be built with K-CDS and CDNM. For example, in a network which includes 200 nodes, 2-CDS can be built with a probability of 98.2% when pk is 50%, 3-CDS can be built with a probability of 97.4% when pk is 60%. The advantage of this approach lies in its simplicity: it can build K-CDS without interaction with other nodes around it and it is especially suitable for environments with poor underwater communication conditions. After the K-CDS is completed, the network begins to generate the routing, namely, to build the routing table between K-CDS.