An energy efficient void avoidance opportunistic routing protocol for underwater sensor

Underwater sensor network is an emerging technology due to its numerous applications in aqueous environments. However, limitations of these networks include limited bandwidth, high propagation delays and power constraints. Hence, new routing protocols must be designed specifically for USN. Opportunistic routing offers a promising method to overcome these limitations. The proposed protocol is a novel energy-efficient void avoidance opportunistic routing algorithm. The protocol deals with the issue of void holes during transmission while reducing energy consumption and keeping the packet delivery ratio at a satisfactory level. To evaluate the performance, two common metrics have been used for routing protocols in USNs; energy consumption and packet delivery ratio. Simulations were carried out in ns2 with Aqua-Sim. The performance of the proposed routing protocol is compared to VAPR. The performance evaluation of EEVA-OR indicate its benefit as compared to VAPR in terms of void detection, energy consumption and packet delivery ratio

In location-based OR, the geographic position of the sensor nodes is used as the metric to generate the next-hop candidate list. Nodes that are nearer to the destination will be given priority for candidate selection. Vector-Based forwarding (VBF) was one of the earliest OR proposed. In VBF, the location of the source and destination node, and forwarder are included in the header of the data packet [17]. A virtual pipe (vector) is created between the source and destination node whereby the packets can be transmitted. All nodes located in the vector acts as a potential forwarder. The node closest to the routing vector will insert its position in the packet header as the forwarder and transmit the data. Other nodes with a packet but are not located in the vector will discard the packets. The disadvantage with this method is duplicate transmission and waste of energy at each node. Hop-by-hop vector-based forwarding (HH-VBF) was proposed as an improvement to VBF. This protocol creates many vectors from intermediate forwarder node to the destination. In contrast to VBR and HH-VBR, Geographic Opportunistic Routing Depth Adjustment-Based Topology Control for Communication Recovery (GEDAR) operates in two modes; opportunistic and recovery phases [18,19]. When a packet encounters a void node, GEDAR enters the recovery mode where it adjusts to a new depth to search for neighboring nodes. In the other mode, greedy forwarding is applied to forward packets [20].
Instead of using geographic positions of the nodes, location-free OR uses hop-count to sink, dynamic address and pressure information as candidate selection. As mentioned at the beginning of Section 2, location free OR are divided into two smaller categories, namely beacon based OR and pressure based OR. Beacon-based OR uses network topology information to identify the forwarding candidate. Each node is assigned different information regarding the network topology. Hop-by-hop Dynamic Addressing Based (H2-DAB), two-hop acknowledgment (2H-ACK) and energy-efficient routing protocol based on physical distance and residual energy (ERP 2 R) are examples of beacon-based OR using hop-by-hop path-based routing protocol [1819, 21]. Here, spanning trees are built on the fly to obtain network information and updated using periodic beacon messages. Meanwhile, information-carrying based routing protocol (ICRP) and QELAR use protocols that are similar to traditional ad-hoc wired/wireless routing and are categorized as an end-to-end path-based routing protocol. These protocols have excessive signaling, maintain large tables, and simpler information acquisition of the complete network.
In pressure-based OR, as each underwater sensor is equipped with a pressure sensor, each node can compute its own pressure information to identify locally its depth information. Nodes that are nearer to the destination are given priority in the candidate selection list. However, communication voids can occur if the flooding area of the network is empty due to mobility of nodes. Most existing protocol do not take into consideration the void problem. Instead it focuses on energy consumption. Depth-based routing (DBR) employs only depth information to perform greedy flooding routing [22]. Nodes with a lower depth compared to the sender node are eligible for packet forwarding. In Energy-Efficient Depth Based Routing protocol (EEDBR), depth as well as residual energy information is used by the send node to select the next hop nodes [19]. Meanwhile, both HydroCast and Void-Aware Pressure Routing (VAPR) tackle the void problem. HydroCast employs only the depth information to identify forwarding path towards the sink [23,24]. It consists of two modes; greedy routing and void handling. A ranking system is implemented where larger depth has higher ranking and a shorter holding time. VAPR employs a periodical beacon message to share depth information and direction of node in the network. This direction is used for packet forwarding. VAPR is considered both pressure-based and beacon-based OR as it employs both depth information beacon messages.
USNs suffer from limited bandwidth, high propagation delays and power constraint, opportunistic routing offers a promising method to overcome these issues. The lifetime of a sensor node is a critical issue when implementing USN, however most of the protocols do not consider this factor in their implementation. High energy consumption occurs in OR protocol during candidate selection (transmitting and receiving packets). Measures are needed to implement a routing protocol that reduces unnecessary routing traffic and provide energy efficiency. Therefore, the main goal of this research is to propose a novel pressure-based opportunistic routing algorithm for USNs in order to deal with the issue of communication void while reducing energy consumption of nodes and keeping the packet delivery ratio at a satisfactory level.

