1 Introduction

Wireless sensor networks have been a much happening research area in recent years due to their wide range of civilian and military applications, including security surveillance (e.g., to alert of terrorist threats), environmental monitoring, habitat monitoring, hazard and disaster monitoring and relief operations, health care and home applications (e.g., smart environments) and many more [1, 27]. Monitoring hostile environments and maintaining the communication link between the sensor and the sink is a difficult task. Mobility of sensor node can be used effectively in the applications requiring periodic patrolling of certain set of locations, instead of continuous traditional full network area monitoring.

Coverage in WSNs refers to how adequately the field is monitored by the sensors for detecting the targets. Different applications require varying degree of coverage i.e. security and surveillance applications need high degree of coverage as against habitat monitoring application [13]. Degree of coverage can vary dynamically on realisation of an event eg perimeter security will require more coverage after occurrence of a event in certain part of field. A high degree of coverage makes the network more reliable for monitoring. Based on the application of WSN, the coverage required may be Blanket coverage, Barrier coverage or Sweep coverage. Blanket coverage aims at covering the whole area. Sensors are deployed to maximize the covered area. The barrier coverage problem aims at minimizing the probability of not detecting an intrusion on a given area. A dense deployment of sensors is done to detect each event. Sweep coverage aims at monitoring specific target locations in the WSN field by moving the sensor nodes [12]. A connected network is the one in which all the nodes are reachable from each other in single or multi-hop communication. A efficient and robust network should have a high connectivity. A sensor deployment strategy should have dual aim of optimising the coverage and globally connected network [13]

Covering point of interests (PoI) while maintaining the connectivity all along the deployment using mobile sensors requires the sensor placement to be dynamic. The work proposed in [6] does not consider maintaining the connectivity with sink during sensor placement. Erdelj et al. [11] have proposed a relative network graph (RNG) based scheme for covering PoI that maintains the connectivity all along the deployment, but maintains minimal number of sensor nodes along the path from PoI to the sink. The schemes performance is limited due to failure of communication link due to lossy links, node failure etc. Such failures cause path breakages and do not deliver the data to the sink. The aim of this work is to offer robust data delivery mechanism under lossy network conditions while maintaining the connectivity, all along the deployment.

The paper is organised as: Sect. 2 briefly presents the related work. Network model and deployment algorithm is discussed in Sect. 3. Section 4 presents the data forwarding scheme. Simulation parameters, network scenarios and results are discussed in Sect. 5 followed by conclusion.

2 Related Work

In this section, we have discussed the review papers related to coverage, connectivity and routing in WSN. Coverage in WSN can be divided based on path exposure and sensor deployment strategy. The papers [13, 24, 36, 39] and [41] present the surveys of strategies for sensor placement and movement in WSNs. The authors [28, 29, 33] present work related to coverage based on path exposure. The papers [5, 9, 16,17,18, 30, 34, 35, 42,43,44] have proposed sensor deployment based coverage strategies. Various articles [5, 9, 34] and [30] have presented strategies for static nodes.

The literature studied is presented in three categories viz. sensor deployment, PoI coverage and routing. Poduri and Sukhatme [30] have proposed a potential field algorithm in which a sensor node movement are controlled by Fcover and Fdegree.The concept of potential field theory for mobile robots was first proposed by Khatib et al. [22]. Fcover causes the nodes to repel each other to increase the coverage. Fdegree puts a constraint on the degree of the sensor nodes which prevents the nodes from being disconnected. The coverage is maximised by keeping a node connected to atleast k neighbours. But the scheme does not ensure a global network connectivity during deployment. Sensor deployment using virtual force algorithm have been proposed in [2, 42, 44]. The attractive forces are exerted by preferential coverage areas and repulsive forces are exerted by obstacles and neighbour sensor nodes. The net force on the sensor is computed as vector sum of attractive and repulsive forces which facilitates the sensor movement at each step. Distributed self-spreading algorithm (DSSA) [16] is similar to concept of virtual forces. The node movement are stopped when a node moves an infinitely small distance over a period of time or when it moves back and forth between two same locations. Wang et al. [35] propose vector-based algorithm (VEC), Voronoi-based algorithm (VOR) and mini-max algorithm based on voronoi diagrams for locating coverage holes. In VEC sensor node movement is constrained by increase in local coverage. A sensor node undergoes repulsive forces from other nodes and voronoi region boundary, so that they move to sparsely covered region. VOR is a greedy algorithm that pulls sensors toward their local maximum coverage holes. The maximum movement is at most half the communication range.Howard et al. [17, 18] presented an incremental and greedy self-deployment algorithm for mobile sensor networks, which ensures maximum coverage and connectivity with atleast another node. The movement is grid-based and cells are marked to be occupied or free. Deployment algorithm depending on certain policies, deploys the sensors by moving them to free cells In this algorithm the sensor node moves towards a optimal deployment location based on information gathered from previously deployed sensors.

