Abstract

Underwater sensor networks (UWSNs) are characterized by large energy consumption, limited power supply, low bit rate, and long propagation delay, as well as spatial-temporal uncertainty, which present both challenges and opportunities for media access control (MAC) protocol design. The time-division transmissions can effectively avoid collisions since different nodes transmit packets at different period of time. Nevertheless, in UWSNs with long propagation delay, in order to avoid collisions, the period of time is subject to be long enough, which results in poor channel utilization and low throughput. In view of the long and different propagation delay between a receiving node and multiple sending nodes in UWSNs, as long as there is no collision at the receiving node, multiple sending nodes can transmit packets simultaneously. Therefore, in this paper, we propose a MAC protocol of concurrent scheduling based on spatial-temporal uncertainty called CSSTU-MAC (concurrent scheduling based on spatial-temporal uncertainty MAC) for UWSNs. The CSSTU-MAC protocol utilizes the characteristics of temporal-spatial uncertainty as well as long propagation delay in UWSNs to achieve concurrent transmission and collision avoidance. Simulation results show that the CSSTU-MAC protocol outperforms the existing MAC protocol with time-division transmissions in terms of average energy consumption and network throughput.

1. Introduction

Recently, underwater sensor networks (UWSNs) have attracted significant research interest because they promise a broad range of applications such as underwater rescuing, offshore mining, offshore exploration, environmental monitoring, and pollutant content detection [14]. The media access control (MAC) protocol has become one of the study focuses in the field of UWSNs [5, 6]. Although UWSNs are a type of wireless sensor network, they are different from the terrestrial wireless sensor networks (WSNs) in which the sensor nodes rely on radio waves to communicate with one another. The underwater sensor nodes use acoustic channels as the communication medium with a speed of 1500 m/s, which is five orders of magnitude lower than that of radio signals; thus, the MAC protocols designed for terrestrial sensor networks are not suitable for UWSNs. The underwater acoustic channel has the characteristics of long propagation delay, high bit error rate, and low bandwidth [79]. Moreover, in addition to high delay and low bandwidth, energy consumption is another major problem. In UWSNs, acoustic sensor nodes usually use batteries as their power supply, and it is difficult to recharge or replace batteries. To provide necessary power for long-term sensing, data collection, and communication, it is highly important to study the efficient and energy-saving wireless sensor network protocol [1012]. The design of the MAC protocol has become a challenging task in underwater wireless sensor networks [13].

In the design of underwater MAC protocols, the spatial-temporal uncertainty problem is subject to be considered. Due to the time uncertainty (i.e., different transmission time), the receiving time is uncertain; therefore, a collision can be caused at the receiver. Therefore, to avoid collisions, reasonable scheduling of sending and receiving should be considered.

In view of the above problems, some researchers have proposed MAC protocols based on a handshake approach. In this approach, the communication between nodes is reserved and advertised by sending control packets. To date, of the handshake-based MAC protocols, multiple access with collision avoidance (MACA) [14] and floor acquisition multiple access (FAMA) [15] are two classic MAC protocols. The MACA protocol uses a handshake mechanism based on RTS/CTS, which can effectively reduce collisions. However, it is designed for a radio wave network and cannot be successfully used in UWSNs. The FAMA protocol lengthens the transmission delay of RTS/CTS to enable it to operate in UWSNs with long propagation delays. However, the cost of energy consumption for transmitting such long control packets is notably high. Although this method reduces the probability of collision, it consumes a significant amount of energy. While all the contention-based MAC protocols are expected to improve the performance of a network, several works have shown that long propagation delay, narrow bandwidth, and high bit error rate in underwater environments make the contention-based MAC protocol difficult to approximate the optimal performance [16, 17]. In contrast, contention-free MAC protocols are more efficient. Consequently, the TDMA protocol, as one of the contention-free MAC protocols, has attracted significant attention. In TDMA, all nodes use allocated time slots for communication. However, due to the time-space uncertainty of an underwater acoustic channel, a time slot needs to add a protection time to achieve collision avoidance [18, 19], which reduces the channel utilization and throughput of UWSNs greatly.

Furthermore, energy saving is an important consideration in protocol design for UWSNs. The energy consumption of an underwater node is tightly correlated with the working state of the node. If the nodes’ working state is reasonably arranged, the energy consumption can be reduced, and the network lifetime can be extended. Particularly for some long-term monitoring applications, the data communication between nodes is not so frequency, which means that the transceivers of the sensor nodes are in idle state most of the time. It is more energy saving when an idle node goes in sleeping; thus, a sleeping scheme is one of the effective solutions to save energy [2024].

