Platform as a service gateway for the Fog of Things. (August 2017) - Verba, Nandor; Chao, Kuo-Ming; James, Anne; Goldsmith, Daniel; Fei, Xiang; Stan, Sergiu-Dan
Abstract: Internet of Things (IoT), one of the key research topics in recent years, together with concepts from Fog Computing, brings rapid advancements in Smart City, Monitoring Systems, industrial control, transportation and other fields. These applications require a reconfigurable sensor architecture that can span multiple scenarios, devices and use cases that allow storage, networking and computational resources to be efficiently used on the edge of the network. There are a number of platforms and gateway architectures that have been proposed to manage these components and enable application deployment. These approaches lack horizontal integration between multiple providers as well as higher order functionalities like load balancing and clustering. This is partly due to the strongly coupled nature of the deployed applications, a lack of abstraction of device communication layers as well as a lock-in for communication protocols. This limitation is a major obstacle for the development of a protocol agnostic application environment that allows for single application to be migrated and to work with multiple peripheral devices with varying protocols from different local gateways. This research looks at existing platforms and their shortcomings as well as proposes a messaging based modular gateway platform that enables clustering of gateways and the abstraction of peripheral communication protocol details. These novelties allow applications to send and receive messages regardless of their deployment location and destination device protocol, creating a more uniform development environment. Furthermore, it results in a more streamlined application development and testing while providing more efficient use of the gateway's resources. Our evaluation of a prototype for the system shows the need for the migration of resources and the QoS advantages of such a system. The examined use case scenarios show that clustering proves to be an advantage in certain use cases as well as presenting the deployment of a larger testing and control environment through the platform.