FogFrame: a framework for IoT application execution in the fog

Recently, a multitude of conceptual architectures and theoretical foundations for fog computing have been proposed. Despite this, there is still a lack of concrete frameworks to setup real-world fog landscapes. In this work, we design and implement the fog computing framework FogFrame—a system able to manage and monitor edge and cloud resources in fog landscapes and to execute Internet of Things (IoT) applications. FogFrame provides communication and interaction as well as application management within a fog landscape, namely, decentralized service placement, deployment and execution. For service placement, we formalize a system model, define an objective function and constraints, and solve the problem implementing a greedy algorithm and a genetic algorithm. The framework is evaluated with regard to Quality of Service parameters of IoT applications and the utilization of fog resources using a real-world operational testbed. The evaluation shows that the service placement is adapted according to the demand and the available resources in the fog landscape. The greedy placement leads to the maximum utilization of edge devices keeping at the edge as many services as possible, while the placement based on the genetic algorithm keeps devices from overloads by balancing between the cloud and edge. When comparing edge and cloud deployment, the service deployment time at the edge takes 14% of the deployment time in the cloud. If fog resources are utilized at maximum capacity, and a new application request arrives with the need of certain sensor equipment, service deployment becomes impossible, and the application needs to be delegated to other fog resources. The genetic algorithm allows to better accommodate new applications and keep the utilization of edge devices at about 50% CPU. During the experiments, the framework successfully reacts to runtime events: (i) services are recovered when devices disappear from the fog landscape; (ii) cloud resources and highly utilized devices are released by migrating services to new devices; (iii) and in case of overloads, services are migrated in order to release resources.

[1]  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..

[2]  Antonio Pescapè,et al.  Integration of Cloud computing and Internet of Things: A survey , 2016, Future Gener. Comput. Syst..

[3]  Paolo Detti,et al.  A polynomial algorithm for the multiple knapsack problem with divisible item sizes , 2009, Inf. Process. Lett..

[4]  Rajkumar Buyya,et al.  Workflow scheduling algorithms for grid computing , 2008 .

[5]  Rizos Sakellariou,et al.  Adaptive resource configuration for Cloud infrastructure management , 2013, Future Gener. Comput. Syst..

[6]  C. A. Murthy,et al.  Variance as a Stopping Criterion for Genetic Algorithms with Elitist Model , 2012, Fundam. Informaticae.

[7]  Vasileios Karagiannis,et al.  Comparison of Alternative Architectures in Fog Computing , 2020, 2020 IEEE 4th International Conference on Fog and Edge Computing (ICFEC).

[8]  Mohsen Guizani,et al.  Smart Cities: A Survey on Data Management, Security, and Enabling Technologies , 2017, IEEE Communications Surveys & Tutorials.

[9]  Schahram Dustdar,et al.  Cost-efficient enactment of stream processing topologies , 2017, PeerJ Comput. Sci..

[10]  Zoltán Ádám Mann,et al.  Classification of optimization problems in fog computing , 2020, Future Gener. Comput. Syst..

[11]  Bruno Volckaert,et al.  Resource Provisioning in Fog Computing: From Theory to Practice † , 2019, Sensors.

[12]  Victor C. M. Leung,et al.  Developing IoT applications in the Fog: A Distributed Dataflow approach , 2015, 2015 5th International Conference on the Internet of Things (IOT).

[13]  Antonio Puliafito,et al.  Exploring Container Virtualization in IoT Clouds , 2016, 2016 IEEE International Conference on Smart Computing (SMARTCOMP).

[14]  Ebrahim Mahdipour,et al.  Load balancing mechanisms in fog computing: A systematic review , 2020, ArXiv.

[15]  Daniele Miorandi,et al.  FogGuru: a Fog Computing platform based on Apache Flink , 2020, 2020 23rd Conference on Innovation in Clouds, Internet and Networks and Workshops (ICIN).

[16]  Dejan Nickovic,et al.  CPS/IoT Ecosystem: A Platform for Research and Education , 2018, CyPhy/WESE.

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

[18]  Biji Nair,et al.  Overload prediction and avoidance for maintaining optimal working condition in a fog node , 2019, Comput. Electr. Eng..

[19]  Kai Chen,et al.  Multitier Fog Computing With Large-Scale IoT Data Analytics for Smart Cities , 2018, IEEE Internet of Things Journal.

[20]  Moayad Aloqaily,et al.  Fog resource selection using historical executions , 2018, 2018 Third International Conference on Fog and Mobile Edge Computing (FMEC).

[21]  Danilo De Donno,et al.  An IoT-Aware Architecture for Smart Healthcare Systems , 2015, IEEE Internet of Things Journal.

[22]  Peter Panfilov,et al.  Building Predictive Maintenance Framework for Smart Environment Application Systems , 2018 .

[23]  Marwan Krunz,et al.  QoE and power efficiency tradeoff for fog computing networks with fog node cooperation , 2017, IEEE INFOCOM 2017 - IEEE Conference on Computer Communications.

[24]  Mazin Abed Mohammed,et al.  A Review of Fog Computing and Machine Learning: Concepts, Applications, Challenges, and Open Issues , 2019, IEEE Access.

[25]  Vincenzo Grassi,et al.  Efficient Operator Placement for Distributed Data Stream Processing Applications , 2019, IEEE Transactions on Parallel and Distributed Systems.

[26]  Piero Baraldi,et al.  Challenges to IoT-Enabled Predictive Maintenance for Industry 4.0 , 2020, IEEE Internet of Things Journal.

