WO2016110583A1 - Procede de gestion et de fonctionnement protocolaire d'un reseau de distribution de contenu - Google Patents

Procede de gestion et de fonctionnement protocolaire d'un reseau de distribution de contenu Download PDF

Info

Publication number
WO2016110583A1
WO2016110583A1 PCT/EP2016/050307 EP2016050307W WO2016110583A1 WO 2016110583 A1 WO2016110583 A1 WO 2016110583A1 EP 2016050307 W EP2016050307 W EP 2016050307W WO 2016110583 A1 WO2016110583 A1 WO 2016110583A1
Authority
WO
WIPO (PCT)
Prior art keywords
peer
network
peers
piece
content
Prior art date
Application number
PCT/EP2016/050307
Other languages
English (en)
Inventor
Soufiane Rouibia
Bastien Casalta
Imane MNIE-FILALI
Original Assignee
Trident Media Guard Tmg
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Trident Media Guard Tmg filed Critical Trident Media Guard Tmg
Priority to EP16700952.1A priority Critical patent/EP3243315A1/fr
Priority to US15/542,581 priority patent/US20170374142A1/en
Publication of WO2016110583A1 publication Critical patent/WO2016110583A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers

Definitions

  • the present invention relates to methods and computer program products for exerting an action on the management of peer-to-peer networks, also called P2P, and the dissemination of information in these networks, operating according to an exchange protocol.
  • P2P peer-to-peer networks
  • Peer-to-Peer is a network approach where all users, called peers, behave as both a client and a server depending on the nature of the request they receive. This procedure provides fast and efficient sharing in which content is available within multiple devices by replication.
  • peer-to-peer architecture adapts to changes in the size of the network, the latter generating in particular its own organization to the addition of a new peer.
  • the operations of the peer-to-peer networks mentioned above are globally similar to each other. The few differences are in the methods of distribution or provision of content, and in the policy of choosing the peer to serve.
  • a peer who wants to share content makes it accessible by proposing for example a "torrent" file, in the case of the BitTorrent network, or by connecting to an application, such as eMule or Shareaza for the eDonkey networks or Gnutella, which offers a search tool and makes some of the peer's personal storage space available to other connected peers.
  • the BitTorrent network exchange protocol uses powerful bandwidth peers to ensure network survival, by randomly selecting the first list sent by a "tracker", which is a server listing which peers are involved in the distribution desired content.
  • Other networks operate on a waiting list, for example with an age coefficient in the case of the eDonkey network.
  • the contents are not directly available.
  • the peer must search for a file corresponding to the desired content on Internet sites that act as directories, called meta-information files.
  • the peer launches its application and begins sharing with a peer group built around that same content.
  • the desired content may be available on an Internet page, which requires the launch of an extension module, or "plugin” in English, on the page.
  • Internet browser or "browser” in English, for example the AceStream plug-in.
  • launching an application after retrieving the link broadcasting the content may be necessary, for example the Sopcast or AceStream applications.
  • the peer contacts a tracker, which responds with a list of peers who already have or are downloading the desired content.
  • the peer sends queries to the list of peers sent by the tracker and starts sharing if they accept.
  • Exchange protocols for peer-to-peer networks are used to define a basic operation to manage different exchanges between peers.
  • peers in the network can exchange peers lists to find the most suitable peer, a step called "peer exchange" in English.
  • This technique makes it possible to use the bandwidth of the peers downloading content for searching for peers, information and content present in the network, instead of using the bandwidth of the network server.
  • a peer who has finished downloading a piece of content may send to the other peers with which he is connected an acknowledgment message, "Hâve message” in English, indicating that the peer has received a piece and has verified its integrity through hash tables.
  • This allows to have a local vision, limited to the vicinity of said peer, that is to say to the peers with which it is connected, the progress of these neighboring peers in the download.
  • Peers can also know who to turn to for parts that interest them. This also allows you to calculate the rarest piece in a certain neighborhood and ask for it later.
  • peers may send a message to signal their interest, "interested" in English.
  • the peer In response to this message of interest, if the peer agrees to share the piece, he may send an acceptance message, "unchocke message” in English. If not, it sends a refusal message, "choke” in English, and puts the interested peer on hold.
  • the peers can exchange with each other a message containing a string of bits indicating the possession or not of a piece, a message called "Bitfield" in English.
  • trackers listing which peers are involved in the distribution of the searched content only serve as a directory role.
  • the trackers send an initial peer list to which the current peer, called “user”, can connect and passively collect information, such as the numbers of peers connected, the size of the desired content, information from hashes for the integrity of file sharing, "hash information" in English, the timestamp of content, or "timestamp” in English, especially in the case of real-time sharing.
  • these trackers can quickly be overloaded.
  • the power of a peer's bandwidth may further privilege it more than others, allowing it to be served throughout its connection.
  • Some peers may have selfish behavior by not making other peers, also known as “network nodes”, benefit from their good bandwidth.
  • network nodes also known as “network nodes”
  • peers do not invest in the survival of the network and do not seek to help other peers in difficulty because of their low download rates: the notion of "super-node” or "super-peer” is nonexistent.
  • the application FR 2 989 241 describes a method for broadcasting content in client / server mode to at least one client in a format allowing its subsequent distribution. in P2P mode. To do this, the client receives the IP coordinates and the port of the other clients of the network when broadcasting a piece of content in client / server mode.
  • the application EP 2 109 289 discloses a method for facilitating the distribution of content in P2P mode.
  • a peer can know the other members of the swarm through a stream of metadata received with the content and containing information to identify the members of the swarm, these metadata being used directly by the peer to optimize the swarm and reception of content.
  • peers only have a local view of the state of the network, which limits their actions within it. They do not know for example where the download of any particular piece at the network level, are not aware of the rarest part of the network, the average download rate, the overall power of the network nor of its real size.
  • the aim of the invention is to meet this need and it succeeds, according to one of its aspects, thanks to a method of managing a peer-to-peer network operating according to at least one exchange protocol intended to broadcast data. pieces of content within said network between a plurality of peers,
  • the peer receiving said piece further receives status information from the peer-to-peer network having at least one value of a network parameter from peers other than those with which the peer is connected,
  • the peer determines, from said information accompanying the piece received, at least one at least partially updated value of the parameter of the peer-to-peer network, in order to induce an operation of the protocol exchange dependent on said at least one updated value of the network parameter and at least one parameter representative of the state of said peer.
  • the operation of the exchange protocol can thus depend on the updated values of the network parameters after each coin reception by a peer.
  • An operation of the exchange protocol depending on the updated values of the network parameters and at least one parameter representative of the state of said pair is advantageously induced.
  • the peers manage themselves, the choice of an adapted protocol position being determined locally by each pair according to its state and from precise information of the state of the network, brought locally to each peer and retrieved from other peers, including remote peers in the network and without direct data exchange with that peer.
  • the exchange protocol is thus evolving, not fixed, taking shape, evolving and adapting through the peers that integrate the network.
  • the invention during exchanges between peers, a calculation of the dynamic aspects of the peers and the network, in particular the bandwidth, the pieces already downloaded, the rare pieces of the neighborhood, the state of the neighborhood peers, is realized simultaneously. to estimate the exact state of the network, giving the possibility to each peer to act on the network according to its state, in order to adopt the most appropriate protocol attitude.
  • the invention makes it possible to involve the peers of the network so that they invest themselves at their true level of capacity in the decision-making, by relating to each peer of the network the global information locally so that he can choose his protocol posture.
  • the combination of the global parameters of the network gives the possibility to the peers to act according to their own capacities. Having a global view of the network allows peers to move forward in a harmonious way in downloading, and to reduce the phenomenon of clusters of peers, very common in this type of network. This allows optimal and decentralized management of the network.
  • CDN content delivery network
  • network-connected peer refers to a peer connected to the network, seeking to retrieve content and / or having at least some of the content sought.
  • peerers other than those with which the peer is connected one must understand distant peers, not belonging to the neighborhood of the peer, which groups together only about 20 to 30 neighboring peers.
  • the method according to the invention thus enables the current peer to have a precise, global and extended network vision, not limited to its vicinity.
  • the invention is also adapted to real-time downloading of content, including content corresponding to television programs, films or sports events. This makes it possible to quickly adapt the behavior of the network throughout the downloading of the pieces forming the content.
  • the content to be downloaded is preferably a multimedia content, being for example in * .arr, * .mpg, * .mov, * .esf, * .wmv, * .dvx, * .qt, * .avi format, among others . It can also be at least one musical file in * .wav format, * .mp3, * .ra, * .ram, * .aiff, * .en * .mid, among others or in images * .jpg, * .bmp, * .png, * .tif, * .ps, * .eps, among others. It can still be software packages, games or any other program, including protected by intellectual property rights.
  • the content is advantageously divided into several pieces of content.
  • Each peer connects advantageously to the network and begins its exchanges by a basic protocol operation, as described above.
  • the status information of the peer-to-peer network comprising at least one value of a network parameter is advantageously transmitted between the peers.
  • the peer rather quickly, for example after the download of about 10 or 15 pieces, the peer thus begins to have a good vision of the network, transported by the neighbors of his neighbors.
  • the information accompanying each piece received by the peer contains at least one value of a parameter concerning the parts shared between the peers, in particular the download rate of each piece or a list. some of the rarest pieces available on the peer-to-peer network.
  • the list of the rarest parts available on the peer-to-peer network can group the indices of the rarest pieces calculated according to "Bitfield" messages sent by each peer to the other peers in the network when connecting to the network and reporting the pieces it has already received, and "Have” acknowledgment messages received by network peers each time a coin is received and containing the index of said piece and the estimate of the index of the rarest part of the network at this time.
  • the information accompanying each piece received by the peer contains at least one value of a parameter relating to the peer-to-peer network itself, in particular the overall bandwidth of the network, the number network peers, the estimated wait time for each part, a potential peer waiting list, or an index of the quality of the peer connection to the network.
  • the overall bandwidth of the network can be calculated from an average bandwidth using an estimate of the bandwidth of the peer made at the moment when the latter begins to download a piece and the sum of the bandwidths contained in the messages received. by peers with which said peer is connected divided by the number of peers having sent said messages.
  • Wi (t) Weight, which is the number of peers who contributed to the download.
  • the information accompanying each piece received by the peer contains at least one value of a parameter concerning the security of the network, in particular the ratio between the number of pieces broadcast and the number of pieces received or a reliability index on the presence of false content pieces. This ratio makes it possible to evaluate the number of pieces "lost" on the network during their distribution.
  • This reliability index is used to calculate the number of malicious peers, in order to measure the effectiveness of the network and its level of security.
  • the peer advantageously checks whether the piece received corresponds to the expected piece or if it is corrupted content, using hash tables, including SHA1 technology. In the second hypothesis, the peer may increment said reliability index of the number of new malicious peers transmitting the corrupted content.
  • the maximum value between the value of the reliability index of the peer and those of neighboring peers is advantageously recorded and sent by the peer in the message "Have".
  • Said reliability index is preferably reset periodically, in order to avoid ending up with an erroneous index, especially in the case where malicious peers leave the network at the instant t when the corrupted content is received. This makes it possible to have a more accurate view of the security level of the network, based on the coins received from time t + 1 and on the reliability indices of neighboring peers calculated in the same way.
  • the parameter representative of the peer state and used to adapt the operation of the exchange protocol may concern its bandwidth, its quality of connection, the parts already received and / or the power of the processor on which the peer operates.
  • the peer advantageously transmits to the other peers of the network said at least one value of a parameter of the peer-to-peer network at least partially updated after receiving a piece of content, in order to contribute to the transport of the state information to other peers, who will in turn be able to update this information and adapt their protocol position.
  • the status information of the peer-to-peer network comprising at least one value of a network parameter and accompanying the broadcast of a piece of content is advantageously inserted into the "Have" acknowledgment message, indicating to the others network peers that such piece, in particular identified by an index, was received by the peer.
  • the network status information can be integrated following the message "Have" of a peer Po, in the form of indices, for example presented as follows: “Have (index piece received, index of the room the most rare, (Bandwidth, Weight), Reliability Index, ...) ", and noted P 0 (Idp, Irp, (B (t), W (t)), Is, ).
  • a peer having a bandwidth greater than a predefined threshold and / or a power processor greater than a predefined threshold may be oriented to at least one other peer suffering from a poorer quality of connection to serve as a gateway to the network, then playing a role of "super-peer".
  • predefined thresholds advantageously depend on the nature of the exchanges on the network, consisting for example of the sharing of files of the network or the exchange of content broadcast in real time, and the quality of the content, for example HD ("High Definition”). in English) or SD (“Standard Definition”).
  • Said predefined bandwidth threshold may be equal to 300 Kb / s, better at 600 Kb / s, for example in the case of SD quality content and broadcast in real time.
  • Said predefined threshold of processor power may be equal to 1 GHz, for example in the case of SD quality content and broadcast in real time.
  • a peer having a bandwidth less than said predefined threshold is oriented towards areas of the network comprising peers having higher bandwidths.
  • the peer may have sufficient bandwidth, but later, for example, other tasks may be performed on the processor of the device by which it is connected to the network, thus decreasing its bandwidth, and therefore its quality of service. Thanks to the invention, the peer can adapt its protocol position within the network according to the evolution of its bandwidth and its global knowledge of the network.
  • the action of the peer on the network can be in the form of a disconnection of a peer or peer group in the network to connect to another peer or group in order to smoothly advance the download. .
  • the peer may move to another peer group in the network more appropriate according to its resources.
  • a peer having a bandwidth greater than the overall bandwidth of the network may be disconnected from a portion of the peers with which it is connected in order to be connected to peers in the network with lower bandwidth.
  • a peer comprising rare pieces is oriented towards areas of the network where the entropy of said parts rare is weak. This allows remote peers to also benefit from these rare contents. Indeed, in a peer-to-peer network, peers may own no part, some parts, or all parts of the content.
  • the bandwidth parameters and the list of the rarest parts can serve as orientation rule: a peer that shares a high download average represents a neighborhood with an interesting download average. Peers who have difficulty starting their downloads in a consistent manner can move on their own to be able to track the download speed of the network.
  • the distribution of the pieces within the network can be switched from the peer-to-peer mode to said client / mode. server according to the values of the network parameters updated after each reception of a piece of content and at least one parameter representative of the state of said peer.
  • the method according to the invention makes it possible to determine the moment of switching between the two modes and how to proceed. . For example, if the average bandwidth and the size of the network show that the peers are not able to ensure a sufficient quality of service, the additional server or servers will be solicited by the peers most in difficulty to receive the parts and the missing bandwidth. Thanks to the invention, the intervention of servers is accurate and targeted.
  • the invention also relates to a computer program product for implementing the method of managing a peer-to-peer network according to the invention, operating according to at least one exchange protocol. intended to broadcast pieces of content within said network between a plurality of peers, the program product computer having code instructions that, executed on a processor, cause:
  • the peer receiving said piece further receives status information from the peer-to-peer network comprising at least one value of a network parameter from peers other than those with which said peer is connected, and that
  • the peer determines, from said information accompanying the piece received, at least one at least partially updated value of said peer-to-peer network parameter in order to induce an operation of the exchange protocol dependent on said at least one updated value of the network parameter and at least one parameter representative of the state of said pair.
  • a peer Po can integrate, during a step 11, a peer-to-peer network in order to download and share pieces of content.
  • Said peer P 0 advantageously starts its exchanges in the peer-to-peer network by basic protocol operation, using network peer lists exchanged between peers to find the best matched pair according to the desired content.
  • Po peer when finished downloading a piece of content advantageously sends to the other peers of the network with which it is connected a message "Hâve" of acknowledgment, indicating that he received a piece and checked his integrity through hash tables, including SHA1 technology.
  • other peers can send an "interested” message to signal their interest.
  • the peer P 0 if the peer P 0 agrees to share the coin, it can send an "unchocke” acceptance message. Otherwise, it sends a "choke” rejection message, and puts the interested peer on hold.
  • Network peers also exchange advantageously between them a "Bitfield” message comprising a string of bits indicating the possession or not of a part.
  • the state of the network is measured, during a step 12 shown in FIG. 1, during the diffusion of a piece of content between two peers, and the peer P 0 receiving said piece further receives network status information having at least one value of a network parameter from peers other than the peer neighbors of said peer.
  • the state of the peer Po is also advantageously measured.
  • the peer P 0 can determine, from said information accompanying the received part, at least one at least partially updated value of the peer-to-peer network parameter in order to induce, in a step 14, an operation of the exchange protocol depending on the updated values of the parameters of the network and at least one parameter representative of the state of said peer.
  • the status information of the peer-to-peer network comprising at least one value of a network parameter and accompanying the broadcasting of a piece of content, during a step 21, can be inserted in a message "Have”.
  • the peer P 0 After each reception of a room, as shown in FIG. 2, the peer P 0 transmits to the other peers of the network Pi ... P N said at least one value of a parameter of the at least partially updated peer-to-peer network.
  • said information accompanying each piece received by the peer Po advantageously contains at least one value of a parameter relating to the pieces shared between the peers, for example a list of the rarest pieces available on the peer-to-peer network. peer.
  • This list of the rarest parts available on the peer-to-peer network can gather the indices of the rarest pieces calculated according to "Bitfield" messages sent by each peer to the other peers of the network during its connection to the network and signaling the parts it has already received, and "Have" messages received by network peers each time a coin is received containing the index of the coin and the estimate of the index of the rarest coin in the network at this moment.
  • a bit equal to 0 advantageously corresponds to a missing piece, a bit equal to 1 corresponding to a coin in possession.
  • the index of the rarest piece then corresponds advantageously to: Min (sum Bitfields).
  • the peers Pi, P 2 and P 3 can include in their messages "Hâve" information Pi (index of the downloaded part, the rarest piece according to the global vision of the peer), for example: Pi (1,5), P 2 (11, 9) and P 3 ( 3, 13 ).
  • Pi index of the downloaded part, the rarest piece according to the global vision of the peer
  • the peer P 0 recalculates the index of the rarest part as follows:
  • the information accompanying each piece received by the peer Po contains the download rate of each piece.
  • the information accompanying each piece received by the peer P 0 may also contain, as represented in FIG. 2, at least one value of a parameter relating to the peer-to-peer network itself, for example the global bandwidth of the network, the number of peers in the network, and a possible queue of parts to be recovered, particularly in the case of sharing content broadcast in real time.
  • the overall bandwidth of the network can be calculated from an average bandwidth using the estimate of the bandwidth of the peer Po at the moment when the latter begins to download a piece and the sum bandwidths contained in the messages received by the peers with which said peer P 0 is connected, divided by the number of peers having sent said messages.
  • the information accompanying each piece received by the peer Po contains the estimated waiting time for each piece and / or an index on the quality of the peer connection to the network.
  • the information accompanying each piece received by the peer may also contain, as in the example shown in FIG. 2, at least one value of a parameter relating to the security of the network, in particular the ratio between the number of pieces broadcast and the number of pieces received or a reliability index on the presence of false pieces of content.
  • the peer Po advantageously checks whether the piece received corresponds to the expected piece or if it is corrupted content, using hash tables.
  • the peer P 0 can increment said reliability index of the number of new malicious peers transmitting the corrupted content.
  • the maximum value between the value of the reliability index of the peer Po and those of the neighboring pairs is advantageously recorded and sent by the peer Po in the message "Have".
  • Said reliability index is preferably reset periodically.
  • index max (index index_swarm)
  • Said parameter representative of the peer state P 0 used to adapt the operation of the exchange protocol may concern its bandwidth, its connection quality, the parts already received or the power of the processor on which the peer operates.
  • the peer P 0 has a bandwidth greater than a predefined threshold and / or a power processor greater than a predefined threshold, it can be directed to at least one other peer suffering from a poorer quality of connection to serve as a gateway to the network.
  • the peer P 0 has a bandwidth less than said predefined threshold, as a function of the values of the network parameters updated after each reception of a piece of content, it may be directed to areas of the network comprising peers having higher bandwidths.
  • the peer Po According to the values of the network parameters updated after each reception of a piece of content, in the case where the peer Po has a bandwidth greater than the overall bandwidth of the network, it can be disconnected from a part of the peers with which it is connected to be connected to peers of the network having a lower bandwidth.
  • the peer P 0 comprises rare pieces
  • it may be directed towards areas of the network where the entropy of said rare pieces is low.
  • the dissemination of the parts within the network is advantageously switched from the peer-to-peer mode to said client / server mode as a function of the values of the updated network parameters after each reception of a piece of content and at least one parameter representative of the state of said peer Po.
  • the peer Po advantageously has a device, including a computer, a tablet or a smart mobile phone, "smartphone" in English, comprising a processor on which can run a computer product program with code instructions for the implementation of implementation of the management method according to the invention.
  • the method according to the invention can be implemented in any peer-to-peer exchange network, such as BitTorrent, Gnutella or eDonkey, for example.
  • the network connection used may be the Internet, or a local network such as Ethernet or a university campus network. It can also be networks using wireless technologies such as telephone networks.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Procédé de gestion d'un réseau pair à pair opérant selon au moins un protocole d'échange visant à diffuser des pièces de contenu au sein dudit réseau entre une pluralité de pairs (P0...PN), procédé dans lequel, lors de la diffusion d'une pièce de contenu entre deux pairs, le pair (P0) recevant ladite pièce reçoit en outre une information d'état du réseau pair à pair comportant au moins une valeur d'un paramètre du réseau provenant de pairs autres que ceux avec lesquels ledit pair (P0) est connecté, et dans lequel, après chaque réception d'une pièce, le pair (P0) détermine, à partir de ladite information accompagnant la pièce reçue, au moins une valeur au moins partiellement réactualisée du paramètre du réseau pair à pair, afin d'induire un fonctionnement du protocole d'échange dépendant des valeurs réactualisées des paramètres du réseau et d'au moins un paramètre représentatif de l'état dudit pair (P0).

Description

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

Claims

REVENDICATIONS
1. Procédé de gestion d'un réseau pair à pair opérant selon au moins un protocole d'échange visant à diffuser des pièces de contenu au sein dudit réseau entre une pluralité de pairs (P0...PN),
procédé dans lequel, lors de la diffusion d'une pièce de contenu entre deux pairs, le pair (Po) recevant ladite pièce reçoit en outre une information d'état du réseau pair à pair comportant au moins une valeur d'un paramètre du réseau provenant de pairs autres que ceux avec lesquels ledit pair (P0) est connecté,
et dans lequel, après chaque réception d'une pièce, le pair (P0) détermine, à partir de ladite information accompagnant la pièce reçue, au moins une valeur au moins partiellement réactualisée du paramètre du réseau pair à pair, afin d'induire un fonctionnement du protocole d'échange dépendant de ladite au moins une valeur réactualisée du paramètre du réseau et d'au moins un paramètre représentatif de l'état dudit pair (Po).
2. Procédé selon la revendication 1, dans lequel l'information accompagnant chaque pièce reçue par le pair (Po) contient au moins une valeur d'un paramètre concernant les pièces partagées entre les pairs (P0. . .PN), notamment le taux de téléchargement de chaque pièce ou une liste des pièces les plus rares disponibles sur le réseau pair à pair.
3. Procédé selon la revendication 1 ou 2, dans lequel la liste des pièces les plus rares disponibles sur le réseau pair à pair, pouvant être contenue dans l'information accompagnant chaque pièce reçue par le pair (Po), regroupe les indices des pièces les plus rares calculés en fonction de messages envoyés par chaque pair aux autres pairs du réseau lors de sa connexion au réseau et signalant les pièces qu'il a déjà reçues, et de messages d'accusé de réception reçus par les pairs (P0. . .PN) du réseau à chaque réception d'une pièce et contenant l'indice de ladite pièce et l'estimation de l'indice de la pièce la plus rare du réseau à cet instant.
4. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'information accompagnant chaque pièce reçue par le pair (Po) contient au moins une valeur d'un paramètre concernant le réseau pair à pair lui-même, notamment la bande passante globale du réseau, le nombre de pairs (P0. . .PN) du réseau, une file d'attente de pièces à récupérer ou un indice sur la qualité de la connexion des pairs (Po...PN) au réseau.
5. Procédé selon l'une quelconque des revendications précédentes, dans lequel la bande passante globale du réseau est calculée à partir d'une bande passante moyenne utilisant une estimation de la bande passante du pair (Po) réalisée à l'instant où ce dernier commence à télécharger une pièce et la somme des bandes passantes contenues dans les messages reçus par les pairs avec lesquels ledit pair (P0) est connecté divisée par le nombre de pairs ayant envoyé lesdits messages.
6. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'information accompagnant chaque pièce reçue par le pair (Po) contient au moins une valeur d'un paramètre concernant la sécurité du réseau, notamment le ratio entre le nombre de pièces diffusées et le nombre de pièces reçues ou un indice de fiabilité sur la présence de fausses pièces de contenu.
7. Procédé selon l'une quelconque des revendications précédentes, dans lequel ledit paramètre représentatif de l'état du pair (P0) concerne sa bande passante, sa qualité de connexion, les pièces déjà reçues et/ou la puissance du processeur sur lequel le pair (P0) fonctionne.
8. Procédé selon l'une quelconque des revendications précédentes, dans lequel le pair (P0) transmet aux autres pairs (Pi .. .PN) du réseau ladite au moins une valeur d'un paramètre du réseau pair à pair au moins partiellement réactualisée après réception d'une pièce de contenu.
9. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'information d'état du réseau pair à pair comportant au moins une valeur d'un paramètre du réseau et accompagnant la diffusion d'une pièce de contenu est insérée dans un message d'accusé de réception, indiquant aux autres pairs (ΡΙ . , .ΡΝ) du réseau que telle pièce, notamment identifiée par un indice, a été reçue par le pair (P0).
10. Procédé selon l'une quelconque des revendications précédentes, dans lequel, en fonction des valeurs des paramètres du réseau réactualisées après chaque réception d'une pièce de contenu, un pair (P0) ayant une bande passante supérieure à un seuil prédéfini et/ou un processeur de puissance supérieure à un seuil prédéfini est orienté vers au moins un autre pair souffrant d'une moins bonne qualité de connexion pour lui servir de passerelle vers le réseau.
11. Procédé selon l'une quelconque des revendications précédentes, dans lequel, en fonction des valeurs des paramètres du réseau réactualisées après chaque réception d'une pièce de contenu, un pair (P0) ayant une bande passante supérieure à la bande passante globale du réseau est déconnecté d'une partie des pairs avec lesquels il est connecté afin d'être connecté à des pairs du réseau ayant une bande passante plus faible.
12. Procédé selon l'une quelconque des revendications précédentes, dans lequel, en fonction des valeurs des paramètres du réseau réactualisées après chaque réception d'une pièce de contenu, un pair (P0) ayant une bande passante inférieure à un seuil prédéfini est orienté vers des zones du réseau comportant des pairs ayant des bandes passantes plus élevées.
13. Procédé selon l'une quelconque des revendications précédentes, dans lequel, en fonction des valeurs des paramètres du réseau réactualisées après chaque réception d'une pièce de contenu, un pair (P0) comportant des pièces rares est orienté vers des zones du réseau où l'entropie desdites pièces rares est faible.
14. Procédé selon l'une quelconque des revendications précédentes, dans lequel, le protocole d'échange permettant la diffusion de pièces de contenu en mode client/serveur à au moins un pair (P0), la diffusion des pièces au sein du réseau est basculée du mode pair à pair audit mode client/serveur en fonction des valeurs des paramètres du réseau réactualisées après chaque réception d'une pièce de contenu et d'au moins un paramètre représentatif de l'état dudit pair (P0).
15. Produit programme d'ordinateur pour la mise en œuvre du procédé de gestion d'un réseau pair à pair tel que défini à l'une quelconque des revendications précédentes, opérant selon au moins un protocole d'échange visant à diffuser des pièces de contenu au sein dudit réseau entre une pluralité de pairs (PO . . .PN), le produit programme d'ordinateur comportant des instructions de code qui, exécutées sur un processeur, font que :
lors de la diffusion d'une pièce de contenu entre deux pairs, le pair (P0) recevant ladite pièce reçoive en outre une information d'état du réseau pair à pair comportant au moins une valeur d'un paramètre du réseau provenant de pairs autres que ceux avec lesquels ledit pair (P0) est connecté, et que
après chaque réception d'une pièce de contenu, le pair (P0) détermine, à partir de ladite information accompagnant la pièce reçue, au moins une valeur au moins partiellement réactualisée dudit paramètre du réseau pair à pair afin d'induire un fonctionnement du protocole d'échange dépendant de ladite au moins une valeur réactualisée du paramètre du réseau et d'au moins un paramètre représentatif de l'état dudit pair (P0).
PCT/EP2016/050307 2015-01-09 2016-01-08 Procede de gestion et de fonctionnement protocolaire d'un reseau de distribution de contenu WO2016110583A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP16700952.1A EP3243315A1 (fr) 2015-01-09 2016-01-08 Procede de gestion et de fonctionnement protocolaire d'un reseau de distribution de contenu
US15/542,581 US20170374142A1 (en) 2015-01-09 2016-01-08 Method of protocol management and operation of a content distribution network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1550172A FR3031643B1 (fr) 2015-01-09 2015-01-09 Procede de gestion et de fonctionnement protocolaire d'un reseau de distribution de contenu
FR1550172 2015-01-09

Publications (1)

Publication Number Publication Date
WO2016110583A1 true WO2016110583A1 (fr) 2016-07-14

Family

ID=52824413

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/050307 WO2016110583A1 (fr) 2015-01-09 2016-01-08 Procede de gestion et de fonctionnement protocolaire d'un reseau de distribution de contenu

Country Status (4)

Country Link
US (1) US20170374142A1 (fr)
EP (1) EP3243315A1 (fr)
FR (1) FR3031643B1 (fr)
WO (1) WO2016110583A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019153113A1 (fr) * 2018-02-06 2019-08-15 Hewlett-Packard Development Company, L.P. Téléchargement d'objets fichiers et échange de données d'objets fichiers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133698A1 (en) * 2006-12-05 2008-06-05 Chavez Timothy R File Fragment Trading Based on Rarity Values in a Segmented File Sharing System
EP2109289A1 (fr) * 2008-04-09 2009-10-14 Nokia Corporation Distribution de contenus
FR2989241A1 (fr) * 2012-04-05 2013-10-11 Trident Media Guard Tmg Procede de diffusion d'un contenu dans un reseau informatique.

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100682967B1 (ko) * 2006-02-22 2007-02-15 삼성전자주식회사 자기터널접합 셀을 이용한 배타적 논리합 논리회로 및 상기논리회로의 구동 방법
WO2007110865A1 (fr) * 2006-03-27 2007-10-04 Rayv Inc. Distribution de contenu multimédia en temps réel dans un réseau pair-à-pair

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133698A1 (en) * 2006-12-05 2008-06-05 Chavez Timothy R File Fragment Trading Based on Rarity Values in a Segmented File Sharing System
EP2109289A1 (fr) * 2008-04-09 2009-10-14 Nokia Corporation Distribution de contenus
FR2989241A1 (fr) * 2012-04-05 2013-10-11 Trident Media Guard Tmg Procede de diffusion d'un contenu dans un reseau informatique.

Also Published As

Publication number Publication date
EP3243315A1 (fr) 2017-11-15
FR3031643A1 (fr) 2016-07-15
FR3031643B1 (fr) 2018-03-02
US20170374142A1 (en) 2017-12-28

Similar Documents

Publication Publication Date Title
FR2855691A1 (fr) Securisation de la distribution de documents numeriques dans un reseau pair a pair
WO2006016055A2 (fr) Procede et serveur de referencement de diffusion poste a poste de fichiers demandes par telechargement a ce serveur
FR3034943A1 (fr) Procede de lecture en continu sur un equipement client d&#39;un contenu diffuse au sein d&#39;un reseau pair a pair
EP3156920B1 (fr) Procédé de diffusion d&#39;un contenu dans un réseau informatique
FR2928800A1 (fr) Procede de gestion de requetes d&#39;obtention d&#39;identifiants de pairs en vue d&#39;acceder en mode p2p a des contenus qu&#39;ils stockent, et dispositif de gestion et equipement de reseau associes.
Li et al. Challenges, designs, and performances of large-scale open-P2SP content distribution
EP2039126B1 (fr) Procede pour lutter contre la diffusion illicite d&#39;oeuvres protegees et systeme informatique pour la mise en oeuvre d&#39;un tel procede
EP2856719B1 (fr) Technique de communication dans un réseau de communication centré sur les informations
WO2016110583A1 (fr) Procede de gestion et de fonctionnement protocolaire d&#39;un reseau de distribution de contenu
WO2008062140A2 (fr) Procede pour agir sur la diffusion d&#39;un fichier dans un reseau p2p
WO2009027612A2 (fr) Procede de constitution d&#39;un environnement virtuel de reseau p2p de type delaunay, par groupage dynamique de noeuds, et dispositif d&#39;aide et equipement associe
EP3205067B1 (fr) Diffusion de contenus en streaming dans un réseau pair à pair
Bronzino et al. An adaptive hybrid CDN/P2P solution for content delivery networks
Dhungel et al. The seed attack: Can bittorrent be nipped in the bud?
Allali et al. Measurement of edonkey activity with distributed honeypots
Yang et al. A novel on-demand streaming service based on improved BitTorrent
Locher et al. Robust live media streaming in swarms
EP2520072A1 (fr) Procede et dispositif de transmission de contenu
WO2009056743A2 (fr) Dispositif et procede de supervision d&#39;equipements source
EP2633642B1 (fr) Procédés de communication, dispositif de communication, entité de gestion, programme d&#39;ordinateur et support d&#39;informations pour la distribution hybride de données
FR3079099A1 (fr) Procede de diffusion d&#39;un contenu
Legout Peer-to-Peer Applications: From BitTorrent to Privacy
Talaei et al. Adding multimedia streaming to BitTorrent
EP2604019B1 (fr) Procédé pour ralentir, voire éliminer, la propagation illégale d&#39;un contenu vidéo protégé et diffusé en streaming dans un réseau pair à pair
Legout et al. Peer-to-Peer Applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16700952

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2016700952

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15542581

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE