Brevet FR2970138A1 — publié le 20120706

Arrière-plan de l'invention L'invention se situe dans le contexte des réseaux de télécommunications et vise plus particulièrement un procédé de communications dans un réseau de type 'pair à pair' utilisé pour distribuer des données numériques dans le réseau. De façon connue, les critères de performance suivants peuvent être utilisés pour les réseaux pair à pair : le temps d'initialisation du réseau, l'intervalle de temps entre le moment où le données sont émises par la source et le moment où elles sont reçues par tous les pairs du réseau, l'adaptabilité du réseau à réagir aux arrivées et aux départs des pairs. Dans l'état actuel de la technique, les réseaux pair à pair ont soit une architecture de diffusion dite « non-structurée », dans laquelle chaque échange de données utiles est précédé d'un échange de données de signalisation entre pairs, soit une architecture de diffusion dite « structurée », dans laquelle chaque pair est apte à déterminer à partir d'une règle de fonctionnement du réseau avec quels pairs il doit communiquer, et quelles données il doit échanger. Les réseaux à architecture « non-structurée » sont plus adaptables aux arrivées et départs des pairs, mais présentent plusieurs inconvénients, à savoir notamment un encombrement du réseau dû aux messages de signalisation et un de temps de transmission différent entre la source et les différents pairs. Ce deuxième inconvénient dégrade fortement la qualité des transmission des flux de données destinées à être reçues rapidement et avec peu d'écart entre les différents pairs, comme par exemple les flux audio-vidéo contenant des actualités où des événements sportifs. Les réseaux basés sur une architecture de diffusion de données structurée peuvent transmettre les données dans des temps optimisés et proches pour tous les pairs, mais sont fortement perturbés lorsqu'un pair arrive dans le réseau ou sort du réseau. 1.1 Présentation des réseaux hyper cubes complets Pour la bonne compréhension de l'invention, on présente de façon préliminaire le modèle de réseaux de pairs connu de l'homme du métier sous le nom de « réseau hypercube complet de dimension n », les avantages et les limites de ce modèle. 1 35 1.1.1. Contexte On se place plus précisément dans le contexte d'un réseau de pairs dans lequel les flux de données sont divisés en blocs de données numérotés (en anglais « chunks »). Nous supposerons qu'en l'absence de perte dans le réseau, un pair est apte à recevoir et à transmettre un bloc de données par intervalle de temps (slot). 1.1.2. Diffusion optimale et identifiants des pairs Il a été démontré dans le document « Y. Liu, "On the minimum delay peer-to- peer video streaming : how realtime can it be?" in MOL TTMEDIA '07 : Proceedings of the 1.5``' international conference on Multimedia. New York, NY, USA : ACM, 2007, pp. 127 136» que le temps de diffusion optimal était obtenu lorsque tous les pairs continuent à transmettre un bloc de données jusqu'à ce que tous les pairs l'aient reçu. Le temps de diffusion optimal s'entend en nombre de transmission de blocs. Cela revient à doubler le nombre de pairs en possession du bloc de données concerné à chaque transmission jusqu'à la dernière. Une conséquence du résultat démontré dans cet article est que, pour une population de pairs N telle que 2r-1 Nous décrivons maintenant comment les transmissions peuvent être organisées lorsque le nombre N de pairs est de la forme N = 2n -1. Etant donné que chaque pair transmet un bloc de données par intervalle de temps, un pair recevant un bloc de données doit nécessairement le retransmettre aux autres pairs jusqu'à ce que les N pairs l'aient reçu, avec N = 2° + 21 + ...+2n-1 Puisque l'on fait l'hypothèse qu'il existe 2n-1 pairs, tous arrêtent de transmettre le bloc de données au même moment. Les séquences de transmissions possibles par pairs sont donc les suivantes, chaque élément de la séquence identifiant le numéro du bloc de données à transmettre au cours d'un intervalle de temps correspondant à cet élément, le temps s'écoulant de droite à gauche, du premier vers le dernier élément : {9, 9, 7, 7, 5, 4, 3, 3, 3} {9, 9, 9, 6, 5, 4, 4, 4, 1} {9, 8, 8, 6, 5, 4, 4, 4, 1} Il existe une bijection entre ces séquences et les séquences suivantes : {1, 0, 1, 0, 1, 1, 1, 0, 0}35 {1, 0, 0, 1, 1, 1, 0, 0, 1} {1, 1, 0, 1, 1, 1, 0, 0, 1} dans lesquelles le bit « 1 » est placé aux positions pour lesquelles un bloc de données est transmis pour la dernière fois, le bit « 0 » occupant les autres positions. Un bit à « 1 » dans la séquence identifie l'intervalle de temps au cours duquel un bloc est transmis pour la dernière fois et le nombre de bits « 0 » à sa droite le nombre de fois où ce même bloc est retransmis. Ces séquences peuvent être répétées périodiquement après n intervalles de temps pour diminuer la complexité. Dans ce cas, une séquence de longueur n, composée d'éléments binaires de valeur « 0 » et de « 1 » suffit pour représenter toutes les séquences de blocs pouvant être émises par un pair. La séquence composée exclusivement d'éléments binaires de valeur « 0 » est non significative, puisqu'elle correspondrait à l'émission répétée du même bloc de données. On attribue à chaque pair un identifiant unique de longueur n et la séquence de transmission de blocs de données correspondante. Autrement dit, chaque pair est représenté par une séquence binaire unique qui dicte son comportement. Par exemple, pour n=5, le réseau comportant 31 pairs, le pair d'identifiant 01001 est programmé pour transmettre la séquence de blocs : 6, 4, 4, 4, 1 (1), suivie par: 11, 9, 9, 9, 6 (2) Si les séquences de transmissions sont périodiques, les numéros de blocs et les intervalles de temps peuvent être représentés modulo n, et les séquences (1) et (2) par la séquence unique : 1, 4, 4, 4, 1, le temps étant compté de droite à gauche de 1 à 5 avant de se répéter. Cette relation entre l'identifiant du pair et la séquence de transmission de résume de la façon suivante : Règle 1 : A l'instant t=k, un pair continue à envoyer le même bloc qu'à l'instant t'=k-1, si et seulement si la représentation binaire de son identifiant comporte un « 0 » à la position k-1, modulo n. Ainsi, un pair dont l'identifiant comporte un « 1 » à la position k=t modulo n transmet un bloc pour la dernière fois. Règle 2 : Un pair avec un « 1 » en position i de son identifiant transmet les blocs de numéro k=i modulo n. 3 Cette règle permet de définir quels sont les blocs de données transmis par un pair. Ainsi, si un pair a un « 1 » dans son identifiant à la position k à l'instant t (où t=k modulo n), il transmettra le bloc qui a été transmis par la source à l'instant t-n, soit le bloc k modulo n. Les règles 1 et 2 permettent de déduire le Lemme 1 suivant Lemme 1 : Un pair transmet autant de blocs de données différents dans une séquence de temps n qu'il y a de « 1 » dans la représentation binaire de son identifiant. En particulier, le pair d'identifiant 11111 transmet tous les blocs une seule fois, et le pair d'identifiant 00001 transmet 5 fois les blocs transmis aux instants t ; tels que t modulo n = 1, ce pair étant le premier à transmettre ces blocs. Dans la suite de la description on ne distinguera pas les indices de temps ni les numéros de blocs égaux modulo n. 1.1.3. Détermination des destinataires des blocs On note e; le nombre binaire constitué de « 0 » avec un seul « 1 » en position i. Les règles suivantes définissent à qui un bloc doit être transmis. Cette méthode permet une diffusion sur toute la population N. Règle 3 : A l'instant t, un pair d'identifiant binaire b envoie un bloc au pair d'identifiant binaire b+et. Puisque b+et+et=b, le pair destinataire b+et envoie aussi un bloc au pair b à l'instant t. On notera qu'un pair envoie des blocs et ne reçoit des blocs que de n pairs différents, dits 'voisins'. La Table 1 illustre quels blocs sont transmis et reçus par le pair d'identifiant 01001. Intervalle Identifiant du N° Bloc envoyé N° Bloc reçu de temps voisin 1 01000 1 4 2 01011 4 2 3 01101 4 3 4 00001 4 1 5 11001 1 5 Table 1 Proposition 1 : La Règle 1, la Règle 2 et la Règle 3 définissent une structure de diffusion optimale pour un flux dans un réseau de N = 2n - 1 pairs. En effet : - un pair dont l'identifiant comporte un « 0 » à la position k, reçoit le bloc k à l'instant k pour lequel il s'agit de la dernière transmission du bloc (Lemme 2) ; et - un pair dont l'identifiant b comporte un « 1 » en position k, reçoit le bloc k' à l'instant k, où k' est la position du prochain « 1 » à la gauche de k dans b (Lemme 3). Il résulte de ces deux lemmes qu'un pair reçoit tous les blocs, et que pour un pair d'identifiant b donné, les blocs retransmis sont reçus « à temps », à savoir dans l'intervalle de temps (slot) qui précède l'intervalle de temps (slot) au cours duquel le bloc doit être retransmis. Les séquences de transmissions définies précédemment définissent un réseau hypercube complet de dimension n, avec un nombre constant de pairs N = 2n - 1, et un algorithme de diffusion structurée sur ce réseau. Dans la suite de la description, on appellera « descendants » d'un pair b pour un bloc de données p, les pairs qui reçoivent une copie de ce bloc directement de b ou les descendants de ces pairs pour le paquet p. Proposition 2 : Il résulte de la Règle 3 déjà énoncée qu'un pair n'échange des données qu'avec des pairs de niveau supérieur ou inférieur à son propre niveau mais en aucun cas avec des pairs de son niveau. Proposition 3 : Selon le Lemme 3, un pair recevant un bloc de données d'un niveau supérieur doit le retransmettre ; conformément au Lemme 2, un pair recevant un bloc de données d'un niveau inférieur ne le retransmet pas. De façon corollaire (corollaire 1), si un pair de niveau I doit envoyer un bloc de données k fois, cela signifie que ce pair a un descendant direct de niveau 1+1, k-1 descendants directs de niveau 1-1, k-1 descendants de niveau I et tous ses autres descendants de niveau 1-1 ou inférieur. Ses descendants de niveaux 1+1 et I ne retransmettent pas le bloc de données. Proposition 4 : Un pair de niveau I a n-I descendants directs de niveau I+1, I descendants directs de niveau I-1, I descendants de niveau I, tous ses autres descendants de niveaux I-1 ou inférieur. Ses descendants de niveaux 1+1 et I ne retransmettent pas le bloc de données. Proposition 5 : Un pair de niveau I a n-I ancêtres directs de niveau 1+1, I ancêtres directs de niveau 1-1, 1 ancêtres de niveau I, tous ses autres ancêtres de niveaux 1+1 ou supérieur. Les blocs reçus des ascendants de niveau 1-1 et I ne sont pas retransmis. 1.1.4 Délais On évalue le délai maximum d'un bloc pour un pair A compté depuis l'instant auquel la source l'a transmis. On évalue tout d'abord de délai en nombre de transmissions. Tous les pairs avec un « 0 » dans leur identifiant reçoivent le bloc n transmissions après la source, avec un délai n. Le pair spécial dont l'identifiant ne comporte que des « 1 » reçoit tous les blocs juste avant la dernière transmission avec un délai n-1. On s'intéresse ensuite aux délais de propagation. Soit D le temps moyen mis par un bloc de données pour atteindre une destination après sa transmission par la source. Durant sa vie, un bloc de données peut soit rester dans un pair (autrement dit être transmis plusieurs fois) soit descendre d'un niveau ou monter d'un niveau pour sa dernière transmission. Donc un pair de niveau I avec un « 0 » dans son identifiant reçoit un bloc après qu'il a atteint le niveau 1+1 et a été renvoyé au niveau I. Soit un temps de propagation pour le pair de (n-1+2)D. Le pair spécial dont l'identifiant ne comporte que des « 1 » a un délai de propagation de nD. Un tel réseau présente des performances très intéressantes, rappelées à la proposition 1 ci-dessus. Ces délais serviront de comparaison lorsque la structure sera adaptée à des populations de N pairs, N différent de 2n-1, conformément à l'invention. Malheureusement, il ne s'applique que lorsque le nombre N de pairs dans le réseau est du type 2n-1, et ne sait donc pas traiter de façon satisfaisante l'arrivée d'un pair dans le réseau ou le départ d'un pair du réseau. L'invention propose notamment de résoudre ces inconvénients. Objet et résumé de l'invention Définitions et notations utilisées dans l'invention Dans la suite de ce document, on appellera 'la règle des réseaux hypercubes complets de dimension n', ou plus simplement 'règle générale', l'algorithme de diffusion structuré présenté au chapitre précédent. Cette règle générale reprend notamment les règles Règle 1... Règle xxx énoncées dans ce document. 7 On définit également les notions suivantes qui seront utilisées par la suite : - intervalle de temps : intervalle de temps (ou slot en anglais) utilisé par un pair pour envoyer un bloc de données à un seul autre pair ; conformément à l'invention, les intervalles de temps ne sont pas égaux et tiennent compte du temps de propagation et des éventuelles retransmissions du bloc ; - dimension n du réseau : le nombre maximum de bits (nommés également éléments binaires) utilisés pour coder l'identifiant d'un pair dans le réseau ; - niveau d'ordre i : l'ensemble des identifiants de pairs (et par extension, l'ensemble des pairs correspondants) ayant un nombre i d'un élément binaire prédéterminé bO (de valeur 0 ou 1 fixée, commune à tous les pairs) ; cette notion s'applique aux identifiants : un identifiant est d'ordre i s'il comprend un nombre i dudit élément binaire bO ; - niveau complet : niveau dont tous les identifiants ont été attribués à un pair du réseau ; - niveau vide : niveau dont aucun identifiant n'a été attribué à un pair du réseau ; - niveau incomplet : niveau qui n'est ni complet, ni vide. - règle définissant l'ordre d'attribution des identifiants : pour un entier n, une population de N pairs, avec N Dans la suite de ce document, on choisira « 0 » pour l'élément binaire prédéterminé, et les identifiants seront attribués dans l'ordre décroissant du nombre de « 0 » dans leurs identifiants, à l'exception de l'identifiant ne comportant que des « 0 », réservé à la source. Cet ordre d'attribution est illustré par les listes ordonnées représentées infra aux figures 1 à 3 ; 8 - niveau suivant le niveau L : niveau dont les identifiants sont attribués après ceux du niveau L , selon la règle d'attribution des identifiants dans le réseau ; lorsque les niveaux sont, conformément à la règle d'attribution, attribués par ordre décroissant, le niveau suivant un niveau d'ordre i est le niveau d'ordre i-1 ; - niveau précédent le niveau L : niveau dont les identifiants sont attribués avant ceux du niveau L, selon la règle d'attribution des identifiants dans le réseau ; lorsque les niveaux sont, conformément à la règle d'attribution, attribués par ordre décroissant, le niveau précédent un niveau d'ordre i est le niveau d'ordre i+1 ; - pair présent : un pair ayant une adresse dans le réseau ; - destinataire théorique d'un bloc de données : pair susceptible de recevoir ce bloc de données, ce destinataire théorique étant déterminé conformément à ladite règle générale, à partir du numéro du bloc de données et de l'identifiant du pair lui transmettant ce bloc. On notera qu'un pair destinataire théorique ainsi déterminé peut être présent ou absent dans le réseau ; - récepteur théorique : il s'agit d'un destinataire théorique d'un destinataire théorique, autrement dit d'un pair auquel un destinataire théorique serait susceptible de transmettre un bloc de données, un récepteur théorique étant déterminé à partir du numéro du bloc et de l'identifiant du destinataire théorique, selon ladite règle générale. - pair à identifier : pair devant recevoir un nouvel identifiant suite à la détection d'un événement dans le réseau ; - pair à notifier : pair conservant son identifiant mais devant être informé suite à la détection d'un événement dans le réseau ; - voisins d'un pair : destinataires théoriques, déterminés selon la règle générale, présents dans le réseau, auxquels ce pair est susceptible d'envoyer un bloc de données. Dans la suite du document on utilise la notation suivante : C(n,k) = Cnk = n ! / k ! (n-k) !. L'invention vise un mécanisme structuré de diffusion de données dans un réseau pair à pair avec un nombre quelconque de pairs, qui s'adapte aux arrivées et départs des pairs, et qui change uniquement localement le fonctionnement du réseau. L'invention vise plus précisément les pairs du réseau, l'unité de gestion du réseau et les procédés mis en oeuvre par ces entités, respectivement nommés « procédé de communication de données » et « procédé de contrôle ». Ainsi, et selon un premier aspect, l'invention concerne une unité de gestion pouvant être utilisée dans un réseau pair à pair organisé en niveaux ordonnés selon un ordre déterminé, chaque pair étant destiné à être associé à un identifiant unique, cette unité de gestion, comportant : - des moyens de sélection d'une dimension n du réseau ; - des moyens de détermination des pairs présents dans le réseau ; - des moyens d'attribution à chacun desdits pairs présents d'un identifiant comprenant des éléments binaires, l'attribution des identifiants se faisant en respectant un ordre prédéfini d'attribution des niveaux, un niveau étant constitué par l'ensemble des identifiants comprenant un nombre j d'un élément binaire prédéterminé - des moyens d'envoi, à chacun desdits pairs présents, - de son identifiant et - d'informations permettant audit pair présent de déterminer le caractère complet, vide ou incomplet du niveau de référence L auquel appartient l'identifiant du pair considéré et d'au moins un niveau suivant ledit niveau de référence dans l'ordre d'attribution desdits niveaux. Corrélativement, l'invention concerne un procédé de contrôle d'un réseau pair à pair, ce procédé étant mis en oeuvre par une unité de gestion, comportant : - une étape de sélection d'une dimension n du réseau ; - une étape de détermination des pairs présents dans le réseau - une étape d'attribution à chacun desdits pairs présents d'un identifiant comprenant des éléments binaires, l'attribution des identifiants se faisant en respectant un ordre prédéfini d'attribution des niveaux, un niveau étant constitué par l'ensemble des identifiants comprenant un nombre j d'un élément binaire prédéterminé - une étape d'envoi, à chacun desdits pairs présents, - de son identifiant; et - d'informations permettant audit pair présent de déterminer le caractère complet, vide ou incomplet du niveau de référence L auquel appartient le pair considéré et d'au moins un niveau suivant ledit niveau de référence dans l'ordre d'attribution desdits niveaux. L'invention propose de modifier la méthode connue des réseaux hypercubes complets de dimension n limitée aux réseaux de 2"-1 pairs pour l'appliquer à un réseau pair à pair comportant un nombre quelconque de pairs. 10 Dans la suite de la description, les « autres règles » au sens de l'invention sont référencées Rxx, afin de ne pas les confondre avec les règles Règle 1, Règle 2 et Règle 3 des réseaux hypercubes complets. D'une façon générale, le rôle principal de l'unité de gestion est de déterminer les niveaux du réseau et d'attribuer les identifiants aux pairs du réseau d'une façon originale, les voisins de chacun des pairs étant déterminés conformément à la règle générale des hypercubes complets de dimension n. L'unité de gestion communique ensuite à chaque pair présent son identifiant, des informations lui permettant de déterminer s'il appartient à un niveau complet, et si au moins un de ses niveaux suivants est complet, incomplet ou vide, ainsi que l'adresse et l'identifiant de chacun de ses voisins. Ces informations permettent à chaque pair du réseau de déterminer parfaitement son comportement, autrement dit de déterminer quels sont les blocs de données qu'il doit retransmettre et à qui. De façon très avantageuse, on notera que l'unité de gestion selon l'invention est capable de gérer un réseau comportant un nombre quelconque de pairs. Par ailleurs, il est remarquable de noter que l'unité de gestion n'envoie à un pair que des informations locales à l'environnement de ce pair, c'est-à-dire concernant, le niveau auquel ce pair appartient, ainsi que au moins un niveau suivant . Dans un premier mode particulier de réalisation, les informations envoyées par l'unité de gestion permettent au pair de déterminer si : - le niveau de référence L est complet ; et - le niveau L-1 est complet ou vide. Dans un deuxième mode particulier de réalisation, les informations envoyées par l'unité de gestion permettent en outre au pair de déterminer si le niveau L-2 est vide. Dans le premier mode particulier de l'invention, le procédé de contrôle selon l'invention comporte, sur réception d'un évènement déterminé, les étapes suivantes : - détermination d'un niveau d'attribution Lk ; - détermination des pairs destinés à recevoir un nouvel identifiant, appelés « pairs à identifier » ; - une étape d'attribution à chacun des pairs à identifier d'un identifiant dudit niveau d'attribution Lk ; - une étape de détermination de pairs, dits « pairs à notifier » en fonction de ladite étape d'attribution ; - une étape d'envoi, à chacun des pairs à identifier et à chacun des pairs à notifier, des d'informations lui permettant de déterminer au moins : - si le niveau de référence L, auquel appartient son identifiant est complet ; - si le niveau L-1, suivant le niveau L dans l'ordre d'attribution des niveaux, est complet ou vide ; - et, seulement pour chacun desdits pairs à identifier, le nouvel identifiant de ce pair, l'identifiant et l'adresse de chacun de ses voisins ; - la détermination dudit niveau d'attribution Lk, desdits pairs à identifier et desdits pairs à notifier étant fonction dudit événement. Dans le deuxième mode particulier de réalisation, l'unité de gestion envoie en outre, à chacun desdits pairs à identifier et à notifier, des d'informations lui permettant de déterminer si le niveau L-2 est vide. Ainsi, l'unité de gestion selon l'invention détermine, les pairs impactés par un événement survenant dans le réseau, et leur communique les informations du même type que celles communiquées à l'initialisation du réseau pour qu'ils puissent modifier leurs comportements pour réagir à cet événement. Il est fondamental de bien noter, que l'invention permet de n'impacter le fonctionnement du réseau que localement, seuls les pairs impactés par l'événement recevant des informations de l'unité de gestion. L'unité de gestion selon l'invention peut en particulier réagir aux événements constitués par l'arrivée d'un nouveau pair dans le réseau lorsqu'un niveau du réseau au moins est incomplet et par le départ d'un pair du réseau. Par conséquent, dans le premier mode particulier de réalisation du procédé de contrôle, lorsqu'au moins un niveau du réseau est incomplet, et qu'un nouveau pair arrive dans le réseau : - ledit niveau d'attribution Lk est : - le dernier niveau Lderatt, dans lequel les identifiants ont été attribués si ce niveau n'est pas complet ; ou - le niveau Lderatt -1, suivant le niveau Lderatt dans l'ordre d'attribution des niveaux si ledit dernier niveau Lderatt est complet ; - le seul pair à identifier est le nouveau pair ; et - les pairs à notifier sont : - les voisins dudit nouveau pair ; et - les pairs dudit niveau d'attribution Lk et du niveau Lk+1, précédant le niveau Lk dans l'ordre d'attribution des niveaux, lorsque ledit niveau d'attribution Lk est devenu complet suite à l'arrivée du nouveau pair (NPPi).35 Dans le deuxième mode particulier de réalisation, les pairs à notifier comprennent en outre les pairs du niveau Lk+2, si l'identifiant dudit nouveau pair est le premier identifiant attribué dans son niveau. De même, dans le premier mode particulier de réalisation, lorsque l'événement détecté correspond au départ d'un pair sortant parmi les pairs présents : - lorsque l'identifiant dudit pair sortant appartient au dernier niveau Lderatt dans lequel les identifiants ont été attribués : - aucun pair n'est à identifier, l'identifiant dudit pair sortant devenant disponible ; - lesdits pairs à notifier étant au moins les voisins dudit pair sortant - et lorsque ce n'est pas le cas : -le seul pair à identifier est un pair quelconque dont l'identifiant appartient audit dernier niveau Lderatt, dit « pair remplaçant », ledit pair remplaçant étant identifié par l'identifiant dudit pair sortant, l'identifiant dudit pair remplaçant devenant disponible ; - lesdits pairs à notifier étant les voisins dudit pair sortant et dudit pair remplaçant et, si ledit dernier niveau Lderatt dans lequel les identifiants ont été attribués était complet avant le départ dudit pair sortant, les pairs de ce niveau Lderatt et du niveau Lderatt+l, précédant le niveau Lderatt dans l'ordre d'attribution des niveaux. Dans le deuxième mode particulier de réalisation de l'invention, les pairs à notifier comprennent en outre les pairs du niveau Lk+2 si l'identifiant du pair sortant ou du pair remplaçant était le seul de son niveau. Dans un mode particulier de réalisation de l'invention, le procédé de contrôle comporte : - une étape de réception d'une requête émise par un pair requérant pour obtenir l'adresse d'un autre pair identifié dans la requête ; et - une étape d'obtention et d'envoi de cette adresse audit pair requérant. Cette caractéristique permet avantageusement au pair requérant d'obtenir l'adresse d'un pair destinataire même si celui-ci qui ne fait pas partie de ses voisins au sens de la règle générale des réseaux hypercubes complets. Dans un mode particulier de réalisation de l'invention, le procédé selon l'invention permet de construire le réseau contrôlé par l'unité de gestion selon l'invention par fusion de deux sous-réseaux. Cette fusion constitue un événement au sens de l'invention. Plus précisément, dans un mode particulier de réalisation, le réseau est obtenu par fusion d'un premier sous-réseau, et d'un deuxième sous-réseau, tous les deux de dimension n-1, le premier sous-réseau ayant un niveau complet de plus que ledit deuxième sous-réseau et le niveau d'ordre n-1 dudit réseau (HO) est constitué par : - les identifiants appartenant au niveau n-2 dudit premier sous-réseau , complétés, dans une position dite d'insertion, par ledit élément binaire ; et - par un identifiant dit identifiant pivot, constitué par n-1 dits éléments binaires complétés, dans ladite position d'insertion, par l'élément binaire complémentaire, cet identifiant pivot étant attribué à un pair dit pair pivot choisi dans un niveau incomplet si le dernier niveau des identifiants attribués dans ledit premier sous-réseau ou le dernier niveau des identifiants attribués dans ledit deuxième sous-réseau est incomplet, et sinon dans un quelconque de ces deux niveaux si les deux sont complets ; - chacun des autres niveaux d'ordre W dudit réseau étant constitué par : - les identifiants du niveau d'ordre W-1, suivant ledit ordre W dudit premier sous-réseau, ces identifiants étant complétés, dans ladite position d'insertion, par ledit élément binaire ; et par - les identifiants du niveau d'ordre W dudit deuxième sous-réseau, ces identifiants étant complétés, dans leur position d'insertion, par ledit élément binaire complémentaire. Dans un mode particulier de réalisation la dimension n du réseau est choisie en fonction du nombre N de pairs présents dans le réseau de telle sorte que le nombre de niveaux attribués est égal à n/2 . Cette caractéristique permet avantageusement d'obtenir des délais de diffusion courts. Selon un deuxième aspect, l'invention vise aussi un dispositif de communication de données numériques pouvant être incorporé dans un pair dans un réseau pair à pair, ce dispositif comportant : - des moyens d'obtention d'un identifiant comprenant des éléments binaires et destiné à identifier ledit pair ; - des moyens d'obtention d'une dimension n du réseau, - des moyens de détermination d'un niveau de référence L auquel appartient cet identifiant, un niveau étant constitué par l'ensemble des identifiants de pair comprenant un nombre j d'un élément binaire prédéterminé ; 14 - des moyens d'obtention d'informations permettant au pair de déterminer le caractère complet, vide ou incomplet du niveau de référence et d'au moins un niveau suivant ledit niveau de référence dans un ordre prédéfini d'attribution des niveaux ; et - des moyens de sélection à partir de ces informations d'une règle de diffusion des données dans le réseau à appliquer par le pair, cette règle étant - la règle des hypercubes complets de dimension n, dite « règle générale » Si une condition sur les informations est satisfaite ; - une autre règle déterminée en tenant compte de ces informations dans tous les autres cas. Corrélativement, l'invention vise aussi un procédé de communication de données mis en oeuvre par un pair dans un réseau pair à pair, ce procédé comportant : - une étape d'obtention d'un identifiant comprenant des éléments binaires et destiné à identifier ce pair ; - une étape d'obtention d'une dimension n du réseau, - une étape de détermination d'un niveau de référence L auquel appartient cet identifiant, un niveau étant constitué par l'ensemble des identifiants de pair comprenant un nombre j d'un élément binaire prédéterminé ; - une étape d'obtention d'informations permettant au pair mettant en oeuvre l'invention de déterminer le caractère complet, vide ou incomplet du niveau de référence et d'au moins un niveau suivant ce niveau de référence dans un ordre prédéfini d'attribution des niveaux ; - une étape de sélection à partir de ces informations d'une règle de diffusion des données dans le réseau à appliquer par le pair mettant en oeuvre l'invention, cette règle étant : - la règle des hypercubes complets de dimension n, dite « règle générale » Si une condition sur ces informations est satisfaite ; - une autre règle déterminée en tenant compte de ces informations dans tous les autres cas. Ainsi, conformément à l'invention, chaque pair déduit sa propre règle de fonctionnement des informations qu'il reçoit de l'unité de gestion. Il est remarquable de constater que le pair se comporte exactement comme dans un réseau hypercube complet de dimension n de l'art antérieur, lorsque la condition est satisfaite et selon une autre règle dans les autres cas. Grâce à cette caractéristique, le comportement d'un pair diffère de celui des réseaux hypercubes complets uniquement pour les derniers niveaux attribués. Dans un premier mode de réalisation de l'invention, les informations précitées permettent audit pair de déterminer si le niveau de référence L est complet et si le niveau L-1, suivant le niveau L dans l'ordre d'attribution des niveaux, est complet ou vide ; la condition est satisfaite si le niveau L-1 est complet. Dans un deuxième mode de réalisation de l'invention, les informations précitées permettent audit pair de déterminer si- le niveau de référence L est complet et si le niveau L-1, suivant le niveau de référence L dans l'ordre d'attribution des niveaux, est complet ou vide et si le niveau L-2, suivant le niveau L-1 dans l'ordre d'attribution des niveaux, est vide ; la condition est satisfaite si le niveau L-2 n'est pas vide. Dans un mode particulier de réalisation, lorsque la condition n'est pas satisfaite, l'autre règle utilise une liste ordonnée étendue obtenue à partir d'un identifiant générateur et d'un bloc de données numéroté par : - une étape de détermination d'un niveau d'ordre G, dit niveau générateur, auquel appartient cet identifiant générateur ; - une étape de détermination d'une première liste ordonnée comportant une partie seulement des identifiants appartenant au niveau générateur, à de l'identifiant générateur et du numéro du bloc de données numéroté ; - une étape de détermination d'une liste des destinataires théoriques du bloc de données numéroté, auxquels le pair identifié par l'identifiant générateur serait susceptible de transmettre ce bloc numéroté selon la règle générale ; - une étape d'obtention, dans la liste des destinataires théoriques, du pair dont l'identifiant appartient au niveau G+1, précédant le niveau générateur G dans l'ordre d'attribution des niveaux, dit identifiant d'extension ; - la liste ordonnée étendue étant obtenue en ajoutant l'identifiant d'extension en dernière position dans la première liste ordonnée. Dans un mode préféré de réalisation, l'autre règle de diffusion d'un bloc de données numéroté, comprend, lorsqu'une lorsque le niveau L-1 n'est pas vide : - une étape de détermination, conformément à ladite règle générale, à partir du numéro K du bloc de données numéroté et de l'identifiant du pair mettant en oeuvre l'invention, d'une deuxième liste ordonnée comportant les identifiants des pairs destinataires théoriques du bloc de données numéroté ; - et pour chacun des identifiants des destinataires théoriques pris dans l'ordre de ladite deuxième liste ordonnée, si l'identifiant de destinataire théorique appartient au niveau L-1 : - une étape de détermination d'une liste ordonnée étendue à partir de l'identifiant de destinataire théorique et du numéro du bloc de données numéroté ; - une étape d'obtention du pair destinataire identifié par le premier identifiant attribué dans la liste ordonnée étendue ; et - une étape de transmission du bloc de données numéroté ; au pair destinataire ; - et, lorsque l'identifiant de destinataire théorique appartient au niveau L+1, précédant le niveau de référence L dans l'ordre d'attribution des niveaux, une étape de transmission du bloc de données numéroté au pair identifié par cet identifiant. Dans le premier mode particulier de réalisation, cette caractéristique particulière permet de gérer le comportement d'un pair dont l'identifiant appartient à un niveau L complet, le niveau L-1 étant incomplet. Dans le deuxième mode particulier de réalisation, cette caractéristique particulière permet de gérer le comportement d'un pair dont l'identifiant appartient à un niveau L complet, le niveau L-1 étant complet ou incomplet, et le niveau L-2 étant vide. Dans un mode préféré de réalisation, l'autre règle de diffusion d'un bloc de données numéroté, comprend, lorsqu'une deuxième condition est satisfaite ; - une étape de détermination d'un identifiant dit identifiant de base, à partir dudit identifiant et du numéro dudit bloc ; - une étape de détermination de ladite liste ordonnée étendue à partir dudit identifiant de base et du numéro dudit bloc numéroté ; - une étape de recherche dudit identifiant dans ladite liste ordonnée étendue ; - une étape de détermination d'un pair destinataire identifié par le premier identifiant attribué suivant ledit identifiant dans ladite liste ordonnée étendue ; et - une étape de transmission dudit bloc audit pair destinataire. Cette caractéristique particulière permet de gérer le comportement d'un pair dont l'identifiant appartient au dernier niveau. Dans le premier mode particulier de réalisation, la deuxième condition est satisfaite lorsque le niveau L-1 est vide, le niveau L étant incomplet. Dans le deuxième mode particulier de réalisation, la deuxième condition est satisfaite lorsque le niveau L-1 est vide. Dans le premier mode particulier de réalisation, l'autre règle de diffusion d'un bloc de données numéroté, comprend, lorsque le niveau L-1 est vide, et lorsque le niveau de référence L est complet, est une règle comprenant les étapes suivantes : - une étape de détermination conformément à ladite règle générale, à partir du numéro dudit bloc numéroté et dudit identifiant, d'une quatrième liste ordonnée comportant les identifiants des pairs destinataires théoriques dudit bloc - et pour chacun desdits identifiants des destinataires théoriques pris dans l'ordre de ladite quatrième liste ordonnée, si ledit identifiant de destinataire théorique appartient audit niveau L-1, - une étape de détermination des récepteurs théoriques auxquels ledit destinataire théorique serait susceptible de transmettre ledit bloc numérot ; - une étape d'obtention, parmi lesdits récepteurs théoriques, du pair destinataire dont l'identifiant appartient au niveau de référence L ; et - une étape de transmission dudit bloc audit pair destinataire ; - et, lorsque ledit identifiant de destinataire théorique appartient au niveau L+1, une étape de transmission dudit bloc au pair identifié par cet identifiant, ledit niveau L+1 précédant le niveau de référence L dans l'ordre d'attribution des niveaux. Dans ce mode de réalisation, le pair se substitue à ses destinataires théoriques de niveau L-1 absents pour émettre les blocs de données vers les pairs destinataires de son propre niveau L. Dans un mode particulier de réalisation, les différentes étapes du procédé de communication de données et les différentes étapes du procédé de contrôle selon l'invention sont déterminées par des instructions de programmes d'ordinateurs. En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre par un ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre des étapes du procédé de communication de données tel que mentionné ci-dessus. De même, l'invention vise également un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre par un ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre des étapes du procédé de contrôle tel que mentionné ci-dessus. Ces programmes peuvent utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous en référence aux dessins qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures : - la figure 1 représente des niveaux d'identifiants de pairs dans un réseau de dimension 4, conformément à un mode particulier de réalisation de l'invention ; - les figures 2 et 3 représentent deux exemples d'ordres d'attribution des niveaux de la figure 1 selon un mode particulier de réalisation de l'invention ; - les figures 4 et 5 représentent, sous forme d'organigramme, les principales étapes d'un procédé de contrôle, mis en oeuvre par une unité de gestion conforme à un mode particulier de réalisation de l'invention ; - la figure 6 représente un changement de dimension de réseau effectué par une unité de gestion conformément à un mode particulier de réalisation de l'invention ; - les figures 7 et 8 représentent, sous forme d'organigramme, les principales étapes d'un procédé de communication de données, mis en oeuvre par un dispositif de communication de données selon un premier mode particulier de réalisation de l'invention ; - les figures 9 et 10 représentent, sous forme d'organigramme, les principales étapes d'un procédé de communication de données, mis en oeuvre par un dispositif de communication de données selon un deuxième mode particulier de réalisation de l'invention ; - la figure 11 représente un exemple d'obtention de liste ordonnée étendue conformément à un mode particulier de réalisation de l'invention ; - la figure 12 représente un pair comportant un dispositif de communication de données conforme à un mode particulier de réalisation de l'invention ; et - la figure 13 représente une unité de gestion conforme à un mode particulier de réalisation de l'invention. Description détaillée d'un premier mode de réalisation de l'invention Nous allons maintenant décrire une unité de gestion 10 et un pair Pi conformes à un premier mode de réalisation de l'invention. On rappelle que l'invention se situe dans le contexte d'un réseau de N pairs, ce réseau étant organisé en niveaux ordonnés. La figure 1 représente, dans un réseau de dimension 4, quatre niveaux d'identifiants, ces niveaux L3, L2, L1, LO étant ordonnés dans l'ordre décroissant du nombre de « 0 » dans leurs identifiants. Conformément au mode particulier de réalisation de l'invention décrit ici, les identifiants des pairs sont attribués par l'unité de gestion 10, par ordre de niveau décroissant, et pris dans un ordre quelconque au sein d'un même niveau. Les figures 2 et 3 sont deux exemples d'ordres d'attribution. La figure 13 représente une unité de gestion 10 conforme à une mode particulier de réalisation. Dans le mode de réalisation décrit ici, cette unité de gestion 10 a l'architecture matérielle d'un ordinateur. Elle comporte un processeur 11, une mémoire morte 12, une mémoire vive 13, une mémoire non volatile réinscriptible 14 et des moyens de communication 15 avec les pairs du réseau. La mémoire morte 12 constitue un support conforme à l'invention, lisible par le processeur 11 et sur lequel est enregistré un programme d'ordinateur PGM2 comprenant des instructions pour l'exécution des étapes d'un procédé de contrôle selon l'invention dont les principales étapes seront décrites en référence aux figures 4 à 6. La mémoire morte 12 mémorise aussi un élément binaire b0, en l'espèce le bit « 0 », ce bit étant utilisé par l'unité de gestion 10 pour construire les identifiants des pairs comme décrit à la figure 1. La mémoire non volatile réinscriptible 14 comporte un registre pour mémoriser la dimension n du réseau. Cette dimension n doit respecter l'inégalité N On rappelle que les voisins d'un pair sont les destinataires théoriques présents auquel ce pair est susceptible d'envoyer un bloc de données. Dans ce premier mode de réalisation, l'unité de gestion 10 est apte à envoyer, au cours d'une étape G50, à chacun des pairs présents PPi, son identifiant IDi, et des informations permettant à ce pair PPi de déterminer si le niveau de référence L auquel appartient son identifiant IDi est complet, et si le niveau L-1 suivant ce niveau de référence dans l'ordre des niveaux est vide ou complet. Ces informations peuvent par exemple être constituées par le nombre total de niveaux dans lesquels des identifiants ont été attribués ainsi que le dernier niveau complet. L'unité de gestion 10 est en outre apte à envoyer, au cours d'une étape G60, à chacun des pairs présents PPi, l'identifiant et l'adresse de chacun de ses voisins. 3.1 Fonctionnement général de l'unité de gestion Dans le premier mode de réalisation décrit ici, l'unité de gestion 10 selon l'invention est apte à détecter un certain nombre d'événements impactant le réseau aux étapes G70 ou G110 qui seront décrites ci-dessous. Lorsqu'un événement est détecté, l'unité de gestion détermine, au cours d'une étape G90 ou G130, d'éventuels pairs Pj à identifier et le cas échéant, l'identifiant de ces pairs, ces identifiants étant choisis (étape G200) dans un niveau dit d'attribution Lk déterminé à l'étape G80 ou G120. En référence à la figure 5, au cours d'une étape G210, l'unité de gestion détermine ensuite quels sont les pairs Pq à notifier suite à l'événement détecté. L'unité de gestion 10 envoie ensuite (étape G220) à chacun des pairs à identifier, le nouvel identifiant IDj de ce pair, l'identifiant et l'adresse de chacun de ses voisins, et des informations lui permettant de déterminer si le niveau de référence L auquel appartient son identifiant est complet, et si le niveau L-1 suivant ce niveau de référence dans l'ordre des niveaux est vide ou complet. Puis l'unité de gestion envoie (étape G230) à chacun des pairs Pq à notifier, des informations lui permettant de déterminer, si le niveau de référence L auquel appartient son identifiant est complet, et si le niveau L-1 suivant ce niveau de référence dans l'ordre des niveaux est vide ou complet. L'identifiant des pairs à notifier n'est pas modifié. Dans ce premier mode de réalisation, il n'est pas nécessaire que l'unité de gestion 10 envoie des informations aux pairs Pj et Pq leur permettant de déterminer si leur niveau L-2 est vide, ce qui explique pourquoi cette référence est placée entre parenthèses aux étapes G220, G230. Conformément à l'invention, la détermination du niveau Lk d'attribution dans lequel les nouveaux identifiants sont choisis, les pairs à identifier et les pairs à notifier sont choisis en fonction de l'événement. 3.1.1 Gestion de l'arrivée d'un nouveau pair dans le réseau Dans le mode de réalisation décrit ici, si l'événement précité correspond à l'arrivée ARR d'un nouveau pair NPPi dans le réseau, un niveau au moins de ce réseau étant incomplet : - le niveau d'attribution Lk (étape G80) est le dernier niveau Lderatt dans lequel les identifiants ont été attribués si ce niveau n'est pas complet, ou le niveau suivant Lderatt-1 ce dernier niveau si ce dernier niveau est complet ; - le nouveau pair NPPi est le seul pair Pj à identifier, avec un nouvel identifiant choisi dans le niveau d'attribution Lk ; et - les pairs Pq à notifier (étape G210) sont les voisins de ce nouveau pair, et les pairs du niveau d'attribution Lk et du niveau précédent Lk+1 si le niveau d'attribution a été complété par l'arrivée du nouveau pair. 3.1.2 Gestion du départ d'un pair du réseau Dans le mode de réalisation décrit ici, si l'événement précité correspond au départ DEP d'un pair sortant PSj du réseau (étape G110), si l'identifiant de ce pair sortant appartient au dernier niveau Lderatt dans lequel les identifiants ont été attribués, aucun pair n'est à identifier, et l'identifiant du pair sortant devient disponible. En revanche, si l'identifiant du pair sortant n'appartient pas au dernier niveau Lderatt dans lequel les identifiants ont été attribués : - le seul pair Pj à identifier (étape G130) est un pair quelconque du dernier niveau Lderatt, dit « pair remplaçant », ce pair remplaçant étant identifié par l'identifiant du pair sortant. L'identifiant du pair remplaçant devient disponible ; - les pairs Pq à notifier (étape G210) sont les voisins du pair sortant et du pair remplaçant et, si le dernier niveau Lderatt dans lequel les identifiants ont été attribués était complet avant le départ du pair sortant, les pairs de ce niveau Lderatt et du niveau Lderatt+1 précédent. 3.1.3 Communication d'adresse Dans le mode de réalisation décrit ici, le procédé de contrôle selon l'invention comporte en outre : - une étape G63 de réception d'une requête émise par un pair requérant pour obtenir l'adresse d'un autre pair identifié dans la requête ; et - une étape G65 d'obtention et d'envoi de cette adresse audit pair requérant. 3.1.4 Fusion de deux sous-réseaux Nous décrivons un réseau de diffusion de données comportant N pairs, basé sur un hypercube partiel, avec N Là encore, conformément à l'invention, chaque pair sait déterminer comment se comporter pendant la transition. Le changement de dimension peut consister en une augmentation de dimension, celle-ci s'appliquant à deux réseaux hypercubes partiels avec une différence de profondeur de un niveau. Le changement de dimension peut aussi consister en une diminution de la dimension dans le cas d'un seul hypercube partiel. On rappelle qu'une même source peut diffuser des blocs de données dans deux réseaux hypercubes. Selon la Règle 3, les n pairs du premier niveau n-1 doivent théoriquement envoyer un bloc au niveau supérieur, c'est à dire à la source. Puisque c'est superflu, chacun de ces pairs peut envoyer un bloc de données à son pair homologue au sommet d'un second hypercube et initier une autre propagation. Si de plus, ces pairs envoient ce bloc pendant le premier intervalle de temps après la réception du bloc émis par la source, les deux structures disséminent les blocs de données avec un intervalle de temps de décalage par rapport au cas de la structure unique. On se place maintenant dans ce contexte. Dans un mode de réalisation de l'invention illustré à la figure 6, le procédé de contrôle selon l'invention permet de construire le réseau de pair HO de dimension n par fusion d'un premier sous-réseau H1, et d'un deuxième sous-réseau H2, tous les deux de dimension n-1, le premier sous-réseau H1 ayant un niveau complet de plus que le deuxième sous-réseau H2. Dans ce mode de réalisation, le niveau n-1 du réseau HO est constitué par : - les identifiants appartenant au niveau n-2 du premier sous-réseau H1, ces identifiants étant complétés, dans une position dite d'insertion, par un bit « 0 » ; et par - un identifiant pivot dont l'identifiant est constitué par n-1 bits « 0 » complétés, dans la position d'insertion par l'élément binaire « 1 ». Dans ce mode de réalisation, l'identifiant pivot est attribué à un pair dit « pair pivot » choisi prioritairement dans un niveau incomplet si le dernier niveau des identifiants attribués d'au moins un des deux sous-réseaux H1, H2 est incomplet, et sinon, dans de ces deux derniers niveaux. Dans le mode de réalisation décrit ici, chacun des autres niveaux Lw d'ordre W dudit réseau HO est constitué par : - les identifiants du niveau d'ordre W-1 du premier sous-réseau H1, ces identifiants étant complétés, dans la position d'insertion, par le bit « 0 » ; et par - les identifiants du même niveau d'ordre W du deuxième sous-réseau H2, ces identifiants étant complétés, dans la position d'insertion, par le bit « 1 ». Inversement, dans un mode particulier de réalisation, l'unité de gestion 10 selon l'invention est apte à appliquer le mécanisme inverse pour séparer le réseau HO en deux sous-réseaux H1, H2 de dimension n-1, le premier sous réseau ayant un niveau incomplet de plus que le deuxième sous réseau. Plus précisément, pour tout niveau I tel que 10+1 Dans un mode particulier de réalisation, la dimension n du réseau est choisie par l'unité de gestion en fonction du nombre N de pairs présents dans le réseau de telle sorte que le nombre de niveaux attribués est égal à n/2. En gardant une taille limitée pour la profondeur k des réseaux linéaires, et des demi-hypercubes, on obtient à la fois des délais de propagation et des délais de transmission courts. On effet, on note que les hypercubes partiels avec un nombre de niveaux égal à n/2 ont des propriétés intéressantes en terme de performance, comme démontré ci-dessous. On suppose qu'il existe un niveau I incomplet avec I = (n/2) - 1 Cette valeur maximise C(n-1, I)n à savoir la taille du premier sous-niveau, égale dans ce cas à C(n-1, n/2 - 1). Elle permet de stocker le nombre maximum de pairs pour un nombre k donné de sous-niveaux, en gardant des délais faibles. Comme I On suppose qu'il existe k de ces sous-niveaux et on obtient que pour un hypercube incomplet de profondeur I = (n/2) -1, le délai maximum en terme de temps de transmission est n+k-1 (5) et en terme de délai total de propagation ((n/2) + k + 2) (6) En gardant une taille limitée pour la profondeur k des réseaux linéaires, et des demi-hypercubes, on obtient à la fois des délais de propagation et des délais de transmission courts. 3.2 Fonctionnement général d'un pair du réseau On décrit maintenant le comportement d'un pair Pi du réseau NW dans un premier mode de réalisation. Ce pair comporte un dispositif 100 de communication de données numériques diffusées sous forme de blocs numérotés BK. Ce dispositif 100 est conforme à un mode particulier de réalisation de l'invention. Il met en oeuvre le procédé de communication de la figure 7. Ses moyens 115 de communication sont aptes à obtenir ou à recevoir, au cours d'une étape P10, la dimension n du réseau et un identifiant unique IDi destiné à identifier ce pair. Le processeur 111 est apte à obtenir l'élément binaire b0 au cours d'une étape P10 et à déterminer, au cours d'une étape P20 le niveau L de référence auquel appartient son identifiant IDi. Ses moyens 115 de communication lui permettent de recevoir, au cours d'une étape P30 des informations lui permettant de déterminer si ce niveau de référence L est complet et si le niveau L-1 suivant ce niveau de référence est complet ou vide. Le processeur 111 permet au pair Pi de déterminer (étapes P50, P60) une règle de diffusion des données dans le réseau à partir de ces informations. Dans ce premier mode de réalisation, cette règle est la règle R des hypercubes complets de niveau n si le niveau L-1 est complet, dans tous les autres cas, une autre règle R1, R21 ou R22 déterminée en tenant compte des informations reçues à l'étape P30. Plus précisément, dans ce mode de réalisation, la règle R1 est choisie si le pair appartient à un niveau L complet, le niveau L-1 étant vide. Cette règle est détaillée ci- dessous. 3.2.1 Règle R1 On considère d'abord une réalisation possible dans le cas où la population est telle que le dernier niveau d'attribution est complet, ce qui signifie qu'il y a suffisamment de pairs présents pour utiliser tous les identifiants dans ce dernier niveau. On utilise alors la règle de routage suivante : Règle 5 : Dans un groupe de pairs incomplet avec un dernier niveau I complet et un niveau 1-1 vide, lorsque le pair destinataire théorique est absent, le pair émetteur envoie son bloc de données au seul pair du niveau I auquel le pair destinataire théorique l'aurait envoyé d'après la règle générale. Proposition 6 : Dans un groupe de pairs incomplet avec un dernier niveau I complet et un niveau I-1 vide, si le routage est effectué en appliquant la Règle 3 et la Règle 5, tous les pairs reçoivent les blocs de données à temps. Cela garantit que le délai total de diffusion (en l'absence de délai de propagation) est de n intervalles de temps. En effet, les blocs de données sont propagés correctement et dans les temps. Soit b un pair de niveau I supposé recevoir un bloc d'un pair d'identifiant b' de niveau 1-1 dans un groupe complet de pairs ; b' est inutilisé. Puisque b' envoie son bloc de données au niveau supérieur, b ne retransmet pas son bloc. Cette transmission ne peut donc en aucun cas induire de retard. Soit b" le pair qui aurait envoyé le bloc de données à b', b" étant au niveau I. Lorsque b" essaie d'envoyer son bloc à b', il détermine que l'identifiant b' n'est pas attribué, et il envoie le bloc au dernier destinataire de b' soit b. b reçoit donc tous ses blocs de données, et b est l'unique destination de transmission pour le pair b" dans l'intervalle de temps. Dans cette démonstration : b est un récepteur théorique au sens de l'invention ; - b' est le destinataire théorique absent au sens de l'invention ; et b" est le pair qui met en oeuvre l'invention. Une implémentation possible de la règle R1 correspond aux étapes P500 à P560 de la figure 8. Dans ce mode de réalisation, cette règle comporte plus précisément une étape P500 de détermination conformément à la règle R générale, à partir du numéro K d'un bloc numéroté BK et de l'identifiant IDi du pair mettant en oeuvre l'invention, d'une liste ordonnée LO4 comportant les identifiants IDTij des pairs destinataires théoriques de ce bloc BK. ; Puis, pour chacun des identifiants IDTij des destinataires théoriques pris dans l'ordre de la liste ordonnée L04, on teste au cours d'une étape P550 si cet identifiant IDTij appartient au niveau L-1. Si c'est le cas, la règle R1 comporte une étape P510 de détermination des récepteurs théoriques RTKi auxquels le destinataire théorique serait susceptible de transmettre le bloc numéroté BK. Au cours d'une étape P520, le pair mettant en oeuvre l'invention obtient, parmi les récepteurs théoriques RTKi, le pair destinataire PD dont l'identifiant appartient au niveau L. Le bloc est ensuite transmis à ce pair destinataire PD au cours d'une étape P390. L'étape de transmission du bloc à ce pair comprend une sous-étape d'obtention de l'adresse du pair, suivie par une émission du bloc de données vers cette adresse. L'obtention de l'adresse du pair peut consister, par exemple, en l'émission d'une requête contenant l'identifiant du pair destinataire vers l'unité de gestion. L'unité de gestion reçoit cette requête au cours d'une étape G63 et envoie, au cours d'une étape G65, un message contenant l'adresse du paire identifié dans la requête. Le pair mettant en oeuvre l'invention reçoit le message contenant l'adresse du pair destinataire. Alternativement, l'adresse du paire destinataire peut être envoyée par l'unité de gestion lors d'une étape G60 d'envoi à chacun des pairs présents, de l'identifiant et de l'adresse de chacun de ses voisins, ou lors d'une étape G220 d'envoi à chacun des pairs Pj à identifier suite à la détection d'un événement, de l'identifiant et de l'adresse de chacun de ses voisins. Cette adresse est reçue par le pair mettant en oeuvre l'invention lors d'une étape P25 et peut être mémorisée ensuite dans la mémoire non-volatile réinscriptible 114. L'adresse du pair destinataire peut être obtenue par lecture dans cette mémoire non-volatile réinscriptible. Lorsqu'il est déterminé à l'étape P550 que l'identifiant IDTij de destinataire théorique appartient au niveau L+l, le bloc BK est transmis au pair identifié par l'identifiant IDTij. 3.2.2 Dernier niveau incomplet comportant au maximum C(n-1, I) pairs La proposition 6 ne s'applique pas lorsque le dernier niveau I est incomplet. La Règle 5 permet aux pairs de niveau I de rebondir sur les pairs absents de niveau 1-1 et de transmettre un bloc aux pairs de niveau I. Mais lorsque le niveau I est incomplet, il peut se produire une transmission vers un pair absent, soit une transmission perdue. Comme, toutes les transmissions doivent être utiles dans chacun des intervalles de temps, certains blocs de données nécessaires n'atteindront pas des destinataires. Dans le mode de réalisation décrit ici, on utilise une structure de diffusion qui utilise les relations des coefficients binomiaux. Un niveau I est composé de toutes les combinaisons binaires de longueur n comprenant I « 0 ». Il y en a C(n, I). Le niveau I doit recevoir n.C(n, I) blocs de données de ses voisins. Selon la proposition 4 : n.C(n, I) = (1+1).C(n, 1+1) + (n-1+1).C(n, l-1). Cette relation permet d'identifier le saut suivant. Proposition 7 : Le nombre maximum de pairs dans un niveau I incomplet qui peuvent recevoir leurs blocs de données uniquement du niveau supérieur est : x = (1+1).C(n, l+1)/n = C(n-1, I). On considère C(n-1, I) pairs ou moins dans un niveau I incomplet. Ces pairs sont dits appartenir à un premier sous-niveau. On peut démontrer comment tous les pairs de ce premier sous-niveau I peuvent recevoir tous les blocs de données du niveau 1+1. Il y a au plus C(n-1, I) pairs dans ce sous-niveau. Ils peuvent être représentés sur n-1 bits dn_l...d1 dans lesquels I sont égaux à « 0 ». Pour trouver, l'émetteur du bloc de données k au pair A identifié dn_1...d1 on considère le pair fictif Bk de niveau I, dans un système de niveau I complet avec l'identifiant dn_1...dkldk_l...dl obtenu en insérant un 1 en position k dans l'identifiant de A de longueur n-1 (voir Table II). Pair Position du bit n n-1 ... k+l k k-1 ... 1 A dn-1 dk+1 dk dk-1 ... dl Bk dn-1 ... ... dk 1 dk-1 ... dl Étant donné que Bk a un 1 en position k, il retransmet le bloc k. Il reçoit donc (lorsqu'il est présent) le bloc k d'un unique pair Ck du niveau supérieur 1+1. Puis Ck transmet ce bloc au pair A. Cela définit un ancêtre unique pour chaque bloc et chaque pair dans le premier sous-niveau. Or, il n'est pas nécessaire que chaque pair du niveau 1+1 transmette plus de 1+1 blocs au premier sous-niveau. En effet, considérons un pair C de niveau 1+1 qui transmet le bloc k à l'instant i au niveau I. L'identifiant de C possède un 1 en position k et des « 0 » de la position k-1 à la position i dn 1...dk+lldk_l...d;+lOdi_l ...dl (avec d;=0 pour j de k-1 à i+1). 30 Donc à l'instant i, le pair C transmet le bloc k à l'unique pair du sous-niveau I d'identifiant de longueur n-1 dn...dk+ldk-l...d;+11d,-1 ...d1. On peut en déduire la règle de routage suivante ; Règle 6 : Dans un groupe de pairs incomplet, un pair du dernier niveau 1+1 complet route un paquet comme décrit précédemment, si le pair A correspondant est présent au niveau inférieur I. Pour tout pair dans le premier sous niveau d'un niveau I incomplet, n opportunités de transmission ont été utilisées par les pairs du niveau 1+1 qui auraient du être adressées aux autres pairs du niveau 1+1. Donc chaque pair présent dans le premier sous-niveau (ou éventuellement ses descendants) doit transmettre n blocs de données aux pairs qui ne les ont pas reçus. Pour identifier quels blocs de données à retourner à quels pairs, on procède de la façon suivante. Soit d~_1...d1 l'identifiant de longueur n-1 d'un pair A au premier sous-niveau. A ce pair A on peut associer n pairs Bk en insérant un « 1 » entre dk+l et dk dans l'identifiant de A pour k allant de 1 à n. de...dk+lldk-1...d1 Pour chaque pair Bk, A ou l'un de ses descendants doit transmettre le bloc de données k au pair Dk d'identifiant dn...dk+l0dk-l...dl. Dk est le pair à qui Ck aurait envoyé le bloc k si A n'avait pas été présent. Cela définit une bijection entre les blocs qui n'ont pas été reçus au niveau 1+1 (du niveau 1+1) à cause de la présence de A au niveau I incomplet et les blocs retransmis par le pair A (ou l'un de ses descendants) au niveau I+l. Ceci se résume dans la règle de routage et dans la proposition suivante. Règle 7 : Dans un groupe de pairs incomplet, un pair du dernier niveau I incomplet (ou ses descendants) renvoie les blocs de données aux pairs de niveau 1+1 comme il vient d'être décrit. Proposition 8 : Dans un groupe de pairs incomplet, avec un dernier niveau I incomplet, si les pairs sont routés suivant les règles 3, 5, 6, et 7, tous les pairs reçoivent leurs blocs de données. Le premier sous-niveau peut être interprété comme le maximum de C(n-1, I) source virtuelles étant donné que les pairs de ce niveau ne s'appuient pas sur des pairs de niveau équivalent ou inférieur pour recevoir leurs blocs de données. Ces sources virtuelles peuvent avoir à diffuser leurs blocs aux éventuels autres pairs du niveau 1 incomplet. Si ces sources génèrent des sous-réseaux linéaires, le délai de ces sous-réseaux croit linéairement avec leurs tailles. Ces sources peuvent aussi générer de nouveaux réseaux partiels (hypercubes). En tout état de cause, le niveau supérieur 1+1 requiert que lui soient retransmis C(n, 1+1) blocs depuis ce niveau incomplet. Une organisation possible d'un niveau incomplet dans un réseau linéaire est présentée infra. Toutefois cette organisation peut mener à un nombre total de retransmissions d'un bloc (depuis son émission initiale) qui est sous-optimale. Il en résultera des délais et des retards, dans le cas de la diffusion d'un flux vidéo, qui peuvent être désagréables pour les utilisateurs. Nous présenterons plus loin comment le dernier niveau non vide peut être organisé pour que la diffusion des blocs dans le réseau soit optimale, c'est-à-dire obtenue en moins de [log2(N)] retransmissions depuis l'émission initiale, quel que soit le taux de remplissage de ce niveau. 3.2.3. Topologie linéaire de niveau I incomplet On se place dans le cas où les pairs de niveau I restants sont organisés en réseaux linéaires prenant leurs origines dans des sources d'un premier sous-niveau. Dans un réseau linéaire, chaque pair, mis à part la source, a un ancêtre unique. Chaque pair reçoit tous ses blocs de données de son ancêtre. On peut définir des sous-niveaux successifs dépendant de la distance, en nombre de sauts, en partant du premier sous-niveau. Le dernier descendant dans un réseau linéaire a la responsabilité de transmettre les blocs de données qu'il a reçu aux voisins d'une source virtuelle de niveau 1+1, comme défini dans la Règle 7. Dans un mode particulier de réalisation un pair appartenant à un réseau linéaire se voit attribué un identifiant comportant deux composantes. Une première composante identique à l'identifiant sur n-1 bits à l'origine du réseau linaire auquel il appartient. Et une deuxième composante numérique incrémentée de la valeur « un » à chaque rajout d'un pair dans le réseau linéaire. Pour chaque bloc de donnée numéroté k, les pairs appartenant à un réseau linéaire et le pair du niveau I+1 auquel le dernier pair du réseau linéaire doit retransmettre le bloc k forment une liste ordonnée LOE, telle que décrite dans la figure 11, générée à partir d'un numéro de bloc k et d'un identifiant générateur obtenu en plaçant le bit « 1 » en position « k » dans l'identifiant à l'origine du réseau linéaire. Ce mode de réalisation des listes de diffusion LOE dans un dernier niveau non vide du réseau présente un caractère de simplicité extrême en terme de gestion du réseau lors des arrivées et des départs de pairs. Par contre, comme nous allons le montrer, il aboutit à des délais sous-optimaux. Nous montrons dans la suite une méthode alternative de réalistion des listes LOE, plus complexe à gérer, mais optimale en termes de nombre de retransmissions avant réception finales d'un bloc. Il peut être nécessaire d'ajouter plusieurs sous-niveaux avant d'obtenir C(n, I) pairs présents pour former un niveau I complet. La profondeur maximum de ces réseaux linéaires avant que ce nombre soit atteint est bornée comme mentionné dans la proposition suivante. Proposition 9 : Un niveau incomplet I peut être décomposé dans un nombre n/n-I maximum de réseaux, chacun de taille C(n-1, I), à l'exception du dernier sous-niveau. En effet, le niveau I étant incomplet, il est composé de moins de C(n, I) pairs. Ceux-ci peuvent être distribués sur C(n-1, I) possibles réseaux linéaires. Chacun a donc une longueur maximum C(n, I) / C(n-1, I) = n / (n-l) Ce rapport décroit de n à 1 lorsque I varie de n-1 à 0. Pour I dans [0 ; n-1], ce rapport est inférieur ou égal à 1+1, car : (n/n-l) IZ - (n-1).l Notons que l'on ré-obtient un délai n si k=1 et seulement un délai n+1 si k=2. De la même façon, les blocs de données reçus au niveau 1+1 depuis le niveau supérieur ont subi un délai total de propagation de (n-1).D Les blocs de données peuvent ensuite subir un délai maximum de kD à travers le sous-réseau linéaire et un délai D pour retourner à leur pair de destination au niveau 1+1, soit un délai maximum total : (n-I+k+1).D 3.2.4 Règles 21 et 22 De retour à l'étape P30, dans le premier mode de réalisation, une règle R21 est choisie si le niveau L-1 est non vide, ce qui signifie que le pair mettant en oeuvre l'invention ne se situe pas sur le dernier niveau où les identifiants ont été attribués ; - une règle R22 est choisie si le niveau L-1 est vide, le niveau L n'étant pas complet. Chacune de ces règles R21, R22 utilise une routine pour obtenir une liste ordonnée étendue LOE dont l'obtention va maintenant être décrite en référence à la figure 11. 3.2.4.1 Liste ordonnée étendue LOE D'une façon générale, la liste LOE est obtenue à partir d'un identifiant générateur IDGj et d'un bloc BK de données numéroté K. Au cours d'une étape P600, on détermine un niveau d'ordre G, dit niveau générateur, auquel appartient cet identifiant générateur IDGj. Puis, au cours de la même étape P600, on détermine une liste ordonnée L01jk comportant une partie seulement des identifiants appartenant au niveau générateur G à partir de l'identifiant générateur IDGj et du numéro K dudit bloc numéroté BK. Au cours d'une étape P610, on détermine une liste LDTjk des destinataires théoriques du bloc BK, auxquels le pair identifié par l'identifiant générateur IDGj serait susceptible de transmettre ledit bloc numéroté BK selon ladite règle générale R. Puis, au cours d'une étape P620, on obtient, dans ladite liste LDTjk des destinataires théoriques, le pair dont l'identifiant IDE appartient au niveau G+1, dit identifiant d'extension. La liste ordonnée étendue LOE est obtenue, au cours d'une étape P630, en ajoutant l'identifiant IDE d'extension en dernière position dans la première liste ordonnée LO1jk. 3.2.4.2 Construction de la liste ordonnée étendue LOE dans un exemple On considère le dernier niveau L du réseau. Il peut être incomplet ou complet. Ce niveau contient au maximum C(n,L) pairs. Ces pairs peuvent être classifiés en 1+1 sous-niveaux : C(n,L) = C(n-1,L) + C(n-2, L-1) + ... + C(n-L-1, 0). Dans ce mode de réalisation, le premier sous-niveau comprend les pairs avec un bit à « 1 » à droite, suivi de n-1 bits à gauche, dont L bits à « 0 ». Le deuxième sous-niveau comprend les pairs avec les deux bits les plus à droite à «10» à droite, suivi de n-2 bits à gauche, dont (L -1) bits à « 0 », et ainsi de suite jusqu'au dernier sous-niveau composé du seul pair avec L bits à « 0 » à droite suivis d'un bit à « 1 », suivi de (n - L - 1) bits sans « 0 » à gauche. On appelle « séquence de fin » (« trailer » en anglais) les bits à droite qui caractérisent un sous-ensemble. Pour déterminer comment un pair 'A' appartenant à un sous-niveau du niveau L reçoit les blocs de données, on doit chercher ses ascendants dans le niveau L+1. On considère les bits qui composent une « séquence de fin », une telle séquence étant composée d'un nombre de « 0 » (ce nombre pouvant être nul) suivi d'un bit à « 1 » à gauche. Cette 'séquence de fin' est décalée dans l'identifiant du pair 'A'. Il existe n possibilités de décalage de la 'séquence de fin', et pour chaque possibilité le bit à « 1 » de la séquence prend une position différente dans l'identifiant de niveau n résultant. L'identifiant résultant du décalage plaçant le bit à « 1 » de la séquence de fin en une position k est I« procédé. Par exemple l'identifiant '10011' lorsqu'on place le '1' de sa 'séquence de fin '1" en position 4 donne l'identifiant '11001', a le même ascendant Ak pour le le bloc de numéro 4. L'ensemble des pairs ayant un même identifiant de base, j, pour un bloc de numéro k peuvent être regroupés dans une liste LO1jk. Ainsi à tout destinataire j d'un bloc Bk provenant d'un niveau supérieur d'après la règle générale, on peut associer une liste LOljk d'identifiants dans le même niveau que le destinataire. Cette association est biunivoque. Par ailleurs, tout pair A, pour tout bloc k, appartient à une et une seule liste LOIjk qui peut être obtenue à partir de l'identifiant de base de A pour le bloc k. Cette liste peut être ordonnée, ce qui définit un processus de diffusion du bloc Bk parmi les pairs de la liste. Cet ordre est arbitraire, mais on peut établir une règle pour ordonner de façon systématique les identifiants dans la liste. Une règle possible est d'ordonner les identifiants suivant la longueur décroissante de la taille de leur `séquence de fin'. Ceci est illustré dans les séquences présentées à titre d'exemple dans la Table IV. Tout destinataire j d'un bloc Bk provenant d'un niveau supérieur doit retransmettre ce bloc vers un destinataire ji unique dans le niveau supérieur d'après la règle générale. Ainsi à tout destinataire j d'un bloc Bk provenant d'un niveau supérieur, on peut associer une liste étendue ordonnée LOE d'identifiants égale à la liste LOljk à laquelle on a rajouté en fin de liste l'identifiant jl. Ainsi les listes LOE, obtenues à partir d'identifiants de base d'un niveau L et de numéros de bloc k, définissent une règle possible, R22, de retransmission d'un bloc k par les pairs du niveau L. La table III représente les ascendants et descendants pour chaque bloc de données échangé par le pair ' 10110' dont la séquence de fin est « 10 ». Bloc de données 1 2 3 4 5 ascendantI + 1 00011 00110 10100 11000 10001 ascendant direct - 11001 - pair 10110 01011 10110 10101 11001 10101 descendant direct 01011 10110 10101 11001 10101 descendantI + 1 01010 10100 10001 10001 00101 Table III La table IV représente comment le pair '10001' appartenant au niveau 3 de référence choisit ses descendants appelés 'pairs destinataires' PD pour chaque bloc de données dans le dernier niveau non vide, soit L = 2 dans cet exemple. Dans cet exemple on crée autant de listes ordonnées LOE que de destinataires du pair '10001' dans le niveau suivant d'après la règle générale. Pour chaque un intervalle de temps donné représenté par un '0' dans son identifiant, le pair '10001' possède un destinataire j dans le niveau inférieur, auquel on associe une liste LOE comme suit : Intervalle de temps 2 3 4 Bloc de données 5 5 5 Destinataire théorique 10011 10101 11001 ler choix 11100 10110 10011 2ème choix 01110 01011 01001 3ème choix 00111 00101 - 4ème choix 00011 - Table IV Dans cet exemple, le pair '10001' envoie le bloc k, initialement destiné à un pair j dans le niveau suivant d'après la règle générale, au premier pair présent dans la liste ordonnée LOE. Il existe au moins un tel pair présent car le dernier identifiant dans la liste LOE appartient au même niveau que '10001' qui est nécessairement complet car suivi d'un niveau non vide. Un pair Pi dans le dernier niveau, recevant un bloc numéroté k, recherchera à quelle liste LOE il appartient. Il transmettra le bloc au prochain pair présent dans la liste. Ainsi l'ensemble des listes LOE définissent un processus de diffusion des blocs dans le dernier niveau non vide, tel que tout pair présent dans ce niveau reçoit tous les blocs quelques soient les pairs présents ou non dans le niveau. De plus ces listes assurent que les pairs du niveau précédent le dernier niveau recevront du niveau inférieur les blocs qu'ils n'ont pas reçu du niveau supérieur et qu'il leur manque pour compléter leurs séquences de blocs. L'ensemble des listes LOE permettent aussi aux pairs du niveau supérieur, L+1, de déterminer vers quels pairs ils doivent transmettre un bloc numéroté k lorsque cette transmission doit se faire vers le niveau L suivant la règle général. Un tel pair A' du niveau L+1, devant transmettre le bloc k à un pair A" du niveau L, détermine la liste LOE tel que le ferait un pair du niveau L si A" était son identifiant de base pour le bloc k. Le pair A' transmet alors le bloc k au premier pair présent dans la liste LOE. Ceci montre comment obtenir la liste LOE pour la règle 21 ci-dessous. La règle de constitution des listes LOE et la diffusion des blocs à l'intérieur de ces listes assurent qu'au pire des cas les blocs diffusés suivant ces listes seront reçus après un nombre total de transmissions inférieur à rlog2(N)1 depuis leur émission par la source, où [log2(N)1 est le premier entier supérieur ou égal au logarithme en base « 2 » de N. Cette borne étant respectée si la dimension « n » du réseau est choisie telle que 2' 1 3.2.5 Règle R21 Dans le premier mode de réalisation décrit ici, la règle R21 comprend une étape P310 de détermination, conformément à la règle R générale, à partir du numéro K du bloc BK et de l'identifiant IDi, du pair mettant en oeuvre l'invention d'une liste ordonnée LO3 comportant les identifiants IDTij des pairs destinataires théoriques du bloc BK. Puis, pour chacun des identifiants IDTij des destinataires théoriques pris dans l'ordre de cette liste ordonnée LO3, on teste, au cours d'une étape P320, si cet identifiant IDTij appartient au niveau L-1. Si c'est le cas, la règle R21 comporte une étape P360 de détermination de la liste ordonnée étendue LOE, comme décrit précédemment en référence à la figure 11, à partir de l'identifiant IDTij de destinataire théorique et du numéro K du bloc numéroté BK. Au cours d'une étape P370, la règle R21 permet d'obtenir un pair destinataire PD identifié par le premier identifiant attribué A3 dans la liste ordonnée étendue LOE. Le bloc est transmis à ce pair destinataire PD au cours d'une étape P390. L'étape de transmission du bloc à ce pair comprend une sous-étape d'obtention de l'adresse du pair, suivie par une émission du bloc de données vers cette adresse. L'obtention de l'adresse du pair peut consister, par exemple, en l'émission d'une requête contenant l'identifiant du pair destinataire vers l'unité de gestion. L'unité de gestion reçoit cette requête au cours d'une étape G63 et envoie, au cours d'une étape G65, un message contenant l'adresse du paire identifié dans la requête. Le pair mettant en oeuvre l'invention reçoit le message contenant l'adresse du pair destinataire. Alternativement, l'adresse du paire destinataire peut être envoyée par l'unité de gestion lors d'une étape G60 d'envoi à chacun des pairs présents, de l'identifiant et de l'adresse de chacun de ses voisins, ou lors d'une étape G220 d'envoi à chacun des pairs à identifier suite à la détection d'un événement, de l'identifiant et de l'adresse de chacun de ses voisins. Cette adresse est reçue par le pair mettant en oeuvre l'invention lors d'une étape P25 et peut être mémorisée ensuite dans une mémoire non-volatile réinscriptible. L'adresse du pair destinataire peut être obtenue par lecture dans cette mémoire non-volatile réinscriptible. Lorsqu'il est déterminé à l'étape P320 que l'identifiant IDTij de destinataire théorique appartient au niveau L+1, le bloc est transmis, au cours d'une étape P390, au pair destinataire identifié par cet identifiant IDTij. L'étape de transmission du bloc à ce pair comprend une sous-étape d'obtention de l'adresse du pair, suivie par une émission du bloc de données vers cette adresse. L'obtention de l'adresse du pair peut consister, par exemple, en l'émission d'une requête contenant l'identifiant du pair destinataire vers l'unité de gestion. L'unité de gestion reçoit cette requête au cours d'une étape G63 et envoie, au cours d'une étape G65, un message contenant l'adresse du paire identifié dans la requête. Le pair mettant en oeuvre l'invention reçoit le message contenant l'adresse du pair destinataire. Alternativement, l'adresse du paire destinataire peut être envoyée par l'unité de gestion lors d'une étape G60 d'envoi à chacun des pairs présents, de l'identifiant et de l'adresse de chacun de ses voisins, ou lors d'une étape G220 d'envoi à chacun des pairs à identifier suite à la détection d'un événement, de l'identifiant et de l'adresse de chacun de ses voisins. Cette adresse est reçue par le pair mettant en oeuvre l'invention lors d'une étape P25 et peut être mémorisée ensuite dans une mémoire non-volatile réinscriptible. L'adresse du pair destinataire peut être obtenue par lecture dans cette mémoire non-volatile réinscriptible. 3.2.6 Règle R22 La règle R22 de diffusion d'un bloc BK de données numéroté s'applique si une deuxième condition est satisfaite. Dans le premier mode de réalisation décrit ici, cette deuxième condition est que le niveau de référence L auquel appartient le pair mettant en oeuvre l'invention est incomplet. Lorsque cette deuxième condition est satisfaite, la règle R22 comporte une étape P400 de détermination d'un identifiant IDBik dit identifiant de base, à partir de l'identifiant IDi du pair mettant en oeuvre l'invention et du numéro K du bloc BK. La règle R22 détermine ensuite, au cours d'une étape P410, la liste ordonnée étendue LOE, comme déjà décrit en référence à la figure 11 ; à partir de l'identifiant de base IDBik et du numéro K du bloc numéroté BK. Au cours d'une étape P420, la règle R22 recherche l'identifiant IDi du pair mettant en oeuvre l'invention dans la liste ordonnée étendue LOE. Puis, au cours d'une étape P420, la règle R22 permet de déterminer un pair destinataire PD identifié par le premier identifiant attribué A4 suivant l'identifiant IDi dans la liste ordonnée étendue LOE. Le bloc BK est transmis au pair destinataire PD au cours d'une étape P390. Description d'un deuxième mode de réalisation de l'invention 4.1 Fonctionnement de l'unité de gestion Dans ce deuxième mode de réalisation de l'invention, l'unité de gestion communique aux pairs présents à l'étape G50, en plus des informations permettant à ce pair présent de déterminer si le niveau de référence L est complet et si le niveau L-1 est complet ou vide, des informations permettant à ce pair présent de déterminer si le niveau L-2 est vide. Lorsqu'un événement est détecté, l'unité de gestion envoie aux étapes G220 et G230, aux pairs à notifier et aux pairs à identifier, en plus des informations décrites en référence au premier mode de réalisation, des d'informations permettant à ce pair de déterminer si le niveau L-2 est vide. Lorsque l'évènement est constitué par l'arrivée d'un nouveau pair NPPi dans le réseau, les pairs à notifier de cet événement à l'étape G220, sont, en plus de ceux décrits en référence au premier mode de réalisation, les pairs du niveau Lk+2, si l'identifiant dudit nouveau pair NPPi est le premier identifiant attribué dans son niveau. Lorsque l'évènement est constitué par le départ pair sortant du réseau, les pairs Pq à notifier à l'étape G230 comprennent, en plus de ceux décrits en référence au premier mode de réalisation, les pairs du niveau Lk+2 si l'identifiant du pair sortant PSj ou du pair remplaçant PR était le seul de son niveau. 4.2 Fonctionnement du pair 5 Le fonctionnement du pair dans ce deuxième mode de réalisation est décrit en référence aux figures 9 et 10. 10 Dans ce mode de réalisation, le pair doit recevoir, de l'unité de gestion, les informations lui permettant de déterminer si le niveau L est complet, si le niveau L-1 est complet ou vide, et si le niveau L-2 est vide. 15 Dans ce mode de réalisation, le pair utilise la règle générale R des hypercubes complets si le niveau L-2 n'est pas vide. Dans ce mode de réalisation, le pair mettant en oeuvre l'invention n'utilise jamais la règle R1. Il utilise la règle R21 si L-1 n'est pas vide (étape P100). 20 Il utilise la règle R22 si le niveau L-1 est vide. Dans ce mode de réalisation l'étape P190 de transmission du bloc de données au pair destinataire est similaire à l'étape P 390. L'étape P190 étape de transmission du bloc à ce pair comprend une sous-étape d'obtention de l'adresse du pair, suivie par une émission du bloc de données vers cette 25 adresse. L'obtention de l'adresse du pair peut consister, par exemple, en l'émission d'une requête contenant l'identifiant du pair destinataire vers l'unité de gestion. L'unité de gestion reçoit cette requête au cours d'une étape G63 et envoie, au cours d'une étape G65, un message contenant l'adresse du paire identifié dans la requête . 30 Le pair mettant en oeuvre l'invention reçoit le message contenant l'adresse du pair destinataire. Alternativement, l'adresse du paire destinataire peut être envoyée par l'unité de gestion lors d'une étape G60 d'envoi à chacun des pairs présents PPi, de l'identifiant et de l'adresse de chacun de ses voisins, ou lors d'une étape G220 d'envoi à chacun des pairs à identifier suite à la détection d'un événement, l'identifiant et l'adresse 35 de chacun de ses voisins. Cette adresse est reçue par le pair mettant en oeuvre l'invention lors d'une étape P26 et peut être mémorisée ensuite dans la mémoire non- Ces figures sont similaires aux figures 7 et 8 pour les étapes P100, P300, P110, P310, P120, P320, P130, P330, P160, P360, P170, P370, correspondant à la règle R21 et pour les étapes P200, P400, P210, P410, P220, P420, correspondant à la règle R22. volatile réinscriptible114. L'adresse du pair destinataire peut être obtenue par lecture dans cette mémoire non-volatile réinscriptible. 4.3 Implémentation matérielle Dans le deuxième mode de réalisation, l'architecture matérielle de l'unité de gestion et du pair est identique à celle décrite en référence aux figures 12 et 13. Seuls les programmes d'ordinateur PGM1 et PGM2 sont modifiés en ce qui concerne les étapes P11, P21, P26, P31, P41, P51, P61. REVENDICATIONS1. Procédé de communication de données (BK) mis en oeuvre par un pair (Pi) dans un réseau pair à pair, ce procédé comportant : - une étape (P10, P11) d'obtention d'un identifiant (IDi), comprenant des éléments binaires et destiné à identifier ledit pair (Pi) ; - une étape (P10, P11) d'obtention d'une dimension n dudit réseau, - une étape (P20, P21) de détermination d'un niveau de référence L auquel appartient ledit identifiant (IDi), un niveau (Lj) étant constitué par l'ensemble des identifiants de pair comprenant un nombre j d'un élément binaire prédéterminé (b0); - une étape (P25, P26, P30, P31) d'obtention d'informations permettant audit pair (Pi) de déterminer le caractère complet, vide ou incomplet du niveau de référence (L) et d'au moins un niveau suivant ledit niveau de référence dans un ordre prédéfini d'attribution des niveaux ; - une étape (P50, P51, P60, P61) de sélection à partir desdites informations d'une règle (R, R21, R22, R1) de diffusion des données (BK) dans ledit réseau à appliquer par ledit pair, ladite règle (R, R21, R22, R1) étant (P40, P41) : - la règle (R) des hypercubes complets de dimension n, dite « règle générale » Si une condition sur lesdites informations est satisfaite ; - une autre règle (R21, R22, R1) déterminée en tenant compte desdites informations dans tous les autres cas. 2. Procédé de communication de données (BK) selon la revendication 1 dans lequel : -lesdites informations permettent audit pair de déterminer si : - le niveau de référence L est complet ; et si - le niveau L-1, suivant le niveau de référence L dans l'ordre d'attribution des niveaux, est complet ou vide ; et si - le niveau L-2, suivant le niveau L-1 dans l'ordre d'attribution des niveaux, est vide ; - ladite condition étant satisfaite si ledit niveau L-2 n'est pas vide. 3. Procédé de communication de données (BK) selon la revendication 1 dans lequel : lesdites informations permettent audit pair de déterminer si : - le niveau de référence L est complet ; et si- le niveau L-1, suivant le niveau L dans l'ordre d'attribution des niveaux, est complet ou vide ; - ladite condition étant satisfaite si le niveau L-1 est complet. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que, lorsque ladite condition n'est pas satisfaite, ladite autre règle (R21,R22) utilise une liste ordonnée étendue (LOE) obtenue (P6) à partir d'un identifiant générateur (IDGj) et d'un bloc (BK) de données numéroté (K), par : - une étape (P600) de détermination d'un niveau d'ordre G, dit niveau générateur, auquel appartient ledit identifiant générateur (IDGj) ; - une étape (P600) de détermination d'une première liste ordonnée (LOljk) comportant une partie seulement des identifiants appartenant audit niveau générateur (G) à partir dudit identifiant générateur (IDGj) et du numéro (K) dudit bloc numéroté (BK) ; - une étape (P610) de détermination d'une liste (LDTjk) des destinataires théoriques dudit bloc (BK), auxquels le pair identifié par ledit identifiant générateur (IDGj) serait susceptible de transmettre ledit bloc numéroté (BK) selon ladite règle générale (R) ; - une étape (P620) d'obtention, dans ladite liste (LDTjk) des destinataires théoriques, du pair dont l'identifiant (IDE) appartient au niveau G+1, précédant le niveau générateur G dans l'ordre d'attribution des niveaux, dit identifiant d'extension ; - ladite liste ordonnée étendue (LOE) étant obtenue en ajoutant (P630) l'identifiant (IDE) d'extension en dernière position dans la première liste ordonnée (LOljk). 5. Procédé selon la revendication 4, caractérisé en ce que ladite autre règle (R21) de diffusion d'un bloc (BK) de données numéroté (K), comprend lorsque le niveau L-1, suivant le niveau L dans l'ordre d'attribution des niveaux, n'est pas vide (P100, P300) : - une étape (P110, P310) de détermination, conformément à ladite règle (R) générale, à partir du numéro (K) dudit bloc (BK) et dudit identifiant (IDi), d'une deuxième liste ordonnée (L02, L03) comportant les identifiants (IDTij) des pairs destinataires théoriques dudit bloc (BK) ; - et pour chacun desdits identifiants (IDTij) des destinataires théoriques pris dans l'ordre de ladite deuxième liste ordonnée (L02, L03), si (P120, P320) ledit identifiant (IDTij) de destinataire théorique appartient au niveau L-1 : 44 - une étape (P160, P360) de détermination de ladite liste ordonnée étendue (LOE) à partir dudit identifiant (IDTij) de destinataire théorique et du numéro (K) dudit bloc numéroté (BK) ; - une étape (P170, P370) d'obtention du pair destinataire (PD) identifié par le premier identifiant attribué (Al, A3) dans ladite liste ordonnée étendue (LOE) ; et - une étape (P190, P390) de transmission dudit bloc (BK) audit pair destinataire (PD) ; - et, lorsque (P120, P320) ledit identifiant (IDTij) de destinataire théorique appartient au niveau L+1, précédant le niveau de référence L dans l'ordre d'attribution des niveaux, une étape (P190, P390) de transmission dudit bloc (BK) au pair identifié (P130, P330) par cet identifiant (IDTij). 6. Procédé selon la revendication 4, caractérisé en ce que ladite autre règle (R22) de diffusion d'un bloc (BK) de données numéroté (K) comprend lorsqu'une deuxième condition est satisfaite (P100, P300, P305) - une étape (P200, P400) de détermination d'un identifiant (IDBik) dit identifiant de base, à partir dudit identifiant (IDi) et du numéro (K) dudit bloc (BK) ; - une étape (P210, P410) de détermination de ladite liste ordonnée étendue (LOE) à partir dudit identifiant de base (IDBik) et du numéro (K) dudit bloc numéroté (BK) ; - une étape (P220, P420) de recherche dudit identifiant (IDi) dans ladite liste ordonnée étendue (LOE) ; - une étape (P220, P420) de détermination d'un pair destinataire (PD) identifié par le premier identifiant attribué (A2, A4) suivant ledit identifiant (IDi) dans ladite liste ordonnée étendue (LOE) ; et - une étape (P190, P390) de transmission dudit bloc (BK) audit pair destinataire (PD). 7. Procédé selon les revendications 2 et 6, caractérisé en ce que ladite deuxième condition de ladite autre règle (R22) est satisfaite lorsque (P100) le niveau L-1 est vide.35 8. Procédé selon les revendications 3 et 6, caractérisé en ce que ladite deuxième condition de ladite autre règle (R22) est satisfaite lorsque (P300) le niveau L-1 est vide, le niveau L étant incomplet (P305). 9. Procédé selon la revendication 3, caractérisé en ce que ladite autre règle (R1) de diffusion d'un bloc (BK) de données numéroté (K), lorsque ledit niveau L-1 est vide (P300) et lorsque ledit niveau de référence L est complet (P305), est une règle (R1) comprenant - une étape (P500) de détermination conformément à ladite règle (R) générale, à partir du numéro (K) dudit bloc numéroté (BK) et dudit identifiant (IDi), d'une quatrième liste ordonnée (LO4) comportant les identifiants (IDTij) des pairs destinataires théoriques dudit bloc (BK) ; - et pour chacun desdits identifiants (IDTij) des destinataires théoriques pris dans l'ordre de ladite quatrième liste ordonnée (LO4), si ledit identifiant (IDTij) de destinataire théorique appartient (P550) audit niveau L-1, - une étape (P510) de détermination des récepteurs théoriques (RTKi) auxquels ledit destinataire théorique serait susceptible de transmettre ledit bloc numéroté (BK) ; - une étape (P520) d'obtention, parmi lesdits récepteurs théoriques (RTKi), du pair destinataire (PD) dont l'identifiant appartient au niveau de référence L ; et - une étape (P390) de transmission dudit bloc (BK) audit pair (PD) destinataire ; - et, lorsque ledit identifiant (IDTij) de destinataire théorique appartient (P550) au niveau L+1, une étape (P390) de transmission dudit bloc (BK) au pair identifié (P560) par cet identifiant (IDTij), ledit niveau L+1 précédant le niveau de référence L dans l'ordre d'attribution des niveaux. 10. Procédé de contrôle d'un réseau (HO) pair à pair, ce procédé étant mis en oeuvre par une unité de gestion (10), comportant - une étape (G10) de sélection d'une dimension n du réseau ; - une étape (G25) de détermination des pairs (PPi) présents dans le réseau ; - une étape (G30) d'attribution à chacun desdits pairs présents (PPi) d'un identifiant (IDi) comprenant des éléments binaires, l'attribution des identifiants se faisant en respectant un ordre prédéfini d'attribution des niveaux, un niveau (Lj) étant constitué par l'ensemble des identifiants comprenant un nombre j d'un élément binaire prédéterminé (b0) ; - une étape (G50) d'envoi, à chacun desdits pairs présents (PPi), - de son identifiant (IDi) ; et - d'informations permettant audit pair présent (PPi) de déterminer le caractère complet, vide ou incomplet du niveau de référence L auquel appartient le pair considéré et d'au moins un niveau suivant ledit niveau de référence dans l'ordre d'attribution desdits niveaux. 11. Procédé selon la revendication 10, caractérisé en ce que lesdites informations permettent audit pair présent de déterminer si : - le niveau de référence L est complet ; et - le niveau L-1, suivant le niveau L dans l'ordre d'attribution des niveaux, est complet ou vide. 12. Procédé selon la revendication 11, caractérisé en ce que lesdites informations permettent en outre audit pair présent de déterminer si le niveau L-2, suivant le niveau L-1 dans l'ordre d'attribution des niveaux, est vide. 13. Procédé selon l'une des revendications 10 à 12, caractérisé en ce qu'il comporte, sur détection (G70, G110) d'un événement déterminé (ARR, DEP), les étapes suivantes : - détermination (G80, G120) d'un niveau d'attribution Lk ; - détermination (G90, G130) des pairs (Pj) destinés à recevoir un nouvel identifiant, appelés « pairs à identifier » ; - une étape (G200) d'attribution à chacun des pairs à identifier (Pj) d'un identifiant dudit niveau d'attribution Lk ; - une étape (G210) de détermination de pairs (Pq), dits « pairs à notifier » en fonction de ladite étape (G200) d'attribution ; - une étape (G220, G230) d'envoi, à chacun des pairs à identifier (Pj) et à chacun des pairs à notifier (Pq), des d'informations lui permettant de déterminer au moins : - si le niveau de référence L, auquel appartient son identifiant (IDj, IDq) est complet ; - si le niveau L-1, suivant le niveau L dans l'ordre d'attribution des niveaux, est complet ou vide ; - et, seulement pour chacun desdits pairs à identifier (Pj), le nouvel identifiant (IDj) de ce pair, l'identifiant (IDjk) et l'adresse (ADjk) de chacun de ses voisins ;- la détermination dudit niveau d'attribution Lk, desdits pairs à identifier (Pj) et desdits pairs à notifier (Pq) étant fonction dudit événement. 14. Procédé selon la revendication 12 et 13, caractérisé en ce que, au cours de ladite étape (G220, G230) d'envoi, ladite unité de gestion envoie en outre, à chacun desdits pairs (Pj, Pq) à identifier et à notifier, des d'informations lui permettant de déterminer si le niveau L-2, suivant le niveau L-1 dans l'ordre d'attribution des niveaux, est vide. 15. Procédé selon la revendication 13, caractérisé en ce que, lorsque ledit événement correspond à l'arrivée un nouveau pair (NPPi) dans un réseau dont au moins un niveau est incomplet : - ledit niveau d'attribution Lk est : - le dernier niveau Lderatt, dans lequel les identifiants ont été attribués si ce niveau n'est pas complet ; ou - le niveau Lderatt -1, suivant le niveau Lderatt dans l'ordre d'attribution des niveaux si ledit dernier niveau Lderatt est complet ; - le seul pair à identifier (Pj) est le nouveau pair (NPPi) ; et - les pairs (Pq) à notifier sont : - les voisins (VNPPij) dudit nouveau pair ; et - les pairs dudit niveau d'attribution Lk et du niveau Lk+1, précédant le niveau Lk dans l'ordre d'attribution des niveaux, lorsque ledit niveau d'attribution Lk est devenu complet suite à l'arrivée du nouveau pair (NPPi). 16. Procédé selon la revendication 12 et 15, caractérisé en ce que les pairs (Pq) à notifier comprennent en outre les pairs du niveau Lk+2, précédant le niveau Lk+1 dans l'ordre d'attribution des niveaux, si l'identifiant dudit nouveau pair (NPPi) est le premier identifiant attribué dans son niveau. 17. Procédé selon la revendication 13, caractérisé en ce que, lorsque ledit événement correspond au départ d'un pair sortant (PSj) parmi les pairs présents (PPi) : - lorsque (G130) l'identifiant (IDSj) dudit pair sortant (PSj) appartient au dernier niveau Lderatt dans lequel les identifiants ont été attribués : - aucun pair n'est à identifier, l'identifiant dudit pair sortant devenant disponible ; 35 48 - lesdits pairs à notifier étant au moins les voisins dudit pair sortant (PSj) - et lorsque (G130) ce n'est pas le cas : -le seul pair (Pj) à identifier est un pair (PR) quelconque dont l'identifiant appartient audit dernier niveau Lderatt, dit « pair remplaçant », ledit pair remplaçant (PR) étant identifié par l'identifiant dudit pair sortant (PSj), l'identifiant dudit pair remplaçant (PR) devenant disponible ; -lesdits pairs (Pq) à notifier étant les voisins dudit pair sortant (PSj) et dudit pair remplaçant (PR) et, si ledit dernier niveau Lderatt dans lequel les identifiants ont été attribués était complet avant le départ dudit pair sortant (PSj), les pairs de ce niveau Lderatt et du niveau Lderatt+i, précédant le niveau Lderatt dans l'ordre d'attribution des niveaux. 18. Procédé selon la revendication 12 et 17, caractérisé en ce que lesdits pairs (Pq) à notifier comprennent en outre les pairs du niveau Lderatt+2, précédant le niveau Lderatt+1 dans l'ordre d'attribution des niveaux, si l'identifiant dudit pair sortant (PSj) ou dudit pair remplaçant (PR) était le seul de son niveau. 19. Procédé selon l'une quelconque des revendications 10 à 18 caractérisé en ce qu'il comporte : - une étape (G63) de réception d'une requête émise par un pair requérant pour obtenir l'adresse d'un autre pair identifié dans la requête ; et - une étape (G65) d'obtention et d'envoi de cette adresse audit pair requérant. 20. Procédé selon l'une quelconque des revendications 10 à 19, caractérisé en ce que : - ledit réseau (HO) est obtenu par fusion d'un premier sous-réseau (Hl) et d'un deuxième sous-réseau (H2), tous les deux de dimension n-1, le premier sous-réseau (H1) ayant un niveau complet de plus que ledit deuxième sous-réseau (H2) ; et en ce que : - le niveau d'ordre n-1 dudit réseau (HO) est constitué par : - les identifiants appartenant au niveau n-2 dudit premier sous-réseau (H1), complétés, dans une position (I) dite d'insertion, par ledit élément binaire (b0) ; et par un identifiant (IDP) dit identifiant pivot, constitué par n-1 dits éléments binaires (bO) complétés, dans ladite position (I) d'insertion, par l'élément binaire (b1) complémentaire, cet identifiant (IDP) pivot étant attribué à un pair (PIV) dit pair pivot choisi dans un niveau incomplet si le dernier niveau 49 (Lderattl) des identifiants attribués dans ledit premier sous-réseau ou le dernier niveau (Lderatt2) des identifiants attribués dans ledit deuxième sous-réseau est incomplet, et sinon dans un quelconque de ces deux niveaux (Lderattl, Lderatt2) si les deux sont complets ; - chacun des autres niveaux (Lw) d'ordre W dudit réseau (HO) étant constitué par : - les identifiants du niveau d'ordre W-1, suivant ledit ordre W dudit premier sous-réseau (H1), ces identifiants étant complétés, dans ladite position (I) d'insertion, par ledit élément binaire (bO) ; et par - les identifiants du niveau d'ordre W dudit deuxième sous-réseau (H2), ces identifiants étant complétés, dans leur position (I) d'insertion, par ledit élément binaire complémentaire (b1). 21. Procédé selon l'une quelconque des revendications 10 à 20, caractérisé en ce que ladite dimension n est choisie en fonction du nombre N de pairs présents dans le réseau de telle sorte que le nombre de niveaux attribués est égal à n/2. 22. Dispositif (100) de communication de données (BK) pouvant être incorporé par un pair (Pi) dans un réseau pair à pair, ce dispositif comportant : - des moyens (115, 111) d'obtention d'un identifiant (IDi), comprenant des éléments binaires et destiné à identifier ledit pair (Pi) ; - des moyens (115, 111) d'obtention d'une dimension n dudit réseau, - des moyens (111) de détermination d'un niveau de référence L auquel appartient ledit identifiant (IDi), un niveau (Lj) étant constitué par l'ensemble des identifiants de pair comprenant un nombre j d'un élément binaire prédéterminé (bO) ; - des moyens (115) d'obtention d'informations permettant audit pair (Pi) de déterminer le caractère complet, vide ou incomplet du niveau de référence (L) et d'au moins un niveau suivant ledit niveau de référence dans un ordre prédéfini d'attribution des niveaux ; et - des moyens (111) de sélection à partir desdites informations d'une règle (R, R21, R22, R1) de diffusion des données (BK) dans ledit réseau à appliquer par ledit pair, ladite règle (R, R21, R22, R1) étant (P40, P41) : - la règle (R) des hypercubes complets de dimension n, dite « règle générale » Si une condition sur lesdites informations est satisfaite ; - une autre règle (R21, R22, R1) déterminée en tenant compte desdites informations dans tous les autres cas. 23. Unité de gestion (10) pouvant être utilisée dans un réseau (HO) pair à pair, cette unité de gestion comportant : - des moyens (11) de sélection d'une dimension n du réseau ; - des moyens (11) de détermination des pairs (PPi) présents dans le réseau ; - des moyens (11) d'attribution à chacun desdits pairs présents (PPi) d'un identifiant (IDi) comprenant des éléments binaires, l'attribution des identifiants se faisant en respectant un ordre prédéfini d'attribution des niveaux, un niveau (Lj) étant constitué par l'ensemble des identifiants comprenant un nombre j d'un élément binaire prédéterminé (bO) ; - des moyens (115) d'envoi, à chacun desdits pairs présents (PPi), - de son identifiant (IDi) ; et - d'informations permettant audit pair présent (PPi) de déterminer le caractère complet, vide ou incomplet du niveau de référence L auquel appartient l'identifiant (IDi) du pair considéré et d'au moins un niveau suivant ledit niveau de référence dans l'ordre d'attribution desdits niveaux. 24. Support d'enregistrement (112) lisible par un ordinateur (Pi) sur lequel est enregistré un programme d'ordinateur (PGM1) comprenant des instructions pour l'exécution des étapes du procédé de communication de données d'appels selon l'une quelconque des revendications 1 à 9. 25. Programme d'ordinateur (PGM1) comportant des instructions pour l'exécution des étapes du procédé de communication de données d'appels selon l'une quelconque des revendications 1 à 9 lorsque ledit programme est exécuté par un ordinateur (Pi). 26. Support d'enregistrement (12) lisible par un ordinateur (10) sur lequel est enregistré un programme d'ordinateur (PGM2) comprenant des instructions pour l'exécution des étapes du procédé de contrôle selon l'une quelconque des revendications 10 à 21. 27. Programme d'ordinateur (PGM2) comportant des instructions pour l'exécution des étapes du procédé de contrôle selon l'une quelconque des revendications 10 à 21 lorsque ledit programme est exécuté par un ordinateur (10). 30