Chapitre 5

Conclusion

[Table des matières]

1 Bilan du projet

Cette étude nous a permis d'identifier les différents problèmes liés à la désignation symbolique dans les systèmes répartis. Nous avons présenté les différentes solutions apportées par les systèmes existants, et notamment les systèmes de grande taille. L'effet de l'extension sur les systèmes de grande taille, nous a amené à considérer des approches modulables, ces approches sont adaptées aux critères de fiabilité et de temps d'accès en fonction du niveau où elles s'appliquent (niveau intra-cellulaire ou niveau inter-cellulaire). Les principaux apports de ce travail se résument en quatre points :

  1. Introduction d'un mécanisme d'extension par le haut dont l'avantage est la préservation de la désignation locale à une cellule. Des mécanismes supplémentaires ont été introduits pour garantir la validité des noms absolus malgré la réorganisation de l'espace de noms global.
  2. Une stratégie de tolérance aux pannes basée sur la duplication et sur le contrôle du placement des copies a été spécifiée, et ce au moyen d'un ensemble de facteurs de tolérance aux pannes. Ces facteurs donnent aux utilisateurs du système la possibilité de choisir le degré de tolérance aux pannes qu'ils veulent avoir.
  3. Une stratégie pour améliorer l'efficacité basée sur la construction de caches de noms hiérarchiques. La gestion des caches est réalisée avec des techniques appropriées à chaque niveau. Ces techniques mettent en valeur les propriété des noms, pour une gestion efficace de la cohérence des caches.
  4. Un prototype pour le système à objets Guide a été présenté. La conception du prototype tient compte du modèle à objets, et des différentes solutions aux problèmes précédents pour la réalisation du service de désignation.

De plus, nous avons réalisé une maquette du système de désignation sur la première version du système Guide. Cette maquette a été écrite au moyen du langage à objets Guide, conformément à notre objectif d'indépendance vis-à-vis du système. Le but de ce choix était d'une part de profiter des fonctions fournis par le langage, et d'autre part de pouvoir porter notre maquette de Guide-1 vers Guide-2.

Cette expérience nous a permis d'identifier certaines fonctions du langage qui n'étaient pas fournies. En particulier, la possibilité de contrôler le placement dans l'opération de création d'objets. Pour répondre à ce besoin, nous avons mis en place dans le système, un ensemble de primitives pour réaliser ce contrôle.

[Table des matières]

2 Perspectives

Le travail accompli dans ce projet apporte les éléments de base pour la réalisation d'un service de désignation extensible. La maquette réalisée sur Guide-1 sera portée dans le cadre d'un stage cet été. Néanmoins, une étude complémentaire devrait explorer les domaines que nous présentons dans la suite.

Un objet ou un utilisateur du système peut être déplacé d'un site à un autre pour des raisons diverses, il faudra alors étudier les conséquences de cette mobilité des objets et des utilisateurs du système sur le mécanisme de résolution de noms.

Une recherche sur de nouvelles approches pour la construction des espaces de noms nous semble une voie prometteuse (voir Stuart ), car les espaces hiérarchiques et les espaces à base d'attributs, qui sont le plus souvent utilisés dans les systèmes actuels, constituent des solutions extrêmes au problème de la désignation : l'arborescence impose une syntaxe rigidenote1 pour simplifier la résolution de noms, alors que l'usage des attributs (noms plats), simplifie la syntaxe au prix de mécanismes de résolution de noms plus complexes, il est alors naturel de penser qu'un compromis devrait être trouvé.

Un dernier aspect vise à l'amélioration de l'efficacité du service de désignation pour les systèmes de grande taille. Le problème s'énonce comme suit : étant donné un espace de noms dupliqué, quelle copie de répertoire (parmi n) faut-il accéder pour avoir un temps d'accès minimal ? Ces problèmes sont résolus par les algorithmes d'échantillonnage (Polling algorithms), il faudra alors les intégrer dans les mécanismes de résolution de noms, pour bénéficier d'une efficacité optimale. Un problème complémentaire consiste à réaliser une duplication dynamique des répertoires au niveau des sites, par exemple, après la détection d'un accès fréquent à un répertoire par un site donné, une copie du répertoire locale à ce site est créée. Une discussion de ces deux derniers problèmes est abordée dans Maffeis .

Notes :

(1)

Pour réaliser l'accès à un objet, l'utilisateur doit se souvenir de la manière exacte d'écrire les chemins d'accès. L'extension rend cette opération de plus en plus difficile, car les noms absolus ont tendence à se rallonger proportionnellement à la taille de l'espace de noms.