Keywords

1 Introduction

Wireless sensor network (WSN) is composed of a large number of sensor nodes. Because of its low production cost, less occupied area, good computing and communication capabilities [1], it is widely used in military reconnaissance, smart home [2], oil resource detection [3], smart city [4], and hospital health management [5]. Traditional wireless sensor networks use non renewable resources such as dry batteries to provide power. If the dead nodes in the network reach a certain proportion, the network will not work normally [6]. If the dry battery is replaced manually, it will not only increase the maintenance cost, but also bring hidden danger to the safety of the staff. Therefore, it is very important to reduce the cost of battery maintenance in the later stage of wireless sensor network by using new technology. In order to solve the above problems, energy harvesting wireless sensor network (EH-WSN) has been gradually studied and popularized [7].

EH-WSN uses the energy harvesting equipment carried by the node to harvest the energy in the environment (such as solar energy, wind energy, tidal energy, radio frequency energy, etc.). For EH-WSN with solar charging, in winter or cloudy day, due to the limited illumination time and weak illumination intensity, the energy harvested by the node is also limited. When the harvested energy is lower than the energy consumed by the node or at night, the sensor can only use the limited energy stored in its capacitor to maintain operation. Therefore, how to prolong the lifetime of EH-WSN is an urgent problem under the condition of limited energy harvesting. In order to make rational use of the harvested energy and prolong the network lifetime, this paper proposes a sleep scheduling algorithm based on virtual grid.

The main contributions of our work are as follows:

  • The SGLE algorithm puts forward the judgment criterion of redundant nodes. By dividing the network area into grids, it judges whether it is a redundant node according to the ratio of nodes covering the grid.

  • We compare the sleep priority of the nodes that meet the sleep conditions with the neighbor nodes to avoid coverage blind areas.

  • The SGLE algorithm achieves better performance in terms of node survival rate, node mortality rate, network coverage rate, and working node ratio.

The rest of this paper is organized as follows: In Sect. 2, we give the related work. In Sect. 3, we describe our proposed Sleep scheduling algorithm in EH-WSN and the simulation results are presented in Sect. 4. Finally, Sect. 5 concludes our work.

2 Related Work

At present, the main research purpose of EH-WSN is to effectively manage the energy harvested and consumed by nodes under the premise of ensuring the quality of network service, so as to prolong the life of the network and improve the data transmission rate. Tian He et al. combined the dynamics of energy with the low duty cycle working mode of nodes and proposed a distributed solution [8]. On the basis of ensuring that the fixed E2E (End to End) delay upper bound is not destroyed, this method optimizes energy consumption in order to prolong the network lifetime. S. Peng et al. proposed ENDD (Query Driven Energy Neutral Directed Diffusion) routing protocol [9]. In this protocol, the node decides whether to pass the routing request by its current data harvesting ability; the document also designs an energy evaluation model to improve the reliability and accuracy of the admission control process.

In terms of energy scheduling, L. Sherly Puspha Annabel et al. proposed the asynchronous node wake-up scheduling protocol HMAC [10]. The protocol consists of a wake-up scheduling phase and an energy management phase. In the wake-up scheduling phase, the network first analyzes the number of data packets in the current cache queue, and then adjusts the wake-up mode; In the energy management phase, the data transmission mode of the node is selected according to the QR value generated in the previous, so as to reduce the energy consumption.

In the aspect of node reliability of EH-WSN, Z. A. Eu et al. built an experimental network and verified the reliability of the network [11]. At the same time, Z. A. Eu et al. also proposed a single-hop MAC protocol and probabilistic polling mechanism for data transmission. In this protocol, the node uses its maximum power to send data to other nodes. Because the location of other nodes is uncertain, the packet loss rate of this protocol is relatively high. Zhu J et al. proposed a reliable model of Markov wireless sensor network on the basis of integrating the data acquisition rate between nodes and the connectivity between nodes [12]. Zonouz A et al. established the reliability model of the EH-WSN node and the reliability model of the link on the basis of integrating the number of neighbor nodes, the remaining energy of the node, and environmental interference [13].