In this paper, taking account into sleeping, we propose a MAC protocol of concurrent scheduling based on spatial-temporal uncertainty. The main contributions of this paper are as follows:

First, due to the spatial-temporal uncertainty in UWSNs, there are different propagating delays between the receiving node and different sending nodes. In our protocol, the intended receiving nodes schedule the receiving time reasonably, map the receiving time into the sending time according to the propagating-delay-difference, and advertise to its child node (i.e., the sending nodes) to achieve concurrency while avoiding collision. Further, the scheduling scheme based on receiving nodes and spatial-temporal uncertainty reduces the idle-interval between two successive packets at the receiver, thus increasing network throughput and improving channel utilization.

Second, we adopt a sleeping scheme in which each node can automatically wake up according to the scheduling scheme to receive or send data. The remainder of the time they can sleep to save energy, resulting in network energy saving.

Third, simulation results show that compared with other existing MAC protocols, the CSSTU-MAC protocol decreases energy consumption and improves the throughput of the network while avoiding collisions.

The remainder of this paper is organized as follows: In Section 2, we reviewed the related work on other MAC protocol. In Section 3, the problems of collision as well as spatial-temporal uncertainty are analyzed. Section 4 presents the CSSTU-MAC protocol. Section 5 evaluates the performance of the CSSTU-MAC protocol through NS3 simulation. Finally, Section 6 summarizes the paper.

Collision and interference cause the receiving node unable to receive a packet successfully; thus, the sending node has to retransmission and consume more energy [25]. Therefore, many MAC mechanisms for collision resolution have been proposed successively. MAC protocols in UWSNs are generally divided into contention-based MAC and contention-free protocols [26, 27]. ALOHA is the earliest proposed contention-based MAC protocol. Without any collision avoidance mechanism, ALOHA based on random access performs well in a network with sporadic packets [28]. However, it is unsuitable for either moderate or heavy load networks. To improve the ALOHA protocol, a time-slot ALOHA protocol was proposed in [29]. With the slotted ALOHA protocol, nodes transmit packets at the beginning of a time-slot, which can avoid collisions to a certain extent. The MACA-MN protocol employs an RTS/CTS handshake mechanism to avoid the collision in a multihop network, which addresses the hidden terminal problem [30]. However, the long handshake time lengthens the average waiting time of the node for acquiring channel, thus increasing the end-to-end delay.

The slotted-FAMA protocol is another classic contention-based MAC protocol, which combines carrier listening mechanism with handshake mechanism to avoid collision [31]. Considering the long propagation delay of UWSNs, with the slotted-FAMA protocol, all data packets are sent at the beginning of time slot, and an ACK packet is feedbacked to the sender by the receiver after receiving successfully a data packet. However, with the slotted-FAMA protocol, packets are unable to transmit concurrently. The long propagating delay and the resulted long time-slot decrease the channel utilization of UWSNs. The DACAP protocol proposed in [32] also combines handshake with carrier listening. However, the DACAP protocol does not require timing synchronization between nodes. T-Lohi is a contention-based protocol where channel reservation uses short wake-up tones [33]. The T-Lohi protocol exploits latency difference to detect collisions. However, with the T-Lohi protocol, a node in idle state is subject to listen to the channel in each round, which consumes some energy.

Besides those contention-based MAC protocols, some contention-free MAC mechanisms for UWSNs were proposed in recent years. ST-MAC is a MAC protocol based on TDMA [34]. In the ST-MAC protocol, each node maintains a collision table according to the global network topology and then uses the collision table to schedule its transmission. However, it is difficult to get the realtime global topology for a dynamic multihop underwater network. The UWAN-MAC [35] achieves clock synchronization through exchanging sync packets between nodes. According to the received sync packets, each node knows the sleeping and waking timeline of neighbor nodes, thus can calculate its transmission period. However, in order to improve energy efficiency and reduce collision, the nodes with the UWAN-MAC use small duty cycles, which leads to low bandwidth utilization, so the UWAN-MAC protocol is suitable for long-term monitoring UWSNs with sporadic traffic. In [36], a space sharing TDMA protocol was proposed, which takes into account both the reliability and efficiency requirements of the network. The proposed protocol addressed the problems of “near-far” and varying topology by introducing the quality test method. Su et al. proposed an asynchronous wake-up scheme based on combinatorial designs to minimize the working duty cycle of sensor nodes in [37], which minimized the duty cycle of nodes to achieve energy saving. Alfouzan et al. proposed a reservation-based distributed ED-MAC protocol [38], in which each node uses local information to schedule itself independently, and a duty cycle mechanism is employed to address the hidden node problem.

