Review
Application placement in Fog computing with AI approach: Taxonomy and a state of the art survey

https://doi.org/10.1016/j.jnca.2021.103078Get rights and content

Abstract

With the increasing use of the Internet of Things (IoT) in various fields and the need to process and store huge volumes of generated data, Fog computing was introduced to complement Cloud computing services. Fog computing offers basic services at the network for supporting IoT applications with low response time requirements. However, Fogs are distributed, heterogeneous, and their resources are limited, therefore efficient distribution of IoT applications tasks in Fog nodes, in order to meet quality of service (QoS) and quality of experience (QoE) constraints is challenging. In this survey, at first, we have an overview of basic concepts of Fog computing, and then review the application placement problem in Fog computing with focus on Artificial intelligence (AI) techniques. We target three main objectives with considering a characteristics of AI-based methods in Fog application placement problem: (i) categorizing evolutionary algorithms, (ii) categorizing machine learning algorithms, and (iii) categorizing combinatorial algorithms into subcategories includes a combination of machine learning and heuristic, a combination of evolutionary and heuristic, and a combinations of evolutionary and machine learning. Then the security considerations of application placement have been reviewed. Finally, we provide a number of open questions and issues as future works.

Introduction

The Internet of Things (IoT) becomes so popular in recent years and we expect with the help of Artificial Intelligence (AI), interaction of objects with each other becomes more and more intelligent (Yousefpour et al., 2019, Gazori et al., 2020). According to the estimation of Cisco by 2030, 500 billion devices are connected with each other and become a member of IoT big family (Yousefpour et al., 2019). Cloud computing is an efficient processing paradigm for storing and processing huge volumes of generated data. Despite the power of Cloud, there are a number of challenges to host IoT applications. Firstly, connected geo-distributed sensors and devices rapidly generate a huge amount of data. Secondly, responses to real-time latency of IoT applications’ interaction in centralized Cloud data centers is not feasible to handle. Fog computing extends the Cloud computing paradigm with the aim of making an efficient bridge from IoT to Cloud, support low latency and increase performance (Yousefpour et al., 2019).

Fog computing architecture consists of three layer as shown in Fig. 1. The terminal layer is the first and also the lowest layer in this hierarchical architecture. This layer consists of IoT devices that produce massive data and potentially are heterogeneous, geographically distributed and have mobility features. Fog nodes in terminal layer plays a role as a sensor or has a computational capability. The distance of smart devices and Cloud is not feasible, so applications run in the middle layer with the near distances from users which needs an acceptable response time (Hu et al., 2017).

The Fog layer is an intermediate layer that interacts with IoT devices and the Cloud layer. Fog layer extends closer to IoT devices in an efficient and timely manner. This layer consists of nodes (physical devices named Fog nodes) that are capable of supporting IoT devices, due to heterogeneity and decentralization as well as their mobility. In order to execute real time and latency-sensitive applications, this layer has a key role in the system (Hu et al., 2017).

It is worth mentioning although Edge computing provides Cloud computing services and increases the speed of responding to the requests of end-users, there are differences between Edge computing and Fog computing. Edge computing is located in end devices but Fog computing is located in near end devices such as network switches, routers and other equipment work in between to enable requests to travel from end devices, resources of Edge computing are more limited than Fog computing, computation and storage capabilities of Edge computing are more limited than Fog computing, unlike Fog computing, Edge computing cannot perform multiple IoT applications, last but not least, Edge computing focused on end devices level but Fog computing focused on the infrastructure level (Hu et al., 2017). The placement of applications on the Edge of the network has also attracted the attention of authors (Chen et al., 2018).

The Cloud layer is the most famous layer. It consists of data centers that have high processing and storage capability. This layer is centralized and is associated with the Fog layer, and if the request in the Fog layer is accepted, it means that the Fog layer has the ability to process and respond, otherwise it will be sent to the Cloud layer for more complex computing (Hu et al., 2017).

