Next Article in Journal
Multifaceted Assessment of Responsible Use and Bias in Language Models for Education
Previous Article in Journal
MultiGLICE: Combining Graph Neural Networks and Program Slicing for Multiclass Software Vulnerability Detection
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Review

Fog Service Placement Optimization: A Survey of State-of-the-Art Strategies and Techniques

1
School of Computer Applications, Kalinga Institute of Industrial Technology, Bhubaneswar 751024, India
2
Department of Computer Science Engineering, National Institute of Technology Rourkela, Rourkela 769008, India
3
Biomedical Sensors & Systems Lab, University of Memphis, Memphis, TN 38152, USA
4
Electrical and Computer Engineering Department, University of Memphis, Memphis, TN 38152, USA
*
Author to whom correspondence should be addressed.
Computers 2025, 14(3), 99; https://doi.org/10.3390/computers14030099
Submission received: 11 February 2025 / Revised: 7 March 2025 / Accepted: 8 March 2025 / Published: 11 March 2025

Abstract

:
The rapid development of Internet of Things (IoT) devices in various smart city-based applications such as healthcare, traffic management systems, environment sensing systems, and public safety systems produce large volumes of data. To process these data, it requires substantial computing and storage resources for smooth implementation and execution. While centralized cloud computing offers scalability, flexibility, and resource sharing, it faces significant limitations in IoT-based applications, especially in terms of latency, bandwidth, security, and cost. The fog computing paradigm complements the existing cloud computing services at the edge of the network to facilitate the various services without sending the data to a centralized cloud server. By processing the data in fog computing, it satisfies the delay requirement of various time-sensitive services of IoT applications. However, many resource-intensive IoT systems exist that require substantial computing resources for their processing. In such scenarios, finding the optimal computing node for processing and executing the service is a challenge. The optimal placement of various IoT applications services in heterogeneous fog computing environments is a well-known NP-complete problem. To solve this problem, various authors proposed different algorithms like the randomized algorithm, heuristic algorithm, meta heuristic algorithm, machine learning algorithm, and graph-based algorithm for finding the optimal placement. In the present survey, we first describe the fundamental and mathematical aspects of the three-layer IoT–fog–cloud computing model. Then, we classify the IoT application model based on different attributes that help to find the optimal computing node. Furthermore, we discuss the complexity analysis of the service placement problem in detail. Finally, we provide a comprehensive evaluation of both single-objective and multi-objective IoT service placement strategies in fog computing. Additionally, we highlight new challenges and identify promising directions for future research, specifically in the context of multi-objective IoT service optimization.

1. Introduction

During the last few years, the growth rate of IoT systems in various sectors like healthcare, transportation, online gaming, and manufacturing has led to a large volume of data [1]. Furthermore, it is estimated that by 2025, there will be 75 billion IoT devices, generating approximately 75 zettabytes of data per year [2]. Although the conventional cloud computing paradigm offers numerous services flexibility, scalability, and security for various IoT applications, it poses several challenges such as lack of bandwidth for bandwidth-hungry applications and transmission delays due to the distance between cloud servers and IoT devices. As a result, the applications requiring real-time responsiveness like delay-sensitive IoT applications face difficulties meeting Quality of Service (QoS) requirements, leading to potential bottlenecks and network congestion [3,4,5,6,7,8,9,10,11,12]. To address the aforementioned challenges, the fog computing (FC) paradigm has emerged as a promising solution to offer services at the edge of the network [13,14]. FC offers several benefits for the IoT by extending computing, storage, and networking resources closer to the devices they generate. FC ensures that data processing and resource allocation occur according to the needs of individual IoT devices, improving the overall performance and service quality of the network [15,16,17]. It also reduces the transmission latency and improves bandwidth utilization for various latency-sensitive IoT applications. Identifying efficient computing nodes for IoT applications remains a challenge, requiring innovative placement strategies to optimize QoS and Quality of Experience (QoE). Although the convergence of IoT and cloud computing has led to significant advancements, challenges persist, especially in handling delay-sensitive and latency-sensitive applications. The integration of fog–cloud computing offers a promising solution to address these challenges and improve service delivery for IoT applications [18,19,20].
FC architecture is a distributed computing architecture intended to offer a decentralized, virtualized computing resources for processing latency-sensitive applications at the edge of the network. The architecture comprises heterogeneous FC computing nodes with less computing capacity than cloud servers, which aims to provide computation, storage, and analytics for IoT-generated data. By offloading the data generated from IoT data to FC, it reduces the burden of centralized cloud servers. FC is valued for its security, scalability, and energy efficiency, alongside cost advantages in communication and processing [6,13,21]. Despite its numerous advantages, it poses significant scalability challenges, particularly during allocation of services to FC nodes while maintaining QoS. Another major limitation of the FC paradigm is resource-constrained nature, which restricts the execution of computationally intensive applications. Ensuring optimal service placement is essential for improve QoS, directly impacting the performance of real-time applications and overall system efficiency. Security remains a paramount concern in the FC environment, as the nodes are deployed in open area and hence they are more susceptible to various cyber threats, including data tampering, man-in-the-middle attacks, and unauthorized access [22]. Protecting IoT services, particularly those handling sensitive financial and healthcare data, is crucial when making service placement decisions. Furthermore, while major cloud providers like AWS and Google have integrated fog infrastructure with cloud services to enhance scalability and efficiency, the placement of application components remains a critical factor influencing both QoS and security. Given the resource constraints and vulnerability of FC nodes, addressing these challenges requires a comprehensive approach that focuses on optimized service placement strategies and robust security mechanisms to ensure reliable and secure fog–cloud computing environments [14,23,24,25,26,27,28,29,30,31]. To further leverage the advantages of FC while addressing security and scalability challenges, efficient resource allocation decisions are essential for optimal application placement. However, designing and implementing effective placement strategies is a complex task due to several key challenges. Firstly, the FC infrastructure comprises heterogeneous nodes with varying computational power, storage capacity, and network resources. Some FC nodes are optimized for latency-sensitive tasks, ensuring real-time processing, while others are strictly suited for processing compute-intensive workloads for, e.g., image processing applications that use machine learning (ML) or Artificial Intelligence (AI). This diversity makes service placement a non-trivial problem and it necessitates the development of intelligent service placement mechanisms that can dynamically allocate resources based on application requirements while maintaining the minimum standard of QoS.
The service placement problem (SPP) in FC environments is a crucial research area, as it directly impacts the performance and efficiency of deployed services. The SPP aims to optimally map application services to available computing resources while considering various objectives and constraints such as latency, energy consumption, cost, makespan, and throughput. Due to the computational complexity of the SPP, researchers have explored heuristic and metaheuristic approaches, including GA, Firefly, Jellyfish, and Particle Swarm Optimization (PSO) [17,32,33,34]. These approaches have been widely applied in both single-objective and multi-objective optimization contexts to improve service placement efficiency [24,35,36,37,38,39,40,41]. However, in dense and highly heterogeneous FC environments, conventional optimization techniques such as Integer Linear Programming (ILP) and Mixed-ILP often fail to scale effectively and struggle to address dynamic resource constraints. As a result, adopting adaptive, intelligent placement strategies becomes essential for ensuring efficient and scalable service allocation in FC systems. The SPP focuses on mapping IoT application services to a set of computing resources, considering one or more optimization objectives. If the placement optimization involves only one objective, it is referred to as a single-objective SPP; when multiple objectives are considered, it is known as a multi-objective SPP. Determining the optimal mapping of application services to available computing resources has been proven to be an NP-complete problem [42,43,44].
Due to the inherent complexity of the SPP, researchers have developed various heuristic and metaheuristic algorithms as efficient alternatives to exact optimization methods. These approaches aim to obtain high-quality suboptimal solutions rather than computationally expensive optimal solutions, making them more practical for real-world applications. Most of the authors employed approaches for e.g., GA [45,46,47], Firefly Algorithm [48], Jellyfish Algorithm [49], and PSO [16,17,50,51,52,53,54,55,56]. Most studies in the literature optimize service placement using common performance parameters such as latency, energy consumption, cost, makespan, and throughput, employing single-objective or multi-objective optimization techniques [14,57,58,59,60,61,62,63,64,65]. Thus, selecting the most appropriate set of optimization functions and parameters necessarily improves the overall efficiency of service placement in FC environments in terms of scalability and throughput. The comparative analysis of various computing paradigms highlights their distinct strengths and limitations in terms of QoS requirements, heterogeneity, location awareness, real-time compatibility, scalability, mobility support, network function virtualization, trust management, and secure storage are presented in Table 1 [14,34,37,38,39,40,41,44,56,62,63,64,65]. Furthermore, a detailed survey is presented in Table 2, highlighting that most researchers have addressed the IoT SPP using heuristic and metaheuristic approaches. However, some studies have also explored community-based, mathematical programming, and game-theoretic methods, which are further discussed in the literature survey in Section 5. In this paper, we have explored a broad range of studies related to the SPP, with a primary focus on enhancing various service quality criteria. The proposed survey introduces a three-layer FC system along with its mathematical model. Additionally, it categorizes various IoT applications and their corresponding services for deployment based on different characteristics, with a comprehensive discussion provided in Section 3. Finally, this study delves into the SPP, covering its complexity analysis, methodology, performance metrics, and solution taxonomy.

1.1. Motivation and Research Queries

This research aims to comprehensively analyze the SPP in FC environments, covering both single- and multi-objective scenarios. It investigates challenges, issues, and future prospects related to the SPP, comparing existing surveys based on criteria such as the number of articles, types of placement algorithms, and nature of IoT applications. Although existing studies often focus on parameters such as delay, cost, and throughput, this research emphasizes the importance of considering additional factors such as security, privacy, and failure in placement decisions. The overarching goal is to categorize, analyze, and synthesize research on SPP challenges within fog–cloud architecture, offering a comprehensive overview of advancements in the field. The methodology involves selecting relevant papers related to IoT application placement, service placement, task offloading, and task scheduling. Oriented by research questions, this analysis aims to uncover insights into SPP challenges and solutions, contributing to a deeper understanding of the topic and guiding future research directions. Analysus focuses on th following questions:
  • How can we design efficient algorithms for dynamic IoT service placement in FC environments to minimize latency and maximize resource utilization?
  • Does the objective of the SPP depend on specific application requirements and constraints? If so, then what are the most common criteria for choosing objective functions?
  • How does the IoT application model impact the placement decision in the SPP? What are the key factors that determine whether a service should be placed in fog nodes or offloaded to the cloud?
  • How do mathematical models of IoT applications serve as foundational frameworks for researchers and practitioners in optimizing task deployment within fog–cloud environments? Additionally, what methods or techniques can be employed to classify and identify the nature of different tasks involved in IoT applications for efficient placement decisions?
  • How does the availability of computational resources on fog nodes influence the decision to offload tasks from IoT devices, and how do offloading decisions affect the placement of tasks among fog nodes?

1.2. Contributions

This survey article explores strategies and methodologies to address the SPP in FC environments. It begins with a brief overview of the three-layer architecture, followed by discussions on the mathematical models of each layer. Additionally, possible IoT applications and their service models are examined. The key contributions of this survey include the following:
  • We propose an FC model with a three-layer architecture that incorporates a Fog Control Manager as an additional control layer. This introduces infrastructural modifications within the fog cluster to optimize task deployment based on various objectives.
  • We provide a comprehensive analysis of the mathematical representation of the three-layer system model in the fog–cloud architecture, providing detailed elaboration throughout.
  • We systematically classify different application models and their characteristics according to their sensitivity to time, storage, and interdependencies.
  • We conduct an in-depth comparative analysis of single-objective and multi-objective SPPs, thoroughly examining their objective functions and constraints.
  • We highlight various performance parameters that can be incorporated to improve the overall efficiency of the system.
  • In conclusion, we review the research challenges and suggest future directions related to the SPP.

1.3. Organization

The rest of this paper is presented as follows: Section 2 provides an overview of the three-layer FC architecture. Section 3 presents a comprehensive study on IoT applications, including their definition, models, and possible classifications. Section 4 introduces the SPP and conducts a complexity analysis in the FC environment. Section 5 offers a literature survey on the SPP in FC. Section 6 presents a comparative analysis of different approaches to the SPP. Essential performance metrics for evaluating the SPP are discussed in Section 7. Section 8 addresses the challenges of the multi-objective IoT SPP in FC. Section 9 outlines significant research challenges and directions associated with the SPP. This paper concludes in Section 10.

2. Fog Computing Architecture