Research Method
A new energy efficient void avoidance routing protocol is proposed. The network architecture of the proposed routing protocol, two types of nodes are deployed i.e. sink node and ordinary/sensory node as shown in Figure 1. Sink nodes are equipped with both acoustic modem and RF modem while ordinary node contains an acoustic modem. In sink nodes the acoustic modem is used to communicate with ordinary nodes while RF modem is used for communication between two sink nodes or from sink node to onshore data centre. In ordinary nodes the modem is used to communicate with each other and with sink nodes. All nodes in the proposed network architecture are presumed to be equipped with pressure sensors and can transmit with the same distance.
The proposed scheme is based on WDFAD-DBR, which avoids the void hole and uses the holding time (Th) to suppress the duplicate packet transmission [25]. The Energy-Efficient Void Avoidance Opportunistic Routing (EEVA-OR) protocol uses prioritization for forwarders that have one or more than one neighbours with the smaller depth as the void avoidance mechanism. A timer-based approach is used to detect the void nodes. Upon starting each data transmission operation, each node will set its own void detection timer. This period is specified as the holding time. During the holding time, each node will wait for data packets from neighbouring nodes with a lower depth. Once the receiving node receives a control or data packet from the neighbouring nodes with lower depth, it will reset the void detection timer. If no neighbouring node with lower pressure is sensed before the expiration of the void detection timer, node announces itself as a void node by broadcasting a control packet without any delay for its neighbours which are located below.
Sometimes nodes have already received some control packets from other nodes with lower depth; however, over time, topology is changed, and they may become a void node which again can be detected using the void-detection timer. A void detection can be announced immediately because void nodes are not in the transmission range of each other, hence, there is no chance of collision. Furthermore, trapped nodes can be detected by an event driven approach. Upon receiving a control packet from a void node, each node updates its neighbouring table and checks whether it still has any regular neighbour with lower depth than itself or not. If the void node is the only neighbouring node with the lower depth in the neighbourhood, in a similar way, receiving node announces itself as a trapped node by broadcasting a control packet including its ID and its current status. Similarly, when a node receives a control packet from a trapped node, it updates the status of the trapped node in the neighbouring table and checks its current status. If its neighbouring table does not include any node with lower depth except the trapped node, it also marks itself as a trapped node and broadcast a control packet to inform other nodes. This procedure stops when all trapped nodes in a local area are detected. In this way, all void and trapped nodes in different places of the network topology can locally be identified without needing to know the network topology.

Energy Efficient Opportunistic Routing Protocol (EE-OR)
Energy metrics is one of the best criteria that have direct impact on the performance of minimizing energy consumption, maximizing delivery ratio and throughput. The metrics updates the routing protocol on which forwarder node has an impact on its battery life. The transmission and reception energy for a packet may always be same for all nodes in the network but the impact of this energy consumption on life or residual energy of each node and life of network will not always be same. For example, suppose that the residual energy of two nodes N1 and N2 is six units and three units, respectively. In addition, the depth of the next hope from N1 is greater than that of N2. A single unit of energy consumption cost 50% of residual energy for N1 and for N2 it is 20%. In this scenario, the node N1 will die only after two transmissions. To identify these types of impacts on the lifetime on the network, energy scarceness metrics is performed. To calculate energy scarceness, the concept of residual energy of each node is used. The scarceness (SCNi) on residual energy (RENi) of a sensor node Ni calculated over energy Depletion (ED): SCNi prevents the depletion of the whole energy of a node. For example, given earlier suppose a source node (S) broadcast the packet to N1 and N2 (neighbours of S). After receiving the packet, SCNi for transmission is computed. According to the above example SCNi cost of transmission for both N1 and N2 are 0.3008 and 0.88 respectively. Even though the depth of node N1 is lower, but SCN1 is less than that of SCN2, it will become the forwarder, and forward the packet first. If N2 was chosen as a forwarder because of depth it will drains out of its energy sooner, decreasing the network lifetime.
To compute SCNi for all energy consumption in a node and the network, Energy Depletion (ED) metrics has been formulated. ED metric contains the following components: -SCNi cost of transmitting data -SCNi cost of receiving data - The estimated SCNi cost of retransmission -SCNi cost of acknowledgement -SCNi cost of idle. The ED for each node Ni is computed using (2): Other forwarder nodes in the forwarder list of source node will follow similar process. The forwarder with the minimum value of ED will be the candidate who forwards the data packet first and rest of all nodes in forwarder list will wait for acknowledgement from this node. In the information acquisition phase, each node broadcast a hello packet periodically to its one hop neighbours after a specific time. This hello packet includes node ID, depth and residual energy as shown in Figure 2. After receiving the hello packets, each node extracts the depth information that embedded in the hello packet and compares it with its depth. It saves the information in its neighbour table (NT), if the depth that is embedded in hello packets is less than receiver depth. Otherwise, it directly discards the hello packet. More precisely, each node collects information from its less depth neighbours and save it in its NT. Once the node finish updating its NT, each node will call the ED to calculate the energy metrics for each neighbour in its NT as mentioned in the previous section by broadcasting very small probe packets including node ID only. Finally, the energy metrics for each node have been inserted in NT and the information is sorted based on the lowest ED will rank highest. At the end of this phase, each sensor nodes become aware of their neighbours' information such as depth, residual energy and energy metrics. In the data-forwarding phase, data packets are forwarded from source node to the destination/sink. The next forwarding node should be closer to the sink, with best ED value. All the nodes that closer to the sink are eligible to forward data packets. The data packets' forwarding process is as follows. The sender node, Ns firstly retrieve all neighbour's information from the neighbour table (i.e., node 1, 2 and 3). The sender node then selects the nodes that have minimum ED. Given that node 2 has the minimum ED, node 2 is the best candidate node and will be selected as a forwarder node. The sender then embeds the ID of the selected node with the data packets and then broadcast it to its one hop neighbours. Upon receiving the packet, the receiving nodes compare its ID with ID that embedded with the packets. Therefore, only the node that matches its ID with the ID that embedded with the packets accept the data packets, whereas it discarded by all remaining nodes. This process is continuously repeated until data packets reach one of the sink nodes. If nodes that have the same ED value, the node with a lower depth will get priority forward the data.