The above literature aims at sensor deployment but are not specific towards PoI coverage. Li et al. [25] present an approach for periodically monitoring the PoI using a distributed sweep coverage algorithm. The authors do not consider connectivity along the deployment. Erdelj et al. [11] have proposed a Relative Network Graph (RNG) based scheme for covering PoI that maintains the connectivity all along the deployment. The scheme maintains minimal number of sensor nodes along the path from PoI to the sink due to straight-line deployment with hops placed at distance equal to transmission range. But it is well known that the spanning ratios of both RNG and Gabriel Graph (GG) are not bounded by any constant [3]. The RNG-based scheme presented has minimal number of nodes along the communication path makes the network sparser and increases the spanning ratio. Therefore RNG is not ideal for routing in field deployed WSNs as path breakages occur due to node failure, field conditions, lossy communication links, intermittent connectivity etc. Path breakages decrease the packet reception efficiency, increase in delay and overheads. Also the authors have not measured the performance of the scheme under unreliable network conditions. Xi et al. [38] analyse the relationship among information access delay, information access probability, and the number of required mobile nodes for covering the PoI. The paper presents a distributed algorithm based on a virtual 3D map of local gradient information to guide the movement of mobile nodes to achieve sweep coverage of dynamic POIs.

Li et al. [23] present a localized networking protocol that constructs a localized Delaunay triangulation, which is planar 2.5-spanner of Unit Disk Graph, as network topology which is connected if the underlying network is connected. The complexity of constructing the topology is \(O(n \log n)\) and also reduces the path length compared to topologies based on other proximity graphs like RNG and GG. Xuefi et al. [40] have presented an Energy Efficient Opportunistic Routing (EEOR) strategy. EEOR has more overheads and duplicate packet transmission. Liu and Wu [26] have proposed the optimal opportunistic forwarding (OOF) protocol and a simplification, the OOF− protocol, which make optimal forwarding decisions by modelling each message forwarding as an optimal stopping rule problem. The limitations are that OOF is not suitable for time critical applications and is space as well as computationally intensive. Karyakarte et al. [19] have designed and implemented a Connectivity based Cross-layer Opportunistic Forwarding (CCOF) protocol for MWSNs using Fiedler’s value and prioritized forwarder list. A forwarding agreement is implemented among the relay nodes in forwarder list to minimize duplicate transmissions. The protocol is investigated for MWSNs and it would be interesting to investigate the performance of CCOF for PoI coverage.

Fig. 1
figure 1

Illustration deployment presented by Erdelj et al. [11]

