# A MAC Protocol of Concurrent Scheduling Based on Spatial-Temporal Uncertainty for Underwater Sensor Networks

Authors: Xin Liu; Xiujuan Du; Meiju Li; Lijuan Wang; Chong Li
Journal: Journal of Sensors
 (2021)

---

## 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.


---

## Body

## 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 [1–4]. 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 [7–9]. 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 [10–12]. 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 [20–24].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.


## 2. Related Works

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 Figure1(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.Figure 1
Collision types.
(a)
Receive-receive collision(b)
Send-receive collision(c)
Packet crosstalk


### 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].Figure2 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 S1 and S2 are two sending nodes, and node r is the receiving node. Figures 2(b) and 2(c) show two cases of the spatial-temporal uncertainty. In Figure 2(b), nodes S1 and S2 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 r are nonoverlapping, and no collision occurs at node r. In contrast, in Figure 2(c), nodes S1 and S2 send packets at different times; nevertheless, the two packets arrive at node r at the same time, resulting in collision.Figure 2
The spatial-temporal uncertainty problem.
(a)
Topology 1(b)
Sending at the same time(c)
Sending at different timesInspired by Figure2(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.


## 3.1. Collision Problem

In UWSNs, there are three main collision situations. The first is “receive-receive collision,” as shown in Figure1(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.Figure 1
Collision types.
(a)
Receive-receive collision(b)
Send-receive collision(c)
Packet crosstalk


## 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].Figure2 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 S1 and S2 are two sending nodes, and node r is the receiving node. Figures 2(b) and 2(c) show two cases of the spatial-temporal uncertainty. In Figure 2(b), nodes S1 and S2 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 r are nonoverlapping, and no collision occurs at node r. In contrast, in Figure 2(c), nodes S1 and S2 send packets at different times; nevertheless, the two packets arrive at node r at the same time, resulting in collision.Figure 2
The spatial-temporal uncertainty problem.
(a)
Topology 1(b)
Sending at the same time(c)
Sending at different timesInspired by Figure2(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.Table1 shows the relevant symbols used in this paper.Table 1
Symbols.
TermsExplanationSIDThe ID of sending nodesidiThe ID of child nodeiNiLThe number of all child nodes of nodei with layer “L”vpThe speed of sound in waterRbitThe transmission rate of channellSize of a packetlmaxMaximum packet length in the networktsiTime the sender starts to send packetstriTime the receiver to finish receiving packetsLiLayer of nodeiNtNeighbor table of the nodeTDuration of one listen/sleep cycleTawakeDuration of node waking (including idle listening and working times)TworkDuration of node working (including sending or receiving times)TidleDuration of node idle listeningTsleepDuration of node sleepingTACKDuration of a ACK framePosLocation of the nodeDiDistance between the sender and receiving nodesDmaxMaximum transmission distance in networkΔDMaximum distance offset for node movementThe 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 topologyParent 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 UWSNsChild 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 nodeLeaf node. A sensor node that is responsible for collecting information and generating data packets. A leaf node has no child nodeSending node. The node that is sending or forwarding packetsReceiving 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 Figure3(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.Figure 3
Network model.
(a)
Three-dimensional UWSN model(b)
Network topology


#### 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).
(1)Eall=Esend+Ereceive+Eidle,(2)Esend=lP0AdEreceive=λrlEidle=TidleEaver‐idle,where Esend is the transmission energy consumption, Ereceive is the receiving energy consumption, Eidle is the energy consumption for idle waiting, l is the length of a packet, P0 is the receiving power of receiving packets, λr is the receiving energy consumption coefficient, Eaver‐idle is the average energy consumption of nodes in idle waiting state, and Ad represents the energy attenuation when the propagation distance of the acoustic is d in the water, as shown in formula (3).
(3)Ad=dηad,(4)a=10αf/10,(5)αf=0.11f21+f2+44f24100+f2+2.75∗10−4f2+3∗10−3,where η is the energy diffusion factor (the value of η is generally 1.5), αf is the absorption coefficient, and f 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 delayTproc, queue delay Tqueue, propagation delay Tprop, and transmission delay Ttrans. Therefore, the network delay in a communication can be calculated by the following:
(6)Tall=Tproc+Tprop+Ttrans+Tqueue,where Tprop=∑i=1NDi/vp and Ttrans=Nl/Rbit (N 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 asT, is a fixed value.
(7)T=Tawake+Tsleep,(8)Tawake=Twork+Tidle.SinceT is fixed, in formula (7), it is assumed that when Twork 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 Table2. When node i 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 Nt and then calculates the distances between it and its neighbor nodes according to their positions. The cycle period T is also determined in the initialization phase according to the specific application of the network.Table 2
The format of hello packet.
Bit8488ID of the senderLayerPositionChild-node-number


### 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 tableNt, recording the layer and other information of neighbor node, according to which the node can establish a local topology as in Figure 4.Figure 4
Local topology.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 Figure4, the sending times of nodes S3, S4, S5, and S6 are preallocated by node S2. The parent node first determines the sending order of its child nodes according to the priority Psi of the child nodes, the smaller the value of Psi, the higher the priority, which is shown in equation (9).
(9)Psi=DiDmaxifD1≠D2≠⋯≠DnDiDmax+NiL×lmaxelse.As seen in equation (9), given the number of child nodes n, the child node closer to the parent node has the highest priority. If the distance is equal, the smaller the value of NiL, the higher the priority. So firstly, the sink node with layer “0” presets the time to start receiving packets as tr1, and it calculates the sending time ts1when 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 correspondingsidi and tsi 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.Table 3
Format of the CONFIG packet.
Bit88484……84SIDsid1ts1sid2ts2……siditsi


#### 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 ΔD.Definition 1.
ΔT=tri+1−tri, where ΔT is the interval between two successive receiving times. When ΔT≥0, there is no collision at the receiver. The smaller ΔT 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 ΔT≥0. And if the interval ΔT is infinitesimal, not only the end-to-end delay can be reduced but also the sleeping time of the node can be prolonged (T is a constant), which can further achieve energy saving.(3) Calculation and Derivation. Since a parent node has NiL child nodes. Given the amount of data required to be transmitted at node i is denoted by li, is given by formula (10).
(10)li=l+l×NiL,whereNiL=N1L+1+N2L+1+⋯+NkL+1+k, the k is the number of child nodes with layer “L+1” of node i with layer “L.” If we take the maximum value of Ni−maxL in equation (9), we can get that the maximum amount of data required to be transmitted at node i is li−max, which is given by equation (11).
(11)li−max=l+l×Ni−maxL.The sink node first presets that the time to start receiving packets from the first child node istr1. Then, the sending time of the first child node is ts1, which is given by formula (12).
(12)ts1=T+tr1−D1−ΔDvp−li−maxRbitmodT.Note: negative results are normalized to positive values, where T is the duration of one cycle.Meanwhile, the time to finish receiving packetstr1′ is given by formula (13).
(13)tr1′=ts1+D1+ΔDvp+li−maxRbit.Then, whenΔT≥0 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 tpri+1, which is given by formula (14).
(14)tpri+1=ts1+Di−D1+2i−1ΔDvp+li−maxRbit.Whentpsi+1=tsi and tpri+1≥triare satisfied, that is, when Di+1≥Di+2ΔD+li−max/Rbit×vp, concurrent transmission can be realized. Here, we first determine the node whose distance is Di+1=minDi+2ΔD+li−max/Rbit×vp, 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 astri, given by formula (15).
(15)tri=T+tsi+Di+ΔDvp+li−maxRbitmodT.Furthermore, we obtain the receiving time of a node astri, given by formula. Furthermore, the sending time of this child node is tsi, as calculated in formula (16).
(16)tsi=ts1+Di−D1+2i−1ΔDvp+lmaxRbit+TACK.(4) Allocation Process. Here, we introduce several symbols.Zr: the set of all child nodes of a given nodeOs: the set of child nodes that have been allocated sending timesRs: the set of child nodes that have not yet been allocated sending timesWe can get the equation given by formula (17).
(17)Rs=Zr−Os.Step 1.
At the beginning of the algorithm, all the subnodes of the current parent node (sink node) are added toZr and Rs, and the earliest receiving time of the parent node is set to tr1=0. Then, the subnode with the highest priority is selected as the first sending node from Zr. Calculate the sending time of this subnode and add this node to Os. According to formula (17), the set Rs is updated.Step 2.
The parent node finds a subnode in the current setRs that can transmit concurrently with the previous subnode. If such a node is found, add it to Os and update the set Rs according to formula (17). Next, calculate the receiving time when the parent node receives the packets of this subnode as tpr; 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 setRs 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 ts. This node is added to Os, and set Rs is updated. Determine if Rs=null. If no, return to Step 2.Step 4.
IfRs=null, the algorithm ends.Algorithm 1: Allocation process of the sending time.
Initialization:1:O(s)=null;2:P(r)={sink}; // the first parent node is sink nodeBegin3: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.tr1=0, flag=true;9:while( R(s)≠null and s.attribute=true){// Node s is not leaf node10:select j∈Z(r), calculatePsj=PsjpNode;11:for each i∈Z(r)-{j}12:if (PsipNode;<Psj) thenPsj=Psj, j=i;13:if (flag=true) calculate j.ts1| pNode.tr1=0;14:else calculate j.tsi+1| sNode.tr1;15:O(s)= O(s)∪{j}, R(s)=Z(r)-O(s);16:calculate j.tr1;17:for each i∈R(s){ //look for concurrent sub nodes18:if (tpsi=tsj) and (tri′=tri)19:{ O(s)= O(s) ∪{i};20:R(s)=Z(r)-O(s);21:calculate i.tpri;22:}23:}24:sNode=i;25:flag=! flag;26:}27:} EndThe flow diagram of allocation process of the sending time is given in Figure5. 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 M-1 times, M 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 OM.Figure 5
Allocation process flow chart.


#### 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 Figure4, node S2 is a receiving node of data packets, that is, the parent node, and nodes S3, S4, S5, and S6 are its child nodes. In the initial stage, let Zr=S3,S4,S5,S6, Rs=S3,S4,S5,S6, and Os=null. First, node S2 presets its starting receiving time to tr1=0, and the child node with the highest priority in set Zr is node S3. So, node S3 is determined to be the first sending node, and its earliest sending time ists. Then, node S2 calculates the sending time, ts,of node S3, according to the receiving time and the propagating delay between node S2 and node S3; then, node S3 is added to the set Os, Os=S3, and Rs=S4,S5,S6. Node S2 selects a child node in the current set Rs that can be concurrent with node S3 according to different propagating delays. If node S6 is selected, then Os=S3,S6 and Rs=S4,S5. tpr is the time node S2 finishes receiving packets of child node S6. Next, node S2 selects a child node in the current set Rs that can be concurrent with node S6. If node S5 is selected, then Os=S3,S6,S5 and Rs=S4. At this moment, all the nodes that meet the concurrency conditions have been selected. Then, node S2 will select the next sending node from the child nodes that do not meet the concurrency conditions. At this time, node S4 is selected. Thus, Os=S3,S6,S5,S4 and Rs=null.According to the assigned transmission time, each child node starts the data transmission process, which is shown in Figure6; each node maintains an idle listening time duration of Tidle, which is used to listen to the hello packets. In Figure 6, the sending nodes S3, S5, and S6 are assigned the same transmission time by their parent node S2, and node S4 is assigned a later transmission time. After finishing the receiving of data packets, the parent node S2 sends an acknowledgement (ACK) packet to inform the four nodes that it has received successfully the packets. After receiving an ACK the nodes S3, S5, S6, and S4 go into sleeping mode to save energy, and the parent node S2 starts to forward the received packets.Figure 6
An instance of allocation and data transmission process.


### 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 Figure7(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.Figure 7
Interference between nodes.
(a)(b)Schedule to avoid interference between two nodes in different layer. As shown in Figure7(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 Figure4 as an example to illustrate the process of network maintenance. As shown in Figure 4, node S2 is a receiving node, that is, the parent node, and nodes S3, S4, S5, and S6 are its child nodes. We assume that node S3 has left. When the node S2 does not receive any packet (either hello packets or data packets) from node S3 within three hello intervals, it reallocates the sending time for its child nodes S4, S5, and S6, then broadcasts the new CONFIG packet, that carries the sid and the sending time of its child nodes S4, S5, and S6.


## 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 Figure3(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.Figure 3
Network model.
(a)
Three-dimensional UWSN model(b)
Network topology


### 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).
(1)Eall=Esend+Ereceive+Eidle,(2)Esend=lP0AdEreceive=λrlEidle=TidleEaver‐idle,where Esend is the transmission energy consumption, Ereceive is the receiving energy consumption, Eidle is the energy consumption for idle waiting, l is the length of a packet, P0 is the receiving power of receiving packets, λr is the receiving energy consumption coefficient, Eaver‐idle is the average energy consumption of nodes in idle waiting state, and Ad represents the energy attenuation when the propagation distance of the acoustic is d in the water, as shown in formula (3).
(3)Ad=dηad,(4)a=10αf/10,(5)αf=0.11f21+f2+44f24100+f2+2.75∗10−4f2+3∗10−3,where η is the energy diffusion factor (the value of η is generally 1.5), αf is the absorption coefficient, and f 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 delayTproc, queue delay Tqueue, propagation delay Tprop, and transmission delay Ttrans. Therefore, the network delay in a communication can be calculated by the following:
(6)Tall=Tproc+Tprop+Ttrans+Tqueue,where Tprop=∑i=1NDi/vp and Ttrans=Nl/Rbit (N 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 asT, is a fixed value.
(7)T=Tawake+Tsleep,(8)Tawake=Twork+Tidle.SinceT is fixed, in formula (7), it is assumed that when Twork 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.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 Figure3(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.Figure 3
Network model.
(a)
Three-dimensional UWSN model(b)
Network topology


## 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).
(1)Eall=Esend+Ereceive+Eidle,(2)Esend=lP0AdEreceive=λrlEidle=TidleEaver‐idle,where Esend is the transmission energy consumption, Ereceive is the receiving energy consumption, Eidle is the energy consumption for idle waiting, l is the length of a packet, P0 is the receiving power of receiving packets, λr is the receiving energy consumption coefficient, Eaver‐idle is the average energy consumption of nodes in idle waiting state, and Ad represents the energy attenuation when the propagation distance of the acoustic is d in the water, as shown in formula (3).
(3)Ad=dηad,(4)a=10αf/10,(5)αf=0.11f21+f2+44f24100+f2+2.75∗10−4f2+3∗10−3,where η is the energy diffusion factor (the value of η is generally 1.5), αf is the absorption coefficient, and f 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 delayTproc, queue delay Tqueue, propagation delay Tprop, and transmission delay Ttrans. Therefore, the network delay in a communication can be calculated by the following:
(6)Tall=Tproc+Tprop+Ttrans+Tqueue,where Tprop=∑i=1NDi/vp and Ttrans=Nl/Rbit (N 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 asT, is a fixed value.
(7)T=Tawake+Tsleep,(8)Tawake=Twork+Tidle.SinceT is fixed, in formula (7), it is assumed that when Twork 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 Table2. When node i 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 Nt and then calculates the distances between it and its neighbor nodes according to their positions. The cycle period T is also determined in the initialization phase according to the specific application of the network.Table 2
The format of hello packet.
Bit8488ID of the senderLayerPositionChild-node-number


## 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 tableNt, recording the layer and other information of neighbor node, according to which the node can establish a local topology as in Figure 4.Figure 4
Local topology.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 Figure4, the sending times of nodes S3, S4, S5, and S6 are preallocated by node S2. The parent node first determines the sending order of its child nodes according to the priority Psi of the child nodes, the smaller the value of Psi, the higher the priority, which is shown in equation (9).
(9)Psi=DiDmaxifD1≠D2≠⋯≠DnDiDmax+NiL×lmaxelse.As seen in equation (9), given the number of child nodes n, the child node closer to the parent node has the highest priority. If the distance is equal, the smaller the value of NiL, the higher the priority. So firstly, the sink node with layer “0” presets the time to start receiving packets as tr1, and it calculates the sending time ts1when 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 correspondingsidi and tsi 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.Table 3
Format of the CONFIG packet.
Bit88484……84SIDsid1ts1sid2ts2……siditsi


### 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 ΔD.Definition 1.
ΔT=tri+1−tri, where ΔT is the interval between two successive receiving times. When ΔT≥0, there is no collision at the receiver. The smaller ΔT 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 ΔT≥0. And if the interval ΔT is infinitesimal, not only the end-to-end delay can be reduced but also the sleeping time of the node can be prolonged (T is a constant), which can further achieve energy saving.(3) Calculation and Derivation. Since a parent node has NiL child nodes. Given the amount of data required to be transmitted at node i is denoted by li, is given by formula (10).
(10)li=l+l×NiL,whereNiL=N1L+1+N2L+1+⋯+NkL+1+k, the k is the number of child nodes with layer “L+1” of node i with layer “L.” If we take the maximum value of Ni−maxL in equation (9), we can get that the maximum amount of data required to be transmitted at node i is li−max, which is given by equation (11).
(11)li−max=l+l×Ni−maxL.The sink node first presets that the time to start receiving packets from the first child node istr1. Then, the sending time of the first child node is ts1, which is given by formula (12).
(12)ts1=T+tr1−D1−ΔDvp−li−maxRbitmodT.Note: negative results are normalized to positive values, where T is the duration of one cycle.Meanwhile, the time to finish receiving packetstr1′ is given by formula (13).
(13)tr1′=ts1+D1+ΔDvp+li−maxRbit.Then, whenΔT≥0 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 tpri+1, which is given by formula (14).
(14)tpri+1=ts1+Di−D1+2i−1ΔDvp+li−maxRbit.Whentpsi+1=tsi and tpri+1≥triare satisfied, that is, when Di+1≥Di+2ΔD+li−max/Rbit×vp, concurrent transmission can be realized. Here, we first determine the node whose distance is Di+1=minDi+2ΔD+li−max/Rbit×vp, 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 astri, given by formula (15).
(15)tri=T+tsi+Di+ΔDvp+li−maxRbitmodT.Furthermore, we obtain the receiving time of a node astri, given by formula. Furthermore, the sending time of this child node is tsi, as calculated in formula (16).
(16)tsi=ts1+Di−D1+2i−1ΔDvp+lmaxRbit+TACK.(4) Allocation Process. Here, we introduce several symbols.Zr: the set of all child nodes of a given nodeOs: the set of child nodes that have been allocated sending timesRs: the set of child nodes that have not yet been allocated sending timesWe can get the equation given by formula (17).
(17)Rs=Zr−Os.Step 1.
At the beginning of the algorithm, all the subnodes of the current parent node (sink node) are added toZr and Rs, and the earliest receiving time of the parent node is set to tr1=0. Then, the subnode with the highest priority is selected as the first sending node from Zr. Calculate the sending time of this subnode and add this node to Os. According to formula (17), the set Rs is updated.Step 2.
The parent node finds a subnode in the current setRs that can transmit concurrently with the previous subnode. If such a node is found, add it to Os and update the set Rs according to formula (17). Next, calculate the receiving time when the parent node receives the packets of this subnode as tpr; 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 setRs 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 ts. This node is added to Os, and set Rs is updated. Determine if Rs=null. If no, return to Step 2.Step 4.
IfRs=null, the algorithm ends.Algorithm 1: Allocation process of the sending time.
Initialization:1:O(s)=null;2:P(r)={sink}; // the first parent node is sink nodeBegin3: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.tr1=0, flag=true;9:while( R(s)≠null and s.attribute=true){// Node s is not leaf node10:select j∈Z(r), calculatePsj=PsjpNode;11:for each i∈Z(r)-{j}12:if (PsipNode;<Psj) thenPsj=Psj, j=i;13:if (flag=true) calculate j.ts1| pNode.tr1=0;14:else calculate j.tsi+1| sNode.tr1;15:O(s)= O(s)∪{j}, R(s)=Z(r)-O(s);16:calculate j.tr1;17:for each i∈R(s){ //look for concurrent sub nodes18:if (tpsi=tsj) and (tri′=tri)19:{ O(s)= O(s) ∪{i};20:R(s)=Z(r)-O(s);21:calculate i.tpri;22:}23:}24:sNode=i;25:flag=! flag;26:}27:} EndThe flow diagram of allocation process of the sending time is given in Figure5. 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 M-1 times, M 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 OM.Figure 5
Allocation process flow chart.


### 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 Figure4, node S2 is a receiving node of data packets, that is, the parent node, and nodes S3, S4, S5, and S6 are its child nodes. In the initial stage, let Zr=S3,S4,S5,S6, Rs=S3,S4,S5,S6, and Os=null. First, node S2 presets its starting receiving time to tr1=0, and the child node with the highest priority in set Zr is node S3. So, node S3 is determined to be the first sending node, and its earliest sending time ists. Then, node S2 calculates the sending time, ts,of node S3, according to the receiving time and the propagating delay between node S2 and node S3; then, node S3 is added to the set Os, Os=S3, and Rs=S4,S5,S6. Node S2 selects a child node in the current set Rs that can be concurrent with node S3 according to different propagating delays. If node S6 is selected, then Os=S3,S6 and Rs=S4,S5. tpr is the time node S2 finishes receiving packets of child node S6. Next, node S2 selects a child node in the current set Rs that can be concurrent with node S6. If node S5 is selected, then Os=S3,S6,S5 and Rs=S4. At this moment, all the nodes that meet the concurrency conditions have been selected. Then, node S2 will select the next sending node from the child nodes that do not meet the concurrency conditions. At this time, node S4 is selected. Thus, Os=S3,S6,S5,S4 and Rs=null.According to the assigned transmission time, each child node starts the data transmission process, which is shown in Figure6; each node maintains an idle listening time duration of Tidle, which is used to listen to the hello packets. In Figure 6, the sending nodes S3, S5, and S6 are assigned the same transmission time by their parent node S2, and node S4 is assigned a later transmission time. After finishing the receiving of data packets, the parent node S2 sends an acknowledgement (ACK) packet to inform the four nodes that it has received successfully the packets. After receiving an ACK the nodes S3, S5, S6, and S4 go into sleeping mode to save energy, and the parent node S2 starts to forward the received packets.Figure 6
An instance of allocation and data transmission process.


## 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 ΔD.Definition 1.
ΔT=tri+1−tri, where ΔT is the interval between two successive receiving times. When ΔT≥0, there is no collision at the receiver. The smaller ΔT 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 ΔT≥0. And if the interval ΔT is infinitesimal, not only the end-to-end delay can be reduced but also the sleeping time of the node can be prolonged (T is a constant), which can further achieve energy saving.(3) Calculation and Derivation. Since a parent node has NiL child nodes. Given the amount of data required to be transmitted at node i is denoted by li, is given by formula (10).
(10)li=l+l×NiL,whereNiL=N1L+1+N2L+1+⋯+NkL+1+k, the k is the number of child nodes with layer “L+1” of node i with layer “L.” If we take the maximum value of Ni−maxL in equation (9), we can get that the maximum amount of data required to be transmitted at node i is li−max, which is given by equation (11).
(11)li−max=l+l×Ni−maxL.The sink node first presets that the time to start receiving packets from the first child node istr1. Then, the sending time of the first child node is ts1, which is given by formula (12).
(12)ts1=T+tr1−D1−ΔDvp−li−maxRbitmodT.Note: negative results are normalized to positive values, where T is the duration of one cycle.Meanwhile, the time to finish receiving packetstr1′ is given by formula (13).
(13)tr1′=ts1+D1+ΔDvp+li−maxRbit.Then, whenΔT≥0 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 tpri+1, which is given by formula (14).
(14)tpri+1=ts1+Di−D1+2i−1ΔDvp+li−maxRbit.Whentpsi+1=tsi and tpri+1≥triare satisfied, that is, when Di+1≥Di+2ΔD+li−max/Rbit×vp, concurrent transmission can be realized. Here, we first determine the node whose distance is Di+1=minDi+2ΔD+li−max/Rbit×vp, 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 astri, given by formula (15).
(15)tri=T+tsi+Di+ΔDvp+li−maxRbitmodT.Furthermore, we obtain the receiving time of a node astri, given by formula. Furthermore, the sending time of this child node is tsi, as calculated in formula (16).
(16)tsi=ts1+Di−D1+2i−1ΔDvp+lmaxRbit+TACK.(4) Allocation Process. Here, we introduce several symbols.Zr: the set of all child nodes of a given nodeOs: the set of child nodes that have been allocated sending timesRs: the set of child nodes that have not yet been allocated sending timesWe can get the equation given by formula (17).
(17)Rs=Zr−Os.Step 1.
At the beginning of the algorithm, all the subnodes of the current parent node (sink node) are added toZr and Rs, and the earliest receiving time of the parent node is set to tr1=0. Then, the subnode with the highest priority is selected as the first sending node from Zr. Calculate the sending time of this subnode and add this node to Os. According to formula (17), the set Rs is updated.Step 2.
The parent node finds a subnode in the current setRs that can transmit concurrently with the previous subnode. If such a node is found, add it to Os and update the set Rs according to formula (17). Next, calculate the receiving time when the parent node receives the packets of this subnode as tpr; 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 setRs 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 ts. This node is added to Os, and set Rs is updated. Determine if Rs=null. If no, return to Step 2.Step 4.
IfRs=null, the algorithm ends.Algorithm 1: Allocation process of the sending time.
Initialization:1:O(s)=null;2:P(r)={sink}; // the first parent node is sink nodeBegin3: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.tr1=0, flag=true;9:while( R(s)≠null and s.attribute=true){// Node s is not leaf node10:select j∈Z(r), calculatePsj=PsjpNode;11:for each i∈Z(r)-{j}12:if (PsipNode;<Psj) thenPsj=Psj, j=i;13:if (flag=true) calculate j.ts1| pNode.tr1=0;14:else calculate j.tsi+1| sNode.tr1;15:O(s)= O(s)∪{j}, R(s)=Z(r)-O(s);16:calculate j.tr1;17:for each i∈R(s){ //look for concurrent sub nodes18:if (tpsi=tsj) and (tri′=tri)19:{ O(s)= O(s) ∪{i};20:R(s)=Z(r)-O(s);21:calculate i.tpri;22:}23:}24:sNode=i;25:flag=! flag;26:}27:} EndThe flow diagram of allocation process of the sending time is given in Figure5. 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 M-1 times, M 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 OM.Figure 5
Allocation process flow chart.


## 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 Figure4, node S2 is a receiving node of data packets, that is, the parent node, and nodes S3, S4, S5, and S6 are its child nodes. In the initial stage, let Zr=S3,S4,S5,S6, Rs=S3,S4,S5,S6, and Os=null. First, node S2 presets its starting receiving time to tr1=0, and the child node with the highest priority in set Zr is node S3. So, node S3 is determined to be the first sending node, and its earliest sending time ists. Then, node S2 calculates the sending time, ts,of node S3, according to the receiving time and the propagating delay between node S2 and node S3; then, node S3 is added to the set Os, Os=S3, and Rs=S4,S5,S6. Node S2 selects a child node in the current set Rs that can be concurrent with node S3 according to different propagating delays. If node S6 is selected, then Os=S3,S6 and Rs=S4,S5. tpr is the time node S2 finishes receiving packets of child node S6. Next, node S2 selects a child node in the current set Rs that can be concurrent with node S6. If node S5 is selected, then Os=S3,S6,S5 and Rs=S4. At this moment, all the nodes that meet the concurrency conditions have been selected. Then, node S2 will select the next sending node from the child nodes that do not meet the concurrency conditions. At this time, node S4 is selected. Thus, Os=S3,S6,S5,S4 and Rs=null.According to the assigned transmission time, each child node starts the data transmission process, which is shown in Figure6; each node maintains an idle listening time duration of Tidle, which is used to listen to the hello packets. In Figure 6, the sending nodes S3, S5, and S6 are assigned the same transmission time by their parent node S2, and node S4 is assigned a later transmission time. After finishing the receiving of data packets, the parent node S2 sends an acknowledgement (ACK) packet to inform the four nodes that it has received successfully the packets. After receiving an ACK the nodes S3, S5, S6, and S4 go into sleeping mode to save energy, and the parent node S2 starts to forward the received packets.Figure 6
An instance of allocation and data transmission process.


## 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 Figure7(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.Figure 7
Interference between nodes.
(a)(b)Schedule to avoid interference between two nodes in different layer. As shown in Figure7(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 Figure4 as an example to illustrate the process of network maintenance. As shown in Figure 4, node S2 is a receiving node, that is, the parent node, and nodes S3, S4, S5, and S6 are its child nodes. We assume that node S3 has left. When the node S2 does not receive any packet (either hello packets or data packets) from node S3 within three hello intervals, it reallocates the sending time for its child nodes S4, S5, and S6, then broadcasts the new CONFIG packet, that carries the sid and the sending time of its child nodes S4, S5, and S6.


## 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 Table4. 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.Table 4
Qualitative comparison of the four MAC protocols.
ProtocolThroughputEnd-to-end delayEnergy consumptionDynamicCollision rateUWAN-MACLowHighLowerNoLowerT-LohiLowerHighHighNoHighED-MACHigherHigherHighNoHigherCSSTU-MACHighLowerLowYesLow


### 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 m∗5000 m∗5000 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 ΔD 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.Table 5
Simulation parameters.
Parameter nameValuePacket error rate modelNs3:: UanPhyPerNoCodeSignal noise modelNs3:: UanPhyCalcSinrDefaultUAN propagation modelNs3:: UanPropModel thorpAcoustic propagation speed1500 m/sNumber of nodes10~70Center frequency22 kHzBandwidth10 kHzMode typeFSKDate length200 byteTX power2 WRX power0.75 WIdle power8 mWWe 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. Figure8(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
Network throughput under different parameters.
(a)
Throughput vs. node density(b)
Throughput vs. offered trafficFigure8(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.Figures9(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.Figure 9
End-to-end delay under different parameters.
(a)
End-to-end delay vs. node density(b)
End-to-end delay vs. offered trafficFigures10(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.Figure 10
Energy consumption under different parameter.
(a)
Energy consumption vs. node density(b)
Energy consumption vs. offered trafficIn 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.


## 5.1. Qualitative Comparison

The performance comparison of the four MAC protocols is shown in Table4. 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.Table 4
Qualitative comparison of the four MAC protocols.
ProtocolThroughputEnd-to-end delayEnergy consumptionDynamicCollision rateUWAN-MACLowHighLowerNoLowerT-LohiLowerHighHighNoHighED-MACHigherHigherHighNoHigherCSSTU-MACHighLowerLowYesLow


## 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 m∗5000 m∗5000 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 ΔD 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.Table 5
Simulation parameters.
Parameter nameValuePacket error rate modelNs3:: UanPhyPerNoCodeSignal noise modelNs3:: UanPhyCalcSinrDefaultUAN propagation modelNs3:: UanPropModel thorpAcoustic propagation speed1500 m/sNumber of nodes10~70Center frequency22 kHzBandwidth10 kHzMode typeFSKDate length200 byteTX power2 WRX power0.75 WIdle power8 mWWe 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. Figure8(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
Network throughput under different parameters.
(a)
Throughput vs. node density(b)
Throughput vs. offered trafficFigure8(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.Figures9(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.Figure 9
End-to-end delay under different parameters.
(a)
End-to-end delay vs. node density(b)
End-to-end delay vs. offered trafficFigures10(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.Figure 10
Energy consumption under different parameter.
(a)
Energy consumption vs. node density(b)
Energy consumption vs. offered trafficIn 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.



---

*Source: 5558078-2021-03-28.xml*