A Void Avoidance Scheme for Grid-Based Multipath Routing in Underwater Wireless Sensor Networks

This work proposes a geographic routing protocol for UWSNs based on the construction of a 3D virtual grid structure, called Void-Avoidance Grid-based Multipath Position-based Routing (VA-GMPR). It consists of two main components, the multipath routing scheme and the grid-based void avoidance (GVA) mechanism for handling routing holes. The multipath routing scheme adopts node-disjoint routes from the source to the sink in order to enhance network reliability and load balancing. While the GVA mechanism handles the problem of holes in 3D virtual grid structure based on three techniques: Hole bypass, path diversion, and path backtracking. The performance evaluation of the VA-GMPR protocol was compared to a recently proposed grid-based routing protocol for UWSNs, called Energy-efficient Multipath Geographic Grid-based Routing (EMGGR). The results showed that the VA-GMPR protocol outperformed the EMGGR protocol in terms of packet delivery ratio, and end-to end-delay. However, the results also showed that the VA-GMPR protocol exhibited higher energy consumption compared to EMGGR.


Introduction
The importance of oceans and water resources to human life is unquestionable.
Actually, the oceans cover greater than 70% of the earth's surface, and over half of the world's population is found within 100 Km of the coastal areas [1].The oceans, seas and rivers have not been only a major way of transportation throughout the history of human-kind, but they have been also a major supply of nourishment and natural resources (e.g., oil and gas).It is considered that less than 10% of the whole oceans' volume has been explored.The traditional methods for discovering the unexplored underwater regions are not suitable and feasible to human presence, due to the harsh underwater environment.Therefore, unmanned techniques are becoming vital to the exploration of deep-sea regions, such as using Autonomous Underwater Vehicles (AUVs) [2], and underwater wireless sensor networks (UWSNs) [3].UWSNs are envisioned to be the enabling technology for a broad range of aquatic applications, such as environmental monitoring, undersea exploration, disaster prevention, and tactical surveillance.
However, acoustic channels are the only reliable and feasible communication technology that works satisfactorily in underwater environments compared to radio and optical waves [3].But, underwater acoustic channels impose many challenges and constraints for designers of underwater communication protocols.Mainly, the speed of acoustic signals is five orders of magnitudes slower than radio signals.While the available bandwidth is extremely limited (less than 100 KHz), which leads to low data rates.In addition, the acoustic signals have high bit error rates and suffer from temporary losses of connectivity [4].
One of the fundamental problems for developing UWSNs is the design of routing schemes that address the major challenges encountered in underwater environments [5].Among the many challenges facing the design of UWSNs is the design of energy-efficient protocols that prolong the life-time of the network.Since the available energy for a sensor node is very limited due to the use of battery power, which cannot be recharged or replaced in the harsh underwater environment, and because harvesting solar energy is not possible.Although the transmission range of acoustic signals can reach long distances in kilometers; it is found that sending packets over multiple short hops is more energy efficient for UWSNs than sending them over a single long hop [6].Hence, there is a need to establish and maintain multi-hop routing paths.
The current routing protocols for terrestrial wireless sensor networks and mobile ad hoc networks (MANETs) based on proactive and reactive routing approaches are not suitable for underwater sensor networks.Because, proactive routing schemes rely heavily on control packets to maintain and update routes each time the network topology is modified, which makes this approach not suitable given the continuous topology changes of UWSNs due to node movements with water currents.While reactive routing schemes may be suitable for the dynamic topology networks, but they incur high delays due to excessive reliance on flooding techniques for discovering routes.On the other hand, geographic routing protocols can be a possible solution for UWSNs [7].These protocols rely on the availability of location information to each sensor node of their neighboring nodes and the location of the destination for forwarding data packets.Geographic routing schemes explore various greedy approaches for selecting the next forwarding node that is the nearest to the destination.However, these approaches may not be effective in certain network situations.A node may find itself unable to forward data packets based on a greedy approach, because none of its neighbors is closer to the destination than itself.This phenomenon is referred to as the void or hole problem.Besides, these protocols are facing challenges in underwater environments due to the node mobility and the lack of localization facilities based on Global Positioning Systems (GPS), as in terrestrial sensor networks, because GPS radio waves with 1.5 GHz band cannot propagate in water.Basically, the water current, wind, water temperature and underwater creatures have an effect on the movement of nodes and lead to major challenges for underwater localization and mobility modeling [8] [9].for UWSNs, called Energy-efficient Multipath Geographic Grid-based Routing (EMGGR) [11].The simulation results showed that the proposed VA-GMPR protocol outperforms the EMGGR protocol in terms of packet delivery ratio, end-to end-delay.However, the simulation results showed that the proposed VA-GMPR protocol exhibits higher energy consumption compared to EMGGR when tested under different operating conditions.
The remainder of the paper is organized as follows.Section 2 presents the related works.Section 3 describes the VA-GMPR design and implementation.Section 4 presents the Grid Void Avoidance scheme.Section 5 describes the simulation experiments, then shows and discusses the performance evaluation results.
Finally, Section 6 is the conclusion.

Related Works
In the first part of this section, we present an overview of related work on geographic routing protocols for UWSNs.While in the second part, we review grid-based routing protocols in general.

