Abstract
Keywords
Introduction
Comparing with wired data-collecting devices, wireless sensor networks (WSNs) which are composed of distributed sensor nodes and sink nodes are useful, efficient, and simple data-collecting devices. In WSNs, sensor nodes have the functions such as data perception, data processing, and wireless communication. They are light-weight, small-sized, low-cost, battery-driven, and easy to install. 1 WSNs can be applied to industrial and civil fields such as environment monitoring, intelligent transportation, smart nursing, smart home, and smart factory. 2
In WSNs, network coverage and lifetime are limited by node’s energy. High network coverage ensures that sensor nodes can sense the data of most monitoring area. Network coverage is divided into three types according to sensed objects, such as target coverage, barrier coverage, and regional coverage. In target coverage, sensor nodes cover all target points. When there are sufficient target points which spread all over the monitoring area, target coverage can turn into regional coverage. In barrier coverage, sensor nodes completely cover a line. When there are sufficient lines, barrier coverage can turn into regional coverage. Regional coverage is a basic type of network coverage. It is applied to many fields such as environment monitoring and smart factory. Network lifetime is the effective working time of WSNs to collect data. When network lifetime increases, the lifetime of sensor nodes increases and application cost reduces. Therefore, the design of WSNs should keep satisfactory regional coverage rate and keep data collection for months or years in the environment monitoring and some other application fields. 3
At present, the study of WSNs got some achievements. Some scholars have studied the coverage problem of static isomorphic sensor nodes. Wang et al. 3 use probability theory to study the relationship between network coverage and lifetime. Then they propose some formulae of network lifetime under different kinds of Gaussian distribution. Krause et al. 4 propose a distribution and scheduling algorithm of sensor nodes. According to cycle analysis of each node, sensor nodes which improve regional coverage rate are added to several disjoint sets. Singh and Rossi 5 consider the data perception direction of each sensor node and establish lifetime optimization model. They use column generation algorithm to divide the model into master model and sub-model and solve the two models to obtain optimal scheme. Lim and Bleakley 6 find several sets of sensor nodes and propose greedy algorithm to cover the monitoring area as much as possible. Meanwhile, they use normalized cut clustering algorithm to cluster the sensor nodes and obtain a set of all cluster heads. Finally, they eliminate the sensor nodes which are selected before and use loop iteration to obtain several sets of sensor nodes. However, the literature3–6 uses centralized algorithms. They need to collect the information of all sensor nodes and require a lot of calculation workload. Tezcan and Wang 7 propose two-tiered scheduling (TTS) mechanism for energy conservation. TTS proposes node weight formula based on node energy consumption and regional coverage increment. Each sensor node sets delay time which is proportional to the weight and wakes up to judge whether it is covered by other sensor nodes. If it is covered by other sensor nodes, the sensor node is in sleep state. If not, the sensor node is in work state. He et al. 8 study distributed scheduling algorithm of sensor nodes to cover all regions. In the algorithm, each node calculates its own weight. If the weight is less than the threshold, the sensor node is in sleep state. If not, the sensor node judges whether it is the sensor node of the smallest weight. If it is, the sensor node is in work state. Idrees et al. 9 propose a distributed optimization algorithm of network lifetime and coverage. In the algorithm, the monitoring area is divided into several subregions, and each subregion has a cluster head. The cluster head collects the information of its members to establish an optimization model for maximizing network coverage and minimizing the number of working sensor nodes. Then the cluster head solves the optimization model and obtains the working state of each sensor node. In short, the literature3–9 assume that all sensor nodes in the network are the same. Namely they are isomorphic. However, in some special applications, perception radii and energy of sensor nodes are heterogeneous.
Therefore, some scholars have studied coverage problem of static heterogeneous sensor nodes. Li 10 considers heterogeneous perception radii of sensor nodes and proposes a scheduling algorithm of heterogeneous sensor nodes. The algorithm establishes a multi-objective scheduling model. It uses a differential evolution algorithm to solve the model and obtains optimal scheme. Du et al. 11 turn regional coverage problem into multi-line coverage problem. Then they propose an optimization model of mobile sensor nodes, solve the optimization model by linear algorithm, and obtain the shortest movement scheme. However, the literature10,11 uses centralized algorithms. The computation workload rises sharply when number of sensor nodes increases. Lin et al. 12 establish a disjoint connection coverage set which meets the requirement of perception coverage and network connection. They analyze number constraint of connection coverage set, coverage constraint, connection constraint, and routing constraint. Then they establish an optimization model and use ant algorithm to obtain optimal scheming. According to locations of neighbor nodes, Sun et al. 13 use redundancy algorithm to judge the state of sensor nodes. If the sensor node is a redundant node, it turns into sleep state. Khedr and Osamy 14 propose minimum connected cover (MCC) algorithm of a query region. MCC considers several heterogeneous sensor nodes in the monitoring area and uses a scheduling algorithm of sensor nodes to obtain MCC of monitoring area. The literature12–14 uses distributed algorithms, but they neglect network lifetime. When sensor nodes exhaust energy or are damaged, the sensor nodes are invalid and coverage blind area appears. They also neglect the repair problem of coverage blind area.
In short, the coverage optimization algorithms of static isomorphic sensor nodes have good performance. However, they do not consider heterogeneous sensor nodes and cannot be applied to coverage optimization of static heterogeneous sensor nodes. On the other hand, because more parameters need to be considered, and the model and solution are more complicated, the coverage optimization algorithms of static heterogeneous sensor nodes do not consider network lifetime, regional coverage rate, and coverage repair simultaneously. Therefore, a sensor node scheduling algorithm (SNSA) for heterogeneous WSNs is proposed based on above references. In SNSA, regional coverage increment optimization model, arc coverage increment optimization model, and residual energy optimization model are established. Weight factors and integrated function are used to establish a multi-objective scheduling model. Heuristic method is proposed to solve the model and obtain the scheduling scheme of static heterogeneous sensor nodes. When the network is in operation for a period of time, some sensor nodes are invalid and relevant regions are uncovered. Repair method is proposed to wake up sleep sensor nodes and repair the coverage blind area. Therefore, SNSA obtains maximum regional coverage rate and improves network lifetime.
Principle of SNSA
In SNSA, we assume that
In two-dimensional WSNs, there are heterogeneous sensor nodes and sink node. All nodes are static.
Sensor nodes have different perception radius. Namely they are heterogeneous.
Sensor nodes can obtain their own locations according to GPS, Beidou satellite positioning module or other positioning algorithms.
Sensor nodes have two schedulable state such as work state and sleep state. Sensor nodes in work state sense data and send the data to sink node.
Sensor nodes have the same communication radius and initial energy. Sink node has larger initial energy and longer lifetime. Therefore, the energy of sink node is considered as unlimited within limited network lifetime.
Sensor nodes are randomly distributed in the monitoring area and can obtain their own locations, as shown in Figure 1. When the network starts, sink node and sensor nodes periodically send information packages of their own and receive information packages of neighbor nodes. The information package contains location, perception radius, residual energy, etc. Then they update the information table of neighbor sensor nodes. In some nodes, the multi-objective scheduling model with information of neighbor sensor nodes is established and solved. Optimal scheduling scheme of neighbor sensor nodes is obtained. The neighbor nodes are informed into work static or sleep static. When a sensor node exhausts energy or is damaged, coverage blind area appears. The relevant sensor nodes analyze the scheduling states of neighbor sensor nodes to judge whether there is coverage blind area. If there is coverage blind area, some sleep sensor nodes are waked up to repair the coverage blind area. It can improve regional coverage rate and network lifetime. However, SNSA needs to solve the following three problems. First, how to establish the multi-objective scheduling model with the information of neighbor nodes, such as locations, perception radii, and residual energy. Second, how to solve the multi-objective scheduling model and obtain scheduling scheme of neighbor sensor nodes. Third, how to schedule sleep sensor nodes to repair the coverage blind area and improve network lifetime when there is coverage blind area. The three problems are solved as follows.

Principle of SNSA.
Multi-objective scheduling model establishment
When SNSA starts, all sensor nodes are in work state. As shown in Figure 2, first sink node broadcasts information collecting package to neighbor sensor nodes. When the neighbor sensor nodes receive the information collecting package, they send information packages of their own. The information package contains location, perception radius, residual energy, current state, and so on. According to above information, sink node establishes scheduling model and solves to obtain scheduling scheme of neighbor sensor nodes. Sink node sends scheduling state acknowledge package and scheduling calculation start package to inform its neighbor sensor nodes. Second, if a sensor node receives scheduling state acknowledge package, it turns into the state which is required in the package. If a sensor node receives scheduling calculation start package, it establishes scheduling model and starts scheduling calculation which is the same as sink node. Then it sends scheduling state acknowledge package and scheduling calculation start package to inform its neighbor nodes. Third, when a sensor node does not receive scheduling information, it tries to find data communication path to sink node. If the path to sink node exists, the sensor node starts scheduling calculation. Finally, all sensor nodes receive or calculate their states. The establishment of scheduling model is as follows.

Information collection of sensor nodes.
where
One target for scheduling neighbor sensor nodes is to improve regional coverage rate. Regional coverage increment optimization model is established as follows
where
For convenient calculation of regional coverage rate, the area is divided into several grids as shown in Figure 3. The grid’s coordinates are defined as its center’s location coordinates. If grid’s center locates in the perception range of one working sensor node, the grid is covered, namely
where

Coverage calculation method of sensor node.
where
In order to avoid coverage blind area, the arc of perception circle needs to be completely covered by other neighbor nodes. We assume that the location coordinates of two sensor nodes are
When

Four kinds of arc coverage interval between two intersecting circles: (a) is arc coverage interval when
where
As shown in Figure 4(b), when
As shown in Figure 4(c), when
As shown in Figure 4(d), when
Likewise, when

Symmetric change of circle B.
Then
Each sensor node’s arc should be completely covered by neighbor sensor nodes. Namely neighbor nodes are scheduled to improve coverage increment of each node’s perception arc. Therefore, arc coverage increment optimization model is established
where
In order to improve network lifetime and let sensor nodes with more residual energy turn into work state, residual energy optimization model is established as follows
where
Formulae (2b), (13b)–(13f), (14b), (14c). Where
Model solution with heuristic method
The multi-objective scheduling model equation (15) can be solved by genetic algorithm, particle swarm optimization algorithm, and so on. However, the solving process is complicated, and it needs high-quality processer and a lot of calculation time. Therefore, heuristic method is proposed to obtain suboptimal solution of optimization model (equation (15)). All sensor nodes confirm their own states with multi-level calculation from inside to outside. The specific methods of scheduling calculation and data transmission are as follows.
Step 1: The node obtains its own location, perception radius, and the information of neighbor sensor nodes in set
Step 2: The node informs full coverage nodes to turn into sleep state and adds them to set
Step 3: The node calculates regional coverage rate, arc coverage rate and average residual energy according to the information of all sensor nodes in set
Step 4: The node selects
Step 5:
Step 6: The node judges whether
Step 7: The node sends scheduling state acknowledge package to neighbor sensor nodes according to present scheduling information. It calculates the arc coverage intervals of sensor nodes which change into work state. Then it sends scheduling calculation start package to the sensor nodes whose arcs are not completely covered.
The sensor nodes in the monitoring area receive other nodes, scheduling state acknowledge package to determine the state of its own. Or they receive scheduling calculation start package to determine the states of their neighbor sensor nodes. However, after running for a period of time, some sensor nodes exhaust energy or are damaged. It leads to network division. Some sensor nodes fail to receive scheduling state acknowledge package and determine its own state. In order to avoid above problem, after scheduling judge time, if a sensor node cannot receive scheduling state acknowledge package, it is waked up to find data communication path to sink node and schedule sleep sensor nodes through the following steps:
Step 1: The sensor node turns into work state and broadcasts path query package which contains its information such as ID and location.
Step 2: If other sensor node receives the path query package, it judges whether the data communication path to sink node exists. If the path exists, the sensor node is informed along the path backward, and the sleep nodes in the path turn into work state.
Step 3: If the sensor node obtains the data communication path to sink node, it uses distributed Bellman_Ford algorithm 15 to calculate path weight. Then it sends path weight to its neighbor sensor nodes. If the sensor node does not obtain the path to sink node, it turns into sleep state.
According to above steps, sink node and sensor nodes in work state establish fully connected network. They directly use distributed Bellman_Ford algorithm to send and route data.
Repair method of coverage blind area
When network is in operation, energy exhaustion or damage of sensor node may lead to the following results. Part of area changes into uncovered area (coverage blind area). When coverage blind area appears, if there are sleep sensor nodes in the vicinity, the sleep sensor nodes are scheduled into work state for repairing the coverage blind area. Namely if sensor node will exhaust energy, it sends energy invalid information package to neighbor sensor nodes. Then the neighbor sensor nodes start to schedule sleep sensor node after delaying a period of time which is proportional to residual energy. The steps of repair method are as follows:
Step 1: If the sensor node receives an invalid information package of neighbor sensor node, it sets delay time which is proportional to the residual energy.
Step 2: After delay time, the sensor node judges whether its arc is completely covered without considering the invalid neighbor sensor nodes. If it is, jump out and end. If not, the sensor node calculates uncovered arc interval
Step 3: The sensor node obtains the set
Step 4: If
Step 5: The sensor node calculates regional coverage rate increment, arc coverage rate increment, and average residual energy when each sleep sensor node in
Step 6: The sensor node selects the sleep sensor node with maximum weight, informs it to turn into work state, and removes it from the set
The sensor node which changes from sleep state into work state informs its neighbor nodes. Its neighbor sensor nodes update their information table.
Algorithm implementation
When network starts, sink node and sensor nodes execute different algorithms. Sink node sends scheduling state acknowledge package or scheduling calculation start package to sensor nodes and receives data from sensor nodes. Each sensor node monitors several types of packages, determines the corresponding situation, and implements the corresponding operation, as shown in Figure 6. It is an event-driven algorithm.
Situation 1: If a sensor node receives scheduling state acknowledge package from sink node or other sensor nodes, it confirms its own state and decides to turn into the state which is required in the package.
Situation 2: If a sensor node receives scheduling calculation start package from sink node or other sensor nodes, it calculates the state of neighbor sensor nodes which are not scheduled before. Then it sends scheduling state acknowledge package and scheduling calculation start package to related sensor nodes.
Situation 3: After scheduling judge time, if a sensor node does not receive scheduling state acknowledge package or scheduling calculation start package, it finds data communication path to sink node. If the path to sink node exists, the sensor node turns into work state. Then it schedules sleep sensor nodes into work state in the path, calculates the state of neighbor sleep sensor nodes, and sends scheduling state acknowledge package and scheduling calculation start package to related sensor nodes. If the data communication path to sink node does not exist, the sensor node turns into sleep state.
Situation 4: If a sensor node receives the information package from other sensor nodes, it updates information table of neighbor sensor nodes.
Situation 5: If a sensor node receives energy invalid information package from neighbor sensor node, it uses repair method of coverage blind area after delaying a period of time.
Situation 6: If a sensor node is in work state, it senses data and uses distributed Bellman_Ford algorithm to send and route data. If a sensor node will exhaust energy, it sends energy invalid information package to neighbor sensor nodes.

