# DCO-MAC: A Hybrid MAC Protocol for Data Collection in Underwater Acoustic Sensor Networks
## 4 Proposed DCO-MAC Protocol
### CT-MAC Protocol
From Figure 5, the waiting period at node \(k\), \(T_{\text{w\_NOTICE},k}\), can be set as follows:  
\[T_{\text{w\_NOTICE},k}=T_{\text{wrt\_NOTICE},k}-2\tau_{\text{A},k}-\theta,k\in \{\text{A}_{2},\text{A}_{3},\text{A}_{4}\}. \tag{6}\]  
The mobile node is scheduled to send the NOTICE packet once it receives the INVITE packet successfully. So, the waiting time of the mobile node A\({}_{1}\) is \(T_{\text{w\_NOTICE},\text{A}_{1}}=0\). After receiving the NOTICE packet from a mobile node, the propagation delay between the level-1 node (A) and the mobile node (A\({}_{1}\)) can be calculated by node A, using the NOTICE packet sending time and the NOTICE packet receiving time. Then, the mobile node can be treated as a normal one in the follow-up data transmission phase. According to the increasing order of propagation delay between node A and the level-2 nodes, the transmission order of the DATA packets is A\({}_{4}\)\(\rightarrow\)A\({}_{3}\)\(\rightarrow\)A\({}_{1}\), as illustrated in Figure 5. After receiving the NOTICE packets from the level-2 nodes with the data packet(s) to be transmitted, node A calculates the time period between the ORDER packet sending and the DATA packets receiving from node \(k\), \(T_{\text{wrt\_DATA},k}\), as follows:  
\[T_{\text{wrt\_DATA},k}=T_{\text{wrt\_DATA},\text{A}_{4}}+\sum_{ \begin{array}{ c}m\in\{\text{A}_{1},\text{A}_{3},\text{A}_{4}\}\\ O_{\text{DATA},m}<O_{\text{DATA},k}\end{array} }\varphi_{m}(\delta+T_{\text{guard}}),k\in\{\text{A}_{1}, \text{A}_{3},\text{A}_{4}\} \tag{7}\]  
where the time period between the ORDER packet sending and the DATA packets receiving from the first node in the transmission order, node A\({}_{4}\), is \(T_{\text{wrt\_DATA},\text{A}_{4}}=2\tau_{\text{A},\text{A}_{4}}+\theta\). Meanwhile, the total receiving period of the DATA packets at node A is \(T_{\text{r\_DATA},\text{A}}=T_{\text{wrt\_DATA},\text{A}_{1}}+\varphi_{ \text{A}_{1}}\left(\delta+T_{\text{guard}}\right)\). Node A broadcasts an ORDER packet containing \(\{T_{\text{wrt\_DATA},k}\,|\,i\in\{\text{A}_{1},\text{A}_{3},\text{A}_{4}\}\}\) and \(T_{\text{r\_DATA},\text{A}}\). After receiving the ORDER packet, the level-2 node, \(k\), with the data packet(s) to be transmitted, send the DATA packet(s) to node A after waiting a period, \(T_{\text{w\_DATA},k}\). The waiting period at node \(k\), \(T_{\text{w\_DATA},k}\), can be set as follows:  
\[T_{\text{w\_DATA},k}=T_{\text{wrt\_DATA},k}-2\tau_{\text{A},k}-\theta,k\in \{\text{A}_{1},\text{A}_{3},\text{A}_{4}\}. \tag{8}\]After receiving the DATA packets successfully, the level-1 node A broadcasts an ACK packet to finish the transmission of the level-2 sub-network. If a level-2 node is in the transmission range of multiple level-2 sub-networks, we name this kind of node an interference node. If an interference node receives an \(x\)INVITE or \(x\)ORDER packet, it means that the neighboring level-2 sub-network is under the transmission process. So, the interference node should keep silent until the completion of the neighboring sub-network data transmission, to avoid the interference. The silent time is (2\(N_{\text{neighbor}}\) + 2) \(\tau_{\text{max}}\), where \(N_{\text{neighbor}}\) is the number of level-2 nodes in the corresponding neighbor level-2 sub-network, and the value of \(N_{\text{neighbor}}\) can be extracted from the \(x\)INVITE or \(x\)ORDER packet. If an \(x\)RTS or \(x\)NOTICE is received, the interference node should keep silent for 3\(\tau_{\text{max}}\), to avoid interference, according to Figure 5. As the level-1 nodes charge the data transmission of a level-2 sub-network, the level-1 nodes do not back off, even if they receive a control packet not intended to them, in order to avoid the interference on the data transmission of multiple level-2 nodes. In the CT-MAC protocol, the level-1 node has three states, namely IDLE, WF_NOTICE (wait for NOTICE), and WF_DATA (wait for DATA).