This section introduces the three-layer FC architecture presented in Figure 1. The IoT device layer comprises various distributed devices or sensor nodes, such as PCs, cameras, mobile phones, and smart cars, which collect environmental data and transmit it to the FC layer through Fog Gateways (FGs) using wireless communication. The FC layer comprises homogeneous or heterogeneous FC nodes capable of executing diverse IoT services. Examples of FC nodes include Smart Gateways, Smart Routers, Embedded Servers, Smart Cameras, Connected Vehicles, and Base Stations. These nodes perform tasks such as data aggregation, filtering, and processing before forwarding the data to cloud data centers for further analysis or storage. To enhance scalability, the FC layer is divided into different fog domains labeled as 1 , 2 , 3 , , k . Each fog domain has a controller node named as the Fog Control Manager. It oversees crucial tasks within an FC environment, including monitoring, scheduling, resource management, and assigning incoming IoT requests to appropriate fog nodes. The cloud computing layer serves as a complementary resource pool to the FC layer. It provides additional computational capacity, storage, and services to support the FC infrastructure during periods of high demand or resource scarcity. The cloud computing layer consists of powerful servers designed to handle computationally intensive workloads. In general, the cloud computing layer complements the FC layer by providing additional resources, centralized management, complex processing capabilities, data analysis and storage, global connectivity, and backup and recovery mechanisms. It enhances the scalability, reliability, and efficiency of FC environments, enabling them to meet the diverse requirements of IoT applications and services.

System Model

In the evolving realm of computing paradigms, the FC system enhances the functionalities of conventional cloud computing at the network edge. In contrast to the traditional cloud-centric model, the FC system utilizes distributed resources located near end users and IoT devices, facilitating low-latency data processing, real-time analytics, and improved QoS across various applications. The three-layer FC system model is presented as first, second, and third layer, respectively, as follows: The IoT device layer (first) comprises a set of heterogeneous IoT devices or sensors such as PCs, smart devices, tablets, mobile phones, etc., represented as D = { d 1 , d 2 , d 3 , , d D } where v D represents the total number of IoT devices. Each of d i D is connected to an FG through a wireless link to perform data transmission between the IoT device and the FC layer. The possible number of IoT applications generated through these devices is the power set of all IoT devices, i.e., 2 D 1 . It also considers that each IoT application A consists of a finite number of independent or dependent services defined as Section 3. The FC layer (second) comprises a set of heterogeneous FC devices, presented as F = f 1 , f 2 , f 3 , , f m . Each FC device f i is defined as a five tuple S , B u l i n k , B d l i n k , L u l i n k , P r a t e where S is the set of sensors of actuators associated with FC devices, B u l i n k is the uplink bandwidth, B d l i n k is downlink bandwidth, L u l i n k is the uplink latency for sending the IoT tasks to the FC layer, and P r a t e is the processing rate of FC devices in million instruction per seconds. Furthermore, it has been assumed that each FC device supports virtual machine monitor management for providing heterogeneous logical resources. A type-1 hypervisor is deployed on the top of the FC devices to allow different virtual machines of FC devices to be represented as f i = V M i 1 , V M i 2 , V M i 3 , , V M i q . The cloud computing (CC) layer (third) is tasked with storing and processing compute-intensive and data-intensive IoT applications. Within this layer, the cloud data center (CDC) comprises a finite number of cloud servers, denoted as C = C S 1 , C S 2 , C S 3 , , C S m , where each C S includes a finite number of physical machines (PM) with varying computing capacities. Additionally, it is assumed that each physical machine (P) supports a type-1 hypervisor to create a finite number of virtual machines, represented as V = V M 1 , V M 2 , V M 3 , , V M j .

3. IoT Application

An IoT application is Software as a Service (SaaS) that receives data from heterogeneous IoT devices and exchanges the data with other devices over the internet to obtain meaningful information. For example, IP-based cameras in a smart city capture video or images and send the data near an FC device or cloud server for processing. Formally, an IoT application is model as four tuple represented by A = T a s k i s i z e , T a s k o s i z e , D e a d l i n e t a s k , R e q u e s t t y p e where T a s k i s i z e is the size of input data, T a s k o s i z e is the size of output, D e a d l i n e t a s k represents the deadline of application, and R e q u e s t t y p e denotes the type of request whether it is On Event, On Request, or Periodic. We consider finite number of On Event IoT application requests A = { A 1 , A 2 , A 3 , , A k } where each A i A , 1 i k consists of a finite number of services or tasks represented as A i = S i 1 , S i 2 , S i 3 , , S i j where i represents the application index and j represents the service or index, respectively. Each indivisible service S i j where 1 j m requires specific computing resources such as CPU, RAM, and memory denoted as C P U ( S i j ) , R A M ( S i j ) , and M E M ( S i j ) , respectively. Equations (1)–(3) represent the total resource consumption of an application A i in terms of CPU, RAM, and memory (MEM). Each application A i consists of multiple services S i j , and the total resource requirement is obtained by summing the resource demands of all its services.
C P U ( A i ) = j = 1 m C P U ( S i j )
R A M ( A i ) = j = 1 m R A M ( S i j )
M E M ( A i ) = j = 1 m M E M ( S i j )

Classification of IoT Application

IoT applications encompass software programs or systems leveraging IoT technology to facilitate data collection, processing, and exchange among connected devices or “things” via a network. They find application across diverse industries and scenarios, including smart homes, industrial automation, healthcare monitoring, smart cities, agricultural monitoring, asset tracking, environmental monitoring, and energy management. Each IoT application exhibits unique characteristics and requirements, necessitating the classification of its components for optimal resource allocation. Researchers and scientists adopt various IoT application models based on different attribute sets for their research endeavors [75,80]. A detailed description of various IoT application models is shown in Figure 2. Below is a concise discussion of these applications:
  • Architectural Perspective: The structure of IoT applications can be implemented in diverse manners. For instance, the process of minutiae extraction from IoT-based fingerprints involves multiple stages such as fingerprint capture, conversion of binary images to thin images, etc. These stages can be encapsulated within a single cohesive program or distributed across a set of interconnected modules. Consequently, based on the granularity of IoT applications, the distribution of their modules, and the degree of coupling, the architectural design of applications can be categorized into four types. The first type is monolithic-based, where the entire logic of an IoT application is composed of tightly integrated modules within a single unit. The execution of such applications typically requires a processor computing framework. Many authors considered monolithic-based IoT applications in their work [35,81,82,83,84]. The second type is microservice-based, aligning with Service-Oriented Architecture (SOA) and Microservice Architecture (MSA). In this approach, the application can be decomposed into a collection of independently deployable units known as microservices. These microservices are loosely coupled entities that interact with each other via lightweight Application Programming Interfaces (APIs) tailored to business needs. Their loosely coupled nature facilitates independent deployment and scaling within a distributed computing platform. For the placement of these microservices, the computing platform must ensure dynamic service discovery mechanisms and efficient load-balancing mechanisms. Microservices are typically packaged as containers, such as Docker, to achieve efficient orchestration. The third type involves an independent set of tasks or services that need to be executed on different computing devices simultaneously. Several works, such as [36,46,59] considered independent services for their work.
  • Distributed Data Flow (DDF): The DDF model of an IoT application is depicted as a directed graph, wherein each vertex requires input from other vertices, and conversely, each vertex has an associated output. Certain vertices in the DDF solely have associated outputs, while others represent inputs for IoT data. Various studies in the literature, such as those by Goudarzi et al. [85], Mahmoud et al. [86], Ahmed et al. [87], and Botta et al. [4], have explored DDF-based IoT applications in their work.
  • Granularity Perspective: The characteristics of each service of an IoT application in terms of computation time, input size, output size, and deadline are different. These features affect the placement decision; hence, we have categorized them into two types: (1) homogeneous and (2) heterogeneous; homogeneous services require the same computing resources for processing and executing a particular IoT application, whereas heterogeneous services need different amounts for processing and execution.
  • Communication-to-Computation Ratio (CCR)-based: Irrespective of the architecture, whether monolithic- or microservice-based, each IoT application encompasses workloads quantifiable in terms of transmission and computation time. Transmission time denotes the duration needed to transmit the IoT workload from the source device to the FC layer. Similarly, computation time refers to the duration required to process the workload by the available fog device. The ratio of transmission time to computation time is referred to as the Computation-to-Communication Ratio (CCR). For instance, let uss consider an IoT application comprising ten heterogeneous services, each with varying computation and transmission times. The CCR value of an application A i is computed using Equation (4).
    C C R ( A i ) = j = 1 m c o m m ( S i j ) j = 1 m c o m p ( S i j )
    Here, c o m m ( S i j ) represents the total transmission time required to send all the services of an application from the IoT devices to the FC device or cloud server, while c o m p ( S i j ) denotes the amount of time required to compute all the services by the FC device or cloud server. The criteria for categorizing applications as latency-sensitive, compute-intensive, or storage-intensive are determined by the CCR. A CCR value greater than 1 indicates a latency-sensitive application, while a value less than 1 signifies a compute-intensive IoT application. In the case where the number of compute-intensive tasks is evenly distributed with the number of communication-intensive tasks, it is classified as a hybrid IoT application.
  • Workflow-Based IoT Application: An IoT application featuring dependencies among a set of services, as depicted in Figure 3, is termed a workflow-based IoT application. Typically, such applications capture the interdependencies of various complex IoT tasks commonly found in FC environments [58,88]. In the DAG-based workflow, the sensor node and actuator node serve as the entry and exit nodes, respectively. A node lacking a predecessor node is designated as an entry node, denoted as i m m e d i a t e p r e d ( t i e n t r y ) = ϕ , while a node without a successor node is identified as an exit node, indicated by i m m e d i a t e s u c c ( t i e x i t ) = ϕ . Furthermore, IoT applications may be represented in more than one DAG.

4. SPP in FC

The SPP in FC environments entails mapping a set of IoT applications to available computing resources while considering various objectives and satisfying network and device constraints. Mathematically, the SPP is represented as a function Π ( P l a c e m e n t ) : A × R R , where A is the set of application requests, each consisting of dependent or independent services, and R = F C represents the set of available computing resources, where F is the set of FC devices and C is the set of cloud servers. The primary objective of the SPP is to find the optimal mapping of computing resources that meet the requirements of various services while satisfying application and resource constraints. To illustrate the SPP, consider an example with five services of an application ( A = S 1 , S 2 , S 3 , S 4 , S 5 ) and three computing resources ( R = V M 1 , V M 2 , V M 3 ). The resource mapping function Π = [ 1 ,   3 ,   2 ,   3 ,   1 ] indicates the mapping of services to virtual machines, where S 1 and S 5 map to V M 1 and V M 5 , S 2 maps to V M 3 , S 3 maps to V M 2 , and S 4 maps to V M 3 . In the worst-case scenario, if n number of services and m number of VMs are given, the total number of possible combinations is determined using conventional binomial theorem, resulting in the worst-case time complexity of 2 n 1 . The mapping of services and VM are presented in Figure 4, while the flowchart outlining the SPP process is presented in Figure 5.
C 1 n + C 2 n . . . . + C n n = 2 n 1
Equation (5) represents the total number of possible combinations of mapping various services to the available VM through the brute force approach. In terms of complexity theory, the worst-case time complexity for finding the best placement mapping between the finitely many set of services to the finite set of VM gives non-polynomial time, i.e., O ( 2 n 1 ) . This proves that the SPP comes under the non-polynomial class problem. The full analysis and proof of the NP-complete problem is shown in our previous work [32,59].

Assumptions

  • Each FC node has a multi-core CPU, enabling horizontal and vertical scalability for efficient service mapping.
  • The latency for the inter-cluster fog domain is negligible, allowing seamless data exchange.
  • The arrival of IoT service requests is modeled using a Poisson distribution, effectively representing realistic dynamic workloads in the FC environment.
  • Live service migration is not allowed under any circumstances.
  • The terms ‘task’ and ‘service’ can be used interchangeably in this paper unless explicitly stated otherwise.
  • The terms ‘service placement’, ‘application deployment’, ‘task placement’, and ‘task scheduling’ have the same meaning in the context of resource allocation and hence they can be used interchangeably in relevant discussions.

5. Related Studies

The SPP in FC has gained substantial attention in the literature, prompting extensive research to analyze its complexities and challenges. Numerous studies have been conducted to provide comprehensive surveys, examining various aspects and issues associated with the SPP. Evolutionary algorithms have emerged as a popular choice among researchers for managing resources in FC environments, addressing challenges such as determining the optimal number of FC nodes and scheduling tasks to meet specific QoS requirements. Evolutionary-based approaches have been widely adopted to address the SPP in FC environments, not only for single-objective optimization but also for multi-objective optimization. Parameters commonly optimized in the literature include makespan, response time, energy consumption, cost, and network throughput. To maximize the utilization of FC resources, researchers consider various parameters, including resource estimation for resource-hungry applications, frequency of IoT application requests, service rate of available FC nodes, and QoS metrics such as scalability, deadline satisfaction ratio, blocking probability, security, privacy, and trust. The taxonomy of approaches used for finding exact and approximate solutions for the SPP is illustrated in Figure 6 and Figure 7. Overall, the investigation of the SPP in FC environments involves considering various factors and employing diverse optimization techniques to address the complexities of resource management and QoS requirements.

5.1. Studies Related to Single-Objective Service Placement

