Design, Resource Management, and Evaluation of Fog Computing Systems: A Survey

A steady increase in Internet of Things (IoT) applications needing large-scale computation and long-term storage has lead to an over-reliance on Cloud computing. The resulting network congestion in Cloud, coupled with the distance of Cloud data centres from IoT, contribute to unreliable endto-end response delay. Fog computing has been introduced as an alternative to cloud, providing low-latency service by bringing processing and storage resources to the network edge. In this survey, we sequentially present the phases required in the implementation and realization of practical fog computing systems: (1) design & dimensioning of a fog infrastructure, (2) fog resource provisioning for IoT application use and IoT resource allocation to fog, (3) installation of fog frameworks for fog resource management, and (4) evaluation of fog infrastructure through simulation & emulation. Our focus is determining the implementation aspects required to build a practical large scale fog computing infrastructure to support the general IoT landscape.

[1]  András Márkus,et al.  A survey and taxonomy of simulation environments modelling fog computing , 2020, Simul. Model. Pract. Theory.

[2]  Rajkumar Buyya,et al.  CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms , 2011, Softw. Pract. Exp..

[3]  Mohammad Hammoudeh,et al.  Energy- and Latency-Aware Hybrid Offloading Algorithm for UAVs , 2019, IEEE Access.

[4]  Muhammad Ikram Ashraf,et al.  Joint Cloudlet Selection and Latency Minimization in Fog Networks , 2018, IEEE Transactions on Industrial Informatics.

[5]  Michael Seufert,et al.  Edgenetworkcloudsim: Placement of service chains in edge clouds using networkcloudsim , 2017, 2017 IEEE Conference on Network Softwarization (NetSoft).

[6]  Athanasios V. Vasilakos,et al.  Fog Computing for Sustainable Smart Cities: A Survey , 2017, ACM Comput. Surv..

[7]  Haijian Sun,et al.  UAV-Enabled Mobile Edge Computing: Offloading Optimization and Trajectory Design , 2018, 2018 IEEE International Conference on Communications (ICC).

[8]  Zhu Han,et al.  Joint Optimization of Caching, Computing, and Radio Resources for Fog-Enabled IoT Using Natural Actor–Critic Deep Reinforcement Learning , 2019, IEEE Internet of Things Journal.

[9]  Chi Harold Liu,et al.  Energy-Efficient Location and Activity-Aware On-Demand Mobile Distributed Sensing Platform for Sensing as a Service in IoT Clouds , 2015, IEEE Transactions on Computational Social Systems.

[10]  Alberto Ceselli,et al.  Cloudlet network design optimization , 2015, 2015 IFIP Networking Conference (IFIP Networking).

[11]  Rajkumar Buyya,et al.  Mobility-Aware Application Scheduling in Fog Computing , 2017, IEEE Cloud Computing.

[12]  Ioannis Lambadaris,et al.  MeFoRE: QoE based resource estimation at Fog to enhance QoS in IoT , 2016, 2016 23rd International Conference on Telecommunications (ICT).

[13]  Vincenzo Grassi,et al.  On QoS-aware scheduling of data stream applications over fog computing infrastructures , 2015, 2015 IEEE Symposium on Computers and Communication (ISCC).

[14]  Rajkumar Buyya,et al.  Fog Computing: Principles, Architectures, and Applications , 2016, ArXiv.

[15]  Seng Wai Loke The Internet of Flying-Things: Opportunities and Challenges with Airborne Fog Computing and Mobile Cloud in the Clouds , 2015, ArXiv.

[16]  Qun Li,et al.  Security and Privacy Issues of Fog Computing: A Survey , 2015, WASA.

[17]  Thierry Coupaye,et al.  Combining hardware nodes and software components ordering-based heuristics for optimizing the placement of distributed IoT applications in the fog , 2018, SAC.

[18]  Laurent Lemarchand,et al.  iFogStor: An IoT Data Placement Strategy for Fog Infrastructure , 2017, 2017 IEEE 1st International Conference on Fog and Edge Computing (ICFEC).

[19]  Wenyu Zhang,et al.  Cooperative Fog Computing for Dealing with Big Data in the Internet of Vehicles: Architecture and Hierarchical Resource Management , 2017, IEEE Communications Magazine.

[20]  Paramvir Bahl,et al.  The Case for VM-Based Cloudlets in Mobile Computing , 2009, IEEE Pervasive Computing.

[21]  Suat Özdemir,et al.  A fog computing based smart grid model , 2016, 2016 International Symposium on Networks, Computers and Communications (ISNCC).