[27]  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).

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

[29]  Jörg Ott,et al.  Consolidate IoT Edge Computing with Lightweight Virtualization , 2018, IEEE Network.

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

[31]  Schahram Dustdar,et al.  Towards QoS-Aware Fog Service Placement , 2017, 2017 IEEE 1st International Conference on Fog and Edge Computing (ICFEC).

[32]  Hua-Jun Hong,et al.  Distributed analytics in fog computing platforms using tensorflow and kubernetes , 2017, 2017 19th Asia-Pacific Network Operations and Management Symposium (APNOMS).

[33]  Tiago M. Fernández-Caramés,et al.  Design, Implementation and Practical Evaluation of an IoT Home Automation System for Fog Computing Applications Based on MQTT and ZigBee-WiFi Sensor Nodes , 2018, Sensors.

[34]  Antonio Brogi,et al.  QoS-Aware Deployment of IoT Applications Through the Fog , 2017, IEEE Internet of Things Journal.

[35]  Blesson Varghese,et al.  Resource Management in Fog/Edge Computing , 2018, ACM Comput. Surv..

[36]  Cristina L. Abad,et al.  Methodological Principles for Reproducible Performance Evaluation in Cloud Computing SPEC RG Cloud Working Group , 2019 .

[37]  Geng Wang,et al.  Research and design of embedded microprocessor based on ARM architecture , 2016, 2016 13th International Computer Conference on Wavelet Active Media Technology and Information Processing (ICCWAMTIP).

[38]  Yogesh L. Simmhan,et al.  Demystifying Fog Computing: Characterizing Architectures, Applications and Abstractions , 2017, 2017 IEEE 1st International Conference on Fog and Edge Computing (ICFEC).

[39]  Karim Afdel,et al.  Containers Placement and Migration on Cloud System , 2020, International Journal of Computer Applications.

[40]  Marcel Großmann,et al.  A Fog Computing Architecture to Share Sensor Data by Means of Blockchain Functionality , 2019, 2019 IEEE International Conference on Fog Computing (ICFC).

[41]  Vijayan Sugumaran,et al.  Task scheduling techniques in cloud computing: A literature survey , 2019, Future Gener. Comput. Syst..

[42]  Wessam Ajib,et al.  Joint Container Placement and Task Provisioning in Dynamic Fog Computing , 2019, IEEE Internet of Things Journal.

[43]  Athman Bouguettaya,et al.  Genetic Algorithm Based QoS-Aware Service Compositions in Cloud Computing , 2011, DASFAA.

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

[45]  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).

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

[47]  Rajkumar Buyya,et al.  A survey on load balancing algorithms for virtual machines placement in cloud computing , 2016, Concurr. Comput. Pract. Exp..

[48]  Frédéric Desprez,et al.  An Overview of Service Placement Problem in Fog and Edge Computing , 2020, ACM Comput. Surv..

[49]  María Auxilio Osorio Lama,et al.  Mixed Logical-linear Programming , 1999, Discret. Appl. Math..

[50]  Joaquim Celestino,et al.  Using the Multiple Knapsack Problem to Model the Problem of Virtual Machine Allocation in Cloud Computing , 2013, 2013 IEEE 16th International Conference on Computational Science and Engineering.

[51]  Jiang Zhu,et al.  Fog Computing: A Platform for Internet of Things and Analytics , 2014, Big Data and Internet of Things.

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

[53]  Diptendu Sinha Roy,et al.  A genetic algorithm for energy efficient fog layer resource management in context-aware smart cities , 2020, Sustainable Cities and Society.

[54]  Junxing Zhang,et al.  piFogBed: A Fog Computing Testbed Based on Raspberry Pi , 2019, 2019 IEEE 38th International Performance Computing and Communications Conference (IPCCC).

[55]  Mohammadreza Pourkiani,et al.  Resource Allocation in Combined Fog-Cloud Scenarios by Using Artificial Intelligence , 2020, 2020 Fifth International Conference on Fog and Mobile Edge Computing (FMEC).

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

[57]  G. Kavitha,et al.  Load balancing in cloud computing – A hierarchical taxonomical classification , 2019, Journal of Cloud Computing.

[58]  Xenofon Fafoutis,et al.  A Systematic Survey of Industrial Internet of Things Security: Requirements and Fog Computing Opportunities , 2020, IEEE Communications Surveys & Tutorials.

[59]  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).

[60]  Myungryun Yoo,et al.  Real-time task scheduling by multiobjective genetic algorithm , 2009, J. Syst. Softw..

[61]  Darrell Whitley,et al.  A genetic algorithm tutorial , 1994, Statistics and Computing.

[62]  Antonio Puliafito,et al.  Fog Computing for the Internet of Things , 2019, ACM Trans. Internet Techn..

[63]  Georgia Kougka,et al.  Optimization of data flow execution in a parallel environment , 2018, Distributed and Parallel Databases.

[64]  Rajkumar Buyya,et al.  Next generation cloud computing: New trends and research directions , 2017, Future Gener. Comput. Syst..

[65]  Marc St-Hilaire,et al.  Model and Algorithms for the Planning of Fog Computing Networks , 2019, IEEE Internet of Things Journal.

[66]  Rajkumar Buyya,et al.  Edge Affinity-based Management of Applications in Fog Computing Environments , 2019, UCC.

[67]  Stefan Schulte,et al.  A Framework for Optimization, Service Placement, and Runtime Operation in the Fog , 2018, 2018 IEEE/ACM 11th International Conference on Utility and Cloud Computing (UCC).