The single-objective IoT service placement challenge in FC entails identifying the optimal distribution of services from IoT devices to fog nodes within a networked framework, aiming to enhance a single performance metric or objective. This issue occurs in FC designs, where services are positioned at the network’s edge, nearer to IoT devices, to minimize latency, conserve bandwidth, and enhance overall system efficiency. In this context, the term ‘service’ refers to computational tasks, data processing functions, or applications that run on IoT devices and require resources for execution. Fog nodes are intermediate computing devices located at the edge of the network, typically closer to IoT devices than centralized cloud servers. The single-objective IoT SPP aims to determine which services should be deployed on which fog nodes to achieve a specific optimization goal.
In [46], the authors present a methodology for optimizing service placement in FC environments using a population-based metaheuristic approach. They conceptualize the fog landscape as a collection of fog colonies, each representing a potential location for deploying services. The objective of the SPP is to maximize the number of services that can be placed on these fog colonies, thereby improving the QoS. The authors employed GA, a metaheuristic optimization algorithm to find an optimal service placement plan with the objective for maximizing the QoS. The simulation results indicated that the proposed algorithm effectively executed 70% of the services, leading to a significant 35% decrease in the cost associated with executing services in the cloud. This suggests that the selected approaches for service placement optimization offer substantial improvements in QoS and cost-efficiency compared to traditional cloud-based execution models.
In [89], the authors introduce a novel task scheduling algorithm called the Workload Dynamic Scheduling Algorithm (WDSA), which aims to reduce service processing delays. The evaluation of the algorithm’s optimality and worst-case delay provides insights into its effectiveness in reducing service processing delays within the proposed architecture. The evaluation of the proposed methodology relies heavily on simulation experiments, which may not fully capture the complexities and uncertainties of real-world IoT deployments.
In [83], the authors propose a heuristic-based service placement approach to optimize the FC resources to meet the IoT applications requirement. The approach focuses on efficiently mapping IoT application modules to available fog devices based on their resource requirements. The proposed heuristic-based module mapping approach offers a method for optimizing FC resources for IoT application demands; its effectiveness may be limited by the lack of consideration for energy requirements, delay restrictions, and real-time constraints in fog devices, as well as the absence of module requirements in certain IoT applications. Addressing these limitations could enhance the applicability and performance of the proposed approach in real-world IoT deployments.
In [71], the authors assess various factors such as resource utilization, service distribution, and network delay to optimize application placement within FC environments. Their mission is to determine the most effective placement strategy for multi-objective parameters by assessing several optimization strategies, including the weighted sum method, Non-Dominated Sorting GA-II (NSGA-II), and multi-objective nature-inspired algorithms. However, their proposed methodology may face scalability issues when implemented in extensive IoT systems comprising various devices and services. With the proliferation of fog nodes and IoT devices, the computational complexity of the optimization process may escalate, resulting in prolonged processing durations and heightened resource usage.
An energy-aware application module placement technique is given in [90] to reduce energy consumption. This method allocates service requests from IoT applications among fog devices according to their available CPU capability and current energy consumption. It utilizes Dynamic Voltage and Frequency Scaling (DVFS) technology to modulate CPU frequencies and decrease energy usage. The proposed algorithm optimizes fog device utilization by uniformly spreading the workload to avoid overburdening or under-utilizing any device. Moreover, it incorporates edge-ward placement strategies to guarantee that delay-sensitive jobs are managed by fog devices whenever feasible. The authors also examine specialized networking tools for gateway selection and the Fog Orchestrator Node (FON) in the application placement procedure.

5.2. Studies Related to Multi-Objective Service Placement

The multi-objective SPP refers to the challenge of optimizing the allocation of services in FC environments while considering multiple conflicting objectives simultaneously. This optimization task involves mapping the services of an application to available computing resources in a way that balances various objectives, such as minimizing latency, reducing energy consumption, minimizing cost, and maximizing throughput. The multi-objective SPP is an important issue in FC as it allows the system to focus more than one objective simultaneously. It helps in achieving more balanced and optimal solutions for dynamic IoT applications.
In [36], the authors present a study on a multi-objective application offloading scheme in a multi-tier fog–cloud environment, aiming to find optimal offloading schemes for computation-intensive IoT applications across multiple criteria. To address this multi-criterion offloading problem, the authors propose an extension of the nature-inspired algorithm PSO called Accelerated PSO (APSO). The results demonstrate that the proposed APSO algorithm outperforms other state-of-the-art algorithms such as COG [91], MFC [26], and OJD [92] in terms of energy consumption, cost, and delay. However, the paper lacks consideration for delay-sensitive IoT applications and does not explore the potential benefits [91] of a multi-tier architecture for offloading delay-sensitive IoT applications.
In [74], the study focuses on the placement of throughput-intensive IoT applications; however, it does not explicitly present a mathematical model for throughput-sensitive IoT applications. The problem is formulated using Mixed-Integer Nonlinear Programming (MINLP), and a pseudo-gradient-based partitioning algorithm is proposed to address the placement challenge. A key limitation of this work is that the computational complexity of the proposed algorithm is not discussed, which is crucial for understanding its scalability and practical applicability.
In [93], the Cuckoo Search Algorithm (CSA) is employed to address the multi-objective SPP. The CSA is a population-based evolutionary algorithm, inspired by the nesting and migration behavior of cuckoo birds, where adult cuckoos and their eggs move collectively in flocks to locate optimal habitats under favorable climatic conditions. The algorithm has been widely applied to various real-world optimization problems due to its effectiveness in exploration and exploitation. However, a key limitation of the CSA is its computational intensity, as it requires multiple evaluations, making it less efficient for high-dimensional and complex optimization tasks. Additionally, population-based algorithms often face challenges in guaranteeing global convergence, as they may become trapped in local optima due to the inherent exploration–exploitation trade-off.
In [94], the authors propose a multi-objective service placement method utilizing an elitism-based GA to optimize service duration, energy consumption, and cost in a containerized fog environment. The GA integrates elitism, ensuring that the fittest chromosomes from one generation are carried over to the next, thereby enhancing convergence towards an optimal solution. The study identifies that only 8% of the population comprises elite chromosomes, highlighting the selective nature of the approach. However, a notable limitation of this method is its inaccurate classification of the application model and the lack of consideration for the Pareto-front solution in multi-objective optimization, which is essential for balancing trade-offs among conflicting objectives.
In [95], the authors propose a novel task scheduling approach that integrates the Heterogeneous Earliest Finish Time (HEFT) heuristic algorithm with the Fireworks Algorithm (FWA), a metaheuristic technique. This hybrid method, referred to as BH-FWA, employs a bi-objective optimization strategy to minimize both makespan and cost. The algorithm’s performance is evaluated through extensive experiments on various scientific workflows, comparing its effectiveness against alternative scheduling methods. Simulation results demonstrate the superior efficiency of BH-FWA, particularly in fog–cloud networks, where key performance metrics such as makespan, cost, and throughput are analyzed to validate its optimization capabilities.
In [71], authors have investigated and compared three different evolutionary algorithms: the weighted sum GA (WSGA), the NSGA-II, and the multi-objective evolutionary algorithm based on decomposition (MOEA/D) for multi-objective IoT service placement. The system model entails FC architecture, applications, and optimization goals, emphasizing network latency, service distribution, and resource efficiency. The algorithms were assessed and evaluated through simulation and experiments conducted on a random Barabasi–Albert network topology comprising 100 devices and differing application service sizes. The results indicated that NSGA-II surpassed other methods in optimizing objectives and enhancing solution space diversity, but MOEA/D demonstrated superior performance in minimizing execution times.
In [59], the authors formulate the SPP as a multi-objective optimization, with the objective of enhancing workload distribution among various computing nodes. The NSGA-II technique was utilized to address the multi-objective optimization problem. The numerical findings indicate that their proposed technique significantly enhances energy usage and processing delay in a fog–cloud environment. The simulation results exemplify that 25% of IoT workloads processed by fog devices reduced both energy usage and latency, demonstrating the effectiveness of their strategy in improving workload distribution in a fog–cloud environment. The notable limitation of the proposed work is the computational cost of NSGA-II, particularly in the context of large-scale optimization problems or high-dimensional search spaces. Both references [59,96] employ NSGA-II, a widely used multi-objective optimization algorithm, but [96] expands its scope by considering scalability. If the system needs to scale dynamically and maintain performance under increasing workloads, reference [96] is a better choice despite its higher computational cost.
In [97], the authors introduce AMOSM, which is an adaptable multi-objective optimization technique tailored for work scheduling in FC environments. AMOSM aims to improve resource allocation by minimizing total execution time and task resource expenses within the fog network. It presents a multi-objective work scheduling model and employs a novel evolutionary heuristic technique to identify Pareto optimal solutions. The method optimizes its neighborhood to mitigate the impact of neighborhood policies on the distribution of the task scheduling population. Experimental findings indicate that AMOSM surpasses alternative approaches for task execution duration, resource expenditure, and load allocation. Nonetheless, the study fails to consider the complexity analysis of the proposed algorithm.
In [98], the authors propose the GA to solve the multi-objective task scheduling problem in FC to address latency-sensitive IoT applications. The proposed GA-based algorithm is evaluated against non-optimized methods including Round Robin (RR), Priority Strict Queuing (PSR), and Weighted Fair Queuing (WFQ), revealing a significant latency decrease of 21.9% to 46.6%. However, the study did not investigate latency-tolerant IoT applications, instead focusing on latency-sensitive scenarios. The comprehensive literature survey for the multi-objective SPP is presented in Table 3 and Table 4.

5.3. Studies Related to Community-Based Service Placement

The community-based partition algorithm, originally employed to improve resource management in distributed systems with heterogeneous devices, originally addressed issues in resource management in distributed computing. Optimizing resource allocation is accomplished by grouping fog nodes into communities based on their topological properties or similarities. The community-based SPP ensurse that services are placed strategically within the fog network to minimize latency, optimize resource utilization, and enhance overall system performance. In this section, we conduct a survey of the community-based service placement approach employed by various authors.
The authors in [128] concentrate on optimizing service placement in IoT environments, specifically targeting latency reduction, which is essential for applications such as public safety and the healthcare domain. A revolutionary approach called the intelligent service placement system was devised, which strategically allocates services according to user needs. The system consists of three essential modules: the first module, the Services Repository, which stores accessible services; the second module, Information Collection, which gathers network and user–service interaction data to create a cost map; and the third module, Service Orchestration. The core module formulates deployment methods employing ILP to reduce the number of hops between nodes and users. This holistic strategy seeks to improve the efficacy of service deployment in IoT contexts by addressing user requirements and optimizing resource distribution.
In [66], the authors recommend a service placement policy designed to effectively allocate applications to interconnected fog device communities. Their methodology entails linking fog nodes in a community to application services, aiming to enhance user closeness. This policy necessitates computational assistance to allocate applications to suitable fog communities. The technique consists of two phases: first, mapping apps to fog communities, and second, providing access to an application’s services within a fog community.
In [129], the authors have addressed the SPP in FC by dividing an application into services and placing them on fog nodes if possible. If it is not possible to place services on fog nodes due to resource shortage, services are forwarded to the cloud for placement. Placement of services is performed in a sequential manner or parallel fashion, and to place the services in FC nodes certain strategies are used. For example, the first-fit strategy is where services are placed on fog nodes one by one for processing; when no fog nodes are available with resources, then that service is sent to cloud. Another strategy is best-fit, where a threshold is set to define input size available that a fog node can handle. In case of service resource demand surpassing the threshold, it is sent to cloud. Otherwise, requested services are sorted in ascending order according to the resources they demand to improve service performance in terms of response time.
In [130], the authors propose an algorithm for service placement in a multi-tier fog–cloud environment. This involves dividing applications into services and attempting to place them onf og nodes. If resources are insufficient, services are redirected to the cloud. Placement strategies include sequential or parallel placement of services. Two specific strategies are highlighted: the ‘first-fit’ approach, which sequentially assigns services to fog nodes until resource exhaustion, and the ‘best-fit’ approach, which sets a threshold for fog node capacity and redirects services to the cloud if demand exceeds this threshold. Services are also sorted based on resource demands to enhance performance, prioritizing lower resource-demanding services to improve response times.
The potential drawback of the existing community-based service placement algorithm in FC is its reliance on pre-defined communities or partitions. These partitions may not always accurately reflect the dynamic nature of network conditions and resource availability.

5.4. Studies Related to Joint-Based Service Placement