[22]  Antonio Brogi,et al.  Simulating FogDirector Application Management , 2020, Simul. Model. Pract. Theory.

[23]  Jian Shen,et al.  Secure intelligent traffic light control using fog computing , 2018, Future Gener. Comput. Syst..

[24]  Weifa Liang,et al.  Efficient Algorithms for Capacitated Cloudlet Placements , 2016, IEEE Transactions on Parallel and Distributed Systems.

[25]  Rajkumar Buyya,et al.  Indie Fog: An Efficient Fog-Computing Infrastructure for the Internet of Things , 2017, Computer.

[26]  David Lillethun,et al.  Mobile fog: a programming model for large-scale applications on the internet of things , 2013, MCC '13.

[27]  Enrique Saurez,et al.  Incremental deployment and migration of geo-distributed situation awareness applications in the fog , 2016, DEBS.

[28]  Mohsen Guizani,et al.  Toward Incentivizing Fog-Based Privacy-Preserving Mobile Crowdsensing in the Internet of Vehicles , 2020, IEEE Internet of Things Journal.

[29]  Mingzhe Jiang,et al.  Exploiting smart e-Health gateways at the edge of healthcare Internet-of-Things: A fog computing approach , 2018, Future Gener. Comput. Syst..

[30]  Rute C. Sofia,et al.  User-provided networks: consumer as provider , 2008, IEEE Communications Magazine.

[31]  Andrew W. Moore,et al.  Reinforcement Learning: A Survey , 1996, J. Artif. Intell. Res..

[32]  Yun Yang,et al.  FogWorkflowSim: An Automated Simulation Toolkit for Workflow Performance Evaluation in Fog Computing , 2019, 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[33]  Thomas Magedanz,et al.  A service orchestration architecture for Fog-enabled infrastructures , 2017, 2017 Second International Conference on Fog and Mobile Edge Computing (FMEC).

[34]  Shahid Mumtaz,et al.  Computation Resource Allocation and Task Assignment Optimization in Vehicular Fog Computing: A Contract-Matching Approach , 2019, IEEE Transactions on Vehicular Technology.

[35]  Weifa Liang,et al.  Optimal Cloudlet Placement and User to Cloudlet Allocation in Wireless Metropolitan Area Networks , 2017, IEEE Transactions on Cloud Computing.

[36]  Andrea Vinci,et al.  Smart Agents and Fog Computing for Smart City Applications , 2016, Smart-CT.

[37]  Siobhán Clarke,et al.  A Dynamic Service Composition Model for Adaptive Systems in Mobile Computing Environments , 2014, ICSOC.

[38]  Yunsi Fei,et al.  QELAR: A Machine-Learning-Based Adaptive Routing Protocol for Energy-Efficient and Lifetime-Extended Underwater Sensor Networks , 2010, IEEE Transactions on Mobile Computing.

[39]  Abdallah Jarray,et al.  Scalable Design and Dimensioning of Fog-Computing Infrastructure to Support Latency-Sensitive IoT Applications , 2020, IEEE Internet of Things Journal.

[40]  Arnaud Legrand,et al.  Fog Based Framework for IoT Service Provisioning , 2019, 2019 16th IEEE Annual Consumer Communications & Networking Conference (CCNC).

[41]  Nick McKeown,et al.  OpenFlow: enabling innovation in campus networks , 2008, CCRV.

[42]  Marthony Taguinod,et al.  Policy-driven security management for fog computing: Preliminary framework and a case study , 2014, Proceedings of the 2014 IEEE 15th International Conference on Information Reuse and Integration (IEEE IRI 2014).

[43]  Byrav Ramamurthy,et al.  Simplifying network management using Software Defined Networking and OpenFlow , 2012, 2012 IEEE International Conference on Advanced Networks and Telecommunciations Systems (ANTS).

[44]  Nirwan Ansari,et al.  Cost Aware cloudlet Placement for big data processing at the edge , 2017, 2017 IEEE International Conference on Communications (ICC).

[45]  Ruben Mayer,et al.  EmuFog: Extensible and scalable emulation of large-scale fog computing infrastructures , 2017, 2017 IEEE Fog World Congress (FWC).

[46]  Jameela Al-Jaroodi,et al.  UAVFog: A UAV-based fog computing for Internet of Things , 2017, 2017 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computed, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI).

[47]  Klaus Wehrle,et al.  Modeling and Tools for Network Simulation , 2010, Modeling and Tools for Network Simulation.

