Thèse soutenue

Coordination et reconfiguration des applications reparties dans le nuage

FR  |  
EN
Auteur / Autrice : Rim Abid
Direction : Gwen Salaün
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 16/12/2015
Etablissement(s) : Université Grenoble Alpes (ComUE)
Ecole(s) doctorale(s) : École doctorale Mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 1995-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique de Grenoble - Institut national de recherche en informatique et en automatique (France). Centre de recherche de l'université Grenoble Alpes
Equipe de recherche : Efficient and Robust Distributed Systems
Jury : Président / Présidente : Daniel Hagimont
Examinateurs / Examinatrices : Noël de Palma, Fabienne Boyer, Pascal Poizat
Rapporteurs / Rapporteuses : Christian Attiogbé

Résumé

FR  |  
EN

Les applications reparties dans le nuage sont constituées d'un ensemble de composants logiciels interconnectés et répartis sur plusieurs machines virtuelles. Cet environnement nécessite des protocoles pour configurer dynamiquement ces applications. Nous présentons dans la première partie de cette thèse un nouveau protocole pour résoudre les dépendances dans ces applications. Ce protocole consiste à (dé) connecter et démarrer/arrêter les composants dans un ordre spécifique. Il supporte les pannes des machines virtuelles et les opérations de reconfiguration se terminent toujours avec succès. Ces machines virtuelles interagissent à travers un «publish-subscribe communication media» et se reconfigurent d'une manière décentralisée. La conception de ces protocoles étant une source d'erreurs, nous avons étudié l'utilisation du langage formelle LNT pour spécifier le protocole et les outils disponibles dans la boîte à outils CADP pour le vérifier. D'autre part, la gestion des applications reparties dans le nuage est une tâche complexe car l'administration manuelle n'est plus réaliste pour ces systèmes. Nous avons proposé d'automatiser certaines fonctions d'administration en utilisant des boucles de contrôle appelées gestionnaires autonomes. Plusieurs gestionnaires peuvent être déployés pour la gestion de la même application. Cependant, leur utilisation sans coordination peut conduire à des incohérences et des situations d'erreur. Dans la deuxième partie de cette thèse, nous avons proposé une nouvelle approche pour coordonner plusieurs gestionnaires autonomes. Cette approche repose sur une langue de coordination simple, de nouvelles techniques asynchrone pour la synthèse de contrôleur et la génération de code Java. Nous avons appliqué notre approche pour coordonner les applications de cloud computing dans le monde réel.