EP2520072A1 - Procede et dispositif de transmission de contenu - Google Patents

Procede et dispositif de transmission de contenu

Info

Publication number
EP2520072A1
EP2520072A1 EP10809297A EP10809297A EP2520072A1 EP 2520072 A1 EP2520072 A1 EP 2520072A1 EP 10809297 A EP10809297 A EP 10809297A EP 10809297 A EP10809297 A EP 10809297A EP 2520072 A1 EP2520072 A1 EP 2520072A1
Authority
EP
European Patent Office
Prior art keywords
content
provider
coefficient
estimate
providers
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
EP10809297A
Other languages
German (de)
English (en)
Inventor
Patrick Brown
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Publication of EP2520072A1 publication Critical patent/EP2520072A1/fr
Withdrawn legal-status Critical Current

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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Definitions

  • the present invention relates to a method and a device for transmitting content. It concerns, in particular, the field of telecommunications, and more particularly telecommunications over a network, for example the Internet, and that of computer applications on the Internet such as content distribution ("Content Distribution”) and peer-to-peer applications. peer or "P2P" (for, in English “peer-to-peer”).
  • Peer-to-peer file sharing applications are widely used on the Internet and account for a large share of the traffic exchanged. Among these applications, it is possible to distinguish the file distribution applications from the file-sharing applications themselves.
  • the first allow to pool the resources of a large number of peers to download a given file.
  • the best-known example is "BitTorrent” (registered trademark).
  • the second is to share a large number of files that form a distributed library.
  • One of the most popular applications in this category is "e ule” (registered trademark).
  • the present invention relates primarily to this second category.
  • the application can be based on a program downloaded on the client terminal or on a program installed in a set-top box.
  • the content owner may opt for a commercial, fee-for-service or subscription-based broadcast;
  • the content requester application is for all or part of the other users who have at least part of the file.
  • the user asks them in parallel for additional pieces of the file.
  • the requested users store the request and respond according to the service rules defined by the file-sharing application in question.
  • the distribution of an "i" file by the terminal of a "P" owner is currently done by the user. following way.
  • the owner P queues the requests for files submitted to him, in particular the requests for the file i. These files are, moreover, cut into blocks. P sends to each requester blocks belonging to the files requested by this requester.
  • the requests can be served according to their order of arrival, following a random draw, in parallel, or according to other rules not taking into account the number of copies of the file available.
  • An example is the "Round Robin" service discipline where P in turn sends a block of the requested file to each applicant in his queue. Either, at a given moment, Xi applicants for the file i in a possessor P. Insofar as these requests are processed regardless of the popularity, and to the extent that these systems have a large number of users and that Xi varies slowly, we can consider that, on average, a particular request for a file i receives a part 1 / (X1 + ...
  • the performance in terms of the delay of obtaining a file resulting from the use of this first family of service rules in the sender of the file will depend, obviously, on the number of copies of this file among the users of the application.
  • a less popular file will take longer to download because there are fewer users with a copy, to which the file can be requested.
  • This effect is multiplied by the fact that an unpopular file is brought to rub shoulders, in a possessor, very popular files.
  • the highly requested owner allocates only a small part of his bandwidth to the distribution of the unpopular file. This results in the performance that can be seen on P2P file sharing applications where unpopular files are subject to very long download times.
  • a second method of dissemination is to use service rules that take into account the popularity of a file, that is, the number of copies of the file available.
  • service rules that take into account the popularity of a file, that is, the number of copies of the file available.
  • the application "eMule” defines thresholds of popularity below which the weight of a file is increased so as to give it a preference for its emission, These thresholds are in limited number and the weights are chosen from heuristic way.
  • the present invention aims to remedy these disadvantages.
  • the present invention aims at a method of transmitting a content i by a provider of this content, characterized in that it comprises:
  • a step of transmitting the content i during which, said provider transmits to the requester at least part of the content i by allocating to the requester an average proportion of the bandwidth allocated by this provider to the content broadcast calculated in the form of a coefficient, a function of the number Ni of content providers i and of a real value A, common to all the contents to be transmitted, serving to adjust the impact on said coefficient of the number Ni of content providers i.
  • this coefficient is calculated as a product of the ratio 1 / N1 A by a weighting coefficient Wi assigned to the content i, A taking its value in the set of real numbers.
  • the number Ni represents the number of peers "sharing" the file at a given instant: it is the number of peers that:
  • This value A is usable, indeed, to increase or decrease the distortion between the response times of the files having different popularities.
  • response times for unpopular files can be made as close as desired response times for very popular files.
  • the average bandwidth proportion allocated to the callers of the content i is the product of said coefficient by the number Xi of content requestors waiting to be served by said provider.
  • the implementation of the present invention does not require modification of the protocol for exchanging information between users. In addition, it does not require that all users adopt it to provide its benefits, possibly reduced according to the number of users not adopting it.
  • the present invention can therefore be deployed progressively on an existing P2P application.
  • the weighting coefficient Wi is equal to Ki * Ei /
  • S represents a coefficient of normalization of the bandwidth allocated by this provider to the distribution of contents waiting to be served by said provider
  • Ki is a coefficient, a function of a content category to which the content i belongs,
  • Xj is the number of requesters of the content j waiting to be served by the provider, j varying from 1 to jmax, where jmax is the total number of content waiting to be served by this provider.
  • the coefficient Ki makes it possible to modulate the bandwidth allocated to a content in order, for example, to favor / deliberately disadvantage certain contents, whatever their popularity.
  • the highest coefficient contents Ki can thus be favored.
  • the performances are approximately equal for the same popularity Ni.
  • the modulation coefficient Ei represents possible variants in the calculation of the coefficient Wi.
  • the coefficient Ei assigned to a content i is, for example, a function of Xi and / or Ni. It has been observed that a value of Ei equal to 1 for all the contents i is optimal, but that variations around this optimum value are possible without substantially degrading the performances obtained with this optimum value.
  • the step of obtaining the estimate Ni comprises:
  • the supplier autonomously determines, through a fictitious request of the content i, the number Ni, that the other users, including the applicant, implement or not the method object of the present invention. .
  • the step of obtaining the estimate Ni comprises a step of determining whether the estimate Ni has already been obtained by the supplier during a predetermined elapsed time and, only if the estimate Ni n has not already been obtained, the step of issuing the request to third-party users, the step of receiving responses from third-party users and the processing step.
  • the step of obtaining the estimate Ni comprises: a step of sending, by the requestor, a request for declaration of availability of the content i to potential users of the content i,
  • At least one provider transmits at least part of the content i by assigning a bandwidth decreasing function of the estimate Ni of the number of providers.
  • At least one provider transmits at least part of the content i by assigning it a bandwidth in average proportion of (1 / Ni A ) / (X1 / N1 A +. .. + Xj / Nj A + ...) of the bandwidth allocated by this provider to the broadcast of peer-to-peer content.
  • the impinging application of the method which is the subject of the present invention can be parameterized so as to be able to increase or decrease the distortion between the response times of the files of different popularities.
  • response times for unpopular files can be made as close as desired response times for very popular files.
  • the possibility of modulating the distortions of response time is important in order to adapt to the objectives that are fixed during the diffusion of the files, objectives which depend on the context, for example if one wishes that new contents are spread quickly, set the value of parameter A so that the unpopular content benefits from particularly short response times, but it may be desirable to set up the system in such a way as to enhance the advantage naturally enjoyed by popular content .
  • A 1 produces response times that are almost independent of the popularity. If we choose A> 1, we get response times for unpopular files that are inferior to the response times of popular files.
  • At least one provider transmits at least part of the content i by assigning a bandwidth function, furthermore, the content to be transmitted.
  • the requesting user transmits an availability declaration request to potential suppliers.
  • the requesting user transmits an availability declaration request to at least one server that centralizes the contents available from potential suppliers.
  • the present invention thus applies to file-sharing applications that rely on servers to find file owners.
  • the requesting user transmits an availability declaration request to other users, who retransmit said request.
  • the present invention thus applies to file sharing applications that rely on file search systems, such as, for example, the Gnutella (registered trademark) and eMuie applications when the latter relies on the distributed application Kademlia (registered trademark).
  • the present invention aims at a content transmission device which comprises:
  • means for transmitting the content i adapted to transmit to the requester at least part of the content i by allocating to the requester an average proportion of the bandwidth allocated by this provider to the content broadcast calculated as a coefficient, a function of the number Ni of suppliers of the content i and a real value A, common to all the contents to be transmitted, serving to adjust the impact on said coefficient of the number Ni of content providers i.
  • the present invention is directed to a computer program loadable into a computer system, said program containing instructions allowing the implementation of the method object of the present invention, as briefly described above.
  • the present invention aims at a support of information readable by a computer or a microprocessor, removable or not, retaining instructions of a computer program, characterized in that it allows the implementation of the method object of the present invention as succinctly set forth above.
  • FIG. 1 represents, schematically, users of a content sharing application
  • FIG. 2 represents, schematically, files available from users of the content-sharing application
  • FIG. 3 represents, schematically, a particular embodiment of a device that is the subject of the present invention
  • FIG. 4 represents, in logic diagram form, the steps implemented in a first particular embodiment of the method that is the subject of the present invention.
  • FIG. 5 shows, in logic diagram form, the steps implemented in a second particular embodiment of the method object of the present invention.
  • the term "user” or “peer” means a terminal that has the means of implementing a content-sharing application, in particular for downloading content over a network.
  • these are personal computers with a modem or Internet connection box and adequate programs, many of which are listed above.
  • FIG. 1 shows, connected to a communication network 05, five users or "peers" 115 to 130 using a file-sharing application.
  • the communication network 105 is, for example, the Internet.
  • At least one user implements a computer program (not shown) that can be loaded into a computer system, said program containing instructions for implementing the method that is the subject of the present invention, as described below.
  • This program is stored on an information carrier (not shown) readable by a computer or a microprocessor, removable or not, retaining instructions from this program, for example, a hard disk, a removable key or a compact disc.
  • FIG. 2 users 115 to 130 are also found.
  • FIGS. 2 also show files available to the users 115, files 116, 120, files 121, 125, files 126 and 130, files 131.
  • the user 1 0 and the user 130 ask the user 120 sends them blocks of data composing the file F1 and the user 115 asks the user 120 to send him blocks of data making up the file F2.
  • FIG. 3 shows the system of transmission queues in the user 120.
  • the users 0 and 130 requested the file F1 at the user 120, while the user 115 has requested the file F2 to the user 120.
  • the first file 140 relates to the file F1 and the second file 145 relates to the file F2.
  • the first queue 140 thus comprises blocks of the file F1 to be transmitted to the user 101 and blocks of the file F1 to be transmitted to the user 130.
  • the second file 145 comprises blocks of the file F2 to be transmitted to the user 115
  • a data block handler 150 serves the queues, i.e., draws data blocks from the files to be transmitted, and transmits these data over the network 105, via
  • the transmission manager 150 is a server of the type "Weighed Fair Queuing" or "Weighted Round Robin".
  • the queues are served by the block issue manager
  • the normalization coefficient Wi is equal to is equal to Ki * Ei / S, where
  • S represents a normalization coefficient of the total bandwidth allocated by this provider to the broadcast to content waiting to be served by said provider
  • - Ki is a coefficient, a function of a content category to which the content i belongs,
  • - Ei is the modulation coefficient assigned to the content i, chosen such that the ratio between two values of modulation coefficients Ei and Ej assigned to two contents i and j to be transmitted is in the interval [0,1; 10].
  • the coefficient Ki makes it possible to modulate the bandwidth allocated to a content i, for example to favor / deliberately disadvantage certain contents, whatever their popularity.
  • the highest contents of coefficient Ki can thus be favored: it can be content with a particular importance, for which a fast transmission is desired.
  • the coefficient Ki will be chosen equal to 1 for all the contents i.
  • the modulation coefficients Ei are such that the ratio between any two values of modulation coefficients Ei and Ej assigned to two contents i and j is between 0.1 and 10, preferably between 0.2 and 5. More preferentially, this report takes its values between 0.3 and 3. Even more preferentially, this ratio takes its values between 0.5 and 2.
  • the coefficient Ei assigned to a content i is a function of Xi and / or
  • the user 120 who acts here as a content provider, transmits at least a portion of the content requested by each requesting user by allocating a bandwidth based on the estimated number of providers for this content.
  • the bandwidth allocated to each content is a decreasing function of the estimated number of providers of that content.
  • the queue 1 0 is served with a weight of twice (because there are two applicants) the number of suppliers of the file F1 and the queue 145 is served with a weight of once (there is only one requestor) the number of providers of the F2 file.
  • the coefficients Ki and Ei are chosen equal to 1, at least one provider transmits at least part of the content i by assigning a bandwidth in average proportion of (1 / Ni A ) / (X1 / N1 A + ... + X j / A + ... Nj) of bandwidth allocated by the supplier to the delivery of content from peer to peer.
  • At least one provider transmits at least a portion of the content i by assigning a bandwidth function further, the content to be transmitted.
  • FIG. 1 The main steps of a first particular embodiment of the method which is the subject of the invention are represented in FIG.
  • each user participating in the content exchange launches a content sharing application and allocates a bandwidth to this application.
  • a requestor sends a request for declaration of availability of a content i by identifying this content i, destined for at least one server which centralizes the information of the number of copies of each content, to other users who relay this request step by step or, especially in the case of small networks, to other users.
  • This request is used to find user identifiers holding content i, also known as "potential suppliers”.
  • the requestor sends a request for transmission of at least part of the content i to potential suppliers.
  • the provider that implements steps 225 to 245 receives this request and extracts the identifier of the content i during a step 220.
  • this user determines whether he has already obtained an estimate Ni of the number of potential suppliers of the content i during a period of time. predetermined time elapsed, for example during the last minute elapsed. The interest of this step 225 is explained at the end of the description of FIG. 4. If it has already determined this estimate Ni, this user proceeds to step 245.
  • this user sends, during a step 230, a content availability declaration request i identifying this content i, similarly to step 210.
  • This request is, in fact, fictitious because this user does not seek to obtain the transmission of the content i but only to estimate or know the number of other providers of the content i.
  • the request is transmitted:
  • - a server that centralizes the available content from potential suppliers and / or
  • a step 235 the users who have the content i respond to the requests made in step 230 by identifying themselves as potential providers of the content i. In particular, the provider implementing steps 220 to 245 receives these responses.
  • this user who will be provider of the content i vis-à-vis the applicant who issued a request in the step 210, processes the responses obtained to his request and determines an estimate Ni of the number potential suppliers of the content i, including itself, Preferentially, this estimate is the exact number of content providers i.
  • the provider transmits at least part of the content i by assigning a bandwidth based on the estimate Ni of the number of providers.
  • At least one provider transmits at least part of the content i by assigning a bandwidth decreasing function of the estimate Ni of the number of providers.
  • step 225 makes it possible to prevent the requests from multiplying because, without this step 225, each request received by a provider would cause the sending of a request which, in turn, would provoke a request. others, which would lead to network congestion.
  • At least one provider transmits at least a portion of the content i by allocating a bandwidth in average proportion calculated as a product of the ratio 1 / Ni A by a weighting coefficient. Wi assigned to the content i, A taking its value in the set of real numbers, and Ni being an estimate of the number of providers of the content i. In embodiments, during step 245, at least one provider transmits at least part of the content i by assigning it a bandwidth in average proportion of ⁇ 1 / Ni A ) / (X1 / N1 A +. .. + Xj / N] A + ...) of the bandwidth allocated by this provider to the distribution of peer-to-peer content, A taking its value in the set of real numbers, where Xj is the number of content waiting to be served by said provider.
  • At least one provider transmits at least part of the content i by assigning a bandwidth function further, i content.
  • a first variant is that the provider user serves a requestor of a file i in his possession in proportion (1 / Ni) / (X1 / N1 + ... + Xj / Nj + ...) of the bandmée which he allocates to the diffusion of files.
  • Implementation in a particular embodiment may involve the service disciplines "Weighed Fair Queuing" or "Weighted Round Robin". Since this proportion must be obtained on average, other disciplines may be used. For example, you can randomly pull the request to be used with a weight to transfer a block corresponding to the demand drawn and then redo a draw, etc.
  • the invention can be implemented even if the users belong to different and uncoordinated administrative entities.
  • the invention also makes it possible arbitrarily to modulate response times as a function of popularity.
  • each user participating in the content exchange launches a content sharing application and allocates a bandwidth to this application.
  • a requestor sends a request for declaration of availability of a content i by identifying this content i, destined for at least one server which centralizes the information of the number of copies of each content, to other users who relay this request step by step or, especially in the case of small networks, to other users.
  • This request is used to find user identifiers holding content i, also known as "potential suppliers".
  • the users who have the content i respond to the request by identifying themselves as potential providers of the content i.
  • the requesting user processes the responses obtained from the provider users to determine an estimate Ni of the number of providers of the content i.
  • the requesting user transmits, to some of the potential suppliers, a request for transmission of the content i.
  • the requestor transmits, at least to each selected provider implementing the present invention, the estimate Ni of the number of providers of the content i. Note that, in the case illustrated in FIG. 5, this estimate Ni is preferably the exact number of suppliers to which the request of step 325 is addressed.
  • At least one provider transmits at least part of the content i by assigning it a bandwidth based on the estimate Ni of the number of providers, in a manner similar to that described with reference to FIG. step 245.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Le procédé de transmission d'un contenu i par un fournisseur de ce contenu comporte : - une étape (210) de réception, par ledit fournisseur, d'une requête de transmission du contenu i en provenance d'un demandeur, une étape (225 à 240) d'obtention, par ledit fournisseur, d'une estimation Ni d'un nombre de fournisseurs dudit contenu et une étape (245) de transmission du contenu i, au cours de laquelle, ledit fournisseur transmet au demandeur au moins une partie du contenu i en attribuant au demandeur une proportion moyenne de la bande passante allouée par ce fournisseur à la diffusion de contenus calculée sous forme d'un coefficient, fonction du nombre Ni de fournisseurs du contenu i et d'une valeur réelle A, commune à tous les contenus à transmettre, servant à ajuster l'impact sur ledit coefficient du nombre Ni de fournisseurs du contenu i.