Geographic Routing Protocols for UWSNs
In [12], the Vector Based Forwarding (VBF) protocol is proposed.It is assumed that every node knows its location and each packet carries the location of all the nodes involved including the source, forwarding nodes and final destination.In VBF, the forwarding path follows a vector from the source to the target, called forwarding vector.The forwarding path forms a virtual pipe with a radius, r, from the source to the destination.Upon receiving a packet, a node computes its distance to the forwarding vector.If the distance is less than the virtual pipe radius, then this node is qualified to forward the packet.However, VBF protocol does not provide a solution to the void regions problem.In order to improve the chance of finding nodes within the virtual pipe the Hop-by-Hop Vector-Based Forwarding (HH-VBF) protocol has been proposed [13]; which defines a virtual pipe for each forwarder instead of a single fixed pipe from the source to the destination.However, there is still no void handling mechanism for void occurrences.
However, the Adaptive Hop-by-Hop Vector-Based Forwarding (AHH-VBF) [14] adopts the HH-VBF protocol approach and provides a solution for the void problem.It provides techniques to handle the voids by allowing each forwarding node to adjust the radius of the virtual pipeline based on the distribution of neighboring nodes.It increases the radius of the virtual pipeline if the forwarding region towards the destination is sparse and decreasing it otherwise.Besides, it is capable of adaptively adjust the transmission power level of a forwarding node according to the neighboring nodes density of the forwarder in order to cover longer distances in case of a sparse network.In spite of the adaptive approach of AHH-VBF, it cannot guarantee the delivery of packets to the destination.Mainly, because AHH-VBF is not flexible to avoid large void regions by diverting the packets routing path to other forwarding regions.
In [15], the Vector-Based Void Avoidance (VBVA) protocol is proposed to address the effect of three-dimensional mobile void regions in vector-based routing protocols like VBF and HH-VPF.In fact, VBVA uses the VBF protocol for forwarding packets toward the sink in case no void region is encountered.In VBVA, the information about the forwarding vector of a packet is carried in the packet.VBVA adopts two mechanisms to handle the void regions; these are the vector-shift for handling convex regions, and the back-pressure for handling concave regions.When a node discovers that it is a local maximum for a packet, it will initially apply the vector-shift mechanism, assuming the void region is a convex area.The local maximum node broadcasts a recovery packet to all its neighbors in order to route the packet around the boundary of the void region.
If the local maximum node cannot find neighboring nodes using the vector-shift mechanism, because it is located in a concave area, it would initiate the back-pressure mechanism.Basically, the packet would be routed backward to a point where there are nodes found that are able to route the packet to the destination using the vector-shift mechanism.
In [16], a Focused-Beam Routing (FBR) protocol is proposed.In FBR, every In [17], the Directional Flooding-based Routing protocol (DFR) is proposed to increase the reliability.It is assumed that every node knows about its location, the location of one-hop neighbors and the location of the final destination.DFR utilizes a technique to control the flooding zone to enhance the reliability in an effort to deal with different link qualities.Therefore, the flooding zone would be expanded when a forwarding node finds a poor link to the sink to allow more nodes participating in the packet forwarding.Otherwise, the flooding zone would be reduced to limit the number of nodes participating in relaying packets to the sink.In this protocol, two void regions may be encountered.The first situation is when the flooding zone has no neighboring nodes located there, due to continuously reducing the flooding zone in face of good quality links among neighbors.This situation is handled by exploiting a preventative void-handling technique by ensuring the flooding zone must cover at least one relay node for the forwarded packet.The second situation is when all neighboring nodes of a forwarding node are not closer to the sink than itself.In this case, DFR stops the greedy forwarding approach and tries to bypass the void region by finding a detour path.

Grid-Based Routing Protocols
Routing protocols for WSNs are classified by Akkaya and Younis [5] into three main categories.These are the hierarchical, the location-based, and the data-centric.The main objective of the hierarchical routing protocols is grouping the sensor nodes into clusters, in order to achieve the network scalability objective and conserve energy.In such configurations, each cluster would have a cluster head (called gateway in this work) through which all sensor nodes in the same cluster transmit their packets to the sink.Therefore, all multi-hop routing paths are formed as paths connecting cluster-heads from the source cluster to the destination cluster.[18].The main advantage of the construction of a logical grid, in comparison to other clustering methods, is the ability of the network to utilize location-based routing paths using 2D or 3D grid coordinates system and adapting the scheme to data-centric routing.Besides, a virtual grid structure provides tolerance to node mobility and to network scalability.The size of a virtual grid cell and the number of virtual grid cells depend on the transmission range and on the application requirements.Usually, the grid cell side length is determined as a function of the radio transmission range of a sensor node, such that the transmission range is able to cover all adjacent grid cells in a 2D/3D space.Each sensor node is assumed to be aware of its location, the location of the destination, and the locations of its neighboring gateways in adjacent grid cells, based on a localization service or through GPS receiver.
Many researchers have proposed grid-based routing for MANETs [10] [19] [20], WSNs [21] [22] [23], or UWSNs [11] in order to conserve energy and achieve network scalability.All proposed grid-based routing algorithms for MANETs and UWSNs assume that sensor nodes are mobile.However, sensor nodes may be static or mobile in WSNs depending on the type of application requirements.Most proposed grid-based algorithms perform a gateway election process in each grid cell by the exchange of some information using beacon messages to determine the gateway node in a cell, such as the sensor node location, remaining energy, node degree, node identifier, or a combination of these [11] [20] [24].In general, the grid-based routing schemes proposed in the literature are either based on location-based on-demand routing, such as [19] [22] [24], or deterministic routing, such as [11] [23] [25].In the location-based on demand routing, the proposed algorithms perform a route discovery process based on broadcasting.While in the deterministic routing approach, the proposed routing algorithms use the characteristics of the virtual grid structure and the locations of the source and destination nodes to build deterministic geographic routes.For example, the grid-based routing schemes proposed by Arafeh et al. [23], Al-Salti et al. [11], and Banimelhem et al. [21] are based on 2D geometry for constructing multipath between the source and the destination.However, since Al-Salti et al. proposed protocol is for 3D UWSNs, the protocol assumes forwarding paths in a 2D horizontal plan towards adjacent cells to a virtual destination cell, which is the projection of the sink location cell within the plan.Then, forwarding paths are established as vertical path segments towards adjacent cells to the location of the sink.On the other hand, deterministic 3D grid-based routing schemes proposed by Day et al. [10] for MANETs, Day et al. [25] for UWSNs are making use of methods for the construction of disjoint paths in k-ary n-cube interconnection networks to establish multipath routing paths between the source and destination.The deterministic routes are either implemented as a source routing scheme as in [11] [25], or a distributed routing scheme as in [23].However, the main contribution of deterministic routing is in enhancing routing reliability by constructing node-disjoint multiple paths from source to destination.

