## 2 Related Work
### Clustering Approaches for Energy-Efficient NB-IoT
DF-LEACH aims to facilitate both global energy efficiency and reduced energy dissipation at the CHs [34]. In this scheme, data fusion is performed in a hop-by-hop mode among the CHs, before transmission to the BS. * The Energy-Efficient Hierarchical Clustering (EEHC): This clustering approach as proposed by [35] uses Voronoi cells approach to classify (group) nodes into clusters. The cluster head selection is based on residual energy. The nodes with the most residual energy within each cluster is selected as the cluster head. The selected cluster head is then used to allocate time slots to the other nodes within the cell based on the hidden Markov prediction model. The benefit of the approach is that it has proven to enhance the overall energy efficiency of the NB-IoT network. However, since it does not consider the signal strength parameter in the selection of the cluster heads, some packets do not always get delivered to the BS. This network reliability reduction results in re-transmission attempts which happens to be energy expensive and counter-effects the impact of clustering on the overall energy efficiency of the network. * Energy-Efficient Unequal Clustering (EEUC): Authors in [36] propose an algorithm that minimizes the number of CHs with full coverage and connectivity. This extra optimization performed on the number of selected CHs is aimed at reducing the energetic cost of communication in the network as a way to reduce the overall energy consumption of the network. However, this approach only works under the constraints that the number of CHs still fulfills the requirement that every single node can still relay their packets through one of the selected CHs. The algorithm is based on a spiral sequence generated for arbitrarily deployed nodes. To further minimize the number of CHs, the EEUC proposes the use of some CHs as relay nodes for others under the condition that some CHs run low on their residual energy levels. However, the drawback of the EEUC is that it consumes significant amounts of energy, incurred by cluster formation overhead and fixed-level clustering. * Power-Efficient and Adaptive Clustering Hierarchy (PEACH): PEACH is proposed by [37] to solve the issue of energy consumed by cluster formation overheads. PEACH uses overhearing (sniffing) characteristics of the wireless communication channel to form clusters without additional overhead. It also supports adaptive multi-level clustering. Besides, PEACH can be used for both location-unaware and location-aware NB-IoT networks. PEACH has been shown to outperform other hierarchical routing protocols such as LEACH in terms of extending the network lifetime [38]. * Hybrid Energy-Efficient Distributed Clustering (HEED): The HEED (Hybrid Energy-Efficient Distributed clustering) protocol periodically selects CHs based on a hybrid parameter made of the node remaining energy as primary parameter and a secondary parameter, such as minimum average distance to a higher number of neighbor nodes. The HEED demonstrates a fairly uniform CH distribution across the network and a low computational complexity \(O(1)\), but it suffers from an energy-expensive CH selection process [39]. The HEED also has high inter-cluster traffic which results in energy consumption imbalance susceptible to cause CH nodes to die faster, therefore shortening the lifetime of the network. * Distributed Weight-based Energy-Efficient Hierarchical Clustering (DWEHC): The authors [40] propose an improved version of the HEED approach called the DWEHC.The DWEHC assigns weight to the primary and secondary CHs selection parameters. The DWEHC approach starts with each node locating its closest neighbors. Based on the received information and its energy parameters, the node works out a hybrid parameter weight value which then serves as decisive in selecting the Cluster Heads. Once more, and like the other approaches, the DWEHC uses a Time Division Multiple Access (TDMA) approach within each cluster as a mechanism for each node within the cluster to send its packet to the CH.