PROCEDE DE DETERMINATION AUTOMATIQUE D'UN GROUPE DE PAIRS SITUÉS DANS LE VOISINAGE D'UN AUTRE PAIR AU SEIN D'UN RÉSEAU DE COMMUNICATION, ET SERVEUR, DISPOSITIF D'ANALYSE ET ÉQUIPEMENT DE COMMUNICATION ASSOCIÉS METHOD FOR AUTOMATICALLY DETERMINING A GROUP OF PEERS LOCATED IN THE NEIGHBORHOOD OF ANOTHER PAIR WITHIN A COMMUNICATION NETWORK, AND SERVER, ANALYSIS DEVICE AND COMMUNICATION EQUIPMENT THEREFOR
Domaine technique de l'inventionTechnical field of the invention
L'invention concerne les réseaux de communication auxquels sont connectés des équipements de communication capables de s'échanger des données de contenus, éventuellement multimédia, en mode pair à pair (ou P2P (pour « Peer-to-Peer »)), et plus précisément les applications P2P, notamment à contrainte temporelle (ou temps réel), qui sont mises en œuvre dans de tels réseaux.The invention relates to communication networks to which communication devices are connected capable of exchanging content data, possibly multimedia, in peer-to-peer mode (or P2P (for Peer-to-Peer)), and more precisely the P2P applications, in particular with time constraint (or real time), which are implemented in such networks.
L'invention concerne tous les réseaux (ou infrastructures) de communication, filaires ou non filaires, capables de transmettre des données de contenus (éventuellement multimédia) entre équipements de communication d'usagers constituant des pairs. Il pourra donc s'agir d'un réseau filaire, tel qu'un réseau à lignes de transmission de données à moyen ou haut débit, comme par exemple des lignes de type xDSL (pour « x Digital Subscriber Line ») ou des câbles ou encore des fibres optiques, ou d'un réseau sans fil (par exemple de type mobile (ou cellulaire) ou de type local (standards WLAN (« Wireless Local Area Network » - IEEE 802.11a, Wi-Fi (802.11g), ETSI HiperLAN/2), et WiMAX (IEEE 802.16, ETSI HiperMAN)).The invention relates to all communication networks (or infrastructures), wired or wireless, capable of transmitting content data (possibly multimedia) between user communication equipment constituting peers. It may therefore be a wired network, such as a network with medium or high speed data transmission lines, for example xDSL lines (for "x Digital Subscriber Line") or cables or optical fibers, or a wireless network (for example mobile (or cellular) or local type (Wireless Local Area Network (WLAN) standards - IEEE 802.11a, Wi-Fi (802.11g), ETSI HiperLAN / 2), and WiMAX (IEEE 802.16, ETSI HiperMAN)).
Par ailleurs, on entend ici par « équipement de communication » tout type d'équipement de communication faisant partie d'un, ou pouvant se connecter à un, réseau de communication filaire ou non filaire. Il pourra donc s'agir, par exemple, d'ordinateurs fixes ou portables, de téléphones fixes ou mobiles (ou cellulaires), d'assistants numériques personnels (ou PDAs, y compris les « pocket PCs »), de récepteurs de contenus (comme par exemple des décodeurs, des passerelles résidentielles (ou « residential gateways ») ou des STBs (« Set-Top Boxes »)), dès lors qu'ils sont équipés de moyens de communication propres à échanger des données de contenus.Furthermore, "communication equipment" here refers to any type of communication equipment that is part of or that can be connected to a wired or non-wired communication network. It may therefore be, for example, fixed or portable computers, fixed or mobile (or cellular) telephones, personal digital assistants (or PDAs, including "pocket PCs"), content receivers ( such as decoders, residential gateways (or "residential gateways") or STBs ("Set-Top Boxes")), provided that they are equipped with communication means capable of exchanging content data.
En outre, on entend ici par « contenu » un ensemble de données qui
définit un programme de télévision ou de vidéo ou audio (radiophonique ou musical) ou de jeux ou multimédia, ou encore un fichier informatique (ou « data »).In addition, "content" here refers to a set of data that defines a television or video or audio program (radio or musical) or games or multimedia, or a computer file (or "data").
Etat de l'artState of the art
Comme le sait l'homme de l'art, certaines applications P2P, comme par exemple la diffusion de flux vidéo (qui regroupe la vidéo à la demande (ou VoD), pour laquelle les contenus sont pré-en registres et intégralement disponibles, et la diffusion en direct (ou « live streaming »), pour laquelle les contenus sont diffusés en direct au fur et à mesure de leur création), ont des contraintes temporelles fortes, généralement de type temps réel, qui nécessitent une récupération (ou « download ») des données de contenu selon une vitesse supérieure à la vitesse de consommation des données. Afin de permettre la récupération d'un contenu, le réseau fournit aux pairs une liste de pairs qui reçoivent un même contenu, et un pair peut établir des connections en parallèle avec plusieurs pairs de cette liste pour accroître son débit de récupération.As known to those skilled in the art, certain P2P applications, such as video streaming (which groups video on demand (or VoD), for which the contents are pre-registered and fully available, and live broadcasting (or "live streaming"), for which the content is broadcast live as and when it is created), have strong time constraints, generally of a real-time nature, that require a recovery (or "download"). ") Content data at a speed greater than the speed of data consumption. To enable content retrieval, the network provides peers with a list of peers that receive the same content, and a peer can establish parallel connections with multiple peers in that list to increase its recovery rate.
Construire une liste exhaustive pour un vaste réseau de communication, comme par exemple l'Internet, est une tâche impossible et inutile étant donné qu'un pair ne pourra jamais établir des communications en parallèle avec tous les pairs de cette liste. Par conséquent, le réseau ne fournit généralement à un pair qu'une liste tronquée (ou partielle) de pairs (typiquement de quelques dizaines à quelques centaines) choisis de façon aléatoire.Building an exhaustive list for an extensive communications network, such as the Internet, is an impossible and unnecessary task since a peer will never be able to establish parallel communications with all the peers on this list. Therefore, the network usually provides a peer only a truncated (or partial) list of peers (typically from a few tens to a few hundreds) randomly chosen.
Une fois qu'un pair dispose d'une liste tronquée, il doit déterminer les « bons » pairs qui offrent une connexion suffisante à ses besoins. Pour ce faire, il peut par exemple utiliser un algorithme de type « donnant-donnant » (ou « tit- for-tat ») qui permet de rejeter les « mauvais » pairs qui n'offrent pas une connexion suffisante à ses besoins. Pendant le temps (parfois appelé temps de convergence) qui est nécessaire à un pair pour déterminer des bons pairs, le débit de récupération des données est relativement faible. Cela n'influence pas la qualité de service (ou QoS) d'une application P2P de type partage de fichiers
(ou « file sharing »), mais cela s'avère inacceptable pour une application à forte contrainte temporelle, par exemple de type VoD ou live streaming, puisque cela introduit un délai de démarrage (ou « zapping time ») relativement long.Once a peer has a truncated list, it must determine the "right" peers that provide sufficient connection to its needs. To do this, it can for example use a "give-give" (or "tit-for-tat") type algorithm that makes it possible to reject "bad" peers that do not offer a sufficient connection to its needs. During the time (sometimes called convergence time) that is required for a peer to determine good peers, the data recovery rate is relatively low. This does not affect the quality of service (or QoS) of a P2P file-sharing application (or "file sharing"), but this proves unacceptable for an application with a strong temporal constraint, for example of the VoD or live streaming type, since this introduces a relatively long start-up time (or "zapping time").
Par ailleurs, dans le cas d'un tirage aléatoire, certains pairs peuvent être retenus pour participer à une liste tronquée alors qu'ils sont (très) éloignés du pair qui requiert des données de contenu, ce qui n'est pas optimal en terme d'utilisation des ressources des réseaux (de communication) et peut s'avérer coûteux pour les opérateurs lorsque des connexions se font via plusieurs réseaux.Moreover, in the case of a random draw, some peers may be selected to participate in a truncated list while they are (very) far from the peer that requires content data, which is not optimal in term use of network (communication) resources and can be costly for operators when connections are made over multiple networks.
Afin d'améliorer la situation, quelques méthodes (ou procédés) de détermination de pairs en fonction de la distance inter-pairs ont été proposées. Parmi ces méthodes on peut notamment citer celle appelée Meridian, qui est notamment décrite dans le document de B. Wong et al., « Meridian : a lightweight network location service without virtual coordinates », SIGCOMM, 2005. Cette méthode consiste à faire mesurer par chaque pair sa distance (ou nombre de sauts) par rapport aux autres pairs. Chaque pair maintient ainsi un petit ensemble de voisins, classés en fonction de leur distance (éloignement) et organisés sous la forme d'anneaux de rayons différents. Cette méthode Meridian présente une approche « locale » pour l'estimation de distance, selon laquelle les pairs créent leurs propres coordonnées locales en fonction de temps aller-retour (ou RTT).In order to improve the situation, some methods (or methods) for determining peers based on inter-peer distance have been proposed. Among these methods, mention may be made of the one called Meridian, which is described in particular in the document by B. Wong et al., "Meridian: SIGCOMM, 2005. each pair its distance (or number of jumps) compared to other peers. Each pair thus maintains a small set of neighbors, classified according to their distance (distance) and organized in the form of rings of different radii. This Meridian method presents a "local" approach to distance estimation, in which peers create their own local coordinates based on round trip time (or RTT).
On peut également citer la méthode appelée Vivaldi, qui est notamment décrite dans le document de F. Dabek et al., « Vivaldi : a decentralized network coordinate System », SIGCOMM, 2004. Cette méthode consiste à attribuer des coordonnées virtuelles à chaque pair afin de prédire les distances (ou nombre de sauts) qui les séparent. Chaque nouveau pair mesure ses latences par rapport à quelques autres pairs, afin de déterminer sa position dans l'espace virtuel. Cette position lui sert par la suite à estimer sa distance par rapport à des pairs occupant d'autres positions.One can also cite the method called Vivaldi, which is notably described in the document by F. Dabek et al., "Vivaldi: a decentralized network coordinate system", SIGCOMM, 2004. This method consists in assigning virtual coordinates to each peer so to predict the distances (or number of jumps) that separate them. Each new peer measures their latency against a few other peers to determine their position in the virtual space. This position is then used to estimate its distance from peers in other positions.
Ces méthodes reposent toutes sur des temps de transmission aller- retour (ou RTT pour « Round-Trip Tour »), mais elles ne prennent pas en compte la topologie du réseau, ce qui limite leur précision. Par ailleurs, ces
méthodes sont destinées à des applications décentralisées pour lesquelles les pairs ne sont pas sous le contrôle d'un équipement central, si bien qu'elles ne sont pas adaptées à certaines applications, comme par exemple des applications nécessitant des audits ou des mesures de sécurité.These methods are all based on Round-Trip Tour (RTT) delays, but they do not take into account the topology of the network, which limits their accuracy. Moreover, these These methods are intended for decentralized applications where the peers are not under the control of a central device, so they are not suitable for certain applications, such as applications requiring audits or security measures.
Résumé de l'inventionSummary of the invention
L'invention a donc pour but d'améliorer la situation.The invention therefore aims to improve the situation.
A cet effet, l'invention propose tout d'abord un procédé dédié à la détermination de pairs situés dans le voisinage d'un autre pair (dans le sens physique du terme et non dans le sens logique), chaque pair disposant d'au moins un équipement de communication connecté à un nœud de communication d'un réseau de communication comportant une multiplicité de nœuds de communication dont certains disposent d'une position fixe connue et sont dits « nœuds repère » (ou « landmarks »).For this purpose, the invention firstly proposes a method dedicated to the determination of peers located in the neighborhood of another peer (in the physical sense of the term and not in the logical sense), each peer having from less a communication equipment connected to a communication node of a communication network comprising a multiplicity of communication nodes, some of which have a known fixed position and are called "landmark nodes" (or "landmarks").
Ce procédé se caractérise par le fait qu'il consiste, en cas de détection d'un nouveau pair :This method is characterized in that it consists, in case of detection of a new peer:
- à déterminer au sein du réseau le nœud repère qui est le plus proche du nouveau pair, puisto determine within the network the reference node which is closest to the new peer, then
- à déterminer parmi la multiplicité les nœuds dits intermédiaires qui définissent un chemin reliant le nouveau pair au nœud repère déterminé, etdetermining, among the multiplicity, the so-called intermediate nodes which define a path connecting the new peer to the determined reference node, and
- à déterminer un groupe de pairs situés dans le voisinage du nouveau pair en fonction au moins de la définition de ce chemin et des définitions des chemins qui relient d'autres pairs (connectés au réseau) à au moins le nœud repère déterminé.determining a peer group located in the vicinity of the new peer based at least on the definition of that path and the definitions of the paths that connect other peers (connected to the network) to at least the determined reference node.
On entend ici par « nouveau pair » un pair qui vient de se connecter pour la première fois au réseau au moyen d'un équipement disposant d'une adresse de communication, comme par exemple une adresse IP, ou un pair qui s'est déjà connecté au réseau sous une adresse de communication, comme par exemple une adresse, et qui se connecte de nouveau sous une autre adresse de communication, comme par exemple une autre adresse IP, éventuellement au moyen d'un autre équipement (s'il en possède plusieurs).
Le procédé selon l'invention peut comporter d'autres caractéristiques qui peuvent être prises séparément ou en combinaison, et notamment :Here, the term "new peer" means a peer who has just connected for the first time to the network using equipment having a communication address, such as an IP address, or a peer that has already connected to the network under a communication address, such as an address, and which connects again under another communication address, such as for example another IP address, possibly by means of another device (if it has one many). The method according to the invention may comprise other characteristics that can be taken separately or in combination, and in particular:
- on peut déterminer le nœud repère qui est le plus proche du nouveau pair i) en transmettant de ce dernier vers chacun des nœuds repère du réseau un premier message d'interrogation requérant une réponse, puis ii) en déterminant chaque temps écoulé entre l'instant de transmission d'un premier message d'interrogation et l'instant de réception d'un message de réponse transmis par l'un des nœuds repère, et iii) en retenant le nœud repère qui correspond au temps écoulé le moins long ;it is possible to determine the reference node that is closest to the new peer i) by transmitting from it to each of the network nodes a first interrogation message requiring a response, then ii) by determining each time elapsed between the instant of transmission of a first interrogation message and the instant of reception of a response message transmitted by one of the reference nodes, and iii) retaining the reference node which corresponds to the elapsed time elapsed;
- en variante, on peut déterminer le nœud repère qui est le plus proche du nouveau pair i) en transmettant de ce dernier vers des nœuds repère du réseau qui sont désignés dans une liste un premier message d'interrogation requérant une réponse, puis ii) en déterminant chaque temps écoulé entre l'instant de transmission d'un premier message d'interrogation et l'instant de réception d'un message de réponse transmis par l'un des nœuds repère désignés dans la liste, et iii) en retenant le nœud repère qui correspond au temps écoulé le moins long ;alternatively, it is possible to determine the reference node which is closest to the new peer i) by transmitting from it to network reference nodes which are designated in a list a first interrogation message requesting a response, then ii) determining each elapsed time between the instant of transmission of a first interrogation message and the instant of reception of a response message transmitted by one of the reference nodes designated in the list, and iii) retaining the reference node which corresponds to the elapsed time;
> chaque premier message d'interrogation peut par exemple être de type « ping » ;each first interrogation message may for example be of the "ping" type;
- on peut déterminer les nœuds intermédiaires qui définissent un chemin i) en transmettant du nouveau pair vers le nœud repère déterminé un second message d'interrogation requérant une réponse de sa part et de la part de chaque nœud intermédiaire qui le précède, puis ii) en retenant l'identifiant de chaque nœud intermédiaire ayant transmis un message de réponse au nouveau pair consécutivement à la réception du second message d'interrogation ;the intermediate nodes which define a path i) can be determined by transmitting a new peer to the determined reference node a second interrogation message requesting a response from it and from each intermediate node which precedes it, then ii) retaining the identifier of each intermediate node having transmitted a response message to the new peer consecutively upon receipt of the second interrogation message;
> chaque second message d'interrogation peut par exemple être de type « traceroute » ;each second interrogation message may for example be of the "traceroute" type;
- on peut déterminer le groupe de pairs qui sont situés dans le voisinage du nouveau pair en fonction au moins des pairs qui sont associés à des chemins passant par au moins un nœud intermédiaire par lequel passe également le chemin reliant le nouveau pair au nœud repère déterminé ;
- on peut déterminer le groupe de pairs qui sont situés dans le voisinage du nouveau pair en fonction également d'au moins un critère, par exemple choisi parmi (au moins) le nombre de nœuds intermédiaires séparant un pair du nouveau pair et l'importance de la bande passante disponible entre un pair et le nouveau pair ;the peer group that are located in the vicinity of the new peer can be determined based at least on pairs that are associated with paths passing through at least one intermediate node through which also the path connecting the new peer to the determined landmark node ; the group of peers that are located in the neighborhood of the new peer can also be determined based also on at least one criterion, for example chosen from (at least) the number of intermediate nodes separating a peer from the new peer and the importance the bandwidth available between a peer and the new peer;
- on peut constituer une liste de pairs avec les pairs du groupe déterminé, liste dans laquelle les pairs sont classés en fonction du nombre de sauts nécessaires pour les joindre ;- a peer list can be created with peers in the particular group, in which peers are ranked according to the number of jumps required to reach them;
- chaque pair peut signaler sa présence en transmettant un troisième message de façon périodique.each peer can signal its presence by transmitting a third message periodically.
L'invention propose également un serveur pour un réseau de communication auquel sont connectés des équipements de communication de pairs et comportant une multiplicité de nœuds de communication dont certains possèdent une position fixe connue et sont dits « nœuds repère ».The invention also proposes a server for a communication network to which are connected peer communication equipment and having a plurality of communication nodes, some of which have a known fixed position and are called "landmark nodes".
Ce serveur se caractérise par le fait qu'il est chargé, en cas de détection d'un nouveau pair, de déterminer un groupe de pairs qui sont situés dans le voisinage de ce nouveau pair en fonction au moins de la connaissance, d'une part, de nœuds de la multiplicité, dits intermédiaires, qui définissent un chemin reliant le nouveau pair au nœud repère qui est le plus proche de ce dernier, et d'autre part, de nœuds intermédiaires de la multiplicité qui définissent des chemins reliant d'autres pairs (connectés au réseau) à au moins le nœud repère qui est le plus proche du nouveau pair.This server is characterized in that it is charged, in case of detection of a new peer, to determine a group of peers that are located in the vicinity of this new peer based at least on the knowledge, a on the other hand, nodes of the multiplicity, called intermediaries, which define a path connecting the new peer to the reference node which is closest to the latter, and secondly, intermediate nodes of the multiplicity which define paths connecting other peers (connected to the network) to at least the reference node that is closest to the new peer.
Le serveur selon l'invention peut comporter d'autres caractéristiques qui peuvent être prises séparément ou en combinaison, et notamment :The server according to the invention may comprise other characteristics that can be taken separately or in combination, and in particular:
- il peut être chargé de déterminer le groupe de pairs situés dans le voisinage du nouveau pair en fonction au moins des pairs qui sont associés à des chemins passant par au moins un nœud intermédiaire par lequel passe également le chemin qui relie le nouveau pair au nœud repère qui est le plus proche du nouveau pair ;it may be responsible for determining the peer group located in the vicinity of the new peer based at least on pairs that are associated with paths passing through at least one intermediate node through which also the path that connects the new peer to the node landmark that is closest to the new peer;
- il peut être chargé de déterminer le groupe de pairs situés dans le voisinage du nouveau pair en fonction également d'au moins un critère, par exemple choisi parmi (au moins) le nombre de nœuds intermédiaires séparant un pair
du nouveau pair et l'importance de la bande passante disponible entre un pair et le nouveau pair ;it can be responsible for determining the peer group located in the vicinity of the new peer also according to at least one criterion, for example chosen from (at least) the number of intermediate nodes separating a peer the new peer and the importance of the available bandwidth between a peer and the new peer;
- il peut être chargé de constituer une liste de pairs avec les pairs du groupe déterminé, cette liste étant constituée des pairs classés en fonction du nombre de sauts nécessaires pour les joindre ;- it may be responsible for compiling a list of peers with the peers of the group determined, this list consisting of peers ranked according to the number of jumps required to reach them;
- il peut être chargé de déterminer le groupe de pairs parmi des pairs qui lui ont signalé leur présence au moyen d'un troisième message ;- he may be responsible for determining the peer group among peers who have indicated their presence through a third message;
- il peut être chargé de reconstituer une topologie (« synthétique ») entière, représentative du réseau de communication, par agrégation des chemins reçus.it can be responsible for reconstructing an entire topology ("synthetic"), representative of the communication network, by aggregating the paths received.
L'invention propose également un dispositif d'analyse pour un équipement de communication d'un pair connecté à un nœud de communication d'un réseau de communication comportant une multiplicité de nœuds de communication dont certains ont une position fixe connue et sont dits « nœuds repère ».The invention also proposes an analysis device for a communication equipment of a peer connected to a communication node of a communication network comprising a multiplicity of communication nodes, some of which have a known fixed position and are called "nodes". landmark ".
Ce dispositif d'analyse se caractérise par le fait qu'il est chargé de déterminer au sein du réseau le nœud repère qui est le plus proche de son équipement de communication de pair, puis de déterminer parmi la multiplicité les nœuds dits intermédiaires qui définissent un chemin reliant cet équipement de communication de pair au nœud repère déterminé.This analysis device is characterized in that it is responsible for determining, within the network, the reference node that is closest to its peer communication equipment, and then determining among the multiplicity the so-called intermediate nodes that define a network. path connecting this peer communication equipment to the determined landmark node.
Le dispositif selon l'invention peut comporter d'autres caractéristiques qui peuvent être prises séparément ou en combinaison, et notamment :The device according to the invention may comprise other characteristics that can be taken separately or in combination, and in particular:
- il peut être chargé de déterminer le nœud repère (qui est le plus proche de son équipement de communication de pair) i) en générant à destination de chacun des nœuds repère du réseau un premier message d'interrogation requérant une réponse, puis ii) en déterminant chaque temps écoulé entre l'instant de transmission d'un premier message d'interrogation et l'instant de réception d'un message de réponse transmis par l'un des nœuds repère, et iii) en retenant le nœud repère qui correspond au temps écoulé le moins long ;- It may be responsible for determining the reference node (which is closest to its peer communication equipment) i) Generating to each of the network node nodes a first interrogation message requesting a response, then ii) determining each elapsed time between the instant of transmission of a first interrogation message and the instant of reception of a response message transmitted by one of the reference nodes, and iii) retaining the corresponding reference node the least time elapsed;
- en variante, il peut être chargé de déterminer le nœud repère (qui est le plus proche de son équipement de communication de pair) i) en générant à
destination de nœuds repère du réseau qui sont désignés dans une liste un premier message d'interrogation requérant une réponse, puis ii) en déterminant chaque temps écoulé entre l'instant de transmission d'un premier message d'interrogation et l'instant de réception d'un message de réponse transmis par l'un des nœuds repère désignés dans la liste, et iii) en retenant le nœud repère qui correspond au temps écoulé le moins long ;alternatively, it may be instructed to determine the reference node (which is closest to its peer communication equipment) by generating destination nodes of the network that are designated in a list a first polling message requiring a response, then ii) by determining each time elapsed between the instant of transmission of a first polling message and the instant of reception a response message transmitted by one of the reference nodes designated in the list, and iii) retaining the reference node which corresponds to the elapsed time elapsed;
> chaque premier message d'interrogation peut par exemple être de type « ping » ;each first interrogation message may for example be of the "ping" type;
- il peut être chargé de déterminer les nœuds intermédiaires qui définissent un chemin i) en générant à destination du nœud repère (qui est le plus proche de son équipement de communication de pair), un second message d'interrogation requérant une réponse de sa part et de la part de chaque nœud intermédiaire qui le précède, puis ii) en retenant l'identifiant de chaque nœud intermédiaire ayant transmis un message de réponse à son équipement de communication de pair consécutivement à la réception du second message d'interrogation ;it can be responsible for determining the intermediate nodes which define a path i) by generating, at destination of the reference node (which is the closest to its peer communication equipment), a second interrogation message requiring a response from it and from each intermediate node which precedes it, then ii) retaining the identifier of each intermediate node having transmitted a response message to its peer communication equipment consecutively upon receipt of the second interrogation message;
> chaque second message d'interrogation peut par exemple être de type « traceroute ».each second interrogation message may for example be of the "traceroute" type.
L'invention propose également un équipement de communication, destiné à être connecté à un réseau de communication, et équipé d'un dispositif d'analyse du type de celui présenté ci-avant.The invention also proposes a communication equipment, intended to be connected to a communication network, and equipped with an analysis device of the type of that presented above.
Brève description des dessinsBrief description of the drawings
D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels :Other features and advantages of the invention will appear on examining the detailed description below, and the attached drawings, in which:
- la figure 1 illustre de façon très schématique et fonctionnelle des équipements de communication de pairs, équipés d'un dispositif d'analyse selon l'invention, et un serveur selon l'invention connectés à un réseau de communication,FIG. 1 very schematically and functionally illustrates peer communication equipment, equipped with an analysis device according to the invention, and a server according to the invention connected to a communication network,
- la figure 2 illustre schématiquement un exemple de détermination par deux
nouveaux pairs des nœuds repère qui sont les plus proches d'eux, et - la figure 3 illustre schématiquement un exemple de détermination par deux nouveaux pairs des chemins qui les relient au nœud repère qui est le proche d'eux.FIG. 2 schematically illustrates an exemplary determination by two new peers of the reference nodes which are closest to them, and - Figure 3 schematically illustrates an example of determination by two new peers of the paths that connect them to the reference node that is close to them.
Les dessins annexés pourront non seulement servir à compléter l'invention, mais aussi contribuer à sa définition, le cas échéant.The attached drawings may not only serve to complete the invention, but also contribute to its definition, if any.
Description détailléedetailed description
L'invention a pour objet de permettre la détermination d'un groupe de pairs situés dans le voisinage d'un autre pair en vue de la récupération de données de contenu, chaque pair disposant d'au moins un équipement de communication connecté à un nœud de communication d'un réseau de communication permettant des communications en mode pair-à-pair (ou P2P).The object of the invention is to enable the determination of a peer group located in the vicinity of another peer for the purpose of retrieving content data, each peer having at least one communication device connected to a node communication network for peer-to-peer (or P2P) communications.
La notion de voisinage doit être ici comprise dans le sens physique du terme et non dans le sens logique.The concept of neighborhood must be understood here in the physical sense of the term and not in the logical sense.
Dans ce qui suit, on considère à titre d'exemple non limitatif que le réseau (de communication) est un réseau filaire (par exemple de type ADSL) offrant un accès IP. Mais, l'invention n'est pas limitée à ce type de réseau de communication. Elle concerne en effet tout type de réseau (ou infrastructure) de communication disposant d'au moins un réseau d'accès, filaire ou non filaire, et capable de transmettre des données de contenus (éventuellement multimédia) entre des équipements de communication constituant des pairs. Le réseau d'accès pourra donc être un réseau filaire, tel qu'un réseau à câbles ou à fibres optiques, ou un réseau sans fil, tel qu'un réseau mobile (ou cellulaire) ou un réseau local (standards WLAN et WiMAX).In the following, we consider as a non-limiting example that the (communication) network is a wired network (for example of the ADSL type) offering IP access. However, the invention is not limited to this type of communication network. It concerns any type of communication network (or infrastructure) having at least one access network, wired or wireless, and capable of transmitting content data (possibly multimedia) between communication equipment constituting peers. . The access network may therefore be a wired network, such as a cable or fiber optic network, or a wireless network, such as a mobile (or cellular) network or a local network (WLAN and WiMAX standards). .
On notera que l'invention concerne aussi bien les situations dans lesquelles un unique réseau de communication est impliqué, que les situations dans lesquelles plusieurs (voire même de nombreux) réseaux de communication (éventuellement de types différents) sont interconnectés, comme c'est par exemple le cas du réseau de réseaux appelé Internet. Par ailleurs, l'invention concerne également les situations dans lesquelles un unique réseau de communication dispose de plusieurs réseaux d'accès, filaires ou non
filaires, de types différents.It should be noted that the invention relates both to situations in which a single communication network is involved, and to situations in which several (or even many) communication networks (possibly of different types) are interconnected, as it is by example the case of the network of networks called Internet. Furthermore, the invention also relates to situations in which a single communication network has several access networks, wired or not. wired, of different types.
On a schématiquement illustré sur la figure 1 un réseau (de communication) RC comprenant une multiplicité de nœuds de communication Rj à certains desquels sont connectés des équipements de communication UEi d'usagers qui constituent des pairs (ou « peer ») Pi. L'indice j prend ici des valeurs comprises entre 1 et 7, mais il peut prendre n'importe quelle valeur supérieure ou égale à un. Par ailleurs, l'indice i prend ici des valeurs comprises entre 1 et 4, mais il peut prendre n'importe quelle valeur supérieure ou égale à deux.FIG. 1 schematically illustrates a (communication) network RC comprising a multiplicity of communication nodes Rj to which some of UEi communication equipments of users who constitute peer (or "peer") Pi are connected. index j here takes values between 1 and 7, but it can take any value greater than or equal to one. On the other hand, the index i here takes values between 1 and 4, but it can take any value greater than or equal to two.
Dans un réseau d'accès filaire, les nœuds de communication Rj sont généralement des routeurs, et ceux auxquels sont rattachés les pairs Pi sont par exemple de type multiplexeur DSLAM (cas d'un réseau filaire de type xDSL). On comprendra que dans d'autres types de réseau d'accès, comme par exemple un réseau d'accès non filaire, les nœuds de communication Rj peuvent être d'autres équipements de réseau d'accès que des routeurs. Ainsi, dans un réseau d'accès radio les nœuds de communication Rj auxquels sont connectés les pairs Pi sont généralement des stations de base (BS, BTS ou Node B) ou des points d'accès (dans le cas d'un réseau WLAN).In a wired access network, the communication nodes Rj are generally routers, and those to which the pe members Pi are attached are, for example, of the DSLAM multiplexer type (in the case of a xDSL type wired network). It will be understood that in other types of access network, such as for example a non-wired access network, the communication nodes Rj may be other access network equipment than routers. Thus, in a radio access network, the communication nodes Rj to which the pe members Pi are connected are generally base stations (BS, BTS or Node B) or access points (in the case of a WLAN network). .
Compte tenu du choix illustratif effectué ci-avant, on considère dans ce qui suit, à titre d'exemple non limitatif, que les équipements (de communication) UEi de pairs Pi sont des ordinateurs fixes ou portables. Mais, l'invention n'est pas limitée à ce type d'équipement (de communication). Elle concerne en effet tout type d'équipement de communication capable d'échanger des données de contenus, par voie filaire ou non filaire, avec un autre équipement de communication, via au moins un réseau (de communication) et en mode P2P. Il pourra donc également s'agir, par exemple, de téléphones fixes ou mobiles (ou cellulaires), d'assistants numériques personnels (ou PDAs, y compris les « pocket PCs »), de récepteurs de contenus (comme par exemple des décodeurs, des passerelles résidentielles (ou « residential gateways ») ou des STBs (« Set-Top Boxes »)), dès lors qu'ils sont équipés de moyens de communication propres à échanger des données de contenus en mode P2P.Given the illustrative choice made above, it is considered in the following, by way of non-limiting example, the equipment (communication) UEi peer Pi are fixed or portable computers. But, the invention is not limited to this type of equipment (communication). It concerns indeed any type of communication equipment capable of exchanging content data, wired or wireless, with other communication equipment, via at least one network (communication) and P2P mode. It may therefore also be, for example, fixed or mobile phones (or cell phones), personal digital assistants (or PDAs, including "pocket PCs"), content receivers (such as decoders, residential gateways (or "residential gateways") or STBs ("Set-Top Boxes"), provided that they are equipped with communication means capable of exchanging content data in P2P mode.
Dans ce qui suit on assimile un équipement UEi au pair Pi qu'il
constitue au sein d'un réseau RC.In the following we equate a UEi equipment Pi par constitutes within an RC network.
On notera que les contenus peuvent par exemple être diffusés aux équipements UEi en continu et en direct dans le cadre d'un service de vidéo à la demande (VoD) ou d'un service de diffusion de programmes (par exemple de télévision ou radiophoniques ou encore musicaux) ou de fichiers (ou data), éventuellement créés en direct (ou live streaming).It should be noted that the contents may for example be broadcast to the UEi equipment continuously and directly as part of a video-on-demand (VoD) service or a program broadcasting service (for example television or radio or still musical) or files (or data), possibly created live (or live streaming).
L'invention propose un procédé permettant de déterminer un groupe de pairs Pi' situés dans le voisinage d'un nouveau pair Pi (i ≠ i') afin de permettre à ce dernier de récupérer des données de contenu en mode pair-à-pair (ou P2P).The invention provides a method for determining a peer group Pi 'located in the vicinity of a new peer Pi (i ≠ i') to enable the latter to retrieve content data in peer-to-peer mode. (or P2P).
On entend ici par « nouveau pair » un pair Pi qui vient de se connecter pour la première fois au réseau RC au moyen d'un équipement UEi disposant d'une adresse de communication, comme par exemple une adresse IP, ou un pair qui s'est déjà connecté au réseau RC sous une adresse de communication, comme par exemple une adresse IP, et qui se connecte de nouveau sous une autre adresse de communication, comme par exemple une autre adresse IP, éventuellement au moyen d'un autre équipement UEi (s'il en possède plusieurs). Grâce à cette définition, on est sûr qu'un client P2P Pi qui utilise par exemple son ordinateur portable UEi à différents endroits (comme par exemple son domicile, son bureau, un hôtel et un aéroport) ne sera pas systématiquement considéré comme situé à un même et unique endroit. Chaque pair émet généralement un (premier) message de type ping et un (second) message de type traceroute chaque fois qu'il quitte un réseau ou qu'il revient dans un réseau, permettant ainsi une détermination de sa position géographique.Here, the term "new peer" means a peer Pi which has just connected for the first time to the network RC by means of a UEi device having a communication address, such as an IP address, or a peer which is already connected to the network RC under a communication address, such as for example an IP address, and which connects again under another communication address, such as for example another IP address, possibly by means of another UEi equipment (if he has several). Thanks to this definition, it is certain that a Pi P2P client who uses for example his UEi laptop in different places (for example his home, his office, a hotel and an airport) will not be systematically considered as located at a same and unique place. Each peer typically issues a (first) ping message and a (second) traceroute message each time it leaves a network or returns to a network, allowing for a determination of its geographic position.
Le procédé selon l'invention comprend deux étapes principales.The method according to the invention comprises two main stages.
Une première étape principale comprend deux sous-étapes (i et ii). Elle est destinée à déterminer (estimer) la topologie de la partie du réseau RC à laquelle un nouveau pair Pi est rattaché. Cette première étape est effectuée chaque fois qu'un nouveau pair Pi se connecte au réseau RC. Elle nécessite que le réseau RC comprenne parmi sa multiplicité de nœuds de communication Rj un certain nombre de nœuds dits « nœuds repère » (ou « landmarks ») Lk ayant une position fixe connue et donc une adresse de communication (par
exemple IP) fixe et connue.A first main step comprises two substeps (i and ii). It is intended to determine (estimate) the topology of the part of the network RC to which a new peer Pi is attached. This first step is performed each time a new peer Pi connects to the RC network. It requires that the network RC comprises among its multiplicity of communication nodes Rj a number of nodes called "landmark nodes" (or "landmarks") Lk having a known fixed position and therefore a communication address (by example IP) fixed and known.
Ces nœuds repère Lk sont par exemple des équipements de réseau qui ont un rôle plus important que les autres au sein du réseau RC. Il peut par exemple s'agir de ce que l'homme de l'art appelle des super nœuds qui s'occupent de nœuds situés dans leur voisinage. Ils sont de préférence répartis dans tout le réseau RC.These nodes Lk landmark are for example network equipment that have a greater role than others in the RC network. It can for example be what the skilled person calls super nodes that deal with nodes located in their vicinity. They are preferably distributed throughout the RC network.
Il n'y a pas de contrainte sur les positions des nœuds repère Lk. Mais, il est préférable de les placer dans une zone centrale du réseau RC afin qu'ils soient à peu près à la même distance de tous les pairs Pi pour réduire le trafic de seconds messages (par exemple de type traceroute). Pratiquement, il peut s'agir de routeurs qui sont implantés dans le cœur de réseau (ou « core network ») du réseau RC. Il suffit en effet qu'un nœud de communication Rj soit capable de répondre à des premiers messages (par exemple de type ping) pour pouvoir devenir un nœud repère Lk.There is no constraint on the positions of the reference nodes Lk. But, it is preferable to place them in a central area of the RC network so that they are approximately the same distance from all the pe pairs Pi to reduce the traffic of second messages (for example of the traceroute type). Practically, these may be routers that are located in the core network (or "core network") of the RC network. It is sufficient for a communication node Rj to be able to respond to first messages (for example of the ping type) in order to become a reference node Lk.
Par ailleurs, plus il y a de nœuds repère Lk, plus les estimations pourront être précises. Mais, pour une question de coût, on comprendra que le nombre de nœuds repère Lk résulte dans la pratique d'un compromis entre la précision recherchée et le coût. Typiquement, une dizaine de nœuds repère Lk constitue un bon compris.On the other hand, the more Lk landmark nodes, the more precise the estimates can be. But, for a question of cost, it will be understood that the number of nodes Lk index results in practice a compromise between the desired accuracy and cost. Typically, a dozen nodes Lk landmark is a good understood.
La première sous-étape (i) de cette première étape principale consiste, en cas de détection d'un nouveau pair Pi, à déterminer au sein du réseau RC le nœud repère Lk qui est le plus proche de ce nouveau pair Pi.The first substep (i) of this first main step is, in case of detection of a new peer Pi, to determine within the RC network the reference node Lk which is closest to this new peer Pi.
Cette première sous-étape (i) est préférentiellement effectuée par le nouveau pair Pi. Pour ce faire, l'équipement UEi qu'il utilise pour se connecter au réseau RC doit comprendre (comme illustré), ou être couplé à, un dispositif d'analyse D selon l'invention.This first substep (i) is preferably performed by the new peer Pi. To do this, the equipment UEi that it uses to connect to the network RC must comprise (as illustrated), or be coupled to, a device of D analysis according to the invention.
Afin de déterminer le nœud repère Lk qui est le plus proche d'un équipement UEi d'un nouveau pair Pi, au moins deux méthodes peuvent être envisagées.In order to determine the reference node Lk which is the closest to a UEi equipment of a new peer Pi, at least two methods can be envisaged.
Dans une première méthode, le dispositif d'analyse D du nouveau pair Pi commence par générer, à destination de chacun des nœuds repère Lk du réseau RC, un premier message d'interrogation requérant une réponse.
Chaque premier message d'interrogation généré peut par exemple (bien que non limitativement) être de type « ping ».In a first method, the analysis device D of the new peer Pi first generates, to each of the reference nodes Lk of the network RC, a first interrogation message requesting a response. Each first generated interrogation message may for example (although not exclusively) be of the "ping" type.
On comprendra que chaque premier message d'interrogation qui est généré par un dispositif d'analyse D est transmis dans le réseau RC par l'équipement UEi auquel il est associé. Le dispositif d'analyse D (ou l'équipement associé UEi est censé connaître l'adresse de communication de chaque nœud repère Lk du réseau RC.It will be understood that each first interrogation message that is generated by an analysis device D is transmitted in the network RC by the equipment UEi with which it is associated. The analysis device D (or the associated equipment UEi is supposed to know the communication address of each reference node Lk of the network RC.
Dès qu'un premier message d'interrogation est transmis à destination d'un nœud repère Lk, le dispositif d'analyse D déclenche un comptage temporel qu'il interrompt lorsque son équipement UEi reçoit de ce nœud repère Lk un message de réponse correspondant. Le dispositif d'analyse D peut ainsi déterminer le temps (RTT) qui s'est écoulé entre l'instant de transmission de chaque premier message d'interrogation et l'instant de réception de chaque message de réponse correspondant. Une fois que le dispositif d'analyse D dispose des temps écoulés pour les différents nœuds repère Lk du réseau RC, il n'a plus qu'à les comparer entre eux afin de déterminer celui qui est le plus court et qui correspond au nœud repère Lk qui est le plus proche de son équipement UEi.As soon as a first interrogation message is transmitted to a reference node Lk, the analysis device D triggers a time count which it interrupts when its equipment UEi receives from this reference node Lk a corresponding response message. The analysis device D can thus determine the time (RTT) which has elapsed between the instant of transmission of each first interrogation message and the instant of reception of each corresponding response message. Once the analysis device D has elapsed times for the various nodes Lk mark of the network RC, it only has to compare them to determine the one which is the shortest and which corresponds to the cue node Lk which is closest to his UEi equipment.
On notera qu'il est avantageux que le dispositif d'analyse D réitère plusieurs fois (au moins deux) ses générations de premiers messages d'interrogation à destination des nœuds repère Lk et les calculs des temps écoulés correspondants, en raison des fluctuations des temps de transmission qui peuvent survenir dans le réseau RC. Dans ce cas, le dispositif d'analyse D détermine pour chaque nœud repère Lk le temps écoulé minimum parmi tous ceux qu'il a obtenu, puis il compare entre eux les temps écoulés minimum correspondant aux différents nœuds repère Lk afin de retenir le nœud repère qui est associé au temps écoulé minimum le plus petit.It will be noted that it is advantageous for the analysis device D to repeat several times (at least two) its generations of first interrogation messages towards the reference nodes Lk and the corresponding elapsed time calculations, because of the fluctuations of the times. transmission that may occur in the RC network. In this case, the analysis device D determines for each reference node Lk the minimum elapsed time among all those it has obtained, then compares the minimum elapsed times corresponding to the different reference nodes Lk in order to retain the reference node. which is associated with the minimum elapsed time.
On a schématiquement représenté dans l'exemple non limitatif de la figure 2, un réseau RC ne comprenant que quatre nœuds repère L1 à L4 (k = 1 à 4) et huit pairs P1 à P8 (i = 1 à 8). Les pairs P1 à P6 sont « d'anciens » pairs déjà connus du réseau RC, tandis que les pairs P7 et P8 sont de nouveaux pairs qui viennent de se connecter. Dans cet exemple, l'équipement UE7 du
nouveau pair P7, tout comme l'équipement UE8 du nouveau pair P8, adresse aux quatre nœuds repère L1 à L4 respectivement quatre premiers messages d'interrogation (par exemple de type ping). Ici, le dispositif D associé au nouveau pair P7 retient comme nœud repère le plus proche celui qui est référencé L2 (et qui est le nœud R1 ), tandis que le dispositif D associé au nouveau pair P8 retient comme nœud repère le plus proche celui qui est référencé L4 (et qui est le nœud R3).FIG. 2 diagrammatically shows a network RC comprising only four reference nodes L1 to L4 (k = 1 to 4) and eight pairs P1 to P8 (i = 1 to 8). Peers P1 to P6 are "old" peers already known to the RC network, while peers P7 and P8 are new peers who have just connected. In this example, the UE7 equipment of the new peer P7, just like the equipment UE8 of the new peer P8, addresses to the four nodes L1 to L4 respectively four first interrogation messages (for example ping type). Here, the device D associated with the new peer P7 retains as the nearest reference node the one that is referenced L2 (and which is the node R1), while the device D associated with the new peer P8 retains as the nearest reference node the one that is referenced L4 (and which is the node R3).
Dans une seconde méthode, le dispositif d'analyse D du nouveau pair Pi commence par générer, à destination de nœuds repère Lk qui sont désignés dans une liste qu'il a par exemple reçue du réseau RC, un premier message d'interrogation requérant une réponse.In a second method, the analysis device D of the new peer Pi begins by generating, to destination nodes Lk which are designated in a list that it has for example received from the network RC, a first interrogation message requiring a reply.
De nouveau, chaque premier message d'interrogation généré peut par exemple (bien que non limitativement) être de type « ping ».Once again, each first generated interrogation message may for example (although not exclusively) be of the "ping" type.
L'adresse de communication de chaque nœud repère Lk de la liste est contenue dans cette liste.The communication address of each reference node Lk of the list is contained in this list.
Dès qu'un premier message d'interrogation est transmis à destination d'un nœud repère Lk de la liste, le dispositif d'analyse D déclenche un comptage temporel qu'il interrompt lorsque son équipement UEi reçoit de ce nœud repère Lk un message de réponse correspondant. Une fois que le dispositif d'analyse D dispose des temps écoulés pour les différents nœuds repère Lk de la liste, il n'a plus qu'à les comparer entre eux afin de déterminer celui qui est le plus court et qui correspond au nœud repère Lk qui est le plus proche de son équipement UEi.As soon as a first interrogation message is transmitted to a reference node Lk of the list, the analysis device D triggers a time count which it interrupts when its equipment UEi receives from this reference node Lk a message of corresponding answer. Once the analysis device D has elapsed times for the different nodes Lk of the list, it only has to compare them to determine the one which is the shortest and which corresponds to the reference node Lk which is closest to his UEi equipment.
On notera qu'il est également avantageux que le dispositif d'analyse D réitère plusieurs fois (au moins deux) ses générations de premiers messages d'interrogation à destination des nœuds repère Lk de la liste et les calculs des temps écoulés correspondants. Dans ce cas, il détermine pour chaque nœud repère Lk de la liste le temps écoulé minimum parmi tous ceux qu'il a obtenu, puis il compare entre eux les temps écoulés minimum correspondant aux différents nœuds repère Lk de la liste afin de retenir le nœud repère qui est associé au temps écoulé minimum le plus petit.Note that it is also advantageous for the analysis device D to repeat several times (at least two) its generations of first interrogation messages to the reference nodes Lk of the list and the corresponding elapsed time calculations. In this case, it determines for each reference node Lk of the list the minimum elapsed time among all those it has obtained, and then compares the minimum elapsed times corresponding to the different reference nodes Lk of the list to retain the node. reference that is associated with the minimum elapsed time.
La seconde sous-étape (ii) de la première étape principale consiste à
déterminer parmi la multiplicité de nœuds Rj du réseau RC ceux, dits intermédiaires, qui définissent le chemin Cik qui relie le nouveau pair Pi au nœud repère Lk qui vient d'être déterminé et qui est le plus proche de ce nouveau pair Pi.The second sub-step (ii) of the first main step consists of determine among the multiplicity of nodes Rj of the network RC those, said intermediaries, which define the path Cik which connects the new peer Pi to the index node Lk which has just been determined and which is closest to this new peer Pi.
On comprendra qu'un chemin Cik est défini par les adresses de communication d'un nouveau pair Pi et d'un nœud repère Lk, ainsi que généralement d'au moins un nœud intermédiaire Rj.It will be understood that a path Cik is defined by the communication addresses of a new peer Pi and a reference node Lk, as well as generally of at least one intermediate node Rj.
Cette seconde sous-étape (ii) est également et préférentiellement effectuée par le nouveau pair Pi, et plus précisément par le dispositif d'analyse D de l'équipement UEi qu'il utilise pour se connecter au réseau RC.This second substep (ii) is also and preferably performed by the new peer Pi, and more specifically by the analysis device D UEi equipment it uses to connect to the RC network.
Afin de déterminer le chemin Cik, le dispositif d'analyse D du nouveau pair Pi commence par générer, à destination du nœud repère Lk qui vient d'être déterminé et qui est le plus proche de lui, un second message d'interrogation requérant une réponse de sa part et de la part de chaque nœud intermédiaire Rj qui le précède.In order to determine the path Cik, the analysis device D of the new peer Pi first generates, to the nearest reference node Lk which has been determined and which is closest to it, a second interrogation message requiring a response from him and from each intermediate node Rj that precedes it.
Chaque second message d'interrogation généré peut par exemple (bien que non limitativement) être de type « traceroute ».Each second interrogation message generated may for example (although not exclusively) be of the "traceroute" type.
On comprendra que chaque second message d'interrogation qui est généré par un dispositif d'analyse D est transmis dans le réseau RC par l'équipement UEi auquel il est associé à destination du nœud repère Lk déterminé.It will be understood that each second interrogation message that is generated by an analysis device D is transmitted in the network RC by the equipment UEi with which it is associated to the determined reference node Lk.
Dès que le second message d'interrogation est reçu par un nœud intermédiaire Rj situé sur le trajet qu'il emprunte entre le nouveau pair Pi et le nœud repère Lk déterminé, ce nœud intermédiaire Rj transmet à destination du nouveau pair Pi un message de réponse contenant sa propre adresse de communication (ou identifiant).As soon as the second interrogation message is received by an intermediate node Rj located on the path that it takes between the new peer Pi and the determined reference node Lk, this intermediate node Rj transmits to the new peer Pi a response message. containing its own communication address (or identifier).
Le dispositif d'analyse D associé au nouveau pair Pi est ainsi informé des adresses de communication (ou identifiants) des nœuds intermédiaires Rj qui définissent le chemin Cik reliant son nouveau pair Pi au nœud repère Lk déterminé. Il dispose alors, en quelque sorte, de la topologie de réseau relative à son nouveau pair Pi.The analysis device D associated with the new peer Pi is thus informed of the communication addresses (or identifiers) of the intermediate nodes Rj which define the path Cik connecting its new peer Pi to the determined reference node Lk. It then has, so to speak, the network topology relative to its new peer Pi.
On a schématiquement représenté dans l'exemple non limitatif de la
figure 3, quatre nœuds intermédiaires R2, R4, R6 et R7 qui se trouvent par exemple placés dans le cercle de la figure 2 qui contient le nœud repère L2 (R1) et les pairs P1 , P3 et P7. Ici, les pairs P3 et P7 sont connectés au nœud intermédiaire R7, tandis que le pair P1 est connecté au nœud intermédiaire R4. Dans cet exemple, l'équipement UE7 du nouveau pair P7 adresse au nœud repère L2 un second message d'interrogation (par exemple de type traceroute). Le dispositif D, associé au nouveau pair P7, reçoit des messages de réponse à son second message des nœuds intermédiaires R7, R6 et R2, si bien qu'il en déduit que le chemin C72 qui relie le nouveau pair P7 au nœud repère L2 passe par ces trois nœuds intermédiaires R7, R6 et R2.It is schematically represented in the nonlimiting example of the FIG. 3, four intermediate nodes R2, R4, R6 and R7 which are for example placed in the circle of FIG. 2 which contains the reference node L2 (R1) and the pairs P1, P3 and P7. Here, the peers P3 and P7 are connected to the intermediate node R7, while the peer P1 is connected to the intermediate node R4. In this example, the UE7 device of the new peer P7 addresses to the node L2 reference a second interrogation message (for example traceroute type). The device D, associated with the new peer P7, receives response messages at its second message from the intermediate nodes R7, R6 and R2, so that it deduces that the path C72 connecting the new peer P7 to the reference node L2 passes by these three intermediate nodes R7, R6 and R2.
La seconde étape principale (iii) du procédé selon l'invention débute après la détermination du chemin Cik qui relie un nouveau pair Pi à un nœud repère Lk (le plus proche). Elle consiste à déterminer un groupe de pairs Pi' (i' ≠ i) qui sont situés dans le voisinage (physique et non logique) du nouveau pair Pi en fonction au moins de la définition de son chemin Cik (qui vient d'être déterminé) et des définitions (déjà connues) des chemins Ci'k qui relient d'autres pairs Pi' (connectés au réseau RC) à au moins le nœud repère Lk déterminé lors de la première étape principale.The second main step (iii) of the method according to the invention begins after the determination of the path Cik which connects a new peer Pi to a reference node Lk (the closest). It consists in determining a peer group Pi '(i' ≠ i) which are located in the neighborhood (physical and non-logical) of the new peer Pi as a function at least of the definition of its path Cik (which has just been determined ) and (already known) definitions of the paths Ci'k which connect other pairs Pi '(connected to the network RC) to at least the reference node Lk determined during the first main step.
En d'autres termes, le groupe de pairs Pi' voisins d'un nouveau pair Pi est déterminé en fonction (au moins) de la topologie de réseau relative à ce nouveau pair Pi (définie par son chemin Cik) et des topologies de réseau relatives au moins aux pairs Pi' (définies par leurs chemins respectifs Ci'k) qui ont pour nœud repère le plus proche le même que celui Lk du nouveau pair Pi.In other words, the peer group Pi 'neighbors of a new peer Pi is determined based (at least) on the network topology relative to this new peer Pi (defined by its path Cik) and network topologies relating at least to the pairs Pi '(defined by their respective paths Ci'k) which have the nearest reference node the same as that Lk of the new peer Pi.
De préférence, cette détermination se fait plus précisément en fonction au moins des pairs Pi' qui sont associés à des chemins Ci'k passant par au moins un nœud intermédiaire Rj par lequel passe également le chemin Cik qui relie le nouveau pair Pi au nœud repère Lk déterminé (le plus proche). Dans l'exemple non limitatif de la figure 3, les pairs P3 et P1 satisfont à cette contrainte de nœud(s) intermédiaire(s) Rj commun(s) avec le nouveau pair P7, puisque le chemin C32 du pair P3 passe par les mêmes nœuds intermédiaires R7, R6 et R2 que le chemin C72 du nouveau pair P7 et le chemin C12 du pair P1 passe par le même nœud intermédiaire R2 que le chemin C72 du nouveau
pair Pl. Les pairs P1 et P3 constituent donc des candidats potentiels pour le groupe de pairs qui doit être déterminé pour le nouveau pair Pl.Preferably, this determination is made more precisely according to at least pairs Pi 'which are associated with paths Ci'k passing through at least one intermediate node Rj through which also the path Cik which links the new peer Pi to the fiducial node Lk determined (nearest). In the nonlimiting example of FIG. 3, the peers P3 and P1 satisfy this constraint of intermediate node (s) Rj common with the new peer P7, since the path C32 of the peer P3 passes through the same intermediate nodes R7, R6 and R2 as the path C72 of the new peer P7 and the path C12 of the peer P1 passes through the same intermediate node R2 as the path C72 of the new peer P1 and P3 therefore constitute potential candidates for the peer group to be determined for the new peer Pl.
Ce type de détermination est notablement facilité lorsque chaque définition de chemin Cik délivrée par un dispositif D est ordonnée. On entend par « définition ordonnée » la liste ordonnée des adresses de communication (ou identifiants) d'un nouveau pair Pi, puis du premier nœud intermédiaire Rj auquel il est connecté, puis de chaque éventuel autre nœud intermédiaire Rj' situé entre ce premier nœud intermédiaire Rj et le nœud repère Lk déterminé, et enfin du nœud repère Lk.This type of determination is notably facilitated when each path definition Cik delivered by a device D is ordered. By "ordered definition" is meant the ordered list of communication addresses (or identifiers) of a new peer Pi, then of the first intermediate node Rj to which it is connected, then of each possible other intermediate node Rj 'situated between this first node intermediate Rj and the reference node Lk determined, and finally the reference node Lk.
Il est important de noter que pour déterminer le groupe de pairs Pi' situés dans le voisinage d'un nouveau pair Pi on peut également utiliser au moins un critère.It is important to note that in order to determine the peer group Pi 'located in the neighborhood of a new peer Pi, it is also possible to use at least one criterion.
Parmi ces critères, il en est un qui est particulièrement utile lorsque l'on veut limiter le trafic au sein d'un réseau RC. Il s'agit du nombre de nœuds intermédiaires Rj qui séparent un pair Pi' d'un nouveau pair Pi. On comprendra en effet que plus le nombre de nœuds intermédiaires Rj qui séparent un pair Pi' d'un nouveau pair Pi est réduit, moins l'on utilisera de ressources dans le réseau RC. Par conséquent, il est avantageux de limiter autant que possible le nombre de sauts nécessaires à la transmission de données de contenu entre deux pairs Pi' et Pi. On notera que le nombre de sauts constitue un critère de distance, un pair Pi' étant alors considéré comme « bon » pour un nouveau pair Pi s'il est peu distant de ce dernier.Among these criteria, there is one that is particularly useful when one wants to limit the traffic within an RC network. It is the number of intermediate nodes Rj which separate a pair Pi 'from a new peer Pi. It will be understood that the more the number of intermediate nodes Rj which separate a pair Pi' from a new peer Pi is reduced, the less resources will be used in the RC network. Therefore, it is advantageous to limit as much as possible the number of jumps necessary for the transmission of content data between two peers Pi 'and Pi. It will be noted that the number of jumps constitutes a distance criterion, a pair Pi being then considered "good" for a new peer Pi if it is not far from the latter.
On peut ainsi ne sélectionner que des pairs Pi' qui sont joignables par un nouveau pair Pi au moyen d'un nombre de sauts (ou distance) inférieur(e) à un seuil choisi. En variante, on peut tout d'abord classer tous les pairs Pi' par nombre de sauts (ou distance) croissant(e) et ne sélectionner que les N premiers pairs Pi' (par exemple N = 200). Dans ces exemples, on peut par exemple constituer une liste de pairs comportant pour chaque pair Pi' du groupe déterminé son identifiant de pair et son adresse de communication (par exemple son adresse IP), ainsi que de préférence le nombre de sauts nécessaires pour le joindre. Au sein d'une telle liste, les pairs Pi' peuvent par exemple être classés par nombre de sauts croissant.
Mais, d'autres critères de sélection peuvent être utilisés, comme par exemple (et non limitativement) la bande passante qui est disponible entre un pair Pi' et un nouveau pair Pi. En fait, le(s) chtère(s) utilisé(s) dépend(ent) du (des) paramètre(s) de réseau que l'on veut optimiser, et donc du type de qualité de connexion que l'on veut obtenir. Parmi ces autres critères on peut notamment citer la qualité et/ou la quantité de données de contenu, la disponibilité temporaire d'un pair Pi' (et donc des contenus qu'il stocke), et le comportement d'un pair Pi' vis-à-vis d'autres pairs Pi" (par exemple défini par une note).It is thus possible to select only pe 'Pi' which are reachable by a new peer Pi by means of a number of hops (or distance) lower (e) to a chosen threshold. As a variant, it is possible first of all to classify all the pairs Pi 'by the number of jumps (or distance) increasing (e) and to select only the first N pairs Pi' (for example N = 200). In these examples, it is possible, for example, to constitute a list of peers comprising, for each peer Pi 'of the determined group, its peer identifier and its communication address (for example its IP address), as well as preferably the number of hops required for the peer. join. Within such a list, the pe 'Pi' can for example be classified by increasing number of jumps. But, other selection criteria can be used, for example (and not limited to) the bandwidth that is available between a peer Pi 'and a new peer Pi. In fact, the (s) chter (s) used ( s) depends on the network parameter (s) that one wants to optimize, and therefore on the type of connection quality that one wants to obtain. These other criteria include the quality and / or the quantity of content data, the temporary availability of a pair Pi '(and therefore the contents it stores), and the behavior of a pair Pi' vis to other peers Pi "(eg defined by a note).
La seconde étape principale est préférentiellement effectuée par un serveur SR qui est connecté au réseau RC (comme illustré de façon non limitative sur la figure 1) ou qui fait partie du réseau RC, et qui agit de façon centralisée. Chaque définition de chemin Cik associée à un nouveau pair Pi est donc transmise à ce serveur SR qui la stocke dans des moyens de stockage, comme par exemple une mémoire ou une base de données. Le serveur SR dispose ainsi à chaque instant des informations qui définissent la topologie entière en cours du réseau RC.The second main step is preferably performed by a server SR which is connected to the network RC (as shown in a nonlimiting manner in FIG. 1) or which is part of the network RC, and which acts centrally. Each path definition Cik associated with a new peer Pi is therefore transmitted to this server SR which stores it in storage means, such as a memory or a database. The SR server thus has at every moment information that defines the current whole topology of the RC network.
On comprendra que grâce à toutes les définitions de chemin Cik fournies par les pairs Pi, le serveur SR peut reconstituer une topologie « synthétique » entière par « agrégation » de chemins Cik, qui vise à représenter le vrai réseau de communication RC, et à partir de laquelle il peut effectuer la sélection des pairs Pi' qui sont situés dans le voisinage physique (et non logique) des pairs Pi.It will be understood that, thanks to all the path definitions Cik provided by the pairs Pi, the server SR can reconstitute an entire "synthetic" topology by "aggregation" of paths Cik, which aims to represent the real communication network RC, and from from which he can make the selection of the pe 'Pi' which are located in the physical (and not logical) neighborhood of the Pi peers.
On notera que pour que la topologie entière soit véritablement représentative de la situation en cours, il est préférable que chaque pair Pi connecté au réseau RC signale sa présence en transmettant au serveur SR un troisième message de façon périodique. Ce dernier peut par exemple être de type « hello ». Le serveur SR peut ainsi mettre à jour régulièrement les informations qui définissent la topologie entière du réseau RC.Note that for the entire topology to be truly representative of the current situation, it is preferable that each pair Pi connected to the network RC signals its presence by transmitting a third message to the server SR periodically. The latter can for example be of type "hello". The server SR can thus regularly update the information that defines the entire topology of the network RC.
Le serveur SR transmet au nouveau pair Pi, dans un message dédié, la liste qui désigne les pairs Pi' du groupe qu'il a déterminé pour lui. Le nouveau pair Pi peut alors s'en servir afin d'établir des connexions avec les meilleurs
pairs Pi' de cette liste (par exemple ceux qui sont associés aux nombres de sauts les plus faibles).The server SR transmits to the new peer Pi, in a dedicated message, the list which designates pe 'Pi' group he has determined for him. The new peer Pi can then use it to establish connections with the best Pi 'peers of this list (for example those associated with the lowest numbers of jumps).
On notera également que le dispositif d'analyse D selon l'invention peut être réalisé sous la forme de modules logiciels (« software »). Mais, il peut être également réalisé en partie ou intégralement sous la forme de circuits électroniques (« hardware ») ou d'une combinaison de modules logiciels et de circuits électroniques.It will also be noted that the analysis device D according to the invention can be implemented in the form of software modules ("software"). But, it can also be realized partly or wholly in the form of electronic circuits ("hardware") or a combination of software modules and electronic circuits.
L'invention offre un certain nombre d'avantages, parmi lesquels :The invention offers a number of advantages, among which:
- un nombre réduit d'opérations à effectuer au niveau du serveur centralisé, étant donné que toutes les déterminations de chemin Cik sont effectuées par les nouveaux pairs Pi,a reduced number of operations to be performed at the centralized server, since all the Cik path determinations are made by the new pe members Pi,
- le trafic provoqué par les déterminations de chemin Cik est limité du fait que ces déterminations sont destinées à déterminer les nœuds repère qui sont les plus proches des nouveaux pairs,the traffic caused by the Cik path determinations is limited because these determinations are intended to determine the reference nodes that are closest to the new peers,
- l'utilisation d'un serveur centralisé offre plus de possibilités de contrôle (notamment en matière d'audit, de mesure, de diagnostic, de facturation, et analogues).- the use of a centralized server offers more control possibilities (especially in terms of auditing, measurement, diagnosis, billing, and the like).
L'invention ne se limite pas aux modes de réalisation de dispositif d'analyse, d'équipement de communication, de serveur et de procédé de détermination de pairs voisins décrits ci-avant, seulement à titre d'exemple, mais elle englobe toutes les variantes que pourra envisager l'homme de l'art dans le cadre des revendications ci-après.
The invention is not limited to the analysis device, communication equipment, server and neighbor peering method embodiments described above, by way of example only, but encompasses all variants that may be considered by those skilled in the art within the scope of the claims below.