Journal of Sensors
Volume 2018 (2018), Article ID 1091630, 13 pages
https://doi.org/10.1155/2018/1091630

Research Article

RSHSC-Routing Algorithm Based on Simplified Harmony Search and Coding for UWSNs

Meiju Li,1,2,3 Xiujuan Du,1,2 and Chunyan Peng1,2

¹Computer Department, Qinghai Normal University, Xining 810008, China
²Key Laboratory of the Internet of Things of Qinghai Province, Xining 810008, China
³College of Physics and Electronic Information Engineering, Qinghai Nationalities University, Xining 810007, China

Correspondence should be addressed to Xiujuan Du; 124111397@qq.com

Received 6 June 2018; Accepted 10 September 2018; Published 13 November 2018

Guest Editor: Mohammed T. Ghoneim

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

Abstract.

With the development of wireless networks and increasingly interest of people in underwater resources and environment, UWSNs are being paid more and more attention. Because of the characteristics of underwater channel and acoustic signal, the protocols used in the terrestrial networks cannot be directly used in UWSNs. In this paper, a reliable and energy-efficient routing protocol based on SHS and coding, called RSHSC, is proposed. Firstly, regular nodes are assigned to cluster heads according to simplified harmony search algorithm. Secondly, partial network encoding is introduced and the next two-hop information is considered when data packets are transmitted to sink nodes from the source node. Only the best next-hop forwards data packets. All data packets from neighbor nodes are used for decoding. Thirdly, two schemes of updating routing are designed and compared. Lastly, extensive simulations prove RSHSC is effective in improving reliability and decreasing energy consumption.

1. Introduction

In recent years, UWSNs (underwater wireless sensor networks) attracted more and more attentions because of the wide application such as marine source exploration and pollution monitor [1–3]. Like other wireless networks, it is necessary to improve the communication performance for UWSNs. However, UWSN is different from other wireless networks. UWSN has some characteristics that other wireless networks have not. Firstly, UWSN is provided energy by batteries. Once the battery is exhausted, the node is considered as dead [4]. Meanwhile, the acoustic communication consumes more energy than radio signal and optical signal. Secondly, underwater channel is complex because of shipping, marine organisms, and so on [5]. Besides, the communication quality is affected by multipath resulting from the reflections, water salinity, temperature, and so on [6]. Thirdly, mobile topology [7]. The position of the node is forced to change with the water currents and marine biological activities [8]. Fourthly, the propagation delay is longer than terrestrial networks. The propagation speed of acoustic signal under water is just 1500 m/s, which is five magnitude lower than radio signal on land (3 × 10⁸ m/s) [9]. Because of those factors of UWSNs, the protocols used on the land cannot be directly applied in UWSNs, especially for routing protocols. Therefore, designing a routing protocol special for UWSNs is necessary [10–12].

Like most wireless networks, the performances of delay, energy consumption, reliability, and throughput and bandwidth utilization are important in UWSNs [13]. In recent years, more and more routing protocols are proposed. Some of them are to decrease energy consumption, some of them are to shorten delay. They are effective in certain scenarios but cannot take into account multiple performance.

The contributions of this paper are showed as follows:

(1)The regular nodes are assigned to the cluster heads based on simplified harmony search algorithm (SHS). Two schemes are designed(2)Partial network coding is introduced when routing data from source cluster head to the sink node. Meanwhile, the data from all neighbor nodes are used for decoding, which makes full use of the broadcast characteristics of UWSNs(3)Two schemes are compared for maintaining routing timely: when the speed of water flow is constant, scheme 1 is adopted; otherwise, the scheme 2 is used(4)Through simulations, the best SHS and routing maintaining algorithm are determined and the performance of RSHSC is evaluated

2. Relative Works

Researchers have designed some routing protocols for UWSNs in recent years. In 2008, Yan et al. proposed DBR routing algorithm [14]. In DBR, neighbors with less depth need to wait a certain time to forward data packets. The lengths of waiting time of neighbors are set according to the depth. The more depth, the shorter waiting time. The neighbor will cease to forward if hearing the same data packets during waiting time. DBR has some defects. Therefore, some improved protocols are provided. Residual energy is introduced to select next-hop in EEDBR [15]. DBR-NC uses the coding technique [16]. To avoid selecting next-hop in the void area, next-hop of the next-hop is considered in WDFAD-DBR [17]. Meanwhile, the forwarding area is adjusted according to node dense. LMPC is proposed in [18]. In LMPC, a data packet is delivered along multiple paths according to binary tree. FLMPC improved LMPC in [19]. Nodes are classified into cross nodes and regular nodes. Only the cross nodes generate binary tree. Hao et al. proposed GPNC algorithm [20]. Data packets are forwarded to sink greedily using the sensor nodes’ location information. GPNC incorporates partial network coding. In L2-ABF, the sender selects next-hop by calculating the forwarding angle. CoUWSN uses cost function of distance and SNR of the link to decide the next-hop [21]. Sink mobility pattern is given in DEADs [22]. AEDG is proposed in [23]. In AEDG, AUV is used to collect data. To prevent gateway overloading, the number of associated node with the gateway node is limited. The residual energy and number of neighbors are considered. Hubcode is proposed in [24]. Hubcode is an algorithm based on cluster. Hubcode exchanges coefficient matrix and gets initial data via calculating inverse matrix. In BLOAD [25], the weight of nodes is calculated according to the distance among nodes, the more overlap area in the coverage range of the node, the less importance for the node. In TSBNC, the coding is introduced into the time-slot algorithm [26]. Network coding and cross-layer are used in NCRP [27]. The node with the least weight is selected as the cluster head. In QDAR [28], end-to-end delay and residual energy are introduced into the Q-Learning algorithm. In LB-AGR, the best next-hop is determined based on density, available energy, location, and level difference between neighbor nodes [29]. The characteristics of these protocols are showed as Table 1.

