Learning distributed deployment and configuration trade-offs for context-aware applications in Intelligent Environments
Journal of Ambient Intelligence and Smart Environments
The Internet of Things (IoT) is rapidly gaining ground as can be witnessed by the pervasive presence of the many things or objects around us that turn our surroundings into intelligent environments. These objects interact on a large scale in wired and wireless sensor and actuator networks using advanced communication protocols. Hence, IoT is an open ended and highly dynamic ecosystem with heterogeneous workloads and fluctuating resource availability. Distributed intelligence for smart objects
... d platforms is a vital enabling factor for IoT, but finding the best strategy to deploy and configure applications − especially those that require contextual intelligence − in a smart environment with dynamic and heterogeneous resource availability is far from straightforward. Our experiments using context-aware applications for intelligent environments show that many resource and performance trade-offs exist and that current deployment schemes for these kind of applications are rough around the edges. We illustrate how a modular design philosophy for smart IoT applications enables a more optimal deployments. Furthermore, we present a methodology to inspect and learn the trade-offs of different deployment schemes of IoT applications in order to autonomously optimize their configuration. We validated our methodology on different use cases and scenarios, and the results demonstrate the feasibility of our approach to automate the efficient deployment of IoT applications in the presence of multiple conflicting Quality of Service (QoS) objectives and varying runtime circumstances.