IoT applications comprise some common activities such as receiving data from IoT devices, preprocessing, and analysis of the received data, and handling events. Each application module performs some specific operations to generate corresponding output based on defined instructions. Then, based on data dependency, the output of one module is considered as the input of another module. Each module needs sufficient resources such as CPU, memory, bandwidth, and etc. to process the input in a reasonable amount of time.

Modern applications are not monolithic and include independent components that can be run near Fog devices. However, each Fog device has certain resources, and each application is composed of specific modules, application placement policies look for the best match between modules and resources in order to meet QoS and QoE constraints (Gazori et al., 2020, Mahmud et al., 2018).

The main objective of this paper is to review and analyze the efficient execution of applications with a distributed manner in a highly dynamic Fog environment by considering application module management policies based on existing proposed solutions with non-AI-based and AI-based perspectives to address latency-related issues, resource utilization-related issues, energy consumption-related issues, and cost-related issues.

Based on our literature review, we concluded that the Fog Application Placement (FAP) consists of six categories with two perspectives. Non-AI perspective include quantum computing-based, blockchain-based, mathematical-based, Fuzzy-based, and basic algorithms. AI-perspective include Evolutionary Algorithms, Machine Learning Algorithms and Combinatorial Algorithms.

Due to the widespread adoption of artificial intelligence, we focused on the AI-based perspective in the Fog application placement problem. To achieve this aim, we target three main objectives with considering a characteristics of AI-based methods in FAP: (1) categorizing evolutionary algorithms based on common intrinsic features of algorithms into subcategories includes swarm intelligence, genome mimetic, and search-based algorithms. (2) categorizing machine learning algorithms into subcategories includes classic machine learning algorithms and deep learning algorithms; and (3) categorizing combinatorial algorithms into subcategories includes combination of machine learning and heuristic, combination of evolutionary and heuristic, combinations of evolutionary and machine learning.

To achieve the mentioned objectives, we formulated the following research questions:

RQ 1: Which performance metrics were optimized in the FAP problem? Answering RQ1 helps researchers to identify performance metrics, as well as the main purpose of each performance metric that is targeted for optimization based on the FAP problem. (Section 2)

RQ 2: How the FAP problem can be categorized in general? Answering RQ2 helps researchers to identify various algorithms, methods, and strategies relevant to the FAP problem in a classified structure with two perspectives: Non-AI Techniques for Application Placement in Fog Computing and AI Techniques. (Section 3)

RQ 3: What is the main classification of AI-based techniques for the application placement problem in Fog computing? Answering RQ3 helps researchers to understand the overall classification of AI-Techniques. FAP with an AI approach is divided into three general categories. (i) evolutionary algorithms, (ii) machine learning algorithms, and (iii) combinatorial algorithms. The first category emphasizes the resource management and service placement aspects by focusing on evolutionary optimization approaches that divided into three subcategories includes swarm intelligence-based, genome mimetic, and search-based. The machine learning category is divided into subcategories includes classic machine learning algorithms and deep learning algorithms. The last category is divided into three subcategories involves the combination of the first category and the heuristics, the combination of the second category and heuristics, and the combination of the first category and the second category. (Section 3)

RQ 4: What are the main advantages and disadvantages of AI-based algorithms relevant to the FAP problem? Answering RQ4 could help researchers to identify, compare, and choose algorithms to optimize performance metrics, according to their proposed methods. (Section 4)

Fog computing is a distributed computing paradigm that extends the Cloud at the edge of the network with resource limitations constraints. Although Fog can improve application placement time and resist network congestion, efficient distribution of IoT application tasks in Fog nodes is still challenging.

Several reviews have been conducted that cover various types of application placement challenges in Fog computing.

Mahmud et al. (2020) reviewed, classified and characterized a number of approaches for application management and discussed their associated research gaps in Fog computing from the perspectives of application architecture, placement and maintenance. Their proposed taxonomy of application placement was divided into eight subcategories includes placement strategy, resource type, placement metric, mapping technique, resource estimation, offloading approach, resource orientation, and placement controller.

