FogFlow: Easy Programming of IoT Services Over Cloud and Edges for Smart Cities

Smart city infrastructure is forming a large scale Internet of Things (IoT) system with widely deployed IoT devices, such as sensors and actuators that generate a huge volume of data. Given this large scale and geo-distributed nature of such IoT systems, fog computing has been considered as an affor...

Full description

Saved in:
Bibliographic Details
Published inIEEE internet of things journal Vol. 5; no. 2; pp. 696 - 707
Main Authors Bin Cheng, Solmaz, Gürkan, Cirillo, Flavio, Kovacs, Ernö, Terasawa, Kazuyuki, Kitazawa, Atsushi
Format Journal Article
LanguageEnglish
Published Piscataway IEEE 01.04.2018
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Smart city infrastructure is forming a large scale Internet of Things (IoT) system with widely deployed IoT devices, such as sensors and actuators that generate a huge volume of data. Given this large scale and geo-distributed nature of such IoT systems, fog computing has been considered as an affordable and sustainable computing paradigm to enable smart city IoT services. However, it is still a major challenge for developers to program their services to leverage benefits of fog computing. Developers have to figure out many details, such as how to dynamically configure and manage data processing tasks over cloud and edges and how to optimize task allocation for minimal latency and bandwidth consumption. In addition, most of the existing fog computing frameworks either lack service programming models or define a programming model only based on their own private data model and interfaces; therefore, as a smart city platform, they are quite limited in terms of openness and interoperability. To tackle these problems, we propose a standard-based approach to design and implement a new fog computing-based framework, namely FogFlow, for IoT smart city platforms. FogFlow's programming model allows IoT service developers to program elastic IoT services easily over cloud and edges. Moreover, it supports standard interfaces to share and reuse contextual data across services. To showcase how smart city use cases can be realized with FogFlow, we describe three use cases and implement an example application for anomaly detection of energy consumption in smart cities. We also analyze FogFlow's performance based on microbenchmarking results for message propagation latency, throughput, and scalability.
ISSN:2327-4662
2327-4662
DOI:10.1109/JIOT.2017.2747214