• Aucun résultat trouvé

La taxonomie des systèmes informatiques est présentée dans la gure 3.1. On

peut voir que les systèmes informatiques sont formés de deux grandes familles qui

sont les systèmes centralisés et les systèmes distribués. Cette dernière famille est

divisée en deux classes : les systèmes Client/Serveur et les systèmes pair-à-pair.

3.2. Topologie 59

communiquent seulement avec un seul serveur, soit hiérarchique dans le cas où les

clients n'ont de contacts qu'avec les serveurs de plus haut niveau qu'eux. Pour le

modèle plat, on peut citer comme exemple la solution des intergiciels (middleware)

comme Object Request Broker (ORB). Pour le modèle hiérarchique, on peut citer

comme exemple les serveurs DNS.

Le modèle pair-à-pair peut être soit centralisé, soit hybride ou bien pur.

3.2.1 Le modèle centralisé

Il est très proche du modèle Client/Serveur. Il repose sur un serveur central

(gure 3.2) qui détient l'ensemble des connaissances. Les clients envoient et

reçoivent les informations à travers le serveur mais les ressources sont hébergées

par les clients. Une fois qu'un client a reçu du serveur la liste des ressources et

des clients les hébergeant, il peut interagir directement avec les autres. C'est la

principale diérence avec le modèle Client/Serveur.

Figure 3.2 Topologie construite sur le modèle centralisé.

L'avantage du modèle centralisé est la facilité de sa mise en ÷uvre. Sa gestion

est très facile. Il n'y a aucun problème de cohérence des données. Il est de plus

aisé de sécuriser un tel modèle puisqu'il s'agit de protéger un seul ordinateur :

le serveur. Des systèmes s'appuyant sur ce modèle existent : serveurs de base de

données, serveurs web, etc.

rapidement un point vulnérable : s'il tombe en panne c'est tout le système qui

le sera. De plus, c'est un handicap majeur pour l'augmentation des capacités et

des performances du système. Quelques solutions sont utilisées pour améliorer ce

modèle comme la réplication du serveur et l'utilisation de processeurs spécialisés

puissants.

3.2.2 Le modèle hybride

Avec le modèle hybride (gure 3.3), le contrôle des informations s'échange à

travers le serveur alors que les ux de données sont échangés de pair à pair. Le

serveur de commande agit en tant qu'agent de surveillance pour tous les autres

pairs et assure la concordance de l'information.

Les inconvénients reliés à la gestion centralisée restent encore valables. En

eet, si le serveur tombe en panne, le système perd la capacité d'échanger

les informations mais les échanges de ux de données entre pairs continuent

à fonctionner. Le rôle exact des serveurs dans le modèle hybride dépend des

infrastructures (Doyen, 2005). Ils sont en général utilisés pour assurer des

fonctions relatives au routage, à la comptabilité (Hausheer et al., 2003) ou à

l'organisation fonctionnelle des pairs. Par exemple, Kazaa (Kazaa, web) les utilise

pour la découverte et la localisation de ressources.

3.2. Topologie 61

3.2.3 Le modèle pur

Dans ce type de modèle (gure 3.4), il n'y a aucun serveur. Le fait qu'un

pair quitte le réseau n'aecte pas le système. Les pairs sont considérés comme

strictement équivalents. Diérentes applications sont construites sur ce type de

topologie. On peut citer à titre d'exemple Gnutella tel qu'il était déployé dans sa

première version ainsi que toutes les infrastructures à base de table de hachage

distribuée telles que Chord (Stoica et al., 2001), Pastry (Rowstron and Druschel,

2001), Tapestry (Zhao et al., 2001), CAN (Ratnasamy et al., 2001)...

Figure 3.4 Topologie construite sur le modèle pur.

Modèle structuré

Dans les modèles structurés (Ratnasamy et al., 2001; Rowstron and Druschel,

2001; Stoica et al., 2001; Zhao et al., 2001), l'évolution du réseau ainsi que

l'emplacement des n÷uds sont strictement contrôlés. Ces contraintes imposées

inuent sur la robustesse du réseau et l'autonomie des n÷uds. Les modèles

pair-à-pair structurés sont une excellente solution pour bâtir des systèmes où une

importance particulière est donnée au placement des ressources contrôlées tel que

le stockage de chier distribué. Toutefois, ce type de modèle n'est pas approprié

dans le cas où les n÷uds seraient très dynamiques. Le principal avantage est que

ces modèles utilisent des mécanismes de recherche native an de tirer prot de la

structure particulière ajoutée au réseau.

CAN (The Content Adressable Network) proposé par Ratnasamy et al.

(Ratnasamy et al., 2001), est une plate-forme pour les systèmes

pair-à-pair structurés basé sur des coordonnées spatiales cartésiennes virtuelles.

Chaque n÷ud est responsable de sa part d'espace. CAN permet de stocker

des données à un point donné de l'espace dans un réseau pair-à-pair et de

router d'un point de l'espace à un autre. Une visualisation d'un graphe

formé de 32 n÷ud est illustrée sur la gure 3.5.

Figure 3.5 Réseau de type CAN.

Chord proposé par Stoica et al. (Stoica et al., 2001), est un autre modèle de

système de pair à pair structuré. Il repose sur une topologie en anneau. Un

n÷ud de Chord a la connaissance de son prédécesseur et de son successeur.

Une fonction de hachage régulière génère une clé pour chaque n÷ud à partir

de son adresse IP. Ensuite, chaque n÷ud est placé dans l'anneau de manière

à ordonner les clés par ordre croissant. La complexité de cet algorithme est

au plus de O(logN)requêtes pour trouver une information dans un anneau

de N éléments grâce à une table de hachage distribuée. Une illustration de

ce type de réseau est présentée sur la gure 3.6 pour le cas de 32 n÷ud.