Salaht et al. (2020) proposed a classification of the service placement problem according to identified scenarios, provided a taxonomy and optimization strategies. Their devised service placement taxonomy includes four categories: control plan design (centralized vs. distributed), placement characteristic (online vs. offline), system dynamicity (static vs. dynamic), and mobility support (no mobility support vs. support mobility).

Brogi et al. (2020) proposed a classification of the application placement problem in Fog computing with two perspectives, an algorithmic perspective, and a modeling perspective. Algorithmic perspective reviews contributions based on the methodologies along with a study on the available prototypes and experiments. Modeling perspective analyses constraints and optimization metrics to determine the best candidate application placements.

To the best of our knowledge, there is no work that has focused on providing a comprehensive classification of artificial intelligence techniques in the Fog application placement problem.

Moreover, none of the researchers has focused thoroughly on comparing and analyzing artificial intelligence algorithms in the Fog application placement problem based on the advantages and disadvantages of AI-based techniques.

Consequently, a comprehensive taxonomy is required to provide an in-depth understanding of the Fog application placement challenges and opportunities based on the AI perspective that can be useful for future researchers.

It is important to note that this paper extensively reviews the FAP problem based on AI techniques. We have followed a systematic literature review methodology to select most suitable papers in this area of research. First of all, we devised a search query based on the formulated research questions (see Fig. 2). :

[ ( application placement) OR ( service placement) OR ( task scheduling) OR ( resource management) AND ( ( ( artificial intelligence) AND ( evolutionary) AND ( machine learning) ) AND ( challenges) OR ( metrics) OR ( aspects) AND ( approaches) OR ( algorithms) OR ( methods) ) ) AND ( ( Fog computing) OR ( Edge computing) ].

After that, we executed the search query on a number of search databases (IEEE, Elsevier, Springer, ACM, Google Scholar). Notice that we considered the papers published within the period from 2017 to 2020.

In total, we collected about 300 potential papers published in journals and conferences. Next, we manually removed the duplicates by checking the title of the collected papers. After that, we selected and refined the potential papers which focus on the objectives of this literature review. Finally, we selected and used 109 most relevant papers for this literature review.

According to our literature review, most of the evolutionary algorithms such as ant colony optimization in Hussein and Mousa, 2020, Zahoor et al., 2018, artificial bee colony in Ismail et al. (2018), cuckoo optimization algorithm in Javaid et al. (2019), firefly algorithm in Hassan et al. (2018), particle swarm optimization in Wan et al. (2018), and genetic algorithm in Zubair et al. (2018), applied to solve the FAP problem focused on providing efficient load balancing methods. The main aim of load balancing is to transfer load explicitly from overloaded and some are under load (Zubair et al., 2018). In the result of a literature review related to evolutionary algorithms to solve the problem on hand, we classify evolutionary algorithms into two categories: hybrid meta-heuristic approach and further meta-heuristic approach categorized in Table 4 that try to minimize or maximize one or more performance metrics as the objective function(s) with considering problem constraints. Most of the authors along with evolutionary algorithms used traditional algorithms to compare their methods, which include: Round robin Hussein and Mousa, 2020, Yasmeen et al., 2018, Throttled (Zubair et al., 2018, Nazir et al., 2018), First Fit (Wu et al., 2012), Random search, and local search (Nardelli et al., 2019). Also, most of the evolutionary algorithms papers applied service broker policy (Yasmeen et al., 2018) in their methods.

Based on the studies conducted in the machine learning algorithms section, we concluded that most machine learning algorithms focused on the reinforcing learning category and used deep learning models in their own heuristics that collected in Table 8 with the aim of optimizing the performance metrics in Table 1. Some authors combined machine learning algorithms with evolutionary algorithms to solve the FAP problem (Talaat et al., 2020, Li et al., 2019b), some authors add new parameters to get better solutions and some authors proposed policies to improve the base methods.

Due to the fact that each of the proposed algorithms have advantages and disadvantages, in review articles, one algorithm has been used to cover the weaknesses of the other algorithm (Yasmeen et al., 2018, Li et al., 2019b, Mai et al., 2018). For example, to solve the problem of getting stuck in the local optimum (Zahoor et al., 2018, Rafique et al., 2019). Also, for search speed along with accuracy (Wang and Li, 2019, Ren et al., 2021) or to calculate the time complexity of algorithms (Boveiri et al., 2019, Yadav et al., 2019, Tang et al., 2019) and the convergence improvement process (Butt et al., 2019, Farhat et al., 2020), various methods have been proposed.

Although our focus is on solving the application placement problem in the Fog computing environment (Shooshtarian et al., 2019), due to the relevance of the problem on hand with service placement (Tang et al., 2019, Fröhlich and Gelenbe, 2020), task scheduling and load balancing (Sharma and Saini, 2019b), resource allocation (Mseddi et al., 2019) and resource management (He et al., 2017, Manukumar and Muthuswamy, 2020), these problems have also been examined in literatures review of this survey that summarized in Table 3, Table 8.

This survey is organized as follows: in Section 2 the problem for Fog application placement is formulated. Also, the key performance metrics in literature reviews considered. Section 3 explains literature reviews and important features with two perspectives. Non-AI perspective and AI-perspective. Section 4 compares the advantages and disadvantages of AI-based methods in FAP. Section 5 provides security considerations for Fog application placement. Section 6 includes open challenges and future works. Finally we conclude the paper in Section 7.

Section snippets

Background

In this section, background and performance metrics related to application placement in Fog computing are presented.

Literature reviews

The reviewed articles addressed the application placement problem in Fog computing, with various algorithms, methods, and strategies to improve the speed of data transmission, processing, storage, and network load.

According to the review articles, as illustrated in Fig. 4, FAP-based algorithms include AI-based algorithms, Blockchain-based algorithms (Zhu et al., 2018, Qiu et al., 2019, Nguyen et al., 2019a), mathematical model-based (Dai et al., 2018), Fuzzy-based (Reddy and Krishna, 2020),

Characteristics of AI-based methods in FAP

Although AI-based algorithms have been successful in solving difficult search and optimization problems, they also have weaknesses. In this section, we review the advantages and disadvantages of the methods studied in articles based on FAP.

  • Local optimum A local optimum is the best solution to a problem within a particular neighborhood. This is in contrast to a global optimum, which is the optimal solution among all possible solutions. Stuck in local optimum is one of the weaknesses of most

Security considerations in fog application placement

Application placement requests from accessible IoT devices at the edge of the network can be easily attacked or stolen by malicious users since Fog nodes offer limited security and privacy capabilities. According to security requirements, two types of security controls including software-based (e.g., encryption) and hardware-based (e.g., trusted execution environments). Although the research on the security and privacy issues of Fog computing for IoT applications is still in its early stage,

Open challenges and future directions

Although there are several research to address the issue of application deployment, there are still open challenges which are explained in the following that can be suitable for all fields including industry and manufacturing (Yin et al., 2018), health (Lin et al., 2018), and farming.

  • Time management Time is the most important challenge for both service providers and users. Reducing user response time is one of the main reasons for placing applications in the Fog. The time parameter was one of

Conclusion

Cloud computing has a great ability to deal with processing, storage, networking and management of resources, but due to a large amount of data produced by internet of thing devices and distance between data centers and users, the intermediate layer between Cloud and IoT, with the name of Fog computing is proposed. By offering Fog computing, new issues and challenges will be introduced. One of the most challenging issues is the application placement problem. According to the literature, most of

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Zahra Makki Nayeri received a Bachelor of information technology engineering from Khayyam University of Mashhad, Iran in 2017. She received a master degree in artificial intelligence from Khayyam University of Mashhad, Iran in 2019. She now teaches C, Java, and Python programming in workshop classes at Khayyam University. Also, she was a teacher assistant in the design of computer algorithms and computational intelligence courses. Her research interests include Fog Computing and the Internet of