From the above investigations, it can be observed that sensor node deployment and coverage, though separate issues, influence each other. The investigations reveal that RNG based topology is not a feasible topology design for PoI coverage as spanning ratio of RNG is not bounded by a constant. Also RNG are sparse graphs. The Fig. 1 shows sensor deployment between the sink s and PoI P according to the RNG-based deployment presented in Erdelj et al. [11]. The PoI P is at 100 m distance from sink s and node has transmission range \(R_{c}=80\,\hbox {m}\). The strategy discussed in [11] places minimal hops exactly \(R_{c}\) distance apart along the path starting from sink towards PoI. This deployment severely affects the performance of network due to sparseness in the connectivity along the path. The paper presents a solution for connectivity constrained PoI coverage using dynamic node deployment which offers a robust path from PoI to sink. Our solution uses planar localised Delaunay triangulation (PLDT) for maintaining the connectivity with subset of nodes along the deployment. This approach is based on virtual force algorithm proposed in [2]. PLDT is more dense graph compared to RNG. This makes the network topology to be more strongly connected than in RNG but increases the path length from PoI to sink. Wireless Broadcast Advantage (WBA) [37] is useful for selecting a node v which is not PLDT neighbour but within the transmission range of node u towards the sink. Further to enhance the benefits of WBA, the paper presents an algorithm Cross-layer Opportunistic Robust Routing Protocol (CORRP) to optimise path length from PoI to sink over PLDT-based topology network. CORRP selects next-hop located at an optimal distance towards the sink rather than among PLDT neighbours. PLDT neighbours are used for route recovery by CORRP in absence of next hop at an optimal distance. Our scheme is designed to have adequate coverage of PoI while maintaining the robust connectivity to have guaranteed packet reception at sink. The simulation results obtained are compared with RNG-based deployment [11] for performance comparison.

3 Deployment of Sensor Nodes

The considered network is homogeneous multi-hop MWSN. Each sensor node has communication range \(R_{c}\) and sensing range \(R_{s}\) such that \(R_{c} \ge R_{s}\). The sink is fixed at a location and all other nodes are mobile. The network is modelled as a Graph \(G=(V,E)\), where V is set of vertices and E is set of edges. Each vertex corresponds to sensor node and edges are the communication link between the two sensor nodes u and v such that the Euclidean distance \(\vert uv \vert \le R_{c}\). So E is subset of \(V \times V\). Let \(N_{1}(u)\) represent the set of neighbours that are one-hop away from node u. Initially all the sensor nodes are deployed as fully connected mesh network around the sink. It is assumed that sink knows its position as well as position of PoI. The mobile sensor deployment strategy has to ensure adequate coverage and maintain connectivity, while deploying the sensor in such dynamic requirements. Each mobile sensor knows its position in the WSN field. After the initial deployment, the position of PoI is broadcast by the sink. First order radio model [14] is used for measuring the energy consumption.

Planar localised Delaunay triangulation (PLDT) constructed from Delaunay Triangulation is used to maintain connectivity all along the node deployment. The nodes move between the sink s and PoI P along the virtual straight line segment of width \(l_{o}\) A triangulation of G is Delaunay triangulation DT(G), if for each edge e belongs to DT(G) there exists a circle C such that the endpoints of edge e are on the boundary of the circle and no other vertex of G is in interior of C [8]. Simply DT(G) is a triangle if its circumcircle does not contain any vertex of G. Dobkin et al. [10] initially stated that DT(G) is the planar t-spanner of the completed Euclidean graph \(K(V,E^{comp})\) of graph G, with upper bound on t approximately 5.08. Kevin and Gutwin [20, 21] stated the upper bound on t to be 2.42. Chew [7] proved the lower bound on t as \(\pi / 2\). Delaunay triangulation may contain edges that are longer than \(R_{c}\), which is not suitable for data forwarding in WSNs. Also constructing the delaunay triangulation in distributed manner has large amount of overheads. But localised Delaunay triangulation (LDT) is suitable for data forwarding in WSNs as each node only has to convey its availability to the neighbourhood nodes. We construct the LDT using the algorithm given in [23]. LDT is a t-spanner of the completed Euclidean graph \(K(V,E^{comp})\), but not planar. Subsequently we construct a Planar Localised Delaunay Triangulation graph (PLDT) which is 2.5 t-spanner of the completed Euclidean graph \(K(V,E^{comp})\). The Euclidean Minimum Spanning Tree (EMST) is minimal connected graph of G with same number of nodes Also \(EMST \subseteq RNG \subseteq GG \subseteq DT\), so DT guarantees to preserve the connectivity of network. In case of RNG the spanning ratio is not bounded by a constant value and thus such routing scheme will have higher overheads.

The PoI coverage is attained using sensor node deployment while maintaining the connectivity. The Fig. 2 shows algorithm for sensor node deployment. PoI coverage is achieved by moving sensors so that PoI is within the sensing range \(R_{s}\) of atleast one sensor. The connectivity is preserved all along the deployment. We use the deployment algorithm very similar to proposed by Erdelj et al. [11] illustrated in Fig. 1. The deployment approach implemented uses PLDT as against the RNG in [11]. PLDT is more dense and thus provides robustness in the connectivity compared to RNG. The dense nature of PLDT maintains alternative communication paths whereas the later maintains only a single communication path.

Fig. 2
figure 2

Algorithm for node deployment

Fig. 3
figure 3

Illustration of initial deployment around sink S

Fig. 4
figure 4

Illustration of node movement towards PoI P

Let \(N^{PLDT}_{1}(u)\) be the neighbourhood nodes of u in PLDT and \(l^{far}(u)\) and \(l^{near}(u)\) be the distance of farthest and nearest sensor node from u in \(N^{PLDT}_{1}(u)\).The step 2 in the algorithm determines the movement direction and step 3 controls the distance travelled by node using the upper bound on \(l = (R_{c } - l^{far}(u)) / 2\). The working of algorithm shown in Fig. 2 is illustrated using Figs. 3 and 4.

  1. 1.

    Figure 3 shows the initial deployment around the sink S.

  2. 2.

    The distance between PoI P and sink S is is assumed for the purpose of explanation as 200 m and transmission range of each node as 80 m.

  3. 3.

    The dotted circle is transmission range of sink S and bold circle is transmission range of node \(v_{1}\).

The node \(v_{1}\) executes the algorithm shown in Fig. 2. For simplicity it is assumed that node \(V_{1}\) is located along the virtual straight line between sink S and P. Therefore the direction angle \(\theta\) is 0. From Fig. 3

  1. 1.

    Node \(v_{7}\) is the farthest node of \(v_{1}\) with distance \(l^{far}(u)= 38\,\hbox {m}\).

  2. 2.

    The movement distance covered by node \(v_{1}\) is \(l = (R_{c } - l^{far}(u)) / 2 = (80-38)/2 = 21\,\hbox {m}\).

  3. 3.

    The node \(v_{1}\) moves 21 m distance and stops which is shown in Fig. 4. The dotted and bold circle has the same meaning as explained earlier.

The upper bound on \(l = (R_{c } - l^{far}(u)) / 2\) ensures that connectivity is maintained all along the deployment. The constant \(k_{1}\) determines the minimum distance a sensor should travel to avoid infinite number of small distance movements. Constant \(k_{2}\) is the distance measured from PoI. If the node is at a distance less than \(k_{2}\) away from PoI than it is sufficiently closer to PoI so as to cover it. The sensor node repeats the algorithm till PoI is reached or it is on the verge of losing connectivity. Thus the node movement stops in finite time from the start of deployment.

4 Cross-Layer Opportunistic Forwarding

Planar localised Delaunay triangulation (PLDT) is computed locally and also maintains the connectivity all along the deployment. But PLDT increases the path length from PoI towards the sink as planar sub-graph ends up in finding a local minimum. The Fig. 5 shows the illustration. Let sensor node u want to send the data to the sink s such that \(\vert us \vert > R_{c}\).The sensor nodes \(v_{1}, v_{2}\) are PLDT neighbours of u i.e. \(N^{PLDT}_{1}(u) = \{v_{1}, v_{2}\}\). The sensor nodes \(v_{3} \ldots\,v_{9}\) are in the communication range of u i.e. they can hear the packet from u sent to nodes in \(N^{PLDT}_{1}(u)\) due to WBA. The node \(v_{9}\) is the most ideal hop as it farthest from u towards sink s and also close to the virtual straight line between node u and sink s. But node u cannot forward the packet to node \(v_{9}\) as \(v_{9} \notin N_{1}^{PLDT}\). The authors [31] have also tried to overcome local minimum drawback by constructing a constrained planarized Delaunay triangulation (CDT). Constructing CDT requires two-hop information of sensor node u and also the method is highly computationally intensive. In order to overcome local minimum with less computational overheads, a reliable data forwarding scheme based on RTS–CTS handshake for selecting next hop node so as to forward the data in optimal number of hops has been designed and implemented. The energy consumption for RTS node will be minimal as the energy consumption for sleep state and receive state is in the ratio 1:1.05 [32].

Fig. 5
figure 5

Using Delaunay triangulation node u uses nodes \(v_{1},v_{2}\) as hops for data forwarding

The first order radio model [14] is used for measuring energy consumption. The energy required for transmitting m-bits of data over the distance l is

$$\begin{aligned} E_{t} (l) = E_{elec} \times m + \varepsilon _{amp} \times l^{k} \times m \end{aligned}$$
(1)

and energy required for receiving m-bits is

$$\begin{aligned} E_{r}(l) = E_{elec} \times m \end{aligned}$$
(2)

where \(E_{elec}\) is the energy spent by transmitter and receiver electronic circuit for one bit, \(\varepsilon _{amp}\) is energy spent by amplifier circuit and \(k (k \ge 2)\) is the path loss exponent. Using Eqs. (1) and (2), energy consumed by a node for forwarding m-bits data is

$$\begin{aligned} E_{f} (l) = 2 \times E_{elec} \times m + \varepsilon _{amp} \times l^{k} \times m \end{aligned}$$
(3)

Following equation holds

$$\begin{aligned} l \le \root k \of {\frac{2 \times E_{ele}}{\varepsilon _{amp} \times ( 1 - 2 ^{(1 - k)} )}} \end{aligned}$$
(4)

If l does not satisfy the above inequality then multi-hop transmission is required. The total energy E(l) to deliver the packet between u and v is minimised if there are optimal number of hops \(\lceil l / l_{o} \rceil\) where

$$\begin{aligned} l_{o} = \root k \of {\frac{2 \times E_{elec}}{\varepsilon _{amp}^{(k - 1)}}} \end{aligned}$$
(5)

where \(l_{o}\) is constant optimal distance at which next hop should be available to minimise the E(l). Practically it will be difficult to have the next hop to be present at optimal distance \(l_{o}\), so we define next hop discovery region \(H_{u}\) around the location \(h_{u_{o}}\) for node u with radius as \(l_{o}/2\), where \(h_{u_{o}}\) is the theoretical location of next hop along the straight line from node u to sink s. The Fig. 6 shows the selection of next hop along the path from PoI P to sink s. There will be more number of nodes surrounding the PoI P, but for simplicity only one single node u is shown in the Fig. 6. The distance \(\vert us \vert = 100\,\hbox {m}\), \(\vert uD \vert = R_{c}\) and \(\vert uh_{u_{o}} \vert = l_{o}\). The point \(h_{u_{o}}\) is the theoretical next hop position.

The location of \(h_{u_{o}}\) can be obtained using

$$\begin{aligned} x_{u_{o}} = x_{u} \frac{l_{o}}{\vert us \vert } \times (x_{u}-x_{s}) \end{aligned}$$
(6)
$$\begin{aligned} y_{u_{o}} = y_{u} \frac{l_{o}}{\vert us \vert } \times (y_{u}-y_{s}) \end{aligned}$$
(7)

When any sensor node u has a packet to transmit, it sends a RTS containing \((x_{u}, y_{u})\), \((x_{u_{o}}, y_{u_{o}})\) and \(l_{o}\). Every sensor node v that hears RTS message checks whether its location is within the next-hop discovery region of u denoted by \(H_{u}\). if node \(v \notin H_{u}\) then it rejects the RTS otherwise generates CTS for u which is transmitted with a back-off time \(\delta _{0}\). When u receives CTS, it updates its next hop node fwd(u) to v, if fwd(u) is null or \(\vert vh_{u_{o}} \vert < \vert fwd(u)h_{u_{o}} \vert\). The \(\delta _{0}\) ensures that only one node in \(H_{u}\) which is close to \(h_{u_{o}}\) will send CTS to u.

Fig. 6
figure 6

Selecting next hop from next hop discovery region \(H_{u}\)

Fig. 7
figure 7

Division of next-hop discovery region