Many researchers have explored various optimization strategies, as documented in prior studies [43,61,72]. The joint service placement of IoT applications in fog–cloud environments involves optimizing the allocation of computational tasks and services across fog nodes and cloud resources with two different strategies. One is service placement, and the other is service offloading. This approach aims to enhance system performance, resource utilization, and QoS for IoT applications. However, there are scenarios where IoT applications necessitate collaborative decisions regarding the placement of service. In this section, we delve into the literature that addresses the joint optimization of service offloading and placement within fog–cloud systems.
The authors in [131] propose iFogStor, which is a data placement approach in the FC environment based on the optimal location to reduce the overall latency of storing and retrieving data. The problem is formulated as a general assignment problem. The problem is solved by using exact optimization method integer programming and the heuristic algorithm based on geographical zoning. The geographical zoning heuristic enables efficient problem-solving for a large number of fog nodes within seconds, making iFogStor feasible in runtime and scalable. Both solutions demonstrated high performance, reducing latency by more than 86% compared to a cloud-based solution and by 60% compared to a naive fog solution. Despite its effectiveness in reducing latency and improving scalability, it has notable limitations, for example, geographical zoning may not be suitable for dynamic or highly mobile environments where fog nodes frequently change locations and the proposed heuristic may not guarantee optimal resource allocation.
In [17], the authors propose a QoE-aware application placement algorithm in an FC environment, utilizing Modified Technique for Order of Preference by Similarity to Ideal Solution (modified-TOPSIS). They have considered the Fog Gateway Nodes (FGNs) and Fog Computational Nodes (FCNs) in their three-layer architecture to connect the IoT devices and compute the respective service. The FGNs prioritize FC nodes via modified-TOPSIS, based on their resource offerings and demands for IoT devices, contingent upon their requirements.
In [109], the authors propose a novel optimized task allocation algorithm in a Vehicular Fog Computing (VFC) environment, focusing on latency and quality to meet the increasing demands for real-time situational awareness applications. The work considers both stationary and mobile fog nodes. The problem is formulated as as a bi-objective minimization problem, where a trade-off is maintained between the service latency and quality loss as a joint optimization problem, taking into account restrictions related to service delay, quality degradation, and fog capacity. Task allocation in VFC is represented as a bi-objective minimization issue, optimizing service delay and quality degradation. The proposed methodology utilizes event-triggered dynamic task allocation using linear programming optimization and binary PSO. Assessing simulations utilizing actual world taxi traces data comprising video streaming and real-time objects, the results show that proposed approach decreases average service latency by as much as 27% and reduces quality loss by up to 56%.
In [108], the authors offer a two-tier resource scheduling paradigm to efficiently manage heterogeneous resources. A resource scheduling system among fog nodes within the same fog cluster is developed utilizing an enhanced version of the NSGA-II, which considers the diversity of various devices. MATLAB R2024b simulations indicate that the suggested strategy significantly decreases service latency and improves task execution stability.

5.5. Studies Related to Microservice-Based Service Placement

Designing IoT applications as microservices offers several advantages. It facilitates enhanced flexibility, scalability, and maintainability, allowing developers to change or modify individual microservices without affecting the entire application. Moreover, microservice design enables more efficient deployment and maintenance in dispersed contexts, including fog and cloud computing platforms. Utilizing microservices architecture for IoT applications enhances agility and adaptability in addressing changing requirements and surroundings. In a microservices architecture, services interact using lightweight protocols, commonly employing HTTP/REST or messaging queues. Each service may be developed utilizing various programming languages, frameworks, and technologies, enabling teams to select the most suitable tools for their particular needs.
In [132], the authors propose a microservice-aware SPP for optimizing the complex dependencies and multiple instances, as a Fractional Polynomial Problem (FPP). Several studies have focused on optimizing the re-deployment of microservices to adapt to evolving requirements. However, existing works often overlook the complex dependencies between microservices and the presence of multiple instances of a single microservice within a system. Due to the high computational complexity of the FPP, the problem is transformed into a Quadratic Sum-of-Ratios Fractional Problem (QSRFP), which is solved using the proposed greedy-based algorithms. Experimental results indicate that the proposed models and algorithms surpass existing methods in both solution quality and computational efficiency, providing a more effective approach to service placement in microservice systems.
In [133], the authors propose novel reinforcement learning with graph neural networks (GNNs) to create an intelligent placement policy for microservices (MS) in MEC networks. The proposed algorithm aims to maximize the reward for MS application providers by optimizing the location of MS modules and managing fractional computing resource allocation. The paper includes systematic experiments to evaluate the performance of the proposed algorithm. The results demonstrate that proposed algorithm outperforms existing benchmarks in terms of reward, service delay, and deployment cost, showcasing the effectiveness of the proposed methods. Despite its effectiveness, it has notable limitations like reinforcement learning models requires extensive time and resources, which may limit their practical adoption in dynamic resource-constrained FC environments.
The authors in [71] address the issue of microservice-based IoT application placement within FC environments to fulfill service-level agreements. The aim of their work is to reduce delay and resource consumption while adhering to network limits and user-defined application service deadlines. They utilized a population-based metaheuristic technique for the application placement problem and compared it with three other metaheuristic algorithms: the WSGA, NSGA-II, and MOEA/D. The issue has been characterized as a multi-objective SPP challenge for a varied array of IoT applications. The suggested algorithm has been evaluated by examining the IoT–fog–cloud environment against a random Barabasi–Albert network architecture comprising 100 devices, utilizing two experimental sizes of 100 and 200 application services. Other network topologies must be studied to assess the efficacy of the proposed approach.

6. Comparative Analysis

This section provides a comparative study on the SPP for the formation of various algorithms on the single- and multi-objective IoT SPP as discussed in the literature presented in Table 2, Table 3, Table 4 and Table 5. As a result, various optimization techniques have been utilized to formulate the SPP, which includes mathematical programming, linear programming, integer programming, and mixed-integer programming. These approaches are designed to achieve the optimal allocation of IoT services to fog nodes while satisfying critical constraints such as resource availability, latency requirements, and cost minimization. While optimization-based methods provide precise solutions, they are often impractical for real-world, large-scale, and dynamic FC scenarios. To address these challenges, heuristic and metaheuristic approaches offer efficient, scalable, and adaptable solutions for IoT service placement in FC environments. On the other hand, heuristic and metaheuristic algorithms, such as GA, Simulated Annealing (SA), Ant Colony Optimization (ACO), and PSO, provide scalable and efficient alternatives for IoT service placement in FC environments. Unlike exact optimization methods, these algorithms leverage iterative search and probabilistic techniques to explore the solution space and identify near-optimal solutions within feasible time constraints. Their ability to adapt dynamically to changing workloads and resource availability makes them particularly well suited for large-scale deployments in highly dynamic FC infrastructures [16,36,57,134].
Game theory frameworks, such as cooperative game theory or non-cooperative game theory, can model the interactions and decision-making processes among fog nodes, IoT devices, and cloud servers in fog–cloud environments. These approaches aim to achieve equilibrium solutions where each player optimizes its utility or payoff, thereby facilitating efficient resource allocation and service placement. Hybrid approaches combine multiple techniques, algorithms, or methodologies to address the IoT SPP more effectively. For instance, a hybrid approach may integrate optimization-based techniques with machine learning models or combine heuristic algorithms with simulation-based methods to enhance performance and scalability.
Another approach used in the literature is community-based service placement in FC, which leverages collaborative resource sharing and allocation among multiple fog nodes within a community or network. However, a limitation of this approach is that sharing sensitive information about resource availability, workload status, or service requirements among other fog nodes within a community may raise privacy concerns, especially if nodes belong to different organizations or have competing interests.

7. Performance Metrics for IoT SPP

The evaluation of service placement algorithms in an FC environment and the optimization of system performance are significantly dependent on the appropriate selection of performance metrics. Key metrics such as latency, energy consumption, resource utilization, deployment cost, and service response time play a crucial role in evaluating the efficiency and effectiveness of placement strategies. In addition, factors such as throughput, fault tolerance, and scalability determine the robustness of the system under dynamic workload conditions. Selecting the right combination of metrics ensures a comprehensive evaluation, enabling the development of effective, real-world service placement solutions that balance performance, cost, and resource efficiency in FC environments. In this context, we have identified and included a list of crucial parameters that must be thoroughly investigated when making placement decisions. These parameters serve as key determinants in optimizing resource allocation, minimizing service delays, and ensuring the overall effectiveness of the SPP in FC.
  • Resource Usage: This refers to effective utilization of computing, storage, and networking resources available in the FC layer. The computing nodes are equipped with CPUs, GPUs, and other processing units to perform computation-intensive tasks. Computing resources are utilized to execute application logic, data analytics, machine learning algorithms, and other processing tasks required by IoT application nodes deployed at the network edge.
  • Resource Scaling: The capacity to adjust computational resources in response to the fluctuating demands of diverse IoT applications is a critical factor in achieving QoS. Resources can be scaled either horizontally or vertically. Horizontal scaling seeks to augment the quantity of virtual machines, while vertical scaling focuses on enhancing the CPU, RAM, and cores of existing virtual machines. Therefore, to enhance placement decisions, there must be a mechanism to scale up and down to accommodate a substantial volume of IoT application requests.
  • Average Response Time: The average response time for each layer must be assessed separately for the FC layer and the cloud computing layer. The average response time for latency-sensitive IoT applications is determined at the FC layer, while for latency-tolerant applications, it should be assessed at the cloud computing layer.
  • Throughput: This refers to the rate at which tasks or service requests are processed by the FC system. Higher throughput indicates that the system can handle a larger volume of requests within a given time period, which is a desirable characteristic for FC environments. In the context of a fog–cloud system, the service placement algorithm used must be capable of calculating the throughput for both the FC and cloud computing layers.
  • Scalability: Scalability is defined as the system’s ability to support many IoT applications in an FC system. So, IoT application placement must consider the scalability in terms of hardware as well as software. It is one of the most important measures for distributed system developers.
  • Fault Tolerance: Despite the deployment of IoT applications, certain system components may fail; however, the load-balancing system must operate effectively. If one VM is overloaded, another VM should be performing the services. The efficacy of the load-balancing algorithm is closely correlated with the system’s fault tolerance. To prevent underloading and overloading of the virtual machine, the fault tolerance capacity must be assessed for each layer of the system.
  • Security and Privacy: IoT networks are prone to various types of cyber threats, e.g., man-in-the-middle attack, denial of service attack, etc. Hence, it is customary to measure the security and privacy measures of various IoT applications while making the decision of placement of these applications into the the available computing resources. Some important cybersecurity measures include confidentiality and integrity, which ensure the correct result after computation and hide the privacy-related information from unauthorized users.

8. Multi-Objective IoT SPP Challenges

In the literature, two principal stochastic optimization methodologies are frequently employed to tackle multi-objective optimization challenges: posterior and prior. The prior technique converts the multi-objective optimization issue into a single-objective problem by assigning weights to the goal functions. This prioritization allows for the formulation of a single-objective function that combines the weighted objectives. However, obtaining the Pareto optimal solution using this approach typically requires multiple executions, especially when the priorities of different objectives are not explicitly defined. In contrast, the posterior approach is considered more efficient than the prior approach. In this approach, the Pareto front solution can be obtained in a single execution without the need for assigning weights to the objective functions. By considering the trade-offs between different objectives, the posterior approach directly aims to identify solutions that represent the best compromise across multiple objectives.
Despite the advantages of these approaches, several research challenges still exist in the field of multi-objective optimization. These challenges may include algorithmic efficiency, scalability to handle large-scale problems, handling uncertainties and noise in objective functions, and addressing conflicting objectives. Overcoming these challenges is crucial for advancing the effectiveness and applicability of stochastic optimization techniques in solving multi-objective optimization problems.
  • Application-Specific Requirements: IoT applications have varying processing latencies, data throughput, and reliability requirements. Customizing placement strategies to meet the specific requirements of each application while optimizing resource utilization adds complexity to the placement process.
  • Interoperability: The presence of several heterogeneous IoT devices, each employing various communication protocols, network configurations, and procedures, complicates the determination of optimal location for distinct IoT applications. Integrating an interoperability issue handler within the fog layer is essential for developing an effective placement strategy for various IoT applications.
  • Diverse constraints: The variability and heterogeneity inherent in FC devices and IoT applications impose numerous constraints that must be met during the placement process. For instance, meeting a hard deadline necessitates ensuring that the application’s response time remains within the specified timeframe. Moreover, in healthcare IoT applications, maintaining the privacy of sensitive information is paramount and should not be compromised by unauthorized access. Therefore, an intelligent placement approach is indispensable to address these diverse requirements effectively.
  • Performance Metrics Selection: The objective of a multi-objective IoT SPP is to enhance system performance by optimizing multiple metrics simultaneously. Therefore, it is crucial to carefully select the optimization metrics to either maximize or minimize based on the specific objectives. While conventional parameters such as latency, energy, resource utilization, and cost are commonly utilized in the existing literature, it is essential to explore additional parameters like security, privacy, fault tolerance, and availability in multi-objective service placement to ensure comprehensive optimization.
  • Scalability: Scalability influences resource allocation to adapt to changing workloads and demands. When choosing fog nodes for application placement, scalability in terms of computational power, memory, storage, and network bandwidth is crucial. To enhance the performance of the multi-objective IoT SPP, service placement must effectively manage scaling up and down in various scenarios.
  • Effective Resource Management: Managing geo-dispersed resources across entities in a fog–cloud system presents a significant challenge. The decentralized nature of FC, combined with cloud servers, increases complexity in resource management. Multi-level resource management techniques may be necessary at different layers to address this complexity. Additionally, resource discovery and estimation become crucial due to the mobility of IoT devices. Network Function Virtualization and SDN can help streamline the management of geo-dispersed resources in the FC system.
  • SLA/QoS management: Meeting the Service Level Agreement (SLA) QoS goals is essential for various mission-critical applications. The existing articles in the literature used the same SLA defined for the cloud, which seems unrealistic; hence, one can design new SLA frameworks for emerging mission-critical IoT applications.