[48]  Song Guo,et al.  Joint Optimization of Task Scheduling and Image Placement in Fog Computing Supported Software-Defined Embedded System , 2016, IEEE Transactions on Computers.

[49]  David Bermbach,et al.  Supporting the Evaluation of Fog-based IoT Applications During the Design Phase , 2018, M4IoT@Middleware.

[50]  Asad Waqar Malik,et al.  FogNetSim++: A Toolkit for Modeling and Simulation of Distributed Fog Environment , 2018, IEEE Access.

[51]  Wei Zhang,et al.  Deployment and Dimensioning of Fog Computing-Based Internet of Vehicle Infrastructure for Autonomous Driving , 2019, IEEE Internet of Things Journal.

[52]  Ivan Stojmenovic,et al.  Fog computing: A cloud to the ground support for smart things and machine-to-machine networks , 2014, 2014 Australasian Telecommunication Networks and Applications Conference (ATNAC).

[53]  Qun Li,et al.  A Survey of Fog Computing: Concepts, Applications and Issues , 2015, Mobidata@MobiHoc.

[54]  Igor Radusinovic,et al.  Software-Defined Fog Network Architecture for IoT , 2016, Wireless Personal Communications.

[55]  Rajkumar Buyya,et al.  FogBus: A Blockchain-based Lightweight Framework for Edge and Fog Computing , 2018, J. Syst. Softw..

[56]  Nejib Ben Hadj-Alouane,et al.  A platform as-a-service for hybrid cloud/fog environments , 2016, 2016 IEEE International Symposium on Local and Metropolitan Area Networks (LANMAN).

[57]  Chuan Pham,et al.  A proximal algorithm for joint resource allocation and minimizing carbon footprint in geo-distributed fog computing , 2014, 2015 International Conference on Information Networking (ICOIN).

[58]  Rajkumar Buyya,et al.  iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments , 2016, Softw. Pract. Exp..

[59]  Laurent Lemarchand,et al.  An Extension to iFogSim to Enable the Design of Data Placement Strategies , 2018, 2018 IEEE 2nd International Conference on Fog and Edge Computing (ICFEC).

[60]  Eyal de Lara,et al.  Cloudpath: a multi-tier cloud computing framework , 2017, SEC.

[61]  Enzo Mingozzi,et al.  MobFogSim: Simulation of mobility and migration for fog computing , 2020, Simul. Model. Pract. Theory.

[62]  Hamid Reza Arkian,et al.  MIST: Fog-based data analytics scheme with cost-efficient resource provisioning for IoT crowdsensing applications , 2017, J. Netw. Comput. Appl..

[63]  Eui-nam Huh,et al.  Fog Computing Micro Datacenter Based Dynamic Resource Estimation and Pricing Model for IoT , 2015, 2015 IEEE 29th International Conference on Advanced Information Networking and Applications.

[64]  Alan Davy,et al.  Resource aware placement of IoT application modules in Fog-Cloud Computing Paradigm , 2017, 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM).

[65]  Rajkumar Buyya,et al.  Fog Computing: A Taxonomy, Survey and Future Directions , 2016, Internet of Everything.

[66]  David Bermbach,et al.  FogExplorer , 2018, Middleware.

[67]  Alireza Souri,et al.  Resource Management Approaches in Fog Computing: a Comprehensive Review , 2019, Journal of Grid Computing.

[68]  F. Richard Yu,et al.  Fog Vehicular Computing: Augmentation of Fog Computing Using Vehicular Cloud Computing , 2017, IEEE Vehicular Technology Magazine.

[69]  Ewa Deelman,et al.  WorkflowSim: A toolkit for simulating scientific workflows in distributed environments , 2012, 2012 IEEE 8th International Conference on E-Science.

[70]  Chonho Lee,et al.  A survey of mobile cloud computing: architecture, applications, and approaches , 2013, Wirel. Commun. Mob. Comput..

[71]  Song Guo,et al.  Traffic and Computation Co-Offloading With Reinforcement Learning in Fog Computing for Industrial Applications , 2019, IEEE Transactions on Industrial Informatics.

[72]  Qian Wang,et al.  PFogSim: A Simulator for Evaluating Dynamic and Layered Fog Computing Environments , 2019 .

[73]  Frédéric Desprez,et al.  Service Placement in Fog Computing Using Constraint Programming , 2019, 2019 IEEE International Conference on Services Computing (SCC).

[74]  Chungang Yan,et al.  Resource Allocation Strategy in Fog Computing Based on Priced Timed Petri Nets , 2017, IEEE Internet of Things Journal.

[75]  Odej Kao,et al.  Héctor: A Framework for Testing IoT Applications Across Heterogeneous Edge and Cloud Testbeds , 2019, UCC Companion.

[76]  Yong Xiang,et al.  Cost Efficient Resource Management in Fog Computing Supported Medical Cyber-Physical System , 2017, IEEE Transactions on Emerging Topics in Computing.

[77]  Asad Waqar Malik,et al.  On-demand resource provisioning for vehicular networks using flying fog , 2020, Veh. Commun..

[78]  Weisong Shi,et al.  Edge Computing: Vision and Challenges , 2016, IEEE Internet of Things Journal.

[79]  Hiroyuki Koga,et al.  Analysis of fog model considering computing and communication latency in 5G cellular networks , 2016, 2016 IEEE International Conference on Pervasive Computing and Communication Workshops (PerCom Workshops).

[80]  A. Forstert,et al.  FROMS: Feedback Routing for Optimizing Multiple Sinks in WSN with Reinforcement Learning , 2007, 2007 3rd International Conference on Intelligent Sensors, Sensor Networks and Information.

[81]  Philipp Leitner,et al.  Optimized IoT service placement in the fog , 2017, Service Oriented Computing and Applications.

[82]  Antonio Brogi,et al.  How to Best Deploy Your Fog Applications, Probably , 2017, 2017 IEEE 1st International Conference on Fog and Edge Computing (ICFEC).

[83]  Mohamed Mohamed,et al.  Foggy: A Framework for Continuous Automated IoT Application Deployment in Fog Computing , 2017, 2017 IEEE International Conference on AI & Mobile Services (AIMS).

[84]  Tie Qiu,et al.  Survey on fog computing: architecture, key technologies, applications and open issues , 2017, J. Netw. Comput. Appl..

[85]  Amir Karamoozian,et al.  On the Fog-Cloud Cooperation: How Fog Computing can address latency concerns of IoT applications , 2019, 2019 Fourth International Conference on Fog and Mobile Edge Computing (FMEC).

[86]  Enzo Baccarelli,et al.  Fog of Everything: Energy-Efficient Networked Computing Architectures, Research Challenges, and a Case Study , 2017, IEEE Access.

[87]  Raja Lavanya,et al.  Fog Computing and Its Role in the Internet of Things , 2019, Advances in Computer and Electrical Engineering.

[88]  Mahadev Satyanarayanan,et al.  The Emergence of Edge Computing , 2017, Computer.

[89]  Joonhyuk Kang,et al.  Mobile Edge Computing via a UAV-Mounted Cloudlet: Optimization of Bit Allocation and Path Planning , 2016, IEEE Transactions on Vehicular Technology.

[90]  Jameela Al-Jaroodi,et al.  SmartCityWare: A Service-Oriented Middleware for Cloud and Fog Enabled Smart City Services , 2017, IEEE Access.

[91]  Eui-nam Huh,et al.  Dynamic resource provisioning through Fog micro datacenter , 2015, 2015 IEEE International Conference on Pervasive Computing and Communication Workshops (PerCom Workshops).

[92]  Depeng Jin,et al.  Vehicular Fog Computing: A Viewpoint of Vehicles as the Infrastructures , 2016, IEEE Transactions on Vehicular Technology.

[93]  Guofei Gu,et al.  CloudWatcher: Network security monitoring using OpenFlow in dynamic cloud networks (or: How to provide security monitoring as a service in clouds?) , 2012, 2012 20th IEEE International Conference on Network Protocols (ICNP).

[94]  Sherali Zeadally,et al.  Fog Computing for 5G Tactile Industrial Internet of Things: QoE-Aware Resource Allocation Model , 2019, IEEE Transactions on Industrial Informatics.

[95]  Prem Prakash Jayaraman,et al.  Fog Computing: Survey of Trends, Architectures, Requirements, and Research Directions , 2018, IEEE Access.

[96]  Luiz Fernando Bittencourt,et al.  MyiFogSim: A Simulator for Virtual Machine Migration in Fog Computing , 2017, UCC.

[97]  Nirwan Ansari,et al.  EdgeIoT: Mobile Edge Computing for the Internet of Things , 2016, IEEE Communications Magazine.

[98]  Luis Rodero-Merino,et al.  Finding your Way in the Fog: Towards a Comprehensive Definition of Fog Computing , 2014, CCRV.

[99]  Carlos Juiz,et al.  YAFS: A Simulator for IoT Scenarios in Fog Computing , 2019, IEEE Access.