The back-off time \(\delta _{0}\) is implemented to minimize the CTS to one. The next hop discovery region \(H_{u}\) is divided into concentric rings \(C_{1},C_{2},\ldots ,C_{n}\) as shown in the Fig. 7. The difference between the area of two consecutive rings is constant equal to area of the innermost ring. The radius \(r_{1}\) of \(C_{1}\) is \(\frac{l_{o}}{2 \times sqrt (n)}\) where n is the number of rings. For any node \(v \in C_{j}\), its distance from \(h_{u_{o}}\) in Fig. 7 is

$$\begin{aligned} \sqrt{j- 1} \times r_{1} \le \vert v h_{u_{o}} \vert < \sqrt{j} \times r_{1} \end{aligned}$$

So node \(v \in H_{u}\) must reside in \(C_{k}\) where

$$\begin{aligned} k = \left\lfloor \left( \frac{\sqrt{n} \times \vert v h_{u_{o}} \vert }{(l_{o}/2)} \right) ^{2} \right\rfloor + 1 \end{aligned}$$

The back-off delay \(\delta _{0}\) plays a similar role proposed in [15] and is calculated as

$$\begin{aligned} \delta _{0} = \alpha \left[ r_{1} \left( 2 \sum _{j=1}^{k} \sqrt{j} -\sqrt{k} -1 \right) + \left( \vert v h_{u_{o}} \vert - \sqrt{k-1} \times r_{1}\right) \right] \end{aligned}$$
(8)

where \(\alpha\) is the propagation delay.

The \(\delta _{0}\) ensures that a node v, which is closer to \(h_{u_{o}}\) will respond to RTS and other nodes in \(H_{u}\) whose distance from \(h_{u_{o}}\) greater than \(\vert v h_{u_{o}} \vert\) will overhear the CTS message from v and inhibit their CTS messages. Every sensor node u maintains a time \(T_{hop}\). If no CTS is received before the expiry of \(T_{hop}\), then CORRP undergoes recovery mode. Route recovery is required if the nodes in next hop discovery region \(H_{u}\) fail or if \(H_{u}\) is empty as in Fig. 8. At this stage nodes in \(N_{1}^{PLDT}(u)\) contend for being next hop. A node \(w \in N_{1}^{PLDT}(u)\) responds by sending CTS after expiry of \(T_{hop}\) with a delay calculated using Eq. 9 for route recovery if a node in \(H_{u}\) fails or the region is empty.

$$\begin{aligned} \delta _{1}= T_{hop} + \alpha \left( \frac{1}{\vert uw \vert cos \theta } + \vert uw \vert sin \theta \right) \end{aligned}$$
(9)

where \(\theta\) is the angle made by node u with node w and s.

Fig. 8
figure 8

Empty next-hop discovery region

The Fig. 8 illustrates empty \(H_{u}\) for node u. The node u finds next hop node w from \(N_{1}^{PLDT}(u)\) as per the Eq. 9. From the Fig. 8, \(N^{1}_{PLDT}(u) = \{ v_{1}, v_{3},v_{4}\}\) node \(v_{1}, v_{3}\)and \(v_{4}\) have the \(\angle wus\) in between \(\frac{-\pi }{2} \le \angle wus \le \frac{\pi }{2}\) where \(w \in N_{1}^{PLDT}(u)\). Node u selects \(v_{3}\) as the next-hop relay node as the \(\angle v_{3}us\) is smallest among all the contending nodes. The strategy to select the nodes from \(N_{1}^{PLDT}(u)\) helps to recover the algorithm if it cannot find the node in the region \(H_{u}\).

5 Simulation Parameters and Result Analysis

