## 4 Working Mechanism of ESRVR
### Data Transmission and Void-Hole Detection and Mitigation
#### 4.3.3 Void-Hole Mitigation  
The backward transmission is used to mitigate the effect of a void-hole. In this scenario, when a source node knows that it has no two hop neighbors that are at a lower depth than the source node itself, it confirms the presence of a void-hole, and packets are not routed towards the water surface. In other words, the source node does not find any connectivity towards the water surface with two hop neighbors that are closer to the water surface than the source node. This prevents the transfer of packets from the source node to the sea surface. In such a scenario, the source node looks for other neighbor nodes; that are at the same or a higher depth than the source node but have neighbors up to two hops, so that data could be routed to such neighbors, which is called backward transmission. This process is carried out until packets reach the sea surface or are discarded when routing paths are not established within some specified time, as described in the lines to follow.  
The process of backward transmission is explained in Figure 6. The circle having a particular node at its center represents the transmission range of that node. Node F is the source node, while Nodes E, G, H, I, J, and K are the relay nodes. Node F has Node E as a single one hop neighbor, which has a lower depth than Node F, i.e., Node E is closer to the sea surface than Node F. However, Node F knows that Node E has no neighbor that has a lower depth than Node E. In other words, Node F knows that Node E is just its one hop neighbor, and there is no two hop neighbor of Node F that has a lower depth  
Figure 4: The presence of a void-hole. Node X advances data to Y. However, Y cannot advance data towards the water surface as it has no neighbor in that direction. It shows that a void-hole exists beyond Y.  
Figure 5: Node C finds Node B a more suitable neighbor for data routing than D and E due to lower water pressure on B and a second hop Node A as the neighbor of B. Tick signs confirm data forwarding from C to B. For B, A is not a suitable neighbor for routing due to it not having any neighbor with lower water pressure (depth) than A, which confirms a void-hole beyond A. The cross sign indicates avoidance of data routing from B to A.  
(closer to the water surface) than Node F. That means a void hole exists for Node F beyond Node E. Therefore, Node F cannot establish a two hop connection with the water surface via Node E. That is, Node F cannot route packets in the upward direction due to the absence of a two hop connection in that direction. As a result, Node F does not forward data to Node E. However, Node F has another neighbor, Node G, which has a higher depth than Node F, but has two hop neighbors (Nodes H and I). Therefore, F forwards packets to G, although G is at a higher depth than F. This process of backward transmission continues unless packets are transferred to Node K and from there to the water surface. The knowledge of two hop neighbors is obtained by every node in the neighbors' recognition phase discussed above. In addition, for the sake of simplicity of description, only sensor nodes from E to K are shown, and their other neighbors are not shown. This process continues unless packets reach the sea surface or drop when the channel is not free after a predefined and specified interval of time.