# Void Hole Avoidance for Reliable Data Delivery in IoT Enabled Underwater Wireless Sensor Networks
## 1 Introduction  
Underwater Wireless Sensor Networks (UWSNs) have attracted both academia and industry to explore the underwater resources by enabling a variety of aquatic applications. For instance, military defense, monitoring the aquatic environment, disaster prevention, pollution monitoring, underwater mineral extraction, etc. [1]. The sensor nodes are randomly deployed over a specified geographic volume with the ability to sense, gather and transmit data towards the destined location (that may be a single sink or multiple sinks) [2; 3]. Data communication in the acoustic medium faces several challenges due to the peculiar features of the aquatic environment like high propagation delays, high deployment cost, node movement due to water currents, energy constraints, limited bandwidth, etc. [4; 5]. Various routing protocols areproposed to enhance the network lifetime with optimal energy consumption and minimize delay from the source to the destination using direct or multihop data transmission mechanisms [6; 7; 8]. To deliver the data to the destination, geographic routing is widely used for both aforesaid data communication methods depending on the nature of the environment. Geographic routing uses the greedy forwarding strategy where each node finds the shortest path towards the destination to save its energy. However, in the greedy forwarding strategy, immutable forwarder node selection is inevitable, which leads to immature depletion of the node's battery and creates a void hole [9]. The void hole is avoided using the Adaptive Hop-by-Hop Vector-Based Forwarding (AHH-VBF) routing protocol [1]. It uses a pipeline to restrict the transmission range, and it is adaptively adjusted to amend the forwarding area to reduce duplicate packets' transmission. However, the void occurrence is not avoided in sparse deployment using this algorithm [9], because it reacts once the data packet is trapped and the data communication process is paused. This may occur because of the variation in the path quality, which is important for energy efficiency in IoT-enabled WSN. The major factors to be considered in the path to avoid void occurrence are: shortest distance and lesser number of links to enhance the network lifetime [10; 11]. The IoT-enabled WSN has the ability to sense, gather and transmit a huge amount of data over a long distance. However, the limited batteries are the major hurdle in successful network operations. Thus, we need to schedule the data transmissions in energy constraint networks. Similarly, the network virtualization is another important aspect to find the path fault successfully in IoT-enabled WSN. The virtualization focuses on the optimal utilization of sensing resources. Moreover, it also supports diversity in the network and enables an efficient management of power resources. However, it has a reactive approach in handling the link failure [12]. The IoT-enabled WSN has been helpful in connecting anything, anywhere. Anywhere means sensors, vehicles, cameras, watches, phones, etc. [13]. The vehicles with customized sensors can allow communication with nearby IoT-enabled WSN. In fact, vehicles are feasible for communication because they do not have the energy limitation problem. However, our focus is on the energy constraint in IoT networks in which the device battery needs to be efficiently utilized. Thus, we need to have a routing algorithm that takes precautionary measures in advance to save data packet loss and handle the occurrence of a void node efficiently while saving the node's energy [14]. Therefore, to achieve energy efficiency along with minimum delay in IoT-enabled UWSNs, the need for robust routing algorithm emerges, which can be adapted according to the available resources. In this paper, we propose four schemes: Adaptive transmission range-based WDFAD-Depth-Based Routing (DBR) (A-DBR) and Backward transmission-based WDFAD-DBR (B-DBR) are proposed to reduce the probability of void hole occurrence.