References (183)

  • GillM. et al.

    ACO Based container placement for caas in fog computing

    Procedia Comput. Sci.

    (2020)
  • GuerreroC. et al.

    Evaluation and efficiency comparison of evolutionary algorithms for service placement optimization in fog architectures

    Future Gener. Comput. Syst.

    (2019)
  • GuevaraJ.C. et al.

    On the classification of fog computing applications: A machine learning perspective

    J. Netw. Comput. Appl.

    (2020)
  • HosseiniounP. et al.

    A new energy-aware tasks scheduling approach in fog computing using hybrid meta-heuristic algorithm

    J. Parallel Distrib. Comput.

    (2020)
  • HuP. et al.

    Survey on fog computing: architecture, key technologies, applications and open issues

    J. Netw. Comput. Appl.

    (2017)
  • HussainM.M. et al.

    CODE-V: Multi-hop computation offloading in vehicular fog computing

    Future Gener. Comput. Syst.

    (2021)
  • LaQ.D. et al.

    Enabling intelligence in fog computing to achieve energy and latency reduction

    Digit. Commun. Netw.

    (2019)
  • LinK. et al.

    Task offloading and resource allocation for edge-of-things computing on smart healthcare systems

    Comput. Electr. Eng.

    (2018)
  • LuH. et al.

    Optimization of lightweight task offloading strategy for mobile edge computing based on deep reinforcement learning

    Future Gener. Comput. Syst.

    (2020)
  • MahmudR. et al.

    Quality of Experience (QoE)-Aware placement of applications in Fog computing environments

    J. Parallel Distrib. Comput.

    (2019)
  • MaitiP. et al.

    An effective approach of latency-aware fog smart gateways deployment for IoT services

    Internet of Things

    (2019)
  • AbbasiM.J. et al.

    Scheduling tasks in the cloud computing environment with the effect of cuckoo optimization algorithm

    SSRG Int. J. Comput. Sci. Eng.

    (2016)
  • Abdel-BassetM. et al.

    Energy-aware metaheuristic algorithm for industrial internet of things task scheduling problems in fog computing applications

    IEEE Internet Things J.

    (2020)
  • Ádám MannZ.

    Secure software placement and configuration

    Future Gener. Comput. Syst.

    (2020)
  • AkintoyeS.B. et al.

    Improving quality-of-service in cloud/fog computing through efficient resource allocation

    Sensors

    (2019)
  • Al-MoalmiA. et al.

    Optimal virtual machine placement based on grey wolf optimization

    Electron.

    (2019)
  • Al-TarawnehM.A.

    Bi-objective optimization of application placement in fog computing environments

    J. Ambient Intell. Humaniz. Comput.

    (2021)
  • AlfakihT. et al.

    Task offloading and resource allocation for mobile edge computing by deep reinforcement learning based on SARSA

    IEEE Acc.

    (2020)
  • AlsaffarA.A. et al.

    An architecture of IoT service delegation and resource allocation based on collaboration between fog and cloud computing

    Mob. Inf. Syst.

    (2016)
  • ArshadH. et al.

    Estimation of fog utility pricing: a bio-inspired optimisation techniques’ perspective

    Int. J. Parallel Emergent Distrib. Syst.

    (2020)
  • ArshadH. et al.

    Evaluating bio-inspired optimization techniques for utility price estimation in fog computing

  • AuluckN. et al.

    Scheduling real time security aware tasks in fog networks

    IEEE Trans. Serv. Comput.

    (2019)
  • BaccarelliE. et al.

    Fog of everything: Energy-efficient networked computing architectures, research challenges, and a case study

    IEEE Acc.

    (2017)
  • BaekJ. et al.

    Managing fog networks using reinforcement learning based load balancing algorithm

  • BashirH. et al.

    Resource allocation through logistic regression and multicriteria decision making method in IoT fog computing

    Trans. Emerg. Telecommun. Technol.

    (2019)
  • BianS. et al.

    Online task scheduling for fog computing with multi-resource fairness

  • BitamS. et al.

    A survey on bee colony algorithms

  • BitamS. et al.

    Fog computing job scheduling optimization based on bees swarm

    Enterp. Inf. Syst.

    (2018)
  • BittencourtL. et al.

    Mobility-aware application scheduling in fog computing

    IEEE Cloud Comput.

    (2017)
  • BourhimE.H. et al.

    Inter-container communication aware container placement in fog computing

  • BoveiriH.R. et al.

    An efficient swarm-intelligence approach for task scheduling in cloud-based internet of things applications

    J. Ambient Intell. Humaniz. Comput.

    (2019)
  • BrogiA. et al.

    Meet genetic algorithms in Monte Carlo: optimised placement of multi-service applications in the fog

  • BrogiA. et al.

    How to place your apps in the fog: State of the art and open challenges

    Softw. - Pract. Exp.

    (2020)
  • BrogiA. et al.

    How to best deploy your fog applications, probably

  • ButtA.A. et al.

    Optimization of response and processing time for smart societies using particle swarm optimization and levy walk

  • CanaliC. et al.

    GASP: genetic algorithms for service placement in fog computing systems

    Algorithms

    (2019)
  • CaoX. et al.

    A machine learning-based algorithm for joint scheduling and power control in wireless networks

    IEEE Internet Things J.

    (2018)
  • ChawlaM. et al.

    Bat algorithm: a survey of the state-of-the-art

    Appl. Artif. Intell.

    (2015)
  • ChenX. et al.

    A multi-facet survey on memetic computation

    IEEE Trans. Evol. Comput.

    (2011)
  • ChenX. et al.

    ThriftyEdge: Resource-efficient edge computing for intelligent IoT applications

    IEEE Netw.

    (2018)
  • Cited by (0)

    Zahra Makki Nayeri received a Bachelor of information technology engineering from Khayyam University of Mashhad, Iran in 2017. She received a master degree in artificial intelligence from Khayyam University of Mashhad, Iran in 2019. She now teaches C, Java, and Python programming in workshop classes at Khayyam University. Also, she was a teacher assistant in the design of computer algorithms and computational intelligence courses. Her research interests include Fog Computing and the Internet of Things, Application of Machine Learning techniques in Fog, Edge, and Cloud computing.

    Toktam Ghafarian received PhD degree in computer engineering from Ferdowsi University of Mashhad, Iran in 2013. She is now an assistant professor in Computer Engineering department in Khayyam University, Mashhad, Iran. Also, she is a head of Computer Engineering department. She was with the Cloud Computing and Distributed Systems (CLOUDS) Laboratory at the University of Melbourne, as a visiting researcher from May to December 2011. Her research interests includes distributed and parallel systems, Fog Computing and Internet of Things ,Grid and Cloud Computing, Big Data, Application of Machine Learning techniques in Cloud computing. She has published over 25 articles including journal papers, international and national conference papers.

    Bahman Javadi is an Associate Professor in Networking and Cloud Computing at Western Sydney University, Australia. Prior to this appointment, he was a Research Fellow at the University of Melbourne and a Postdoctoral Fellow at the INRIA Rhone-Alpes, France. He has published more than 100 papers in high quality journals and international conferences and received numerous Best Paper Awards at IEEE/ACM conferences for his research papers. He has presented many keynote and invited talks in several conferences and universities around the world. He served as a program committee of many international conferences and workshops. He has also guest edited many special issue journals. He is co-founder of the Failure Trace Archive, which serves as a public repository of failure traces and algorithms for distributed systems. His research interests include Cloud computing, Edge computing, performance evaluation of large-scale distributed computing systems, and reliability and fault tolerance. He is a Senior Member of ACM, Senior Member of IEEE and Senior Fellow of the Higher Education Academy of UK. His website is: https://staff.cdms.westernsydney.edu.au/ bjavadi/

    View full text