FogBus2 as a new python-based framework, developed from scratch, offers a lightweight and distributed container-based framework for the integration of IoT-enabled systems with heterogeneous multi-cloud and multi-edge resources. Also, several IoT applications, ranging from AI-based applications (e.g., Face Detection) to small-sized games (e.g., GameOfLife) are implemented and integrated with this framework.
The major contributions of this work are as follow:
- A distributed containerized framework in python language that integrates IoT enabled systems, Edge/Fog, and Cloud infrastructure to support various types of IoT applications ranging from latency-critical to computation-intensive ones.
- Multi platform support. The docker image of framework's components and applications are built for different platroms, such as Intel, AMD, ARM, etc.
- Supporting different topology models for communication.
- Scheduling mechanism and several scheduling policies currently implemented and integrated with this framework.
- Dynamic scalability. There are some implemented mechanisms to dynamically scale the framework components based on the dynamics of the users' requests or the computing environment.
- Dynamic resource discovery.
- Dynamic profiling of resources and networking that are configurable.
- Automatic Virtual Private Network (VPN) support.
- Distributed multi-database platform support: The current version supports MariaDB and Oracle Autonomous Database.
- Performance evaluation of FogBus2 framework in terms of container startup time, average docker image size, runtime container RAM usage, response time of applications, etc.
FogBus2 framework is developed by:
- Qifan Deng
- Mohammad Goudarzi
- Rajkumar Buyya
To find an installation guideline, sample setup, VPN setup, Important protocols, running current features, extending the framwork, implementing and extending new IoT applications, please refer and cite to:
Internet of Things, Edge/Fog Computing, Containers Scheduling, Scalability
@inproceedings{deng2021fogbus2,
title={FogBus2: a lightweight and distributed container-based framework for integration of IoT-enabled systems with edge and cloud computing},
author={Deng, Qifan and Goudarzi, Mohammad and Buyya, Rajkumar},
booktitle={Proceedings of the International Workshop on Big Data in Emergent Distributed Environments},
pages={1--8},
year={2021}
}
@article{goudarzi2021resource,
title={Resource Management in Edge and Fog Computing using FogBus2 Framework},
author={Goudarzi, Mohammad and Deng, Qifan and Buyya, Rajkumar},
journal={arXiv preprint arXiv:2108.00591},
year={2021}
}cita
-
prepare database. See MariaDB Guide.
-
Working with automatic demo script. It helps to build multi-arch images and run default applications of FogBus2 framework. To run demo script, see Demo.
Script | Path | Usage | Guide |
---|---|---|---|
MariaDB:10.5.9 | containers/database/mariadb/configure.py | python3.9 configure.py -h |
MariaDB |
Demo | demo/demo.py | python3.9 demo.py -h |
Demo |
Wireguard | scripts/wireguard/generateConf.py | follow guide | Wireguard (VPN) |
To directly download all docker images to your instances or building docker images locally, please check Prepare Docker Images.
See Configs to understand how to modify configs. Includes,
- Remote Logger Config
- Master Config
- Actor Config
- Task Executor Config
- User Config
- Hosts Config
- Wireguard Config
- Q. Deng, M. Goudarzi, and R. Buyya, “FogBus2: a lightweight and distributed container-based framework for integration of IoTenabled systems with edge and cloud computing,” in Proceedings of the International Workshop on Big Data in Emergent Distributed Environments, 2021, pp. 1–8.
- Goudarzi, Mohammad, Qifan Deng, and Rajkumar Buyya. "Resource management in edge and fog computing using FogBus2 framework." arXiv preprint arXiv:2108.00591 (2021).