Void-Avoidance Grid-Based Multipath Position-Based Routing (VA-GMPR) for UWSNs
In this section, we introduce the design of the proposed Void-Avoidance Grid Multipath Position-based Routing (VA-GMPR) protocol based on the proposed scheme Grid Multipath Position-based Routing (GMPR) [10].The VA-GMPR is a realization of the GMPR for UWSNs with the inclusion of a void avoidance scheme for handling the problem of grid holes in a region, called Grid Void Avoidance (GVA).This section starts with some assumptions and notations that VA-GMPR adopts based on the notations in [10].Then, the construction method of cell-disjoint routing paths in a 3D-grid is described.The construction of cell-disjoint routing paths is based on a known construction mechanism of node-disjoint paths in the k-ary n-cube interconnection networks as specified for GMPR with some modifications for UWSNs [10].Finally, the section introduces the VA-GMPR implementation.The GVA scheme will be introduced in the next section.

Assumptions and Notations
In this research, we consider that the geographic region is divided into a logical 3D grid of cells, called grid cells.Each cell is viewed as a cube and all cubes are of equal volume.In this work, a grid cell is a neighbor to another grid cell if they have a common vertex, edge, or face.Accordingly, a grid cell in VA-GMPR has up to 26 neighbors.The side of a grid cell, d, is determined based on the acoustical transmission range, R, of a sensor node, such that a sensor node can be able to directly communicate with any other node in a neighboring grid cell.Therefore, the selected grid cell side, d, should satisfy the relation grid cell is identified by a unique Cell ID (CID) integer number, representing the grid cell's coordinates (X, Y, Z).VA-GMPR assumes that the sensor nodes are deployed randomly at different depths and are allowed to move with water currents.All sensor nodes have identical initial characteristics, including power sources, processing units, memory space, and acoustical communication capabilities.Moreover, the protocol assumes the existence of only one sink node (base station), which is fixed at the center of the top surface of the grid.The sink node uses acoustic frequency channel to communicate with the underwater sensor nodes, while it uses radio frequency channel to communicate with other sink nodes or terrestrial stations.Each sensor node is equipped with some localization service mechanism for determining its location and the location of the sink node.The location information is then mapped to Cartesian coordinates of the grid.Every sensor node has a unique Node ID (NID) as its address which is assigned to it at initialization.The grid origin is assumed to be at the bottom forward left corner of the virtual 3D grid structure, where the cell numbering adopted (i.e., CID) in the protocol starts from that position.So, the CID of the cell at the origin (i.e. with X = 0, Y = 0, and Z = 0) is equal to 0.
The VA-GMPR relies on a gateway election process that determines one elected sensor node as a gateway in each grid cell.Gateway nodes are responsible of applying the VA-GMPR scheme for forwarding data packets to the sink.
VA-GMPR utilizes the same gateway election process used in EMGGR protocol [11].However, VA-GMPR deals with the lack of elected gateway in a cell due to the re-election process as a void/hole that is dealt with using the GVA scheme.
As a consequence of the gateway election process, each sensor node constructs the table of neighboring gateways, called Gw- In this work, we define the distance between two nodes as the minimum number of grid cells that need to be crossed on a path between the two nodes.In order to describe the routing movements along one of the coordinate axes, the following notations will be used, assuming movements from a source gateway S to a destination gateway D along the first dimension X [10]: • −x: A move along the x-dimension resulting in a decrease of the distance to destination, where x refers to the distance between S and D to be traveled on the X-axis.• +x: A move along the x-dimension resulting in an increase of the distance to destination, where x refers to the distance between S and D to be traveled on the X-axis.

