## 2 Related Work
### Load Balancing among the Four IoT Network Layers
The second drawback is that all IoT tasks are first sent to the Mist, then if the Mist nodes are not capable of processing a task, it will be offloaded to the Fog nodes, and so on, until it reaches the Cloud. It is more optimal for a task to directly find its resources, as the offloading process incurs energy costs. Due to the limited resources of Mist computing nodes, they are incapable of handling all IoT tasks, necessitating the offloading of these tasks to the Fog or Cloud for further processing. Hence, it is crucial to be aware of the node capabilities and the task requirements in all layers. Thus, [PERSON] et al., 2019 [5] proposed a new model to extend the offloading process to Mist computing. The authors implemented two services to offload tasks from one to another accurately. First, the node summarizer (NS) collects information about the hardware capabilities. Second, the service summarizer (SS) gathers information about the service requirements. These two services help in selecting the optimum Mist node when offloading tasks. The proposed model was applied in three different experiments; the results showed that it successfully added 20 ms processing time to the system. In this proposed approach, the authors only focused on offloading tasks from one Mist node to another Mist node in the system and ignored all other layers. Furthermore, the task offloading criteria solely focus on analysing the Mist nodes, without taking into consideration any specific concerns related to the tasks themselves. [PERSON] et al., 2021 [6] studied and analysed the impact of extending the computing process through the Cloud, Edge, and Mist layers to balance the workload among them and engage all layers to be a part of the computing process. The authors divided the priority of tasks into four types to select a resource. The classification is based on the time needed to complete a task and the response time's importance level. Using Visual Studio code, the authors completed four different experiments to compute tasks: Edge only, Cloud only, Fixed Edge-Cloud, collaborative Edge-Cloud and Mist-Edge-Cloud. The simulation results proved that the experiment of Mist-Edge-Cloud achieved better delay time than the other experiments. The authors did not introduce a new algorithm; instead, they conductedan experiment to highlight the significance of utilizing all four computing layers in data computation. [PERSON] et al., 2021 [7] implemented a new framework called IoTNetWar for military organizations to achieve better time and resource scenarios when using IoT service monitor troops. The authors take advantage of machine learning; specifically, they employed the delay-based K-nearest neighbour algorithm to distribute IoT tasks among the Mist, Fog, Cloud, and application layers. By employing this ML algorithm, a task embarks on a journey from Mist computing to the Cloud, seeking an appropriate resource. EdgeCloudSim was used to validate the proposed framework on three different scenarios: Fog computing (Load-balanced), Mist computing (Load-balanced) and Mist computing delay-based K-nearest neighbours (KNN). The results proved that the proposed framework of Mist computing (KNN) achieved better results than Fog computing (LB) and Mist computing (LB) in terms of service time, processing time, latency, and CPU utilization. It is noticeable from the framework that there is no resource allocation in the IoTNetWar algorithm, as tasks search for a suitable resource to fit task requirements starting from the first layer (Mist layer) to the last layer (Cloud layer). The process of searching for resources for IoT tasks among all layers is very time-consuming, and this can be avoided if the resources are selected at an early stage without the need for searching. Resource management and allocating resources for IoT tasks accurately is one of the keys to achieving better latency, bandwidth, and energy efficiency for IoT networks. Therefore, [PERSON] et al., 2022 [8] proposed a new algorithm called MSRM-IoT to allocate resources for IoT tasks.