## 4 Coverage-Preserving Control Scheduling Scheme
### Control Scheduling Scheme  
After the selection of redundant nodes, we need to design a reasonable scheme for scheduling as many nodes as possible to enter the dormant state without creating blind spots. Meanwhile, in order to maximize the network lifetime, the sensor nodes should take turns to enter the dormant state. The scheme has the advantages of less active nodes and uniform distribution, which satisfies the requirements of low sensor node utilization rate and a high coverage ratio. First, the network is initialized, and each node broadcasts its position information and energy information to its neighbor nodes. The subsequent network lifetime is divided into a number of equal time intervals (Round), and each round includes two phases: scheduling phase and steady phase. Furthermore, the scheduling phase consists of two substages: neighbor discovery and autonomous judgment. In the neighbor discovery phase, the nodes exchange information with neighbor nodes to obtain their location and residual energy, and then establish the neighbor node table. On the basis of the above, the node can decide whether to satisfy the redundant condition. If it does not meet the conditions, the node remains active in the stable stage during the current round and is responsible for target sensing, monitoring and data transmission. Otherwise, the node enters the dormant state until the next scheduling phase. Intuitively, the stable phase is much longer than the schedule phrase, so as to reduce the overhead of the scheduling scheme. During the neighbor discovery phase, the node firstly broadcasts a HELLO message to its neighbors, which contains the node ID, location information and residual energy. To avoid channel conflict and packet loss while the packets are transmitted simultaneously between several nodes, each node waits for a period of time before broadcasting HELLO messages. In the node autonomous judgment stage, concurrent dormancy where a number of nodes that are dependent on the cover to enter the state of dormancy at the same time may cause blind spots. In order to avoid the above situation, the scheduling scheme based on priority is introduced. After the neighbor discovery phase, the maximum value of the residual energy of each node denoted by \(E_{max}\) is obtained. In terms of the residual energy and \(E_{max}\), each node calculates the back off delay:  
\[T_{backoff}(i)=\omega\times E_{res}\left(i\right)/E_{\max}+(1-\omega)\times rand (0,1)\times T_{s} \tag{27}\]  
where \(w\) is regulation parameter and \(rand(0,1)\) represents a random number within the interval [0,1]. Here, the purpose of the introduction of random number is to avoid the same delay being set by the nodes with the same residual energy. After a period of time delay, each node begins to judge whether or not to sleep. The dormant node broadcasts SLEEP signaling to its neighbor node. Then, the neighbor node will remove dormant nodes from its neighbor nodes table after receiving the corresponding SLEEP signals, and determine the redundant degree again based on the updated neighbor node set. It is obvious that the nodes with lower residual energy will have more opportunities of being scheduled to a sleep state, which canplay a role of balancing the energy consumption of the network. After being determined as active or dormant state in next round, the node will remain in the state for a period of time. After \(T_{w}\) time periods, dormant nodes are awakened and all nodes go into the next round. The specific steps are as follows:  
1. Initialization, all valid nodes are set to Ready state. 2. By using the method of Section 4.1, the redundant measurement is adopted to determine whether the redundant node. 3. If the current node is a redundant node, it sends a pre-SLEEP message to its neighbor nodes and enter the pre hibernation state. Furthermore, it will start a delay timer \(T_{backoff}\) to listen for more messages. If receiving the pre-SLEEP message from the adjacent nodes in interval \(T_{backoff}\), return to Step 2.