## 2 Green Routing Algorithms in WSNs
### Energy-Efficient Scheduling-Based Routing Algorithms
#### 2.2.1 Static Node Scheduling-Based Schemes  
In static node scheduling-based schemes, all nodes are fixed once they have been deployed. Identifying how to minimize the energy cost under the premise of a good operation is the problem that static scheduling is attempting to address. These schemes mostly use sleep scheduling to minimize energy consumption. In sleep scheduling, some nodes continue to work to keep the network running, and the rest of the nodes go into a dormant state. The sleeping nodes do not transmit or receive any data packets during their sleep. Due to the reduction in the number of working nodes, the possible paths between sensor nodes and the sink are reduced. Improper scheduling can greatly increase the number of hops between source nodes and sink, obviously resulting in delay.  
The connected-K neighborhood scheduling algorithm (CKN) was proposed in [55], which presents a random ranking, with each node receiving a ranking from CKN. Figure 4a shows node C and its neighbor nodes. After node C receives the rankings of its neighbors, it compares these rankings with its own. When each current neighbor's ranking is lower than that of C, node C has more than K neighbors awake, and node C can sleep. Assuming  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Scheme** & **Energy Consumption** & **Energy Load Balance** & **Scalability** \\ \hline LEACH [51] & Save energy in data gathering, and consume energy in & & \\  & single hop communication between CHs and the sink & & Balance in cluster & Low \\ EECCS [52] & Save energy in data gathering and multi-hop & & & \\  & communication between CHs and sink & & & Low \\ NSD [53] & Reduce energy consumption by helping nodes & & Good & High \\ CEER [54] & Anchor nodes relay energy consumption & & Good & Medium \\ \hline \hline \end{tabular}
\end{table}
Table 1: Comparison of setting special node-based routing algorithms.  
that K is 3, as shown in Figure 4b, there are no neighbors awake with a higher ranking and the number of neighbors awake is bigger than 3, so the node C goes to sleep. To ensure that every node has a chance to sleep, ranking changes randomly in every scheduling cycle. CKN saves energy by allowing some of the nodes to sleep and reduces end-to-end delay by maintaining a ranking list. However, random ranking cannot ensure that nodes with low remaining energy will sleep.  
The geographic routing-oriented sleep scheduling algorithm (GSS) [56] is a trade-off routing protocol. Before the data forwarding phase, GSS explores all possible paths from the source nodes to the sink and ensures that all paths separate while optimizing them by making them as short as possible. In the data forwarding phase, the source node or the forwarding node chooses the neighbor nearest to the sink as its next hop according to the received geographic location information. In addition, GSS demands that the nearest nodes from the sink not be eligible for sleeping and that they keep working. As shown in Figure 4c, node C can turn to sleep in CKN, but it cannot sleep in GSS due to its distance from the sink. The never-sleeping nodes are a bottleneck in GSS, consuming energy much faster than those nodes that can rest, leading to the premature death of WSNs.