Outils pour utilisateurs

Outils du site


manuel:proto_all-noms

Nommage dans Mille Sabords

Voici les Eléments communs du protocole de communication avec un serveur de nom du système MILLESABORDS.

Communication de niveau point-à-point

La communication avec un serveur de noms comprend une entête que l'on peut assimilée au niveau de point-à-point de la couche OSI. En d'autres termes, tout ordre envoyé au serveur de noms peut être précédé d'une information d'échange de point-à-point. Cette information est composée d'un identifiant de serveur de noms émetteur ou du caractère “*” et d'un identifiant de serveur de noms récepteur, ou du caractère “*”. Entre ces deux identifiants, le caractère “>” ou “<” précise le sens de communication.

Le système de nommage MILLESABORDS étant destiné à fonctionner sur des réseaux “ad hoc”, les messages sont systématiquement envoyé en diffusion. Exemple :

11>* info

Cependant, pour diminuer le trafique dans le cas où certaines réponses seront amenées à être ignorées, le requérant peut au préalable dans sa requête limiter, à un élément, le nombre de serveurs dont il attend une réponse. Exemple :

11>17 info

Les réponses pourront être analysées par tous les participants, même si, au moment précis de la réponse, ils ne sont pas directement concernés. Chaque serveur pourra déterminer le serveur à l'origine de la réponse en analysant les messages :

11<17 info localhost:1989<17:exemple_de_serveur> nbObj:3

qui est équivalent à

17>11 info localhost:1989<17:exemple_de_serveur> nbObj:3

Un lieur ou un être humain, qui communique directement avec un serveur de nom, ne possède pas d'identifiant. Dans ce cas la source de la requête reste anonyme en utilisant le caractères “*”. Exemple :

*>* info

Interrogation du graphe de nommage

Un autre principe récurant dans le protocole avec un serveur de nom, tient dans la manière d'interroger la base de noms composée des tuples (id, ctx, nom). Lors d'une interrogation la variable recherchée est remplacée par le caractère “-”, les éléments non fixés (libres) par le caractère “*”. La réponse reprend le tuple d'interrogation suivie de la liste des valeurs pouvant être prise par la variable muette. Par exemple, la recherche de tous les noms du composant ayant l'identifiant “011-0023” quelque soit le contexte :

*>* LIST ("011-0023", *, -)
*<11 NAME ("011-0023",*,-) ("toto", "titi")

Par exemple, la recherche de tous les contextes où le composant ayant l'identifiant “011-0023” possède le nom “toto” :

*>* LIST ("011-0023", -, "toto")
*<11 NAME ("011-0023",-,"toto") ("011-0022", "017-0056")
manuel/proto_all-noms.txt · Dernière modification: 16/06/2010 18:29 (modification externe)