Construction of Cell-Disjoint Routing Paths
In VA-GMPR, a path from a source cell S at location (X S , Y S , Z S ) to a destination In [10], it is shown that up to 6 cell-disjoint paths that can be specified with optimal or near optimal path lengths in the 3D-grid from any source cell S of grid coordinates (X S , Y S , Z S ), to any destination cell D of grid coordinates (X D , Y D , Z D ).In this work, we follow the construction mechanism of GMPR with some modifications as explained next.
In [10], the authors proposed seven different cases for cell disjoint multiple paths based on the coordinates of the source cell, S, and the coordinates of the destination cell, D, in the 3D-grid.The seven cases cover all the situations where S and D are distinct grid cells.These are shown in Table 1.Under each case, Table 1.Cell-disjoint routing path definitions for VA-GMPR.GMPR defines six cell-disjoint paths with optimal or near-optimal path lengths.
However, the number of disjoint paths in VA-GMPR is restricted to four in order to avoid long paths and eliminate infeasible ones in underwater.Because, it is assumed that all sensor nodes are located within the boundaries of the UWSNs region, and that the sink is at a fixed position on the surface.The modified list of the multiple disjoint routing paths definitions for VA-GMPR are shown in Table 1, which are obtained from the list of paths defined in [26].Accordingly, all selected multiple paths in VA-GMPR are characterized with optimal or near-optimal path lengths, L opt , or (L opt + 2), respectively, with the exception of two paths which are characterized with (L opt + 4).Those are R where, R i,j refers to routing path j of case i.The path lengths of R 1,1 , R 2,2 , and R 3,3 are L opt , L opt , and L opt + 2, respectively.
However, there are boundary conditions for the valid paths that must be satisfied.The invalid paths are determined based on the locations of the source and destination cells, which are dropped from the considered subset of multiple paths.For more details on these boundary conditions see [10].

The VA-GMPR Protocol
The VA-GMPR protocol uses a source routing scheme.The gateways are responsible for forwarding packets to the sink.Once the paths are constructed in each sensor node, they will be stored in a table called Path_Table.All paths are constructed as sequences of CIDs, and are all initially marked as valid.The constructed multiple paths in the Path_Table belong to one of the cases of multiple paths in Table 1, since the sink is at a fixed grid cell position.Each source gateway applies a round robin policy for selecting a valid path from the available multiple paths, in order to balance the traffic across the gateways of the multiple paths to reduce congestion and help in distributing energy consumption uniformly.When a source node generates a data packet to be sent to the destination, it searches for the elected gateway NID in its cell and forwards the packet to it.If the gateway's NID is its own NID, then it considers itself as the source gateway for the packet.In either case, the source gateway will select a valid path to the destination from the available paths in Path_Table using round robin order.
After finding a valid path, the source gateway would check its neighboring gateways table, Gw- the void avoidance scheme as described in the next section.The flow chart of the VA-GMPR scheme is shown in Figure 1.
Figure 1.Flow-chart of the VA-GMRP scheme.

The Grid Void Avoidance (GVA) Scheme of VA-GMPR
The geographic routing schemes have been shown to be very suitable for UWSNs, because they do not need the communication overhead to discover and maintain the full path from the source to the destination.However, the characteristics of underwater environments make it more difficult for such schemes to cope with void regions [27].Mainly because the void regions are 3D, which require special treatments than 2D voids in terrestrial networks; and because sensor nodes mobility in underwater creates mobile void regions.In a grid-based routing scheme, we define a grid cell as a void/hole cell if that cell does not have any sensor node elected as a gateway.This situation may arise due to the lack of deployed sensor nodes, the relocation of gateway nodes due to water currents, the malfunction of existing gateway nodes due to energy depletion or failure, or due to temporary conditions such as the gateway re-election process.In VA-GMPR, we define a path-dead-end gateway as a gateway along the path whose next-hop cell is a void (hole) cell, and we define a dead-end gateway as a gateway which is closer to the destination than any of its neighboring gateways.
In this section, the Grid Void Avoidance (GVA) scheme is described as a mechanism for handling the void problem in VA-GMPR.
The GVA scheme adopts three techniques for handling holes in search for an alternative path to the sink.These are the hole bypass, the path diversion, and the path backtracking/elimination.These three techniques are applied in this order for the three GVA conditions defined below.The failure of one technique would trigger the application of the next one in sequence as will be elaborated next.The objective of the GVA scheme is to reduce the overhead of handling holes, while being able to enhance the reliability of the routing protocol.That is the reason for applying these techniques in increasing order of their complexity.

Grid-Based Void Avoidance Conditions
In VA-GMPR, whenever a hole is discovered in the next hop, the path-dead-end gateway would determine the specific situation of the GVA scheme to be applied based on the grid cell location of the current forwarding (i.e., path-dead-end) gateway in the path from the source to the destination.Typically, the location of the void grid cell is on a path segment of the route along one of the directions X, Y, or Z.The GVA scheme identifies three void conditions according to the current location of a discovered void grid cell and the packet's progression through the routing path.These are defined as follows: • GVA-Condition 1: Completion of progress on two dimensions towards the destination.In this situation, the current node and the sink node have equal values in two of their three coordinates.This void condition can be applied to all routing cases.• GVA-Condition 2: Completion of progress on one dimension toward the destination.In this situation, the current node and the sink node have equal values in one of their coordinates.This void condition can be applied to All GVA procedures for conditions 1, 2, and 3, are referred to as GVA-C1, GVA-C2, and GVA-C3, respectively.They are applied for handling holes in order, such that the failure of one technique would trigger the application of the next one in sequence.The GVA procedures are applied each time a hole cell is discovered on the original or modified path from source to destination.The techniques for handling holes are discussed next.

