Thèse soutenue

Vérification formelle du protocole Pastry

FR  |  
EN
Auteur / Autrice : Tianxiang Lu
Direction : Stephan MerzChristoph Weidenbach
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 27/11/2013
Etablissement(s) : Université de Lorraine en cotutelle avec Universität des Saarlandes
Ecole(s) doctorale(s) : École doctorale IAEM Lorraine - Informatique, Automatique, Électronique - Électrotechnique, Mathématiques de Lorraine (1992-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire lorrain de recherche en informatique et ses applications
Jury : Président / Présidente : Dominique Mery
Examinateurs / Examinatrices : Roland Meyer, Achour Mostefaoui
Rapporteur / Rapporteuse : Philippe Queinnec, Peter Schmitt

Résumé

FR  |  
EN

Le protocole Pastry réalise une table de hachage distribué sur un réseau pair à pair organisé en un anneau virtuel de noeuds. Alors qu'il existe plusieurs implémentations de Pastry, il n'y a pas encore eu de travaux pour décrire formellement l'algorithme ou vérifier son bon fonctionnement. Intégrant des structures de données complexes et de la communication asynchrone entre des noeuds qui peuvent rejoindre ou quitter le réseau, ce protocole représente un intérêt certain pour la vérification formelle. La thèse se focalise sur le protocole Join de Pastry qui permet à un noeud de rejoindre le réseau. Les noeuds ayant intégré le réseau doivent avoir une vue du voisinage cohérente entre eux. La propriété principale de correction, appelée CorrectDelivery, assure qu'à tout moment il y a au plus un noeud capable de répondre à une requête pour une clé, et que ce noeud est le noeud le plus proche numériquement à ladite clé. Il n'est pas trivial de maintenir cette propriété en présence de churn. Ce travail nous a permis de découvrir des violations inattendues de la propriété dans les versions publiées de l'algorithme. Sur la base de cette analyse, le protocole IdealPastry est conçu et vérifié en utilisant l'assistant interactif à la preuve TLAPS pour TLA+. Le protocole LuPastry est obtenu en assouplissant certaines hypothèses de IdealPastry. Il est montré formellement que LuPastry vérifie CorrectDelivery sous l'hypothèse qu'aucun noeud ne quitte le réseau. Cette hypothèse ne peut être relâchée à cause du risque de perte de connexion du réseau dans le cas où plusieurs noeuds quittent le réseau en même temps