The Fog Development Kit: A Development Platform for SDN-based Edge-Fog Systems

With the rise of the Internet of Things (IoT), fog computing has emerged to help traditional cloud computing in meeting scalability demands. Fog computing makes it possible to fulfill real-time requirements of applications by bringing more processing, storage, and control power geographically closer to edge devices. However, since fog computing is a relatively new field, there is no standard platform for research and development in a realistic environment, and this dramatically inhibits innovation and development of applications suitable for the fog. In response to these challenges, we propose the FDK: A Fog Development Kit for software-defined edge-fog systems. By providing high-level interfaces for allocating computing and networking resources, the FDK abstracts the complexities of fog computing from developers and enables rapid development of edge-fog systems. Also, the FDK supports the utilization of virtualized devices to create a highly realistic emulation environment, allowing fog application prototypes to be built with zero additional costs and enabling portability to a physical infrastructure. We evaluate the resource allocation performance of the FDK using a testbed, including eight edge devices, four fog nodes, and five OpenFlow switches. Our evaluations show that the delay of resource allocation and deallocation is less than 279ms and 256ms for 95% of edge-fog transactions, respectively. Besides, we demonstrate that resource allocations are appropriately enforced and guaranteed, even amidst extreme network congestion.

[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]  Behnam Dezfouli,et al.  REWIMO , 2017, ACM Trans. Sens. Networks.

[3]  Rajkumar Buyya,et al.  ContainerCloudSim: An environment for modeling and simulation of containers in cloud data centers , 2017, Softw. Pract. Exp..

[4]  Rakesh Kumar,et al.  End-to-End Network Delay Guarantees for Real-Time Systems Using SDN , 2017, 2017 IEEE Real-Time Systems Symposium (RTSS).

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

[6]  Behnam Dezfouli,et al.  Profiling and improving the duty-cycling performance of Linux-based IoT devices , 2018, Journal of Ambient Intelligence and Humanized Computing.

[7]  Mo Dong,et al.  Towards a flexible data center fabric with source routing , 2015, SOSR.

[8]  Behnam Dezfouli,et al.  Implementation and Analysis of QUIC for MQTT , 2018, Comput. Networks.

[9]  Behnam Dezfouli,et al.  Image classification on IoT edge devices: profiling and modeling , 2019, Cluster Computing.

[10]  Jennifer Rexford,et al.  Clove: Congestion-Aware Load Balancing at the Virtual Edge , 2017, CoNEXT.

[11]  Hong Zhang,et al.  Resilient Datacenter Load Balancing in the Wild , 2017, SIGCOMM.

[12]  Andrew V. Goldberg,et al.  Shortest paths algorithms: Theory and experimental evaluation , 1994, SODA '94.

[13]  Weisong Shi,et al.  The Promise of Edge Computing , 2016, Computer.

[14]  Jie Wang,et al.  Distributed Analytics and Edge Intelligence: Pervasive Health Monitoring at the Era of Fog Computing , 2015, Mobidata@MobiHoc.

[15]  Richard Bellman,et al.  ON A ROUTING PROBLEM , 1958 .

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

[17]  Michail Matthaiou,et al.  ENORM: A Framework For Edge NOde Resource Management , 2017, IEEE Transactions on Services Computing.

[18]  Tao Zhang,et al.  Fog and IoT: An Overview of Research Opportunities , 2016, IEEE Internet of Things Journal.

[19]  Jürgen Schönwälder,et al.  Network Configuration Protocol (NETCONF) , 2011, RFC.

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

[21]  Rajkumar Buyya,et al.  CloudSimSDN: Modeling and Simulation of Software-Defined Cloud Data Centers , 2015, 2015 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[22]  Bruce S. Davie,et al.  The Open vSwitch Database Management Protocol , 2013, RFC.

[23]  Martin Bjorklund,et al.  YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) , 2010 .

[24]  Kaiqi Xiong,et al.  Quality of Service (QoS)-Guaranteed Network Resource Allocation via Software Defined Networking (SDN) , 2014, 2014 IEEE 12th International Conference on Dependable, Autonomic and Secure Computing.

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

[26]  Robert Sedgewick,et al.  Algorithms in C , 1990 .

[27]  Nirwan Ansari,et al.  Mobile Edge Computing Empowers Internet of Things , 2017, SENSORNETS.

[28]  Juan Luo,et al.  Tasks Scheduling and Resource Allocation in Fog Computing Based on Containers for Smart Manufacturing , 2018, IEEE Transactions on Industrial Informatics.

[29]  Keerthana Govindaraj,et al.  Container Live Migration for Latency Critical Industrial Applications on Edge Computing , 2018, 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA).

[30]  Martín Casado,et al.  The Design and Implementation of Open vSwitch , 2015, NSDI.