When the energy harvested by the EH-WSN is insufficient, the node sleep scheduling method can effectively prolong the lifetime of the network. There are three sleep scheduling algorithms for wireless sensor networks: (1) Sleep scheduling algorithm based on distance clustering [14,15,16,17]. In these algorithms, sensor nodes are clustered first. The active nodes in the cluster are responsible for harvesting the information in the sensing region and sending the processed information to the cluster head node; The cluster head node further fuses the received data and sends the data to the aggregation node. The LEACH (low energy adaptive clustering hierarchy) protocol proposed by heinzelman et al. In 2002 is the basis of many sleep scheduling algorithms since then [14]. The protocol runs in rounds, and sets threshold function to conduct cluster head random election. In each round, some nodes in the cluster can enter the dormancy state. After the next round, the cluster head replacement election and cluster division will be carried out. Yong Ding and others proposed a CPA partition algorithm based on grouping principle [15]. CPA algorithm consists of two phases: grouping and scheduling, After the node broadcast. In the process of grouping CPA algorithm, the communication between nodes is considered, so CPA algorithm can ensure the connectivity of the network. Although CPA algorithm effectively guarantees the connectivity of the network, the coverage of the network is not guaranteed, and the blind area may appear.

The second type is sleep scheduling algorithm based on network coverage [18,19,20,21,22]. This kind of algorithm will set a function to calculate the coverage rate of the sensing area of the node, and judge whether the node is redundant by calculating the coverage rate, so that the nodes that meet the conditions enter the sleep state, and the remaining active nodes complete the operation of the whole network. In 1987, Francesca Cuomo et al. Used the method of predicting grid points to judge the redundancy of nodes [18]. The redundancy judgment method proposed in this paper is basically applicable to all kinds of network topologies. The coverage in sensor networks is also discussed. The algorithm only judges the coverage redundancy of nodes in the network based on the location information of nodes, and the accuracy of the results is poor. Suo Longxiang and others proposed VSGCA (a virtual square grid based coverage algorithm of sleeping scheduling for wireless sensor network) [19]. The VSGCA algorithm divides the sensing area of the node first, and calculates the coverage rate of the node by judging the coverage of other nodes. If other nodes can completely cover the sensing area of the node, the node is considered as redundant. The VSGCA algorithm is scheduled according to rounds, and each round is composed of two parts: the sleep node selection stage and the perception stage.

The third type is sleep scheduling algorithm based on network connectivity [18, 23, 24]. This kind of algorithm is based on the connectivity of the network to determine the dormancy of nodes, and dormant redundant nodes without destroying the network connectivity. Y. Xu et al. proposed the GAF (Geographic adaptive fidelity) algorithm [23]. GAF algorithm is suitable for sensor nodes to deploy more intensive network topology, and needs to know the location information of nodes in advance. Francesca Cuomo et al. proposed SS tree (sense sleep trees) method by using flow model in graph theory and constraint condition method of mathematical programming [18]. In this method, the tree structure is used to schedule the sleeping nodes, and the key is the formation of SS tree. SS tree needs to be recalculated when the network topology changes, which will cause a lot of additional network energy consumption.

Although the sleep scheduling of wireless sensor network guarantees the coverage of the network area to a certain extent, it prolongs the network lifetime. However, the node does not interact with neighbor nodes to determine sleep information before sleep, which may cause network coverage blind spots; the node sleep time is fixed, and different sleep times are not set for nodes with different remaining energy.

3 A Sleep Scheduling Algorithm with Limited Energy Collection

3.1 A Judgment Criteria of Redundant Nodes

In the SGLE algorithm, nodes run in turns, as shown in Fig. 1. Each round includes several stages: neighbor discovery, coverage redundancy judgment, neighbor node information interaction and node sleep.

Fig. 1.
figure 1

SGLE algorithm node scheduling.

A) Segmentation Area Range. As described by the basic idea of SGLE algorithm, the whole network monitoring area needs to be divided into 1 m \(\times \) 1 m square, as shown in Fig. 2.