Table 1: Protocols characteristics.

Protocol name
Characteristics
Advantage
Disadvantage

DBR
Select next-hop only based on depth
Independent location information, decrease part of redundant forwarding
Long delay, high energy consumption

EEDBR
Residual energy is considered
Prolong network life
Long delay, redundant forwarding

DBR-NC
Coding is introduced
Reliable
Long delay, energy is not considered

WDFAD-DBR
Next two-hop information is considered. Adaptively adjust the forwarding area according to node dense
Avoid selecting the node in the void area as the next-hop
Long delay in sparse network delivery ratio is low

iAMCTD
Courier node is used
Courier node decreases delay, optimized threshold decreases redundant forwarding
Energy unbalance

LMPC
Establish binary tree
Reliable, high delivery ratio
High energy consumption, void node is not considered

FLMPC
Establish binary tree from the sensor nodes which reside near the layer
Copies in the cross node increase the delivery ratio, decrease the retransmission
Routing update is not considered, multiple routing wastes energy

GPNC
Network coding is used based on geographic location information
Reliable, decrease energy consumption, shorten delay
Void node is not considered, energy unbalance

CoUWSN
Uses multiple input multiple output
Save transmit power, increase data rate, extend the communication range
Consume more energy, long delay

DEADs
Cooperative routing is joined with sink mobility
High throughput, prolong network life
Waste energy, energy unbalance

AEDG
Use shortest path tree to assign nodes to gate way
Network lifetime prolongation, throughput maximization
Long delay

Hubcode
Use hubs as relay and encode multiple messages address to the same destination
Reducing the forwarding overheads, increasing the delivery ratio
Energy balance long delay

BLOAD
Addressing energy hole, mixed routing scheme (including directly and multiple hop communication) is used
Balance energy, avoid energy hole
The node with longer distance to sink dies quickly

TSBNC
Theory of network coding is introduced into time-slot based routing algorithm
Decrease energy consumption and collisions
Energy unbalance, long delay

NCRP
Network coding and cross-layer design are used
High delivery ratio, save energy
Void node is not considered, energy unbalance

QDAR
Q-learning algorithm is introduced
Extending network lifetime and short delay
In the mobile network, energy consumption is high. Link quality is not considered

LB-AGR
Nodes are divided into different levels, upstream and downstream are considered when selecting the best-next-hop
Comprehensive factors are considered
The void node is not considered, greedy routing

3. Model Analysis

In this sector, network model, energy and propagation model are analyzed.

3.1. Network Model

The network model is showed in Figure 1. In our network, nodes are deployed in the 3D underwater environment and divided into three types: regular nodes, advanced nodes, and sink nodes. The first two nodes are defined as follows:

(i)Regular nodes: the nodes have ordinary amount of initial energy, which can communicate with advanced nodes and sink nodes(ii)Advanced nodes: the nodes have more initial energy than regular nodes. Advanced nodes can communicate with each other, regular nodes and sink nodes. The advanced node is also called as the cluster head (CH). The advanced nodes with almost depth are divided into the same levels

Figure 1: Network model.

In the network, each sink node is equipped with both acoustic modem and RF modem, which are responsible for communicating with underwater nodes (regular nodes and advanced nodes) and data centers, respectively. Each underwater node is equipped with an acoustic modem, which is responsible for communicating with each other and sink nodes. All nodes mobile with water flow. Each node can get the location information of itself.

3.2. Channel Model

To design a routing algorithm with high bandwidth utilization, energy efficient and reliable for UWSNs, we must learn about the channel model. In UWSNs, channel is affected by absorption loss and spreading loss. The attenuation is showed as (1) [21].

Here, is the spreading factor, and the value is 1.5 for practical applications. is the spreading distance. is a normalization constant. is presented as (2).

There are great many types of noise under water. The main noise include turbulence (), shipping (), waves (), and thermal noise (). These noises can be modeled by the power spectral and Gaussian statistics as (3), (4), (5), (6), and (7) [22].

Here, is the shipping factor (varies from 0 to 1), is the wind velocity (varies from 0 to 10 m/s), and denotes the carrier frequency.