To date, the MAC protocols mentioned above, either the contention-based or the contention-free protocols, employ time-division approach to occupy channel, in which different nodes transmit packets at different period of time.

UWSNs employ acoustic signals to communicate, and the acoustic waves propagate in water is approximately 1500 m/s, and the propagation delay in UWSNs is longer than that in WSNs with RF radios. So, in UWSNs with long propagating delay, in order to avoid collisions, the period of time in time-division transmission approach is subject to be long enough, which results in poor channel utilization and low throughput.

The propagating delay in UWSNs changes with the distance of transmission; thus, the arriving time of a packet at the receiving node is uncertain even if the sending time of the packet is known, which is the spatial-temporal uncertainty problem in UWSNs. The spatial-temporal uncertainty problem can be addressed by determining the sending time and the propagating distance between the sending and receiving node.

Considering the long and different propagation delay between the intended receiving node and multiple sending nodes, we come up with a new idea, that is, as long as there is no collision at the intended receiving node, multiple sending nodes can transmit packets simultaneously. So, in this paper, we propose a MAC protocol of concurrent scheduling for UWSNs based on spatial-temporal uncertainty called CSSTU-MAC. To perform concurrent transmission in the premise of avoiding collisions, an underwater node sends data packets at the time scheduled by its parent node (the intended receiving node). The parent node designs in advance its nonoverlapping receiving time, then calculate and assign the sending time for each child node (sending node) according to their respective delay.

3. Problem Analysis

In this section, the collision problem and spatial-temporal uncertainty problem are described.

3.1. Collision Problem

In UWSNs, there are three main collision situations. The first is “receive-receive collision,” as shown in Figure 1(a). Two or more packets from different senders arrive a receiver simultaneously. In this case, none of the packets can be received successfully. The second type is “send-receive collision,” as shown in Figure 1(b). When a node is sending a packet, another packet from another node arrives at the node. In this case, the arrived packet is unable to be received successfully. This is due to that underwater acoustic modems usually work in half duplex mode. The third type is “packet crosstalk,” as shown in Figure 1(c), which generally means that the packet receiving is interfered by other packets sent to other nodes.

3.2. Spatial-Temporal Uncertainty Problem

The propagation delay of terrestrial wireless sensor network can be ignored because it is very small compared with the transmission delay. However, the UWSNs employ acoustic waves to transmit information, and the propagation speed of an acoustic wave in water is approximately 1500 m/s; thus, the propagation delay is relatively large and cannot be ignored. Moreover, the propagation delay in UWSNs changes with the distance of transmission; thus, the arriving time of a packet at the receiving node is uncertain even if the sending time of the packet is known. Consequently, multiple packets from different senders can interfere with each other at the same receiving node even if the packets are sent out at different times, which is due to the spatial-temporal uncertainty problem in UWSNs.

The spatial-temporal uncertainty problem is caused by two uncertain factors, the transmission distance and the sending time of the packet. Whether multiple packets collide at the receiving node or not depends on the propagation delays and the sending times of the packets [38].

Figure 2 shows how the long and variable propagation delays in UWSNs result in the spatial-temporal uncertainty. The topology is shown in Figure 2(a), in which nodes and are two sending nodes, and node is the receiving node. Figures 2(b) and 2(c) show two cases of the spatial-temporal uncertainty. In Figure 2(b), nodes and send packet simultaneously; however, due to the different propagation delays resulted by different propagation distances, the arriving times of the two packets at the receiving node are nonoverlapping, and no collision occurs at node . In contrast, in Figure 2(c), nodes and send packets at different times; nevertheless, the two packets arrive at node at the same time, resulting in collision.

Inspired by Figure 2(b), we can achieve collision avoidance as well as concurrent transmission through arranging in advance the nonoverlapping arriving times of packets from different senders and scheduling the sending times of multiple senders according to the variable propagation delay and the arriving times of packets.

4. CSSTU-MAC Protocol

In this section, we provide the relevant definitions and symbols, analyze the relevant models, present the basic ideas of CSSTU-MAC, and describe the design in detail. Then, we discuss how CSSTU-MAC addresses interference and collision; finally, a solution is provided to the problems of node failure and new node joining.

Table 1 shows the relevant symbols used in this paper.

The following terms and symbols are defined and will be used for the remainder of the paper:

Sink node. The node on the water’s surface that is responsible for collecting the information from other nodes. It is always in the wake-up state and acts as the root node of the tree in the network topology

