EdgeFlow-Developing and Deploying Latency-Sensitive IoT Edge Applications - Avasalcai, Cosmin; Zarrin, Bahram; Dustdar, Schahram (IEEE internet of things journal, 2022)
Demanding latency-sensitive IoT applications have stringent requirements, such as low latency, better privacy, and security. To meet such requirements, researchers proposed a new paradigm, i.e., edge computing. Edge computing consists of distributed computational resources and enables the execution of IoT applications closer to the edge of the network. However, the distributed nature of this paradigm makes the application deployment and development process more challenging since the developer must divide the application's functionality into multiple parts, assigning for each a set of requirements. As a result, the developer must: 1) define the application's requirements and validate them at design time and 2) find a deployment strategy on the target edge computing platform. In this article, we propose EdgeFlow, a new IoT framework capable of assisting the developer in the application development process. Specifically, we introduce a methodology for latency-sensitive IoT applications development and deployment, consisting of three different stages, i.e., the development, validation, and deployment. To this end, we propose an extension of the flow-based programming paradigm with new timing requirements and provide a resource allocation technique to assist with the deployment and validation of latency-sensitive IoT applications. Finally, we evaluate EdgeFlow by: 1) presenting the application development methodology and 2) performing a quantitative evaluation demonstrating our resource allocation technique's capabilities to find feasible and optimal deployment strategies. The experimental results illustrate the effectiveness of our methodology to assist the developer throughout the entire application development process.