Cette page regroupe les informations présentant l'architecture du système de nommage MILLESABORDS.
Le système MILLESABORDS est constitué de serveur de noms. Chacun des serveurs de noms gère un espace d'adressage autonome. En pratique, un serveur de noms est un ordinateur portable équipé de communication sans fil (wifi), ou un PDA, ou un téléphone portable, etc. Ces matériels peuvent se connecter spontanément pour constituer un réseau “ad hoc”. Le système de nommage MILLESABORDS est particulièrement adapté au réseau dynamique (où en permanence des entités se connectent ou se déconnectent).
Les serveurs sont assimilables à une base de données contenant des composants et ayant une interface évoluée de requêtes. Les requêtes servent
L'originalité du système de nommage MILLESABORDS par rapport aux autres, est de ne pas nommer les éléments de la racine vers les feuilles. Au contraire, le nommage est réalisé des composants vers les contextes dans lesquels ils appartiennent (des feuilles vers la racine).
Il ne s'agit pas d'inverser le sens de lecture. Il s'agit de dire que la réalisation technique du nommage est inverse des concepts qui sont représenté.
Un serveur contient 2 tableaux. Le premier fait le lien entre l'identifiant d'un composant et son contenu.
identifiant | contenu |
---|---|
001-0001 | Le contenu du composant 001-0001 |
001-0002 | Le contenu du composant 001-0002 |
Le second répertorie tous les noms des composants en fonction de leurs contextes.
identifiant | contexte | nom |
---|---|---|
001-0001 | 0 | home |
001-0002 | 001-0001 | felix |
En théorie, seuls les serveurs de noms seraient utiles à une démonstration. Mais, il est souvent difficile de manipuler un grand nombre de matériels et de les déplacer pour provoquer sans cesse des connexions et déconnexions. C'est pourquoi, j'ai eu recours à un simulateur qui possède les mêmes propriétés (mêmes fonctionnalités des serveurs de nom), mais qui en plus dispose d'un outil de reconfiguration dynamique du réseau.
La simulation est réalisée en faisant communiquer différentes machines virtuelles Java. Chaque machine virtuelle pourra contenir un ou plusieurs serveurs de noms. Pour les besoins de la simulation, les machines virtuelles communiquent entre elles via des “sockets” au-dessus du protocole de l'Internet (TCP/IP).
Nous pouvons donc facilement faire intervenir, durant la simulation, l'ensemble des machines d'un réseau informatique. Le simulateur est composé :
Le producteur d'identifiant unique (A) est là pour fournir un identifiant unique à chaque serveur de noms. Cet identifiant contribue à garantir l'unicité de la désignation des composants du système. Un seul producteur doit être lancé sur le réseau de simulation.
Le lanceur (C) est un outil facilitant la création d'un serveur de noms. Il permet de choisir la réactivation d'un serveur qui aura préalablement été sauvegardé. Il se charge de déclarer ce serveur de noms au lieur en vue de faire participer ce serveur de noms à un réseau.
Le lieur (B) est un outil permettant la configuration en réseau des serveurs de noms qui lui ont été déclarés. Il possède une fonction de découverte du réseau qui assure un enregistrement automatique de tous les serveurs non interconnectés. Il permet de recharger une configuration de serveur de nom, ou d'en sauvegarder. Son rôle est essentiel pour la phase de simulation.
Un serveur de noms est comparable à un système de gestion de fichiers autonome. Il contient une base de données contenant les composants qu'il héberge. Il contient également l'ensemble du nommage des tous ces composants.
En pratique, seuls les serveurs de noms sont utiles. La fonction d'attribution de numéro unique n'est pas nécessairement en ligne (et pour des raisons de sécurité, il est préférable qu'elle ne le soit pas). Un numéro unique peut être donné au matériel à l'instar des adresses MAC du réseau Ethernet. Les lieurs et lanceurs n'ont eux plus aucune raison d'être.