Hole Bypass Technique
The hole bypass technique in VA-GMPR handles the hole problem by bypassing a void grid cell through one of the path-dead-end gateway neighboring cells in order to return back to the original path segment.The neighboring gateways are acting as bypassing nodes, and they are referred to as bypass gateways.The subset of bypassing neighboring gateways is determined based on the current direction of the path segment toward the sink, and the existence of valid two-hop gateway along the path segment.In this work, we define the direction of a path segment for a routing path definition as a unit vector, P d , in 3D consisting of three components (x d , y d , z d ).Since each path segment of a routing path definition is parallel to one of the coordinate axes X, Y, or Z; the direction vectors of the path segments are defined as <±1, 0, 0>, <0, ±1, 0>, or <0, 0, ±1>.Accordingly, we characterize the relative position of one-hop, two-hop, and bypass neighbors with respect to a forwarding gateway using the following definitions: Definition 1: The relative position of a one-hop neighboring grid cell with respect to a forwarding node (x f , y f , z f ), along a routing path segment direction P d , can be determined by a vector V 1h = P d , emanating from the forwarding node along the routing path segment direction toward its neighbor.

Definition 2:
The position of a one-hop neighbor of a forwarding node (x f , y f , z f ) is called a pivot node if it is the intersection point of two path segments in the routing path definition.

Definition 3:
The relative position of a two-hop neighboring grid cell with respect to a forwarding node (x f , y f , z f ), along a routing path segment direction P d , can be determined by a vector V 2h defined as follows: V 2h = V 1h + P d ; if the one-hop grid cell is not a pivot node, or V 2h = V 1h + P d+1 ; if the one-hop grid cell is a pivot node where, P d and P d+1 refer to the direction vectors of the current and next path segments along a routing path definition.DOI: 10.4236/wsn.2018.107008144 Wireless Sensor Network For example, if P d = <0, 1, 0> and P d+1 = <−1, 0, 0>, then V 1h = <0, 1, 0> V 2h = <0, 2, 0>; if the one-hop grid cell is not a pivot node, or; V 2h = <−1, 1, 0>; if the one-hop grid cell is a pivot node.
Since the position of a hole cell is at a one-hop location with respect to a path-dead-end node, (x e , y e , z e ), along a path segment direction, we restrict the subset of possible bypass grid cells to eight out of the 26 neighbors, in order not to increase the path length of a path definition.Accordingly, these bypass grid cells are defined as follows.
Definition 4: The eight bypass neighboring grid cells of a path-dead-end node (x e , y e , z e ), that do not increase the path length of a routing path definition, are the eight neighboring grid cells located on the perpendicular plan to the path segment direction vector, P d , and passes through the hole cell.
Basically, the hole-bypass technique is applied in all GVA procedures.The hole bypass technique requires the existence of a valid two-hop gateway along the routing path direction, otherwise it fails.The confirmation that there is an existing two-hop gateway allows the hole bypass technique to select a valid bypass gateway from one of the eight bypassing neighboring gateways.The technique fails if it cannot find a valid bypass gateway in any of the eight bypassing neighboring grid cells.In case a valid bypass gateway is found, the routing path in the packet header would be updated by replacing the next-hop CID by the CID of the bypass gateway, and changing the next hop address to the bypass gateway NID, then transmitting the packet.
However, the location of the hole cell at the intersection of two path segments, as a pivot, can appear in GVA conditions 2 and 3, where there is a change in the direction.This situation can be detected from the routing path by testing the path direction from the pivot to the two-hop cell and comparing it with the current path direction.For example, if the path direction is shifting from <±1, 0, 0> to <0, ±1, 0>, or <0, 0, ±1> then the hole cell is a pivot.If there is a valid two-hop gateway, then the original path is updated by just deleting the CID of the hole cell.

Path Diversion Technique
If the hole bypass method fails to find a bypass gateway from the possible bypassing neighboring grid cells, then the path diversion method will be applied.
The idea of this technique is to replace the original remaining routing path segments by alternative path segments starting from one of the neighboring grid cells in order to avoid the hole cell.The candidate neighboring gateways considered as starting gateways for the alternative path segments are the same as those considered as bypassing gateways in this work.The technique fails if none of the starting gateways exists.This technique is divided into three cases: • Diversion paths in case of completion of progress on two dimensions.
• Diversion paths in case of completion of progress on one dimension.
• Diversion paths in case of no completion of progress on any dimension towards the destination.

Diversion Paths in Case of Completion of Progress on Two Dimensions
The path diversion technique in this case builds a new path segment to the destination, based on the current direction (i.e., X, Y, or Z) of the path segment, such that it is in parallel to the original one and starting from one of the candidate bypassing gateways.The constructed new path segment replaces the original one in the forwarded packet.The construction of the parallel path segment to the current one is based on route path R 4,1 = (−x)*, R 6,1 = (−y)*, or R 7,1 = (−z)* in cases 4, 6, or 7, respectively, in Table 1.

Diversion Paths in Case of Completion of Progress on One Dimension
The path diversion technique in this case would build new path segments to the destination based on the current direction, and the previous direction on which progress has been completed.Since progression on the current direction is blocked, due to the discovery of holes on the next one and two hops, the technique would construct new path segments to the destination that allow the path to start progressing on the original next segment first then following it by completing the progression on the original current direction.For example, if the current direction is along the X-axis and the previous direction of the path was on the Y-axis, then the new path segments are constructed to have the next segment on the Z-axis and the final one on the X-axis.The construction of the diversion path in this case follows the cell-disjoint routing vectors of cases 2, 3, and 5 in Table 1.The specifications of the diversion paths are summarized in Table 2.The starting gateway for these diversion paths would be one of the neighboring cells that satisfy the corresponding route vector in Table 2.