Therefore, the signal to noise (SNR) is showed as (8), which is related to the propagation distance () and the carrier frequency (). is the bandwidth.

According to Shannon theory, channel capacity is calculated as (9) [21].

4. Protocol Design

The implementation of RSHSC consists of four steps: initialization, cluster construction, intercluster routing, and routing maintaining. In initialization phase, sink nodes broadcast beacon signal with the location information of themselves to underwater nodes. Cluster heads broadcast hello packets. Regular nodes broadcast information packets. The details of initialization phase are showed in Section 4.1. In cluster construction phase, regular nodes are assigned to the cluster head based on SHS algorithm, which is detailed in Section 4.2. In the interclusters routing phase, the cluster head encodes original packets and selects the best next-hop according to the information of neighbors and next two hop, which is detailed in Section 4.3. Because nodes mobile with the water flow, the routing needs to be updated timely. In routing maintaining phase, two algorithms are provided to decrease the energy consumption and collision results from sending too many nondata packets, which is detailed in Section 5.

4.1. Initialization

Sink nodes broadcast beacon signal including location and ID of themselves. After receiving beacon signal, each cluster head calculates and saves the distance between itself and sink nodes. Then, the cluster head broadcasts hello packet, whose format is showed in Table 2. “ID” is the source node ID of the hello packet. Seq number is the sequence number of the hello packet. “ID1,” “ID2,” and “ID3” are the ID of member nodes. Initially, the field of “ID1”, “ID2,” and “ID3” are filled with “0.” Address is the location information of the cluster head. “RE_ENERGY” is the residual energy of the cluster head. The regular node sends information packets after receiving a hello packet. The format of information packet is showed in Table 3. “ID1” is the ID number of the cluster head with the highest priority that the regular node joins in. “Distance 1” is the distance to the cluster head with ID1. “ID2” and “Distance 2” are as the ID1 and Distance1. Before receiving less than three information packets from different regular nodes, the corresponding ID is filled with “0.” Analogously, the ID2 and Distance2 are filled with “0” when receiving hello packets with only ID address.

Table 2: Format of hello packet.

ID
Seq number
ID1
ID2
ID3
Reserve
RE_ENERGY
Address

Table 3: Format of information packet.

ID
ID1
Distance1
ID2
Distance 2

In this phase, on one hand, regular nodes and cluster heads get information from each other; on the other hand, cluster heads get the information of neighbor cluster heads.

4.2. Cluster Constructing

In the process of cluster constructing, the harmony search algorithm is introduced.

4.2.1. Harmony Search (HS) Algorithm

HS is a heuristic global search algorithm. The I instruments () are analogous as the I variables to solve optimization problems, and the harmonic of each musical instrument tone () is equivalent to the j solution vectors of the optimization problem, and the evolution is analogous to the objective function.

The procedure of HS is as follows:

(1)The algorithm generates initial solutions into the harmony memory (HM) and searches for new solutions in HM with a probability HR(2)The algorithm generates local perturbations to the new solution with probability . If the new solution objective function value is better than the worst solution in HM, replace it(3)Iterate iteratively until the expected number of iterations is (4)As above, by introducing HR and , HS algorithm is expected to the balance of exploration ability of the solution space, but there is no the recital basis for how to choose the value

4.2.2. Simplified HS

According to the characteristics of UWSNs, the average number of regular nodes managed by each cluster head is small, and it is difficult to get the global information of the whole networks. Therefore, the simplified HS algorithm is proposed for UWSNs.

(A)Taking regular nodes as research objects, the assignment is determined by regular nodes. We simplify the HS (HSA) as follows:

(1)The objective function is

 Here, . presents the distance between the regular node and the cluster head . presents the number of members for cluster head . is the communication radius. When is constant, the less , the better assignment. The first part reflects the balance among regular nodes, and the second part reflects the balance among cluster heads.(2)Because any regular node is assigned to only the cluster head in its communication range, we use the local selection of regular nodes being assigned to the cluster head to replace the global assignment. So the . is the number of member nodes of cluster heads and adjacent to . is the HM, is the ID of the cluster head the regular node joining in. For example, in Figure 2, the regular nodes are , . While , (3)According to the information of cluster heads recorded in the regular nodes, the HM is adjusted at probability . is calculated by (11). Here, , , is the number of cluster head in the communication range of regular node , is the distance between the node and the cluster head. If the adjusted objective function is bigger than the value before, replace it. Otherwise, the HM is kept

(B)Taking cluster heads as research objects, the assignment is determined by cluster heads. We simplify the HS (HSB) as follows:

(1)The objective function is the same as HSA(2)Similar to HSA, . is the aggregate of member nodes in the cluster head . As is showed in Figure 2, , then (3)According to the information of regular nodes recorded in the cluster heads, the HM is adjusted at probability . is calculated by (12), is the probability each member having only one cluster head, and is the probability being adjusted into another cluster head. can be gotten from (13). and denote the residual energy of the cluster heads in a regular node communication range, and are the number of members in a cluster, respectively,