We have implemented the simulations using network simulator 2 (ns2). Simulation area considered is \(500\,\hbox {m} \times 500\,\hbox {m}\) region containing one static PoI located at (500, 500). The sink is located at the centre of the region. The simulation setup consists of 100 sensor nodes, initially randomly deployed around the sink such that each one is directly connected with the sink. The communication range of each sensor node is \(80\,\hbox {m}\) and sensing range 20 m. The sensors compute new direction after moving for period of 5 s. Ideally in step of 5 s a sensor can move a distance equal to its communication range with a maximum speed of \(v = 80/5 = 16\,\hbox {m/s}\). But as the sensor movement is constrained to keep the connectivity the maximum speed is limited to \(v=16/2=8\,\hbox {m/s}\). The sensor nodes in the sensing range of the PoI are selected as source nodes while remaining nodes play the role of relaying the data to sink. The energy for receiving or transmitting 1 bit of data is 50nJ / bit and amplifier circuitry \(10\,\hbox {pJ/bit/m}^{2}\). The RTS and CTS messages are of 20 bytes each. The radius of next-hop discovery region is 16 m and is divided into 8 concentric rings. The propagation delay \(\alpha = 1\,\upmu \hbox {s}\) and \(T_{hop} = 40\,\hbox {ms}\). The packet size is 128 bytes. The simulation time is set to 200 s after the node movement stops. The results discussed are average of 15 independent simulation runs.In this paper our focus is towards performance of PoI coverage using the proposed CORRP. The results obtained are compared with RNG based PoI coverage [11]. Three scenarios, first with ideal network conditions, the unreliable network conditions with finite node sleeping probability and lastly network with lossy links are considered for performance evaluation.

Fig. 9
figure 9

Sensor coverage w.r.t. distance

Fig. 10
figure 10

Number of hops w.r.t. distance

5.1 Scenario I: Ideal Network Conditions

In this scenario, network conditions are assumed to be ideal with zero packet loss and no network failures. PoI coverage is evaluated with respect to (1) distance and (2) time. In the first case we estimate the number of sensors that will cover the PoI and number of hops required with respect to varying distance. For this we place the PoI at distance in the range \(100\,\hbox {m} \ldots 800\,\hbox {m}\) away from the sink. Figure 9 shows that the number of sensor covering the PoI decrease with increase in distance for both PLDT and RNG. Due to simple straight-line based deployment with hops placed at distance of communication range, RNG has more number of sensors for PoI coverage compared to PLDT based deployment. The number of hops required in PLDT are more compared to RNG as seen from Fig. 10. RNG has less number of hops as sensor nodes along the path are placed \(R_{c}\) distance apart whereas in CORRP, each node u selects the next hop along the path among the nodes present in \(H_{u}\) located at distance \(l_{o}\) towards the direction of sink. More number of hops in CORRP compared to RNG will increase the end to end delay, but offers robust connectivity as against simple straight line connectivity in RNG. Failure of a node along the path in RNG will disturb the communication till the node becomes functional again. In CORRP, communication path will not be affected as such failures will lead to selection another node in \(H_{u}\) as hop. The upper bound on number of hops as \(\frac{l}{l_{o} - r_{1}} + 1\) and lower bound as \(\frac{l}{l_{o} + r_{1}} - 1\). The number of hops required by CORRP lies in between the two bounds.

Fig. 11
figure 11

Sensor coverage w.r.t time

In the second case PoI coverage with respect to time is evaluated. A single static PoI is present at location (500, 500) i.e. at top right corner of the simulation region. The distance of PoI from the sink located at (250, 250) is 353.5 m. The Fig. 11 shows the performance for PoI coverage by sensors versus time. The first sensor covers the PoI at 70 s as against 60 s required by RNG. PLDT is comparatively slower compared to RNG, as PLDT is more constrained than RNG. Given the same number of sensor nodes in a network, the number of sensors covering the PoI are marginally less using PLDT as it requires more number of nodes as hops along the path to maintain the connectivity as against the straight-line deployment in RNG. From Fig. 11 it can be observed that the first sensor covers the PoI at 60 and 70 s in RNG and CORRP respectively.

Fig. 12
figure 12

Energy consumption w.r.t node sleeping probability

Fig. 13
figure 13

Packet reception w.r.t. node sleeping probability

Even-though in ideal network conditions RNG appears to give marginally better performance, in practical systems where sensor nodes exhibit finite sleeping probability and unreliable network conditions with lossy links, the proposed protocol CORRP gives improved packet reception and energy performance. This is verified based on simulations included in Scenario II and III.

5.2 Scenario II: Unreliable Network with Varying Node Sleeping Probability

In this scenario we evaluate the performance for energy consumption and packet delivery under unreliable network conditions due to sleep mode of sensor nodes. The sleep mode of each node is independent of each other and is asynchronous. The energy consumption for node sleeping probability increases with increase in node sleeping probability for our scheme as well as RNG as shown in the Fig. 12. This is because of more number of nodes are inactive which increases the overheads for data transmission. The energy consumption for CORRP is 40–10% less than RNG for increasing values of node sleeping probability. CORRP avoids retransmissions of data packets because of available alternate nodes which will respond to RTS message as well as forwards the data packets. But in RNG, if the next hop node is in sleep mode than packet forwarded will be lost requiring retransmission. Also in RNG absence of handshaking between the subsequent forwarding nodes increases the number of retransmissions of data packets. Figure 13 shows the packet reception w.r.t. node sleeping probability. In general packet reception decreases with increase in node sleeping probability for our scheme as well as for RNG due to more number of nodes being in sleep state increase the packet loss. Our scheme shows a performance improvement of approximately 12% compared to RNG for highest value of node sleeping probability. As sleep mode of nodes being asynchronous and independent, PLDT is likely to have atleast one node in next hop discovery region or \(N_{1}^{PLDT}\) to be in the active mode which will receive the packets for forwarding to the sink.

5.3 Scenario III: Unreliable Network with Lossy Links

In the scenario III, we simulate the unreliable network with lossy links. The lossy links are modelled as using the Eq. 10 [3]

$$\begin{aligned} PRR(l) = \left\{ \begin{array}{ll} 1, &{}\quad \hbox { if } l< L_{1} \\ \left[ \frac{L_{2}-l}{L_{2}-L_{1}}+ X \right] _{0}^{1}, &{}\quad \hbox { if } L_{1} \le l < L_{2} \\ 0, &{}\quad \hbox { if } l \ge L_{2} \end{array}\right. \end{aligned}$$
(10)

where \(X\,N(0,\sigma )\) is Gaussian variable with variance \(\sigma ^{2}\). If the distance between the two nodes is less than \(L_{1}\) then the nodes are fully connected. If the distance between the two nodes is between \(L_{1}\) and \(L_{2}\) than expected packet reception decreases with increase in the distance. In our simulation we have set \(L_{2} =R_{c}\), \(L_{1} = 20\,\hbox {m}\) and \(\sigma =0.3\). The Fig. 14 shows comparison of the performance of CORRP and RNG, evaluated for data forwarding along the lossy links.The RNG consumes approximately 40–45% more energy for data transmission compared to CORRP as each node in RNG chooses the next-hop at \(R_{c}\) distance away due to straight line deployment. The longer hop-distance means more power required for data transmission increasing the energy consumption. As against this CORRP uses short distance communication links with optimal number of hops, which reduces the energy consumption.

Fig. 14
figure 14

Energy consumption for data transmission w.r.t. link estimation

6 Conclusion

In this paper, a PLDT based algorithm for covering PoI while maintaining connectivity all along the deployment has been presented. The algorithm works using local information at each sensor node and does not require node synchronisation. PLDT based deployment is more robust compared to RNG based straight line deployment. RTS–CTS based CORRP algorithm is designed and implemented for forwarding data with optimal hop count. The performance of CORRP is evaluated for PoI coverage with respect to time and distance. The upper and lower bounds on hop count assuming no packet loss and network failure conditions are estimated. Further the performance evaluation of CORRP is done for unreliable networks with varying node sleeping probability. Simulation results show that CORRP consumes less energy in the range 40–10% and offers better packet reception approximately 12% compared to RNG under unreliable communication. Thus even though in ideal network conditions RNG appears to give marginally better performance, in practical field conditions PLDT based deployment and forwarding with CORRP exhibits improvement for energy consumption, packet reception and also ensures robustness. The future directions for this work could be covering multiple static and moving PoIs. Other interesting enhancements can be applying energy conserving schemes like data aggregation to reduce energy consumption in both homogeneous and heterogeneous networks.