Managing resource sharing conflicts in an open embedded software environment - Archive ouverte HAL Access content directly
Theses Year : 2014

Managing resource sharing conflicts in an open embedded software environment

Gestion des conflits de partage de ressources dans un environnement logiciel embarqué ouvert

Abstract

Our homes become smart thanks to devices providing services (security, energy efficiency,…). Untrusted service providers want to take advantage of the smart home by developing services hosted by an embedded smart home gateway. The gateway should be robust enough to handle software problems. Sharing resources of the gateway between service providers allows providing richer services but raises risks of resource sharing conflicts. We addresses the problem of resource sharing conflicts in the smart home gateway, by prevention when possible, and by detection and resolution otherwise. Our first contribution "Jasmin" is a middleware to develop, deploy and isolate native embedded component-based and service-oriented applications. Jasmin uses Linux containers for lightweight isolation. Our second contribution "Incinerator" is a subsystem in the Java Virtual Machine (JVM) aiming to resolve the problem of Java stale references, which cause significant memory leaks in an OSGi-based smart home gateway, hence increasing the risks of memory sharing conflicts. Incinerator detects and eliminates stale references. In order to detect memory sharing conflicts, we propose our third contribution: memory monitoring subsystem in the JVM. The system accurately accounts for resources consumed during cross-application interactions, and provides snapshots of memory usage statistics for the different service providers sharing the gateway.
Nos maisons sont intelligentes grâce aux appareils fournissant des services (sécurité, efficacité énergétique,...). Des fournisseurs de services non fiables veulent profiter de la maison intelligente en développant des services hébergés dans une passerelle domotique embarquée. Cette passerelle doit être suffisamment robuste contre les problèmes logiciels. Partager les ressources de passerelle entre applications permet de fournir des services riches, mais provoque des risques de conflits de partage de ressources. Nous abordons le problème des conflits de partage des ressources dans la passerelle domotique, investiguant la prévention lorsque possible, et la détection et la résolution sinon. Notre première contribution «Jasmin» est un intergiciel pour développer, déployer et isoler les applications embarqués natives à base de composants et orientées services. Jasmin utilise les conteneurs Linux pour une isolation à faible coût. Notre seconde contribution «Incinerator» est un système dans la machine virtuelle Java (JVM) qui résout le problème des références obsolètes en Java, qui causent des fuites mémoire importantes en OSGi, augmentant ainsi les risques de conflits de partage de mémoire. Incinerator détecte et élimine les références obsolètes. Pour détecter les conflits de partage de mémoire, nous présentons la troisième contribution : système de surveillance mémoire dans la JVM. Le système compte précisément les ressources consommées pendant les interactions entre applications et fournit des statistiques d'utilisation de mémoire pour les différents fournisseurs de services partageant la passerelle.
Fichier principal
Vignette du fichier
2014PA066619.pdf (1.4 Mo) Télécharger le fichier
Origin : Version validated by the jury (STAR)
Loading...

Dates and versions

tel-01088028 , version 1 (27-11-2014)
tel-01088028 , version 2 (30-04-2015)

Identifiers

  • HAL Id : tel-01088028 , version 2

Cite

Koutheir Attouchi. Managing resource sharing conflicts in an open embedded software environment. Embedded Systems. Université Pierre et Marie Curie - Paris VI, 2014. English. ⟨NNT : 2014PA066619⟩. ⟨tel-01088028v2⟩
874 View
1102 Download

Share

Gmail Facebook X LinkedIn More