## 2 Related Work
### Overview of Existing Solutions  
The SPP in FC involves determining the nodes to which a specific task should be assigned and what parameters should be taken into account to evaluate the performance of the deployment. Indeed, the choice of a particular node among others can significantly impact various criteria such as overall system latency, response time, Quality of Service (QoS), etc. For example, consider a set of mobile IoT devices communicating with each other and their environment. The goal is to efficiently place the services offered by these objects on the Fog infrastructure with minimal latency. However, numerous complex constraints may influence the quality of the proposed placement. These limitations are related to the dynamic nature of the environment, generated mainly by the mobility of objects and network fluctuations. So, the wrong choice of node can affect system performance and thus user satisfaction. To address the SPP for IoT applications on Fog resources, several solutions have been developed. Most approaches consider it as an optimization problem, as classified in Table 3 based on the used method and compared in Table 4 based on their achievements. For example, the work [18] proposed an autonomous IoT service placement methodology named MADE (Monitoring, Analysis, Decision Making, and Execution), comprising four sequential steps. The process begins with real-time monitoring to evaluate the status of available resources and application services. Subsequently, requested services are prioritized according to application service deadlines. Following this, the Strength Pareto Evolutionary Algorithm II is utilized to make decisions about the placement of application \begin{table}
\begin{tabular}{c c} \hline \hline
**Fog feature** & **References** \\ \hline Reduce latency & [7; 8; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31] \\ Data privacy and security & [15; 16] \\ Energy efficiency & [7; 17; 23; 28; 29; 31] \\ Cost & [7; 17; 21; 23; 28; 29; 30; 31] \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Comparison of the studied works based on their objectives. services, treating it as a multi-objective optimization problem. Finally, the decisions crafted in the earlier phases are executed within a Fog environment. In the work [17], to maximize the utilization of Fog resources and improve the Quality of Service (QoS), the authors developed a conceptual computing framework based on a combination of Cloud-Fog. This integration involves the introduction of a Cloud-Fog control middleware, designed to oversee and manage service requests while adhering to specific constraints. To tackle the SPP, an evolutionary algorithm based on the cuckoo search algorithm was proposed. This algorithm was developed by [PERSON] and [PERSON] in 2009 as a population-based meta-heuristic algorithm [32]. Based on MADE-K automatic control loops, which consist of four stages, Monitoring (M), Analysis (A), Decision Making (D), and Execution (E), the services were placed in the current colony if available, and they were allocated to the nearest available colony or, if unavailable, forwarded to the Cloud. In the paper [19], the authors addressed the lack of resource provisioning approaches to utilize Fog-based computational resources. They introduced a conceptual FC framework to tackle the issue. They modeled the SPP for IoT applications over Fog resources as an optimization problem, considering the heterogeneity of applications and resources in terms of QOS attributes. Finally, they suggested a genetic algorithm as a heuristic to solve this problem. The paper [20] presents two main contributions. Firstly, it introduces an optimization model that efficiently maps data streams into Fog nodes. The model takes into consideration the current load of the Fog nodes, as well as the communication latency between sensors and Fog nodes. Second, to handle the complexity of the problem, a scalable heuristic based on genetic algorithms was proposed.