Support for Data-driven Context Awareness in Smart Mobile and IoT Applications: Resource Efficient Probabilistic Models and a Quality-aware Middleware Architecture

Publication date: 2016-04-19

Author:

Ramakrishnan, Arun Kishore
Berbers, Yolande

Abstract:

The Internet of Things (IoT) is a new and emerging computing paradigm which strives to seamlessly link the physical and cyber worlds. Despite the technical foundations laid by context-aware computing and Ambient Intelligence (AmI), enabling smartness in IoT remains a multifaceted challenge. The high data volume, various heterogeneity and uncertainty aspects of IoT generated data along with the requirement to sense and interpret complex user related data often on resource constrained devices pose a major challenge for enabling context awareness in IoT. In this thesis, we address these challenges by providing necessary modeling abstractions, algorithms and architectural support. Our objective is to support data-driven techniques for robust and efficient recognition of user contexts in open, distributed and evolving environments. Also, we aim to hide the technical complexities in enabling context awareness from the application developers while keeping the entire process of context acquisition and dissemination transparent to the end users. Our first contribution includes a literature review on the state of the art machine learning techniques in the related fields and a practical analysis of the feasibility of such techniques for smart mobile and IoT applications. We identify various trade-offs in providing practical data driven intelligence for IoT. Furthermore, we investigate the usefulness and viability of transfer learning techniques to reuse models for context inference across devices. Our second contribution is a hybrid modeling framework for context inference called HARD-BN (Heterarchical, Autonomous, Recursive and Distributed Bayesian Network) that leverages correlated user contexts to not only improve the recognition accuracy but also robustness against missing data at runtime. It improves the capabilities of state-of-the-art models for context inference by systematically combining multiple learning techniques and sensor data. We use a frequent set mining inspired self-learning algorithm to discover the relations between user contexts by identifying one-to-many, many-to-one and many-to- many relations between the user contexts. This helps to semi-automate the modeling in HARD-BN as well as enable duty cycling of resource hungry sensors by discovering efficient alternative sensors. Together, these algorithms enable opportunistic recognition of diverse user contexts simultaneously. Third, we have realized an encompassing context middleware - Co4IoT, that enables provisioning of context on demand for smart applications. It brings together the users, applications and smart things, and addresses coordination concerns such as which sensors and configurations to use, and how to actively engage users to obtain ground truth annotations and effectively disseminate the context to the applications with complete control to the end users. We refine and extend the catalog of architectural tactics by codifying the design decisions for energy efficiency in IoT based on the best practices in the literature. Then we utilize them to provide a quality driven software architecture for Co4IoT. Also, we propose a feature model inspired knowledge representation technique for effectively matching the capabilities of the IoT platforms with the requirements of the smart applications. Finally, we corroborate the usefulness of the presented algorithms and middleware solutions with a novel smart locking mechanism for the mobile devices. We present a policy driven risk based authentication technique (PRISM) that leverages user contexts to provide low cost secondary authentication by identifying unsafe situations and automatically locking the devices. Our experiments have shown that it effectively protects mobile applications against unauthorized access in everyday scenarios without compromising on the usability.