[100]  Haibo He,et al.  A Hierarchical Distributed Fog Computing Architecture for Big Data Analysis in Smart Cities , 2015, ASE BD&SI.

[101]  Philipp Leitner,et al.  Resource Provisioning for IoT Services in the Fog , 2016, 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA).

[102]  Dimitrios Giouroukis,et al.  Fog Computing Applications: Taxonomy and Requirements , 2019, ArXiv.

[103]  Antonio Brogi,et al.  How to place your apps in the fog: State of the art and open challenges , 2019, Softw. Pract. Exp..

[104]  Soumya Kanti Datta,et al.  Comparison of edge computing implementations: Fog computing, cloudlet and mobile edge computing , 2017, 2017 Global Internet of Things Summit (GIoTS).

[105]  Xavier Masip-Bruin,et al.  Handling service allocation in combined Fog-cloud scenarios , 2016, 2016 IEEE International Conference on Communications (ICC).

[106]  Roch H. Glitho,et al.  A Comprehensive Survey on Fog Computing: State-of-the-Art and Research Challenges , 2017, IEEE Communications Surveys & Tutorials.

[107]  Lei Shu,et al.  Survey of Fog Computing: Fundamental, Network Applications, and Research Challenges , 2018, IEEE Communications Surveys & Tutorials.

[108]  Charafeddine Mechalikh,et al.  PureEdgeSim: A Simulation Toolkit for Performance Evaluation of Cloud, Fog, and Pure Edge Computing Environments , 2019, 2019 International Conference on High Performance Computing & Simulation (HPCS).

[109]  Danny H. K. Tsang,et al.  Challenges and Solutions in Fog Computing Orchestration , 2018, IEEE Network.

[110]  Michael Till Beck,et al.  Mobile Edge Computing: A Taxonomy , 2014 .

[111]  Abhijeet Bhorkar,et al.  Adaptive Opportunistic Routing for Wireless Ad Hoc Networks , 2012, IEEE/ACM Transactions on Networking.

[112]  R. Ayani,et al.  Proceedings 8th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems , 2000 .

[113]  Mianxiong Dong,et al.  Multiattribute-Based Double Auction Toward Resource Allocation in Vehicular Fog Computing , 2020, IEEE Internet of Things Journal.

[114]  Giancarlo Fortino,et al.  A Mobility-Aware Optimal Resource Allocation Architecture for Big Data Task Execution on Mobile Cloud in Smart Cities , 2018, IEEE Communications Magazine.

[115]  Maria Ebling,et al.  An open ecosystem for mobile-cloud convergence , 2015, IEEE Communications Magazine.

[116]  Shashank Yadav,et al.  An Efficient Architecture and Algorithm for Resource Provisioning in Fog Computing , 2016 .

[117]  Ibrahim Matta,et al.  BRITE: an approach to universal topology generation , 2001, MASCOTS 2001, Proceedings Ninth International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[118]  Judith Kelner,et al.  Analyzing the availability and performance of an e-health system integrated with edge, fog and cloud infrastructures , 2018, Journal of Cloud Computing.

[119]  Mugen Peng,et al.  Deep Reinforcement Learning-Based Mode Selection and Resource Management for Green Fog Radio Access Networks , 2018, IEEE Internet of Things Journal.

[120]  David Bermbach,et al.  MockFog: Emulating Fog Computing Infrastructure in the Cloud , 2019, 2019 IEEE International Conference on Fog Computing (ICFC).

[121]  J. Cid-Sueiro,et al.  Q-Probabilistic Routing in Wireless Sensor Networks , 2007, 2007 3rd International Conference on Intelligent Sensors, Sensor Networks and Information.

[122]  Abhirup Khanna,et al.  IoT based interactive shopping ecosystem , 2016, 2016 2nd International Conference on Next Generation Computing Technologies (NGCT).

[123]  Tao Zhang,et al.  Fog as a Service Technology , 2018, IEEE Communications Magazine.

[124]  Rajkumar Buyya,et al.  Fog-Based Smart Healthcare as a Big Data and Cloud Service for Heart Patients Using IoT , 2018, International Conference on Intelligent Data Communication Technologies and Internet of Things (ICICI) 2018.

[125]  Sungyoung Lee,et al.  Health Fog: a novel framework for health and wellness applications , 2016, The Journal of Supercomputing.

[126]  Zhu Han,et al.  Fog computing in multi-tier data center networks: A hierarchical game approach , 2016, 2016 IEEE International Conference on Communications (ICC).