Energy Efficient Void Avoidance Opportunistic Routing Protocol (EEVA-OR)
In the routing phase and forwarder selection, the same method as EE-OR is applied. Each node periodically broadcasts a control packet including the packet type, node ID, node depth, the sequence number of the packet. An extension to the EE-OR protocol, the control packet also includes the range of the forwarding area, and ID of the best candidate node to inform the neighbouring nodes about its current status. Each node keeps a neighbouring table to maintain the required information about its neighbouring nodes. Each entry of neighbouring table contains the neighbouring node ID and depth, the distance between the current node and the neighbouring node, time of receiving the packet, invalidation time of the neighbouring node and energy metrics. The relative distance between each pair of nodes can be computed via the difference between RSSI of initial and received signals. Each receiving node also sets an invalidation timer for a neighbouring node after receiving a control or data packet. The invalidation timer is reset upon reception of new information from the node. Otherwise, the neighbouring node is removed from the neighbouring table when the invalidation timer is expired. Each node selects its transmission time randomly from an interval.
Once the NT is updated, it then checks its eligibility to participate in the packet forwarding or not. If it is not an eligible candidate node for packet forwarding, it drops the received packet. The nodes only read the header of the packet for early acceptance or rejection. In order to be placed among the candidate nodes, the receiving node should satisfy certain conditions. First, the receiving node should have lower depth. Second, the receiving node should be a regular node, not a trapped or void node. The trapped and void nodes which have already been detected only drop the received packet. Eventually, all eligible candidate nodes should set a forwarding timer for packet transmission.
The forwarding time is computed using the two hops advancement. To calculate the timer, let, node S sends or forward the data packet and node i within its receives that data packet. Then, the node i first compares its depth to the depth of S. If i has the depth larger than that of S, zi > zS, then it simply discards the data packet. On the other hand, if node i's depth is less than the depth S and has one or more than one neighbours with smaller depth (i.e., zi > zS and j | | ≥ 1), then it computes the holding time Thi. However, if node i has no neighbour at the depth lower than i, then it also discards the data packet. The holding time of node i should be very small compared to its neighbouring nodes if it has the following characteristics: -larger residual energy than its neighbours larger depth difference than sender larger depth difference to its minimum depth neighbour many neighbours with large variance in their depth differences. First part prioritizes a node from the 1-hop neighbours of the data sender that has smaller depth with larger depth difference di relative to the sender node and lower ED. Next, it considers the depth difference between the potential forwarder i relative to its neighbours, max ( ), and depth variance among its neighbours di. Any data receiving node that has the large depth difference to its lowest depth neighbour and has large depth variance becomes the potential forwarder.