Work flow chart of sensor node in SNSA.
Algorithm simulation
Simulation parameters selection
In the simulation, MATLAB software is used and only wireless communication energy consumption of data perception in WSNs is considered. Other energy consumption such as energy consumption of information package transmission and energy consumption of data calculation is not considered. According to above algorithm analysis, perception radii of sensor nodes are generated randomly and uniformly within an interval [50 m, 150 m]. Position distribution of sensor nodes in the monitoring area is also generated randomly and uniformly. The following parameters are selected for simulation and relevant performance parameters are obtained. Length and width of monitoring area are both 1000 m. Maximum communication radius of sensor nodes is 200 m. Data sensing rate of sensor node is 1 kbit/min. Initial energy
where
Network lifetime of

Influence of weight factors to network lifetime of 100% regional coverage.
Simulation result and analysis
In order to verify the effectiveness of SNSA, 200 sensor nodes and the simulation parameters are selected to calculate regional coverage rate and number of living sensor nodes of DGREEDY (disturbed greedy algorithm), 6 TTS, 7 MCC, 14 and SNSA in each DCP. DGREEDY is distributed application of GREEDY in Lim and Bleakley. 6 In DGREEDY, each sensor node calculates delay time according to regional coverage increment and wakes up to determine whether turning into work state after the delay time. TTS in Tezcan and Wang 7 and MCC in Khedr and Osamy 14 do not consider the repair of coverage blind area. For convenient comparison, TTS and MCC are calculated periodically in the simulation, and the state of sensor nodes are also updated periodically to repair the coverage blind area.
As shown in Figure 8, when number of DCP increases, regional coverage rates of the four algorithms decrease. However, the curve of regional coverage rate in SNSA decreases less. Namely in the same regional coverage rate, number of DCP in SNSA is more than number of DCP in DGREEDY, TTS, and MCC. The reason is that SNSA considers many factors to schedule sensor nodes, such as regional coverage increment, arc coverage increment, and residual energy. It establishes and solves the multi-objective scheduling model. Then SNSA determines the states of sensor nodes and improves network lifetime. DGREEDY and MCC do not consider the influence of residual energy on the scheduling of sensor nodes. DGREEDY and TTS do not consider the heterogeneous sensor nodes. Therefore, network lifetime of DGREEDY, TTS, and MCC is less than network lifetime of SNSA.

