# Event Coverage Detection and Event Source Determination in Underwater Wireless Sensor Networks
## 2 Preliminaries: Routing Tree Construction and Maintenance  
In underwater WSNs, a surface sonobuoy, serving as the sink node (\(SN\)), is deployed on the ocean surface accompanying radio and acoustic transceivers. Without loss of generality, only one sink node is deployed in the network, which is equipped with the Global Positioning System for determining its geographical location. Sensor nodes (denoted \(UV\)) are deployed in a three-dimensional Euclidean ocean space \(D\in\Re^{3}\), to perform collaborative monitoring tasks. Sensory data collected by \(UV\) are gathered and routed to \(SN\) for supporting certain applications [2]. Sensor nodes can be: (i) static, when attached with docks; (ii) semi-mobile, when deployed with buoys or ships; or (iii) mobile, when attached to autonomous underwater vehicles [26]. In this article, we assume that sensor nodes are semi-mobile, whose position changes continuously with the water dynamics. Besides, there should be anchor nodes and reference nodes deployed in the network, which are used for the localization of sensor nodes [2]. As presented in our previous work [22], based on the Channel-Aware Routing Protocol CARP [27], we have established a routing tree for gathering and routing sensory data to \(SN\) in a hop-by-hop fashion. Specifically, a HELLO control packet is flooded from \(SN\) throughout the whole network region during the network initialization phase:  
\[\textit{HELLO}=<\textit{id}_{src},\textit{HC}> \tag{1}\]  
where (i) \(\textit{id}_{src}\) is the unique identifier of a source sensor node \(uv\in\textit{UV}\) and (ii) \(\textit{HC}\) is the hop count, which reflects the distance in hops for a certain sensor node \(uv\) to \(SN\). The larger the value of \(\textit{HC}\) is, the farther the distance is between \(uv\) and \(SN\). The parent-child relation is established between neighboring sensor nodes, and a routing tree is constructed accordingly. Generally, the pitfalls of geographical routing protocols, including connectivity holes [28, 29] and shallow zones [30], are avoided in our routing tree. Sensor nodes in the underwater environment often drift along the water dynamics, which may induce the change of the network topology. This means that the parent-child relation may not hold and the routing tree should be adjusted. A heartbeat control packet \(\textit{HeartBt}\) is adopted for the examination about whether the parent-child relation for \(uv\) and its parent sensor node \(uv_{prt}\) is healthy or not:  
\[\textit{HeartBt}= <\textit{id}_{uv},\textit{id}_{uv_{prt}},\textit{pid},\textit{ crd}_{uv},\textit{HC}(uv),\textit{Id}(uv,uv_{prt})> \tag{2}\]  
where (i) \(\textit{id}_{uv}\) (or \(\textit{id}_{uv_{prt}}\)) represents the identifier of \(uv\) (or \(\textit{uv}_{prt}\)); (ii) pid is the unique identifier of this \(\textit{HeartBt}\) control packet; (iii) \(\textit{crd}_{uv}=(\textit{crd}_{uv}^{x},\textit{crd}_{uv}^{y},\textit{crd}_{uv}^ {z})\) is the three-dimensional geographical coordinate for \(uv\), which is identified through underwater localization techniques; and (iv) \(\textit{lg}(uv,\textit{uv}_{prt})\) represents the link quality for \(uv\) and \(\textit{uv}_{prt}\). When \(\textit{uv}_{prt}\) has received the \(\textit{HeartBt}\) control packet from \(uv\), which indicates that \(\textit{uv}_{prt}\) is still appropriate to serve as the parent node of \(uv\), \(\textit{uv}_{prt}\) replies with an acknowledgment control packet ACK as the confirmation of this healthy situation:  
\[\textit{ACK}=<\textit{id}_{uv_{prt}},\textit{id}_{uv},\textit{HC}(\textit{uv}_ {prt}),\textit{pid},\textit{dist}> \tag{3}\]  
where \(\textit{dist}\) represents the geographical distance between \(uv\) and \(\textit{uv}_{prt}\). Intuitively, \(\textit{dist}\) is smaller than the communication radius \(r\) of sensor nodes, which is assumed to be the same for all sensor nodes in this article.