9. Research Challenges and Future Directions

After analyzing various studies on the IoT SPP, several open challenges and unresolved issues have been identified, necessitating further research in the FC environment. The key research challenges and future directions for multi-objective SPP can be outlined as follows:
  • As observed in Table 4, a significant limitation in existing IoT-SPP approaches lies in the decision-making process between single-objective and multi-objective optimization models. Properly determining whether the IoT SPP should follow a single-objective or multi-objective approach is crucial, as it directly impacts the QoS across various IoT application domains.
  • Another critical challenge is the overlooked impact of mobility in latency-sensitive applications. Effectively addressing the IoT SPP requires mobility-aware management to ensure seamless resource provisioning and minimize service disruptions. Future research should focus on developing optimized placement strategies that account for dynamic resource allocation in mobility-driven IoT environments.
  • Implementing redundancy and fail-over mechanisms is essential to ensure the high availability and reliability of security-aware IoT applications. These mechanisms help measure critical security services across the FC infrastructure, mitigating the impact of node failures or network disruptions.
  • Authors often resort to population-based metaheuristic algorithms to tackle the computationally challenging IoT SPP efficiently. These algorithms aim to find near-optimal solutions within a reasonable time frame. Convergence analysis is crucial for assessing the effectiveness of these algorithms, determining their optimality, and establishing stopping criteria. Therefore, devising novel stopping criteria based on unique parameters could facilitate obtaining the best solution within an acceptable time frame.
  • Most discussion of the SPP in the literature assumed that IoT application tasks are independent. However, many real-world IoT applications involve varying degrees of task interdependence, where a single task or service relies on multiple other tasks for execution. In such cases, determining the optimal execution order of these tasks becomes a complex challenge. Therefore, accurately identifying the application model and understanding the service characteristics are essential for ensuring the efficient allocation of services to appropriate computing nodes, ultimately enhancing system performance and resource utilization.
  • The majority of documented IoT SPPs pertain to prevalent factors such as latency, energy consumption, cost, and reaction time. To address the issue, it is essential to ascertain additional critical parameters, such as reducing the drop rate caused by the sporadic influx of tasks, decreasing the waiting time when prioritizing IoT tasks in the queue, and adjusting resource allocation during peak hours by increasing or decreasing the number of virtual machines, bandwidth, etc. Therefore, novel or enhanced objective functions must be integrated into the objective functions for diverse real-time IoT applications to optimize resource allocation.
  • Container-based virtualization encapsulates necessary libraries, source codes, and activities, simplifying application deployment. Future work on IoT SPPs could thus focus on adopting containerized FC environments for enhanced efficiency.

10. Concluding Remarks

This survey examined the impact of service placement issues within the FC environment. To achieve these objectives, we analyze various methodologies employed in the literature alongside distinct IoT application models. Most of the approaches used in the literature for solving the IoT SPP are based on an optimization model; however, they have not discussed how the optimization algorithm works, e.g., whether the placement decision is made by a central entity or by more than one central entity. If it is one central entity, then finding the placement of IoT services is computationally challenging in terms of scalability. The second challenge for the IoT SPP involves classifying IoT applications into various priority tiers according to their criticality, assessing service-level objectives for each tier, delineating performance metrics, QoS criteria, and availability benchmarks for each service.
This article offers a comprehensive examination of potential IoT applications categorized by several attributes. Furthermore, it encompassed a discourse on several methodologies for addressing the issue of service placement inside a fog–cloud environment, featuring a comprehensive analysis of both single- and multi-objective-based SPP, which includes an extensive array of performance indicators. Nonetheless, the optimal approach is to formulate a placement strategy that circumvents local optima and premature convergence, tailored to the unique application to attain the necessary QoS. Moreover, the placement approach must address the dynamism and uncertainty inherent in the SPP, such as the failure of a single node or numerous nodes inside the fog device. Ultimately, it addressed the significant research obstacles and prospective research trajectories concerning the SPP. It also intends to examine application deployment methodologies in serverless, mist, and dew computing environments in subsequent research.

Author Contributions

Conceptualization, H.K.A., V.G., B.S., R.K.B. and M.J.S.; methodology, H.K.A., V.G., B.S. and R.K.B.; software, H.K.A., V.G., B.S. and R.K.B.; validation, M.J.S.; formal analysis, H.K.A.; investigation, M.J.S.; resources, B.S., R.K.B. and M.J.S.; data curation, H.K.A., V.G., B.S. and R.K.B.; writing—original draft preparation, H.K.A., V.G., B.S. and R.K.B.; writing—review and editing, M.J.S.; visualization, H.K.A. and M.J.S.; supervision, V.G. and M.J.S.; project administration, R.K.B. and M.J.S.; funding acquisition, M.J.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

All data are presented in the main text.

Acknowledgments