Description

Procédé et dispositif de transmission de contenu
La présente invention concerne un procédé et un dispositif de transmission de contenu. Elle concerne, en particulier, le domaine des télécommunications, et plus particulièrement des télécommunications sur un réseau, par exemple Internet, et celui des applications informatiques sur Internet tel que la distribution de contenu (« Content Distribution ») et les applications pair-à-pair ou « P2P » (pour, en anglais « peer-to-peer »).
Les applications de partage de fichiers pair à pair sont largement utilisées sur Internet et représentent une importante part du trafic échangé. Parmi ces applications, on peut distinguer les applications de diffusion de fichiers des applications de partage de fichiers proprement dit. Les premières permettent de mettre en commun les ressources d'un grand nombre de pairs pour télécharger un fichier donné. L'exemple le plus connu est « BitTorrent » (marque déposée). Les deuxièmes consistent à mettre en commun un grand nombre de fichiers qui forment une bibliothèque distribuée. Une des applications les plus populaires de cette catégorie est « e ule » (marque déposée). La présente invention concerne principalement cette deuxième catégorie.
Les applications de partage de fichier sont proposées :
- pour le partage de contenu (« Content Distribution ») pair-à-pair. L'application peut reposer sur un programme téléchargé sur le terminal du client ou sur un programme installé dans un décodeur (« Set-top box »). Le propriétaire du contenu peut opter pour une diffusion commerciale, rémunérée à l'acte ou sur abonnement ;
- comme principe de base pour les échanges sur l'Internet du futur. Au lieu d'accéder comme aujourd'hui à un fichier par son URL (acronyme de « Uniform Resource Locator » pour localiseur de ressource uniforme), c'est dire l'adresse du fichier, on identifiera un fichier par un code unique. Le fichier est ensuite téléchargé depuis les terminaux de tous les internautes possédant tout ou partie du fichier recherché. Le lecteur pourra se reporter à l'article de V. Jacobson « A New Way to Look at Networking », août 2006, site de la toile Google (http://video.google.com/videoplay?docid=-6972678839686672840) et au projet européen « SAIL » (suite du projet « 4WARD ») où ce paradigme de réseau est décrit comme « information-centric » et le réseau est appelé « Network of Information » (réseau d'information).
L'application du demandeur de contenu s'adresse à tout ou partie des autres utilisateurs possédant au moins une partie du fichier. L'utilisateur leur demande en parallèle des morceaux complémentaires du fichier. Les utilisateurs sollicités stockent la demande et y répondent suivant des règles de service définies par l'application de partage de fichier en question, La diffusion d'un fichier « i » par le terminal d'un possesseur « P » se fait actuellement de la façon suivante. Le possesseur P met en file d'attente les demandes de fichiers qui lui sont soumises dont, en particulier, les demandes pour le fichier i. Ces fichiers sont, par ailleurs, découpés en blocs. P envoie à chaque demandeur des blocs appartenant aux fichiers demandés par ce demandeur.
Suivant une première famille de règles de service, les demandes peuvent être servies en fonction de leur ordre d'arrivée, suivant un tirage aléatoire, en parallèle, ou suivant d'autres règles ne prenant pas en compte le nombre d'exemplaires du fichier disponibles. Un exemple est la discipline de service « Round Robin » (marque déposée) dans laquelle P envoie à tour de rôle un bloc du fichier demandé à chaque demandeur dans sa file. Soit, à un moment donné, Xi demandeurs pour le fichier i chez un possesseur P. Dans la mesure où ces demandes sont traitées sans tenir compte de la popularité, et dans la mesure où ces systèmes comportent un grand nombre d'utilisateurs et que Xi varie lentement, on peut considérer que, en moyenne, une demande particulière d'un fichier i reçoit une part 1/(X1 + ...+ Xi + ...) de la bande passante que le possesseur P réserve à l'application. On peut estimer que ce résultat donne une estimation approximative pour les règles ne prenant pas en compte le nombre d'exemplaires du fichier, que les fichiers soient servis en fonction de leur ordre d'arrivée, en suivant un tirage aléatoire ou en parallèle.
Ainsi les performances, en termes de délai d'obtention d'un fichier résultant de l'utilisation de cette première famille de règles de service dans l'émetteur du fichier vont dépendre, de façon évidente, du nombre d'exemplaires de ce fichier parmi les utilisateurs de l'application. En particulier, un fichier moins populaire sera plus long à télécharger car il existe moins d'utilisateurs possédant un exemplaire, auquel on peut demander le fichier. Cet effet est démultiplié par le fait qu'un fichier peu populaire est amené à côtoyer, chez un possesseur, des fichiers très populaires. Dans ce cas, le possesseur très sollicité n'attribue qu'une faible part de sa bande passante à la diffusion du fichier peu populaire. Cela aboutit aux performances que l'on peut observer sur les applications de partage de fichier P2P où les fichiers peu populaires sont sujets à des temps de téléchargement très longs.
Une deuxième méthode de diffusion consiste à utiliser des règles de service prenant en compte la popularité d'un fichier, c'est-à-dire le nombre d'exemplaires du fichier disponibles. A titre d'exemple l'application « eMule » définit des seuils de popularité en dessous desquels le poids d'un fichier est augmenté de façon à lui donner une préférence pour son émission, Ces seuils sont en nombre limité et les poids sont choisis de façon heuristique.
Soit, à un moment donné, un nombre Xi de demandeurs pour le fichier i disponible sur le terminal d'un possesseur P. Soit « pi » le poids associé au fichier i. On peut considérer que, en moyenne, cette famille de règles attribue à une demande particulière d'un fichier i une part pi/(p1*X1 + ...+ pj*Xj + ...) de la bande passante que le possesseur P réserve à l'application. Ce mode de partage est mis en œuvre par exemple avec la discipline de service « Weighted Round Robin » dans laquelle on sert les demandes à tour de rôle comme pour « Round Robin » mais on sert une même demande plusieurs fois (en fonction du poids associé) avant de recommencer un tour. Le lecteur pourra se reporter, à ce propos, à l'article de E. Hahne, « Round Robin scheduling for fair flow control », Ph.D. thesis, Dept. Eiect. Eng. and Comput. Sci., M.I.T., décembre 1986.
Une autre discipline de service qui permet de s'affranchir de poids en valeur entière est « Weighted Fair Queueing » citée dans les documents suivants :
- A. Demers, S. Keshav, S. Shenker, « Analysis and simulation of a fair queueing algorithm », Internet Res. and Exper., vol. 1 , 1990,
- A. K. Parekh, R. G. Gallager, « A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks »: The Single-Node Case", IEEE/ACM Transactions on Networking, Vol. 1, No. 3, Juin 1993 et
- S. J. Golestani, « A self-clocked fair queueing scheme for high speed applications », proceedings INFOCO '94, Avril 1994
Toutefois, les utilisateurs d'eMule peuvent constater que cette méthode ne permet pas de retrouver des temps d'obtention de fichier du même ordre pour les fichiers populaires et non populaires. Il est en effet difficile de choisir les seuils et les poids sachant que la popularité d'un fichier peut varier d'un facteur de 1 à 00000.
Les méthodes de partage existantes aboutissent ainsi à des temps de téléchargement très longs pour les fichiers non populaires, c'est-à-dire ceux pour lesquels peu d'exemplaires existent.
La présente invention vise à remédier à ces inconvénients.
A cet effet, selon un premier aspect, la présente invention vise un procédé de transmission d'un contenu i par un fournisseur de ce contenu, caractérisé en ce qu'il comporte :
une étape de réception, par ledit fournisseur, d'une requête de transmission du contenu i en provenance d'un demandeur,
une étape d'obtention, par ledit fournisseur, d'une estimation Ni d'un nombre de fournisseurs dudit contenu i et
une étape de transmission du contenu i, au cours de laquelle, ledit fournisseur transmet au demandeur au moins une partie du contenu i en attribuant au demandeur une proportion moyenne de la bande passante allouée par ce fournisseur à la diffusion de contenus calculée sous forme d'un coefficient, fonction du nombre Ni de fournisseurs du contenu i et d'une valeur réelle A, commune à tous les contenus à transmettre, servant à ajuster l'impact sur ledit coefficient du nombre Ni de fournisseurs du contenu i.
Seion un mode de réalisation particulier, ce coefficient est calculé comme produit du ratio 1/NÏA par un coefficient de pondération Wi affecté au contenu i, A prenant sa valeur dans l'ensemble des nombres réels.
Grâce à ces dispositions, on peut décider, par le choix de la valeur A, qui est commune à tous les contenus à transmettre, de favoriser ou non les contenus selon ieur popularité. En effet, le nombre Ni représente le nombre de pairs « partageant » le fichier à un instant donné: c'est le nombre de pairs qui:
soit stockent le contenu complet à transmettre afin de le partager,
soit demandent le fichier et ont reçu un bloc de données complet, faisant partie du contenu à transmettre, et qui sont susceptibles de retransmettre un te! bloc à un autre pair, le bloc étant ici l'unité d'échange minimale utilisée pour la transmission de contenus.
Cette valeur A est utilisable, en effet, pour augmenter ou diminuer la distorsion entre les temps de réponse des fichiers ayant différentes popularités. En fonction de la valeur du paramètre A, les temps de réponse pour les fichiers peu populaires peuvent être rendus aussi proches que souhaités des temps de réponse pour les fichiers très populaires. Au contraire, il possible d'augmenter encore plus les temps de réponse pour les fichiers peu populaires afin de réduire ceux concernant les fichiers très populaires. Enfin, il est possible d'inverser la tendance et de rendre les temps de réponse des fichiers peu populaires inférieurs aux temps de réponse des fichiers très populaires.
Il devient donc possible d'obtenir des performances approximativement égales, en termes de délai de transmission de fichiers de mêmes dimensions, quel que soit le nombre de fournisseurs, c'est-à-dire le nombre d'exemplaires disponibles du contenu recherché par le demandeur.
Dans un mode de réalisation, la proportion moyenne de bande passante allouée aux demandeurs du contenu i est le produit dudit coefficient par le nombre Xi de demandeurs du contenu î attendant d'être servis par ledit fournisseur.
On note que la mise en œuvre de la présente invention ne nécessite pas de calcul complexe, et donc de consommation de ressources de la part des fournisseurs du contenu.
On note aussi que la mise en œuvre de la présente invention ne nécessite pas de modification du protocole d'échange d'information entre utilisateurs. De plus, elle ne nécessite pas que tous les utilisateurs l'adoptent pour fournir ses avantages, éventuellement réduits en fonction du nombre d'utilisateurs ne l'adoptant pas. La présente invention peut donc être déployée progressivement sur une application P2P existante.
Selon un mode de réalisation, le coefficient de pondération Wi est égal à Ki * Ei /
S, où
S représente un coefficient de normalisation de la bande passante allouée par ce fournisseur à la diffusion des contenus attendant d'être servis par ledit fournisseur,
Ki est un coefficient, fonction d'une catégorie de contenus à laquelle appartient le contenu i,
Ei est un coefficient de modulation affecté au contenu i, choisi tel que le rapport entre deux valeurs de coefficients de modulation Ei et Ej affectés à deux contenus i et j à transmettre est compris dans l'intervalle [0,1 ; 0], La somme S vise à normaliser les coefficients calculés. Compte tenu des notations adoptées, cette somme est égale à la somme:
Κ1Έ1*Χ1/Ν1Α + ... + (Kj*Ej*Xj/NjA) + ...
où Xj représentant le nombre de demandeurs du contenu j attendant d'être servis par le fournisseur considéré, j variant de 1 à jmax, où jmax est le nombre total de contenus attendant d'être servis par ce fournisseur.
Dans cette somme, la proportion de bande passante allouée aux demandeurs du contenu j est Kj*Ej*XJ/Nj A
Le coefficient Ki permet de moduler la bande passante allouée à un contenu afin, par exemple, de favoriser / défavoriser délibérément certains contenus, quelle que soit leur popularité. Les contenus de coefficient Ki les plus élevés peuvent être ainsi favorisés. Ainsi, à l'intérieur d'une même catégorie de contenus possédant le même coefficient Ki, les performances sont approximativement égales pour une même popularité Ni.
Le coefficient de modulation Ei représente des variantes possibles dans le calcul du coefficient Wi. Le coefficient Ei affecté à un contenu i est, par exemple, une fonction de Xi et/ou de Ni. Il a été observé qu'une valeur de Ei égale à 1 pour tous ies contenus i est optimale, mais que des variations autour de cette valeur optimale sont possibles sans dégrader sensiblement les performances obtenues avec cette valeur optimale.
Selon des caractéristiques particulières, l'étape d'obtention de l'estimation Ni comporte :
une étape d'émission, par ledit fournisseur, d'une requête de déclaration de disponibilité du contenu i à destination d'utilisateurs tiers potentiellement fournisseurs du contenu i,
une étape de réception de réponses de la part d'utilisateurs tiers potentiellement fournisseurs du contenu i et
une étape de traitement des réponses pour déterminer l'estimation Ni du nombre de fournisseurs dudit contenu.
Grâce à ces dispositions, le fournisseur détermine, de manière autonome, grâce à une requête fictive du contenu i, le nombre Ni, que les autres utilisateurs, y compris le demandeur, mettent en œuvre, ou non, le procédé objet de la présente invention.
Selon des caractéristiques particulières, l'étape d'obtention de l'estimation Ni comporte une étape de détermination si l'estimation Ni a déjà été obtenue par le fournisseur au cours d'une durée écoulée prédéterminée et, seulement si l'estimation Ni n'a pas déjà été obtenue, l'étape d'émission de la requête à destination des utilisateurs tiers, l'étape de réception de réponses de la part d'utilisateurs tiers et l'étape de traitement.
On évite ainsi un risque de congestion du réseau dû aux requêtes fictives émises par les fournisseurs pour connaître l'estimation Ni du nombre de fournisseurs du contenu.
Selon des caractéristiques particulières, l'étape d'obtention de l'estimation Ni comporte : une étape d'émission, par le demandeur, d'une requête de déclaration de disponibilité du contenu i à destination d'utilisateurs potentiellement fournisseurs du contenu i,
une étape de réception de réponses de la part d'utilisateurs potentiellement fournisseurs du contenu i,
une étape de traitement des réponses pour déterminer l'estimation Ni du nombre de fournisseurs dudit contenu et
une étape de transmission de l'estimation Ni, par le demandeur à destination d'au moins un fournisseur.
Grâce à ces dispositions, le procédé objet de la présente invention ne met pas en œuvre de requête supplémentaire, par rapport aux procédés connus dans l'art antérieur.
Selon des caractéristiques particulières, au cours de l'étape de transmission, au moins un fournisseur transmet au moins une partie du contenu i en lui attribuant une bande passante fonction décroissante de l'estimation Ni du nombre de fournisseurs.
Selon des caractéristiques particulières, au cours de l'étape de transmission, au moins un fournisseur transmet au moins une partie du contenu i en lui attribuant une bande passante en proportion moyenne de (1/NiA)/(X1/N1A + ...+ Xj/NjA + ...) de la bande passante allouée par ce fournisseur à la diffusion de contenus de pair à pair.
On note que l'application impiémentant le procédé objet de la présente invention est paramétrable de façon à pouvoir augmenter ou diminuer la distorsion entre les temps de réponse des fichiers de différentes popularités. En fonction de la valeur du paramètre A, les temps de réponse pour les fichiers peu populaires peuvent être rendus aussi proches que souhaités des temps de réponse pour les fichiers très populaires. Au contraire, il possible d'augmenter encore plus les temps de réponse pour les fichiers peu populaires afin de réduire ceux concernant les fichiers très populaires. Enfin il est possible d'inverser la tendance et de rendre les temps de réponse des fichiers peu populaires inférieurs aux temps de réponse des fichiers très populaires.
La possibilité de moduler (es distorsions de temps de réponse est importante afin de s'adapter aux objectifs que l'on se fixe lors de la diffusion des fichiers, objectifs qui dépendent du contexte. Par exemple si l'on souhaite que de nouveaux contenus se diffusent rapidement, on fixe la valeur du paramètre A de façon à ce que les contenus peu populaires bénéficient de temps de réponses particulièrement courts. A contrario, on peut souhaiter paramétrer le système de façon à renforcer l'avantage dont bénéficient naturellement les contenus populaires.
Si la valeur de A est positive, les fichiers peu populaires voient leurs temps de réponses diminuer et ceci d'autant plus que la valeur de A augmente. Si la valeur de A est négative, ce sont les fichiers populaires qui voient leurs temps de réponses diminuer (au détriment des fichiers peu populaires) et ceci d'autant plus que la valeur absolue de A augmente. Le cas particulier A=1 produit des temps de réponses quasiment indépendants de la popularité. Si on choisit A>1 , on obtient des temps de réponses pour les fichiers peu populaires qui sont inférieurs aux temps de réponse des fichiers populaires.
Selon des caractéristiques particulières, au cours de l'étape de transmission, au moins un fournisseur transmet au moins une partie du contenu i en lui attribuant une bande passante fonction, en outre, du contenu à transmettre.
On peut, ainsi, favoriser les fichiers comportant les quantités d'information les plus importantes, ou au contraire, les plus faibles, les contenus textes, images, sons, musiques ou vidéos, par exemple.
Selon des caractéristiques particulières, au cours de l'étape de requête d'un contenu i, l'utilisateur demandeur transmet une requête de déclaration de disponibilité aux fournisseurs potentiels.
Selon des caractéristiques particulières, au cours de l'étape de requête d'un contenu i, l'utilisateur demandeur transmet une requête de déclaration de disponibilité à au moins un serveur qui centralise les contenus disponibles auprès des fournisseurs potentiels.
La présente invention s'applique ainsi aux applications de partage de fichiers qui s'appuie sur des serveurs pour retrouver les possesseurs de fichiers.
Selon des caractéristiques particulières, au cours de l'étape de requête d'un contenu i, l'utilisateur demandeur transmet une requête de déclaration de disponibilité à d'autres utilisateurs, qui retransmettent ladite requête.
La présente invention s'applique ainsi aux applications de partage de fichiers qui s'appuient sur des systèmes de recherche de fichier de proche en proche, comme, par exemple, les applications Gnutella (marque déposée) et eMuie lorsque cette dernière s'appuie sur l'application distribuée Kademlia (marque déposée).
Selon un deuxième aspect, la présente invention vise un dispositif de transmission de contenu qui comporte :
un moyen de réception, par ledit fournisseur, d'une requête de transmission du contenu i en provenance d'un demandeur,
un moyen d'obtention, par ledit fournisseur, d'une estimation Ni du nombre de fournisseurs dudit contenu et
un moyen de transmission du contenu i adapté à transmettre au demandeur au moins une partie du contenu i en attribuant au demandeur une proportion moyenne de la bande passante allouée par ce fournisseur à la diffusion de contenus calculée comme sous forme d'un coefficient, fonction du nombre Ni de fournisseurs du contenu i et d'une valeur réelle A, commune à tous les contenus à transmettre, servant à ajuster l'impact sur ledit coefficient du nombre Ni de fournisseurs du contenu i.
Selon un troisième aspect, la présente invention vise un programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en œuvre du procédé objet de la présente invention, tel que succinctement exposé ci-dessus.
Selon un quatrième aspect, la présente invention vise un support d'informations lisibles par un ordinateur ou un microprocesseur, amovibfe ou non, conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre du procédé objet de la présente invention, tel que succinctement exposé ci-dessus.
Les avantages, buts et caractéristiques de ce dispositif, de ce programme d'ordinateur et de ce support d'information étant similaires à ceux du procédé objet de la présente invention, tel que succinctement exposé ci-dessus, ils ne sont pas rappelés ici.
D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre, faite, dans un but explicatif et nullement limitatif en regard des dessins annexés, dans lesquels :
- la figure 1 représente, schématiquement, des utilisateurs d'une application de partage de contenus,
- ta figure 2 représente, schématiquement, des fichiers disponibles auprès d'utilisateurs de l'application de partage de contenus,
- la figure 3 représente, schématiquement, un mode de réalisation particulier d'un dispositif objet de la présente invention,
- la figure 4 représente, sous forme de logigramme, des étapes mises en œuvre dans un premier mode de réalisation particulier du procédé objet de la présente invention et
- la figure 5 représente, sous forme de logigramme, des étapes mises en œuvre dans un deuxième mode de réalisation particulier du procédé objet de la présente invention.
Dans toute la description, on appelle « utilisateur » ou « pair », un terminal disposant des moyens d'implémenter une application de partage de contenus, notamment pour télécharger un contenu sur un réseau. Par exemple, il s'agit d'ordinateurs personnels munis d'un modem ou d'un boîtier de connexion à Internet et de programmes adéquats dont plusieurs sont cités ci-dessus.
On observe, en figure 1, reliés à un réseau de communication 05, cinq utilisateurs ou « pairs » 115 à 130 utilisant une application de partage de fichiers. Le réseau de communication 105 est, par exemple, Internet. Au moins un utilisateur met en œuvre un programme d'ordinateur (non représenté) chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en œuvre du procédé objet de la présente invention, tel que décrit ci-dessous. Ce programme est stocké sur un support d'informations (non représenté) lisibles par un ordinateur ou un microprocesseur, amovible ou non, conservant des instructions de ce programme, par exemple, un disque dur, une clé amovible ou un disque compact.
On retrouve, en figure 2, les utilisateurs 115 à 130. On observe aussi, en figure 2, des fichiers disponibles auprès des utilisateurs 115, fichiers 116, 120, fichiers 121, 125, fichiers 126 et 130, fichiers 131. Dans la figure 2 l'utilisateur 1 0 et l'utilisateur 130 demandent à l'utilisateur 120 de leur envoyer des blocs de données composant le fichier F1 et l'utilisateur 115 demande à l'utilisateur 120 de lui envoyer des blocs de données composant le fichier F2.
En figure 3 est représenté le système de files d'attente à l'émission dans l'utilisateur 120. Comme dans la figure 2, les utilisateurs 0 et 130 ont demandé le fichier F1 à l'utilisateur 120, tandis que l'utilisateur 115 a demandé le fichier F2 à l'utilisateur 120.
Dans ce mode de réalisation il y a une file par fichier. La première file 140 concerne le fichier F1 et la deuxième file 145 concerne le fichier F2. La première file 140 comporte donc des blocs du fichier F1 à transmettre à l'utilisateur 1 0 et des blocs du fichier F1 à transmettre à l'utilisateur 130. La deuxième file 145 comporte des blocs du fichier F2 à transmettre à l'utilisateur 115. Un gestionnaire d'émission de blocs de données 150 sert les files d'attente, c'est-à-dire y puise des blocs de données des fichiers à transmettre, et transmet ces données sur le réseau 105, par l'intermédiaire d'une interface d'émission 155. Par exemple, le gestionnaire d'émission 150 est un serveur de type « Weighed Fair Queueing » (attente ajustée) ou « Weighted Round Robin ».
Préférentiellement, les files sont servies, par le gestionnaire d'émission de blocs
150, à proportion moyenne calculée comme produit du ratio 1/NiA par un coefficient de pondération Wi affecté au contenu i, A prenant sa valeur dans l'ensemble des nombres réels, et Ni étant une estimation du nombre de fournisseurs du contenu i.
Selon un mode de réalisation, le coefficient de normalisation Wi est égal à est égal à Ki * Ei / S, où
- S représente un coefficient de normalisation de la bande passante totale allouée par ce fournisseur à la diffusion aux contenus attendant d'être servis par ledit fournisseur,
- Ki est un coefficient, fonction d'une catégorie de contenus à laquelle appartient le contenu i,
- Ei est coefficient de modulation affecté au contenu i, choisi tel que le rapport entre deux valeurs de coefficients de modulation Ei et Ej affectés à deux contenus i et j à transmettre est compris dans l'intervalle [0,1 ; 10].
La somme S vise à normaliser les coefficients calculés. Compte tenu des notations adoptées, cette somme est égale à la somme:
K1*E1*X1/N1A + ... + (Kj*Ej*Xj/NjA) + ...
Le coefficient Ki permet de moduler la bande passante allouée à un contenu i, afin par exemple de favoriser / défavoriser délibérément certains contenus, quelle que soit leur popularité. Les contenus de coefficient Ki les plus élevés pourront être ainsi favorisés: il peut s'agit de contenus ayant une tmportance particulière, pour lesquels une transmission rapide est souhaitée. Lorsqu'on ne souhaite pas favoriser certains contenus, le coefficient Ki sera choisi égal à 1 pour tous les contenus i.
Préférentiellement, les coefficients de modulation Ei sont tels que le rapport entre deux valeurs quelconques de coefficients de modulation Ei et Ej affectés à deux contenus i et j est compris entre 0,1 et 10, préférentiellement entre 0,2 et 5. Plus préférentiellement, ce rapport prend ses valeurs entre 0,3 et 3. Encore plus préférentiellement, ce rapport prend ses valeurs entre 0,5 et 2.
Par exemple, le coefficient Ei affecté à un contenu i est une fonction de Xi et/ou de
Ni.
Une valeur de Ei et Ki égale à 1 pour tous les contenus donnent des résultats optimaux du point de vue de l'équité.
Ainsi, l'utilisateur 120, qui agit ici comme fournisseur de contenus, transmet au moins une partie du contenu demandé par chaque utilisateur demandeur en lui attribuant une bande passante fonction du nombre estimé de fournisseurs pour ce contenu. Préférentiellement, la bande passante attribuée à chaque contenu est une fonction décroissante du nombre estimé de fournisseurs de ce contenu.
Dans le mode de réalisation décrit en figure 3, la file 1 0 est servie avec un poids de deux fois (parce qu'il y a deux demandeurs) le nombre de fournisseurs du fichier F1 et la file 145 est servie avec un poids d'une fois (il n'y a qu'un seul demandeur) le nombre de fournisseurs du fichier F2.
Dans des modes de réalisation particuliers de la présente invention, les coefficients Ki et Ei sont choisis égaux à 1 , au moins un fournisseur transmet au moins une partie du contenu i en lui attribuant une bande passante en proportion moyenne de (1/NiA)/(X1/N1A + ...+ Xj/NjA + ...) de la bande passante allouée par ce fournisseur à la diffusion de contenus de pair à pair.
Dans des modes de réalisation particuliers de la présente invention, au moins un fournisseur transmet au moins une partie du contenu i en lui attribuant une bande passante fonction, en outre, du contenu à transmettre.
Les principales étapes d'un premier mode de réalisation particulier du procédé objet de l'invention sont représentées en figure 4.
Au cours d'une étape 205, chaque utilisateur participant à l'échange de contenu lance une application de partage de contenus et alloue une bande passante à cette application.
Au cours d'une étape 210, un demandeur émet une requête de déclaration de disponibilité d'un contenu i en identifiant ce contenu i, à destination d'au moins un serveur qui centralise l'information du nombre d'exemplaires de chaque contenu, à destinations d'autres utilisateurs qui relaient cette requête de proche en proche ou, notamment dans le cas des petits réseaux, à destination des autres utilisateurs. Cette requête sert à connaître des identifiants d'utilisateurs tenant à disposition le contenu i, aussi appelés « fournisseurs potentiels ». Une fois les réponses obtenues, au cours d'une étape 215, le demandeur envoie une requête de transmission d'au moins une partie du contenu i à destination de fournisseurs potentiels. Parallèlement, le fournisseur qui implémente les étapes 225 à 245, reçoit cette requête et en extrait l'identifiant du contenu i au cours d'une étape 220.
Au cours d'une étape 225, cet utilisateur détermine s'il a déjà obtenu une estimation Ni du nombre de fournisseurs potentiels du contenu i au cours d'une période de temps prédéterminée écoulée, par exemple au cours de la dernière minute écoulée. L'intérêt de cette étape 225 est exposé à la fin de la description de la figure 4. S'il a déjà déterminé cette estimation Ni, cet utilisateur passe à l'étape 245.
Sinon, cet utilisateur émet, au cours d'une étape 230, une requête de déclaration de disponibilité du contenu i en identifiant ce contenu i, similairement à l'étape 210. Cette requête est, en fait, fictive car cet utilisateur ne cherche pas à obtenir la transmission du contenu i mais seulement à estimer ou connaître le nombre d'autres fournisseurs du contenu i.
Selon les applications de partage de contenus, au cours de chaque étape 210 et 230 de requête du contenu i, la requête est transmise :
- aux fournisseurs potentiels,
- à un serveur qui centralise les contenus disponibles auprès des fournisseurs potentiels et/ou
à d'autres utilisateurs, qui retransmettent ladite requête.
Au cours d'une étape 235, les utilisateurs qui disposent du contenu i répondent aux requêtes émises au cours de l'étape 230 en s'identif iant comme fournisseurs potentiels du contenu i. Notamment, le fournisseur implémentant les étapes 220 à 245 reçoit ces réponses.
Au cours d'une étape 240, cet utilisateur, qui sera fournisseur du contenu i vis-à-vis du demandeur ayant émis une requête au cours de l'étape 210, traite les réponses obtenues à sa requête et détermine une estimation Ni du nombre de fournisseurs potentiels du contenu i, y compris lui-même, Préférentiellement, cette estimation est le nombre exact de fournisseurs du contenu i.
Le lecteur pourra, pour cette estimation, se reporter à l'article de Patrick Brown et Sanja Petrovic « A New Statistical Approach to Estimate Global File Populations in the eDonkey P2P File Sharing System », in ITC21 , 21rst International Teletraffic Congress, 2009.
Au cours d'une étape 245, le fournisseur transmet au moins une partie du contenu i en lui attribuant une bande passante fonction de l'estimation Ni du nombre de fournisseurs.
Préférentiellement, au cours de l'étape 245, au moins un fournisseur transmet au moins une partie du contenu i en lui attribuant une bande passante fonction décroissante de l'estimation Ni du nombre de fournisseurs.
Comme on ie comprend aisément, l'étape 225 permet d'éviter que les requêtes se multiplient car, sans cette étape 225, chaque requête reçue par un fournisseur provoquerait l'émission d'une requête qui, à son tour, en provoquerait d'autres, ce qui mènerait à une congestion du réseau.
Dans des modes de réalisation, au cours de l'étape 245, au moins un fournisseur transmet au moins une partie du contenu i en lui .attribuant une bande passante en proportion moyenne calculée comme produit du ratio 1/NiA par un coefficient de pondération Wi affecté au contenu i, A prenant sa valeur dans l'ensemble des nombres réels, et Ni étant une estimation du nombre de fournisseurs du contenu i. Dans des modes de réalisation, au cours de l'étape 245, au moins un fournisseur transmet au moins une partie du contenu i en lui attribuant une bande passante en proportion moyenne de {1/NiA)/(X1/N1A + ...+ Xj/N]A + ...) de la bande passante allouée par ce fournisseur à la diffusion de contenus de pair à pair, A prenant sa valeur dans l'ensemble des nombres réels, Xj représentant le nombre de demandeurs du contenu j attendant d'être servis par ledit fournisseur.
Dans des modes de réalisation, au cours de l'étape 245, au moins un fournisseur transmet au moins une partie du contenu i en lui attribuant une bande passante fonction, en outre, du contenu i. Ces modes de réalisation se combinent ainsi aux procédés permettant de favoriser certains fichiers par rapport à d'autre en fonction de leur contenu. Pour cela on peut multiplier les poids 1/NiA par les coefficients de pondération Wi liés à la préférence que l'on souhaite attribuer à tel ou tel contenu.
Une première variante consiste à ce que l'utilisateur fournisseur serve un demandeur d'un fichier i en sa possession en proportion (1/Ni)/(X1/N1 + ...+ Xj/Nj + ...) de la bande passante qu'il alloue à la diffusion de fichiers. La mise en œuvre dans une réalisation particulière peut faire appel aux disciplines de service « Weighed Fair Queueing » ou « Weighted Round Robin ». Dans la mesure où cette proportion doit être obtenue en moyenne d'autres disciplines peuvent être utilisées. On peut par exemple tirer au hasard la demande à servir avec un poids transférer un bloc correspondant à la demande tirée puis refaire un tirage, etc.
Une analyse numérique montre que lorsque tous les utilisateurs participants appliquent une telle procédure, les performances en terme de délai de transmission de contenu de mêmes dimensions sont quasiment identiques quelle que soit la popularité, c'est-à-dire le nombre d'exemplaires, de ce contenu.
La mise en œuvre du mode de réalisation de l'invention illustré en figure 4 ne nécessite aucune modification du mécanisme de diffusion de fichier dans son ensemble. Seuls sont utilisés des échanges de messages existants dans toute application de ce type. De plus, chaque utilisateur peut mettre en œuvre !e procédé objet de la présente invention indépendamment des autres utilisateurs. Il n'est pas nécessaire que soit mise en œuvre une mise à jour logicielle de toutes les applications de partage et un basculement synchrone sur l'ensemble des utilisateurs vers cette mise à jour.
En particulier l'invention peut être mise en œuvre même si les utilisateurs appartiennent à des entités administratives différentes et non coordonnées.
L'invention permet aussi de moduler arbitrairement les temps de réponses en fonction de la popularité.
Si on s'intéresse à la fonction (1/NiA)/(X1/N1A + ...+ Xj/NjA + ...), dans les modes de réalisation du procédé objet de la présente invention dans lesquels l'utilisateur fournisseur sert un demandeur d'un fichier i en sa possession en proportion de cette fonction de la bande passante qu'il alloue à la diffusion de fichiers : - si A était nui, les performances seraient les mêmes que s'il n'y avait pas de prise en compte du nombre de fournisseur du contenu, ce qui est exclu ici,
- si A est positif, les fichiers peu populaires voient leurs temps de réponses diminuer et ceci d'autant plus que A augmente,
si A>1, on obtient des temps de réponses pour les fichiers peu populaires qui sont inférieurs aux temps de réponse des fichiers populaires. Les inégalités de performances basculent dans ce cas en faveur des fichiers peu populaires, et si A est négatif, ce sont les fichiers populaires qui voient leurs temps de réponses diminuer (au détriment des fichiers peu populaires) et ceci d'autant plus que la valeur absolue de A augmente.
On note que le cas particulier A=1, produisant des temps de réponses quasiment indépendants de la popularité, est illustré en figure 3.
Les principales étapes d'un deuxième mode de réalisation particulier du procédé objet de l'invention sont représentées en figure 5.
Au cours d'une étape 305, chaque utilisateur participant à l'échange de contenu lance une application de partage de contenus et alloue une bande passante à cette application.
Au cours d'une étape 310, un demandeur émet une requête de déclaration de disponibilité d'un contenu i en identifiant ce contenu i, à destination d'au moins un serveur qui centralise l'information du nombre d'exemplaires de chaque contenu, à destinations d'autres utilisateurs qui relaient cette requête de proche en proche ou, notamment dans le cas des petits réseaux, à destination des autres utilisateurs. Cette requête sert à connaître des identifiants d'utilisateurs tenant à disposition le contenu i, aussi appelés « fournisseurs potentiels ».
Au cours d'une étape 315, les utilisateurs qui disposent du contenu i répondent à la requête en s'identifiant comme fournisseurs potentiels du contenu i.
Au cours d'une étape 320, l'utilisateur demandeur traite les réponses obtenues de la part des utilisateurs fournisseurs pour déterminer une estimation Ni du nombre de fournisseurs du contenu i.
Au cours d'une étape 325, l'utilisateur demandeur transmet, à certains des fournisseurs potentiels, une requête de transmission du contenu i. Au cours d'une étape 330, le demandeur transmet, au moins à chaque fournisseur choisi implémentant la présente invention, l'estimation Ni du nombre de fournisseurs du contenu i. On note que, dans le cas illustré en figure 5, cette estimation Ni est préférentiellement le nombre exact de fournisseurs auxquels la requête de l'étape 325 est adressée.
Au cours d'une étape 335, au moins un fournisseur transmet au moins une partie du contenu i en lui attribuant une bande passante fonction de l'estimation Ni du nombre de fournisseurs, de manière similaire à ce qui est décrit en regard de l'étape 245.

Claims

REVENDICATIONS
1. Procédé de transmission d'un contenu i par un fournisseur de ce contenu, caractérisé en ce qu'il comporte :
une étape (210, 310) de réception, par ledit fournisseur, d'une requête de transmission du contenu i en provenance d'un demandeur,
- une étape (225 à 240, 315 à 325) d'obtention, par ledit fournisseur, d'une estimation Ni d'un nombre de fournisseurs dudit contenu et
une étape (245, 330) de transmission du contenu i, au cours de laquelle, ledit fournisseur transmet au demandeur au moins une partie du contenu i en attribuant au demandeur une proportion moyenne de la bande passante allouée par ce fournisseur à la diffusion de contenus calculée sous forme d'un coefficient, fonction du nombre Ni de fournisseurs du contenu i et d'une valeur réelle A, commune à tous les contenus à transmettre, servant à ajuster l'impact sur ledit coefficient du nombre Ni de fournisseurs du contenu i.
2. Procédé selon la revendication , dans lequel ledit coefficient est calculé comme produit du ratio 1/NiA par un coefficient de pondération Wi affecté au contenu i, A prenant sa valeur dans l'ensemble des nombres réels.
3. Procédé selon la revendication 1 ou 2, dans lequel la proportion moyenne de bande passante allouée aux demandeurs du contenu i est le produit dudit coefficient par le nombre Xi de demandeurs du contenu i attendant d'être servis par ledit fournisseur.
4. Procédé selon la revendication 2, dans lequel le coefficient de pondération Wi est égal à Ki * Ei / S, où
S représente un coefficient de normalisation,
Ki est un coefficient fonction d'une catégorie de contenus à laquelle appartient le contenu i,
Ei est un coefficient de modulation affecté au contenu i, choisi tel que le rapport entre deux valeurs de coefficients de modulation Ei et Ej affectés à deux contenus i et j à transmettre est compris dans l'intervalle [0,1 ; 10].
5. Procédé selon la revendication 4, dans lequel le coefficient de normalisation S est égal à la somme:
Κ Έ1*Χ1/Ν1Α + ... + (Kj*Ej*Xj/NjA) + ...
où Xj représentant le nombre de demandeurs du contenu ] attendant d'être servis par ledit fournisseur.
6. Procédé selon l'une des revendications 4 ou 5, dans lequel le coefficient Ei affecté à un contenu i est une fonction de Xi et/ou de Ni, où
Xi représente le nombre de demandeurs du contenu i attendant d'être servis par ledit fournisseur.
7. Procédé selon l'une des revendications 1 à 6, dans lequel l'étape (225 à 240) d'obtention de l'estimation Ni comporte :
une étape (230) d'émission, par ledit fournisseur, d'une requête de déclaration de disponibilité du contenu i à destination d'utilisateurs tiers potentiellement fournisseurs du contenu i,
une étape (235) de réception de réponses de la part d'utilisateurs tiers potentiellement fournisseurs du contenu i et
une étape (240) de traitement des réponses pour déterminer une estimation Ni du nombre de fournisseurs dudit contenu.
8. Procédé selon la revendication 7, dans lequel, l'étape (225 à 240) d'obtention de l'estimation Ni comporte une étape (225) de détermination si l'estimation Ni a déjà été obtenue par le fournisseur au cours d'une durée écoulée prédéterminée et, seulement si l'estimation Ni n'a pas déjà été obtenue, l'étape (230) d'émission de la requête à destination des utilisateurs tiers, l'étape (235) de réception de réponses de la part d'utilisateurs tiers et l'étape (240) de traitement.
9. Procédé selon l'une des revendications 1 à 6, dans lequel l'étape (315 à 325) d'obtention de l'estimation Ni comporte :
une étape d'émission, par le demandeur, d'une requête de déclaration de disponibilité du contenu i à destination d'utilisateurs potentiellement fournisseurs du contenu i,
une étape de réception de réponses de la part d'utilisateurs potentiellement fournisseurs du contenu i,
une étape de traitement des réponses pour déterminer une estimation Ni du nombre de fournisseurs dudit contenu et
une étape de transmission de l'estimation Ni, par le demandeur à destination d'au moins un fournisseur.
10. Procédé selon l'une quelconque des revendications 1 à 9, dans lequel, au cours de l'étape (245, 330) de transmission, au moins un fournisseur transmet au moins une partie du contenu i en lui attribuant une bande passante fonction décroissante de l'estimation Ni du nombre de fournisseurs.
11. Procédé selon l'une quelconque des revendications 1 à 10, dans lequel, au cours de l'étape (245, 330) de transmission, au moins un fournisseur transmet au moins une partie du contenu i en lui attribuant une bande passante en proportion moyenne de (1/NiA)/(X1/N1A + Xj/NjA + ...) de la bande passante allouée par ce fournisseur à la diffusion de contenus de pair à pair.
12. Dispositif de transmission d'un contenu i par un fournisseur de ce contenu, caractérisé en ce qu'il comporte :
un moyen de réception, par ledit fournisseur, d'une requête de transmission du contenu i en provenance d'un demandeur, un moyen d'obtention, par ledit fournisseur, d'une estimation Ni du nombre de fournisseurs dudit contenu et
un moyen (140 à 155) de transmission du contenu i adapté à transmettre au demandeur au moins une partie du contenu i en attribuant au demandeur une proportion moyenne de la bande passante allouée par ce fournisseur à la diffusion de contenus calculée sous forme d'un coefficient, fonction du nombre Ni de fournisseurs du contenu i et d'une valeur réelle A, commune à tous les contenus à transmettre, servant à ajuster l'impact sur ledit coefficient du nombre Ni de fournisseurs du contenu i.
13. Dispositif selon la revendication 1 , comprenant des moyens de calcul dudit coefficient comme produit du ratio 1/NiA par un coefficient de pondération Wi affecté au contenu i, A prenant sa valeur dans l'ensemble des nombres réels.
14. Programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en œuvre d'un procédé selon l'une quelconque des revendications 1 à 11.
15. Support d'informations lisibles par un ordinateur ou un microprocesseur, amovible ou non, conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en œuvre du procédé selon l'une quelconque des revendications 1 à 11.
EP10809297A 2009-12-29 2010-12-20 Procede et dispositif de transmission de contenu Withdrawn EP2520072A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0959654A FR2954879A1 (fr) 2009-12-29 2009-12-29 Procede et dispositif de transmission de contenu
PCT/FR2010/052816 WO2011080465A1 (fr) 2009-12-29 2010-12-20 Procede et dispositif de transmission de contenu

Publications (1)

Publication Number Publication Date
EP2520072A1 true EP2520072A1 (fr) 2012-11-07

Family

ID=42751832

Family Applications (1)

Application Number Title Priority Date Filing Date
EP10809297A Withdrawn EP2520072A1 (fr) 2009-12-29 2010-12-20 Procede et dispositif de transmission de contenu

Country Status (4)

Country Link
US (1) US20120284363A1 (fr)
EP (1) EP2520072A1 (fr)
FR (1) FR2954879A1 (fr)
WO (1) WO2011080465A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9160697B2 (en) * 2012-01-01 2015-10-13 Qualcomm Incorporated Data delivery optimization

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002057917A2 (fr) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Plate-forme de reseau entre homologues
US7761569B2 (en) * 2004-01-23 2010-07-20 Tiversa, Inc. Method for monitoring and providing information over a peer to peer network
US7174385B2 (en) * 2004-09-03 2007-02-06 Microsoft Corporation System and method for receiver-driven streaming in a peer-to-peer network
US7944832B2 (en) * 2006-04-21 2011-05-17 Yongmin Zhang Method and device for realizing content flowing on P2P network
US8078729B2 (en) * 2007-08-21 2011-12-13 Ntt Docomo, Inc. Media streaming with online caching and peer-to-peer forwarding
US20100293294A1 (en) * 2009-05-15 2010-11-18 Alcatel-Lucent Usa Inc. Peer-to-peer communication optimization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2011080465A1 *

Also Published As

Publication number Publication date
FR2954879A1 (fr) 2011-07-01
WO2011080465A1 (fr) 2011-07-07
US20120284363A1 (en) 2012-11-08

Similar Documents

Publication Publication Date Title
EP2294799B1 (fr) Procede et dispositif d'attribution d'adresses mac dans un reseau de communication sur courants porteurs
US9037657B2 (en) Systems and methods for peer-to-peer bandwidth allocation
EP3054652B1 (fr) Ajustement dynamique du mode de transmission dans un systeme de communication satellite
Trajkovska et al. A novel P2P and cloud computing hybrid architecture for multimedia streaming with QoS cost functions
US20140165118A1 (en) Method and end point for distributing live content stream in a content delivery network
US20090070482A1 (en) Methods and apparatus for cooperative file distribution with target data delivery rate
FR2983610A1 (fr) Reseau de communication a trafic de connexion ameliore
Shin et al. T-chain: A general incentive scheme for cooperative computing
EP2856719B1 (fr) Technique de communication dans un réseau de communication centré sur les informations
EP2039126B1 (fr) Procede pour lutter contre la diffusion illicite d'oeuvres protegees et systeme informatique pour la mise en oeuvre d'un tel procede
EP2520072A1 (fr) Procede et dispositif de transmission de contenu
EP1826980A1 (fr) Téléchargement progressif
EP2591588B1 (fr) Accès à un réseau de noeuds répartis sur une architecture de communication a l'aide d'un serveur de topologie avec sélection multicritères
Rocha et al. On client interactive behaviour to design peer selection policies for BitTorrent-like protocols
EP2984786A1 (fr) Architecture centralisée pour l'établissement de fédérations de distributeurs de contenus
FR2915044A1 (fr) Procede de determination de la dynamique d'un reseau logique
FR3049795A1 (fr) Procede d'optimisation du debit de contenus multimedia accessibles par au moins un terminal utilisateur, produit programme d'ordinateur et dispositif de gestion correspondants.
WO2016110583A1 (fr) Procede de gestion et de fonctionnement protocolaire d'un reseau de distribution de contenu
EP3205067A1 (fr) Procédé de diffusion de contenus en streaming dans un réseau pair à pair
Yang et al. A novel on-demand streaming service based on improved BitTorrent
Legout et al. Peer-to-Peer Applications
WO2019179855A1 (fr) Procede de diffusion d'un contenu
Parkes et al. CS 186 Lecture 3—P2P File-Sharing
Zohar et al. FairE9: Fair file distribution over mesh-only peer-to-peer
FR3140229A1 (fr) Procédé, dispositif et système de sélection d’au moins un dispositif apte à héberger un processus d’une application

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20120727

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20140721

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20141202