Une librairie pour les applications Gossip

Date:
Mis à jour le 06/03/2020
Élaborée par l'équipe de recherche Asap, GossipLib rassemble des outils pour concevoir des logiciels aux propriétés 'épidémiques'. Première librairie du genre, elle permettra aux développeurs de mieux tirer parti des systèmes de peer-to-peer et des réseaux sociaux, comme l'explique Davide Frey, chercheur Inria en charge de ce projet.
Application de démonstration du GossipLib: formation du cluster de noeuds planetlab sur la base de leur distance physique

Dix ans déjà que la recherche s'intéresse au peer-to-peer. Les systèmes dits "épidémiques" (gossip) constituent une des voies intéressantes pour tirer parti de ce protocole. L'équipe Asap les utilise dans des contextes allant du streaming vidéo aux réseaux sociaux, en passant par la dissémination de données. Ils sont aussi au cœur de Gossple. Dirigé par Anne-Marie Kermarrec, ce projet européen (ERC grant) a pour objectif de personnaliser l'information en considérant l'utilisateur dans son environnement social.

« Dans le Grand Canyon, les touristes ont le choix entre deux campings, explique Davide Frey. Celui du Nord. Celui du Sud. Tous deux possèdent des distributeurs de soda et autres attributs de la civilisation. Pour les voyageurs en quête d'une communion plus directe avec la nature, il existe un troisième terrain moins connu. Une journée de marche pour descendre. Une autre pour remonter. Et l'aventure tout au fond. C'est dans celui-là que j'aurais aimé séjourner. Mais j'ignorais son existence. Il n'était pas apparu sur mon moteur de recherche. Si ce moteur avait su prendre en compte mes centres d'intérêts, il m'aurait renvoyé des suggestions plus en rapport avec mes goûts. » Actuellement, ce niveau de personnalisation passe par la collecte d'énormément de données privées. Les chercheurs et chercheuses d'Asap ambitionnent de parvenir au même résultat sans pour autant que l'internaute soit contraint de livrer toutes ses informations personnelles aux géants de l'Internet. Et cela grâce au paradigme du peer-to-peer.

Une librairie pour développeurs 

Mais dans la vraie vie, ce type d'application peine à décoller. Pourquoi ?

Parce que certains écueils demeurent. Ainsi les firewalls et la traduction des adresses IP (la NAT) derrière les routeurs en IPv4 hypothèquent la communication. Pour tirer pleinement profit du protocole, certains composants manquent donc encore à l'appel. GossipLib  est une librairie d'outils qui ambitionne précisément d'aider les développeurs à réaliser leurs applications P2P en s'émancipant de ces contraintes.



Au cœur du P2P, se trouve ce qu'on appelle un réseau overlay. Il organise la communication entre toutes les machines en interaction. « Un partageur de fichiers comme Gnutella fonctionne sur ce principe, par exemple. Plusieurs manières existent de construire ces overlays. Celle que nous avons choisie utilise les protocoles de gossip. On les appelle aussi des protocoles épidémiques. Dans le fond, c'est comme la grippe qui se répand au hasard, de proche en proche. Ici, on contacte un premier nœud qui en contacte d'autres qui, à leur tour, communiquent avec d'autres. À chaque cycle, j'échange des informations sur mes voisins avec un des voisins. Et cela au hasard. Le but : donner à tous les nœuds une connaissance partielle du réseau. Cet échange continuel permet de modifier constamment la topologie. »



Au-dessus de cette couche basse, d'autres travaux sont venus introduire la notion d'une métrique permettant de mesurer la distance entre les nœuds. « Distance physique ou logique. Cela peut-être mes centres d'intérêts si je vise une application utilisant des systèmes de recommandation en fonction du profil utilisateur. Je peux aussi souhaiter utiliser des nœuds qui possèdent des capacités de calcul similaires. On peut imaginer en fait quantité de métriques différentes » ...qui donnent naissance à autant d'applications.

Traverser le NAT

GossipLib offre une implémentation de ces différents protocoles pour faciliter le travail des développeurs et développeuses.

« Nous leur apportons la possibilité d'évaluer leurs applications non plus seulement en simulation, mais aussi en situation réelle sur un grand réseau. Et cela sans avoir à réécrire le programme. C'est le même code qui fonctionne dans les deux cas. »

Restait ensuite à contourner la dernière pierre d'achoppement : « en P2P, chaque nœud doit pouvoir parler avec ses voisins. Or, si le nœud se trouve derrière un firewall ou un NAT, il peine à communiquer. C'est pour résoudre ce problème qu'en 2009, Anne-Marie Kermarrec et plusieurs chercheurs d'Inria Grenoble Rhône-Alpes ont proposé l'idée de construire un tunnel entre les machines. Ce qui a donné naissance à Nylon. Avec mon collègue Heverson Ribeiro, nous avons commencé à étudier ce protocole d'un point de vue pratique pour que les développeurs puissent le déployer en situation réelle. Nous l'avons inséré dans GossipLib comme une fonctionnalité supplémentaire. C'est un composant pratique et fondamental. Une fois cette fonctionnalité du NAT intégrée, l'équipe pourra aussi commencer à proposer Gossple au grand public. À partir de ce moment-là, les systèmes de recherche sauront tenir compte de nos centres d'intérêts, personnaliser l'information » et signaler ce petit camping au fond du Grand Canyon.