Parent node. The next hop node of a data packet. A data packet is always relayed to the sink node through a parent node in multihops UWSNs

Child node. The last hop node of a data packet. In each hop, a data packet is always transmitted from a child node to its parent node, and after multihops, the data packet finally arrives at the sink node

Leaf node. A sensor node that is responsible for collecting information and generating data packets. A leaf node has no child node

Sending node. The node that is sending or forwarding packets

Receiving node. The node that is receiving packets

4.1. Model Analysis

In this subsection, we show and analyze the related network, energy consumption, and delay models.

4.1.1. Network Model

In CSSTU-MAC, the sink node, which is equipped with both acoustic and radio modems, is placed on the surface. Underwater sensor nodes are equipped with acoustic modems and transmit only acoustic signals. All nodes are deployed in a 3D area as shown in Figure 3(a), and data transmission is directional from sensor nodes to the sink node. For example, in Figure 3(b), the network is comprised of a sink node and many underwater sensor nodes as shown (using four layers as an example). Each node connecting to the sink is configured with a layer according to the hop-count from the sink to the node. The layer of the sink is set to “0.” There are a large number of source nodes in the network, and each source node always has a large number of packets to transmit. The data transmission is always along the direction from a node with a higher layer to a node with a lower layer, till to the sink.

4.1.2. Energy Consumption Model

UWSNs employ acoustic signals to communicate. The total energy consumption of nodes in UWSNs is shown in formula (1). where is the transmission energy consumption, is the receiving energy consumption, is the energy consumption for idle waiting, is the length of a packet, is the receiving power of receiving packets, is the receiving energy consumption coefficient, is the average energy consumption of nodes in idle waiting state, and represents the energy attenuation when the propagation distance of the acoustic is in the water, as shown in formula (3). where is the energy diffusion factor (the value of is generally 1.5), is the absorption coefficient, and is the carrier frequency of the acoustic modem. From the above equation, we can find that the total energy consumption can be decreased by reducing the idle time of nodes assuming that other parameters remain unchanged.

4.1.3. Delay Model

Underwater sensor nodes utilize acoustic waves to transmit information, and the propagation speed of an acoustic wave in water is only approximately 1500 m/s, which is several orders of magnitude lower than that of radio signals. Therefore, the propagation delay of an underwater signal is relatively large. The main compositions of network delay are as follows: processing delay , queue delay , propagation delay , and transmission delay . Therefore, the network delay in a communication can be calculated by the following: where and ( is the hop-count).

The processing delay and queue delay are far less than the propagation delay in UWSNs; we mainly consider the propagation delay and transmission delay.

In CSSTU-MAC, the operation of each node alternates between the wake-up mode and sleep mode periodically, and nodes have two states when they wake up: working and idle. Given one cycle of sleeping and waking, denoted as , is a fixed value.

Since is fixed, in formula (7), it is assumed that when is constant, the sleep time can be prolonged by reducing the idle time of nodes, thus reducing energy consumption.

As a consequence, reducing the idle time of nodes reasonably plays an important role in improving network performance, especially in terms of network throughput and energy saving.

4.2. Overview of the CSSTU-MAC Protocol

The CSSTU-MAC protocol is based on a scheduling mechanism. First, it adopts a sleeping scheme to reduce the energy consumption caused by the idle times of nodes. When a node has no packet to transmit (receive), it is said to be in idle state. However, the energy consumption by a node in idle state is not negligible. If an idle node is switched to sleeping state, its transducer is closed, so the energy consumption is negligible. Second, the CSSTU-MAC utilizes the spatial-temporal uncertainty of UWSNs to allow the receiver to allocate the senders’ sending times. This allows for distributed scheduling. By reasonably scheduling the working time of the nodes, the collision caused by the space-time uncertainty of the underwater acoustic channel is overcome, and concurrent transmission can be implemented, and the idle waiting time of the nodes is reduced. Therefore, the CSSTU-MAC protocol improves channel utilization, network throughput, and energy efficiency while avoiding collisions.

4.3. Initial Phase

In initialization phase, the sink node starts to broadcast hello packets periodically in which the ID, position, layer, and child-node-number of sending node are included to advertise the information of the sender. The format of a hello packet is shown in Table 2. When node receives a hello message, it extracts the layer, then updates layer and child-node-number of the hello message with its own and continues to broadcast the updated hello message. A hello packet is flooded along the directions from the nodes with lower layer to the nodes with higher layer. Through hello packets, an underwater node obtains its and neighbors’ information of ID, layer [8], position [39], and child-node-number. Then, the node updates its neighbor table and then calculates the distances between it and its neighbor nodes according to their positions. The cycle period is also determined in the initialization phase according to the specific application of the network.

