Kumseok Jung, Gargi Mitra, Sathish Gopalakrishnan and Karthik Pattabiraman, Proceedings of the ACM/IEEE Conference on Internet of Things Design and Implementation (IoTDI), 2024. (Acceptance Rate: 36.7%) [ PDF | Talk] (code)
Abstract: Distributed Internet-of-Things (IoT) applications operate in a dynamic environment, and therefore need to adapt in response to unexpected failures and changes in the operating conditions. Making IoT applications adaptive is challenging due to two reasons. First, an application can be deployed in vastly different runtime infrastructures, each varying in the available resources and sources of faults. Second, an IoT application comprises multiple service components, each with a different performance and dependability requirement. Hence, an adaptivity solution must be infrastructure-agnostic and application-aware.
In this paper, we present a middleware system called ImmunoPlane that provides adaptivity to IoT applications transparently. ImmunoPlane provides a domain-specific language for users to declaratively state application-specific requirements, and it produces an adaptive deployment plan based on the given infrastructure and the user-provided application requirements. We show that ImmunoPlane can satisfy application requirements such as availability, throughput, and latency, under both failures and network congestions, in three different infrastructures.