Diversion Paths in Case of No Completion of Progress on Any Dimension towards the Destination
In this case we determine a starting gateway with respect to the current path-dead-end gateway based on the current direction of the path segment.A new route starting from one of the bypass gateways to the destination will be generated as follows: • In case of X-direction, if the starting gateway exists in the Y-direction, then the new route segment will be computed in a similar manner to route 2 of the routing case 1 (R 1,2 = (−y)*(−z)*(−x)*).Otherwise, if the starting gateway exists in the Z-direction, then the new route segment will be computed in a similar manner to route 3 of the routing case 1 (R 1,3 = (−z)*(−x)*(−y)*).Otherwise, the method is terminated unsuccessfully.
• In case of Y-direction, if the starting gateway exists in the X-direction, then the new route segment will be computed in a similar manner to route 1 of the routing case 1 (R 1,1 = (−x)*(−y)*(−z)*).Otherwise, if the starting gateway exists in the Z-direction, then the new route segment will be computed in a similar manner to route 3 of the routing case 1 (R 1,3 ).Otherwise, the method is terminated unsuccessfully.
• In case of Z-direction, if the starting gateway exists in the X-direction, then the new route segment will be computed in a similar manner to route 1 of the routing case 1 (R 1,1 ).Otherwise, if the starting gateway exists in the Y-direction, then the new route segment will be computed in a similar manner to route 2 of the routing case 1 (R 1,2 ).Otherwise, the method is terminated unsuccessfully.Then, the new remaining path segment grid coordinates will be mapped to CIDs, and the original remaining path segments in the packet header will be replaced by the new diversion path accordingly.

Path Backtracking/Elimination Technique
This technique is applied when the path diversion method cannot handle the problem of the hole.In this situation the path-dead-end gateway is a dead-end gateway.It would generate a negative acknowledgment packet which contains the original path in reverse order.The packet is sent on a backward path toward the source gateway in search for an alternative path at any gateway on the path back to the source, until either a new path is found, or the negative acknowledgment packet reaches the source gateway.When a negative acknowledgment packet arrives at the source gateway, it would mark this path to the destination as invalid and selects another path from the set of alternative disjoint valid paths to the destination.This approach follows exactly the approach of EMGGR protocol for handling the hole problem, where it is the only approach applied for handling holes.

Simulation and Performance Evaluation
In this section, we present the simulation and performance evaluation of the proposed Void Avoidance Grid Multipath Position-based Routing (VA-GMPR)

Simulation Settings
All simulations are performed using the underwater sensor network simulation package called Aqua-Sim [28].Aqua-Sim is based on NS-2 network simulator tools.It effectively simulates the underwater acoustic channels and supports three-dimensional network deployment.We use the broadcast MAC protocol.In this MAC protocol, when a node has a packet to send, it first senses the channel.
If the channel is free, it broadcasts the packet.Otherwise, it backs off.The packet will be dropped if the node backs off four times.In all the simulation experiments described in this section, sensor nodes were randomly deployed in a space of 300 m × 300 m × 300 m.Each simulation run lasted for 1000 seconds.The results from the first 150 seconds and the last 100 seconds were discarded to minimize the warm-up effect.Each simulated result was obtained from an average of 30 runs.In each run, 25 sources were selected randomly.A more comprehensive list of simulation parameters is shown in Table 3.

Performance Metrics and Operating Conditions
In this work, we have focused on three performance metrics for comparisons between VA-GMPR and EMGGR protocols.These are: • Packet Delivery Ratio (PDR): Is defined as the ratio of the total number of packets received by the destination (i.e.sink) to the total number of packets transmitted by all nodes.• Average End to End Delay: This is the average duration taken by a data packet starting from the time it is transmitted by the source gateway to the time it is being received by the sink.
• Energy Consumption: The total energy consumed by all nodes during the simulation.It includes the transmission power, the reception power and the idling power consumed by all nodes.The above performance metrics have been assessed under different operating conditions and scenarios.These are: • Network Density: In this work, the impact of network density has been assessed by varying the number of nodes in the network.
• Traffic Load: The impact of traffic load on the protocol performance has been assessed by varying the generation rate of the data packets.
• Node Mobility: Since underwater nodes are assumed to move with water currents, we have studied the impact of node mobility on the performance metrics mentioned above by varying the maximum speed of the sensor nodes.

Simulation Results and Analysis
In all simulation experiments, we compare the performance of VA-GMPR with respect to EMGGR using 95% confidence intervals.25 randomly selected sources inject traffic into the network.The average of the 30 batch runs along with the error bars are presented in the plotted results.The results of the simulation experiments for the impact of the network density, traffic load and node mobility are presented next.