4.4. Allocation Process of the Sending Time

The primary objective of MAC protocols for UWSNs is to avoid multiple packets from arriving the receiving node at the same time. When a packet arrives at, its receiver is not only related to the sending time of the packet but also related to the distance between the receiving and sending nodes, as well as the size of the packet. After the initialization phase is completed, each node obtains a neighbor table , recording the layer and other information of neighbor node, according to which the node can establish a local topology as in Figure 4.

A data packet is always delivered along a direction from a node with a higher layer to a node with a lower layer, till to the sink node with layer “0.” So, an underwater node relays the data packets from its child node to its parent node. So, in order to avoid collision, in our scheduling scheme, the sending times of child nodes are allocated by their parent node. As in Figure 4, the sending times of nodes , , , and are preallocated by node . The parent node first determines the sending order of its child nodes according to the priority of the child nodes, the smaller the value of , the higher the priority, which is shown in equation (9).

As seen in equation (9), given the number of child nodes , the child node closer to the parent node has the highest priority. If the distance is equal, the smaller the value of , the higher the priority. So firstly, the sink node with layer “0” presets the time to start receiving packets as , and it calculates the sending time when the first child node starts to send packets. According to the allocation algorithm (Algorithm 1), the sending time of each child node can be calculated individually. Then, the sink node broadcasts a CONFIG packet as shown in Table 3 that carries the sid and the sending time of each child node. When each child node receives the CONFIG packet from the sink node, it finds the sending time of its own according to the corresponding and in the CONFIG packet. After determining the sending time, the nodes with level “1” start to act as a parent node, calculate the receiving times of its self and the sending times of its child nodes without “send-receive conflict”, and broadcast CONFIG packets to their child nodes, and so on; all the parent nodes complete the calculation and scheduling.

4.4.1. Calculation Process

In this subsection, the calculation process for the transmission time will be presented, including some assumptions, definitions, and necessary conditions required in the calculation.

(1) Assumptions and Definitions. We assume that the moving model of nodes follows the moving model in reference [39], and the maximum deviation of the node’s moving distance is .

Definition 1. , where is the interval between two successive receiving times. When , there is no collision at the receiver. The smaller is, the smaller the idle waiting delay of the receiving node.

(2) Objective. To reduce the idle waiting delay of the sender and the receiver, the concurrency of the transmission is considered. The prerequisite for concurrent transmission is . And if the interval is infinitesimal, not only the end-to-end delay can be reduced but also the sleeping time of the node can be prolonged ( is a constant), which can further achieve energy saving.

(3) Calculation and Derivation. Since a parent node has child nodes. Given the amount of data required to be transmitted at node is denoted by , is given by formula (10).

where , the is the number of child nodes with layer “” of node with layer “.” If we take the maximum value of in equation (9), we can get that the maximum amount of data required to be transmitted at node is , which is given by equation (11).

The sink node first presets that the time to start receiving packets from the first child node is . Then, the sending time of the first child node is , which is given by formula (12).

Note: negative results are normalized to positive values, where is the duration of one cycle.

Meanwhile, the time to finish receiving packets is given by formula (13).

Then, when is satisfied, the next child node will be selected. If a child node that can transmit concurrently with the previous child node is found in the remaining child nodes, the sending time of the current child node is the same as that of the previous child node, and the receiving time of the parent node is , which is given by formula (14).

When and are satisfied, that is, when , concurrent transmission can be realized. Here, we first determine the node whose distance is , which is the first concurrent transmission node.

If there is no child node that can transmit concurrently with the previous child node. Then, we obtain the receiving time of a node as , given by formula (15).

Furthermore, we obtain the receiving time of a node as , given by formula. Furthermore, the sending time of this child node is , as calculated in formula (16).

(4) Allocation Process. Here, we introduce several symbols.

: the set of all child nodes of a given node

: the set of child nodes that have been allocated sending times

: the set of child nodes that have not yet been allocated sending times

We can get the equation given by formula (17).

Step 1. At the beginning of the algorithm, all the subnodes of the current parent node (sink node) are added to and , and the earliest receiving time of the parent node is set to . Then, the subnode with the highest priority is selected as the first sending node from . Calculate the sending time of this subnode and add this node to . According to formula (17), the set is updated.