Figure 2: Regular node assignment.

4.3. Routing Construction

How are data packets transmitted from a source node to the sink node? In this section, the procedure is analyzed.

4.3.1. Review of Routing

According to the initialization procedure, each CH saves the information of neighbor CHs as showed in Table 4. After receiving a hello packet, the CH firstly checks the “address” field and calculates the distance between the source node of hello packet and the sink node. Only the cluster head with shorter distance to the sink node has opportunity to be the next-hop. The priority of neighbors is calculated by formula (14). is the advanced distance to the sink node. As showed in Figure 3, CH₂ is the source cluster head, CH₁ is the neighbor of CH₂, S is the sink node. The is the advanced distance to node S. We set the coordinate of CH₂, CH₁, and S is (), (), and (), respectively. From the coordinate, we can get , , , . So . The more , the higher priority. Only the neighbor cluster head with the highest priority forwards the data packet.

Table 4: Neighbors’ information table of cluster head.

ID
Address
Residual energy
Address of next-hop
Next-hop residual energy
Priority

Figure 3: Advanced distance.

As above, the node with bigger advanced distance to sink and more residual energy is selected as the best next-hop. Therefore, the selected next-hop may have far distance to the previous hop, which leads to the big probability of failing to deliver. To enhance the reliability of the network, in our algorithm, coding is introduced.

4.3.2. Network Coding

In most of conventional routing algorithms, the forwarder is responsible for relaying data without any processing. However, in UWSNs, like other wireless communications, broadcast is adopted. Meanwhile, the bandwidth is limited and delay is long. In order to make full use of the characteristics of broadcast and limited bandwidth, network coding is an efficient measure. The basic procedure of network coding is showed in Figure 4.

(a) Without coding

(b) Coding

Figure 4: Coding theory.

The data packet a is from node A. The data packet b is from node B. The node C is a relay.

In the network without coding as Figure 4(a), the necessary number of time slots to exchange data packets a and b is 4. While in Figure 4(b), the number is 3.

Furthermore, we compare the partial network coding with the full network coding. In Figure 5, the data packets , , and are sent from the node A to node B. Here, we make

(a) Full network coding

(b) Partial network coding

Figure 5: Full network coding and partial network coding.

Node A encode data packets into .

To decode the encoded packets into original data packets, node B needs all data packets. So, the delay to transmit these three data packets is 3T (T is one slot time). In Figure 5(b), the partial network coding is showed. Here, , , and . So, in the partial network coding, recovering , , and into original packets needs T, 2T, and 3T, respectively. The average delay to transmit these three packets is . Comparing the partial network coding with full network coding, we can get the partial network coding is better than full network coding.

In our algorithm, partial network coding is adopted. Each relay receives the encoded packets and decodes them. Then the next-hop of relay continues to encode the original data packets until the sink node receives the packets. If the sink node is in the communication range of the relay, the decoded packets are directly forwarded to the sink node.

As showed in Figure 6, during the routing procedure, the CH receives original data packets from member nodes and encodes the original data packets. The CH hears the data packets from regular nodes which are not its member node, drops them. When it hears a data packet from the neighbor with longer distance to the sink node, the CH checks weather it is helpful to decode if the next-hop of data packets is not the current ID. If received encoded packet have been decoded, CH drops it. If there is no association with the encoded packets saved, CH saves them and broadcasts data packets for a certain time. Otherwise, the received data packet is used to decode. For example, CH₁ successively hears encoded packets , , and , , , , and . We assume have been decoded in CH₁, then is decoded using , is decoded by , however, is helpless for decoding any new original packet, CH₁ will drop . While there is no association between data packets are encoded into and the encoded packets saved in CH₁, so CH₁ saves and broadcasts after a certain time.

Figure 6: Encoding algorithm flow chart.

The procedure of encoding algorithm is showed in Figure 6.

4.3.3. Routing Procedure

The detailed routing procedure is showed in Figure 7. After receiving a hello packet, cluster head checks three conditions including: (1) the hello packet is from a neighbor nearer to the sink node. (2) The residual energy is more than a preset value . (3) The source node of D exits next-hop. When these three conditions meet requirements, the node calculates the priority of the neighbor as (14). If the is bigger than the priority value of the next-hop saved before, replaces . Otherwise, drop the hello packet.

Figure 7: Routing algorithm flow chart.

5. Routing Maintained and Update

Because of the topology is mobile as the time goes by, routing needs to be updated timely. Here, there are two schemes to update route.

5.1. Scheme 1

In our protocol, data is transmitted block by block [27]. In scheme 1, control packets are introduced. After receiving the last packets in a block, the next-hop node reply ACK packets including the number and ID of recovered packets and unrecovered packets. When the ratio of recovered packets to transmitted packets is lower than 70%, the previous hop resends the unrecovered original packets. Meanwhile, the cluster head sends request packets to update routing. The neighbor nodes send reply packets after receiving hello packets according to the requirements in Figure 7. The node calculates the priority and updates the best next-hop.