Impact of Network Density
This section presents the results of studying the impact of network density on the performance of VA-GMPR compared to EMGGR when the speed of nodes is 2 m/s.The network density is varied by deploying 100, 200, 300, 400 and 500 nodes, while the traffic generation rate is fixed with mean 0.1 packets per seconds.From Figure 2, we observe that the VA-GMPR protocol has maintained close PDR performance to EMGGR at low node densities (≤200).However, VA-GMPR is able to outperform EMGGR in terms of delivery ratio at high node densities (>200) due to its ability to apply its void avoidance scheme with existing holes, in spite of nodes mobility.It can be seen from the figure that VA-GMPR improves the packet delivery ratio by an average of 24% compared to EMGGR. Figure 3 shows the impact of the network density with mobile nodes on the average end-to-end delay.Generally, as the number of nodes increases the average end-to-end delay decreases for both VA-GMPR and EMGGR.However,  the VA-GMPR protocol shows better average end-to-end delay than the EMGGR protocol by about 25% on average.This can be attributed to the ability of the VA-GMPR protocol to bypass or reconstruct an alternative path to the destination base on using the GVA scheme.Accordingly, it is able to deliver packets faster than the EMGGR protocol as the density of nodes increases.The impact of network density on the total energy consumption is shown in Figure 4.The two protocols exhibit a similar energy consumption trend with increasing number of nodes.The total energy consumption of EMGGR and VA-GMPR protocols increases with increasing the number of nodes, with VA-GMPR having higher energy consumption than EMGGR by about 21% on average.The overhead of periodic control messages exchanged for maintaining the GW-Table in each gateway has a negative influence on the energy consumption of VA-GMPR.

Impact of Traffic Load
The impact of the traffic load is evaluated by varying the mean of the exponential distribution of the packet generation rate from 0.025 to 0.2 packets per second.The number of nodes used in this set of simulation runs is 400 nodes and are deployed randomly in the network, while the nodes speed is set to 0 m/s. Figure 5 shows the packet delivery ratio trend against the packet generation rate.
It decreases with the increase in the packet generation rate in both VA-GMPR and EMGGR.By increasing the packet generation rate, more packets are propagated in the network and hence more packets get dropped due to collision.However, VA-GMPR outperforms EMGGR under all traffic rates.This is mainly due to the availability of the disjoint paths and its ability to deal with holes.
The impact of traffic load on the average end-to-end delay is shown in Figure 6.The figure illustrates that the two protocols exhibit similar trends of average end-to-end delay: as the packet generation rate increases, the average end-to-end delay decreases.The change in the average end-to-end delay is insignificant, because packets are routed from source to destination on multiple paths of close path lengths.However, there is a significant advantage for VA-GMPR over EMGGR in regard to end-to-end delay.According to these simulation scenarios, the VA-GMPR protocol outperforms EMGGR in PDR and end-to-end delay with about 7.5%, and 22.5% on average, respectively.In regard to the impact of   traffic load on the total energy consumption, Figure 7 shows that the energy consumption increases as the traffic load increases in both protocols.But, VA-GMPR protocol shows higher energy consumption compared to EMGGR by about 33% on average, due to the increase of the number of control packets, with the exception of the case of 0.2 packets/sec traffic.In general, the difference in energy consumption between the two protocols decreases with increasing traffic load, which with the accompanied difference in end-to-end delay, implies that EMGGR protocol has high overhead due to its inflexibility in handling holes.

Impact of Node Mobility
The impact of node mobility is assessed by varying the maximum speed of the nodes from 0.5 m/s to 3.0 m/s, while the minimum speed is fixed to 0.0 m/s.The number of nodes used in this set of simulation experiments is 400 nodes and are deployed randomly in the network.The mean of the exponential distribution of the packet generation rate is set to 0.1 packets per second.Figure 8 shows a common trend of the effect of node mobility on the packet delivery ratio for both VA-GMPR and EMGGR.With increasing the maximum speed of the nodes, the packet delivery ratio is decreasing steadily.This drop in the packet delivery ratio can be attributed to the short period that the gateways may stay in the same cells, which would cause the election process to start over again.However, VA-GMPR outperforms EMGGR in terms of packet delivery by about 24%, because of its ability to handle the existence of holes due to mobility through the hole bypass method or the path diversion method.
The impact of node mobility on the average end-to-end delay is shown in Figure 9. Except for the case of 0.5 m/s speed, the average end-to-end delay increases by increasing the mobility speed in the case of EMGGR, and decreases with increasing mobility speed in case of VA-GMPR.In general, node mobility is a main reason for the instability in the network topology and the dynamic creation of holes, and accordingly it would be the reason for re-electing new gateways in grid cells.Therefore, packets may have to be transmitted through longer paths in the EMGGR protocol, because of using backtracking for handling holes.
The decline in the average end-to-end delay in VA-GMPR is about 15%, and it is attributed to using the GVA scheme, which gives flexibility to overcome the effect of gateways re-election.However, the energy consumption of VA-GMPA is still higher than EMGGR by about 46%.This can be attributed to the frequent loss of gateways due to the movement of nodes, which has an effect on the frequent application of the GVA scheme.Basically, with each disappearance of a gateway, a temporary hole may be created until the re-election process creates another gateway, or a permanent hole is generated.In addition, the overhead of control messages exchanged for obtaining two-hop neighboring gateways to maintain the GW-Table has an effect on increasing the energy consumption of the VA-GMPR compared to the EMGGR.