Step 2. The parent node finds a subnode in the current set that can transmit concurrently with the previous subnode. If such a node is found, add it to and update the set according to formula (17). Next, calculate the receiving time when the parent node receives the packets of this subnode as ; then, return (2). If no such node is found, return to Step 3.

Step 3. The parent node selects the subnode with the highest priority from the current set and makes this subnode the next sending node. According to the receiving time of the previous node, the earliest sending time of this subnode is calculated as . This node is added to , and set is updated. Determine if . If no, return to Step 2.

Step 4. If , the algorithm ends.

Initialization:
1: O(s)=null;
2: P(r)={sink}; // the first parent node is sink node
Begin
3: O(s)=P(r);
4: While(x∈O(s) and x.attribute=true){
5: calculate Z(r)= {r|r is sub node of x node};
6: R(s)=Z(r)-O(s);
7: pNode=sNode=x;
8: pNode., flag=true;
9: while( R(s)≠null and s.attribute=true){// Node s is not leaf node
10: select j∈Z(r), calculatepNode;
11: for each i∈Z(r)-{j}
12: if (pNode;<) then, j=i;
13: if (flag=true) calculate j.| pNode.;
14: else calculate j.| sNode.;
15: O(s)= O(s)∪{j}, R(s)=Z(r)-O(s);
16: calculate j.;
17: for each i∈R(s){ //look for concurrent sub nodes
18: if (=) and (=)
19: { O(s)= O(s) ∪{i};
20: R(s)=Z(r)-O(s);
21: calculate i.;
22:}
23:}
24: sNode=i;
25: flag=! flag;
26:}
27:} End

The flow diagram of allocation process of the sending time is given in Figure 5. With the proposed CSSTU-MAC protocol, each parent node firstly calculates the earliest sending time of its subnodes. In the worst case, a parent node needs to calculate -1 times, is the number of its child nodes. Therefore, according to the definition of time complexity of an algorithm, the time complexity of the proposed algorithm is .

4.4.2. An Allocation Instance

Here, we use a layered topology as an example to illustrate the process of allocating transmission times. As shown in Figure 4, node is a receiving node of data packets, that is, the parent node, and nodes , , , and are its child nodes. In the initial stage, let , , and . First, node presets its starting receiving time to , and the child node with the highest priority in set is node . So, node is determined to be the first sending node, and its earliest sending time is. Then, node calculates the sending time, ,of node , according to the receiving time and the propagating delay between node and node ; then, node is added to the set , , and . Node selects a child node in the current set that can be concurrent with node according to different propagating delays. If node is selected, then and . is the time node finishes receiving packets of child node . Next, node selects a child node in the current set that can be concurrent with node . If node is selected, then and . At this moment, all the nodes that meet the concurrency conditions have been selected. Then, node will select the next sending node from the child nodes that do not meet the concurrency conditions. At this time, node is selected. Thus, and .

According to the assigned transmission time, each child node starts the data transmission process, which is shown in Figure 6; each node maintains an idle listening time duration of , which is used to listen to the hello packets. In Figure 6, the sending nodes , , and are assigned the same transmission time by their parent node , and node is assigned a later transmission time. After finishing the receiving of data packets, the parent node sends an acknowledgement (ACK) packet to inform the four nodes that it has received successfully the packets. After receiving an ACK the nodes , , , and go into sleeping mode to save energy, and the parent node starts to forward the received packets.

4.5. Handling of Node Interference

Schedule to avoid interference between two nodes in the same layer. When the nodes in the same layer interfere with each other, their transmission time is coordinated through their upper layer nodes (parent nodes). As shown in Figure 7(a), nodes 2 and 3 are in the same layer and interfere with each other. For example, the receiving of node 2 is interfered by the packets from the node 3 since node 3 is the neighbor of node 2. In this case, node 1 (the parent node) coordinates their respective working times.

Schedule to avoid interference between two nodes in different layer. As shown in Figure 7(b), the packets from node 6 (its parent node is node 3) can interfere with the reception of node 2 since node 6 is a neighbor of node 2. In this case, their common parent (i.e., node 1) of node 2 and node 3 coordinates the working time of child node 6 of node 3 (as long as the working time of node 6 is outside the working time of node 2).

4.6. Network Maintenance

In UWSNs, the leaving or joining of a node leads to dynamic change of networks topology. When a node does not receive any packet (either hello packets or data packets) from a child node within three hello intervals, it supposes that the child node has left. Through listening to the hello packets, a node can detect the leaving and joining of its child nodes, when a node detects the leaving or joining of its child nodes, it reallocates the sending time for its child nodes and broadcasts the new CONFIG packet. Here, we use Figure 4 as an example to illustrate the process of network maintenance. As shown in Figure 4, node is a receiving node, that is, the parent node, and nodes , , , and are its child nodes. We assume that node has left. When the node does not receive any packet (either hello packets or data packets) from node within three hello intervals, it reallocates the sending time for its child nodes , , and , then broadcasts the new CONFIG packet, that carries the sid and the sending time of its child nodes , , and .

