Nos travaux portent sur le partage transparent des données réparties à grande échelle, sur des infrastructures de type grilles de calcul. Notre objectif a été de répondre à la question: comment serait-il possible de construire un système fournissant un modèle transparent d'accès aux données, tout en tenant compte des contraintes spécifiques aux infrastructures physiques utilisées (architecture hiérarchique, distribution à grande échelle, volatilité, tolérance aux défaillances, etc.)? En réponse à ce défi, nous avons proposé le concept de service de partage de données pour grilles, pour lequel nous avons défini une spécification, une architecture (appelée JuxMem) et une mise en oeuvre.
Ce travail se situe à la frontière de plusieurs domaines: systèmes à mémoire virtuellement partagée, systèmes pair-à-pair, systèmes tolérants aux fautes. En nous appuyant sur des résultats déjà existants qui proposaient des solutions partielles à notre problème, notre approche a consisté à étendre, adapter et coupler ces solutions partielles et à rajouter les "briques" manquantes, afin de construire une solution globale, plus complexe, mais qui satisfasse l'ensemble des propriétés recherchées. Un résultat issu de cette approche est la notion de groupe hiérarchique auto-organisant, qui combine des protocoles de cohérence issus des systèmes à mémoire virtuellement partagée avec des protocoles de gestion de groupe tolérants aux fautes. Sur cette notion repose notre approche pour la définition de protocoles de cohérence tolérants aux fautes, adaptés aux grilles.
Nous avons attaché une importance particulière à la validation expérimentale de notre proposition par une mise en oeuvre et par une évaluation sur des plates-formes réelles à travers des prototypes expérimentaux. Ceci nous a permis de réaliser des expériences multi-sites en grandeur nature sur la plate-forme Grid'5000, avec l'objectif d'évaluer les bénéfices apportés par notre service de partage de données aux environnements de calcul réparti sur grille. A cet effet, nous avons évalué la capacité de JuxMem à s'intégrer avec plusieurs modèles de programmation pour grille d'une part (GridRPC, modèles à base de composants) et avec d'autres technologies de stockage d'autre part (Gfarm, ASSIST). Cette intégration a été réalisée en collaboration avec des équipes françaises, telles que les équipes-projets REGAL et GRAAL de l'INRIA, mais aussi avec des équipes étrangères des universités de Pise et de Calabre en Italie, d'Illinois/Urbana-Champaign aux Etats-Unis et de Tsukuba au Japon. Enfin, nous avons travaillé en étroite concertation avec l'équipe JXTA de Sun Microsystems (Santa Clara, Etats-Unis), qui a soutenu nos efforts à travers un contrat de collaboration industrielle.