Conclusion and Future Work
In this work, we have proposed a geographic routing protocol, called VA-GMPR, for UWSNs based on a 3D virtual grid structure.The VA-GMPR performs multipath construction using optimal or near-optimal cell-disjoint paths to enhance network reliability and load balancing.In order to tackle the hole problem, a void avoidance mechanism, called GVA, is adopted as a solution through three techniques.The GVA techniques are applied in increasing order of complexity according to the extent of the void region, and these are the hole bypass, the path diversion, and the path backtracking.We have evaluated the performance of the proposed VA-GMPR protocol by simulation and compared the results to a recently proposed grid-based routing protocol, called EMGGR.The simulation results show the effectiveness of VA-GMPR performance with respect to EMGGR, though with higher energy consumption.
However, the VA-GMPR protocol has limitations due to applying the k-ary n-cube approach of interconnection networks by constructing routing paths Figure 10.Impact of node mobility on the energy consumption.
This work proposes a geographic routing scheme for UWSNs based on the construction of a 3D virtual grid structure, called Void-Avoidance Grid-based Multipath Position-based Routing (VA-GMPR) protocol.The VA-GMPR protocol is proposed for medium to high dense UWSNs.It consists of two main components, the multipath routing scheme and the grid-based void avoidance (GVA) mechanism for handling routing holes.The multipath routing scheme adopts the k-ary n-cube interconnection networks approach for the construction of node-disjoint multipath routes from the source to the sink in order to enhance network reliability and load balancing.The multipath construction is an implementation of the proposed Grid-based Multipath Position-based Routing (GMPR) protocol for MANETs in the context of the underwater environment[10].While the GVA mechanism handles the problem of holes in 3D virtual grid structure based on three techniques: Hole bypass, path diversion, and path backtracking.The performance evaluation of the VA-GMPR protocol was conducted by simulation and compared to a recently proposed grid-based routing protocol • x−: A move along the x-dimension decreasing the value of the x-coordinate by 1. • x+: A move along the x-dimension increasing the value of the x-coordinate by 1. • (−x)*: A sequence of −x moves bringing down to zero the distance along the x dimension.• (−x)*+: A sequence of −x moves bringing down to zero the distance along the x dimension followed by one extra move along the same dimension and in the same direction.The notations: −y, +y, y−, y+, (−y)*, (−y)*+, −z, +z, z−, z+, (−z)*, (−z)*+ are T. Al-Subhi et al.DOI: 10.4236/wsn.2018.107008139 Wireless Sensor Network defined similarly for the Y and Z dimensions.
cell D at location (X D , Y D , Z D ) is a sequence of cell coordinates represented by a sequence of CIDs starting with the source cell CIDS and ending with the destination cell CIDD.Two paths from S to D are defined as cell-disjoint if they do not have any common cells other than the source cell (X S , Y S , Z S ) and the destination cell (X D , Y D , Z D ).The optimal path length, L opt , between any two grid cells S, (X S , Y S , Z S ), and D, (X D , Y D , Z D ), is defined as:

T
. Al-Subhi et al.DOI: 10.4236/wsn.2018.107008143 Wireless Sensor Network routing case 1, case 2, case 3 and case 5. • GVA-Condition 3: Completion of progress on none of the dimensions towards the destination.In this situation, none of the coordinate values have completed advancement towards the corresponding coordinates of the destination values.This void condition can be applied to routing case 1 only.

Figure 2 .
Figure 2. Effect of network density with mobile nodes on the PDR.

Figure 3 .
Figure 3.Effect of network density with mobile nodes on the average end-to-end delay.

Figure 4 .
Figure 4. Effect of network density with mobile nodes on the energy consumption.

Figure 5 .
Figure 5.Effect of traffic load on the PDR.

Figure 6 .
Figure 6.Effect of traffic load on the average end-to-end delay.

Figure 7 .
Figure 7. Impact of traffic load on the energy consumption.

Figure 8 .
Figure 8.Effect of node mobility on the PDR.

Figure 9 .
Figure 9. Impact of node mobility on the average end-to-end delay.
DOI: 10.4236/wsn.2018.107008133 Wireless Sensor Network Table, which contains the NIDs of the gateways in the local cell and in the neighboring grid cells.VA-GMPR im- plementation of the Gw-Table includes two-hop neighboring gateways, in order to support the Grid Void Avoidance (GVA) scheme.Each entry of a neighboring gateway in the Gw-Table includes its list of neighbors.The extension is implemented through the broadcast of HELLO control packets periodically by each gateway node.The HELLO packet would include the list of one-hop neighboring gateways in the sender's Gw-Table.On receiving a HELLO packet from a neighboring gateway, each gateway node will be able to construct or update its list of two-hop neighbors of a gateway in the Gw-Table.
Table, for the starting gateway's NID of the path's next hop CID.If the next hop gateway exists, it inserts the path (as a sequence of CIDs) into the NID of the path's next hop CID.Besides, if a source sensor node does not have a gateway in its local cell, the source node drops the packet.When an intermediate gateway receives a data packet, it checks if the sink NID in the data packet header match its own gateway's NID.If it does, the receiving gateway is the sink and the data packet is delivered.Otherwise, if the node is a gateway, and its CID is matching the next-hop CID in the route path of the data packet header, then this gateway is a forwarding gateway for the received data packet.Accordingly, the forwarding gateway would determine the next-hop CID in the path, and searches for its NID in the neighboring gateways table, Gw-Table.If there is a valid gateway NID for the next-hop CID, the data packet header fields are updated, and the data packet is forwarded to that next-hop NID gateway.If there is no valid gateway NID entry for the next-hop CID in the neighboring gateway table, then the forwarding gateway would start packet header and forwards the packet to the next hop.Otherwise, the next path in order is selected from the Path_Table.The source gateway would drop the packet if there is no valid path found to the destination, or there is no valid T. Al-Subhi et al.DOI: 10.4236/wsn.2018.107008141 Wireless Sensor Network starting gateway's T. Al-Subhi et al.