The scheme 1 is simple to realize, and period broadcasting control packets is avoided. Extra control packets are decreased compared with the previous routing update algorithms, which decreases the collisions and energy consumption. Meanwhile, only the next-hop with lower delivery ratio is updated, and other nodes are not affected.

However, the back and forth time of the control packets is too long because of the long propagation delay in UWSNs. The unstable stage results in the failing to deliver data packets. Therefore, the scheme 2 of updating routing is proposed.

5.2. Scheme 2

We know, in our algorithm, the location information of nodes can be gotten. The updating algorithm can be designed according to the location information. As Figure 8, CH₁ is the sender and CH₂ and CH₃ are the neighbors of CH₁ with the shorter distance to the sink node. With the water flow by, CH₂ and CH₃ may run out of the communication range of CH₁ in some time. Because of the distance between CH₁ and its neighbors is different, the time varies. To get the average time of running out of the current cluster head for each neighbor, the expected value of time is calculated.

Figure 8: Expected time.

Comparing with the horizontal movement, the motion of vertical direction has a small range and can be ignored. The neighbors with shorter distance to the sink node are set as uniform distribution. The expected distance, , running out of communication range is showed as (17). The expected time is as showed in (18). Here, is the water flow speed. The period of updating routing is set as .

6. Performance Evaluation

6.1. Theoretical Analysis

6.1.1. The Size of a Block

To get the information of recovered data packets in next-hop, an ACK packet is necessary from the next-hop. To decrease the number of ACK packets, an ACK packet is sent for a block. The bigger the block, the less ACK to transmit constant data packets. However, because of the harsh environment under water, the bigger the block, the less probability of a successful delivery, which leads to too many re-transmission of original data packets. We know, the more original packets being transmission, the more energy consumption.

For the size of block is packets and the packets is bits, we assume the probability failing to deliver one bit is . The probability of a block successfully delivery to next-hop is as (19).

Therefore, we should select moderate block size to balance the delivery ratio and energy consumption.

6.1.2. The Number of Encoded Packets

From the basic theory of coding, we know the number of sending encoded packets should be more than original packets to decode them into initial packets. In fact, the more linearly independent encoded packets are sent, the easier they are to decode. However, too many packets being transmitted wastes energy and results in collision. The effective transmission is defined as (20). can be adjusted according to ACK from the next-hop. When the ratio recovered packets to total transmitted original packets is lower than , the number of sending encoded packets must be adjusted according to (21). is the number ratio of recovered packets to total transmitted original packets at time .

6.1.3. The Energy Consumption

We assume the total number of original packets is and the average ratio sending encoded packets to original packets is . Because the number ratio of recovered packets to total transmitted original packets fluctuates near , the average value is set as . The average hop is . Therefore, the total number of sending data packets is showed as (22).

In addition, the ACK packets are sent, and the number of ACK packets is relative with the size of block. So, the number of ACK packets is showed in (23)

During initial phase and routing updating phase, the control packets are sent. The number of control packets is increased as the number of nodes. We assume the value is constant . During routing update phase, in scheme 1, only the recovered ratio is lowered than 70%, the node sends request packet, and the neighbor sends reply packets. We set the number of control packets as . In scheme 2, the node update routing according to . The number of sending control packets is .

In our algorithm, for simplicity, the energy consumption of receiving packets is ignored, the energy consumption of sending a data packets and a control packet is set as and . Therefore, the energy consumption in scheme 1 and scheme 2 are showed, respectively, as (24) and (25).

6.2. Simulation Analysis

Because the cost of arranging the UWSNs is too high, simulations are adopted to evaluate the performance of the designed protocol. NS3 is a popular simulator to simulate UWSNs. NS3 offers some characteristics that other simulators have not, such as underpinning to discrete-event-driven networks, simulation of high-fidelity UWSNs channels, complete protocol stack, and mobile 3D networks. Firstly, the schemes of constructing cluster and updating routing are evaluated. Secondly, the influence of the node density and the number ratio of regular nodes to cluster heads on the performance of the system is tested. Lastly, we compare RSHSC with NCRP and VBF. NCRP uses network coding to greedily forward data packets to the sink. VBF constructs a vector pipe from the source node to the sink node. Only the nodes in the pipe forward data.

In our simulations, the nodes are deployed in a 3D area with 3000 m3000 m2000 m. The number of data packets is set as 60 in a block. When a node energy is exhausted, the simulation of this round is over. We show the average value of 50 runs. The detailed parameters are set as follows:

The data rate is 10 kbps. The center frequency is 12 KHZ. The bandwidth is 10 KHZ. Packet error rate model is ns3: UanPhyPerNoCode. Mode type is FSK. Signal noise model is ns3 :: Uan Phy Calc Sinr Default. Acoustic propagation speed is 1500 m/s. UAN Propagation model is ns3 :: Uan Prop Model Thorp. Energy model is acoustic modem energy model. MAC model is CWMAC. The mobility model is random walk 2D mobility model (speed: 2 ∼ 4 m/s, directions are chosen randomly). The payload of DATA is 64 bytes, and the number of data packets in each block is 60. Deployment region is 3D region of 3 × 3 × 2 km³. Node number is 20–75. The initial energy of advanced nodes is set as 100 J, and regular nodes is set as 25 J.

6.2.1. Performance at Different Cases

In our design, the ways of constructing clusters include SHSA and SHSB. Maintaining routing includes scheme 1 and scheme 2. Here, the number ratio of regular nodes to advanced node is 2 : 1. To evaluate the performance of each scheme, four cases are studied as Table 4. Delivery ratio and network life are two important parameters to evaluate the performance of the protocol. Delivery ratio is the ratio of number of sink nodes received data packets to the number of regular nodes sent data packets. Network life is total performing time until the first node drains its energy. For simplicity, we replace network life with the ratio of network life to evaluate the performance of the protocol.

From Figure 9(a) (Supplementary material (available here)), the delivery ratio of SHSA is almost the same with SHSB. The SHSA is based on regular based during constructing cluster, which can make each regular node assigned to a cluster head. Some regular nodes are kicked out by all cluster heads in its coverage in SHSB, which leads to the data packets collected by these nodes cannot be delivered to the sink node. The delivery ratio of scheme 2 is lower than scheme 1. On the one hand, a large number of control packets cause collisions. On the other hand, the instability of the whole network leads to the failure of delivery. The instable stage in scheme 1 also leads to failure of delivery. However, the successful reception of an original packet may increase the delivery rate. Because the reception of an original packet can help to decode multiple encoding packets. The different cases are showed in Table 5. In Figure 9(b), the network life ratio is not almost affected by the SHSA and SHSB (Supplementary material). The network life of case 1 and case 2 is longer than case 3 and case 4. Because scheme 2 produces many control packets, which wastes energy. Combining the above simulation results, we continue to study the performance of the protocol based on case 1.

(a) The delivery ratio

(b) The network life ratio

Figure 9: Affection of different schemes.

Table 5: Four cases.

Case number
Constructing cluster
Maintaining routing

Case 1
SHSA
Scheme 1

Case 2
SHSB
Scheme 1

Case 3
SHSA
Scheme 2

Case 4
SHSB
Scheme 2

6.2.2. The Affection of Number Ratio of Regular Nodes to Advanced Nodes (RRTA)

In Figure 10 (Supplementary material), presents the layer numbers of advanced node being layout along vertical direction. We can see that the network life ratio decreases with the RRTA increasing, which is because the node first drains energy is regular node when the ratio is small. The regular nodes are in charge of only collecting data. The lifetime of regular nodes is related with the frequency of producing data packets and the initial energy. Meanwhile, the network life ratio decreases with the layer numbers increasing, because of the more layers, upper cluster heads consuming more energy than below nodes. In our simulation, the deliver ratio is about 60% when the communication range of nodes is 1000 m [27], and the vertical depth of the research area is 2000 m. Therefore, we select and .

Figure 10: Affection of RRTA.

6.2.3. Comparation with NCRP and VBF

NCRP is a cross-layer routing protocol based on network coding (NCRP) for UWSNs, which utilizes network coding and cross-layer design to greedily forward data packets to sink nodes efficiently [27]. We set 60 data packets in each transmission block. The degree distribution is degree value = [1 4 6], degree probability distribution = [0.500 0.075 0.425], and average degree = 3.35. In VBF, a vector pipe is created from the source to the sink node [30]. Only the node in the pipe is qualified to be the next-hop. To limit the number of forwarding nodes, the delay time of forwarding data for each node is set. In simulations, the routing pipe radius is set as 300 m, the time interval of forwarding a packet is set as , is calculated according to [30], is set as , is the average distance among all nodes. is the transmission radius. is the distance between the current node and the forwarder. The other simulation parameters of VBF and NCRP are the same with the RSHSC.

From Figure 11(a) (Supplementary material), the delivery ratio of RSHSC is higher than VBF. Because in VBF, only the nodes in the pipe can forward data packets. However, in the sparse network, there may be no nodes in the pipeline, which leads to the failure of delivery. The delivery ratio of RSHSC is higher than NCRP. Although both the two protocols use coding techniques, the information of the next two hop is considered in RSHSC and avoids selecting void node as the next-hop. Figure 11(b) shows the comparation of energy consumption (Supplementary material). The energy consumption of VBF is higher than others, because VBF needs to send a large number of control packets. In addition, redundant forwarding exists in VBF. The energy consumption of RSHSC is lower than NCRP. In NCRP, the secondary nodes join to forward data packets, which wastes energy. While in RSHSC, only the best next-hop forwards data packets, and the data packets from other neighbors just join to decode. In addition, simplified harmony search algorithm is helpful to save energy of regular nodes and balance the energy among cluster heads. Figure 11(c) indicates the end-to-end delay of RSHSC is almost equal to NCRP and lower than VBF. Because VBF needs to wait to forward data packets, while NCRP and RSHSC transmit data block by block, the node immediately forward once received a data packet. After transmitting a block, the acknowledgement is sent, which shortens waiting time.

