Submitted 8 August 2020 Accepted 10 November 2020 Published 7 December 2020 Corresponding authors Por Lip Yee, porlip@um.edu.my Ihsan Ali, ihsanalichd@siswa.um.edu.my Academic editor Rajanikanth Aluvalu Additional Information and Declarations can be found on page 22 DOI 10.7717/peerj-cs.326 Copyright 2020 Yee et al. Distributed under Creative Commons CC-BY 4.0 OPEN ACCESS Improving the performance of opportunistic routing using min-max range and optimum energy level for relay node selection in wireless sensor networks Por Lip Yee1,*, Shahid Mehmood1,*, Ahmad Almogren2, Ihsan Ali1 and Mohammad Hossein Anisi3 1 Department of Computer System and Technology, Faculty of Computer Science and Information Technology, University of Malaya, Kuala Lumpur, Malaysia 2 Department of Computer Science, College of Computer and Information Sciences, King Saud University, Riyadh, Saudi Arabia 3 School of Computer Science and Electronic Engineering, University of Essex, Colchester, United Kingdom * These authors contributed equally to this work. ABSTRACT Opportunistic routing is an emerging routing technology that was proposed to overcome the drawback of unreliable transmission, especially in Wireless Sensor Networks (WSNs). Over the years, many forwarder methods were proposed to improve the performance in opportunistic routing. However, based on existing works, the findings have shown that there is still room for improvement in this domain, especially in the aspects of latency, network lifetime, and packet delivery ratio. In this work, a new relay node selection method was proposed. The proposed method used the minimum or maximum range and optimum energy level to select the best relay node to forward packets to improve the performance in opportunistic routing. OMNeT++ and MiXiM framework were used to simulate and evaluate the proposed method. The simulation settings were adopted based on the benchmark scheme. The evaluation results showed that our proposed method outperforms in the aspect of latency, network lifetime, and packet delivery ratio as compared to the benchmark scheme. Subjects Adaptive and Self-Organizing Systems, Agents and Multi-Agent Systems, Algorithms and Analysis of Algorithms, Artificial Intelligence, Computer Networks and Communications Keywords Opportunistic routing, Optimum energy, Threshold energy level, Relay node, Wireless sensor networks (WSNs) INTRODUCTION Opportunistic Routing (OR) is a routing scheme that takes advantage of the broadcasting nature of the wireless medium to improve the link reliability, efficiency, and the network throughput in multi-hop routing (Chakchouk, 2015; Eu, Tan & Seah, 2010; Jadhav & Satao, 2016). According to Biswas & Morris (2005), Boukerche & Darehshoorzadeh (2014), Chachulski et al. (2007), Choudhury & Vaidya (2004) and Larsson (2001), OR improves network How to cite this article Yee PL, Mehmood S, Almogren A, Ali I, Anisi MH. 2020. Improving the performance of opportunistic routing using min-max range and optimum energy level for relay node selection in wireless sensor networks. PeerJ Comput. Sci. 6:e326 http://doi.org/10.7717/peerj-cs.326 https://peerj.com/computer-science mailto:porlip@um.edu.my mailto:\unskip \penalty -\@M ihsanalichd@siswa.um.edu.my mailto:\unskip \penalty -\@M ihsanalichd@siswa.um.edu.my https://peerj.com/academic-boards/editors/ https://peerj.com/academic-boards/editors/ http://dx.doi.org/10.7717/peerj-cs.326 http://creativecommons.org/licenses/by/4.0/ http://creativecommons.org/licenses/by/4.0/ http://doi.org/10.7717/peerj-cs.326 performance in the context of multi-hop and mesh networks, such as relay node selection in opportunistic networks. A multi-hop network is a network of relay nodes that are connected through the communication links. Due to the limited transmission range, the relay nodes in the network may not be able to communicate directly with the destination node. Hence, they need other relay nodes that can forward packets to the destination node (Zhao, Mosler & Braun, 2012). In OR, the forwarder method selects the forwarder node that is nearer to the destination node to forward the packets (Jadhav & Satao, 2016). For the source node to forward the packets to the destination node, the OR forwarder method selects a next-hop which is determined by using a routing metric such as energy, geographical distance, hop count, expected transmission count (ETX), and expected transmission time (ETT). These routing metrics could be used to forward the packets (Menon, 2019). The source node constructs a list of forwarder nodes to transmit the packets to the destination node. This list is developed based on priority, and each relay node is selected based on the metrics per the OR forwarder method requirements (Biswas & Morris, 2005). There are several advantages of using OR. Compared to legacy routing, OR avoids duplicate packet transmission, and it also reduces the amount of packet retransmission significantly due to link failures. OR can exploit the reception of a similar packet at multiple available relay nodes in order to improve the network performance especially in multi-hop and mesh wireless networks (Biswas & Morris, 2005; Chachulski et al., 2007; Choudhury & Vaidya, 2004; Larsson, 2001). In multi-hop wireless networks, packets are forwarded via at least one intermediate relay node from the source node to the destination node (Coutinho & Boukerche, 2017). A mesh wireless network is referred as a network topology in which the infrastructure of the nodes is connected directly, dynamically, and non-hierarchically to the other nodes (Darehshoorzadeh, Robson & Boukerche, 2015; Li et al., 2019). Therefore, proposing an effective forwarder method to forward packets from one relay node to another in such networks is important because it will affect the performance of the networks (Jain, Dongariya & Verma, 2017). Throughout the years, many forwarder methods have been proposed to improve the performance of OR. In general, most of the forwarder methods use routing metrics such as energy, geographical distance, hop count, ETX, and ETT to forward packets (Menon, 2019). However, these methods have several drawbacks, especially in the aspects of latency, first dead node, network lifetime, and receiving packets ratio. Several relay node selection methods as a means to improve the performance of routing in the opportunistic network. This study expands on the above recommendation by conducting a study that aims to improve the performance of routing in the opportunistic network. In this research work, a relay node selection method that uses maximum and minimum range (min-max range) and optimum energy level to select the best forwarder node to improve the performance in OR is proposed. The simulation results showed that the proposed method could reduce the lowest latency, produced the highest time for the first dead node, improved the network lifetime, and produced a higher receiving packet ratio compared to the related works (AOR, ENO_OR, ENS_OR, EXOR, GeRaF, and EEOR). Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 2/25 https://peerj.com http://dx.doi.org/10.7717/peerj-cs.326 RELATED WORKS In 2003, Zorzi & Rao (2003) proposed a forwarder method named Geographic Random Forwarding (GeRaF). This method is based on the geographical location of the nodes involved. Initially, the active relay nodes, which are located nearer to the destination node, will send a ‘‘clear to send’’ message to the source node. The source node then will discover the relay nodes that can participate in the packet forwarding process around its coverage area. During the discovery, the source node will receive an acknowledgement from each of the relay nodes that can participate in packet forwarding. The source node will randomly select one of the relay nodes as the forwarder node to forward the packet. The forwarder node will use the same mechanism to randomly select another forwarder node until the packet reaches the destination node. According to the authors, this method can reduce latency because it randomly selects a relay node that can forward a packet without further delay. However, the scheduling algorithm used in this method might produce a low network lifetime because it does not consider the energy level of the relay node when determining the forwarder node. Energy is an important aspect because if a relay node has a low energy level, it might die quickly, or it might drop the received packet due to insufficient energy. Biswas & Morris (2005) proposed a forwarder method named Opportunistic Multi-hop Routing (ExOR) in 2005. According to the author, ExOR is one of the initial primary protocols, which practically implemented opportunistic routing in WSNs. In this method, packets deliver to the same destination are grouped in a batch by the source node. Each batch has a unique ID. In order to deliver the packets, the source node needs to determine a forwarder node based on distance and the ETX. Higher priority is given to the node, which has a shorter distance and lesser ETX. The source node will construct a list of forwarder nodes based on priority. The forwarder nodes will use the list to transmit packets via end-to-end transmission. The list is maintained by each of the forwarder nodes that participated in the packet transmission. According to the authors, this method can increase the throughput of large unicast transmissions in multi-hop wireless sensor networks. However, this method produced high overhead, especially during the coordination of all the relay nodes in the network. Mao et al. (2011) proposed a forwarder method named Energy-Efficient Opportunistic Routing (EEOR). The authors introduced a method to select a forwarder node by calculating the cost and energy using Eq. (1). Cu(FWD ∗)=Chu(FWD ∗)+Cfu(FWD ∗)+CCu (FWD ∗) (1) Cu(FWD∗) is denoted as the expected cost of a source node to broadcast a packet to the destination node. Chu(FWD ∗) is the cost for determining the relay node. Cfu(FWD∗) is the cost for determining the forwarder node. CCu (FWD ∗) is the communication cost for the forwarder node to transmit packets. The cost of CCu (FWD ∗) is incurred when the network is at the ‘‘static’’ mode. In ‘‘active’’ mode, the cost of forwarding the packets is calculated based on the traffic flows. After calculating the Cu(FWD∗), this method will select the related relay nodes that have the minimum costing to forward the packets from the source node to the destination node. According to the authors, this method can minimize Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 3/25 https://peerj.com http://dx.doi.org/10.7717/peerj-cs.326 energy consumption and improve network lifetime. However, this method uses unicast and single-path to transmit packets. Moreover, it required the nodes that take part in the transmission to be in an ‘‘active’’ mode always. As a result, this method might produce high first dead node for the networks. Lee & Haas (2011) proposed a forwarder method named Short-haul Multi-hop (Short- Haul). This method uses the shortest route between the source node and the destination node to select forwarder nodes. In this method, a source node will firstly broadcast a message to all the relay nodes. The relay node that has the closest distance to the destination node will be selected as the forwarder node to transmit packets. The selected forwarder node will send an acknowledgement to the source node once the packets have successfully received. After that, the forwarded node will broadcast a message to all the relay nodes, and then it will forward the packets to the relay node that has the closest distance to the destination node. The process of searching the closest relay nodes will be repeated until the packets have been delivered to the destination node. This method uses multi-path routing to forward the packets to the destination node. During the transmission, the sender node will retransmit the packets if it does not receive an acknowledgement from the forwarder node. However, the forwarder nodes and the destination node will discard any duplicate packets sent by the sender node. Once the destination node has received the packets, it will send an acknowledgement to all the forwarder nodes in the path. According to the author, this method is simple and can be easily integrated with other opportunistic routing algorithms. Moreover, this method can reduce the packet’s duplication problem and increase the throughput of the transmission. However, this method might consume more energy. It might produce low network lifetime because the sender nodes are required to broadcast a message to all the relay nodes for determining which relay node has the closest distance to the destination node. In 2015, Luo et al. (2015) proposed a forwarder method named Energy Savings Via Opportunistic Routing (ENS_OR). This method uses a single-path to transmit packets. To select the forwarder node, it uses distance and energy level as in Eq. (2). P(h+i)=  (dh+i−dh) [ 1∣∣dh+i−dop∣∣+Eh+i−ζ ] (h+i)∈F(h),−R≤ i≤R (2) P(h) is denoted as the current forwarder node. i is denoted as an integer starting from 1. (d h+i − d h) is denoted as the distance between P(h) and P(h + i). E h+i signifies the remaining energy of P (h + i). ζ signifies the value of the threshold energy. F(h) is denoted as the selected forwarder list of P(h). R signifies the maximum transmission range. The source node will construct a list based on the acceptable distance and energy level. This list will become the priority list when selecting a relay node to forward packets. Once the path has determined, the packets will be sent via end-to-end transmission. According to the authors, this method can reduce energy consumption and increase the network lifetime. However, this method might decrease the network performance when the single-path is congested, or the relay node has insufficient energy to forward packets through the end-to-end transmission. Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 4/25 https://peerj.com http://dx.doi.org/10.7717/peerj-cs.326 Raman & Sharma (2017) proposed a forwarder method named Energy Optimization Opportunistic Routing (ENO_OR). This method uses energy level and distance to select a forwarder node. Initially, the default threshold energy level is pre-configured. Any relay node that reaches the default threshold energy level will have a chance to be selected the forwarder node. However, priority will be given to the relay node that has the highest energy level and optimal distance. The optimal distance is determined using Eq. (3). Dop= M−xh nop = { 2Ea[ (ϕ−1)Eβ ]} 1 ϕ (3) Dop is denoted as the optimal transmission distance. M is denoted as the position of the forwarder node. xh is denoted as the position of the relay node. n is the index of the relay node. Eβ is denoted as the energy required for the packet transmission. ϕ is denoted as the transmission loss due to link failure. According to the author, this method can increase the network lifetime by using the pre-configured energy threshold level and optimal distance. However, if the available relay nodes do not meet the minimum pre-configured threshold energy level, this method will use direct packets transmission to transmit packets to the destination node which might consume more energy. Hasnain, Malik & Aydin (2018) proposed a forwarder method named Adaptive Opportunistic Routing (AOR). In this method, the forwarder node is selected based on minimum energy consumption and the link quality. In order to deliver the packets from the source node to the destination node, this method uses optimal route selection. To select the optimal route, it uses minimum energy consumption and maximum link quality. Energy consumption is calculated based on the size of the packet delivered and the distance covered from the source node to the forwarder node. To determine the maximum link quality for forwarding the packets, this method uses the probability. Equation (4) shows the formula used to calculate energy consumption. Et (P,d)= { p ( Ee+γfs x d2 ) if d≤Rc p ( Ee+γmp x d4 ) if d ≥Rc (4) Et is denoted as the transmission range. P is denoted as the packet size. Ee is denoted as the overall energy consumption for the packet transmission. γfs is denoted as the forwarder node location. d2 is donated as an ideal range where packets can be successfully transmitted. γmp is denoted as the distance between the source node and the relay node. Rc is denoted as the maximum range to select the forwarder node. Equations (5) and (6) are used to calculate the link quality. These two equations are used to calculate the probability of the forwarding packets via a particular route and the progress of the forwarded packets at the route respectively. PADV (r)=ADV (r)x prob (r D S ,P) (5) ADR(r)=D(S,D)−D(S,R) (6) Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 5/25 https://peerj.com http://dx.doi.org/10.7717/peerj-cs.326 PADV is donated as the probability of the packet delivery through route r, which is established based on the broadcast messages among the relay nodes. prob ( rDS ,P ) is denoted as the probability of the successful packets delivered from the source node to the destination node. ADV(r) is donated as the progress of the forwarded packets thought route r. D(S,D) is donated as the total distance from the source node to the destination node. D(S,R) is donated as the distance of the possible forwarder node from the source node. According to the authors, this method can minimize energy consumption when forwarding the packets using the optimal route selection. However, this method only uses single-path and end-to-end transmission. As a result, it might increase the latency and end-to-end delay when the relay node has insufficient energy or the link quality is poor. Khan et al. (2018) proposed a forwarder method named Cooperative Energy Efficient Optimal Relay Selection (Co-EEORS). This method produces reliable packet delivery. The forwarder node is selected based on the lowest depth and the value of the lowermost location. The value of the location interfaces and measures the distance between the source node and the destination node. Relay nodes that are located closest to the destination node will have a smaller value of the location. A relay node is selected as a forwarder node to forward the packets if it is closest to the destination node. The destination node sends an acknowledgement to the source node after receiving the packets successfully. According to the author, the proposed method achieved a higher receiving packets ratio as compared to other forwarder methods. However, there is a limitation with regards to the performance of Co-EEORS, and this seems an exceptional condition. It occurs when there is a larger distance between the relay nodes, and when the source nodes can not find the forwarder nodes, thus cooperation fails due to link failure. As a result, this method could increase overhead and latency. Li et al. (2019) proposed a forwarder method named Multi-hop Wireless Networks (MWN). In this method, the forwarder node is selected using energy-efficient metric. The energy-efficient metric is comprised of several parameters such as one-hop distance (R1,t ), transmission range (R2,t ), and the distance between the relay node and the destination node (dt ). The average forwarding distance and the total energy consumption are calculated for each hop using Eq. (7) and the energy consumption for each hop is calculated using Eq. (8). D(n)=min1≤i≤n{di} (7) di is denoted as the distance between the relay node i and the destination node. If the relay node i successfully decodes the packet, di will be given a value equals to the Euclidean distance from i to the destination node. Otherwise, di will be given a value equal to dt . Eall ( R1,t,R2,t ) = [ E1+Ect +StpEcr ] ∗L, (8) R is denoted as the radius of the relay node. E1 is denoted as the packet transmitting energy per bit. Stp is denoted as the size of the forwarding area. Ect and Ecr are denoted as the transmitter and the receiver circuit energy consumption per bit for each relay node respectively. Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 6/25 https://peerj.com http://dx.doi.org/10.7717/peerj-cs.326 According to the authors, the use of the energy-efficient metrics can optimize the average forwarding distance with minimum energy consumption. However, the forwarder node in this method is selected dynamically. As a result, the selected forwarder nodes might have insufficient energy to forward the packets. When this situation happens, the packet receiving ratio will be decreased. Chithaluru, Tiwari & Kumar (2019) proposed a forwarder method named adoptive ranking based energy-efficient opportunistic routing (AREOR). This method uses single path and end to end transmission to transmit the packet from source node to destination node. It selects the best relay node to take an interest as a cluster head by utilizing versatile participatory criteria. Forwarder node is selected based on an adoptive ranking system. Relay nodes ranking is determined by computing the remaining energy and location closest to the destination node. According to the author, this method reduces energy consumption by using the adoptive ranking and optimal energy node selection. However, in this method, the forwarder node is selected based on the cluster and adoptive ranking system. Network performance will be decreased if available nodes have insufficient energy to forward the packets. Zhang et al. (2019) proposed a forwarder method named shortest-latency opportunistic routing in asynchronous WSNs. This method theoretically examines the techniques on how to select a forwarder node in Asynchronous Wireless Sensor Networks (WSNs). The proposed approach develops the probability for the relay node to be selected as a forwarder node. This method uses single-path and bop-by-hop transmission to transmit packets from source node to destination node. According to the author, end-to-end latency for opportunistic routing in asynchronous WSNs is theoretically achieved in this approach. However, this method might decrease network performance and to determine the real implication of this approach in terms of energy efficiency, there is a need to implement the proposed approach practically. Wang (2020) proposed a three-layer framework is used multiple mobile sinks with fog structure. The proposed framework aims to break the bottleneck of data collection from WSNs to the cloud. The framework was compared with various existing traditional solutions. The experimental result reveals that the framework can help in the improvement of throughput and the reduction of transmission delay. Liang (2020) proposed a reliable trust computing mechanism (RTCM). The framework helps in enhancing the reliability and efficiency of data transfer to the cloud. The result shows some promise. Thakkar and Kotecha proposed a routing algorithm that utilizes the energy-delay index for a trade-off to optimize both objectives-energy and delay (Thakkar, 2014a; Thakkar, 2014b). The result shows that the proposed algorithm performs well. Thakkar and Kotecha further proposed a cluster formation technique with a decentralized cluster head election method (Thakkar, 2015). The authors used Bollinger Bands to elect a cluster head. The result shows significant improvement. In another study by Thakkar, the author proposed an advanced LEACH protocol named DEAL (Thakkar, 2017). The protocol takes energy and distance of a node into consideration during cluster head election process. The result shows that the proposed protocol enhances the stability period in comparison to the Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 7/25 https://peerj.com http://dx.doi.org/10.7717/peerj-cs.326 existing state-of-the-art. Furthermore, Thakkar also published two more studies in the research theme (Thakkar, 2014a; Thakkar, 2014b; Thakkar, 2016). Table 1 shows the synthesis of the selected related work. From the review, we noticed that most of the existing forwarder methods produce high first dead node, high latency, high energy consumption, and less network lifetime. several reasons cause these weaknesses to happen. For example, some of the forwarder methods do not consider energy level, and they always need to broadcast messages to all the relay nodes when determining the forwarder node. As a result, these types of forwarder methods might cause the relay node to die quickly or drop the received packet due to insufficient energy. Moreover, some of the forwarder methods use unicast, single-path, and end-to-end transmission to transmit packets. These types of transmissions might increase the latency and end-to-end delay when the relay node has insufficient energy, or the link quality is poor, or the path is congested. From this review results, it is shown that there is still room for improvement in this domain, especially in the aspects of latency, first dead node, network lifetime, and receiving packets ratio. Thus, this research was carried out to propose a relay node selection method to improve the drawbacks above. MATERIALS & METHODS In this section, the simulation settings used by Luo et al. (2015) to evaluate the proposed method are presented. The simulation is conducted in OMNET++ simulator and MiXiM framework. The proposed method and the related works are simulated using the simulation settings in Table 2. OMNET++ and MiXiM are chosen because they have the required libraries such as stdio.h, string.h, omnetpp.h, ‘‘bs.h’’, ‘‘node.h’’, ‘‘cl_msg_m.h’’, ‘‘gesteb.h’’, and c0utVector class which are required when implementing the proposed method and the related works (Bouachir et al., 2016; Zhao, Mosler & Braun, 2012). The simulation is carried out in an area of 500 m2 network size with 100 nodes that are uniformly deployed. The network consists of one source node, one destination node, and 98 relay nodes. The maximum range between relays nodes is 30 m, while the minimum range is 15 m. The packet size 1,024 bit is used for transmission. The initial threshold energy level is set as 50%. The sending rate is one packet per second. The simulation time is set 900 s and adopted from Luo et al. (2015). The simulation is executed 100 times for each result, as suggested by Ritter et al. (2011). The simulation results are collected individual and manually, and ‘‘R’’ program is used to compare the results Proposed methods To provide a clear overview, a high-level description of the proposed method is described in this section. To ease the explanation, we pre-configured the threshold energy and the energy level for each relay node before demonstrating how a given packet is sent from the source node to the destination node. Initially, the source node will select a relay node to forward a packet based on the distance and the energy level. In the previous studies, some methods used either distance or energy level to perform routing. Moreover, several researchers (Hawbani et al., 2019; Kannan & Raja, 2015; Nadar et al., 2017) reported that Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 8/25 https://peerj.com http://dx.doi.org/10.7717/peerj-cs.326 Table 1 Comparison of selected related works. Forwarder method Year Routing mechanism Forwarding list selection Advantages Disadvantages GeRaF (Zorzi & Rao, 2003) 2003 Multi-path Hop-by-Hop � Reduce latency. � Decrease network lifetime. ExOR (Biswas & Morris, 2005) 2005 Single-path End-to-End � Increase throughput. � Increase overhead. EEOR (Mao et al., 2011) 2011 Single-path End-to-End � Minimize energy consumption. � Increase network lifetime. � Produce high first dead node. Short-Haul (Lee & Haas, 2011) 2011 Multi-Path Hop-by-Hop � Increase throughput � Reduce the ratio of the duplication packets. � Produce high energy consumption. � Decrease network lifetime. ENS_OR (Luo et al., 2015) 2015 Single-path End-to-End � Minimize energy consumption. � Increase network lifetime. � Decrease network performance. ENO_OR (Raman & Sharma, 2017) 2017 Single-path Hop-by-Hop � Increase network lifetime. � Consume more energy. AOR (Hasnain, Malik & Aydin, 2018) 2018 Single-path End-to-End � Minimize energy consumption. � Increase latency. � End-to-end delay. Co-EEORS (Khan et al., 2018) 2018 Single-path End-to-End � Increase receiving packets ratio. � Increase overhead. � Increase latency. MWN (Li et al., 2019) 2019 Single-path Hop-by-Hop � Minimize energy consumption. � Decrease receiving packets ratio. AREOR (Chithaluru, Tiwari & Kumar, 2019) 2019 Single-path End-to-End � Reduce energy consumption. � Decrease network performance. Shortest-Latency (Zhang et al., 2019) 2019 Single-path Hop-by-Hop � Reduce latency. � Decrease network performance. Wang et al. (Wang, 2020) 2020 Single-path Hop-by-Hop � Minimize energy consumption. � Increase latency. Liang et al. (Liang, 2020) 2020 Multi-Path Hop-by-Hop � Increase throughput. � Decrease network lifetime. Thakkar and Kotecha (Thakkar, 2014a; Thakkar, 2014b) 2014 Multi-Path Hop-by-Hop � Increase network lifetime. � Reduce the ratio of the duplication packets. � Decrease network lifetime. Thakkar and Kotecha (Thakkar, 2015) 2015 Multi-Path Hop-by-Hop � Minimize energy consumption. � Reduce latency. � Decrease network performance. Thakkar (Thakkar, 2017) 2017 Single-path End-to-End � Minimize energy consumption. � Increase latency. Thakkar and Kotecha (Thakkar, 2014a; Thakkar, 2014b) 2014 Multi-Path Hop-by-Hop � Minimize energy consumption. � Reduce latency. � Decrease network performance. Thakkar (Thakkar, 2016) 2016 Multi-Path Hop-by-Hop � Minimize energy consumption. � Reduce latency. � Decrease network performance. Yee etal. (2020),P eerJ C om put. S ci.,D O I10.7717/peerj-cs.326 9/25 https://peerj.com http://dx.doi.org/10.7717/peerj-cs.326 Table 2 Simulation settings. Parameter Values Network size 500 m×500 m Node deployment Uniform Number of nodes 100 Source node 1 Destination node 1 Relay nodes 98 Maximum range 30 m Minimum range 15 m Packet size 1,024 bit Threshold energy level 50% Sending rate 1 packet/s Simulation time 900 s distance and energy levels are the most commonly used metrics to select the best relay node. Therefore, we used and improvised these two metrics in our proposed method to select a relay node. In our proposed method, the selected relay node is called the forwarder node. The source node will forward the packet to the forwarder node. After transmitting the packet, the energy level of the source node will be reduced based on the distance covered and the size of the packet delivered during the transmission. The current forwarder node will use the same mechanism to select another relay node to become the next forwarder node. Similarly, the energy level of the current forwarder node will be reduced after the packet is transmitted to the next forwarder node. This process will be repeated until the packet reaches the destination node. Hence, the proposed method has a distributed architecture. Proposed method illustration Assuming that a source node (S) is going to transmit a packet to a destination node (D), and the pre-configured threshold energy level is set as 50%. In our proposed method, S will first use the minimum range to search for an available relay node to become the forwarder node (see Fig. 1). Equation (9) is adopted from Alia & Al-Ajouri (2016) to calculate the minimum range. DminR min(i,l)d(si,sl)√ W 2m+H 2 m (9) min(i,l)d(si,sl) is the minimum distance between relay nodes. √ W 2m+H 2 m is the maximum length between any two relay nodes which can be represented by the diagonal length of the monitored field. Since there is more than one relay node with a threshold energy level more than or equal to 50%, therefore, the proposed method will give higher priority to the relay node that has the highest energy level. If there is a tie, the nearest distance will become the second priority for the selection process. If there is no relay node fulfils the minimum threshold energy level (50%), the proposed method will use the maximum range to search for any Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 10/25 https://peerj.com http://dx.doi.org/10.7717/peerj-cs.326 Figure 1 Determine a forwarder node using the minimum range. Full-size DOI: 10.7717/peerjcs.326/fig-1 suitable relay nodes to become the forwarder node. In this example, the relay node that has a 90% energy level is selected as the forwarder node. To find the next forwarder node, the proposed method will use the minimum range to search for an available relay node that fulfils the minimum energy level threshold (50%). Since there is no relay node fulfils the minimum energy level threshold, the proposed method then uses the maximum range to search for any suitable relay nodes to become the next forwarder node (see Fig. 2). Equation (10) is adopted from Luo et al. (2015) to calculate the maximum range. dop=M−xh= { (2Eelec)/ [ (τ−1)εamp ]}1/τ (10) dop is the optimal transmission distance. M is the index of a relay node. xh is the position of the relay nodes. Eelec is the energy consumption of the relay node during transmission. εamp is the energy dissipated in the transmit amplifier. τis the channel route-loss exponent of the antenna. d is the distance between the current forwarder node and the next forwarder node. In this example, the relay node that has 78% energy level is selected as the next forwarder node. The energy level of the previous forwarder node will be reduced after the packet is transmitted to the next forwarder node. To find the next forwarder node, the same mechanism is used. The proposed method will first use the minimum range to search for an available relay node that fulfils the minimum threshold energy level. Since there are two relay nodes with the same energy level (87%), the nearest distance will become the second priority for the selection process (see Fig. 3). In this example, the relay node that is closest to the current forwarder node is selected as the next forwarder node. The energy level of the previous forwarder node will be reduced after the packet is transmitted to the next forwarder node. The find next forwarder node, the proposed method will use the minimum range to search for an available relay node that fulfils the minimum threshold energy level (see Fig. 4). Since there is no relay node fulfils the minimum threshold energy level, the proposed Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 11/25 https://peerj.com https://doi.org/10.7717/peerjcs.326/fig-1 http://dx.doi.org/10.7717/peerj-cs.326 Figure 2 Determine a forwarder node using the maximum range. Full-size DOI: 10.7717/peerjcs.326/fig-2 Figure 3 Determine a forwarder node using the nearest distance. Full-size DOI: 10.7717/peerjcs.326/fig-3 method then uses the maximum range to search for any suitable relay nodes to become the next forwarder node. Since there is no relay node fulfils the maximum threshold energy level; also, the proposed method will reduce the threshold energy level using Eq. (11). Thenergy = { Thenergyx Ere Ein if n∈Gelsewire (11) Thenergy is the threshold for the energy level, Ere is the residual energy of the relay node. Ein is the initial energy of the relay node. G is the set of all the relay node. Assuming that the new threshold energy level after the calculation is 40%. A broadcast message will be sent to notify each of the relay nodes about the new threshold level. The proposed method then continue using the minimum range to search for an available relay node that fulfils the new threshold energy level. In this example, the relay node that has the highest energy level is selected as the next forwarder node. The energy level of the previous forwarder node will be reduced after the packet is transmitted to the next forwarder node. Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 12/25 https://peerj.com https://doi.org/10.7717/peerjcs.326/fig-2 https://doi.org/10.7717/peerjcs.326/fig-3 http://dx.doi.org/10.7717/peerj-cs.326 Figure 4 Determine a forwarder node by decreasing the threshold energy level. Full-size DOI: 10.7717/peerjcs.326/fig-4 Figure 5 Transmit a packet to the destination node. Full-size DOI: 10.7717/peerjcs.326/fig-5 The current forwarder node continues to search for the next available relay node within the minimum range to forward the packet. Since the destination node is within the minimum range, the packet will deliver to the destination node (see Fig. 5). In this example, a packet only required six hops to transmit from a source node to a destination node using the proposed method (see Fig. 6). The pseudo-code and the flowchart of the proposed method are shown in Figs. 7 and 8, respectively. RESULTS The proposed method and other related works are evaluated based on the following routing metrics: Latency (L): L is used to determine the average time of the packets that are successfully delivered to the destination node. Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 13/25 https://peerj.com https://doi.org/10.7717/peerjcs.326/fig-4 https://doi.org/10.7717/peerjcs.326/fig-5 http://dx.doi.org/10.7717/peerj-cs.326 Figure 6 Paths of the packet transmitted using the proposed method. Full-size DOI: 10.7717/peerjcs.326/fig-6 First dead node (FDN): FDN is defined to measure the network connectivity and to check the appearance of the first dead node in the network. Network lifetime (NL): NL is used to determine the energy consumption and network partition. FDN and NL are essential metrics to increase the network lifetime. Receiving packets ratio (RPR): RPR is used to determine the total number of packets that are successfully received by the destination node. These aspects are used because this is the main focus of our research work. Moreover, the other related works also used the same metrics for evaluation (Hasnain, Malik & Aydin, 2018; Luo et al., 2015; Raman & Sharma, 2017). Therefore, we believe the evaluation and comparison can be carried out fairly. The details of each result analysis are discussed in the following subsections. Result analysis for latency (L) Figure 9 illustrates the packet delivery latency comparison among the proposed method and the other related works. Packet delivery latency is calculated based on the formula used by Liang, Luo & Xu (2013) (see Eq. (12)). This equation is used because it is the standard formula used to calculate the latency (L) in the opportunistic network (Liang, Luo & Xu, 2013). L= n∑ i=0 (Tcontention(k)+Tdata)+(N −1) (12) ∑n i=0(x) is the summation for all relay nodes, x is the parameters, T contention(k) is the contention time, Tdata is the packet transmission time, N is the number nodes. The simulation results shown that our proposed method has the lowest packet delivery latency followed by Adaptive Opportunistic Routing (AOR), ENergy Optimization Opportunistic Routing (ENO_OR), ENergy Savings via Opportunistic Routing (ENS_OR), Opportunistic multi-hop routing (ExOR), Geographic Random Forwarding (GeRaF) and Energy-Efficient Opportunistic Routing (EEOR). On average, our proposed method Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 14/25 https://peerj.com https://doi.org/10.7717/peerjcs.326/fig-6 http://dx.doi.org/10.7717/peerj-cs.326 Algorithm: Relay node selection and packet forwarding S = Source Node F = Forwarder node N = Node E = Energy D = Destination Event: S has a packet to send to the D. /*steps*/ 1. set threshold energy level 2. S select minimum range 3. check E for Ns 4. if (threshold energy level ≥ the energy level of the nodes) then 5. do 6. check N with highest E 7. select N with highest E 8. goto 13; 9. else 10. if (more than one N with equal E) then 11. do 12. select the nearest N 13. set as F 14. S forward the packet to F 15. S E will be reduced 16. if (packet reaches to D) 17. end 18. else 19. goto 2; 20. endif 21. else 22. S select maximum range 23. check E for Ns 24. if (threshold energy level ≥ the energy level of the nodes) then 25. do 26. goto 6; 27. else 28. reduce threshold energy level 29. goto 1; 30. endif 31. endif 32. return Figure 7 The pseudo code of the proposed method. Full-size DOI: 10.7717/peerjcs.326/fig-7 Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 15/25 https://peerj.com https://doi.org/10.7717/peerjcs.326/fig-7 http://dx.doi.org/10.7717/peerj-cs.326 Figure 8 Flowchart of the proposed method. Full-size DOI: 10.7717/peerjcs.326/fig-8 Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 16/25 https://peerj.com https://doi.org/10.7717/peerjcs.326/fig-8 http://dx.doi.org/10.7717/peerj-cs.326 Figure 9 Latency comparison. Full-size DOI: 10.7717/peerjcs.326/fig-9 produces approximately 23.38%, 27.57%, 32.56%, 43.48%, 64.15%, and 75.86% lesser packet delivery latency compared to AOR, ENO_OR, ENS_OR, ExOR, GeRaF and EEOR respectively. The reason that our proposed method could perform better compared to other methods might due to the minimum or maximum range selection mechanism used. In the best case scenario, if all the forwarder nodes fulfilled the required threshold energy and used the minimum range to forward the packets, the packets could be delivered without further delay. Result analysis for first dead node (FDN) Figure 10 illustrates the first dead node comparison among our proposed method and the other related works. First dead node is calculated based on the formula used by Ren et al. (2016) (see Eq. (13)). This equation is used because it is the standard formula used to calculate the first dead node (FDN) in the opportunistic network (Ren et al., 2016). FDN = [ E0 max(0)Ex ] (13) E0 is the initial energy of the relay node. max (0) Ex is the maximum energy consumption of the relay node. The simulation results shown that our proposed method has the highest simulation time for the first dead node followed by AOR, ENO_OR, ENS_OR, ExOR, GeRaF and EEOR. On average, our proposed method produces approximately 10.68%, 15.54%, 17.14%, 42.11%, 50.30%, and 68.61% longer simulation time for the first dead node compared to AOR, ENO_OR, ENS_OR, EXOR, GeRaF and EEOR respectively. The reason that our proposed method could perform better compared to other methods might due to the optimum energy level selection mechanism used. Averagely, in our proposed method, if a relay node was selected to forward a packet, it normally would not be selected again in Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 17/25 https://peerj.com https://doi.org/10.7717/peerjcs.326/fig-9 http://dx.doi.org/10.7717/peerj-cs.326 Figure 10 First dead node comparison. Full-size DOI: 10.7717/peerjcs.326/fig-10 the subsequence round to forward a packet unless it has the highest energy level among the other relay nodes and still fulfill the required threshold energy level. Therefore, our proposed method could prolong the time of the first dead node at the same time we could still select the best relay node to forward the packet. Result analysis for network lifetime (NL) Figure 11 illustrates the network lifetime comparison among our proposed method and the other related works. Network lifetime is calculated based on the formula used by Ren et al. (2016) (see Eq. (14)). This equation is used because it is the standard formula used to calculate the network lifetime (NL) in the opportunistic network (Ren et al., 2016). NL=nE0− i∑ c=0 n∑ j=0 ( E(i)j ∗l (i) ) (14) nE0 is the initial energy of the network, ∑i c=0 ∑n j=0 ( E(i)j ∗l (i) ) is the remaining energy of the network. E(i)j is the average energy consumption of the relay node. l (i) is the duration of the relay node. The simulation results shown that our proposed method has the highest network lifetime followed by AOR, ENO_OR, ENS_OR, ExOR, GeRaF and EEOR. On average, our proposed method produces approximately 7.10%, 8.35%, 10.58%, 28.57%, 50%, and 66.67% higher network lifetime compared to AOR, ENO_OR, ENS_OR, EXOR, GeRaF and EEOR respectively. The reason that our proposed method could perform better compared to other methods might due to the selection mechanism used in our proposed method that based on nearest distance followed by the highest energy level. Moreover, our proposed method could reduce the threshold energy level if a suitable relay node could not be found after using the minimum/maximum range as well as the existing threshold energy level. Therefore, our proposed method could prolong the network lifetime. Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 18/25 https://peerj.com https://doi.org/10.7717/peerjcs.326/fig-10 http://dx.doi.org/10.7717/peerj-cs.326 Figure 11 Network lifetime comparison. Full-size DOI: 10.7717/peerjcs.326/fig-11 Result analysis for receiving packets ratio (RPR) Figure 12 illustrates the receiving packets ratio comparison among the proposed method and the other related works. Receiving packets ratio is calculated based on the formula used by Ren et al. (2016) (see Eq. (15)). This equation is used because it is the standard formula used to calculate the receiving packets ratio (RPR) in the opportunistic network (Ren et al., 2016). RPR=1− ∑ RDP∑ SDP (15) ∑ RDP is the total number of packet received by the destiation node. ∑ SDPis the total number of packet sent to the destinaton node. The simulation results shown that our proposed method has the highest receiving packet ratio followed by AOR, ENO_OR, ENS_OR, ExOR, GeRaF and EEOR. On average, our proposed method produces 21.55%, 27.77%, 30.67%, 40%, 68.66%, and 85.71% higher receiving packets ratio compared to AOR, ENO_OR, ENS_OR, EXOR, GeRaF and EEOR respectively. The reason that our proposed method could produce higher receiving packets ratio compared to other methods might due to the selection mechanism used in our proposed method that based on nearest distance followed by the highest energy level. Additionally, our proposed method could reduce the threshold energy level if no suitable relay node could be found after using the minimum/maximum range as well as the existing threshold energy level. As a whole, the simulation results shown that our proposed method was able to perform better than the related works because of the following reasons: (i) Our proposed method could use a relay node that falled within the minimum range to forward the packet if the relay node has the highest energy level. Therefore, it would reduce the latency when delivering the packet to the destination node. (ii) The optimum energy level selection Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 19/25 https://peerj.com https://doi.org/10.7717/peerjcs.326/fig-11 http://dx.doi.org/10.7717/peerj-cs.326 Figure 12 Receiving packets ratio comparison. Full-size DOI: 10.7717/peerjcs.326/fig-12 mechanism used in our proposed method could reduce the chances of a forwarder node from taking part to forward a packet again unless it still has the maximum energy level compared to other relay nodes. Therefore, it will prolong the time of the first dead node. (iii) Our proposed method could reduce the threshold energy level from time to time if no suitable relay node is found. Our selection mechanism could use the new threshold energy level together with the minimum/maximum range searching mechanism to determine a suitable relay node. As a result, our proposed method could prolong the network lifetime and produce a higher receiving packet ratio. CONCLUSIONS AND FUTURE WORK In this paper, an improved relay node selection method was proposed. The proposed method that uses the minimum or maximum range and optimum energy level to select the best relay node to forward the packet was proposed to improve the performance of routing in the opportunistic network. In our proposed method, the threshold energy level needs to be pre-configured. After that, our proposed method will use the minimum range to determine a forwarder node. The maximum range will only be used if no relay node fulfills the minimum threshold energy level within the minimum range. To select the forwarder node, priority is given to the node that has the highest energy level. If there is a tie, the nearest distance will become the second priority for the selection process. If no relay nodes meet the minimum threshold energy level, the proposed method reduces the threshold energy level and uses the same mechanism to determine a forwarder node. A broadcast message is sent to notify all the relay nodes about the new threshold level. This process is repeated until a packet is forwarded to the destination node. Several simulations were conducted to evaluate the proposed method based on L, FDN, NL, and RPR. The results showed that our proposed method could (i) produce lower latency, (ii) prolong the Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 20/25 https://peerj.com https://doi.org/10.7717/peerjcs.326/fig-12 http://dx.doi.org/10.7717/peerj-cs.326 time for the first dead node, (iii) improve the network lifetime, and (iv) produce a higher receiving packet ratio compared to other methods. For future work, we intend to investigate whether it is practical to integrate our proposed method with ‘‘network coding’’. Zhai et al. (2018) proposed ‘‘network coding’’ technique in 2018. According to the authors, ‘‘network coding’’ is a technique that can be used to forward more than one packet/message in each transmission. As a result, an assumption was made that by integrating the proposed method with ‘‘network coding’’, the performance of routing in the opportunistic network could be improved. Therefore, in the future, more researches would be carried out in this area. Besides, we intend to investigate whether it is practical to integrate our proposed method with Cognitive Radio Networks (CRNs). Kafaie et al. (2018) proposed the CRNs technique in 2018. CRNs is a paradigm of wireless communication that allows unlicensed secondary users to adjust their transmission parameters in order to achieve efficient usage of radio spectrum resources without any harmful interference to the licensed primary user. CRNs are getting more and more popular in the opportunistic network because it provides dynamic spectrum access, and more efficient and secure data transmission (Kafaie et al., 2018). An assumption was made that by integrating our proposed method as one of the features or libraries in CRNs, it might create more revenue for researchers in this domain. However, the proposed method might not fit well in the current routing metrics in CRNs. Therefore, in the future, more researches would be carried out to enable our proposed method to be embedded as one of the feature or library in CRNs. Abbreviations The following abbreviations are used in this manuscript: AOR Adaptive Opportunistic Routing AREOR Adaptive Ranking based Energy-efficient Opportunistic Routing Co-EEORS Cooperative Energy Efficient Optimal Relay Selection CRNs Cognitive Radio Networks D Destination node E Energy EEOR Energy Efficient Opportunistic Routing ENO_OR Energy Optimization Opportunistic Routing ENS_OR Energy Savings via Opportunistic Routing ETT Expected Transmission Time ETX Expected Transmission Count ExOR Opportunistic Multi-hop Routing F Forwarder node FDN First dead node GeRaF Geographic Random Forwarding L Latency MiXiM Mixed simulator Min-Max Range Minimum and Maximum range MWN Multi-hop Wireless Networks N Node Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 21/25 https://peerj.com http://dx.doi.org/10.7717/peerj-cs.326 NL Network Lifetime OMNeT++ Objective Modular Network Testbed in C++ OR Opportunistic Routing RPR Receiving Packets Ratio S Source node Shortest-latency Shortest-latency opportunistic routing in asynchronous WSNs Short-Haul Short-haul Multi-hop WSNs Wireless Sensor Networks ADDITIONAL INFORMATION AND DECLARATIONS Funding This work was supported by the Bantuan Khas Penyelidikan (BKS022-2018) from the University of Malaya, Malaysia, Postgraduate Research Grant under Grant PG035-2016A and also the Fundamental Research Grant Scheme (FP114-2018A) from the Ministry of Higher Education, Malaysia. This work was also supported by King Saud University, Riyadh, Saudi Arabia, through Researchers Supporting Project number RSP-2020/184. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Grant Disclosures The following grant information was disclosed by the authors: University of Malaya, Malaysia: BKS022-2018. Postgraduate Research Grant: PG035-2016A. Fundamental Research Grant Scheme from the Ministry of Higher Education, Malaysia: FP114-2018A. King Saud University, Riyadh, Saudi Arabia: RSP-2020/184. Competing Interests The authors declare there are no competing interests. Author Contributions • Por Lip Yee conceived and designed the experiments, performed the computation work, authored or reviewed drafts of the paper, and approved the final draft. • Shahid Mehmood performed the experiments, performed the computation work, prepared figures and/or tables, and approved the final draft. • Ahmad Almogren analyzed the data, performed the computation work, prepared figures and/or tables, authored or reviewed drafts of the paper, and approved the final draft. • Ihsan Ali performed the experiments, analyzed the data, prepared figures and/or tables, and approved the final draft. • Mohammad Hossein Anisi analyzed the data, authored or reviewed drafts of the paper, and approved the final draft. Data Availability The following information was supplied regarding data availability: The code is available in the Supplemental Files. Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 22/25 https://peerj.com http://dx.doi.org/10.7717/peerj-cs.326#supplemental-information http://dx.doi.org/10.7717/peerj-cs.326 Supplemental Information Supplemental information for this article can be found online at http://dx.doi.org/10.7717/ peerj-cs.326#supplemental-information. REFERENCES Alia O, Al-Ajouri A. 2016. Maximizing wireless sensor network coverage with minimum cost using harmony search algorithm. IEEE Sensors Journal 17(3):882–896. Biswas S, Morris R. 2005. ExOR: opportunistic multi-hop routing for wireless net- works. ACM SIGCOMM Computer Communication Review 35(4):133–144 DOI 10.1145/1090191.1080108. Boukerche A, Darehshoorzadeh A. 2014. Opportunistic routing in wireless networks: models, algorithms, and classifications. ACM Computing Surveys (CSUR) 47(2):1–36. Bouachir O, Mnaouer AB, Touati F, Crescini D. 2016. Opportunistic routing and data dissemination protocol for energy harvesting wireless sensor networks. In: 2016 8th IFIP International Conference on New Technologies, Mobility and Security (NTMS). Piscataway: IEEE, 1–5. Chachulski S, Jennings M, Katti S, Katabi D. 2007. Trading structure for randomness in wireless opportunistic routing. Vol. 37. New York: ACM. Chakchouk N. 2015. A survey on opportunistic routing in wireless communica- tion networks. IEEE Communications Surveys & Tutorials 17(4):2214–2241 DOI 10.1109/COMST.2015.2411335. Chithaluru P, Tiwari R, Kumar K. 2019. AREOR–adaptive ranking based energy efficient opportunistic routing scheme in Wireless Sensor Network. Computer Networks 162:106863–106875 DOI 10.1016/j.comnet.2019.106863. Choudhury RR, Vaidya NH. 2004. MAC-layer anycasting in ad hoc networks. ACM SIGCOMM Computer Communication Review 34(1):75–80. Coutinho RW, Boukerche A. 2017. Opportunistic routing in underwater sensor networks: potentials, challenges and guidelines. In: Paper presented at the 2017 13th international conference on distributed computing in sensor systems (DCOSS). Darehshoorzadeh A, Robson E, Boukerche A. 2015. Toward a comprehensive model for performance analysis of opportunistic routing in wireless mesh networks. IEEE Transactions on Vehicular Technology 65(7):5424–5438. Eu ZA, Tan H-P, Seah WK. 2010. Opportunistic routing in wireless sensor networks powered by ambient energy harvesting. Computer Networks 54(17):2943–2966 DOI 10.1016/j.comnet.2010.05.012. Hasnain M, Malik MH, Aydin ME. 2018. An adaptive opportunistic routing scheme for reliable data delivery in WSNs. In: Proceedings of the 2nd international conference on future networks and distributed systems. Hawbani A, Wang X, Sharabi Y, Ghannami A, Kuhlani H, Karmoshi S. 2019. LORA: load-balanced opportunistic routing for asynchronous duty-cycled WSN. IEEE Transactions on Mobile Computing 18(7):1601–1615 DOI 10.1109/TMC.2018.2865485. Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 23/25 https://peerj.com http://dx.doi.org/10.7717/peerj-cs.326#supplemental-information http://dx.doi.org/10.7717/peerj-cs.326#supplemental-information http://dx.doi.org/10.1145/1090191.1080108 http://dx.doi.org/10.1109/COMST.2015.2411335 http://dx.doi.org/10.1016/j.comnet.2019.106863 http://dx.doi.org/10.1016/j.comnet.2010.05.012 http://dx.doi.org/10.1109/TMC.2018.2865485 http://dx.doi.org/10.7717/peerj-cs.326 Jadhav P, Satao R. 2016. A survey on opportunistic routing protocols for wireless sensor networks. Procedia Computer Science 79:603–609 DOI 10.1016/j.procs.2016.03.076. Jain N, Dongariya A, Verma A. 2017. Comparative study of different types of relay selection scheme for cooperative wireless communication. In: 2017 international conference on information, communication, instrumentation and control (ICICIC). Kafaie S, Chen Y, Dobre OA, Ahmed MH. 2018. Joint inter-flow network coding and opportunistic routing in multi-hop wireless mesh networks: a compre- hensive survey. IEEE Communications Surveys & Tutorials 20(2):1014–1035 DOI 10.1109/COMST.2018.2796101. Kannan G, Raja TSR. 2015. Energy efficient distributed cluster head scheduling scheme for two tiered wireless sensor network. Egyptian Informatics Journal 16(2):167–174 DOI 10.1016/j.eij.2015.03.001. Khan A, Ali I, Rahman AU, Imran M, Mahmood H. 2018. Co-EEORS: cooperative energy efficient optimal relay selection protocol for underwater wireless sensor networks. IEEE Access 6:28777–28789 DOI 10.1109/ACCESS.2018.2837108. Larsson P. 2001. Selection diversity forwarding in a multihop packet radio network with fading channel and capture. ACM SIGMOBILE Mobile Computing and Communica- tions Review 5(4):47–54 DOI 10.1145/509506.509517. Lee GY, Haas ZJ. 2011. Simple, practical, and effective opportunistic routing for short- haul multi-hop wireless networks. IEEE Transactions on Wireless Communications 10(11):3583–3588 DOI 10.1109/TWC.2011.092711.101713. Li B, Li H, Zhang R, Wei C. 2019. An energy-efficient metric for relay selection in large- scale multi-hop wireless networks. In: Paper presented at the 2019 international conference on computing, networking and communications (ICNC). Liang JZ. 2020. A reliable trust computing mechanism based on multi-source feed- back and fog computing in social sensor cloud. EEE Internet of Things Journal 7:5481–5490. Liang W, Luo J, Xu X. 2013. Network lifetime maximization for time-sensitive data gathering in wireless sensor networks with a mobile sink. Wireless Communications and Mobile Computing 13(14):1263–1280 DOI 10.1002/wcm.1179. Luo J, Hu J, Wu D, Li R. 2015. Opportunistic routing algorithm for relay node se- lection in wireless sensor networks. IEEE Transactions on Industrial Informatics 11(1):112–121 DOI 10.1109/TII.2014.2374071. Mao X, Tang S, Xu X, Li X, Ma H. 2011. Energy-efficient opportunistic routing in wire- less sensor. IEEE Transactions on Parallel and Distributed Systems 22(11):1934–1942 DOI 10.1109/TPDS.2011.70. Menon VG. 2019. Review on opportunistic routing protocols for dynamic Ad hoc networks: taxonomy, applications and future research directions. Preprints 2019. 2019030118 DOI 10.20944/preprints201903.0118.v1. Nadar C, Patil R, Raut S, Mhatre K. 2017. Energy efficient optimal opportunistic routing using sleep mode for wireless sensor network. In: 2017 international conference on innovations in information, embedded and communication systems (ICIIECS). Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 24/25 https://peerj.com http://dx.doi.org/10.1016/j.procs.2016.03.076 http://dx.doi.org/10.1109/COMST.2018.2796101 http://dx.doi.org/10.1016/j.eij.2015.03.001 http://dx.doi.org/10.1109/ACCESS.2018.2837108 http://dx.doi.org/10.1145/509506.509517 http://dx.doi.org/10.1109/TWC.2011.092711.101713 http://dx.doi.org/10.1002/wcm.1179 http://dx.doi.org/10.1109/TII.2014.2374071 http://dx.doi.org/10.1109/TPDS.2011.70 http://dx.doi.org/10.20944/preprints201903.0118.v1 http://dx.doi.org/10.7717/peerj-cs.326 Raman A, Sharma S. 2017. Optimization of Communication parameters in wireless sensor network. In: Communication and computing systems: proceedings of the international conference on communication and computing systems (ICCCS 2016), Gurgaon, India, 9–11 September, 2016. Ren J, Zhang Y, Zhang K, Liu A, Chen J, Shen XS. 2016. Lifetime and energy hole evolution analysis in data-gathering wireless sensor networks. IEEE Transactions on Industrial Informatics 12(2):788–800 DOI 10.1109/TII.2015.2411231. Ritter FE, Schoelles MJ, Quigley KS, Klein LC. 2011. Human-in-the-loop simulations. Cham: Springer, 97–116. Thakkar A. 2014a. Alive nodes based improved low energy adaptive clustering hierarchy for wireless sensor network. In: Advanced computing, networking and informatics. New York City: Springer, Cham. Thakkar A. 2014b. Cluster head election for energy and delay constraint applications of wireless sensor network. IEEE Sensors Journal 14:2658–2664. Thakkar A. 2015. A new Bollinger Band based energy efficient routing for clustered wireless sensor network. Applied Soft Computing 32:144–153. Thakkar A. 2016. KIP: a novel self-guided adaptive clustering approach to prolong lifetime of wireless sensor networks. In: Communication and computing systems: proceedings of the international conference on communication and computing systems (ICCCS 2016). Thakkar A. 2017. DEAL: distance and energy based advanced LEACH protocol. In: International conference on information and communication technology for intelligent systems. New York City: Springer. Wang TZ. 2020. Data collection from WSNs to the cloud based on mobile Fog elements. Amsterdam, Netherlands: Elsevier. Zhai Z, Qian J, Tao Y, Zhao L, Cheng B. 2018. Poster: a lightweight timestamp-based mac detection scheme for xor network coding in wireless sensor networks. In: Paper presented at the proceedings of the 24th annual international conference on mobile computing and networking. Zhang X, Tao L, Yan F, Sung DK. 2019. Shortest-latency opportunistic routing in asynchronous wireless sensor networks with independent duty-cycling. IEEE Transactions on Mobile Computing 19:711–723. Zhao Z, Mosler B, Braun T. 2012. Performance evaluation of opportunistic routing protocols: a framework-based approach using OMNeT++. In: Proceedings of the 7th Latin American Networking Conference. 28–35. Zorzi M, Rao RR. 2003. Geographic random forwarding (GeRaF) for ad hoc and sensor networks: energy and latency performance. IEEE Transactions on Mobile Computing 2(4):349–365 DOI 10.1109/TMC.2003.1255650. Yee et al. (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.326 25/25 https://peerj.com http://dx.doi.org/10.1109/TII.2015.2411231 http://dx.doi.org/10.1109/TMC.2003.1255650 http://dx.doi.org/10.7717/peerj-cs.326