Coordination and reconfiguration of distributed cloud applications / Rim Abid ; sous la direction de Gwen Salaün

Date :

Type : Livre / Book

Type : Thèse / Thesis

Langue / Language : anglais / English

Catalogue Worldcat

Informatique dans les nuages

Protocoles de réseaux d'ordinateurs

Classification Dewey : 004

Salaün, Gwen (1977-....) (Directeur de thèse / thesis advisor)

Hagimont, Daniel (1965-.... ; enseignant-chercheur en informatique) (Président du jury de soutenance / praeses)

Attiogbé, Christian (Rapporteur de la thèse / thesis reporter)

Palma, Noël de (1974-....) (Membre du jury / opponent)

Boyer, Fabienne (19..-....) (Membre du jury / opponent)

Poizat, Pascal (Membre du jury / opponent)

Communauté d'universités et d'établissements Université Grenoble Alpes (Organisme de soutenance / degree-grantor)

École doctorale mathématiques, sciences et technologies de l'information, informatique (Grenoble) (Ecole doctorale associée à la thèse / doctoral school)

Laboratoire d'informatique de Grenoble (Laboratoire associé à la thèse / thesis associated laboratory)

Institut national de recherche en informatique et en automatique (France). Centre de recherche (Grenoble-Rhône-Alpes) (Laboratoire associé à la thèse / thesis associated laboratory)

Résumé / Abstract : 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.

Résumé / Abstract : Cloud applications are composed of a set of interconnected software components distributed over several virtual machines. There is a need for protocols that can dynamically reconfigure such distributed applications. We present in the first part of this thesis a novel protocol, which can resolve dependencies in these applications, by (dis)connecting and starting/stopping components in a specific order. The protocol also supports virtual machine failures. The virtual machines interact through a publish-subscribe communication media and reconfigure themselves upon demand in a decentralised fashion. Designing such protocols is an error-prone task. Therefore, we investigated the use the LNT value-passing process algebra to specify the protocol and the model checking tools available in the CADP toolbox to verify it.Managing distributed cloud applications is a challenging problem because manual administration is no longer realistic for these complex distributed systems. Thus, autonomic computing is a promising solution for monitoring and updating these applications automatically. This is achieved through the automation of administration functions and the use of control loops called autonomic managers. Multiple autonomic managers can be deployed in the same system and must make consistent decisions. Using them without coordination may lead to inconsistencies and error-prone situations. In the second part of the thesis, we propose our approach for coordinating stateful autonomic managers, which relies on a simple coordination language, new techniques for asynchronous controller synthesis and Java code generation. We used our approach for coordinating real-world cloud applications.