FR 3031643 A1 20160715 FR 1550172 A 20150109 1 PROCEDE DE GESTION ET DE FONCTIONNEMENT PROTOCOLAIRE D'UN RESEAU DE DISTRIBUTION DE CONTENU La présente invention concerne les procédés et produits programmes d'ordinateur pour exercer une action sur la gestion des réseaux pair à pair, encore appelés P2P, et la diffusion d'informations dans ces réseaux, opérant selon un protocole d'échange. Le pair à pair est une approche réseau où tous les utilisateurs, appelés pairs, se comportent autant comme client que comme serveur selon la nature de la requête qu'ils reçoivent. Cette procédure offre un partage rapide et efficace dans lequel le contenu est disponible au sein de plusieurs périphériques par réplication. Bien plus que le partage de données, cette approche permet d'exploiter les ressources machines de chaque pair connecté plutôt que celles d'un poste ou d'un serveur centralisé. L'architecture pair à pair s'adapte aux changements de la taille du réseau, ce dernier générant en particulier sa propre organisation à l'ajout d'un nouveau pair. Cependant, avec ce concept de scalabilité qui optimise l'utilisation de la bande passante, les solutions connues de gestion de réseau pair à pair, par exemple dans les réseaux BitTorrent, eDonkey, Gnutella, ou Sopcast, offrent aux pairs une vision locale du réseau qui limite leur prise de décision et ne leur permettent pas de s'investir, au vrai niveau de leurs capacités, pour assurer une bonne qualité de partage et de service sur tout le réseau. Les fonctionnements des réseaux pair à pair précités sont globalement similaires entre eux. Les quelques différences se situent dans les méthodes de distribution ou de mise à disposition du contenu, et dans la politique du choix du pair à servir. De manière bien connue, un pair qui veut partager un contenu le rend accessible en proposant par exemple un fichier « torrent », dans le cas du réseau BitTorrent, ou en se connectant à une application, telle que eMule ou Shareaza pour les réseaux eDonkey ou Gnutella, qui propose un outil de recherche et rend une partie de l'espace de stockage personnel du pair accessible aux autres pairs connectés. Pour le choix du pair à servir, le protocole d'échange du réseau BitTorrent utilise les pairs puissants en bande passante pour assurer la survie du réseau, en choisissant aléatoirement la première liste envoyée par un « traqueur », qui est un serveur répertoriant quels pairs sont impliqués dans la distribution 3031643 2 du contenu recherché. D'autres réseaux fonctionnent par liste d'attente, par exemple avec un coefficient d'ancienneté dans le cas du réseau eDonkey. Dans certains réseaux, comme BitTorrent par exemple, les contenus ne sont pas directement disponibles. Le pair doit chercher un fichier correspondant au contenu 5 désiré sur des sites Internet qui font office d'annuaires, appelés fichiers de méta- information. Le pair lance son application et commence le partage avec un groupe de pairs constitué autour de ce même contenu. Dans le cas de contenus diffusés en temps réel, « live » en anglais, le contenu désiré peut être disponible sur une page Internet, ce qui nécessite le lancement d'un 10 module d'extension, ou « plugin » en anglais, sur la page du navigateur Internet, ou « browser » en anglais, par exemple le module d'extension AceStream. Dans une variante, le lancement d'une application après récupération du lien diffusant le contenu peut être nécessaire, par exemple les applications Sopcast ou AceStream. Dans le cas de contenus diffusés en temps réel, le pair contacte un traqueur, qui 15 répond avec une liste des pairs ayant déjà ou étant en train de télécharger le contenu désiré. Le pair envoie des requêtes à la liste des pairs envoyée par le traqueur et commence le partage si ces derniers acceptent. Les protocoles d'échange des réseaux pair à pair permettent de définir un fonctionnement basique pour gérer différents échanges entre pairs. En particulier, les pairs 20 du réseau peuvent s'échanger entre eux des listes de pairs afin de trouver le pair le plus adapté, étape appelée « peer exchange » en anglais. Cette technique permet d'utiliser la bande passante des pairs en train de télécharger un contenu pour la recherche de pairs, d'informations et de contenus présents dans le réseau, au lieu d'utiliser la bande passante du serveur du réseau. 25 Un pair ayant fini de télécharger une pièce de contenu peut envoyer aux autres pairs avec lesquels il est connecté un message d'accusé de réception, « Have message » en anglais, message indiquant que le pair a reçu une pièce et a vérifié son intégrité grâce à des tables de hachage. Ceci permet d'avoir une vision locale, limitée au voisinage dudit pair, c'est-à-dire aux pairs avec lesquels il est connecté, de l'état d'avancement de ces pairs 30 voisins dans le téléchargement. Les pairs peuvent également savoir envers qui s'orienter pour demander les pièces qui les intéressent. Cela permet également de calculer la pièce la plus rare dans un certain voisinage et de la demander par la suite. 3031643 3 En réponse à ce message d'accusé de réception, les pairs peuvent envoyer un message pour signaler leur intérêt, « interested » en anglais. En réponse à ce message d'intérêt, si le pair accepte de partager la pièce, il peut envoyer un message d'acceptation, « unchocke message » en anglais. Dans le cas contraire, il envoie un message de refus, dit 5 « choke » en anglais, et met le pair intéressé en attente. Les pairs peuvent s'échanger entre eux un message comportant une chaine de bits désignant la possession ou non d'une pièce, message appelé « Bitfield » en anglais. Dans les modes de gestion connus des réseaux pair à pair, les traqueurs répertoriant quels pairs sont impliqués dans la distribution du contenu recherché n'assurent 10 qu'un simple rôle d'annuaire. Les traqueurs envoient une liste initiale de pairs à laquelle le pair courant, appelé « utilisateur », peut se connecter et collectent passivement des informations, telles que les nombres de pairs connectés, la taille du contenu désiré, des informations issues de tables de hachage pour l'intégrité du partage de fichiers, « hash information » en anglais, l'horodatage du contenu, ou « timestamp » en anglais, notamment 15 dans le cas de partage en temps réel. Selon la taille du réseau, ces traqueurs peuvent vite être surchargés. Dans certains réseaux pair à pair connus, la puissance de la bande passante d'un pair peut en outre le privilégier plus que d'autres, lui permettant d'être servi tout le long de sa connexion. Certains pairs peuvent avoir un comportement égoïste en ne faisant 20 pas profiter les autres pairs, dénommés également « noeuds du réseau », de leur bonne bande passante. Ainsi, les pairs ne s'investissent pas dans la survie du réseau et ne cherchent pas à aider d'autres pairs en difficulté en raison de leurs taux de téléchargement faible : la notion de « super-noeud » ou « super pair » est inexistante. Dans ce type de réseaux, un choix aléatoire des pairs n'est pas pratiqué, ce qui 25 tend à diminuer l'homogénéité du réseau et à former des grappes de pairs, ou « clusters » en anglais, créant des groupes de pairs largement plus avancés en termes de téléchargement que d'autres. Dans certains réseaux pair à pair, comme le réseau eDonkey notamment, des pairs puissants peuvent être mis en file d'attente comme n'importe quel autre pair, ce qui ne permet pas d'exploiter leur force. 30 Les pairs n'ont ainsi qu'une vision locale de l'état du réseau, ce qui limite leurs actions en son sein. Ils ne savent pas par exemple où en est le téléchargement de telle ou 3031643 4 telle pièce à l'échelle du réseau, n'ont pas connaissance de la pièce la plus rare du réseau, du taux de téléchargement moyen, de la puissance globale du réseau ni de sa taille réelle. Au vu des limitations des réseaux actuels, discutées ci-dessus, il existe un besoin pour améliorer la gestion des réseaux pair à pair, en leur permettant d'évoluer au 5 cours des échanges entre pairs, afin de fournir la meilleure qualité de service possible et une bonne distribution des données à partager. L'invention a pour but de répondre à ce besoin et elle y parvient, selon l'un de ses aspects, grâce à un procédé de gestion d'un réseau pair à pair opérant selon au moins un protocole d'échange visant à diffuser des pièces de contenu au sein dudit réseau entre 10 une pluralité de pairs, procédé dans lequel, lors de la diffusion d'une pièce de contenu entre deux pairs, le pair recevant ladite pièce reçoit en outre une information d'état du réseau pair à pair comportant au moins une valeur d'un paramètre du réseau provenant de pairs autres que ceux avec lesquels ledit pair est connecté, 15 et dans lequel, après chaque réception d'une pièce, le pair détermine, à partir de ladite information accompagnant la pièce reçue, au moins une valeur au moins partiellement réactualisée du paramètre du réseau pair à pair, afin d'induire un fonctionnement du protocole d'échange dépendant des valeurs réactualisées des paramètres du réseau et d'au moins un paramètre représentatif de l'état dudit pair. 20 Selon ce nouveau procédé, les pairs se gèrent eux-mêmes, le choix d'une position protocolaire adaptée étant déterminé localement par chaque pair en fonction de son état et à partir d'une information précise de l'état du réseau, apportée localement à chaque pair et récupérée des autres pairs, y compris des pairs distants dans le réseau et sans échange de données direct avec ce pair. Le protocole d'échange est ainsi évolutif, non 25 figé, prenant forme, évoluant et s'adaptant à travers les pairs qui intègrent le réseau. Grâce à l'invention, lors des échanges entre pairs, un calcul des aspects dynamiques des pairs et du réseau, notamment la bande passante, les pièces déjà téléchargées, les pièces rares du voisinage, l'état des pairs du voisinage, est réalisé simultanément pour estimer l'état exact du réseau, donnant la possibilité à chaque pair 30 d'agir sur le réseau en fonction de son état, afin d'adopter l'attitude protocolaire la plus adaptée. 3031643 5 L'expression «pair connecté au réseau» désigne un pair connecté au réseau, cherchant à récupérer un contenu et/ou possédant au moins une partie du contenu recherché. Par « des pairs autres que ceux avec lesquels le pair est connecté », il faut 5 comprendre des pairs distants, n'appartenant pas au voisinage du pair, qui regroupe uniquement environ de 20 à 30 pairs voisins. Le procédé selon l'invention permet ainsi au pair courant d'avoir une vision du réseau précise, globale et étendue, non limitée à son voisinage. L'invention est également adaptée au téléchargement en temps réel de contenu, 10 notamment du contenu correspondant à des émissions télévisuelles, des films ou des évènements sportifs. Cela permet d'adapter très rapidement le comportement du réseau tout au long du téléchargement des pièces formant le contenu. Le contenu à télécharger est de préférence un contenu multimédia, étant par exemple sous format *.arr, *.mpg, *.mov, *.esf, *.wmv, *.dvx, *.qt , *.avi, entre autres. Il 15 peut également s'agir d'au moins un fichier musical sous format *.wav, *.mp3, *.ra, *.ram, *.aiff, *.en *.mid, entre autres ou d'images sous format *.jpg, *.bmp, *.png, *.ps, *.eps, entre autres. Il peut encore s'agir de progiciels, de jeux ou de tout autre programme, notamment protégé par des droits de propriété intellectuelle. Le contenu est avantageusement découpé en plusieurs pièces de contenu. 20 Chaque pair se connecte avantageusement au réseau et y commence ses échanges par un fonctionnement protocolaire basique, tel que décrit précédemment. Au fur et à mesure des échanges de pièces entre pairs, les informations d'état du réseau pair à pair comportant au moins une valeur d'un paramètre du réseau sont avantageusement transmises entre les pairs. 25 Grâce à l'invention, assez rapidement, par exemple après le téléchargement d'environ 10 ou 15 pièces, le pair commence ainsi à avoir une bonne vision du réseau, transportée par les voisins de ses voisins. Plus l'on avance dans le réseau, et plus la vision de ce dernier devient globale et précise, évoluant en intégrant de plus en plus d'informations. 30 Selon un exemple de mise en oeuvre de l'invention, l'information accompagnant chaque pièce reçue par le pair contient au moins une valeur d'un paramètre 3031643 6 concernant les pièces partagées entre les pairs, notamment le taux de téléchargement de chaque pièce ou une liste des pièces les plus rares disponibles sur le réseau pair à pair. La liste des pièces les plus rares disponibles sur le réseau pair à pair peut regrouper les indices des pièces les plus rares calculés en fonction de messages « Bitfield» 5 envoyés par chaque pair aux autres pairs du réseau lors de sa connexion au réseau et signalant les pièces qu'il a déjà reçues, et de messages d'accusé de réception « Have » reçus par les pairs du réseau à chaque réception d'une pièce et contenant l'indice de ladite pièce et l'estimation de l'indice de la pièce la plus rare du réseau à cet instant. Dans une variante ou en combinaison avec ce qui précède, l'information 10 accompagnant chaque pièce reçue par le pair contient au moins une valeur d'un paramètre concernant le réseau pair à pair lui-même, notamment la bande passante globale du réseau, le nombre de pairs du réseau, le temps d'attente estimé pour chaque pièce, une liste d'attente éventuelle des pairs ou un indice sur la qualité de la connexion des pairs au réseau. 15 La bande passante globale du réseau peut être calculée à partir d'une bande passante moyenne utilisant une estimation de la bande passante du pair réalisée à l'instant où ce dernier commence à télécharger une pièce et la somme des bandes passantes contenues dans les messages reçus par les pairs avec lesquels ledit pair est connecté divisée par le nombre de pairs ayant envoyé lesdits messages. 20 Le calcul se fait par exemple comme suit : avec let = 0w; B(0 : Bande passante à l'instant t du pair Po W(t) : Poids à l'instant t du pair Po avec Wo=W(t-1) et Po=13(t-1), 25 Et B1(t): Bande passante du pair Pi B2(t): Bande passante du pair P2 Bn(t): Bande passante du pair PN Wi(t): Poids, c'est-à-dire le nombre de pairs qui ont contribué au téléchargement. Dans une variante encore ou en combinaison, l'information accompagnant 30 chaque pièce reçue par le pair contient au moins une valeur d'un paramètre concernant la sécurité du réseau, notamment le ratio entre le nombre de pièces diffusées et le nombre de 3031643 7 pièces reçues ou un indice de fiabilité sur la présence de fausses pièces de contenu. Cet indice de fiabilité permet de calculer le nombre de pairs malveillants, afin de mesurer l'efficacité du réseau et son niveau de sécurité. Après chaque réception de pièce, le pair vérifie avantageusement si la pièce 5 reçue correspond à la pièce attendue ou si c'est un contenu corrompu, en utilisant des tables de hachage, notamment de technologie SHA1. Dans la deuxième hypothèse, le pair peut incrémenter ledit indice de fiabilité du nombre des nouveaux pairs malveillants transmettant le contenu corrompu. La valeur maximale entre la valeur de l'indice de fiabilité du pair et celles des pairs voisins est avantageusement enregistrée et envoyée par 10 le pair dans le message « Have ». Ledit indice de fiabilité est de préférence remis à zéro périodiquement, afin d'éviter de se retrouver avec un indice erroné, notamment dans le cas où des pairs malveillants quittent le réseau à l'instant t où le contenu corrompu est reçu. Cela permet d'avoir une vision du niveau de sécurité du réseau plus exacte, se fondant sur les pièces 15 reçues à partir de l'instant t + 1 et sur les indices de fiabilité des pairs voisins calculés de la même manière. Le paramètre représentatif de l'état du pair et utilisé pour adapter le fonctionnement du protocole d'échange peut concerner sa bande passante, sa qualité de connexion, les pièces déjà reçues et/ou la puissance du processeur sur lequel le pair 20 fonctionne. Le pair transmet avantageusement aux autres pairs du réseau ladite au moins une valeur d'un paramètre du réseau pair à pair au moins partiellement réactualisée après réception d'une pièce de contenu, afin de contribuer au transport des informations d'état vers d'autres pairs, qui pourront à leur tour réactualiser ces informations et adapter leur 25 position protocolaire. L'information d'état du réseau pair à pair comportant au moins une valeur d'un paramètre du réseau et accompagnant la diffusion d'une pièce de contenu est avantageusement insérée dans le message d'accusé de réception « Have », indiquant aux autres pairs du réseau que telle pièce, notamment identifiée par un indice, a été reçue par le 30 pair. L'information d'état du réseau peut être intégrée à la suite du message « Have » d'un pair Po, sous forme d'indices, par exemple présenté comme suit : « Have 3031643 8 (Indice pièce reçue, Indice de la pièce la plus rare, (Bande passante, Poids), Indice de fiabilité,...) », et noté Po (Idp, Irp, (B(t), W(t)), Is,...). Selon l'invention, en fonction des valeurs des paramètres du réseau réactualisées après chaque réception d'une pièce de contenu, un pair ayant une bande 5 passante supérieure à un seuil prédéfini et/ou un processeur de puissance supérieure à un seuil prédéfini peut être orienté vers au moins un autre pair souffrant d'une moins bonne qualité de connexion pour lui servir de passerelle vers le réseau, jouant alors un rôle de « super pair ». Ces seuils prédéfinis dépendent avantageusement de la nature des échanges sur 10 le réseau, consistant par exemple au partage de fichiers du réseau ou à l'échange de contenus diffusés en temps réel, et de la qualité du contenu, par exemple HD (« High Definition » en anglais) ou SD (« Standard Definition » en anglais). Ledit seuil prédéfini de bande passante peut être égal à 300 Kb/s, mieux à 600 Kb/s, par exemple dans le cas de contenus de qualité SD et diffusés en temps réel. 15 Ledit seuil prédéfini de puissance de processeur peut être égal à 1 GHz, par exemple dans le cas de contenus de qualité SD et diffusés en temps réel. Dans une variante, en fonction des valeurs des paramètres du réseau réactualisées après chaque réception d'une pièce de contenu, un pair ayant une bande passante inférieure audit seuil prédéfini est orienté vers des zones du réseau comportant 20 des pairs ayant des bandes passantes plus élevées. Au début de sa connexion au réseau, le pair peut avoir une bande passante suffisante, mais plus tard, d'autres tâches par exemple peuvent être exécutées sur le processeur du périphérique par lequel il est connecté au réseau, diminuant ainsi sa bande passante, et donc sa qualité de service. Grâce à l'invention, le pair peut adapter sa position protocolaire au sein du réseau selon l'évolution 25 de sa bande passante et sa connaissance globale du réseau. En fonction des valeurs des paramètres du réseau réactualisées après chaque réception d'une pièce de contenu, un pair ayant une bande passante supérieure à la bande passante globale du réseau peut être déconnecté d'une partie des pairs avec lesquels il est connecté afin d'être connecté à des pairs du réseau ayant une bande passante plus faible. 30 Dans un exemple de mise en oeuvre de l'invention, en fonction des valeurs des paramètres du réseau réactualisées après chaque réception d'une pièce de contenu, un pair comportant des pièces rares est orienté vers des zones du réseau où l'entropie desdites 3031643 9 pièces rares est faible. Ceci permet à des pairs distants de bénéficier également de ces contenus rares. En effet, dans un réseau pair à pair, les pairs peuvent posséder aucune pièce, quelques pièces ou la totalité des pièces du contenu. Dans le procédé de gestion selon l'invention, les paramètres de bande passante 5 et la liste des pièces les plus rares peuvent servir de règle d'orientation : un pair qui partage une moyenne de téléchargement élevée représente un voisinage avec une moyenne de téléchargement intéressante. Les pairs ayant des difficultés à démarrer d'une manière cohérente leurs téléchargements peuvent s'orienter d'eux-mêmes vers ces derniers pour pouvoir suivre la vitesse de téléchargement du réseau. 10 Dans le cas où le protocole d'échange permet dans le réseau la diffusion de pièces de contenu en mode client/serveur à au moins un pair, la diffusion des pièces au sein du réseau peut être basculée du mode pair à pair audit mode client/serveur en fonction des valeurs des paramètres du réseau réactualisées après chaque réception d'une pièce de contenu et d'au moins un paramètre représentatif de l'état dudit pair. 15 Dans ces réseaux dits «hybrides », utilisant un ou plusieurs serveurs additionnels pour mettre en oeuvre la distribution du contenu en mode client/serveur, le procédé selon l'invention permet de déterminer le moment du basculement entre les deux modes et la façon de procéder. Par exemple, si la bande passante moyenne et la taille du réseau montrent que les pairs ne sont pas en mesure d'assurer une qualité de service 20 suffisante, le ou lesdits serveurs additionnels vont être sollicités par les pairs les plus en difficulté pour recevoir les pièces et de la bande passante manquante. Grâce à l'invention, l'intervention des serveurs est précise et ciblée. Bien entendu, les caractéristiques mentionnées ci-dessus ne sont pas limitatives et peuvent dépendre du réseau pair à pair et du protocole d'échange concernés. 25 L'invention porte encore, selon un autre de ses aspects, sur un produit programme d'ordinateur pour la mise en oeuvre du procédé de gestion d'un réseau pair à pair selon l'invention, opérant selon au moins un protocole d'échange visant à diffuser des pièces de contenu au sein dudit réseau entre une pluralité de pairs, le produit programme d'ordinateur comportant des instructions de code qui, exécutées sur un processeur, font 30 que : - lors de la diffusion d'une pièce de contenu entre deux pairs, le pair recevant ladite pièce reçoive en outre une information d'état du réseau pair à pair comportant au 3031643 10 moins une valeur d'un paramètre du réseau provenant de pairs autres que ceux avec lesquels ledit pair est connecté, et que - après chaque réception d'une pièce de contenu, le pair détermine, à partir de ladite information accompagnant la pièce reçue, au moins une valeur au moins 5 partiellement réactualisée dudit paramètre du réseau pair à pair afin d'induire un fonctionnement du protocole d'échange dépendant des valeurs réactualisées des paramètres du réseau et d'au moins un paramètre représentatif de l'état dudit pair. Les caractéristiques énoncées ci-dessus pour le procédé de gestion s'appliquent au produit programme d'ordinateur. 10 L'invention pourra être mieux comprise à la lecture de la description détaillée qui va suivre, d'exemples de mise en oeuvre non limitatifs de celle-ci, et à l'examen du dessin annexé, sur lequel : - les figures 1 et 2 illustrent des étapes dans la mise en oeuvre du procédé selon l'invention. 15 Comme représenté à la figure 1, un pair Po peut intégrer, lors d'une étape 11, un réseau pair à pair afin de télécharger et de partager des pièces de contenu. Ledit pair Po commence avantageusement ses échanges dans le réseau pair à pair par un fonctionnement protocolaire basique, en utilisant des listes de pairs du réseau échangées entre les pairs afin de trouver le pair le mieux adapté selon le contenu désiré. Le 20 pair Po, lorsqu'il a fini de télécharger une pièce de contenu envoie avantageusement aux autres pairs du réseau avec lesquels il est connecté un message « Have » d'accusé de réception, indiquant qu'il a reçu une pièce et a vérifié son intégrité grâce à des tables de hachage, notamment de technologie SHA1. En réponse à ce message « Have », les autres pairs peuvent envoyer un message « interested » pour signaler leur intérêt. En réponse à ce 25 message « interested », si le pair Po accepte de partager la pièce, il peut envoyer un message d'acceptation « unchocke». Dans le cas contraire, il envoie un message de refus « choke », et met le pair intéressé en attente. Les pairs du réseau s'échangent en outre avantageusement entre eux un message « Bitfield » comportant une chaine de bits désignant la possession ou non d'une pièce. 30 Dans le procédé selon l'invention, l'état du réseau est mesuré, lors d'une étape 12 représentée à la figure 1, lors de la diffusion d'une pièce de contenu entre deux pairs, et le pair Po recevant ladite pièce reçoit en outre une information d'état du réseau comportant 3031643 11 au moins une valeur d'un paramètre du réseau provenant de pairs autres que les pairs voisins dudit pair. Lors d'une étape 13, l'état du pair Po est également avantageusement mesuré. Après chaque réception d'une pièce, le pair Po peut déterminer, à partir de ladite 5 information accompagnant la pièce reçue, au moins une valeur au moins partiellement réactualisée du paramètre du réseau pair à pair afin d'induire, dans une étape 14, un fonctionnement du protocole d'échange dépendant des valeurs réactualisées des paramètres du réseau et d'au moins un paramètre représentatif de l'état dudit pair. Comme représenté à la figure 2, l'information d'état du réseau pair à pair 10 comportant au moins une valeur d'un paramètre du réseau et accompagnant la diffusion d'une pièce de contenu, lors d'une étape 21, peut être insérée dans un message « Have ». Après chaque réception d'une pièce, comme visible à la figure 2, le pair Po transmet aux autres pairs du réseau Pi ...PN ladite au moins une valeur d'un paramètre du réseau pair à pair au moins partiellement réactualisée. 15 Comme visible à la figure 2, ladite information accompagnant chaque pièce reçue par le pair Po contient avantageusement au moins une valeur d'un paramètre concernant les pièces partagées entre les pairs, par exemple une liste des pièces les plus rares disponibles sur le réseau pair à pair. Cette liste des pièces les plus rares disponibles sur le réseau pair à pair peut regrouper les indices des pièces les plus rares calculés en 20 fonction de messages « Bitfield» envoyés par chaque pair aux autres pairs du réseau lors de sa connexion au réseau et signalant les pièces qu'il a déjà reçues, et de messages « Have » reçus par les pairs du réseau à chaque réception d'une pièce et contenant l'indice de ladite pièce et l'estimation de l'indice de la pièce la plus rare du réseau à cet instant. Dans les protocoles d'échange pair à pair connus, le calcul par défaut de la 25 30 Un bit égal à 0 correspond avantageusement à une pièce manquante, un bit égal à 1 correspondant à une pièce en possession. L'indice de la pièce la plus rare correspond alors avantageusement à : Min (somme Bitfields). pièce la plus rare du réseau se fait par exemple de la manière suivante : Bitfield P2 1111111011111111 Bitfield P3 1000000011100001 Bitfield P4 0011100011100110 Somme des bits 2122211033311222 3031643 12 Les pairs P1, P2 et P3 peuvent inclure dans leurs messages « Have » une information Pi (indice de la pièce téléchargée, pièce la plus rare selon la vision globale du 5 10 pair), par exemple : P1(1,5), P2(11,9) et P3(3,13). Dans cet exemple, le pair Po recalcule l'indice de la pièce la plus rare comme suit : 1-Recalcul des messages bitfields en Bitfield Po 1000000000000000 Bitfield Pi 1111111011111111 Bitfield P2 1000000011100001 Bitfield P3 0011100011100110 Somme des bits 3122211033311222 intégrant le sien : 2- Prise en compte des pièces les plus rares signalées par les autres pairs, en décrémentant l'indice de la pièce signalée comme rare (il est à noter que la décrémentation se limite à zéro et ne passe pas en valeur négative) : 15 Ancienne vision globale des indices 3122211033311222 Nouvelle vision globale des indices 3122111023310222 Dans le cas de plusieurs bits égaux, un calcul aléatoire, dit « random » en anglais, des pièces à indice faible peut être fait. L'indice de la pièce la plus rare Idp est 20 alors calculé par : Idp = random (min(3122111023310222)). Dans une variante ou en combinaison, l'information accompagnant chaque pièce reçue par le pair Po contient le taux de téléchargement de chaque pièce. L'information accompagnant chaque pièce reçue par le pair Po peut également contenir, comme représenté à la figure 2, au moins une valeur d'un paramètre concernant 25 le réseau pair à pair lui-même, par exemple la bande passante globale du réseau, le nombre de pairs du réseau, et une file d'attente éventuelle des pièces à récupérer, notamment dans le cas du partage de contenus diffusés en temps réel. La bande passante globale du réseau peut être calculée à partir d'une bande passante moyenne utilisant l'estimation de la bande passante du pair Po à l'instant où ce dernier commence à télécharger une pièce et la somme 30 des bandes passantes contenues dans les messages reçus par les pairs avec lesquels ledit pair Po est connecté, divisée par le nombre de pairs ayant envoyé lesdits messages. Dans une variante, l'information accompagnant chaque pièce reçue par le pair Po contient le temps d'attente estimé pour chaque pièce et/ou un indice sur la qualité de la connexion des pairs au réseau. 3031643 13 L'information accompagnant chaque pièce reçue par le pair peut contenir également, comme dans l'exemple représenté à la figure 2, au moins une valeur d'un paramètre concernant la sécurité du réseau, notamment le ratio entre le nombre de pièces diffusées et le nombre de pièces reçues ou un indice de fiabilité sur la présence de fausses 5 pièces de contenu. Après chaque réception de pièce, le pair Po vérifie avantageusement si la pièce reçue correspond à la pièce attendue ou si c'est un contenu corrompu, en utilisant des tables de hachage. Dans la deuxième hypothèse, le pair Po peut incrémenter ledit indice de fiabilité du nombre des nouveaux pairs malveillants transmettant le contenu corrompu. La 10 valeur maximale entre la valeur de l'indice de fiabilité du pair Po et celles des pairs voisins est avantageusement enregistrée et envoyée par le pair Po dans le message « Have ». Ledit indice de fiabilité est de préférence remis à zéro périodiquement. L'intervalle de temps t avant que l'indice de fiabilité ne soit remis à zéro dépend avantageusement de la taille du contenu échangé. Par exemple, dans le cas d'un contenu de 15 600 Go, le temps t correspond au temps nécessaire pour le téléchargement de 5 pièces, ce qui correspond environ à 1% du temps prévu pour le téléchargement du contenu. Dans ce cas, le calcul de l'indice de fiabilité se fait comme suit : for five_pieces_completed = REVENDICATIONS1. Procédé de gestion d'un réseau pair à pair opérant selon au moins un protocole d'échange visant à diffuser des pièces de contenu au sein dudit réseau entre une pluralité de pairs (Po...PN), procédé dans lequel, lors de la diffusion d'une pièce de contenu entre deux pairs, le pair (Po) recevant ladite pièce reçoit en outre une information d'état du réseau pair à pair comportant au moins une valeur d'un paramètre du réseau provenant de pairs autres que ceux avec lesquels ledit pair (Po) est connecté, et dans lequel, après chaque réception d'une pièce, le pair (Po) détermine, à partir de ladite information accompagnant la pièce reçue, au moins une valeur au moins partiellement réactualisée du paramètre du réseau pair à pair, afin d'induire un fonctionnement du protocole d'échange dépendant des valeurs réactualisées des paramètres du réseau et d'au moins un paramètre représentatif de l'état dudit pair (Po). 2. Procédé selon la revendication 1, dans lequel l'information accompagnant chaque pièce reçue par le pair (Po) contient au moins une valeur d'un paramètre concernant les pièces partagées entre les pairs (Po...PN), notamment le taux de téléchargement de chaque pièce ou une liste des pièces les plus rares disponibles sur le réseau pair à pair. 3. Procédé selon la revendication 1 ou 2, dans lequel la liste des pièces les plus rares disponibles sur le réseau pair à pair, pouvant être contenue dans l'information accompagnant chaque pièce reçue par le pair (Po), regroupe les indices des pièces les plus rares calculés en fonction de messages envoyés par chaque pair aux autres pairs du réseau lors de sa connexion au réseau et signalant les pièces qu'il a déjà reçues, et de messages d'accusé de réception reçus par les pairs (Po...PN) du réseau à chaque réception d'une pièce et contenant l'indice de ladite pièce et l'estimation de l'indice de la pièce la plus rare du réseau à cet instant. 4. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'information accompagnant chaque pièce reçue par le pair (Po) contient au moins une valeur d'un paramètre concernant le réseau pair à pair lui-même, notamment la bande passante globale du réseau, le nombre de pairs (Po...PN) du réseau, une file d'attente de pièces à récupérer ou un indice sur la qualité de la connexion des pairs (Po...PN) au réseau. 5. Procédé selon l'une quelconque des revendications précédentes, dans lequel la bande passante globale du réseau est calculée à partir d'une bande passante 3031643 17 moyenne utilisant une estimation de la bande passante du pair (Po) réalisée à l'instant où ce dernier commence à télécharger une pièce et la somme des bandes passantes contenues dans les messages reçus par les pairs avec lesquels ledit pair (Po) est connecté divisée par le nombre de pairs ayant envoyé lesdits messages. 5 6. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'information accompagnant chaque pièce reçue par le pair (Po) contient au moins une valeur d'un paramètre concernant la sécurité du réseau, notamment le ratio entre le nombre de pièces diffusées et le nombre de pièces reçues ou un indice de fiabilité sur la présence de fausses pièces de contenu. 10 7. Procédé selon l'une quelconque des revendications précédentes, dans lequel ledit paramètre représentatif de l'état du pair (Po) concerne sa bande passante, sa qualité de connexion, les pièces déjà reçues et/ou la puissance du processeur sur lequel le pair (Po) fonctionne. 8. Procédé selon l'une quelconque des revendications précédentes, dans 15 lequel le pair (Po) transmet aux autres pairs (Pi...PN) du réseau ladite au moins une valeur d'un paramètre du réseau pair à pair au moins partiellement réactualisée après réception d'une pièce de contenu. 9. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'information d'état du réseau pair à pair comportant au moins une valeur d'un 20 paramètre du réseau et accompagnant la diffusion d'une pièce de contenu est insérée dans un message d'accusé de réception, indiquant aux autres pairs (P1...PN) du réseau que telle pièce, notamment identifiée par un indice, a été reçue par le pair (Po). 10. Procédé selon l'une quelconque des revendications précédentes, dans lequel, en fonction des valeurs des paramètres du réseau réactualisées après chaque 25 réception d'une pièce de contenu, un pair (Po) ayant une bande passante supérieure à un seuil prédéfini et/ou un processeur de puissance supérieure à un seuil prédéfini est orienté vers au moins un autre pair souffrant d'une moins bonne qualité de connexion pour lui servir de passerelle vers le réseau. 11. Procédé selon l'une quelconque des revendications précédentes, dans 30 lequel, en fonction des valeurs des paramètres du réseau réactualisées après chaque réception d'une pièce de contenu, un pair (Po) ayant une bande passante supérieure à la 3031643 18 bande passante globale du réseau est déconnecté d'une partie des pairs avec lesquels il est connecté afin d'être connecté à des pairs du réseau ayant une bande passante plus faible. 12. Procédé selon l'une quelconque des revendications précédentes, dans lequel, en fonction des valeurs des paramètres du réseau réactualisées après chaque 5 réception d'une pièce de contenu, un pair (Po) ayant une bande passante inférieure à un seuil prédéfini est orienté vers des zones du réseau comportant des pairs ayant des bandes passantes plus élevées. 13. Procédé selon l'une quelconque des revendications précédentes, dans lequel, en fonction des valeurs des paramètres du réseau réactualisées après chaque 10 réception d'une pièce de contenu, un pair (Po) comportant des pièces rares est orienté vers des zones du réseau où l'entropie desdites pièces rares est faible. 14. Procédé selon l'une quelconque des revendications précédentes, dans lequel, le protocole d'échange permettant la diffusion de pièces de contenu en mode client/serveur à au moins un pair (Po), la diffusion des pièces au sein du réseau est basculée 15 du mode pair à pair audit mode client/serveur en fonction des valeurs des paramètres du réseau réactualisées après chaque réception d'une pièce de contenu et d'au moins un paramètre représentatif de l'état dudit pair (Po). 15. Produit programme d'ordinateur pour la mise en oeuvre du procédé de gestion d'un réseau pair à pair tel que défini à l'une quelconque des revendications 20 précédentes, opérant selon au moins un protocole d'échange visant à diffuser des pièces de contenu au sein dudit réseau entre une pluralité de pairs (Po...PN), le produit programme d'ordinateur comportant des instructions de code qui, exécutées sur un processeur, font que : - lors de la diffusion d'une pièce de contenu entre deux pairs, le pair (Po) 25 recevant ladite pièce reçoive en outre une information d'état du réseau pair à pair comportant au moins une valeur d'un paramètre du réseau provenant de pairs autres que ceux avec lesquels ledit pair (Po) est connecté, et que - après chaque réception d'une pièce de contenu, le pair (Po) détermine, à partir de ladite information accompagnant la pièce reçue, au moins une valeur au moins 30 partiellement réactualisée dudit paramètre du réseau pair à pair afin d'induire un fonctionnement du protocole d'échange dépendant des valeurs réactualisées des paramètres du réseau et d'au moins un paramètre représentatif de l'état dudit pair (Po).