Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

One of the most important constraints on sensor nodes is the low power consumption requirement as power sources cannot recharge or replaceable easily. Thus, a WSN comes with a trade-off to extend the network lifetime at the cost of lower throughput or higher transmission delay [1].

In simple, to extend network lifetime, we have two possibilities. One is increasing density of the network and second is deploying multiple sinks to receive the collected data in the target region. Now the problem can be viewed in terms of collisions and congestion due to its limitations (dense deployment, small memory to keep the data and channel for communication). Mainly, this congestion occurs in sink zone as it has to collect the data from sensors and neighbor nodes of the sink will act as a relay node for all sources to forward the received data packets to sink. Packet loss happens due to transmission errors, packet collision, interference, node failure (due to energy depletion), and buffer size in addition to congestion. Thus, congestion and collision effect the reliability of the network.

Due to multi-hopping, relay nodes’ energy gets drained quickly as they participate more in communication to forward data and decreases the network lifetime. If multiple sinks get deployed, and sensor nodes can send data to any of the sinks which are nearer to it, thus saving energy of relay nodes and enhancing the network lifetime [2,3,4]. But deploying multiple sinks increases maintenance cost. For the reduction of increased maintenance cost due to multiple sinks deployment, CASS algorithm came with a proposal to activate the sinks in shifts means enabling a single sink at a time [5]. Once the shift rate of the sink node is below a threshold value, then CASS algorithm will choose another sink to be activated based on the network reach value.

The original CASS algorithm does not consider the presence of unreliable nodes in the network which fails to forward the data. So, in the presence of unreliable nodes, packet loss happens due to increased packet drop by unreliable nodes. Thus, there is a need for modified CASS algorithm to ensure reliable packet delivery in presence of untrustworthy nodes in the network. In this work, we propose CASS-Reliable algorithm as an extension of CASS algorithm to avoid packet loss in the presence of unreliable nodes and still achieve maximum network lifetime.

2 Related Work

Retransmission and redundancy are the major techniques used in many protocols to recover lost packets. These techniques ensure reliability by recovering the lost data using either hop-by-hop or an end-to-end method based on the end user requirement. In hop-by-hop, every hop node is responsible for reliable transmission of the data packet. In end-to-end transmission, the source and destination are responsible for maintaining the reliability, while the intermediate nodes merely relay the packets between the source and the destination [6].

In our work, we adopted iACK to know the deliverance of the data packet. We took advantage of broadcasting nature of sensor if data packet loss due to any reason the sender node will reroute the packet using another path through other neighbor nodes as data is automatically received by the neighbors also. Along with iACK, we added the trust model to strengthen the reliability concept in our work.

Trust is the level or degree of the confidence that a node can have on another node. The WSN is the collaboration of distributed sensor node to monitor the target region which can affect the security, reliability, privacy, robustness, authentication, and authorization. To deal with such issues, WSN needs a trust framework [7].

The trust value of the nodes ranges from \(-1\) to +1. \(-1\) denotes completely untrustworthy, 0 denotes moderate/acceptable trust, and +1 denotes completely trustworthy. In this paper, we consider only direct trust(observed by an immediate neighbor).

3 System Model

3.1 Assumptions

  1. (a)

    Nodes are deployed randomly ensuring all sensor nodes will be able to connect to at least one sink.

  2. (b)

    Sensors have limited energy, and initial energy is same for all.

  3. (c)

    Sinks have infinite energy and can communicate with the outer world.

  4. (d)

    Sensors will come to know its neighbor’s information based on the distance between the node using Euclidean distance.

  5. (e)

    All nodes have built-in capability to support iACK technique.

  6. (f)

    Trust of all nodes initialized to zero.

3.2 Network Model

The network is modeled as a graph G(VE), where V is the set of all sensor nodes say N and the base stations/sink nodes S, i.e., \(V={N \cup S}\). An edge \((u,v) \in E\) if and only if nodes u and v are within the communication range. Considering sensor (referring to source) say node v is not in the communication range to reach the sink. Then source will follow the multi-hop technique to reach the sink. With multi-hop technique, the source v will find multiple paths through each neighbor to reach the sink say \(P_1, P_2, ..., P_k\), where k is a positive integer and \(k \ge 1\). Among all possible paths, the source node will consider the shortest path (in a number of hops) say \(P_j\) where \(1 \le j \le k\) for minimal usage of energy due to energy constraint (discussed in Sect. 1) and the chosen path is referring as original path. Like this, a majority of the sources will have multiple paths to reach the sink.

3.3 Energy Model

An energy model on radio characteristics including energy dissipation in transmitting and receiving models to send a k-bit message to a distance d using the radio model is described in [8].

In our simulations, we assumed that

  1. 1.

    The radio channel is symmetric, i.e., the energy consumption to transmit the data from node A to node B is same as from node B to node A.

  2. 2.

    The nodes in the network would send the sensed data periodically to the sink [1].

3.4 Trust Model

We include trust model in CASS to measure reliability while extending the network lifetime by rerouting messages through other neighborhood paths. Considering the source, A has neighbors \(n_1, n_2, ... n_k\) where \(n_i\in V.\) Source node A has chosen shortest path routed through neighbor say \(n_2\) based on the number of hops. Assume the path is

$$P_1: A \rightarrow n_2 \rightarrow p_1 \rightarrow p_2 \rightarrow p_3 \rightarrow Sink$$

Before sending the data to \(n_2\), source A will check trust value of next hop (here it is \(n_2\)). If \(trust(n_2) \ge 0\) then a communication link will be established, and the data packet will transmit to \(n_2\). This process will be continued with other hop nodes to achieve reliability of the network. If any of the hop node trust value is less than zero, then the sender will look for the shortest path among all other possible neighborhood paths and update the path information in its routing table. This process continues until the sink receives the data packet.

By rerouting the data packet, we are avoiding congestion in the network, saving energy of all nodes which involved in forwarding the data and availing the residual energy of other nodes which participate less frequently in routing. By including trust model in CASS, we are achieving reliability of the network while extending the network lifetime. Of course, due to rerouting the packet, latency time has been increased with respect to an increased number of hops.

Network lifetime: As far as the node can send data and it is delivered to sink, we can consider that the network is alive to get/collect the sensed data. For our scenario, the total number of messages received by the sink is the suitable metric to define network lifetime.

Dropped messages: A dropped message is defined as the number of messages that could not be delivered to the sink in the occurrence of unreliable or untrustworthy nodes. Instead of dropping a message and retransmitting it, we are rerouting the packet through possible paths using other neighbors. This metric is used to measure the reliability of the network.

Untrusted node: A node \(S_j\) is called as untrusted node with respect to \(S_i\) where \(S_i\) and \(S_j\) are within the communication range, if the message transmitted by \(S_i\) is dropped by \(S_j\) due to some reasons then the \(trust(S_i,S_j)\) will gradually decrease and makes \(S_j\) as untrusted node with respect to \(S_i\).

Unreliable node: A node \(S_j\) is called an unreliable node, if the message transmitted by \(S_i\) is not forwarded or received by \(S_j\) due to unexpected reasons (energy depletion, buffer overflow due to small memory in size, heavy traffic at the channel) then the node \(S_j\) will be considered as an unreliable node.

4 Proposed Algorithms

Here, we are describing the method we experimented to achieve the reliability by incorporating trust model in the algorithm Cluster algorithm for sink selection—CASS. We are presenting the entire work in three modules. The first module explains about the initial setup of the network and the working of it using CASS [1].

figure a

CASS module explains the procedure to select the sink with the highest network reach to enhance the network lifetime while controlling the maintenance cost of multiple sinks and is explained in Algorithm 1. Finally, trust model is the module used to achieve the reliability of the network for message delivery by checking the trust value of each node before communication establishes and is detailed in Algorithm 2. CASS is the algorithm used to enhance the network lifetime using multiple sinks by keeping the maintenance cost under control by activating a single sink at a time (looks like a network with single sink all the time). CASS algorithm used to select the sink based on network reach. It is calculated with the help of clusters formed while constructing a tree considering sink as root and it is explained in Algorithm 1. Shift rate is the value used to know whether the sink shift is needed or not and is defined as a certain percentage of the network lost (after considerable dead nodes raised) and it does not gain the network in a certain amount of time then sink checks whether it meets the sink shift ratio or not. If shift sink network ration (reachable nodes/starting nodes) is not meeting the shift rate then continues to be active and receives the data messages otherwise CASS will be called to find the next active sink.

By using an iACK technique, we have not burdened the network with over traffic and by rerouting the data in the presence of unreliable or untrusted node, we avoided retransmitting the data packet. By doing this, we extended the lifetime of the sensor node. We calculated the message drop as one of the measures for reliability after including the trust model in CASS.

figure b

5 Experimental Setup and Results

The proposed model is simulated on MAT LAB by deploying all nodes randomly in 100 X 100 grid. The simulation starts with the assumption that all nodes in the network (sensors and sink) have trust value zero (moderate trust). Sinks nodes are trustworthy throughout the network lifetime. We experimented our approach on 40 data sets by increasing density of sensors along with increasing the number of sinks. The experimental simulation parameters are shown in Table 1.

We experimented with three types of data sets having 100 sensors-4 sinks, 200 sensors-6 sinks, and 300 sensors-8 sinks. The number of unreliability nodes is in the range of 5–25%. We experimented the trust model in CASS for reliability considering a different number of unreliable nodes. The reliability measures in terms of dropping messages after including the trust model to assure the reliability in the presence of unreliable nodes. Results have shown in “Figs. 1 and 2” varying the value of the unreliable node from 5 to 25%. Sensor nodes will act as unreliable only for 10% of the time in its lifetime and remaining 90% will act as reliable and implemented by generating a random number to define whether the node is acting as reliable or not. The trust value is changed depending on the number of data packets forwarded or not forwarded by the node. The trust value is changing with a value 0.0001.

Table 1 Input data information
Fig. 1
figure 1

Number of dropped messages in CASS model with 100 sensors

Fig. 2
figure 2

Number of dropped messages in CASS model with 200 and 300 sensors

Fig. 3
figure 3

Network lifetime comparison CASS Vs CASS—Reliable model with 100 sensors varying unreliable nodes

Fig. 4
figure 4

Network lifetime comparison CASS Vs CASS—Reliable model with 200 and 300 sensors varying unreliable nodes

From the “Figs. 1 and 2” as expected the number of dropped messages are increasing with respect to increasing unreliable nodes. Instead of retransmitting the entire packet we rerouted the data packet from an untrusted node or an unreliable node. By doing this, we extended the network lifetime by rerouting the messages through other neighbors. By doing this, the network lifetime increased by few more messages by availing the residual energy of those nodes which are not involved in routing frequently.

We compared the network lifetime of CASS (assuming that all nodes are reliable and data sent by the source will be received by the sink for sure) with CASS-Reliable model and results are shown in “Figs. 3 and 4”. Here, we can notice that even with the increased number of unreliable nodes, the sink can receive an almost same number of messages as we used alternate neighborhood path to deliver a packet.

6 Conclusion

This paper describes how best we can achieve the reliability with iACK technique and taking advantage of broadcasting nature of sensor nodes to deliver the packet with reliability without retransmitting the data. It is achieved by rerouting the data packet through other shortest neighborhood path which ensures the reliability of the defined trust model. By doing this, we can use the residual energy of other nodes to act as relay nodes in delivering the data packet. When we experimented the model on a different data set with increased sensor node density and number of sinks, it has shown considerable improvement in delivering the message in the presence of unreliable nodes. The rerouting mechanism also helped to avoid congestion and collision in the network by avoiding retransmission of packets.