5. Performance Evaluation

In this section, the performance of CSSTU-MAC is evaluated and analyzed by comparing with ED-MAC [38], T-Lohi [33], and UWAN-MAC [35]. Firstly, we describe and qualitatively analyze these protocols; then, we provide the simulation environment and parameters; finally, we analyze the simulation results.

5.1. Qualitative Comparison

The performance comparison of the four MAC protocols is shown in Table 4. Among them, the main difference is that CSSTU-MAC allocates the sending time based on the nonoverlapping receiving time, not on competition; thus, the CSSTU-MAC protocol achieves concurrent transmission while avoiding collision. ED-MAC is a reservation protocol based on TDMA. It schedules the slots according to the priority of nodes which based on their depth in the network. Each slot includes a number of subslots. The subslots are selected randomly to deal with the possibility of collisions between two nodes if they have selected the same slot. T-Lohi is a typical competitive protocol, in which the nodes use tone at the beginning of each round to retain the channel, and it uses long packet to awaken nodes instead of automatic waking-up. In addition, T-Lohi requires a node to be awake and listen to the channel in each round to compete for the channel. The listening period lasts at least the maximum single-trip propagation time plus the time to detect the contention tone, which results in a low channel utilization [40]. UWAN-MAC has random behavior in the data transmission stage, in which the sender node selects random time to send its packets, which may result in collisions. To improve energy efficiency and reduce the collision, each node with the UWAN-MAC protocol is set to a small duty cycle, which leads to a low throughput. Essentially, both the T-Lohi and the UWAN-MAC protocol employ the time-division transmission approach. Due to the long propagation delay in UWSNs, the interval between two successive data packets in a shared channel is long, and the propagation delay of the control frames to contend channel is long too, which results in poor channel utilization and low throughput in both the T-Lohi and the UWAN-MAC protocol. In contrast, with concurrent transmission, CSSTU-MAC protocol improves greatly the network throughput while avoiding collisions.

5.2. Simulation Settings

We implement CSSTU-MAC simulation with NS3 platform, which includes underwater channel models. We use the following parameters in our simulation. The initial energy of all nodes is set to1000 J. The packet size is set to 200 Bytes. We set every simulation runs for 3000 s, and every data point is the average of 15 simulations. Nodes are deployed in the area of 5000 m5000 m5000 m. The propagation speed of the acoustic signal is 1500 m/s. The transmission range of every node is about 1500 m. We assume that the location of the node will be affected by the wave motion; set node location range is 5 m. We observe the performance of each protocol in terms of throughput, end-to-end delay, and energy consumption. In the simulation, we use the SPRVA [41] for routing protocol. The simulation parameters are given in Table 5.

We used the following three metrics to compare the performance of CSSTU-MAC with ED-MAC, T-Lohi, and UWAN-MAC protocols:

Throughput is defined as the total amount of data successfully transmitted by the network within a given period of time.

End-to-end delay is defined as the latency of a packet from a source node to the sink node.

Energy consumption is defined as the overall energy consumption in the network divided by the successfully delivered packets, which is measured in joules per packet.

5.3. Simulation Results

Firstly, when the network traffic is constant (with 0.25 packets per second), we compare the throughput of these protocols by increasing the number of nodes. Figure 8(a) shows the throughput comparison between the CSSTU-MAC and other three protocols. It can be seen that with the number of nodes increases, the throughput of all the four protocols increases first and then decreases, and the CSSTU-MAC achieves the highest network throughput among the four MAC protocols. When the number of nodes is small, the number of source nodes is small too, and the traffic load is light, resulting in a low throughput. With the number of source nodes increases, the channel tends to be saturated, resulting in a saturated network throughput. It is also seen that the protocol of CSSTU-MAC outperforms the other protocol in term of throughput. This is because the CSSTU-MAC protocol realizes concurrent transmission and reduces idle waiting. Especially, the CSSTU-MAC protocol utilizes the underwater channel efficiently without propagating those control packets to preempt the channel and can maximize the network throughput. Therefore, its throughput increases rapidly with the increasing of the number of nodes before reaching the saturation value. After the saturation value, the throughput decreases slowly. However, both UWAN-MAC and T-Lohi protocols do not consider the spatio-temporal uncertainty problem; their network throughput is lower than that of the CSSTU-MAC protocol. T-Lohi solves the collision of data transmission through reservation mechanism, but with the increasing of the number of nodes, reservation delay increases. ED-MAC, because it selects random subslots when sending data packet, although its performance is higher than UWAN-MAC, there still be collisions with the increasing of node density. The throughput of CSSTU-MAC is improved by 51.8% compared with UWAN-MAC and 26.3% compared with T-Lohi. Therefore, when the network scale is large, CSSTU-MAC protocol shows better performance.

