La progression des applications coopératives est confrontée, de façon inhérente, à la latence des moyens de communication. Lorsque celle-ci devient importante, les modèles de cohérence traditionnels entraînent un manque de réactivité rédhibitoire. Nous attaquons ce problème, en réduisant une application coopérative à une collection de réplicats coopérants, puis en se focalisant sur la gestion de cohérence d'un tel groupe de réplicats.<br /><br />Ce problème est important par deux aspects : par son application dans tous les domaines impliquant la coopération d'individus et par son caractère fondamental dans la structuration et la compréhension des mécanismes de coopération.<br /><br />Notre étude critique, des critères de cohérence associés aux cohérences dites «faibles», embrasse quatre domaines : les systèmes transactionnels, les mémoires partagées réparties, les objets concurrents et les plate-formes de communication. Notre thèse contribue sur trois points :<br /><br />Notre modèle d'exécution est libre de tout a priori concernant la causalité des opérations. Ce modèle est basé sur des histoires répliquées.<br />Notre modèle de partage, la réplication coopérante, dérivée de la réplication active, n'impose pas un ordre commun unique sur l'exécution des opérations. Les réplicats sont autonomes et ne coopèrent que lorsque leur vue de l'histoire globale ne suffit plus à garantir la correction de l'application.<br />Nos principes systèmes permettent de construire un nouveau type de composant, le gestionnaire de cohérence . Ce composant :<br />prend en charge la coopération des réplicats. Il implante la partie complexe de la gestion de cohérence : le contrôle de la distribution, de la réplication et de la concurrence ;<br />maintient, sur l'ordre réparti des opérations, des propriétés déterministes. Ces propriétés définissent un contrat de cohérence ; elles peuvent être utilisées comme critère de correction ;<br />est choisi à l'exécution par l'application ;<br />est réutilisable.<br />Nous avons réalisé Core, une plate-forme de développement complète, partiellement documentée et accessible sur FTP, développée au-dessus d'Unix. Core offre, outre les services usuels nécessaires à la mise en oeuvre de groupes de processus répartis, une bibliothèque extensible de gestionnaires de cohérence. Core offre aussi de nombreuses classes, utilisées tant pour la réalisation de nouveaux gestionnaires que pour l'expression de nouveaux types et modèles d'exécution, par les concepteurs d'applications. Nous avons réalisé, avec Core, deux applications : une application d'édition coopérative basée sur Emacs et une simulation de ressource partagée.
Identifer | oai:union.ndltd.org:CCSD/oai:tel.archives-ouvertes.fr:tel-00160422 |
Date | 30 September 1998 |
Creators | Brun-Cottan, Georges |
Publisher | Université Pierre et Marie Curie - Paris VI |
Source Sets | CCSD theses-EN-ligne, France |
Language | French |
Detected Language | French |
Type | PhD thesis |
Page generated in 0.0014 seconds