(a) Delivery ratio

(b) Energy consumption per packet

(c) End-to-end delay

Figure 11: Comparation of performance.

7. Conclusion

In this paper, RSHSC, an energy effective and reliable routing protocol based on harmony search algorithm and coding, is proposed for UWSNs. The process of RSHSC can be mainly divided into four parts: initialization, constructing clusters, intercluster routing and routing maintenance. In the initialization phase, the control packets are sent and nodes got the information of each other. In the process of constructing routing, each regular node is assigned to a cluster head according to simplified harmony search algorithm. The energy balance between cluster heads and the energy between ordinary nodes are taken into account when assigning. During the process of constructing routing, data packets are encoded. The best next-hop is responsible for forwarding data packets. The data packets from other neighbors is used to decode. The utilization of data packets from other neighbors increases the channel utilization. Meanwhile, the next two-hop is considered when selecting the best next-hop, which avoids the void node being selected as the next-hop. Two schemes are compared in the phase of maintaining routing. We get that scheme 1 is effective to save energy via theoretical analysis. Lastly, extensive simulations are conducted based NS-3. The results show that RSHSC is more effective than VBF and NCRP in decreasing energy consumption and increasing delivery ratio. In the future work, we will explore the implement of RSHSC and the better topology for improving the performance of UWSNs.

Data Availability

The data used to support the findings of this study are available from the corresponding author upon request. We agree that readers are free to use any data in the article.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Authors’ Contributions

Meiju Li designed the experiments; Meiju Li and Chunyan Peng analyzed the data; Xiujuan Du contributed analysis tools; and Meiju Li and Xiujuan Du wrote the paper.

Acknowledgments

This work is supported by the National Natural Science Foundation of China (61751111), Qinghai Office of Science and Technology (2018-SF-143), Key Lab of IoT of Qinghai (2017-ZJ-Y21), Hebei Engineering Technology Research Center for IOT Data Acquisition and Processing, CERNET Innovation Project (NGII20160307).

Supplementary Materials

The supplementary material provides the arranged data of NS-3 simulation results in Section 6.2. (Supplementary Materials)

References

E. Felemban, F. K. Shaikh, U. M. Qureshi, A. A. Sheikh, and S. B. Qaisar, “Underwater sensor network applications: a comprehensive survey,” International Journal of Distributed Sensor Networks, vol. 11, no. 11, Article ID 896832, 2015.

M. Murad, A. A. Sheikh, M. A. Manzoor, E. Felemban, and S. Qaisar, “A survey on current underwater acoustic sensor network applications,” International Journal of Computer Theory and Engineering, vol. 7, no. 1, pp. 51–56, 2015.

J. Lloret, “Underwater sensor nodes and networks,” Sensors, vol. 13, no. 9, pp. 11782–11796, 2013.

X. Du, C. Peng, and K. Li, “A secure routing scheme for underwater acoustic networks,” International Journal of Distributed Sensor Networks, vol. 13, no. 6, 2017.

C. Peng, X. Du, K. Li, and M. Li, “An ultra-lightweight encryption scheme in underwater acoustic networks,” Journal of Sensors, vol. 2016, Article ID 8763528, 10 pages, 2016.

S. Climent, A. Sanchez, J. Capella, N. Meratnia, and J. Serrano, “Underwater acoustic wireless sensor networks: advances and future trends in physical, MAC and routing layers,” Sensors, vol. 14, no. 1, pp. 795–833, 2014.

M. Li, X. Du, K. Huang, S. Hou, and X. Liu, “A routing protocol based on received signal strength for underwater wireless sensor networks (UWSNs),” Information, vol. 8, no. 4, p. 153, 2017.

S. Cai, N. Yao, and Z. Gao, “A reliable data transfer protocol based on twin paths and network coding for underwater acoustic sensor network,” EURASIP Journal on Wireless Communications and Networking, vol. 2015, no. 1, 2015.

X. Du, K. Li, X. Liu, and Y. Su, “RLT code based handshake-free reliable MAC protocol for underwater sensor networks,” Journal of Sensors, vol. 2016, Article ID 3184642, 11 pages, 2016.

M. R. Jafri, N. Javaid, N. Amjad, M. Akbar, Z. A. Khan, and U. Qasim, “Impact of acoustic propagation models on depth-based routing techniques in underwater wireless sensor networks,” in 2014 28th International Conference on Advanced Information Networking and Applications Workshops, pp. 479–485, Victoria, BC, Canada, 2014, IEEE.

I. F. Akyildiz, D. Pompili, and T. Melodia, “Underwater acoustic sensor networks: research challenges,” Ad Hoc Networks, vol. 3, no. 3, pp. 257–279, 2005.

