Projet Sor

previous up next contents
Précédent : Grands domaines d'application Remonter : Projet SOR, Systèmes Objets Répartis Suivant : Résultats nouveaux



Logiciels

Résumé : Quatre logiciels sont aujourd'hui disponibles. Les chaînes de PSS (§[*]) et le système Relais de caches coopérants (§[*]) sont aujourd'hui stables. Ils sont utilisés par le projet depuis quelques mois et sont maintenant distribués par le CD-ROM INRIA et sur le Web. Les autres logiciels sont un environnement de programmation des objets répliqués (§[*]) et la plate-forme PerDiS (§[*]). Bien que déjà opérationnels, ces deux derniers logiciels nécessitent encore un travail d'ingénierie afin de les rendre plus robustes.


Chaînes de PSS: Gestion de références objets répartis

 

Participants : Ian Piumarta , Fabrice [ le]Fessant, Stefan Sallinger , Marc Shapiro .


Les Chaînes de PSS sont un système de gestion de références réparties. Les cibles sont les systèmes répartis à grande échelle: les processus communiquent par des échanges de messages asynchrones; les canaux de communication sont non fiables; les machines ainsi que les réseaux sur lesquels ces machines sont connectées sont hétérogènes; les machines peuvent tomber en panne et des partitions du réseau d'interconnexion peuvent survenir.

Les Chaînes de PSS assurent la transparence de la localisation des objets: les références à des objets locaux ou distants sont indifférenciables au niveau applicatif. Le protocole des Chaînes de PSS tolère les fautes de communication et permet une gestion efficace de la mémoire grâce à la mise en oeuvre d'un algorithme de ramasse-miettes réparti.

Relais: Système de caches Web coopérants

 

Participants : Éric Bérenguier , Christian Khoury , Mesaac Makpangou .


Relais met en oeuvre la coopération entre des miroirs et caches Web, par exemple à l'intérieur d'une entreprise. Grâce à Relais, tout utilisateur de l'entreprise accède aux documents mis en cache ou en miroir n'importe où dans l'entreprise.

Relais permet notamment d'améliorer les performances et la disponibilité des documents Web, quelles que soient la localisation et la charge des serveurs d'origine. Relais offre également des garanties de cohérence à ses utilisateurs. En particulier, il garantit à chaque utilisateur une progression monotone et rapide dans les versions des documents qu'il accède, ainsi que la convergence des caches et miroirs coopérants.

Un prototype de Relais est aujourd'hui disponible (cf http://www-sor.inria.fr/projects/relais/relais.html) sur différentes plates-formes, notamment: Linux, Digital Unix, AIX, Solaris et SunOS. Ce prototype est en utilisation au projet SOR depuis plusieurs mois. Depuis fin novembre, nous avons entrepris l'évaluation de l'intérêt du protocole Relais dans le cas particulier de l'UR de Rocquencourt. Ultérieurement, nous comptons déployer le système sur l'ensemble des URs de l'INRIA et au CNET, dans le cadre de la réalisation d'un contrat CTI avec le CNET (§[*]).

Core: Environnement de développement d'objets répliqués

 

Participant : Georges Brun-Cottan .


Core est un environnement logiciel destiné aux applications coopératives (édition collaborative, jeux multi-utilisateurs en particulier). Le modèle de Core est simple: une application est considérée comme un groupe d'agents (processus coopérants). Un agent rejoint le groupe en instanciant localement un mandataire du groupe appelé gestionnaire de cohérence. Chaque agent encapsule tout accès à sa donnée partagée et répliquée dans une transaction gérée par le gestionnaire de cohérence. Le gestionnaire de cohérence se charge du reste, c'est à dire du contrôle de concurrence et de la propagation des mises à jour.

Core se présente comme un ensemble de classes permettant de répliquer rapidement et efficacement les données partagées accédées concurremment par les processus répartis formant une application coopérative. En outre, de nombreuses classes sont fournies pour faciliter le développement de nouveaux gestionnaires de cohérence et de nouveaux types d'interaction applicatives. Ce sont notamment le serveur de noms, les gestionnaires de groupes, le support pour l'emballage et le déballage de types, les classes d'invocation de type multi-RPC flexibles, un paquetage de processus légers, des classes de base pour les gestionnaires de cohérence (prédicats et transactions synchrones primitives). L'ensemble de ces classes sont portables et ont été testées sur plusieurs variantes d'Unix (Digital Unix, Solaris, SunOS, Linux).

Core est fourni avec une documentation, des jeux de tests, et quelques applications grandeur nature (par exemple un éditeur de texte coopératif basé sur Emacs).

PerDiS: Un entrepôt persistant réparti

 

Participants : Xavier Blondel , Fabio Riccardi , Sytse Kloosterman , Marc Shapiro .


Dans le cadre du projet Esprit PerDiS, le projet SOR a développé une première version de la plate-forme PerDiS. Cette plate-forme offre aux utilisateurs un entrepôt persistant réparti (§[*] et §[*]). Pour sa réalisation, nous utilisons une combinaison unique des technologies de ramasse-miettes, de cache, de transactions et de sécurité. Toutes ces technologies sont intégrées dans un environnement de support des applications coopératives.

La première version (http://www.perdis.esprit.ec.org/deliverables/) tourne sur machines Sun sous Solaris. Le portage sur Linux et Windows NT est prévu pour 1998. Actuellement, les applications utilisant l'entrepôt PerDiS doivent être écrites en C++. Nous prévoyons à l'avenir de supporter des applications écrites en Java.



previous up next contents Précédent : Grands domaines d'application Remonter : Projet SOR, Systèmes Objets Répartis Suivant : Résultats nouveaux