Performance Metrics
In order to evaluate the performance of our proposed protocol, metrics that have been used for most of well-known routing protocols in USNs is applied. These metrics are described below. -Energy Consumption: the total amount of energy that consumed by sensor node for the data packets that transmitted successfully. -Packet Delivery Ratio: the ratio of the successful data packets that reach the sink node to the number of data packets that transmitted by the sender node. -Total number of forwarded void detection packet: This metric is used to count the number of forwarded control packet in network for identifying the void nodes in trap area. A node is in trap area if finally directs the data packet into void area and leads to packet loss. The total number of forwarded void detection packet is defined as the number of control packet is forwarded to identify the void nodes in trap area. -Total energy consumption for void nodes detection: The total energy consumption for void nodes detection is used to compute the energy consumption for detecting the void nodes in trap area.
To evaluate and validate the performance, the proposed routing algorithms, EEVA-OR is compared to the benchmark algorithm VAPR, both developed using c++ language as a routing protocol in network layer of AquaSim (ns2) with the same simulation setup as shown in Figure 3. Different scenarios are developed by TCL language and simulated. Then, AWK language is used to extract different results from trace files of different scenarios and results are saved in text files. Finally, the result is extracted using MATLAB. To increase the accuracy of the simulation results, each experiment is conducted 50 times and the average of these 50 results is considered as the result [8].

Results and Analysis
In this section, the results and discussion. Figure 4 shows the energy consumption of both the protocols. The energy consumption of VAPR is higher than that of the proposed EEVA-OR protocol. The reasons for this phenomenon are the increased number of nodes involved in the forwarding process of the data packet and the redundant packet transmissions in VAPR. The total energy consumption of EEVA-OR reduces in comparison with VAPR because with increasing the number of nodes, the total number of forwarded data packet in EEVA-OR further reduced compared to VAPR. EE-OR consumes less energy consumption than VAPR. This is because EE-OR utilise energy metrics along with depth Information for choosing the next forwarding nodes. Moreover, EE-OR reduces the number of packet transmission and balance the energy consumption between nodes.
The results, shown in Figure 5, reveal the advantage of EEVA-OR compared to VAPR in terms of packet delivery. In VAPR, the packet delivery ration comes at the expense of excessive energy consumption and increased end-to-end delay. Unlike VAPR, EEVA-OR obtains a higher delivery ratio with increasing node while still maintaining low energy consumption. The obtained results indicate that with an increase in the number of nodes, the average packet delivery ratio only increases slightly in both VAPR and EEVA-OR. This is because, the fair multi-criteria forwarding set ranking algorithm in EEVA-OR fairly ranked the eligible forwarder nodes based on energy metrics and it assigns the highest importance to depth criterion to decrease the number of hops and increase the likelihood of successful packet delivery. consumption between VAPR and EEVA-OR protocols Figure 5. Comparison of packet delivery ratio between VAPR and EEVA-OR protocols Figure 6 shows the total number of forwarded void detection packets of EEVA-OR, this indicates that the total number of forwarded control packets for identifying void nodes is less than that of the forwarded control packets used in VAPR. In VAPR, each sink will broadcast beacon messages at the surface towards the bottom of the sea to assign direction to nodes and identify the void nodes based on direction. In contrast, EEVA-OR, void packets are periodically broadcast by void nodes to detect and mark the void nodes.

Conclusion
Existing opportunistic pressure-based routing algorithms suffer from lack of an appropriate ranking algorithm to rank fairly nodes during the data-forwarding phase. This result in higher energy consumption and, at the same time, these protocols are unable to provide satisfactory packet delivery ratio. To deal with this issue, an energy-efficient TELKOMNIKA ISSN: 1693-6930  opportunistic routing protocol, EE-OR, is introduced to fairly rank the neighbouring nodes of each forwarder node locally based on energy metrics and depth information. EE-OR is composed of two phases; neighbour information acquisition phase and data packet forwarding phase. In the first phase, each node collects information about its neighbours to rank its neighbouring nodes. In the second phase, each forwarder node forwards the data packet via its neighbouring nodes based on an opportunistic routing approach. However, EE-OR has its limitations. EE-OR does not solve to the communication void problem. Communication void is one of the critical issues in opportunistic routing especially in networks with low density and high dynamic topology. A void avoidance scheme is essential to increase the packet delivery ratio while identifying and avoiding void nodes in the packet forwarding process. Results show that the performance of the proposed protocol outperforms the existing void avoidance protocol, VAPR, in terms of total energy consumption and packet delivery ratio. Priority should be given to these issues in future works within this field of study. Another major issue when implementing OR is duplicate forwarding suppression algorithm. These algorithms rely on the size of the advancement area. The problem arises when the advancement area is too large, therefore the nodes do not overhear, and packets are duplicated. An improved suppression scheme is essential to increase the packet delivery ratio. Priority should be given to this issue in future works within this field of study.