R. Headrick and L. Freitag, “Growth of underwater communication technology in the U.S. Navy,” IEEE Communications Magazine, vol. 47, no. 1, pp. 80–82, 2009.

S. Misra, S. Dash, M. Khatua, A. V. Vasilakos, and M. S. Obaidat, “Jamming in underwater sensor networks: detection and mitigation,” IET Communications, vol. 6, no. 14, pp. 2178–2188, 2012.

H. Yan, Z. J. Shi, and J. H. Cui, “DBR: depth-based routing for underwater sensor networks,” in NETWORKING 2008 Ad Hoc and Sensor Networks, Wireless Networks, Next Generation Internet, vol. 4982 of Lecture Notes in Computer Science, pp. 72–86, Springer, Berlin, Heidelberg, 2008.

A. Wahid, S. Lee, H. J. Jeong, and D. Kim, “EEDBR: energy-efficient depth-based routing protocol for underwater wireless sensor networks,” in Advanced Computer Science and Information Technology, pp. 223–234, Springer, Berlin, Heidelberg, 2011.

B. Diao, Y. Xu, Q. Wang et al., “A reliable depth-based routing protocol with network coding for underwater sensor networks,” in 2016 IEEE 22nd International Conference on Parallel and Distributed Systems (ICPADS), pp. 270–277, Wuhan, Hubei, China, 2017, IEEE.

H. Yu, N. Yao, T. Wang, G. Li, Z. Gao, and G. Tan, “WDFAD-DBR: weighting depth and forwarding area division DBR routing protocol for UASNs,” Ad Hoc Networks, vol. 37, Part 2, pp. 256–282, 2016.

J. Xu, K. Li, G. Min, K. Lin, and W. Qu, “Energy-efficient tree-based multipath power control for underwater sensor networks,” IEEE Transactions on Parallel and Distributed Systems, vol. 23, no. 11, pp. 2107–2116, 2012.

B. Ali, A. Sher, N. Javaid, S. Islam, K. Aurangzeb, and S. Haider, “Retransmission avoidance for reliable data delivery in underwater WSNs,” Sensors, vol. 18, no. 2, p. 149, 2018.

K. Hao, Z. Jin, H. Shen, and Y. Wang, “An efficient and reliable geographic routing protocol based on partial network coding for underwater sensor networks,” Sensors, vol. 15, no. 6, pp. 12720–12735, 2015.

S. Ahmed, N. Javaid, F. A. Khan et al., “Co-UWSN: cooperative energy-efficient protocol for underwater WSNs,” International Journal of Distributed Sensor Networks, vol. 11, no. 4, Article ID 891410, 2015.

A. Umar, N. Javaid, A. Ahmad et al., “DEADS: depth and energy aware dominating set based algorithm for cooperative routing along with sink mobility in underwater WSNs,” Sensors, vol. 15, no. 6, pp. 14458–14486, 2015.

N. Ilyas, T. A. Alghamdi, M. N. Farooq et al., “AEDG: AUV-aided efficient data gathering routing protocol for underwater wireless sensor networks,” Procedia Computer Science, vol. 52, pp. 568–575, 2015.

S. Ahmed and S. S. Kanhere, “HUBCODE: message forwarding using hub-based network coding in delay tolerant networks,” in Proceedings of the 12th ACM international conference on Modeling, analysis and simulation of wireless and mobile systems - MSWiM '09, pp. 288–296, Tenerife, Canary Islands, Spain, 2009, ACM.

I. Azam, N. Javaid, A. Ahmad, W. Abdul, A. Almogren, and A. Alamri, “Balanced load distribution with energy hole avoidance in underwater WSNs,” IEEE Access, vol. 5, no. 99, pp. 15206–15221, 2017.

H. Wu, M. Chen, and X. Guan, “A network coding based routing protocol for underwater sensor networks,” Sensors, vol. 12, no. 4, pp. 4559–4577, 2012.

H. Wang, S. Wang, R. Bu, and E. Zhang, “A novel cross-layer routing protocol based on network coding for underwater sensor networks,” Sensors, vol. 17, no. 8, p. 1821, 2017.

Z. Jin, Y. Ma, Y. Su, S. Li, and X. Fu, “A Q-learning-based delay-aware routing algorithm to extend the lifetime of underwater sensor networks,” Sensors, vol. 17, no. 7, p. 1660, 2017.

X. J. Du, K. J. Huang, S. L. Lan, Z. X. Feng, and F. Liu, “LB-AGR: level-based adaptive geo-routing for underwater sensor network,” The Journal of China Universities of Posts and Telecommunications, vol. 21, no. 1, pp. 54–59, 2014.

P. Xie, J. H. Cui, and L. Lao, “VBF: vector-based forwarding protocol for underwater sensor networks,” in NETWORKING 2006. Networking Technologies, Services, and Protocols; Performance of Computer and Communication Networks; Mobile and Wireless Communications Systems, pp. 1216–1221, Springer, Berlin, Heidelberg, 2006.