Figure 8(b) shows the effect of the network traffic (the number of packets generated per second) on throughput when 40 underwater nodes are deployed in the network. It is observed that the network throughputs with the four protocols increase to their respective maximum values with the increasing of the network traffic and then decrease gently. When the network traffic is the same, the throughput with the CSSTU-MAC protocol is the highest as the CSSTU-MAC can transmit packets concurrently by addressing the spatial-temporal uncertainty problem. However, with ED-MAC, when the offered traffic is increased, some data packets collide at the receiver, resulting in packet loss. Again, either with UWAN-MAC or T-Lohi protocol, the collisions caused by the spatial-temporal uncertainty problem is ineluctable. As a result, their network throughput is lower than that of CSSTU-MAC.

Figures 9(a) and 9(b) show the respective effects of node density and traffic-load on end-to-end delay. From Figure 9, it is seen that the end-to-end delay increases with the increasing of node density as well as traffic-load. As the number of nodes increases, the number of packets generated increases. Considering the low bit rate, the average time of waiting to be transmitted is increased, which resulting in the increased end-to-end delay. The same is true for network traffic. In addition, the CSSTU-MAC employs a time allocation scheme based on concurrent scheduling, which reduces the idle time of the receiving node and the end-to-end delay. Consequently, compared with the other three protocols, the end-to-end latency with the CSSTU-MAC protocol is the lowest which can be observed in Figure 9.

Figures 10(a) and 10(b) show the respective effects of node density and traffic-load on energy consumption. From Figure 10, it is seen that the energy consumption increases with the increasing of node density as well as traffic load. It is observed that the CSSTU-MAC protocol is the most energy saving though the four protocols all adopt the sleeping mechanism. This is because the CSSTU-MAC protocol uses the channel more efficiently, reduces the idle times, and saves the energy consuming for idle waiting. Furtherly, the CSSTU-MAC protocol avoids collisions by scheduling the sending times according to the different propagating delay, which reduces the energy consumption resulted by collision and retransmission. It is observed that, with the increasing of the traffic-load as well as the node density, the energy consumption of UWAN-MAC increases rapidly. The energy consumption of CSSTU-MAC decreases 48.2% compared with UWAN-MAC. As shown in Figure 10, the UWAN-MAC consumes the most energy among the four protocols.

In order to evaluate fully the performance of the MAC protocols, in the simulation, we change the number of nodes. As the number of nodes increases, the network throughput increases correspondingly and eventually reaches a saturation point. The average end-to-end delay of CSSTU-MAC protocol varies and increases with the increase of node density. As the number of nodes increases, the energy consumption increases correspondingly. Simulation results show that the proposed protocol is suitable for networks with nodes between 30 and 40.

6. Conclusions

In this paper, we propose an energy efficient and concurrent transmission MAC protocol based on the spatial-temporal uncertainty, which is applicable to the UWSNs with large data amount and multiple data sources. CSSTU-MAC mainly utilizes the long propagation delay of UWSNs to achieve concurrency and uses a scheduling scheme to allocate nodes reasonably to reduce energy consumption. In addition, the CSSTU-MAC protocol reduces the idle waiting delay between nodes in data transmission by using the node concurrent transmission which improves throughput and channel utilization. A large number of simulation experiments show the outstanding performance of CSSTU-MAC compared with two other protocols in terms of energy consumption, throughput, and end-to-end delay. In future work, we will consider network reliability and network performance further in different application scenarios.

Data Availability

The simulation data used to support the findings of this study are included within the article.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Authors’ Contributions

Xin Liu, Meiju Li, and Chong Li conceived and designed the experiments. Xin Liu and Lijuan Wang analyzed the data. Xin Liu and Xiujuan Du wrote the paper.

Acknowledgments

This work was supported in part by the National Natural Science Foundation of China under Grant No. 61962052 and in part by the IoT Innovation Team Foundation of Qinghai Office of Science and Technology under Grant No. 2020-ZJ-903.