FogBus: A Blockchain-based Lightweight Framework for Edge and Fog Computing

Md Redowan Mahmud
JSS Editor’s Selection
5 min readMay 19, 2020

The Cloud Computing and Distributed Systems (CLOUDS) Laboratory, the University of Melbourne has been one of the pioneer research organizations in developing various resource and application management policies for Edge and Fog computing environments. From the CLOUDS Lab, 40+ articles have already been published on Edge and Fog computing in different high impact journals, conferences and book series. In 2017, the CLOUDS Lab launched “iFogSim” toolkit for modeling and simulation of resource management policies in the Internet of Things (IoT), Edge and Fog computing environments. Additionally, with a view to supporting end-to-end integration of Edge-Fog and Cloud infrastructure for Internet of Things (IoT) applications, the CLOUDS Lab has recently developed a real-world framework named “FogBus”. The research article entitled “FogBus: A Blockchain-based Lightweight Framework for Edge and Fog Computing”, co-authored by Shreshth Tuli, Redowan Mahmud, Shikhar Tuli, and Rajkumar Buyya, has been published in the Journal of Systems and Software (JSS), Elsevier in 2019. It has also received the “Top Ten Downloaded Article of 2019 Award” from the editorial board of JSS.

The requirement of executing latency-sensitive and computing-intensive IoT applications across the Edge-Fog and Cloud infrastructure sets the motivation for developing the FogBus framework. Like FogBus, there exist other frameworks that integrate Edge-Fog and Cloud infrastructure. However, they

  1. barely support simultaneous execution of multiple applications and platform independence
  2. offer limited scope to application developers and users to tune them framework according to individual requirements
  3. apply centralized techniques that eventually increase management time and service delay
  4. and consider only a few security aspects.

On the other hand, FogBus

  1. simplifies the integration of Edge-Fog and Cloud infrastructure so that edge and remote resources can be harnessed according to application requirements
  2. applies Blockchain to ensure data integrity while transferring confidential data
  3. supports platform-independent application execution and node-to-node interaction architecture to overcome the resource heterogeneity within an integrated Edge-Fog and Cloud environment.
  4. provides a scope to integrate customized Edge-Fog resource management policies.

FogBus considers Edge computation as a subset of Fog computing. The hardware that FogBus deals with are:

IoT devices: Perceive the external environment and convert any given command to physical actions. FogBus allows IoT devices to connect with proximate gateways via wireless or wired communication protocols.

Fog Gateway Nodes (FGN): Through FGNs, the FogBus framework offers user interfaces of applications so that the users can set authentication credentials, access the backend program, convey service expectations, receive service outcome, manage IoT devices, and request resources from computing infrastructure according to their affordability. They use either the Constrained Application Protocol (CoAP) or Simple Network Management Protocol (SNMP) for communication.

Fog Computational Nodes (FCN): In FogBus framework, they are classified as Broker nodes, Repository nodes and General Computing nodes (GCNs). They perform resource management operations, data storage, and application execution.

Cloud datacenters: FogBus extends resources from Cloud datacenters to execute back-end applications. In association with Fog repository nodes, it facilitates extensive data storage and distribution so that access and processing of data become location independent.

Figure 1: High-level view of integrating IoT, Edge-Fog and Cloud through FogBus framework

The software components of FogBus include:

Broker Service: It looks after the security of decision-making entities, manages the data flow, provisions resources for application execution and connects Cloud to Fog infrastructure.

Repository Service: It archives the user and infrastructure credentials, stores the data from IoT devices, mirrors the application catalog and extends the Cloud storage to support data management operations.

Computing Service: It manages the security aspects of computing entities, executes the applications, monitors the resource usage during application execution.

Figure 2: Interaction of different software components within FogBus

Moreover, the network structure of FogBus works in Master-Worker basis where the Brokers are the masters and other nodes are the workers. The software components of FogBus is developed in PHP and Java programming language for their cross-platform assistance. HTTP Restful APIs are used to manage the communication among different hardware in FogBus enabled integrated computing environments. The Blockchain feature of FogBus is implemented in Java in association with SHA256 algorithm. The hash value is created using the corresponding data, the index of the block in the chain, the timestamp of the data reception and the hash of its previous block within the chain. The Cloud plugin is created with the Aneka Cloud Application Platform software developed by Manjra soft and CLOUDS Lab.

To illustrate the efficacy of FogBus, it has been used to develop a prototype for Sleep Apnea data analysis. The configurations of hardware used in this prototype are:

  • IoT Device: Jumper JPD-500F Finger Pulse Oximeter, 1.5V, Bluetooth Low Energy v4.2 (BLE), UTF-8 data encoding.
  • Gateway: Smartphone, Oppo A73 CPH1725, Android 7.1.1.
  • Broker/Master Node: Dell Latitude D630 Laptop, Intel(R) Core (TM)2 Duo CPU E6550@2.33GHz 2GB DDR2 RAM, 32-bit, Windows 7, Apache HTTP Server 2.4.34, Java SE Runtime Environment (JRE) 1.6, MySQL 5.6, .net 3.5, Aneka 3.1.
  • Other FCN/Worker Node: Raspberry Pi 3 B+, ARM Cortex- A53 quad-core SoC CPU @ 1.4GHz 1GB LPDDR2 SDRAM, IEEE 802.11, 64-bit, Raspbian Stretch, Apache HTTP Server 2.4.34, JRE 1.6, MySQL 5.6.
  • Public Cloud: Microsoft Azure B1s Machine, 1vCPU, 1GB RAM, 2GB SSD, Windows Server 2016, .NET 3.5, Aneka 3.1.
Figure 3: FogBus framework enabled system model for Sleep Apnea analysis

Additionally, FogBus provides significant scope to conduct future research in the following directions.

  1. Fog infrastructure virtualization: In-depth exploration is required to virtualize the Fog infrastructure in FogBus
  2. Application placement techniques: Different application placement techniques can also be added to the software stack of FogBus.
  3. Artificial Intelligence: FogBus does not support any artificial intelligence techniques for controlling the operations. The inclusion of Artificial Intelligence techniques can be a significant contribution to FogBus.
  4. Runtime application migration: Migration of applications during runtime is very crucial if any anomaly is predicted. Different runtime application migration strategies for FogBus can be developed to handle such uncertain events.
  5. Lightweight security features: Existing security features of FogBus require comparatively higher computational assistance. This consequently affects service delivery latency, energy, and network usage. Therefore, lightweight but effective features can be helpful for further enhancement of FogBus.

In summary, it can be claimed that FogBus is a very important contribution to the state of the art. Building on FogBus framework, 30+ research articles have already been published. Moreover, both iFogSim simulator and FogBus framework, developed by the CLOUDS Lab, pave the way for systematic research on resource management in Edge-Fog computing environments. iFogSim assists in conceptualizing a resource management policy, whereas, FogBus facilitates its physical deployment and evaluation. Many researchers and organizations all around the world are following this approach. The CLOUDS Lab expects its faster growth in the upcoming years.

FogBus software is released in open source and it can be accessed from:
http://cloudbus.org/fog/ or https://github.com/Cloudslab/FogBus

--

--