1. Introduction
WSN is a network of spatially dispersed tiny sensor nodes responsible for the collection of data from the physical environment. These sensor nodes are used for observing environmental parameters like pressure, moisture, temperature, wind speed, vibrations, heat, noise, etc., to transmit this acquired data to the sink or target node in the network. The recent improvements in the WSN technology have enabled the sensor nodes in the network, not only to capture real-time data but also to capture data in complicated real-life applications like a medical diagnosis of a heart patient, by implanting sensor nodes to record real-time data about the heart rate. These real-time applications demand real-time communication from the source node to the destination node.
The WSN is composed of tiny nodes called sensors, shown in
Figure 1 [
1]. These sensors form the basis of WSN because of their abilities to sense the environment, where they are deployed and also because of their ability to collaborate to form networks [
2]. These sensor nodes are not of much use due to their limited possession of resources but once they create a network, they become very useful in the acquisition of environmental parameters, processing the acquired data and transmitting the processed data to a sensor node known as a sink in the WSN. A sensor node in WSN is capable of performing operations like sensing or acquisition, storage of acquired data, and transmission of data to different nodes in the network, so that the data reaches from the source node to the terminus node. It is important to understand that WSNs are subject to its own limitations and its implementation is a tough task, mainly due to their limited energy, poor communication range, very low storage capacity, and weak processing power [
3]. Once the sensor nodes are deployed in the real environment, it is expected that they will remain operational for a stretched duration in unmanned sites. The whole scenarios demand efficient management of resources like processing, energy, storage, etc. The lifetime of the network is directly reliant on the amount of residual energy in the sensor motes, as it is nearly impossible to replace batteries in the sensor nodes. As sensor nodes are the nodes with a very limited amount of energy, it is very important to make optimum use of energy that is available with the sensor nodes. The maximum amount of energy is consumed during the communication operation. It is during communication when each node in the network behaves as a router and transmits the data packets from the source node to the next node, and then follows a route according to the protocol in use, so that the data packet reaches the destination. This task in the WSN demands maximum consumption of resources.
With the ever-increasing use of term green computing, the energy efficiency of WSN has seen a considerable rise. Recently, an approach for green computing towards IoT for energy efficiency has been proposed, which enhances the energy efficiency of WSN [
4]. Different types of methods and techniques were proposed and developed in the past to address the issue of energy optimization in WSN. Another approach that regulates the challenge of energy optimization in sensor-enabled IoT with the use of quantum-based green computing, makes routing efficient and reliable [
5]. The problem of energy efficiency during the routing of data packets from source to target in case of IoT-oriented WSN is significantly addressed by another network-based routing protocol known as GreeDi [
6]. It is imperative to mention here that IoT is composed of energy-hungry sensor devices. The constraint of energy in sensor nodes has affected the transmission of data from one node to another and therefore, requires boundless methods, policies, and strategies to overcome this challenge [
7].
The focus of this paper was to put forward an intelligent opportunistic routing protocol so that the consumption of resources particularly during communication could be optimized, because the alleyway taken to transmit a data packet from a source node to the target node is determined by the routing protocol.
Routing is a complex task in WSN because it is different from designing a routing protocol in traditional networks. In WSN, the important concern is to create an energy-efficient routing strategy to route packet from source to destination, because the nodes in the WSN are always energy-constrained. The problem of energy consumption while routing is managed with the use of a special type of routing protocol known as the Opportunistic Routing Protocol. The opportunistic routing (OR) is also known as any path routing that has gained huge importance in the recent years of research in WSN [
8]. This protocol exploits the basic feature of wireless networks, i.e., broadcast transmission of data. The earlier routing strategies consider this property of broadcasting as a disadvantage, as it induces interference. The focal notion behind OR is to take the benefit of spreading the behavior of the wireless networks such that broadcast from one node can be listened by numerous nodes. Rather than selecting the next forwarder node in advance, the OR chooses the next forwarder node robustly at the time of data transmission. It was shown that OR gives better performance results than traditional routing. In OR, the best opportunities are searched to transmit the data packets from source to destination [
9]. The hop-by-hop communication pattern is used in the OR even when there is no source-to-destination linked route. The OR protocols proposed in recent times by different researchers are still belligerent with concerns pertaining to energy efficiency and the reliable delivery of data packets.
The proposed OR routing protocol given in this paper was specifically meant for WSN, by taking into account the problems that surface during the selection of relay candidates and execution of coordination protocol. The proposed protocol intelligently selects the relay candidates from the forwarder list by using a machine learning technique to achieve energy efficiency. The potential relay node selection is a multi-class with multiple feature-based probabilistic problems, where the inherent selection of relay node is dependent upon each node’s characteristics. The selection of a node with various characteristics for a node is a supervised multiclass non-linearly separable problem. In this paper, the relay node selection algorithm is given using Naïve Baye’s machine learning model.
The organization of this paper is as follows.
Section 2 presents the related work in the literature regarding OR and protocols. The various types of routing protocols are given in
Section 3.
Section 4 describes OR with examples, followed by the proposed intelligent OR algorithm for forwarder node selection in
Section 5.
Section 6 depicts the simulation results of the proposed protocol by showing latency, network lifetime, throughput, and energy efficiency.
Section 7 presents a proposed framework for integration IoT with WSN for e-healthcare. This architecture can be useful in many e-healthcare applications.
Section 8 presents the conclusion and future.
2. Related Work
Achieving reliable delivery of data and energy efficiency are two crucial tasks in WSNs. As the sensor nodes are mostly deployed in an unattended environment and the likelihood of any node going out of order is high, the maintenance and management of topology is a rigorous task. Therefore, the routing protocol should accommodate the dynamic nature of the WSNs. Opportunistic routing protocols developed in the recent past years provided trustworthy data delivery but they are still deficient in providing energy-efficient data transmission between the sensor nodes. Some latest research on OR, experimented by using the formerly suggested routing metrics and they concentrated on mutual cooperation among nodes.
GeRaF [
10] (Geographic Random Forwarding) described a novel forwarding technique based on the geographical location of the nodes involved and random selection of the relaying node via contention among receivers. Exclusive Opportunistic multi-hop routing for wireless networks [
11] (ExOR) is an integrated routing and MAC protocol for multi-hop wireless networks, in which the best of multiple receivers forwards each packet. This protocol is based on the Expected Transmission Count (ETX) metric. The ETX was measured by hop count from the source to the destination and the data packet traveled through the minimum number of hops. ExOR achieves higher throughput than traditional routing algorithms but it still has few limitations. ExOR contemplates the information accessible at the period of transmission only, and any unfitting information because of recent updates could worsen its performance and could lead to packet duplication. Other than this, there is another limitation with ExOR, as it always seeks coordination among nodes that causes overhead, in case of large networks. Minimum Transmission Scheme-Optimal Forwarder List Selection in Opportunistic Routing [
12] (MTS) is another routing protocol that uses MTS instead of ETX as in ExOR. The MTS-based algorithm gives fewer transmissions as compared to ETX-based ExOR. Simple, practical, and effective opportunistic routing for short-haul multi-hop wireless networks [
13]. In this protocol, the packet duplication rate was decreased. This is a simple algorithm and can be combined with other opportunistic routing algorithms. Spectrum Aware Opportunistic Routing [
14] (SAOR) is another routing protocol for the cognitive radio network. It uses optimal link transmission (OLT) as a cost metric for positioning the nodes in the forwarder list. SAOR gives better QoS, reduced end-to-end delay, and improved throughput. Energy-Efficient Opportunistic Routing [
15] (EEOR) calculates the cost for each node to transfer the data packets. The EEOR takes less time than ExOR for sending and receiving the data packets. Trusted opportunistic routing algorithm for Vanet [
16] (TMCOR) gives a trust mechanism for opportunistic routing algorithm. It also defines the trade-off between the cost metric and the safety factor. A novel socially aware opportunistic routing algorithm in mobile social networks [
17] considered three parameters, namely social profile matching, social connectivity matching, and social interaction. This gives a high probability of packet delivery and routing efficiency. ENSOR-opportunistic routing algorithm for relay node selection in WSNs is another algorithm where the concept of an energy-efficient node is implemented [
18]. The packet delivery rate of ENSOR is better than GeRaF. Economy—a duplicate free [
19] is the only OR protocol that uses token-based coordination. This algorithm ensures the absence of duplicate packet transmissions.
With the advent of the latest network technologies, the virtualization of networks along with its related resources has made networks more reliable and efficient. The virtual network functions are used to solve the problems related to service function chains in cloud-fog computing [
20]. Further, IoT works with multiple network domains, and the possibility of compromising the security and confidentiality of data is always inevitable. Therefore, the use of virtual networks for service function chains in cloud-fog computing under multiple network domains, leads to saving network resources [
21]. In recent times, the cloud of things (CoT) has gained immense popularity, due to its ability to offer an enormous amount of resources to wireless networks and heterogeneous mobile edge computing systems. The CoT makes the opportunistic decision-making during the online processing of tasks for load sharing, and makes the overall network reliable and efficient [
22]. The cloud of things framework can significantly improve communication gaps between cloud resources and other mobile devices. In this paper, the author(s) proposed a methodology for offloading computation in mobile devices, which might reduce failure rates. This algorithm reduces failure rates by improving the control policy. In recent times, WSN used virtualization techniques to offer energy-efficient and fault-tolerant data communication to the immensely growing service domain for IoT [
23]. With the application of WSN in e-healthcare, the wireless body area network (WBAN) gained a huge response in the healthcare domain. The WBAN is used to monitor patient data by using body sensors, and transmits the acquired data, based on the severity of the patients’ symptoms, by allocating a channel without contention or with contention [
24].
EEOR [
15] is an energy-efficient protocol that works on transmission power as a major parameter. This protocol discussed two cases that involved constant and dynamic power consumption models. These models are known as non-adjustable and adjustable power models. In the first model, the algorithm calculated the expected cost at each node and made a forwarder list on the source node based on this cost. The forwarder list was sorted in increasing order of expected cost and the first node on the list became the next-hop forwarder. As EEOR is an opportunistic routing protocol, broadcasting is utilized and the packets transmitted might be received by each node on the forwarder list. In this, the authors propose algorithms for fixed-power calculation, adjustable power calculation, and opportunistic power calculation. This algorithm was compared with ExOR [
11] by simulation in the TOSSIM simulator. The results showed that EEOR always calculated the end-to-end cost based on links from the source to destination. EEOR followed distance vector routing for storing the routing information inside each sensor node. The expected energy consumption cost was updated inside each node, after each round of packet transmission. Data delivery was guaranteed in this protocol. Additionally, according to the simulation results, packet duplication was significantly decreased.
The MDOR [
25,
26] protocol worked on the distance between the source to relay nodes. In this, the authors proposed an algorithm that calculated the distance to each neighbor from the source node and found out the average distance node. The average distance node was used by the source as a next-hop forwarder. The authors also stated that, to increase the speed and reliability of transmission, the strength of the signal was very important. The signal power depended on the distance between the sender and receiver. If a node sent a packet to the nearest node, then it might take more hops and this would decrease the lifetime of the network. Another problem addressed in this protocol was to reduce energy consumption at each node through the dynamic energy consumption model. This model consumed energy according to the packet size and transmitted the packet by amplifying it according to the distance between the source and the relay nodes. MDOR always chose the middle position node to optimize energy consumption in amplifying the packets. The MDOR simulation results showed that the energy consumption was optimized and it was suitable for certain applications of WSN like environment monitoring, forest fire detection, etc.
Opportunistic routing introduced the concept of reducing the number of retransmissions to save energy and taking advantage of the broadcasting nature of the wireless networks. With broadcasting, the routing protocol could discover as many paths in the network as possible. The data transmission would take place on any of these paths. If a particular path failed, the transmission could be completed by using some other path, using the forwarder list that had the nodes with the same data packet.
5. Intelligent Opportunistic Protocol (IOP)
Let there be N nodes in the WSN, where each node has K neighbors, i.e., N1, N2, …, NK and each neighbor nodes are represented by X1, X2, …, Xn attributes. In this case, the number of neighbors (k) might vary for the different nodes at a particular instance. Additionally, it was assumed that the wireless sensor network is spread over an area of 500 × 500 square meters.
Let us assume that a node A ∈ N and had neighbors as NA
1, NA
2, …, NA
K, with respective features like Node Id, Location, PRR (Packet Reception Ratio), Residual Energy (RE) of nodes, and Distance (D), which are represented by X
1, X
2, …, X
n, respectively. The goal was to intelligently find a potential relay node A, say AR, such that AR ∈ {NA
1, NA
2, …, NA
K}. In the proposed machine learning-based protocol for the selection of potential forwarder, the packet reception ratio, distance, and outstanding energy of node was taken into consideration. The Packet Reception Ratio (PRR) [
29] is also sometimes referred to as PSR (packet success ratio). The PSR was computed as the ratio of the successfully received packets to the sent packets. A similar metric to the PRR was the PER (packet error ratio), which could be computed as (1—PRR). A node loses a particular amount of energy during transmission and reception of packets. Accordingly, the residual energy in a node gets decreased [
30]. The distance (D) was the distance between the source node and the respective distance of each sensor node in the forwarder list. The potential relay node selection was multi-class, with multiple features-based probabilistic problems, where the inherent selection of the relay node was dependent upon each node feature. The underlying probabilistic-based relay node selection problem could be addressed intelligently by building a machine learning model. The selection of a node with ‘n’ characteristics for a given node ‘A’ could be considered a supervised multiclass non-linearly separable problem.
In this algorithm, the Naïve Baye’s classifier was used to find the probability of node A to reach one of its neighbors, i.e., {N
1, N
2, …, N
K}. We computed the probability, P(N
1, N
2, …, N
K|A). The node with maximum probability, i.e., P(N
1, N
2, …, N
K|A) was selected. The probability P of selecting an individual relay node of the given node A could be computed individually for each node, as shown respectively for each node in Equation (4).
where P(NA
K|A) denotes the probability of node A to node K. Furthermore, the probability computation of node A to NA
1 is such that NA
1 is represented by the corresponding characteristics X
1, X
2, …, Xn, which means to find the probability to select the relay node NA
1, given that feature X
1, NA
1 given that feature X
2, NA
1 given that feature X
3, and so on. The individual probability of relay node selection, given that the node characteristics might be computed by using Naïve Bayes conditional probability, is shown in Equation (5).
where
i = 1, 2, 3, …, n and P(X
i|A) is called likelihood, P(A) is called the prior probability of the event, and P(X
i) is the prior probability of the consequence. The underlying problem is to find the relay node A that has the maximum probability, as shown in Equation (6).
Table 3a–x represent the neighbor sets {NA
1, NA
2, …, NA
K} along with their feature attributes as {X
1, X
2, X
3, …, X
n} of Node A. The working of IOP is comprised of two phases, i.e., Phase I (Forwarder_Set_Selection) and Phase II (Forwarder_Node_Selection). In Phase I, the authors used Algorithm 1 for the forwarder set selection. In this step, the information collection task was initiated after the nodes were randomly deployed in the area of interest, with specific dimensions. The beginning of the phase started with a broadcast of “Hello Packet” which contained the address and the location of the sending node. If any node received this packet, it sent an acknowledgment to the source and was added to the neighbor list.
This process was repeated again and again, but not more than the threshold, to calculate the PRR of each node and the neighbor list was formed using this procedure repeatedly. From the neighbor list and the value of PRR, the forwarder set was extracted. The pre-requisite for the working of the second phase was the output of the first phase. The forwarder set generated from Algorithm 1 was the set of all nodes that had the potential to forward the data packets. However, all nodes in the set could not be picked for transmission, as this would lead to duplication of packets in the network. To tackle this situation, only one node from the forwarder list should be selected to transmit the packet to the next-hop toward the destination. This was accomplished using Algorithm 2, which took a forwarder node list as input and selected a single node as a forwarder. Algorithm 2 used a machine-learning technique called naïve Baye’s Classifier, to select the forwarder node intelligently.
The proposed method of relay node selection using IOP could be understood by considering an example of WSN shown in
Figure 2 and using the naïve Baye’s algorithm on the generic data available in
Table 4, to find the optimal path in terms of energy efficiency and reliability from source node S to destination node D. Therefore, by using the proposed naïve Baye’s classifier method, the probability of selection of a relay node R1, R2, or R3 from source node S was denoted by P(R1, R2, R3|S), which could be calculated using Equation (7).
Algorithm 1. Forwarder_Set_Selection (S = Source, D = Destination) |
//When any source node S want to send a packet towards D, it will execute this algorithm// |
NotationsNBL: Neighbor list REP_Count: Count of replies received by the source node SID: Identity of the source node RES: Energy residual of the node PRR: Packet Reception Ratio FL(S): Forwarder List of source node S
|
Input |
Source Node S, SID, RES, and Location corresponding to the node S |
Process |
START |
Let NBL (S) be the neighbor list of node S Let REP_Count (node): = 0 For count: = 1 to 5 repeat Broadcast “Hello_Packet” as {SID, Coordinates (x, y), RES} from S; IF (reply == True and node !Ɛ NBL(S)) Add the replying node to the neighbor list NBL(S) with following values updated {Node_ID, Location, Energy}; Else IF (reply == True and node Ɛ NBL(S)) REP_Count (node) = REP_Count (node) + 1; Else count = count + 1; endIF count = count + 1; endFor For each node in NBL (S) repeat Calculate PRR (node); IF PRR (node) >= 0.2 Add node to forwarder set (FL(S)); endIF endFor Forwarder Set FL(S) is formed;
|
END |
Output: Creation of forwarder list consisting of neighbor nodes of the source node S. |
Using Equation (5), we can compute:
Putting the values in the above equations from
Table 4, we can compute
Algorithm 2. Forwarder_Node_Selection (S = Source, D = Destination) |
//when any node S wants to send a packet toward D and it has already constructed a forwarder list, it will follow this algorithm. |
NotationsFL(S): | Forwarder List of source node S | Ri: | ith node in the forwarder list | PRR: | Packet Reception Ratio) | RE: | Residual Energy | D: | Distance | P: | Probability | ArrProb[Ri]: | Array to store probability of a given node | Pmax: | Maximum probability | D: | Destination/Target |
|
Input |
R: R is set of nodes in the forwarder list (FL) i.e., R = {R1, R2, …, Rn} |
Process STARTLet R1, R2, …, Rn are the nodes in the FL of source node S. Each node Ri∈ FL(S) where i = 1, 2, …, n Declare three float variables X1, X2, and X3 to represent the properties of Ri, i.e., PRR (Packet Reception Ratio), RE (Residual Energy), and D (distance), respectively. For each node Ri∈ FL(S) repeat Compute P(Ri|S)//Probability of selection of Ri given S, i.e., Pk = P(Ri|S) for i = 1, 2 …, n and Assign k←i Compute the probability of P(R i|S) by computing the probability of each parameter separately, given S.
where,
Make an unsorted array of probability values of n nodes, i.e., R1, R2, …, Rn from step 6. For i = 1 to n and k = i, ArrProb[Ri]←Pk//To find the node with maximum probability. Select the first node of the array ArrProb[0] as the node with maximum value Pmax i.e., Pmax←ArrProb[0] Go through the rest of the elements of the array, i.e., from the 2nd element to the last (n − 1) element, for i = 1 to n − 1. For i = 1 to n − 1, if any value in the array ArrProb[i] is found to be greater than the current value Pmax. i.e., if ArrProb[i] > Pmax then, Pmax← ArrProb[i] When the end of the array is reached, then the current value of the Pmax is the greatest value in the array, Pmax←ArrProb[i]. The node Ri with Pmax value is selected as a relay node from the forwarder list, as the node with the highest probability. The node with the next highest probability acts as a relay node in case the first selected relay node fails to broadcast. Broadcast transmission of the data packet as {Ri, coordinates, data} Destination node D is reached, if Yes, go to step 15. Else, apply Algorithm 1 on Ri S←Ri and go to step 2. END
|
Output: A potential forwarder node is selected from the list of forwarder nodes. |
Using the above results, we can compute the probability of
by multiplying
, i.e.,
Similarly, we can compute the probability of
by multiplying
, i.e.,
Again, inputting the values in the above Equations (12)–(14) from the table given below, we can compute:
In the same manner, we can compute
by multiplying
, i.e.,
Again, putting the values in the above Equations (19)–(21) from the table given below, we can compute:
Finally using the proposed method of relay node selection using naïve Baye’s algorithm, we could compute probability
, using Equation (26).
Thus, node R2 would be selected as the relay node in the forwarder list of R1, R2, and R3 for source node S. Similarly, the process was followed again for the neighbors of S, which consequently would check the neighbors of R1, R2, and R3. The
Table 5,
Table 6 and
Table 7 describe the features of neighboring nodes of R1, R2, and R3, respectively.
After the execution of Phase I and Phase II on the above said example, the final route was intelligently selected for the onward transmission of the data packet from source node S to destination node D, using the naïve Baye’s algorithm shown in
Figure 3.
Figure 3 gives the details about the route selected using the IOP. The source node S broadcasts the data packet among its neighboring nodes, using Algorithm 1 to create a forwarders list. The node R1, R2, and R3 in the figure, were selected as the nodes in the forwarders list.
These were the potential nodes that would be used for the selection of a potential forwarder node. Here, R2 was selected as the potential node using Algorithm 2. The same procedure was adopted again and until the data reached its final destination. The final route was selected intelligently using IOP is S→R2→R5→D.
7. Proposed Framework
In recent years, WSN saw its applications growing exponentially with the integration of IoT. This gave a new purpose to the overall utility of data acquisition and transmission. With the integration of WSN with IoT, the IoT is making a big impact in diverse areas of life, i.e., e-healthcare, smart farming, traffic monitoring and regulation, weather forecast, automobiles, smart city, etc. All these applications are hugely dependent on the availability of real-time accurate data. Healthcare with IoT is one such area that involves critical decision making [
31,
32,
33]. The proposed approach makes use of intelligent routing and, therefore, would help in making reliable and accurate delivery of data to the integrated healthcare infrastructure, for proper care of the patients. The proposed framework for e-healthcare is shown in
Figure 10. As the proposed algorithm saves energy, the healthcare devices that are sensor-enabled can work for longer duration, and easy deployment and data analysis is possible due to IoT integration [
34,
35,
36,
37,
38]. According to the proposed architecture, there can be any different kind of sensor nodes, such as smart wearables, sensors collecting health data like temperature, heartbeat, number of steps taken every day, sleep patterns, etc. These factors have a correlation with different existing diseases. The best part of the integration of IoT and WSN is that, with the help of sensors, data are collected and the same is stored in the cloud due to IoT integration. Once the health data is stored in the cloud, this cloud is a health-record cloud that belongs to a specific hospital or a public domain cloud. These cloud data can be accessed by healthcare professionals in a different way, to analyze the data and also provide feedback to a specific patient and group of patients.
In the recent epidemic of COVID-19, telemedicine had become one of the most popular uses of this platform. Doctors also started e-consulation to the patients and getting access to their health records, using the smart wearables of patients. Sill, there are many challenges, and lot of improvements are required. The proposed work add towards better energy efficiency of sensors, so that they can work for longer durations. Thereafter these sensor data can be integrated using IoT and cloud, as per the proposed approach shown in
Figure 10.