B) Discover Neighbor Nodes. Sensor nodes broadcast discovery messages to neighbor nodes. If other nodes receive neighbor discovery messages sent by sensor nodes, they send packets to respond to nodes. Nodes determine the location and status of neighbor nodes according to the packets received from other nodes.

Fig. 2.
figure 2

Region segmentation example.

C) Judgment of Coverage Redundancy. This section describes the method for a node to determine the coverage ratio of its sensing range covered by other sensor nodes, and discusses in detail how to calculate the coverage ratio of sensor nodes covered by other nodes. As shown in Fig. 3, node i determines the number of small squares contained in its sensing area, calculates the number of small squares, and determines the square area set Q(\(R_{i}\)) monitored by target node i. Then the number of small squares contained in other sensor nodes is sensed, and the set Q (\(R_{neii}\)) of small squares covered by other sensor nodes is determined by comparison. Finally, the coverage of the area monitored by sensor i is obtained by the ratio of the number of elements of set Q (\(R_{neii}\)) to set Q (\(R_{i}\)). When the coverage of node i is greater than the threshold \(C_{th}\), node i is considered to be a redundant node.

Fig. 3.
figure 3

Example of node sensing range covered by other nodes.

3.2 Sleep Scheduling Method of a Node

In this paper, the network lifetime is divided into several rounds, and the node scheduling is carried out by rounds. This section describes the scheduling mode of nodes in a round.

Fig. 4.
figure 4

Example of blind area generated by neighbor nodes without information interaction

A) Neighbor Nodes Interact with Each Other. If the node that reaches the dormancy condition after the coverage judgment goes into the sleep state directly, the network may cause the blind area of monitoring due to insufficient coverage. As shown in Fig. 4, node a has released the conditions to enter the dormancy state under the coverage of other nodes, and node b has reached the conditions for entering the sleep state. If node a and b are all dormant, the part covered by node a is not harvested by node b, and the area will become the “blind area” of monitoring range, it will cause unnecessary losses. Therefore, in order to avoid the generation of blind area of network monitoring, nodes must interact with neighbor nodes before hibernation.

Table 1 shows the method and algorithm for determining whether the node can sleep after the information interaction between the node and the neighbor node to compare the sleep priority. Node a that reaches the sleep condition sends the request message (SREQ) to its neighbor node. The SREQ message includes the \(P_{i}\) value of node a (\(P_{i}\) = \(E_{i}\)/\(C_{i}\), where \(E_{i}\) is the current residual energy of the node, and \(C_{i}\) is the coverage value of the node covered by other nodes). The neighbor node of node a judges its status after receiving the request message sent by node a. If the neighbor node (such as node b) of node a also meets the sleep condition, node b compares the \(P_{i}\) value of node a with its own \(P_{i}\) value. If the \(P_{i}\) value of node b is greater than that of node a, and node a energy is less covered, node a has higher sleep priority, and node b sends a confirmation message (SACK) to node a; Otherwise node b sends a reject message (SCON) to node a. If node a receives a rejection message, node a does not sleep. If the neighbor node of node a fails to meet the sleep condition, it sends confirmation message to node a directly.

Table 1 Pseudo code for neighbor nodes to interact with each other.

figure a

B) The Node Goes to Sleep. When node a interacts with other nodes, if the SREQ message sent by node a does not receive all SACK message replies, node a will not enter the sleep state; If the SREQ message sent by node a receives all the SACK message replies, node a will enter into the sleep state. The nodes that enter into the sleep state no longer harvest and receive data. Node a checks whether there is any unsent data. If there is any unsent data, node a will send all unsent data first; If node a has no unfinished data, node a enters the sleep state.

4 Simulation Results

4.1 Simulation Parameters

The setting of simulation environment parameters in this paper is shown in Table 1.

Table 1. Simulation experiment parameters.

4.2 Simulation Results

A) Node Survival Rate. Figure 5 shows the node survival rate comparison of SGLE algorithm, mod-LEACH algorithm, VSGCA algorithm and GAF algorithm. At the same time, under the same conditions, the node survival rate of SGLE algorithm is higher than that of mod-LEACH algorithm, VSGCA algorithm and GAF algorithm. Because SGLE algorithm determines the dormancy time of dormant nodes according to the residual energy of sensor nodes, nodes with less residual energy have longer dormancy time and consume less energy, and the overall energy consumption of the network can be balanced. According to the experimental results, SGLE algorithm can effectively improve the node survival rate under the same conditions.

Fig. 5.
figure 5

Example of node sensing range covered by other nodes.

Fig. 6.
figure 6

Example of node sensing range covered by other nodes.

B) Network Coverage. Figure 6 shows the network coverage of SGLE algorithm, mod-LEACH algorithm, VSGCA algorithm and GAF algorithm. Before 200 s, the network coverage rate of VSGCA algorithm is higher than that of the other three algorithms, while the network coverage rate of SGLE algorithm and mod-LEACH algorithm is less different. This is because VSGCA algorithm requires that when the sensing range of nodes reaches the condition of full coverage by neighbor nodes, redundant nodes can enter the sleep state, so VSGCA algorithm has fewer dormant nodes, Its network coverage ratio is relatively large. But in the same period of time, the network coverage of SGLE algorithm and mod-LEACH algorithm is more than 95%, which can basically meet the network service requirements; In the same period of time, the network coverage rate of GAF algorithm is the lowest, which is about 90%, and there may be network coverage blind area.

Fig. 7.
figure 7

Example of node sensing range covered by other nodes.

With the operation of the network, the network coverage rate of SGLE algorithm will be higher than the other three algorithms. This is because SGLE algorithm sets the coverage threshold \(C_{th}\). When the node reaches the coverage threshold, it will judge whether the node enters the sleep state. Moreover, after the node reaches the coverage threshold, the node will interact with the neighbor node to determine the sleep state, It can avoid the blind area caused by several nodes sleeping at the same time, so the network coverage rate of SGLE algorithm is better than other algorithms.

C) Work Node Ratio. Figure 7 shows the ratio of working nodes of SGLE algorithm, mod reach algorithm, VSGCA algorithm and GAF algorithm. As shown in Fig. 7, Because the node dormancy mode of GAF algorithm is to divide the network area into virtual square area with equal area according to the communication distance of nodes. One node is selected in each grid for data harvesting and communication, so the number of working nodes in the first 300 s of GAF algorithm is the smallest, but the lower ratio of working nodes in the initial GAF algorithm is at the cost of reducing network coverage. In the initial stage of network operation, the working node of SGLE is significantly lower than that of mod-LEACH algorithm and VSGCA algorithm. At the beginning of network operation, the number of working nodes of SGLE is 17% lower than that of mod-LEACH algorithm and 38% lower than that of VSGCA algorithm.

With the operation of the network, the working nodes of SGLE algorithm are lower than those of mod-LEACH algorithm, VSGCA algorithm and GAF algorithm. This is because the nodes in SGLE algorithm can achieve energy load balancing. There are many surviving nodes, and some nodes can meet the operation requirements of the current network. Therefore, SGLE can guarantee the quality of network service and achieve a higher node dormancy ratio, so as to extend the network lifetime.

5 Conclusions

In order to solve the problem of limited energy in wireless sensor networks, researchers apply energy harvesting technology to wireless sensor networks, resulting in a large number of research and application of EH-WSN. However, in the case of limited light time and weak light intensity in winter or cloudy days, the energy that nodes can harvest is limited, or even can not harvest energy. How to extend the lifetime of the network with limited energy harvesting is an important research issue. In order to solve the above problems, this paper proposes a node sleep scheduling algorithm (SGLE) for EH-WSN, which mainly includes two parts: (1). The judgment criterion of redundant nodes; (2). The sensor nodes interact with neighbors before sleeping. Simulation results show that, compared with mod-LEACH algorithm, VSGCA algorithm and GAF algorithm, under the same conditions, SGLE algorithm has significantly improved in node survival rate, node mortality rate, network coverage rate and working node ratio.