## 2 Related Work
### System Model  
This portion provides an overview of the architecture of the IoT, fog computing, and cloud computing, and outlines the characteristics of the tasks that this system must handle.  
\begin{table}
\begin{tabular}{c c c} \hline
**Reference** & **Methodology** & **Key Parameters** \\ \hline
[11] & Incorporates SSA into AEO & IoT concerns, processing time, latency, memory, cost \\
[12] & Enhanced firework algorithms & Explosion radius detection, cloud–fog system, \\
[13] & GWO and RL for serverless computing & Task parallelization, task allocation, runtime, energy \\
[6] & ACO algorithm for fog–cloud IoT scheduling & Makespan, task deadline satisfaction \\
[14] & Multi-objective GWO for fog computing & Energy consumption, task execution time, \\
[15] & Modified GWO for cloud task scheduling & Makespan, cost, job scheduling efficiency \\
[16] & Bumble Bee Matting Optimization for cloud & Makespan, VMs, comparison with HBMO and GA \\
[17] & ACO for load balancing in fog computing & Latency, quality of service, response time \\
[18] & Upgraded ant colony algorithm for fog & Computing resource costs, power consumption, \\
[19] & PSO-GWO hybrid for cloud task scheduling & Execution cost, time, performance \\
[20] & Dynamic and Fault-Tolerant Scheduling Algorithm & Task priorities, unit electricity cost, \\
[21] & SCEHO and IPSO for cloud task scheduling & Load balancing, resource allocation \\ \hline \end{tabular}
\end{table}
Table 1: Examining current methods for scheduling tasks.  
Architecture  
The structure of the IoT-fog-cloud system is depicted in Figure 1, beginning with the foundational layer of IoT devices. This layer comprises mobile devices, unmanned aerial vehicles (UAVs), medical devices, industrial equipment, smart homes, and other devices [23; 24]. Data are generated as tasks and transferred to the fog or cloud computing layers. Fog computing acts as an intermediary between the IoT and the cloud, sharing similar features but with restricted computing capabilities. The cloud, on the other hand, has vast resources for storage and processing [25]. \"Cloud computing is a technological advancement that focuses on the way we design computing systems, develop applications, and leverage existing services for building software. It is based on the concept of dynamic provisioning, which is applied not only to services but also to compute capability, storage, networking, and information technology (IT) infrastructure in general\" [26]. To ensure the timely completion of critical tasks, such tasks are sent to the fog level, whereas tasks with lower costs can be directed to the cloud to optimize resource allocation.  
A fog broker [13; 27; 28] is the entity responsible for handing the assignment of a particular job to either the fog or cloud, and it is deployed within the fog layer. The fog controller is made up of three essential parts:  
1. Task director (TD): this component receives the task and analyzes its characteristics.
2. Resource monitoring (RM): it gathers information about the available resources.
3. Task scheduler (TS): this component receives the task and resource information from the TD and RM, respectively, and then determines the appropriate resource for task execution.  
Once the task scheduler assigns tasks to the suitable resources, the processing takes place, and upon completion, the results are sent back to the original sender.