PhD graduated
Team : REGAL
Departure date : 07/11/2014

Supervision : Gilles MULLER

Co-supervision : THOMAS Gaël, BOTTARO André

Managing Resource Sharing Conflicts in an Open Embedded Software Environment

Our homes are becoming smart thanks to the numerous devices, sensors and actuators available in it, providing services, e.g., entertainment, home security, energy efficiency and health care. Various service providers want to take advantage of the smart home opportunity by rapidly developing services to be hosted by an embedded smart home gateway. The gateway is open to applications developed by untrusted service providers, controlling numerous devices, and possibly containing bugs or malicious code. Thus, the gateway should be highly-available and robust enough to handle software problems without restarting abruptly. Sharing the constrained resources of the gateway between service providers allows them to provide richer services. However, resource sharing conflicts happen when an application uses resources “unreasonably” or abusively. This thesis addresses the problem of resource sharing conflicts in the smart home gateway, investigating prevention approaches when possible, and considering detection and resolving approaches when prevention is out of reach. Our first contribution, called Jasmin, aims at preventing resource sharing conflicts by isolating applications. Jasmin is a middleware for development, deployment and isolation of native, component-based and service-oriented applications targeted at embedded systems. Jasmin enables fast and easy cross-application communication, and uses Linux containers for lightweight isolation. Our second contribution, called Incinerator, is a subsystem in the Java Virtual Machine (JVM) aiming to resolve the problem of Java stale references, i.e., references to objects that should no more be used. Stale references can cause significant memory leaks in an OSGi-based smart home gateway, hence decreasing the amount of available memory, which increases the risks of memory sharing conflicts. With less than 4% overhead, Incinerator not only detects stale references, making them visible to developers, but also eliminates them, hence lowering the risks of resource sharing conflicts. Even in Java, memory sharing conflicts happen. Thus, in order to detect them, we propose our third contribution: a memory monitoring subsystem integrated into the JVM. Our subsystem is mostly transparent to application developers and also aware of the component model composing smart home applications. The system accurately accounts for resources consumed during cross-application interactions, and provides on-demand snapshots of memory usage statistics for the different service providers sharing the gateway.

Defence : 07/11/2014 - 10h30 - Site Jussieu 25-26/105

Jury members :

Didier Donsez: Professeur (HDR) de l'Université de Grenoble 1 [Rapporteur]
Laurence Duchien: Professeur (HDR) de l'Université de Lille 1 [Rapporteur]
Béatrice Berard: Professeur (HDR) de l'Université de Pierre et Marie Curie, Paris 6
Jean-Philippe Fassino: Architecte en Cyber-Securité, Schneider Electric
Johann Bourcier: Maitre de Conférences de l'Université de Rennes 1
Gilles Muller: Scientifique Chercheur Senior (HDR), Inria
Gaël Thomas: Professeur (HDR) de l'Université de Pierre et Marie Curie, Paris 6
André Bottaro: Directeur de Programme de Recherche, Orange Labs

2012-2015 Publications