# Energy Efficiency for Green Internet of Things (IoT) Networks: A Survey +
## 3 Literature Review
### Taxonomy of Energy Consumption Solutions
#### 3.7.2 Scheduling Algorithms  
Sensor nodes around a CH node naturally create a many-to-one traffic pattern [85, 136]. Congestion generally happens when the traffic load on a particular node exceeds the available buffer capacity which leads to successfully delivery for only some of the packets and thus packet retransmission is required [137]. Retransmission of data will, of course, consume additional energy. Most previous research does not consider packet overheads due to the retransmission of packets. For instance, when a connection-oriented protocol such as the transmission control protocol (TCP) [138] is established, for reliability it uses three-way handshakes to establish the connection between the source and destination. This leads to a significant increase in network traffic and thus increases the data transmission rate and volume. Therefore, during the implementation of the scheduling techniques, packet overhead must be considered since retransmission adds a burden on the network and reduces the lifetime of network. To minimize power and memory usage, superior scheduling protocols that consider packet overhead are required. Several scheduling methods have been investigated for use in sensor networks. A scheduling algorithm for nodes that are positioned between two or more clusters (border nodes) is introduced in [65]. A switching technique between listening and sleeping modes is adopted by the nodes in this scheduling approach. However, a node that is placed between more than two clusters, will often switch to the listening mode and this will cause to the unnecessary of energy wasted which decreases the network's lifetime. The proposed protocol introduces a unified scheduling method to solve the problem of diversified scheduling of border nodes. Another study by [PERSON] and [PERSON] [139] proposed demand-based coverage and a connectivity routing protocol to provide the desired coverage and meet connectivity requirements in WSNs. The idea was to use a probabilistic approach to calculate and reduce the sensing range of the sensors. It also uses a sleep scheduling protocol to switch ON/OFF the communication radio which results in saving energy. [PERSON] and [PERSON] [126] proposed clustering IoT networks into sub-clusters and placing within each cluster, a broker (CH node). The broker was deployed to collect data from the nodes around it and send the data to the ultimate receiver. The short process time (SPT) method was performed at the broker level to elect and forward data based on their arrival time. Each message is demonstrated as Mess(\(T_{trans}\), \(R_{time}\)), where \(R_{time}\), \(T_{trans}\) are successful transmission time and request time periods, respectively. The SPT algorithm was used when the network was unstable (traffic intensity > 1). The SPT algorithm promoted IoT system efficiency by enhancing service response time and minimizing the overall energy consumption. The earliest deadline first (EDF) scheduling approach has been investigated to run real-time tasks and to place processes in a priority queue. High priority is assigned for packets closest to their deadline or expiry in the queue [140; 141; 142]. [PERSON], et al. [142] have considered minimizing energy depletion in real-time systems by sorting the tasks with enhanced EDF to vary the processor modes determined by supply voltage, frequency and performance requirements. However, several request packets in the queue can have the same deadline, and the EDF algorithm does not consider the time redundancy management of these packets, nor does it give priority to packets that come from longer distances, with more hops which causes higher energy depletion. [PERSON] and [PERSON] [143] implemented the nearest job next (NJN) scheduling method. The NJN protocol always chooses the nearest sensor node as the first node to gather and deliver its data to the final destination, which helps the system to reduce latency. An approach suggested by [144] proposed an energy-efficient heterogeneous dual core processor for IoT devices.