The authors thank the Biomedical Sensors & Systems Lab, University of Memphis, Memphis, TN 38152, USA, for supporting this research and the article processing charges.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Kizza, J.M. Internet of things (iot): Growth, challenges, and security. In Guide to Computer Network Security; Springer: Berlin/Heidelberg, Germany, 2024; pp. 557–573. [Google Scholar]
  2. Cisco. Cisco Intent-Based Networking At-a-Glance. 2019. Available online: https://www.cisco.com/c/en/us/solutions/collateral/enterprise-networks/digital-network-architecture/nb-06-intent-based-networking-aag-cte-en.html?oid=aagen016865 (accessed on 19 July 2021).
  3. Rimal, B.P.; Choi, E.; Lumb, I. A taxonomy and survey of cloud computing systems. In Proceedings of the 2009 Fifth International Joint Conference on INC, IMS and IDC, Seoul, Republic of Korea, 25–27 August 2009; pp. 44–51. [Google Scholar]
  4. Botta, A.; De Donato, W.; Persico, V.; Pescapé, A. Integration of cloud computing and internet of things: A survey. Future Gener. Comput. Syst. 2016, 56, 684–700. [Google Scholar] [CrossRef]
  5. Mehta, R.; Sahni, J.; Khanna, K. Task scheduling for improved response time of latency sensitive applications in fog integrated cloud environment. Multimed. Tools Appl. 2023, 82, 32305–32328. [Google Scholar] [CrossRef]
  6. Iorga, M.; Feldman, L.; Barton, R.; Martin, M.; Goren, N.; Mahmoudi, C. Fog Computing Conceptual Model Special Publication (NIST SP), National Institute of Standards and Technology, Gaithersburg, MD. Available online: https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.500-325.pdf&ved=2ahUKEwimzPXduoGMAxX0sFYBHexEPMUQFnoECA8QAQ&usg=AOvVaw3ZaRr_PxGVPD7_uPR01O_D (accessed on 30 January 2025).
  7. Garg, S.K.; Versteeg, S.; Buyya, R. A framework for ranking of cloud computing services. Future Gener. Comput. Syst. 2013, 29, 1012–1023. [Google Scholar] [CrossRef]
  8. Sabireen, H.; Venkataraman, N. A Hybrid and Light Weight Metaheuristic Approach with Clustering for Multi-Objective Resource Scheduling and Application Placement in Fog Environment. Expert Syst. Appl. 2023, 223, 119895. [Google Scholar] [CrossRef]
  9. Subbaraj, S.; Thiyagarajan, R.; Rengaraj, M. A smart fog computing based real-time secure resource allocation and scheduling strategy using multi-objective crow search algorithm. J. Ambient. Intell. Humaniz. Comput. 2023, 14, 1003–1015. [Google Scholar] [CrossRef]
  10. Aslanpour, M.S.; Toosi, A.N.; Cicconetti, C.; Javadi, B.; Sbarski, P.; Taibi, D.; Assuncao, M.; Gill, S.S.; Gaire, R.; Dustdar, S. Serverless edge computing: Vision and challenges. In Proceedings of the 2021 Australasian Computer Science Week Multiconference, Dunedin, New Zealand, 1–5 February 2021; pp. 1–10. [Google Scholar]
  11. Benomar, Z.; Longo, F.; Merlino, G.; Puliafito, A. Cloud-based enabling mechanisms for container deployment and migration at the network edge. ACM Trans. Internet Technol. (TOIT) 2020, 20, 1–28. [Google Scholar] [CrossRef]
  12. Garg, N.; Singh, D.; Goraya, M.S. Energy and resource efficient workflow scheduling in a virtualized cloud environment. Clust. Comput. 2021, 24, 767–797. [Google Scholar] [CrossRef]
  13. Bonomi, F.; Milito, R.; Zhu, J.; Addepalli, S. Fog computing and its role in the internet of things. In Proceedings of the First Edition of the MCC Workshop on Mobile Cloud Computing, Helsinki, Finland, 17 August 2012; pp. 13–16. [Google Scholar]
  14. Yousefpour, A.; Fung, C.; Nguyen, T.; Kadiyala, K.; Jalali, F.; Niakanlahiji, A.; Kong, J.; Jue, J.P. All one needs to know about fog computing and related edge computing paradigms: A complete survey. J. Syst. Archit. 2019, 98, 289–330. [Google Scholar] [CrossRef]
  15. Abdel-Basset, M.; Moustafa, N.; Mohamed, R.; Elkomy, O.M.; Abouhawwash, M. Multi-objective task scheduling approach for fog computing. IEEE Access 2021, 9, 126988–127009. [Google Scholar] [CrossRef]
  16. Apat, H.K.; Nayak, R.; Sahoo, B. A comprehensive review on Internet of Things application placement in fog computing environment. Internet Things 2023, 23, 100866. [Google Scholar] [CrossRef]
  17. Baranwal, G.; Yadav, R.; Vidyarthi, D.P. QoE aware IoT application placement in fog computing using modified-topsis. Mob. Netw. Appl. 2020, 25, 1816–1832. [Google Scholar] [CrossRef]
  18. Zafar, F.; Javaid, N.; Hassan, K.; Murtaza, S.; Rehman, S.; Rasheed, S. Resource allocation over cloud-fog framework using BA. In Proceedings of the International Conference on Network-Based Information Systems, Bratislava, Slovakia, 5–7 September 2018; pp. 222–233. [Google Scholar]
  19. Yao, J.; Ansari, N. Fog resource provisioning in reliability-aware IoT networks. IEEE Internet Things J. 2019, 6, 8262–8269. [Google Scholar] [CrossRef]
  20. Priyadarshini, R.; Kumar Barik, R.; Dubey, H. Fog-SDN: A light mitigation scheme for DdoS attack in fog computing framework. Int. J. Commun. Syst. 2020, 33, e4389. [Google Scholar] [CrossRef]
  21. Mebrek, A.; Merghem-Boulahia, L.; Esseghir, M. Efficient green solution for a balanced energy consumption and delay in the IoT-Fog-Cloud computing. In Proceedings of the 2017 IEEE 16th International Symposium on Network Computing and Applications (NCA), Cambridge, MA, USA, 30 October–1 November 2017; pp. 1–4. [Google Scholar]
  22. Chiang, M.; Ha, S.; Risso, F.; Zhang, T.; Chih-Lin, I. Clarifying fog computing and networking: 10 questions and answers. IEEE Commun. Mag. 2017, 55, 18–20. [Google Scholar] [CrossRef]
  23. Chang, Z.; Liu, L.; Guo, X.; Sheng, Q. Dynamic resource allocation and computation offloading for IoT fog computing system. IEEE Trans. Ind. Inform. 2020, 17, 3348–3357. [Google Scholar] [CrossRef]
  24. Arkian, H.R.; Diyanat, A.; Pourkhalili, A. MIST: Fog-based data analytics scheme with cost-efficient resource provisioning for IoT crowdsensing applications. J. Netw. Comput. Appl. 2017, 82, 152–165. [Google Scholar] [CrossRef]
  25. Baranwal, G.; Vidyarthi, D.P. FONS: A fog orchestrator node selection model to improve application placement in fog computing. J. Supercomput. 2021, 77, 10562–10589. [Google Scholar] [CrossRef]
  26. He, S.; Cheng, B.; Wang, H.; Huang, Y.; Chen, J. Proactive personalized services through fog-cloud computing in large-scale IoT-based healthcare application. China Commun. 2017, 14, 1–16. [Google Scholar] [CrossRef]
  27. Rahmani, A.M.; Gia, T.N.; Negash, B.; Anzanpour, A.; Azimi, I.; Jiang, M.; Liljeberg, P. Exploiting smart e-Health gateways at the edge of healthcare Internet-of-Things: A fog computing approach. Future Gener. Comput. Syst. 2018, 78, 641–658. [Google Scholar] [CrossRef]
  28. Gill, S.S.; Arya, R.C.; Wander, G.S.; Buyya, R. Fog-based smart healthcare as a big data and cloud service for heart patients using IoT. In Proceedings of the International Conference on Intelligent Data Communication Technologies and Internet of Things, Coimbatore, India, 7–8 August 2018; pp. 1376–1383. [Google Scholar]
  29. Tuli, S.; Basumatary, N.; Buyya, R. Edgelens: Deep learning based object detection in integrated iot, fog and cloud computing environments. In Proceedings of the 2019 4th International Conference on Information Systems and Computer Networks (ISCON), Mathura, India, 21–22 November 2019; pp. 496–502. [Google Scholar]
  30. Mutlag, A.A.; Abd Ghani, M.K.; Arunkumar, N.a.; Mohammed, M.A.; Mohd, O. Enabling technologies for fog computing in healthcare IoT systems. Future Gener. Comput. Syst. 2019, 90, 62–78. [Google Scholar] [CrossRef]
  31. Javadzadeh, G.; Rahmani, A.M. Fog computing applications in smart cities: A systematic survey. Wirel. Netw. 2020, 26, 1433–1457. [Google Scholar] [CrossRef]
  32. Apat, H.K.; Sahoo, B.; Goswami, V.; Barik, R.K. A hybrid meta-heuristic algorithm for multi-objective IoT service placement in fog computing environments. Decis. Anal. J. 2024, 10, 100379. [Google Scholar] [CrossRef]
  33. Brogi, A.; Forti, S.; Guerrero, C.; Lera, I. How to place your apps in the fog: State of the art and open challenges. Softw. Pract. Exp. 2020, 50, 719–740. [Google Scholar] [CrossRef]
  34. Dogo, E.M.; Salami, A.F.; Aigbavboa, C.O.; Nkonyana, T. Taking cloud computing to the extreme edge: A review of mist computing for smart cities and industry 4.0 in Africa. In Edge Computing: From Hype to Reality; Springer: Cham, Switzerland, 2019; pp. 107–132. [Google Scholar]
  35. Aazam, M.; Huh, E.N. Fog computing and smart gateway based communication for cloud of things. In Proceedings of the 2014 International Conference on Future Internet of Things and Cloud, Barcelona, Spain, 27–29 August 2014; pp. 464–470. [Google Scholar]
  36. Adhikari, M.; Srirama, S.N.; Amgoth, T. Application offloading strategy for hierarchical fog environment through swarm optimization. IEEE Internet Things J. 2019, 7, 4317–4328. [Google Scholar] [CrossRef]
  37. Hensh, F.; Gupta, M.; Nene, M.J. Mist-edge-cloud (MEC) computing: An integrated computing architecture. In Proceedings of the 2021 Second International Conference on Electronics and Sustainable Communication Systems (ICESC), Coimbatore, India, 4–6 August 2021; pp. 1035–1040. [Google Scholar]
  38. Ketu, S.; Mishra, P.K. Cloud, fog and mist computing in IoT: An indication of emerging opportunities. IETE Tech. Rev. 2022, 39, 713–724. [Google Scholar] [CrossRef]
  39. Rathi, V.K.; Chaudhary, V.; Rajput, N.K.; Ahuja, B.; Jaiswal, A.K.; Gupta, D.; Elhoseny, M.; Hammoudeh, M. A blockchain-enabled multi domain edge computing orchestrator. IEEE Internet Things Mag. 2020, 3, 30–36. [Google Scholar] [CrossRef]
  40. Guo, F.; Yu, F.R.; Zhang, H.; Ji, H.; Liu, M.; Leung, V.C. Adaptive resource allocation in future wireless networks with blockchain and mobile edge computing. IEEE Trans. Wirel. Commun. 2019, 19, 1689–1703. [Google Scholar] [CrossRef]
  41. Xiong, Z.; Zhang, Y.; Niyato, D.; Wang, P.; Han, Z. When mobile blockchain meets edge computing. IEEE Commun. Mag. 2018, 56, 33–39. [Google Scholar] [CrossRef]
  42. Brogi, A.; Forti, S. QoS-aware deployment of IoT applications through the fog. IEEE Internet Things J. 2017, 4, 1185–1192. [Google Scholar] [CrossRef]
  43. Brogi, A.; Forti, S.; Guerrero, C.; Lera, I. Meet genetic algorithms in Monte Carlo: Optimised placement of multi-service applications in the fog. In Proceedings of the 2019 IEEE International Conference on Edge Computing (EDGE), Milan, Italy, 8–13 July 2019; pp. 13–17. [Google Scholar]
  44. López Escobar, J.J.; Díaz Redondo, R.P.; Gil-Castiñeira, F. In-depth analysis and open challenges of Mist Computing. J. Cloud Comput. 2022, 11, 81. [Google Scholar] [CrossRef]
  45. Deb, K. Multi-objective optimization. In Search Methodologies; Springer: Berlin/Heidelberg, Germany, 2014; pp. 403–449. [Google Scholar]
  46. Skarlat, O.; Nardelli, M.; Schulte, S.; Dustdar, S. Towards qos-aware fog service placement. In Proceedings of the 2017 IEEE 1st International Conference on Fog and Edge Computing (ICFEC), Madrid, Spain, 14–15 May 2017; pp. 89–96. [Google Scholar]
  47. Zhang, L.; Zou, Y.; Wang, W.; Jin, Z.; Su, Y.; Chen, H. Resource allocation and trust computing for blockchain-enabled edge computing system. Comput. Secur. 2021, 105, 102249. [Google Scholar] [CrossRef]
  48. Kashikolaei, S.M.G.; Hosseinabadi, A.A.R.; Saemi, B.; Shareh, M.B.; Sangaiah, A.K.; Bian, G.B. An enhancement of task scheduling in cloud computing based on imperialist competitive algorithm and firefly algorithm. J. Supercomput. 2020, 76, 6302–6329. [Google Scholar] [CrossRef]
  49. Jangu, N.; Raza, Z. Improved Jellyfish Algorithm-based multi-aspect task scheduling model for IoT tasks over fog integrated cloud environment. J. Cloud Comput. 2022, 11, 1–21. [Google Scholar] [CrossRef]
  50. Zhou, Z.; Chang, J.; Hu, Z.; Yu, J.; Li, F. A modified PSO algorithm for task scheduling optimization in cloud computing. Concurr. Comput. Pract. Exp. 2018, 30, e4970. [Google Scholar] [CrossRef]
  51. Mahmud, R.; Srirama, S.N.; Ramamohanarao, K.; Buyya, R. Quality of Experience (QoE)-aware placement of applications in Fog computing environments. J. Parallel Distrib. Comput. 2019, 132, 190–203. [Google Scholar] [CrossRef]
  52. Adhikari, M.; Mukherjee, M.; Srirama, S.N. DPTO: A deadline and priority-aware task offloading in fog computing framework leveraging multilevel feedback queueing. IEEE Internet Things J. 2019, 7, 5773–5782. [Google Scholar] [CrossRef]
  53. Mouradian, C.; Kianpisheh, S.; Abu-Lebdeh, M.; Ebrahimnezhad, F.; Jahromi, N.T.; Glitho, R.H. Application component placement in NFV-based hybrid cloud/fog systems with mobile fog nodes. IEEE J. Sel. Areas Commun. 2019, 37, 1130–1143. [Google Scholar] [CrossRef]
  54. Nayeri, Z.M.; Ghafarian, T.; Javadi, B. Application placement in Fog computing with AI approach: Taxonomy and a state of the art survey. J. Netw. Comput. Appl. 2021, 185, 103078. [Google Scholar] [CrossRef]
  55. Dorigo, M. Optimization, Learning and Natural Algorithms. Ph.D. Thesis, Politecnico di Milano, Milano, Italy, 1992. [Google Scholar]
  56. Galambos, P. Cloud, fog, and mist computing: Advanced robot applications. IEEE Syst. Man Cybern. Mag. 2020, 6, 41–45. [Google Scholar] [CrossRef]
  57. Apat, H.K.; Bhaisare, K.; Sahoo, B.; Maiti, P. A Nature-Inspired-Based Multi-objective Service Placement in Fog Computing Environment. In Intelligent Systems: Proceedings of ICMIB 2020; Springer: Berlin/Heidelberg, Germany, 2021; pp. 293–304. [Google Scholar]
  58. Basu, S.; Karuppiah, M.; Selvakumar, K.; Li, K.C.; Islam, S.H.; Hassan, M.M.; Bhuiyan, M.Z.A. An intelligent/cognitive model of task scheduling for IoT applications in cloud computing environment. Future Gener. Comput. Syst. 2018, 88, 254–261. [Google Scholar] [CrossRef]
  59. Abbasi, M.; Mohammadi Pasand, E.; Khosravi, M.R. Workload allocation in iot-fog-cloud architecture using a multi-objective genetic algorithm. J. Grid Comput. 2020, 18, 43–56. [Google Scholar] [CrossRef]
  60. Concha-Carrasco, J.A.; Vega-Rodríguez, M.A.; Pérez, C.J. A multi-objective artificial bee colony approach for profit-aware recommender systems. Inf. Sci. 2023, 625, 476–488. [Google Scholar] [CrossRef]
  61. Farahani, B.; Firouzi, F.; Chang, V.; Badaroglu, M.; Constant, N.; Mankodiya, K. Towards fog-driven IoT eHealth: Promises and challenges of IoT in medicine and healthcare. Future Gener. Comput. Syst. 2018, 78, 659–676. [Google Scholar] [CrossRef]
  62. Battistoni, P.; Sebillo, M.; Vitiello, G. Computation offloading with mqtt protocol on a fog-mist computing framework. In Proceedings of the Internet and Distributed Computing Systems: 12th International Conference, IDCS 2019, Naples, Italy, 10–12 October 2019; Proceedings 12. Springer: Berlin/Heidelberg, Germany, 2019; pp. 140–147. [Google Scholar]
  63. Poongodi, M.; Bourouis, S.; Ahmed, A.N.; Vijayaragavan, M.; Venkatesan, K.; Alhakami, W.; Hamdi, M. A novel secured multi-access edge computing based vanet with neuro fuzzy systems based blockchain framework. Comput. Commun. 2022, 192, 48–56. [Google Scholar]
  64. Chang, Z.; Guo, W.; Guo, X.; Zhou, Z.; Ristaniemi, T. Incentive mechanism for edge-computing-based blockchain. IEEE Trans. Ind. Inform. 2020, 16, 7105–7114. [Google Scholar] [CrossRef]
  65. Bhat, S.A.; Sofi, I.B.; Chi, C.Y. Edge computing and its convergence with blockchain in 5G and beyond: Security, challenges, and opportunities. IEEE Access 2020, 8, 205340–205373. [Google Scholar] [CrossRef]
  66. Lera, I.; Guerrero, C.; Juiz, C. Availability-aware service placement policy in fog computing based on graph partitions. IEEE Internet Things J. 2018, 6, 3641–3651. [Google Scholar] [CrossRef]
  67. Gao, X.; Huang, X.; Bian, S.; Shao, Z.; Yang, Y. PORA: Predictive offloading and resource allocation in dynamic fog computing systems. IEEE Internet Things J. 2019, 7, 72–87. [Google Scholar] [CrossRef]
  68. Misra, S.; Saha, N. Detour: Dynamic task offloading in software-defined fog for IoT applications. IEEE J. Sel. Areas Commun. 2019, 37, 1159–1166. [Google Scholar] [CrossRef]
  69. Kuang, Z.; Li, L.; Gao, J.; Zhao, L.; Liu, A. Partial offloading scheduling and power allocation for mobile edge computing systems. IEEE Internet Things J. 2019, 6, 6774–6785. [Google Scholar] [CrossRef]
  70. Nguyen, B.M.; Thi Thanh Binh, H.; The Anh, T.; Bao Son, D. Evolutionary algorithms to optimize task scheduling problem for the IoT based bag-of-tasks application in cloud–fog computing environment. Appl. Sci. 2019, 9, 1730. [Google Scholar] [CrossRef]
  71. Guerrero, C.; Lera, I.; Juiz, C. Evaluation and efficiency comparison of evolutionary algorithms for service placement optimization in fog architectures. Future Gener. Comput. Syst. 2019, 97, 131–144. [Google Scholar] [CrossRef]
  72. Abualigah, L.; Shehab, M.; Alshinwan, M.; Alabool, H.; Abuaddous, H.Y.; Khasawneh, A.M.; Al Diabat, M. Ts-gwo: Iot tasks scheduling in cloud computing using grey wolf optimizer. In Swarm Intelligence for Cloud Computing; Chapman and Hall/CRC: Boca Raton, FL, USA, 2020; pp. 127–152. [Google Scholar]
  73. Hassan, H.O.; Azizi, S.; Shojafar, M. Priority, network and energy-aware placement of IoT-based application services in fog-cloud environments. IET Commun. 2020, 14, 2117–2129. [Google Scholar] [CrossRef]
  74. Faticanti, F.; De Pellegrini, F.; Siracusa, D.; Santoro, D.; Cretti, S. Throughput-Aware Partitioning and Placement of Applications in Fog Computing. IEEE Trans. Netw. Serv. Manag. 2020, 17, 2436–2450. [Google Scholar] [CrossRef]
  75. Abd Elaziz, M.; Abualigah, L.; Attiya, I. Advanced optimization technique for scheduling IoT tasks in cloud-fog computing environments. Future Gener. Comput. Syst. 2021, 124, 142–154. [Google Scholar] [CrossRef]
  76. Dadashi Gavaber, M.; Rajabzadeh, A. MFP: An approach to delay and energy-efficient module placement in IoT applications based on multi-fog. J. Ambient. Intell. Humaniz. Comput. 2021, 12, 7965–7981. [Google Scholar] [CrossRef]
  77. Guerrero, C.; Lera, I.; Juiz, C. Genetic-based optimization in fog computing: Current trends and research opportunities. Swarm Evol. Comput. 2022, 72, 101094. [Google Scholar] [CrossRef]
  78. Zahra, M.; Bruno, D.; Hosseininia, A.M. An efficient population-based multi-objective task scheduling approach in fog computing systems. J. Cloud Comput. 2021, 10, 53. [Google Scholar]
  79. Naouri, A.; Nouri, N.A.; Dhelim, S.; Khelloufi, A.; Sada, A.B.; Ning, H. Efficient Fog Node Placement using Nature-Inspired Metaheuristic for IoT Applications. arXiv 2023, arXiv:2302.05948. [Google Scholar] [CrossRef]
  80. Battistoni, P.; Sebillo, M.; Vitiello, G. Experimenting with a fog-computing architecture for indoor navigation. In Proceedings of the 2019 Fourth International Conference on Fog and Mobile Edge Computing (FMEC), Rome, Italy, 10–13 June 2019; pp. 161–165. [Google Scholar]
  81. Chen, X.; Zhang, H.; Wu, C.; Mao, S.; Ji, Y.; Bennis, M. Optimized computation offloading performance in virtual edge computing systems via deep reinforcement learning. IEEE Internet Things J. 2018, 6, 4005–4018. [Google Scholar] [CrossRef]
  82. Bahreini, T.; Brocanelli, M.; Grosu, D. VECMAN: A framework for energy-aware resource management in vehicular edge computing systems. IEEE Trans. Mob. Comput. 2023, 22, 1231–1245. [Google Scholar] [CrossRef]
  83. Taneja, M.; Davy, A. Resource aware placement of IoT application modules in Fog-Cloud Computing Paradigm. In Proceedings of the 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM), Lisbon, Portugal, 8–12 May 2017; pp. 1222–1228. [Google Scholar]
  84. Azizi, S.; Shojafar, M.; Abawajy, J.; Buyya, R. Deadline-aware and energy-efficient IoT task scheduling in fog computing systems: A semi-greedy approach. J. Netw. Comput. Appl. 2022, 201, 103333. [Google Scholar] [CrossRef]
  85. Goudarzi, M.; Palaniswami, M.; Buyya, R. Scheduling IoT applications in edge and fog computing environments: A taxonomy and future directions. ACM Comput. Surv. 2022, 55, 1–41. [Google Scholar] [CrossRef]
  86. Mahmoud, M.S.; Mohamad, A.A. A study of efficient power consumption wireless communication techniques/modules for internet of things (IoT) applications. Adv. Internet Things 2016, 6, 19–29. [Google Scholar] [CrossRef]
  87. Ahmed, K.D.; Zeebaree, S.R. Resource allocation in fog computing: A review. Int. J. Sci. Bus. 2021, 5, 54–63. [Google Scholar]
  88. Varshney, P.; Simmhan, Y. Characterizing application scheduling on edge, fog, and cloud computing resources. Softw. Pract. Exp. 2020, 50, 558–595. [Google Scholar] [CrossRef]
  89. Deng, Y.; Chen, Z.; Zhang, D.; Zhao, M. Workload scheduling toward worst-case delay and optimal utility for single-hop Fog-IoT architecture. IET Commun. 2018, 12, 2164–2173. [Google Scholar] [CrossRef]
  90. Mahmoud, M.M.; Rodrigues, J.J.; Saleem, K.; Al-Muhtadi, J.; Kumar, N.; Korotaev, V. Towards energy-aware fog-enabled cloud of things for healthcare. Comput. Electr. Eng. 2018, 67, 58–69. [Google Scholar] [CrossRef]
  91. Shah-Mansouri, H.; Wong, V.W. Hierarchical fog-cloud computing for IoT systems: A computation offloading game. IEEE Internet Things J. 2018, 5, 3246–3257. [Google Scholar] [CrossRef]
  92. Tan, H.; Han, Z.; Li, X.Y.; Lau, F.C. Online job dispatching and scheduling in edge-clouds. In Proceedings of the IEEE INFOCOM 2017-IEEE Conference on Computer Communications, Atlanta, GA, USA, 1–4 May 2017; pp. 1–9. [Google Scholar]
  93. Liu, C.; Wang, J.; Zhou, L.; Rezaeipanah, A. Solving the multi-objective problem of IoT service placement in fog computing using cuckoo search algorithm. Neural Process. Lett. 2022, 54, 1823–1854. [Google Scholar] [CrossRef]
  94. Natesha, B.; Guddeti, R.M.R. Adopting elitism-based Genetic Algorithm for minimizing multi-objective problems of IoT service placement in fog computing environment. J. Netw. Comput. Appl. 2021, 178, 102972. [Google Scholar] [CrossRef]
  95. Yadav, A.M.; Tripathi, K.N.; Sharma, S. A bi-objective task scheduling approach in fog computing using hybrid fireworks algorithm. J. Supercomput. 2022, 78, 4236–4260. [Google Scholar] [CrossRef]
  96. Al-Tarawneh, M.A. Bi-objective optimization of application placement in fog computing environments. J. Ambient. Intell. Humaniz. Comput. 2022, 13, 445–468. [Google Scholar] [CrossRef]
  97. Yang, M.; Ma, H.; Wei, S.; Zeng, Y.; Chen, Y.; Hu, Y. A multi-objective task scheduling method for fog computing in cyber-physical-social services. IEEE Access 2020, 8, 65085–65095. [Google Scholar] [CrossRef]
  98. Aburukba, R.O.; AliKarrar, M.; Landolsi, T.; El-Fakih, K. Scheduling Internet of Things requests to minimize latency in hybrid Fog–Cloud computing. Future Gener. Comput. Syst. 2020, 111, 539–551. [Google Scholar] [CrossRef]
  99. Mahmud, R.; Ramamohanarao, K.; Buyya, R. Latency-aware application module management for fog computing environments. ACM Trans. Internet Technol. (TOIT) 2018, 19, 1–21. [Google Scholar] [CrossRef]
  100. Mseddi, A.; Jaafar, W.; Elbiaze, H.; Ajib, W. Joint container placement and task provisioning in dynamic fog computing. IEEE Internet Things J. 2019, 6, 10028–10040. [Google Scholar] [CrossRef]
  101. Mishra, S.K.; Puthal, D.; Rodrigues, J.J.; Sahoo, B.; Dutkiewicz, E. Sustainable service allocation using a metaheuristic technique in a fog server for industrial applications. IEEE Trans. Ind. Inform. 2018, 14, 4497–4506. [Google Scholar] [CrossRef]
  102. Cho, K.M.; Tsai, P.W.; Tsai, C.W.; Yang, C.S. A hybrid meta-heuristic algorithm for VM scheduling with load balancing in cloud computing. Neural Comput. Appl. 2015, 26, 1297–1309. [Google Scholar] [CrossRef]
  103. Djemai, T.; Stolf, P.; Monteil, T.; Pierson, J.M. A discrete particle swarm optimization approach for energy-efficient IoT services placement over fog infrastructures. In Proceedings of the 2019 18th International Symposium on Parallel and Distributed Computing (ISPDC), Amsterdam, The Netherlands, 3–7 June 2019; pp. 32–40. [Google Scholar]
  104. Sahoo, K.S.; Sarkar, A.; Mishra, S.K.; Sahoo, B.; Puthal, D.; Obaidat, M.S.; Sadun, B. Metaheuristic solutions for solving controller placement problem in SDN-based WAN architecture. In Proceedings of the ICETE 2017-Proceedings of the 14th International Joint Conference on e-Business and Telecommunications, Madrid, Spain, 24–26 July 2017. [Google Scholar]
  105. Najafizadeh, A.; Salajegheh, A.; Rahmani, A.M.; Sahafi, A. Privacy-preserving for the internet of things in multi-objective task scheduling in cloud-fog computing using goal programming approach. Peer-to-Peer Netw. Appl. 2021, 14, 3865–3890. [Google Scholar] [CrossRef]
  106. Salimian, M.; Ghobaei-Arani, M.; Shahidinejad, A. An evolutionary multi-objective optimization technique to deploy the IoT Services in fog-enabled Networks: An autonomous approach. Appl. Artif. Intell. 2022, 36, 2008149. [Google Scholar] [CrossRef]
  107. Nguyen, B.M.; Nguyen, T.; Vu, Q.; Hung, T.H.; Vo, H.K.; Son, D.B.; Binh, H.T.T.; Yu, S.; Wu, Z. A Novel Nature-inspired Algorithm for Optimal Task Scheduling in Fog-Cloud Blockchain System. IEEE Internet Things J. 2023, 11, 2043–2057. [Google Scholar] [CrossRef]
  108. Sun, Y.; Lin, F.; Xu, H. Multi-objective optimization of resource scheduling in fog computing using an improved NSGA-II. Wirel. Pers. Commun. 2018, 102, 1369–1385. [Google Scholar] [CrossRef]
  109. Zhu, C.; Tao, J.; Pastor, G.; Xiao, Y.; Ji, Y.; Zhou, Q.; Li, Y.; Ylä-Jääski, A. Folo: Latency and quality optimized task allocation in vehicular fog computing. IEEE Internet Things J. 2018, 6, 4150–4161. [Google Scholar] [CrossRef]
  110. Téllez, N.; Jimeno, M.; Salazar, A.; Nino-Ruiz, E. A tabu search method for load balancing in fog computing. Int. J. Artif. Intell. 2018, 16, 1–30. [Google Scholar]
  111. Jia, B.; Hu, H.; Zeng, Y.; Xu, T.; Yang, Y. Double-matching resource allocation strategy in fog computing networks based on cost efficiency. J. Commun. Netw. 2018, 20, 237–246. [Google Scholar] [CrossRef]
  112. Subramoney, D.; Nyirenda, C.N. Multi-Swarm PSO Algorithm for Static Workflow Scheduling in Cloud-Fog Environments. IEEE Access 2022, 10, 117199–117214. [Google Scholar] [CrossRef]
  113. Ghobaei-Arani, M.; Shahidinejad, A. A cost-efficient IoT service placement approach using whale optimization algorithm in fog computing environment. Expert Syst. Appl. 2022, 200, 117012. [Google Scholar] [CrossRef]
  114. Mousavi, S.; Mood, S.E.; Souri, A.; Javidi, M.M. Directed Search: A New Operator in NSGA-II for Task Scheduling in IoT Based on Cloud-Fog Computing. IEEE Trans. Cloud Comput. 2022, 11, 2144–2157. [Google Scholar] [CrossRef]
  115. Saif, F.A.; Latip, R.; Hanapi, Z.M.; Shafinah, K. Multi-objective grey wolf optimizer algorithm for task scheduling in cloud-fog computing. IEEE Access 2023, 11, 20635–20646. [Google Scholar] [CrossRef]
  116. Xu, F.; Yin, Z.; Han, G.; Li, Y.; Zhang, F.; Bi, Y. Multi-objective fog node placement strategy based on heuristic algorithms for smart factories. Wirel. Netw. 2023, 30, 5407–5424. [Google Scholar] [CrossRef]
  117. Mehran, N.; Kimovski, D.; Prodan, R. MAPO: A multi-objective model for IoT application placement in a fog environment. In Proceedings of the 9th International Conference on the Internet of Things, Bilbao, Spain, 22–25 October 2019; pp. 1–8. [Google Scholar]
  118. Eyckerman, R.; Reiter, P.; Latré, S.; Marquez-Barja, J.; Hellinckx, P. Application placement in fog environments using multi-objective reinforcement learning with maximum reward formulation. In Proceedings of the NOMS 2022-2022 IEEE/IFIP Network Operations and Management Symposium, Budapest, Hungary, 25–29 April 2022; pp. 1–6. [Google Scholar]
  119. Lakhan, A.; Mohammed, M.A.; Kadry, S.; AlQahtani, S.A.; Maashi, M.S.; Abdulkareem, K.H. Federated learning-aware multi-objective modeling and blockchain-enable system for IIoT applications. Comput. Electr. Eng. 2022, 100, 107839. [Google Scholar] [CrossRef]
  120. Ijaz, S.; Munir, E.U.; Ahmad, S.G.; Rafique, M.M.; Rana, O.F. Energy-makespan optimization of workflow scheduling in fog–cloud computing. Computing 2021, 103, 2033–2059. [Google Scholar] [CrossRef]
  121. De Maio, V.; Kimovski, D. Multi-objective scheduling of extreme data scientific workflows in fog. Future Gener. Comput. Syst. 2020, 106, 171–184. [Google Scholar] [CrossRef]
  122. Li, H.; Zheng, P.; Wang, T.; Wang, J.; Liu, T. A multi-objective task offloading based on BBO algorithm under deadline constrain in mobile edge computing. Clust. Comput. 2022, 26, 4051–4067. [Google Scholar] [CrossRef]
  123. Zhang, B.; Wang, X.; Huang, M. Multi-objective optimization controller placement problem in internet-oriented software defined network. Comput. Commun. 2018, 123, 24–35. [Google Scholar] [CrossRef]
  124. Hu, S.; Xiao, Y. Design of cloud computing task offloading algorithm based on dynamic multi-objective evolution. Future Gener. Comput. Syst. 2021, 122, 144–148. [Google Scholar] [CrossRef]
  125. Zhang, J.; Piao, M.j.; Zhang, D.g.; Zhang, T.; Dong, W.m. An approach of multi-objective computing task offloading scheduling based NSGS for IOV in 5G. Clust. Comput. 2022, 25, 4203–4219. [Google Scholar] [CrossRef]
  126. Ramzanpoor, Y.; Hosseini Shirvani, M.; Golsorkhtabaramiri, M. Multi-objective fault-tolerant optimization algorithm for deployment of IoT applications on fog computing infrastructure. Complex Intell. Syst. 2022, 8, 361–392. [Google Scholar] [CrossRef]
  127. Wu, C.g.; Li, W.; Wang, L.; Zomaya, A.Y. An evolutionary fuzzy scheduler for multi-objective resource allocation in fog computing. Future Gener. Comput. Syst. 2021, 117, 498–509. [Google Scholar] [CrossRef]
  128. Velasquez, K.; Abreu, D.P.; Curado, M.; Monteiro, E. Service placement for latency reduction in the internet of things. Ann. Telecommun. 2017, 72, 105–115. [Google Scholar] [CrossRef]
  129. Souza, V.B.C.; Ramírez, W.; Masip-Bruin, X.; Marín-Tordera, E.; Ren, G.; Tashakor, G. Handling service allocation in combined fog-cloud scenarios. In Proceedings of the 2016 IEEE International Conference on Communications (ICC), Kuala Lumpur, Malaysia, 22–27 May 2016; pp. 1–5. [Google Scholar]
  130. Choi, J.; Ahn, S. Scalable service placement in the fog computing environment for the IoT-based smart city. J. Inf. Process. Syst. 2019, 15, 440–448. [Google Scholar]
  131. Naas, M.I.; Parvedy, P.R.; Boukhobza, J.; Lemarchand, L. iFogStor: An IoT data placement strategy for fog infrastructure. In Proceedings of the 2017 IEEE 1st International Conference on Fog and Edge Computing (ICFEC), Madrid, Spain, 14–15 May 2017; pp. 97–104. [Google Scholar]
  132. He, X.; Tu, Z.; Wagner, M.; Xu, X.; Wang, Z. Online deployment algorithms for microservice systems with complex dependencies. IEEE Trans. Cloud Comput. 2022, 11, 1746–1763. [Google Scholar] [CrossRef]
  133. Chen, L.; Bai, Y.; Zhou, P.; Li, Y.; Qu, Z.; Xu, J. On Adaptive Edge Microservice Placement: A Reinforcement Learning Approach Endowed with Graph Comprehension. IEEE Trans. Mob. Comput. 2024, 23, 11144–11158. [Google Scholar] [CrossRef]
  134. Aazam, M.; Harras, K.A.; Zeadally, S. Fog computing for 5G tactile industrial Internet of Things: QoE-aware resource allocation model. IEEE Trans. Ind. Inform. 2019, 15, 3085–3092. [Google Scholar] [CrossRef]