Comparison of regional coverage rate.
As shown in Figure 9, when number of DCP increases, some sensor nodes die due to energy exhaustion or damage. Therefore, the number of living sensor nodes in each algorithm decreases. In a short time, the number of living sensor nodes in TTS is more than other three algorithms. But the number of living sensor nodes in SNSA is more than DGREEDY, TTS, and MCC during the most time. The reason is that SNSA considers many factors such as regional coverage rate and residual energy, and schedules appropriate number of sensor nodes to work. It can let sensor nodes with low energy turn into sleep state. Therefore, average node energy consumption is less.

Comparison of number of living sensor nodes.
Finally, number 160, 180, 200, 220, 240, 260, 280, 300 of sensor nodes is respectively selected. 10 uniform distribution topologies of sensor nodes are generated randomly. Then network lifetime and average node energy consumption of 100% and 90% regional coverage in DGREEDY, TTS, MCC, and SNSA are calculated. The average values in each algorithm are calculated as simulation results.
As shown in Figures 10 and 11, network lifetime of 90% regional coverage is longer than network lifetime of 100% regional coverage. When number of sensor nodes increases, network lifetime of all four algorithms increases. But when regional coverage rate is either 100% or over 90%, the network lifetime of SNSA is longer than network lifetime of DGREEDY, TTS, and MCC. The reason is that when number of sensor nodes increases, more sensor nodes can be selected to work in the monitoring area, and the time for keeping the same regional coverage rate increases. Simultaneously, TTS considers residual energy of sensor nodes. Therefore, its network lifetime is basically longer than MCC and DGREEDY. The network lifetime of MCC and DGREEDY goes up and down. SNSA considers heterogeneous sensor nodes and uses better scheduling scheme of sensor nodes. Its network lifetime is longest.

Comparison of network lifetime of 100% regional coverage.

Comparison of network lifetime of 90% regional coverage.
As shown in Figures 12 and 13, DGREEDY schedules sensor nodes with maximum regional coverage increment to work. In DGREEDY, the number of sensor nodes in work state is fewer and the data transmission amount is less. Therefore, its residual energy of sensor nodes is more, and energy consumption of sensor nodes in DGREEDY is relatively less. When SNSA schedules sensor nodes, it considers residual energy and coverage blind area and reduces average residual energy. Therefore, when regional coverage is either 100% or over 90%, the average node energy consumption of DGREEDY and SNSA is less than average node energy consumption of TTS and MCC. But there is not much difference of average node energy consumption between DGREEDY and SNSA, and the curses of average node energy consumption in DGREEDY and SNSA go up and down.

Comparison of average node energy consumption of 100% regional coverage.

Comparison of average node energy consumption of 90% regional coverage.
Conclusion
SNSA for heterogeneous WSNs is proposed. First, algorithm assumption and basic principle are given. Second, regional coverage increment, arc coverage increment, and residual energy are analyzed. Three single optimization models are established and multi-objective scheduling model is established. Heuristic method is proposed to solve the multi-objective scheduling model and obtain scheduling scheme of sensor nodes. Distributed Bellman_Ford algorithm is used to route and send data. Sleep sensor nodes are waken up to repair the coverage blind area. Third, realization steps of SNSA are given. Finally, simulation parameters are given. Influence of weight factors to network lifetime is analyzed, and the performances of DGREEDY, TTS, MCC, and SNSA are compared.
In conclusion, comparing with DGREEDY, TTS, and MCC, SNSA improves network lifetime and number of living sensor nodes and keeps average node energy consumption at a low level. However, SNSA only considers the scheduling of static sensor nodes. When some key sensor nodes exhaust energy, energy hole problem appears and causes network division. Some sensor nodes fail to send data to sink node. Therefore, our objective of the next stage is to consider mobile sensor nodes in heterogeneous WSNs and study optimization scheduling algorithm of mobile heterogeneous sensor nodes to prolong the network lifetime.
