Coordination et reconfiguration des applications reparties dans le nuage
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é |
Mots clés
Résumé
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.