Figure 1. Three-layer FC system architecture.
Figure 1. Three-layer FC system architecture.
Computers 14 00099 g001
Figure 2. Taxonomy of IoT applications.
Figure 2. Taxonomy of IoT applications.
Computers 14 00099 g002
Figure 3. IoT application workflow.
Figure 3. IoT application workflow.
Computers 14 00099 g003
Figure 4. Service mapping in FC environment.
Figure 4. Service mapping in FC environment.
Computers 14 00099 g004
Figure 5. Flowchart for SPP in FC environment.
Figure 5. Flowchart for SPP in FC environment.
Computers 14 00099 g005
Figure 6. Service placement approaches in FC system.
Figure 6. Service placement approaches in FC system.
Computers 14 00099 g006
Figure 7. Optimization taxonomy for service placement in FC.
Figure 7. Optimization taxonomy for service placement in FC.
Computers 14 00099 g007
Table 1. Related computing paradigms and their characteristics.
Table 1. Related computing paradigms and their characteristics.
FeaturesCCECFCMECMCDCCLCBCCBFCBEC
QoS requirementLowMediumHighLowHighLowLowNoYesYes
HeterogeneityYesYesYesNoYesYesNoYesYesYes
Location awarenessNoYesYesYesYesYesNoNoYesNo
Real-time compatibilityNoNoYesYesYesYesNoNoYesNo
Large-scale compatibilityYesYesYesYesYesYesNoNoYesNo
Mobility supportNoYesYesYesYesYesNoNoYesNo
ScalabilityHighLowHighLowLowYesLowLowHighLow
Network function virtualizationYesNoYesYesYesNoNoYesYesYes
Trust managementNoNoNoNoNoNoNoYesYesYes
Secure storageNoNoNoNoNoNoNoYesYesYes
CC: Cloud Computing, EC: Edge Computing, FC: Fog Computing, MEC: Mobile Edge Computing, MC: Mist Computing, DC: Dew Computing, CLC: Cloudlet Computing, BCC: Blockchain with Cloud Computing, BFC: Blockchain with FC, BEC: Blockchain with Edge Computing.
Table 2. Related important surveys.
Table 2. Related important surveys.
Ref.YearProblemParameterAlgorithmSystemOptimization
[21]2017Task AssignmentEnergyImproved GA3T-FCS-O-O
[66]2019Service PlacementAvailabilityGraph-Based3T-FCS-O-O
[58]2018Task SchedulingMakespanHybrid GAACOCCS-O-O
[67]2019Task OffloadingEnergyPORAMT-FCN/A
[68]2019Task OffloadingDelay, EnergyGreedy AlgoSD-IoTM-O-O
[69]2019Task OffloadingDelay, EnergyPOSPMECJoint
[70]2019Task SchedulingET, CostTCaS3T-FCS-O-O
[71]2019Service PlacementLatencyMOEA/D3T-FCS-O-O
[72]2019Task SchedulingMakespan, CostGWOCCM-O-O
[73]2020Service PlacementEnergyHeuristic3T-FCS-O-O
[73]2020Service PlacementEnergy, DelayHeuristic3T-FCS-O-O
[59]2020WorkloadEnergy, DelayNSGA-II3T-FCM-O-O
[74]2020Task OffloadingMakespan, TputGenetic3T-FCS-O-O
[75]2021Task SchedulingMakespan, TputAEOSSA3T-FCS-O-O
[76]2021Task SchedulingLatency, EnergyMFPMT-FCS-O-O
[77]2022Service PlacementLatencyGA3T-FCS-O-O
[78]2022Task SchedulingMakespanGBO3T-FCS-O-O
[54]2021Service PlacementEnergy, RTCO3T-FCM-O-O
[79]2023Node PlacementMax-CoverageMetaheuristic3T-FCM-O-O
ET = Execution Time, Tput = Throughput, RT = Response Time, 3T-FC = Three Tier Fog Computing, MT = Multi Tier, S-O-O = Single Objective Optimization, M-O-O = Multi Objective Optimization.
Table 3. Comparison of Multi-objective SPP in FC.
Table 3. Comparison of Multi-objective SPP in FC.
ReferenceTechniqueParameters Under Consideration
MSECRUQoSS
[99]Heuristic
[100]GA
[101]PSO
[102]ACO
[59]NSGA-II
[96]NSGA-II
[93]CSA
[53]TSCP
[103]D-PSO
[43]GA Algorithm
[104]Fire-Fly
[75]MSS
[105]MOSA
[94]Elitism GA
[78]Oppo-CWOA
[106]PSO
[107]ILCO Algorithm
MS = Makespan, E = Energy, RU = Resource Utilization, S = Scalability.
Table 4. Comparative analysis of multi-objective SPP in FC.
Table 4. Comparative analysis of multi-objective SPP in FC.
Ref.YearProblemTechniquesApplication ModelPerformance Parameters
DECOENMSRULBBWRLAVSSEC
[106]2022M-O-SPPPSOIndependent Tasks
[46]2017ILPGAIndependent Tasks
[108]2018M-O-SPPI-NSGA-IIIndependent Tasks
[109]2018Bi-objectiveILP+PSOIndependent Tasks
[110]2018Bi-objectiveTabu SearchIndependent Tasks
[111]2018ILPDouble MatchingIndependent Tasks
[15]2021M-O-SPPMarine Predator’sIndependent Tasks
[112]2022M-O-SPPMS-PSODependent Tasks
[113]2022S-O-SPPWOAIndependent Tasks
[114]2022B-O-SPPD-NSGA-IIIndependent Tasks
[96]2022B-O-SPPNSGA-IIData Flow based
[93]2022M-O-SPPCuckoo SearchDependent Tasks
[115]2023ILP-SPPHeuristicIndependent Tasks
[116]2023ILP-SPPHeuristicIndependent Tasks
[59]2020LP-SPPHeuristicIndependent Tasks
[117]2019ILP-SPPBAT AlgorithmIndependent Tasks
[118]2022INLP-SPPGreedy Algorithm.Independent Tasks
[119]2022M-O-SPPFLIndependent Tasks
[120]2021MINLP-SPPGreedy AlgorithmIndependent Tasks
[121]2020ILP-SPPMatching AlgorithmIndependent Tasks
[95]2022Independent TasksHeuristicIndependent Tasks
[122]2022MILP-SPPGAIndependent Tasks
[123]2018Not DefinedHeuristicDependent Tasks
[124]2021INLP-SPPGreedyIndependent Tasks
[125]2022M-O-SPPHeuristicIndependent Tasks
[112]2022ILP-SPPMS-PSOIndependent Tasks
[97]2020M-O-SPPAMOSMIndependent Tasks
[98]2020S-O-SPPGAIndependent Tasks
[126]2020M-O-SPPMOCSAIndependent Tasks
[127]2021M-O-SPPFuzzyIndependent Tasks
DE = Delay, CO = Cost, EN = Energy, MS = Makespan, RU = Resource Usage, LB = Load-Balancing, BW = Bandwidth, RL = Reliability, AV = Availability, SEC = Security.
Table 5. Comparison of IoT application models on the SPP.
Table 5. Comparison of IoT application models on the SPP.
ReferenceArchitectureApplications Type
DomainBoTWorkflowDDFOther
[99]3T-FCHealthcare IoT
[100]3T-FCVehicular IoT
[101]2T-FCIndustrial IoT
[102]CCReal-Time
[59]3T-FCIoT Workflow
[96]3T-FCIoT Application
[93]3T-FCIoT Application
[53]3T-FCScientific
[103]3T-FCIoT Application
[43]3T-FCIoT Application
[104]CC-SDNReal-Time
[75]3T-FCIoT Application
[105]3T-FCIoT Application
[94]3T-FCIoT Application
[78]3T-FCIoT Application
[106]3T-FCIoT Application
[107]3T-FCIoT Application
3T = Three Tier, 2T = Two Tier, SDN = Software-Defined Network.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Apat, H.K.; Goswami, V.; Sahoo, B.; Barik, R.K.; Saikia, M.J. Fog Service Placement Optimization: A Survey of State-of-the-Art Strategies and Techniques. Computers 2025, 14, 99. https://doi.org/10.3390/computers14030099

AMA Style

Apat HK, Goswami V, Sahoo B, Barik RK, Saikia MJ. Fog Service Placement Optimization: A Survey of State-of-the-Art Strategies and Techniques. Computers. 2025; 14(3):99. https://doi.org/10.3390/computers14030099

Chicago/Turabian Style

Apat, Hemant Kumar, Veena Goswami, Bibhudatta Sahoo, Rabindra K. Barik, and Manob Jyoti Saikia. 2025. "Fog Service Placement Optimization: A Survey of State-of-the-Art Strategies and Techniques" Computers 14, no. 3: 99. https://doi.org/10.3390/computers14030099

APA Style

Apat, H. K., Goswami, V., Sahoo, B., Barik, R. K., & Saikia, M. J. (2025). Fog Service Placement Optimization: A Survey of State-of-the-Art Strategies and Techniques. Computers, 14(3), 99. https://doi.org/10.3390/computers14030099

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop