FR2870022A1 - Procede et dispositif de distribution de donnees numeriques notamment pour reseau pair-a-pair - Google Patents

Procede et dispositif de distribution de donnees numeriques notamment pour reseau pair-a-pair Download PDF

Info

Publication number
FR2870022A1
FR2870022A1 FR0404953A FR0404953A FR2870022A1 FR 2870022 A1 FR2870022 A1 FR 2870022A1 FR 0404953 A FR0404953 A FR 0404953A FR 0404953 A FR0404953 A FR 0404953A FR 2870022 A1 FR2870022 A1 FR 2870022A1
Authority
FR
France
Prior art keywords
digital data
server device
server
holding
request
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.)
Granted
Application number
FR0404953A
Other languages
English (en)
Other versions
FR2870022B1 (fr
Inventor
Frederic Maze
Eric Nassor
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to FR0404953A priority Critical patent/FR2870022B1/fr
Priority to US11/119,696 priority patent/US8463936B2/en
Publication of FR2870022A1 publication Critical patent/FR2870022A1/fr
Application granted granted Critical
Publication of FR2870022B1 publication Critical patent/FR2870022B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Le procédé selon l'invention est mis en oeuvre dans un système de télécommunications comprenant des serveurs de données (11, 13, 14) et des clients (11 à 14) et au moins un serveur de réplication (11, 13 à 16) susceptible de stocker une réplique de données numériques d'un serveur de données afin de la fournir à un client. Le procédé est caractérisé en ce qu'il comprend l'étape, exécutée dans un serveur de données lors de la réception par celui-ci d'une demande d'obtention de données numériques en provenance d'un client, de décider, sur la base d'informations prédéterminées relatives aux serveurs et/ou aux clients, d'une solution de fourniture optimale des données numériques demandées au client, entre une fourniture directe par le serveur de données et une fourniture indirecte par un serveur de réplication. Le procédé est particulièrement adapté à une mise en oeuvre dans un réseau P2P.

Description

La présente invention concerne de manière générale la distribution de
données numériques à travers un réseau de télécommunications. Plus particulièrement, la présente invention concerne des
procédé et dispositif de distribution de données numériques avec une réplication éventuelle des données numériques autorisant une accessibilité et une disponibilité accrues de celles-ci.
L'invention trouve une application privilégiée, mais non exclusive, dans les systèmes de télécommunications de type pair-à-pair ou P2P ( peerto-peer en anglais), notamment pour le partage de données numériques, tels que les systèmes P2P élaborés au-dessus du réseau Internet.
Dans les systèmes P2P, chaque machine reliée au réseau de télécommunications peut se comporter aussi bien comme client que comme serveur. Ainsi, des données numériques reçues par une machine au titre de machine cliente peuvent ensuite, par exemple, être servies par cette machine à d'autres machines du réseau de télécommunications. Du fait d'un maintien des données numériques partagées sur les machines clientes, les systèmes P2P permettent de réduire considérablement les coûts d'infrastructure comparativement à des systèmes centralisés de type client-serveur. En effet, les systèmes P2P autorisent une répartition des besoins en capacité de stockage et en bande passante du réseau entre toutes les machines reliées au réseau de télécommunications.
Une difficulté particulière aux systèmes P2P réside dans leur topologie qui est très instable. En effet, dans ces systèmes P2P, les machines peuvent se connecter ou se déconnecter à tout moment. Lorsqu'une machine est déconnectée, les données que celle-ci est susceptible de fournir à un client sont alors indisponibles. Le client doit donc attendre une connexion ultérieure de la machine déconnectée pour avoir accès aux données numériques demandées. De plus, les adresses IP des machines sont imprédictibles et susceptibles d'être différentes à chaque connexion.
L'accessibilité et la disponibilité des données constituent donc dans les systèmes P2P des problèmes particulièrement délicats pour lesquels il serait souhaitable de proposer des solutions.
La réplication des données dans plusieurs serveurs est une technique connue qui est utilisée pour améliorer l'accessibilité et la disponibilité des données dans un réseau.
Il est connu, par le document WO-02/095605 (IBM), un système de déploiement / redéploiement automatique de services web entre différents sites dans un réseau de télécommunications.
Dans ce système de déploiement, les conditions d'utilisation des services web sont surveillées et analysées par une autorité centrale qui décide, lorsqu'elle le juge nécessaire pour l'efficacité des services, de déclencher un déploiement dynamique des services à différents emplacements dans le réseau de télécommunications. Les requêtes des clients pour les services déployés sont ensuite redirigées automatiquement vers les nouveaux emplacements de ces services.
Il est aussi connu, par le document US-6484204 (AT&T), un système de redirection de requêtes et de gestion de répliques d'objets dans lequel des requêtes pour un objet adressées à un serveur d'origine sont redirigées vers des répliques de cet objet sur une autre machine du réseau.
Conformément à ce système AT&T, le nombre de redirections d'une requête vers une réplique d'objet considérée ainsi qu'une distance représentative d'un coût de communication jusqu'à chacun des serveurs de la réplique d'objet sont calculés par un dispositif distributeur. Quand le dispositif distributeur reçoit une requête, il détermine un serveur pour traiter la requête à partir des informations calculées. La requête est ensuite transmise au serveur sélectionné, ou bien, en variante, c'est le requérant qui est redirigé vers le serveur sélectionné.
D'après le système AT&T, chaque machine stockant une réplique d'objet est libre de la détruire, de la faire migrer ou de la répliquer de manière autonome. Pour décider de la conduite à tenir, la machine compare le nombre de requêtes pour la réplique d'objet à différentes valeurs de seuils. Cependant, la décision de déploiement, c'est-à-dire, la décision de répliquer sur d'autres machines des objets détenus par des serveurs d'origine, appartient dans le système AT&T uniquement à une autorité centrale qui est chargée de gérer au mieux les répliques d'objet dans le réseau.
Ces systèmes IBM et AT&T de la technique antérieure apparaissent comme plus particulièrement conçus pour des réseaux de type client/serveur ou du moins de type centralisé.
Du fait de la nécessité d'une autorité centrale pour la décision de déploiement, les systèmes IBM et AT&T décrits ci-dessus sont mal adaptés à une implémentation dans des architectures de réseau P2P de type non centralisé tel que Gnutella.
Des décisions de déploiement prises au niveau de chacun des serveurs se prêteraient mieux à une utilisation dans les différentes architectures de réseau P2P existantes, que celles-ci soient centralisés, décentralisées ou hybrides.
Un autre inconvénient notamment du système IBM réside dans le fait que la décision de déploiement intervient à posteriori, c'est-à-dire, après que les données concernées aient été transférées au moins une fois par le serveur d'origine. Cet aspect est pénalisant pour les machines à faible capacité de transfert de données, car dans le meilleur des cas, c'est-àdire, si la décision de déploiement intervient après un premier transfert de données, ces machines devront transmettre les données au moins encore une fois, vers un serveur de réplication.
L'article "Search and Replication in Unstructured Peer-to-Peer Networks" de Qin Lv and al., dans ACM International Conference on Supercomputing, Juin 2002, décrit des stratégies de réplication distribuée dans le contexte des réseaux P2P décentralisés et non structurés tels que Gnutella.
II est introduit dans cet article la notion de réplication proactive d'objets dans un réseau P2P. Conformément à cette notion de réplication proactive, un objet peut être répliqué sur une machine sans qu'aucune demande n'ait été faite par celle-ci pour l'objet concerné. On améliore ainsi le taux de réussite de recherche lors d'une recherche de cet objet sur le réseau P2P, tout en améliorant aussi la disponibilité de l'objet.
Deux stratégies de réplication sont présentées dans le but d'améliorer les taux de réussite de recherche. A savoir: - une réplication de trajet dite path réplication en anglais et qui consiste à répliquer l'objet le long du chemin entre le demandeur et le serveur, et - une réplication aléatoire dite random réplication qui consiste à répliquer autant d'objets que pour la réplication ci-dessus mais dans laquelle les objets sont placés de manière aléatoire entre les sites examinés.
Ces stratégies de réplication sont optimisées pour améliorer les taux de réussite de recherche d'objet et ne prennent pas en compte par exemple des paramètres liés aux capacités de transfert de données des machines.
Des solutions de réplication autorisant une moindre sollicitation en transfert de données des machines ayant de faibles capacités de transfert et adaptables à différentes architectures de réseau dont les architectures P2P constitueraient une avancée significative dans ce domaine de la technique.
La présente invention vise en premier lieu à fournir un procédé de distribution de données numériques capable d'assurer une réplication éventuelle des données numériques afin d'améliorer leurs accessibilité et disponibilité et ne présentant pas les inconvénients exposés ci-dessus.
Un procédé de distribution de données numériques selon l'invention mis en oeuvre dans un système de télécommunications comprenant au moins un dispositif serveur susceptible de détenir des données numériques et de recevoir au moins une demande pour fournir les données numériques, au moins un dispositif client susceptible de demander les données numériques au dispositif serveur détenteur et au moins un dispositif serveur de réplication susceptible de stocker une réplique des données numériques du dispositif serveur détenteur et de fournir la réplique de données numériques au dispositif client, les dispositifs serveurs et clients étant reliés à un réseau de télécommunications, est caractérisé en ce qu'il comprend l'étape suivante, exécutée lors d'une réception par un dispositif serveur détenteur d'une demande d'obtention de données numériques en provenance d'un dispositif client, de: - décider, dans le dispositif serveur détenteur, sur la base d'informations prédéterminées relatives aux dispositifs serveurs et/ou clients, d'une solution de fourniture optimale des données numériques demandées au dispositif client, entre une fourniture directe par le dispositif serveur détenteur et une fourniture indirecte par un dispositif serveur de réplication.
Corrélativement, l'invention concerne également un dispositif de distribution de données numériques incorporé de manière répartie dans un système de télécommunications comprenant au moins un dispositif serveur détenteur de données numériques et susceptible de recevoir au moins une demande pour fournir les données numériques, au moins un dispositif client susceptible de demander les données numériques au dispositif serveur détenteur et au moins un dispositif serveur de réplication susceptible de stocker une réplique des données numériques du dispositif serveur détenteur et de fournir la réplique de données numériques au dispositif client, les dispositifs serveurs et clients étant reliés à un réseau de télécommunications, caractérisé en ce qu'il comprend des moyens de décision, incorporés dans au moins un dispositif serveur détenteur et activés lors d'une réception par le dispositif serveur détenteur d'une demande d'obtention de données numériques, pour décider d'une solution de fourniture optimale des données numériques demandées au dispositif client, entre une fourniture directe par le dispositif serveur détenteur et une fourniture indirecte par un dispositif serveur de réplication, la décision étant prise sur la base d'informations prédéterminées relatives aux dispositifs serveurs et/ou clients.
L'invention est particulièrement bien adaptée pour une application dans un système de télécommunications supportant des communications de type P2P. Dans un réseau de partage de type P2P mettant en oeuvre l'invention, lorsqu'une fourniture directe des données numériques demandées est décidée pour un dispositif client P2P, cela signifie dans la majorité des cas que ce dispositif client P2P a été évalué par le dispositif serveur détenteur comme un futur serveur efficace pour les données demandées.
L'invention autorise dans un réseau de partage de type P2P une amélioration substantielle de l'accessibilité et de la disponibilité des images de haute résolution. Grâce à l'invention, les machines du réseau P2P ayant de faibles capacités réseau ont la possibilité de partager des images de haute résolution sans avoir à délivrer plusieurs fois la même image.
Conformément à l'invention, lesdites informations prédéterminées peuvent également concerner les données numériques demandées, et la décision de la solution de fourniture optimale est alors prise aussi en fonction des données numériques demandées.
De préférence, conformément à l'invention, les informations prédéterminées relatives aux dispositifs serveurs et/ou clients comportent au moins une des informations suivantes relatives à l'aptitude du dispositif serveur détenteur à exercer la fonction de serveur de données: - une durée moyenne de connexion au réseau de télécommunications du dispositif serveur détenteur; - un type de connexion au réseau de télécommunications du dispositif serveur détenteur; et - une disponibilité ou pas d'au moins un dispositif serveur de réplication.
Les informations prédéterminées relatives aux dispositifs serveurs et/ou clients comportent de préférence au moins une des informations suivantes relatives à l'aptitude du dispositif serveur de réplication à exercer la fonction de serveur de données: - une durée moyenne de connexion au réseau de télécommunications du dispositif serveur de réplication; - un type de connexion au réseau de télécommunications du dispositif serveur de réplication; et - une disponibilité ou pas d'un espace de stockage dans le dispositif serveur de réplication pour y stocker la réplique de données numériques.
Les informations prédéterminées relatives aux dispositifs serveurs et/ou clients comportent au moins de préférence une des informations suivantes relatives à l'aptitude du dispositif client à exercer à son tour la fonction de serveur de données: - un type du dispositif client; - un type de connexion au réseau de télécommunications du dispositif client; - une durée moyenne de connexion au réseau de télécommunications du dispositif client; et - une disponibilité ou pas d'un espace de stockage dans le dispositif client pour y stocker les données numériques demandées.
Les informations prédéterminées relatives aux données numériques demandées comprennent au moins une des informations suivantes: - un nombre de demandes potentielles ultérieures pour les données numériques demandées; une date de partage des données numériques demandées et/ou une date de partage d'une collection auxquelles appartiennent les données numériques demandées; - un nombre d'utilisateurs susceptibles de vouloir accéder aux données numériques demandées; et - une taille des données numériques demandées.
Selon une autre caractéristique particulière de l'invention, lorsque celle-ci est appliquée dans un système de télécommunications comprenant au moins deux dispositifs serveurs de réplication susceptibles de stocker des données numériques répliquées, il est sélectionné, dans le cas d'une fourniture indirecte des données numériques demandées, un des dispositifs serveurs de réplication afin d'y répliquer les données numériques demandées, cette sélection intervenant sur la base des informations prédéterminées.
Dans un système de télécommunications comprenant au moins un dispositif serveur de stockage mis à disposition d'un dispositif serveur détenteur dans le réseau de télécommunications, l'invention autorise un enregistrement, auprès du dispositif serveur détenteur, du dispositif serveur de stockage en tant que dispositif serveur de réplication susceptible de stocker des répliques de données numériques du dispositif serveur détenteur.
La caractéristique ci-dessus de l'invention est particulièrement intéressante dans le cas où le système de télécommunications est supporté au moins partiellement par le réseau Internet. En effet, les fournisseurs d'accès au réseau Internet (en anglais Internet Service Provider ou ISP) mettent généralement à disposition des utilisateurs des serveurs de stockage web ou ftp que l'invention permet d'enregistrer comme étant des dispositifs serveurs de réplication susceptibles de stocker des répliques de données numériques.
L'invention tire ainsi avantageusement profit de ressources qui sont extérieures au dispositif serveur, à savoir, des capacités de stockage externe, de façon à améliorer le service de données numériques dans le réseau.
Dans un système de télécommunications comprenant au moins deux dispositifs serveurs susceptibles de détenir des données numériques et de recevoir des demandes pour fournir ces données numériques, l'un au moins des dispositifs serveurs détenteurs étant apte à intervenir en tant que dispositif serveur mandataire pour le compte de l'autre dispositif serveur détenteur, l'invention autorise un enregistrement du dispositif serveur détenteur apte à intervenir en tant que dispositif serveur mandataire comme étant un dispositif serveur de réplication susceptible de stocker des répliques de données numériques dudit autre dispositif serveur détenteur.
Selon encore d'autres caractéristiques particulières, dans le cas brièvement exposé ci-dessus où le système de télécommunications comprend au moins un dispositif serveur détenteur opérant comme dispositif serveur mandataire et enregistré comme étant un dispositif serveur de réplication, lors de la réception par ce dispositif serveur détenteur d'une demande en provenance d'un dispositif client, l'invention prévoit de détecter si la demande est une demande d'obtention de données numériques ou d'une réplique de données numériques, et ensuite, dans le cas d'une demande d'obtention d'une réplique de données numériques, de fournir la réplique de données numériques demandées au dispositif client, et dans le cas d'une demande d'obtention de données numériques, de décider sur la base des informations prédéterminées, d'une solution de fourniture optimale des données numériques demandées au dispositif client, entre une fourniture directe par le dispositif serveur détenteur et une fourniture indirecte par un dispositif serveur de réplication éventuellement enregistré auprès dudit autre dispositif serveur détenteur.
Selon d'autres aspects, l'invention concerne aussi des dispositifs de traitement d'information et d'images numériques, un système de télécommunications, ainsi qu'un moyen de stockage d'information et un programme d'ordinateur pour une mise en oeuvre des procédés de l'invention décrits brièvement ci-dessus.
Bien entendu, les différentes caractéristiques de l'invention présentées dans le préambule ci-dessus sont indépendantes du type des données numériques et s'appliquent sans restriction aux modes particuliers de réalisation décrits ci-dessous.
L'invention offre des modes de réalisation adaptés au traitement de données de type multi-résolutions comprenant notamment des données d'image et/ou des données vidéo et/ou des données audio et/ou des données de texte.
D'autres aspects et avantages de la présente invention apparaîtront plus clairement à la lecture de la description de modes particuliers de réalisation qui va suivre, cette description étant donnée uniquement à titre d'exemple non limitatif et faite en référence aux dessins annexés, dans lesquels la Fig.1 montre la structure générale d'un mode particulier de réalisation du système de télécommunications selon l'invention; la Fig. 2 montre un premier exemple de séquence d'échange de messages dans le système de télécommunications selon l'invention pour le cas d'une fonction de serveur de réplication remplie par un dispositif serveur mandataire; la Fig.3 montre un second exemple de séquence d'échange de messages dans le système de télécommunications selon l'invention pour le cas d'une fonction de serveur de réplication remplie par un dispositif serveur de stockage; la Fig.4 est un organigramme fonctionnel relatif au comportement d'un serveur local P2P en mode proxy selon l'invention lors de la réception d'une requête d'obtention de données numériques; la Fig.5 est un organigramme fonctionnel relatif au comportement d'un serveur local P2P selon l'invention lors de la réception d'une requête d'obtention de données numériques; la Fig.6 est un organigramme fonctionnel relatif à la gestion de l'espace de stockage d'un dispositif serveur de stockage; la Fig.7A montre un exemple d'une table de données numériques partagées utilisée par les algorithmes de l'invention; la Fig. 7B montre un exemple d'une table de serveurs utilisée par les algorithmes de l'invention; et la Fig.8 montre une configuration matérielle particulière d'un dispositif de traitement d'information apte à une mise en oeuvre du procédé selon l'invention.
Les modes particuliers de réalisation des procédé et dispositif de l'invention présentés ci-dessous sont décrits dans le contexte général d'un système de télécommunications selon l'invention, de type P2P hybride, qui est conçu plus particulièrement pour le partage de données numériques multi- résolutions entre un groupe d'utilisateurs.
Dans ce système de télécommunications selon l'invention, un serveur central peut être utilisé pour assurer un nombre limité de fonctionnalités tels que la connexion des utilisateurs ou pour assurer une qualité de service minimale en cas de défaillance du réseau.
Par exemple, pour l'échange de contenus numériques personnels tels que des photographies numériques et des vidéos, le serveur central peut maintenir un cache de vignettes (versions basse résolution des images) autorisant une continuité de l'accessibilité aux vignettes. Les images haute résolution restent elles stockées dans les machines ou dispositifs pairs détenteurs ou des dispositifs serveurs de réplication.
De plus, les contenus numériques sont identifiés de manière unique par un identifiant UUID (de l'anglais Universal Unique Identifier ). Les contenus numériques peuvent être regroupés pour former des collections de contenus numériques, telles que des collections de photographies numériques. Les collections peuvent elles-mêmes être identifiées de manière unique par un identifiant UUID.
Chaque machine faisant partie du système de télécommunications selon l'invention est également identifiée de manière unique par un identifiant UUID.
Dans le système de télécommunications selon l'invention, l'utilisateur possède de préférence sur sa machine une application P2P dédiée pour partager des contenus numériques, et parcourir et accéder à ceux-ci sur le réseau. Chaque dispositif serveur du système de télécommunications peut également comporter un serveur web afin d'autoriser aussi un accès à des contenus numériques du réseau à des utilisateurs à travers des outils de visualisation de page HTML tels qu'un navigateur web, un lecteur de courrier électronique ou autres. Un utilisateur peut ainsi partager des collections de contenus numériques avec un ensemble de personnes, même si certaines personnes ne possèdent pas l'application P2P dédiée.
En référence à la Fig.1, un système de télécommunications P2P de type hybride selon l'invention est décrit dans un exemple de configuration simplifiée comportant quatre dispositifs terminaux 11 à 14 et deux dispositifs serveurs de stockage 15 et 16 qui sont tous reliés à un réseau de télécommunications 10.
Le réseau 10 est par exemple constitué au-dessus du réseau Internet, d'un réseau local privé (LAN) ou d'un réseau de téléphonie mobile ou encore d'une combinaison de ces trois réseaux.
Les dispositifs terminaux 11 à 14 sont reliées au réseau 10 par différents moyens de communication tels que par exemple une liaison xDSL, un modem 56 kols, un modem câble, une liaison sans fil WiFi, une liaison téléphonique cellulaire (par exemple GSM ou UMTS) ou autres.
Dans cet exemple de configuration simplifiée du système de télécommunications selon l'invention, les dispositifs terminaux 11 à 14 se répartissent en deux catégories distinctes. Ainsi, les dispositifs terminaux 11, 13 et 14 sont des dispositifs pairs équipés d'une application P2P dédiée. Le dispositif terminal 12 est un client web qui accède à des ressources partagées du système de télécommunications selon l'invention à travers un outil de visualisation de page HTML.
Les dispositifs terminaux 11, 13 et 14 munis de l'application P2P dédiée forment entre eux un réseau de type P2P sur le support du réseau de télécommunications 10 et suivant une des topologies connues de l'homme du métier telles qu'une topologie centralisée, décentralisée avec ou sans super- postes ( super-peers en anglais), ou une topologie hybride.
L'application P2P comporte au moins un module de serveur local P2P implémentant l'invention et un dispositif de stockage de données ou cache. Des serveurs locaux P2P 113, 133 et 143 et des dispositifs de stockage de données ou caches 112, 132 et 142 sont installés respectivement dans les dispositifs terminaux 11, 13 et 14.
Les serveurs locaux P2P 113, 133 et 143 sont chargés de répondre aux requêtes d'accès aux ressources partagées P2P en provenance des dispositifs terminaux clients.
Une requête d'accès aux ressources partagées P2P peut provenir d'applications distantes, mais aussi d'applications qui sont présentes sur la même machine que le serveur local P2P recevant la requête. La requête est par exemple reçue suivant un protocole propriétaire propre à l'application P2P ou suivant le protocole HTTP. Lorsque le dispositif terminal est par exemple un téléphone mobile, des messages SMS ou MMS peuvent être employés pour communiquer avec le système de télécommunications selon l'invention.
Les moyens de stockage 112, 132 et 142 contiennent des données numériques qui sont partagés sur le réseau P2P à l'aide des serveurs locaux P2P 113, 133 et 143. Les caches 112, 132 et 142 contiennent également des informations relatives à des répliques de données numériques et à l'état de dispositifs serveurs de réplication qui, conformément à l'invention, sont associés aux dispositifs terminaux 11, 13 et 14, comme cela apparaîtra plus clairement par la suite.
Dans cet exemple de configuration simplifiée du système de télécommunications selon l'invention, un dispositif serveur de réplication peut être l'un des dispositifs serveurs de stockage 15 et 16 et des serveurs locaux P2P des dispositifs terminaux 11, 13 et 14.
Comme montré à la Fig.1, l'application P2P dédiée peut également être complétée par une application P2P cliente sous la forme des applications 111, 131 et 141 installées respectivement dans les dispositifs terminaux 11, 13 et 14. Les applications P2P clientes 111, 131 et 141 offrent une interface aux utilisateurs leur permettant de rechercher, d'accéder, de visualiser et de partager des données numériques sur le réseau P2P.
Comme montré également à la Fig.1 pour les dispositifs terminaux 11 et 12, des outils de visualisation de page HTML 114 et 121 peuvent aussi être installés respectivement dans les dispositifs terminaux 11 et 12 afin de permettre à ceux-ci un accès à des données numériques à l'aide du protocole de communication HTTP, qu'ils soient ou pas équipés de l'application P2P dédiée.
Les dispositifs serveurs de stockage 15 et 16 sont par exemple des machines dans lesquelles les utilisateurs possèdent des espaces de stockage respectifs à leur disposition, ces espaces de stockage respectifs étant accessibles en lecture par l'ensemble du réseau.
Conformément à un mode de réalisation préféré de l'invention, les dispositifs serveurs de stockage 15 et 16 sont par exemple des serveurs web tels que ceux proposés à leurs clients par les fournisseurs d'accès à Internet ( Internet Service Provider ou ISP en anglais). En effet, dans ce type de serveur web, l'utilisateur a généralement la possibilité de stocker librement des données numériques à l'aide par exemple d'un protocole tel que FTP de l'anglais File Transfer Protocol . Les données numériques stockées sont ensuite accessibles à l'aide par exemple d'un protocole tel que HTTP.
Dans la suite de la description, pour des raisons de commodité, les termes "dispositif serveur" ou "serveur local" peuvent être utilisés indifféremment et se réfèrent à la fonction remplie par le serveur local P2P du dispositif terminal correspondant. Pour les mêmes raisons, les termes "dispositif serveur détenteur" et "dispositif client" sont employés aussi et se réfèrent respectivement au serveur local P2P du dispositif terminal correspondant qui reçoit une requête pour l'obtention de donnéesnumériques qu'il détient et au dispositif terminal à l'origine de la requête à travers son application P2P cliente ou son outil de visualisation de page HTML.
Afin de faciliter la compréhension de l'invention, il est maintenant décrit des exemples de première et seconde séquences d'échange de messages dans le système de télécommunications selon l'invention, en référence respectivement aux Figs.2 et 3.
La première séquence décrite en liaison à la Fig.2 correspond à un cas de figure présenté à titre d'exemple dans lequel des données numériques détenues par le dispositif terminal 14 sont répliquées dans le dispositif terminal 13.
Comme montré à la Fig.2, les dispositifs terminaux 11, 13 et 14 20 forment entre eux un réseau P2P 21 au-dessus du réseau de télécommunications 10 (non représenté dans cette figure).
On considère dans cet exemple que le dispositif terminal 14 possède des collections de données numériques qu'il propose en partage aux autres dispositifs terminaux du réseau à l'aide de son serveur local P2P 143.
On considère aussi que le dispositif terminal 13 s'est préalablement enregistré auprès du dispositif terminal 14 comme dispositif serveur mandataire ( proxy en anglais) afin de servir éventuellement de cache pour des données numériques que le dispositif terminal 14 souhaite partager. Lors de son enregistrement, le dispositif terminal 13 communique au dispositif terminal 14 des informations telles que le type de connexion (par exemple ADSL 512 Ko/s, ADSL 128 Ko/s, PSTN 56 Ko/s, etc. ), sa durée moyenne de connexion, ainsi que l'espace disque mis à disposition du dispositif terminal 14 pour stocker des données numériques. Après cet enregistrement, à chaque connexion/déconnexion des dispositifs terminaux 13 et 14, les informations enregistrées sont mises à jour par un échange de messages entre ceux-ci.
On considère également dans cet exemple que le dispositif serveur de stockage 16 possède un espace disque à la disposition de l'utilisateur du dispositif terminal 14. L'utilisateur a préalablement enregistré auprès de son serveur local P2P 143 l'existence du dispositif serveur de stockage 16 en précisant des éléments d'identification et d'authentification du dispositif 16 ainsi que l'espace disque maximum disponible dans celui-ci pour y stocker des données numériques à partager. Les éléments d'identification et d'authentification du dispositif serveur de stockage 16 comprennent notamment l'adresse réseau, le protocole d'accès ainsi qu'un nom de compte ou "login" et un mot de passe permettant au serveur local P2P 143 de se connecter automatiquement au dispositif 16, c'est-à-dire sans intervention de l'utilisateur, afin de placer dans celui-ci des données numériques ou de les retirer.
Dans ce mode de réalisation particulier, lorsque l'utilisateur du dispositif terminal 11 souhaite accéder à des données numériques en partage sur le dispositif terminal 14, par exemple une image de haute résolution, il peut visualiser une collection incorporant ces données numériques et envoyer une requête RQ1 d'obtention des données numériques au serveur local P2P 143 du dispositif terminal 14, étape El, à travers l'application P2P cliente 111 ou l'outil de visualisation de page HTML 114.
La requête RQ1 peut prendre la forme d'une requête HTTP de type GET bien connue de l'homme du métier. Par exemple: GET/get_image?uuid=<im_id> &cuid=<collection_id> HTTP/1.1 dans laquelle, - GET indique qu'il s'agit d'une requête et HTTP/1.1 indique la version du protocole utilisé ; l'URL (de l'anglais Uniform Resource Locator ) /get_image?uuid=<image_id>&cuid=<collection_id> indique qu'il s'agit d'une requête pour l'obtention d'une image, en considérant que la fonction /get_image est implémentée par les serveurs locaux P2P 113, 133 et 143; et - les paramètres uuid et cuid sont respectivement l'identifiant unique de l'image <image_id> et l'identifiant unique de la collection <collection_id> dont font partie les données numériques demandées.
Conformément à l'invention, le dispositif serveur détenteur 14 analyse un certain nombre d'informations prédéterminées INF relatives aux différents protagonistes etlou à la nature des données numériques demandées avant de décider, sur la base de ces informations INF, d'une solution de fourniture optimale des données numériques demandées. Les protagonistes susmentionnés comprennent, dans cet exemple, le dispositif serveur détenteur 14 lui-même, le dispositif client 11, le dispositif serveur mandataire 13 et le dispositif serveur de stockage 16.
Conformément à l'invention, le dispositif serveur détenteur 14 décide, sur la base des informations INF, entre deux solutions de fourniture qui consistent, dans cet exemple, soit à servir directement les données numériques demandées au dispositif client 11, soit à les servir à travers un autre serveur, c'est-à-dire ici le dispositif serveur mandataire 13 ou le dispositif serveur de stockage 16, en créant une réplique des données numériques demandées dans ledit autre serveur.
La séquence d'échange de messages représentée schématiquement à la Fig.2 est relative au cas où le dispositif serveur détenteur 14 détermine qu'il est préférable de servir les données numériques via le dispositif serveur mandataire 13.
A l'étape E2, le serveur local P2P 143 du dispositif terminal 14 retourne au dispositif client 11 un ordre de redirection OR indiquant à celui-ci qu'il doit réitérer sa demande pour des données numériques auprès du dispositif serveur mandataire 13.
A l'étape E3, le dispositif client 11 renvoie une requête RQ2 d'obtention des données numériques au dispositif serveur mandataire 13. La requête RQ2 contient une information de redirection indiquant que la requête correspond à une redirection demandée par le dispositif serveur détenteur 14.
Le dispositif serveur mandataire 13 est ainsi informé du fait qu'il doit traiter la requête RQ2 en tant que dispositif serveur mandataire du dispositif serveur détenteur 14. Selon une variante, l'information de redirection permet également au dispositif terminal 13 de gérer séparément son cache de données numériques lorsqu'il l'utilise pour lui- même en tant que simple client P2P du cache mis à disposition du dispositif serveur détenteur 14. Une accaparation totale de l'espace mémoire du dispositif terminal 13 par le cache du dispositif serveur détenteur 14 est ainsi rendue impossible.
A la réception de la requête RQ2 en provenance du dispositif client 11, le dispositif serveur mandataire 13 vérifie d'abord s'il s'agit d'une requête découlant d'une demande de redirection provenant du dispositif serveur détenteur 14. Dans l'affirmative et si les données numériques demandées sont effectivement disponibles dans son cache, le dispositif serveur mandataire 13 retourne, à l'étape E6, les données numériques demandées au dispositif client 11. Dans le cas contraire, à l'étape E4, le dispositif serveur mandataire 13 envoie au dispositif serveur détenteur 14 une requête RQ3 d'obtention des données numériques demandées.
A la réception de la requête RQ3, à l'étape E5, le dispositif serveur détenteur 14 ayant déterminé que la requête RQ3 provient du dispositif serveur mandataire 13, il retourne immédiatement à ce dernier les données numériques demandées.
Selon une variante, le dispositif serveur détenteur 14 conserve en mémoire le fait qu'il a émis une redirection pour des données numériques déterminées de façon à ne servir directement que les données numériques ayant fait l'objet d'une redirection. Les requêtes ne correspondant pas à une redirection, même lorsqu'elles proviennent d'un dispositif terminal enregistré comme serveur mandataire, tel que le dispositif terminal 13, sont alors traitées comme une requête normale RQ1.
Lors de la réception des données numériques dans le dispositif serveur mandataire 13, celles-ci sont stockées dans le cache du dispositif serveur mandataire 13 alloué au dispositif serveur détenteur 14 et sont ensuite envoyées au dispositif client 11.
Un avantage de l'invention apparaît ici nettement si on considère par exemple que le dispositif terminal 11 est incapable de redistribuer les données numériques reçues car s'agissant d'un simple client web, tel que le dispositif terminal 12, ne possédant pas l'application P2P, que le dispositif terminal 14 est connecté via une liaison téléphonique à bas débit, telle que PSTN à 56 Ko/s, et que le dispositif terminal 13 est lui connecté via une connexion ADSL toujours active. D'une part, pour un dispositif terminal ayant une connexion à bas débit, tel que le dispositif terminal 14, servir des données numériques est une tâche conséquente surtout si les données ont une taille importante comme dans le cas d'une image. D'autre part, si un dispositif terminal autre que le dispositif terminal 11 voulait accéder par la suite aux mêmes données numériques que celles téléchargées par le dispositif terminal 11, il ne pourrait pas les obtenir par ce dernier car celui-ci ne fait pas partie du réseau P2P dans cet exemple. Le dispositif terminal 14 serait donc de nouveau sollicité pour fournir ces mêmes données numériques. En ayant stocké les données numériques sur le dispositif terminal 13, celles-ci sont disponibles immédiatement et plus rapidement à travers la connexion ADSL à haut débit, toujours active, du dispositif terminal 13.
En variante du cas ci-dessus, considérons par exemple que le dispositif terminal 14 est un téléphone mobile muni d'un appareil photographique et que le dispositif client 11 souhaite accéder à l'image de haute résolution stockée dans le dispositif terminal 14. La requête RQ1 est reçue par le dispositif serveur détenteur 14 à l'étape El sous forme d'un message MMS. Le dispositif serveur détenteur 14 détermine alors qu'il peut avoir à servir la même image plusieurs fois, du fait du partage de l'image avec plusieurs personnes, et décide en conséquence de transférer l'image au dispositif serveur mandataire 13 (ce qu'il fait à l'étape E5). Le dispositif terminal 13 est par exemple, dans ce cas, un ordinateur personnel installé au domicile du propriétaire du téléphone mobile. A l'étape E2, le dispositif serveur mandataire 13 informe le dispositif client 11 que l'image est présente sur le dispositif serveur mandataire 13. Le dispositif client 11 redemande ensuite l'image au dispositif serveur mandataire 13, étapes E3 et E6.
La seconde séquence d'échange de messages décrite en liaison à la Fig.3 correspond à un cas de figure présenté à titre d'exemple dans lequel des données numériques détenues par le dispositif terminal 14 sont répliquées dans le dispositif serveur de stockage 16.
A l'étape El', le serveur local P2P 143 du dispositif terminal 14 détermine, après avoir reçu une requête RQ1' pour des données numériques en provenance du dispositif client 11, qu'il est préférable de créer une réplique des données numériques demandées sur son dispositif serveur de stockage 16.
A l'étape E2', le dispositif serveur détenteur 14 place une réplique des données numériques sur le dispositif serveur de stockage 16 en appliquant l'algorithme selon l'invention décrit dans la suite de la description en référence à la Fig.6.
A l'étape E3', le dispositif serveur détenteur 14 retourne un ordre de redirection OR' au dispositif client 11 lui indiquant l'URL à utiliser pour accéder aux données numériques sur le dispositif serveur de stockage 16.
A l'étape E4', le dispositif client 11 réitère sa demande pour les données numériques en transmettant une requête RQ2' au dispositif serveur de stockage 16 à l'aide de l'URL qui lui a été transmise à l'étape E3'.
A l'étape E5', à la réception de la requête RQ2', le dispositif serveur de stockage 16 transmet au dispositif client 11 les données numériques désignées par I'URL contenue dans la requête RQ2'.
Conformément à l'invention, la règle de décision d'une solution de fourniture optimale de données numériques combine un certain nombre de critères relatifs à la capacité à opérer comme serveur du dispositif terminal détenteur original des données numériques demandées (dispositif serveur 14 dans les exemples ci-dessus des Figs.2 et 3), aux propriétés des données numériques demandées et aux capacités du dispositif terminal client (dispositif client 11 dans les exemples ci-dessus des Figs.2 et 3), d'un dispositif terminal mandataire (dispositif serveur mandataire 13 dans l'exemple ci-dessus de la Fig.2) ou d'un dispositif serveur de stockage (dispositif serveur de stockage 16 dans l'exemple ci-dessus de la Fig.3) à être à leur tour un serveur efficace pour les données numériques concernées.
Les critères précités pris en compte dans la décision d'une solution de fourniture optimale pour des données numériques demandées seront détaillés dans la suite, dans les paragraphes relatifs à la description de la Fig.5.
En référence à la Fig.4, il est maintenant décrit un organigramme fonctionnel illustrant le comportement du serveur local P2P d'un dispositif terminal selon l'invention lorsque celui-ci opère dans un mode de fonctionnement de type mandataire ou proxy .
Plus précisément, l'organigramme fonctionnel de la Fig.4 illustre le comportement du serveur local P2P lorsqu'une requête quelconque RQ reçue par celui-ci est identifiée comme étant une requête de type proxy , ce qui correspond dans l'exemple de la Fig.2 au comportement du serveur local P2P 133 du dispositif terminal 13 lorsque celui-ci reçoit la requête RQ2 à l'étape E3.
Comme montré à la Fig.4, à l'étape E401, le dispositif serveur reçoit la requête RQ pour la fourniture de données numériques.
La requête RQ est par exemple une requête de type HTTP se présentant sous la forme: GET /get_image?uuid=<image_id>&cuid=<collection_id> &mandant=<mandant_id> HTTP/1.1, dans laquelle: - GET indique qu'il s'agit d'une requête, avec une URL indiquant l'objet de la requête et HTTP/1.1 qui indique la version du protocole utilisé ; - l'URL /get_image?uuid=<image_id>&cuid=<collection_id> &mandant=<mandant_id> indique qu'il s'agit d'une requête pour l'obtention d'une image dont l'identifiant unique est <image_id>, que cette image est tirée d'une collection dont l'identifiant unique est <collection_id> et enfin qu'il s'agit d'une requête RQ demandant au dispositif serveur recevant la requête RQ de jouer le rôle d'un serveur mandataire pour le compte du dispositif serveur mandant dont l'identifiant unique est <mandant_id>. On notera que lorsque le mot clé mandant est absent, la requête n'est pas une requête proxy et le dispositif serveur recevant la requête se comporte alors conformément à l'algorithme de la Fig.5 qui est décrit ultérieurement.
A l'étape E402, le dispositif serveur détermine à partir de I'URL indiquée dans la requête RQ si un mandant est spécifié ou pas. Lorsqu'un mandant est spécifié, l'algorithme se poursuit par l'étape E403. Dans le cas contraire, le traitement de la requête RQ se poursuit conformément à l'algorithme de la Fig.5.
A l'étape E403, le dispositif serveur récupère l'identifiant unique UUID du mandant et vérifie à l'étape E404, à partir de ses données locales, s'il s'est enregistré ou pas en tant que mandataire auprès du mandant désigné par l'identifiant unique UUID récupéré.
Dans le cas où le dispositif serveur ne se reconnaît pas comme mandataire, la requête RQ n'est pas recevable et il retourne alors une erreur, à l'étape E405, au dispositif client émetteur de la requête RQ.
Si le dispositif serveur est bien enregistré comme mandataire auprès du mandant désigné dans l'URL, il vérifie à l'étape E406, dans son cache de données numériques, si les données numériques identifiées par <image_id> sont présentes ou pas. Dans une variante selon laquelle le dispositif serveur gère un cache de données numériques associé au mandant, le dispositif serveur vérifie la présence des données dans le cache associé au mandant.
Lorsque les données numériques demandées à l'étape E401 se trouvent effectivement dans le cache du dispositif serveur, elles sont transmises au dispositif client, à l'étape E407, en réponse à la requête RQ. Dans le cas contraire, c'est-à-dire, si les données numériques demandées ne sont pas présentes localement dans le cache du dispositif serveur, à l'étape E408, le dispositif serveur envoie une requête d'obtention des données numériques auprès du mandant.
L'étape E409 est une étape d'attente des données numériques demandées au mandant à l'étape E408.
Lorsque les données demandées à l'étape E408 sont effectivement reçues à l'étape E409, celles-ci sont sauvegardées localement dans le cache du dispositif serveur, étape E410, avant d'être transmises au dispositif client en réponse à la requête RQ reçue à l'étape E401. Dans le cas contraire, l'étape E411 est prévue afin de retourner une erreur au dispositif client.
En référence à la Fig.5, il est maintenant décrit un organigramme fonctionnel illustrant le comportement du serveur local P2P d'un dispositif terminal selon l'invention lors de la décision d'une solution de fourniture optimale des données numériques demandées.
L'organigramme fonctionnel de la Fig.5 correspond dans les exemples des Figs.2 et 3 au comportement du serveur local P2P 143 du dispositif terminal 14 lorque celui-ci reçoit une requête RQ1, RQ1', à l'étape El, El'.
L'algorithme de la Fig.5 est exécuté à la suite des étapes E401 et E402 de la Fig.4, lorsque la requête quelconque RQ reçue par le dispositif serveur n'est pas identifiée comme étant une requête en mode proxy .
A l'étape E501, le dispositif serveur détenteur récupère tout d'abord les informations INF relatives à ses capacités propres à opérer en tant que serveur, à celles du dispositif client et aux propriétés des données numériques demandées, afin de décider sur la base de critères établis à partir des informations INF d'une solution de fourniture optimale entre celle consistant à fournir directement au dispositif client les données numériques et celle consistant à rediriger le dispositif client vers une réplique des données numériques.
Plus précisément, les informations INF liées aux capacités d'un dispositif serveur détenteur à opérer comme serveur comprennent notamment: - la durée moyenne de connexion du dispositif serveur détenteur; - le type de connexion du dispositif serveur détenteur (PSTN 56 Ko/s, ADSL 512 Ko/s, etc.) ; et - l'existence d'un ou plusieurs dispositifs serveurs de stockage ou dispositifs serveurs mandataires rattachés au dispositif serveur détenteur considéré.
Les informations INF liées aux propriétés des données numériques demandées comprennent notamment: - le nombre de demandes pour les données numériques considérées; - la date de partage de ces données numériques ou de la collection auxquelles elles appartiennent; - le nombre d'utilisateurs susceptibles de vouloir accéder à ces 5 données numériques; et - la taille de ces données numériques.
Les informations INF liées aux capacités d'un dispositif client, d'un dispositif serveur mandataire ou d'un dispositif serveur de stockage susceptible de recevoir des données numériques demandées à opérer comme serveur comprennent notamment: - le type du dispositif (P2P, web, mandataire) ; - le type de connexion du dispositif (PSTN 56 Kols, ADSL 1024 Ko/s, etc.) ; - la durée moyenne de connexion du dispositif; et l'espace de stockage disponible dans le dispositif.
Ainsi, par exemple, dans le cas d'une requête HTTP, il est aisé de déterminer si le dispositif client est un client P2P ou un client web en examinant la valeur de l'en-tête User-Agent de la requête HTTP.
Lorsqu'il s'agit d'un dispositif client P2P, celui-ci peut fournir également avec la requête des informations sur son type de connexion au réseau 10, sa durée moyenne de connexion et son espace disque disponible, par exemple sous la forme de commentaires dans l'en-tête User-Agent de la requête HTTP.
La requête HTTP a alors par exemple la forme suivante: 1) GET /get_image?uuid=<image_id>&cuid=<collection_id> HTTP/1.1 2) User- Agent: <ApplicationName>/<version> (type=ADSL512; duration=30:20:00; dispo=10000), dans laquelle, la première ligne 1) décrit l'objet de la requête tel que décrit précédemment et la seconde ligne 2) commençant par User-Agent 30 décrit le dispositif client à l'origine de la requête.
Dans la seconde ligne 2), les informations <ApplicationName> et <version> définissent respectivement le type du dispositif client et la version de celui-ci et sont suivies par des commentaires associés à <ApplicationName> . Ainsi, par exemple, si la requête provient d'un client web tel que Netscape 7.1, <ApplicationName> a la valeur Mozilla et <version> a la valeur 5.0 .
Conformément à l'invention, dans le cas d'un dispositif client P2P, les commentaires de l'en-tête User-Agent décrivent le type de connexion du dispositif client, sa durée moyenne de connexion et son espace disque disponible, c'est-à-dire, dans l'exemple ci-dessus, ADSL512 pour le type de connexion, 30 (heures) : 20 (minutes) : 00 (secondes) pour la durée moyenne de connexion et 10 000 Ko pour l'espace disque disponible.
A l'étape E502, en fonction des différentes capacités et propriétés déterminées, le dispositif serveur détenteur décide de servir directement les données numériques demandées au dispositif client ou bien de les fournir via un dispositif serveur de réplication.
Une liste non exhaustive de règles de décision applicables à ce mode de réalisation particulier de l'invention est donnée ci-dessous à titre d'exemple, par ordre de priorité : - Si le dispositif serveur détenteur n'a pas de dispositif serveur mandataire enregistré ni de dispositif serveur de stockage, il prend alors la décision de servir les données numériques demandées; - Si le dispositif serveur détenteur possède une connexion à faible débit, c'est-à-dire, inférieure à un seuil prédéterminé SO (par exemple, PSTN 56 Ko/s), et que les capacités de serveur du dispositif client sont inférieures aux capacités de serveur d'un des dispositifs serveurs mandataires ou d'un des dispositifs serveurs de stockage du dispositif serveur détenteur, en termes de bande passante et de temps de connexion moyen, le dispositif serveur détenteur décide de créer une réplique des données numériques demandées; - Si la différence entre la date de partage des données numériques demandées et la date courante est inférieure à un seuil prédéterminé S1 (par exemple, 30 jours) et si le nombre de dispositifs terminaux avec lesquels les données numériques ont été partagées est supérieur à un seuil prédéterminé S2 (par exemple, une collection partagée entre au moins deux personnes) et si la taille des données numériques est supérieure à une taille prédéterminée S3 (par exemple, la taille d'une vignette de 60 Ko) alors le dispositif serveur détenteur décide de créer une réplique des données numériques demandées; - Si le dispositif serveur détenteur possède une connexion à haut débit (par exemple, ADSL1024 Ko/s) et que son temps moyen de connexion est supérieur à un seuil prédéterminé, il décide alors de servir directement les données numériques demandées; et - Si le dispositif serveur détenteur a connaissance d'un dispositif serveur de stockage qui lui est associé, que les données numériques demandées ont une taille supérieure à un seuil prédéterminé et que le dispositif client est un client web, il décide alors de créer une réplique des données numériques demandées sur le dispositif serveur de stockage associé.
Dans le cas où le dispositif serveur détenteur a décidé de servir directement les données numériques au dispositif client, l'étape E503 est exécutée pour envoyer celles-ci au dispositif client.
Dans le cas contraire, l'étape E504 est exécutée afin de déterminer s'il existe une réplique des données numériques demandées qui serait disponible sur un dispositif serveur de stockage ou un dispositif serveur mandataire.
Si une telle réplique existe dans un dispositif serveur de stockage, le dispositif serveur détenteur retourne au dispositif client un ordre de redirection OR dans lequel est indiqué l'adresse du dispositif serveur de stockage et l'emplacement de la réplique des données numériques dans celui-ci.
Par exemple, si le protocole HTTP est utilisé pour retourner l'ordre de redirection, l'ordre de redirection peut alors prendre la forme suivante: 1) HTTP/1.1 302 See other URI 2) Location: <protocole>:Il<serveur de_stockage>/<emplacement>l<nom_de_fichier> dans laquelle, la première ligne 1) indique au dispositif client qu'il s'agit d'un ordre de redirection, et 30 la seconde ligne 2) indique l'URL, c'est- à-dire, l'adresse des données numériques sur le réseau.
Dans cette URL, <protocole> indique le protocole à utiliser pour la requête, <serveur stockage> indique l'adresse du dispositif serveur de stockage ayant les données numériques, <emplacement> indique l'emplacement des données numériques sur le dispositif serveur de stockage et <nom_de_fichier> indique le nom du fichier correspondant aux données numériques demandées.
Lorsque le dispositif serveur détenteur ne connaît aucune réplique des données numériques demandées, il sélectionne à l'étape E506 parmi les dispositifs serveurs de stockage connus par lui et les dispositifs serveurs mandataires enregistrés auprès de lui un dispositif serveur de réplication susceptible de recevoir une réplique des données numériques demandées.
Conformément à un mode de réalisation préférée de l'invention, si le dispositif serveur détenteur a le choix entre des dispositifs serveurs de stockage et des dispositifs serveurs mandataires, il privilégiera les dispositifs serveurs de stockage qui ont la particularité d'offrir une meilleure disponibilité comparativement à des dispositifs serveurs mandataires maintenus par des utilisateurs.
A l'étape E507, le dispositif serveur détenteur détermine si le dispositif serveur de réplication sélectionné à l'étape E506 pour la réplication est un dispositif serveur de stockage ou pas.
Dans l'affirmative, à l'étape E508, le dispositif serveur détenteur télécharge une réplique des données numériques demandées sur le dispositif serveur de stockage sélectionné pour la réplication, suivant l'algorithme décrit ci-après en référence à la Fig.6. Ensuite, à l'étape E509, le dispositif serveur détenteur retourne au dispositif client un ordre de redirection OR analogue à celui de l'étape E505.
Dans le cas contraire, c'est-à-dire, dans le cas où le dispositif serveur de réplication sélectionné à l'étape E506 n'est pas un dispositif serveur de stockage, l'étape E510 est exécutée à la suite de l'étape E507 afin de déterminer si le dispositif serveur de réplication sélectionné est ou pas un dispositif serveur P2P acceptant d'opérer en tant que dispositif serveur mandataire. Dans l'affirmative, le dispositif serveur détenteur retourne au dispositif client un ordre de redirection OR se présentant, par exemple en langage HTTP, sous la forme suivante: 1) HTTP/1.1 302 See other URI 2) Location: http:l/<svr_proxy>lget_image?u u id=<im_id>&cuid=<coll_id>& mandant=<m_id> dans laquelle, la première ligne 1) indique qu'il s'agit d'un ordre de redirection, et la seconde ligne 2) indique la nouvelle requête HTTP à utiliser pour accéder à la réplique.
De plus, <svr_proxy> indique l'adresse du dispositif serveur mandataire à contacter, <im_id> indique l'identifiant des données numériques, <coll_id>indique l'identifiant de la collection à laquelle appartient les données numériques et <m_id> correspond à l'identifiant unique du dispositif serveur détenteur afin que le dispositif serveur mandataire connaisse l'origine de l'ordre de redirection reçu.
Dans le cas d'une réponse négative à l'étape conditionnelle E510, c'est-àdire, dans le cas où aucun dispositif serveur de réplication n'a pu être sélectionné à l'étape E506 pour héberger une réplique des données numériques demandées, le dispositif serveur détenteur sert directement au dispositif client les données numériques demandées, étape E503.
En référence à la Fig.6, il est maintenant décrit un organigramme fonctionnel illustrant la gestion de l'espace de stockage d'un dispositif serveur de stockage comme par exemple le dispositif 15 ou 16.
Lorsqu'un dispositif serveur de stockage a été sélectionné pour recevoir une réplique des données numériques demandées, le dispositif serveur détenteur détermine à l'étape E601 s'il y a assez d'espace de stockage sur le dispositif serveur de stockage pour recevoir la réplique. Les repères SD, ESMgx et ESu désignent respectivement la taille des données numériques à dupliquer, l'espace de stockage maximum mis à la disposition de l'utilisateur par le dispositif serveur de stockage et l'espace de stockage déjà occupé par les données de l'utilisateur.
A l'étape E601, lorsque l'inégalité SD < ESMAX ESu est vérifiée, cela signifie que l'espace de stockage disponible dans le dispositif serveur de stockage est suffisante pour stocker la réplique des données numériques. Les données numériques sont alors téléchargées à l'étape E602 sur le dispositif serveur de stockage.
Le transfert des données numériques de la réplique vers le dispositif serveur de stockage peut être réalisé à l'aide de protocoles de communication bien connus de l'homme du métier, par exemple au moyen de la commande PUT du protocole FTP.
A l'étape E603, une fois le transfert des données numériques réalisé, le dispositif serveur de stockage actualise une table de répliques TR qui lui est associée en intégrant dans cette table TR l'identifiant UUID des données numériques transférées, l'emplacement sur le dispositif serveur de stockage où se trouve la réplique, la taille de la réplique et la date courante. De plus, le compteur ESQ est également mis à jour, ESQ = ESQ S0.
A l'étape E601, dans le cas où la place disponible sur le dispositif serveur de stockage se révèle insuffisante, c'est-à-dire, si SD > ESMAX ESQ, l'algorithme exécute ensuite l'étape E604.
A l'étape E604, l'algorithme sélectionne dans le dispositif serveur de stockage une réplique à effacer de façon de libérer suffisamment d'espace de stockage pour la nouvelle réplique. Pour cela, l'algorithme recherche dans la table de répliques TR du dispositif serveur de stockage la réplique ayant la date d'accès la plus ancienne.
A l'étape E605, l'algorithme vérifie si une réplique à effacer a été sélectionnée ou pas à l'étape E604.
Dans l'affirmative, à l'étape E607, le dispositif serveur détenteur envoie un ordre d'effacement pour la réplique sélectionnée au dispositif serveur 30 de stockage, par exemple au moyen de la commande DELETE du protocole de communication FTP.
Dans le cas contraire, c'est-à-dire, si aucune réplique à effacer n'a été sélectionnée à l'étape E604, une erreur est retournée, à l'étape E606, au dispositif serveur détenteur pour lui indiquer qu'il est impossible de créer une réplique des données numériques dans le dispositif serveur de stockage. Le dispositif serveur détenteur a alors la possibilité de sélectionner une autre machine qui lui est associée pour la réplication, c'est-à-dire, un dispositif serveur mandataire ou un autre dispositif serveur de stockage, ou de transférer directement les données numériques au dispositif client.
Dans le cas où il a effectivement été possible d'effacer une réplique, l'étape E608 est exécutée à la suite de l'étape E607.
A l'étape E608, la table de répliques TR est mise à jour en y supprimant l'entrée correspondant à la réplique supprimée et le compteur ESQ est incrémenté de la taille de la réplique supprimée, taille qui est obtenue par consultation de la table TR.
Après l'exécution de l'étape E608, l'algorithme revient à l'étape E601 et se poursuit selon le processus décrit ci-dessus jusqu'à ce que suffisamment d'espace de stockage ait été libéré dans le dispositif serveur de stockage pour y placer la nouvelle réplique ou jusqu'à l'apparition d'une erreur.
Les Figs.7A et 7B montrent des exemples d'une table de données numériques partagées 71 et d'une table de serveurs 72 utilisées par les algorithmes de l'invention, pour le cas de l'exemple illustratif décrit en référence aux Figs.2 et 3. Dans l'exemple illustratif des Figs.2 et 3, les tables 71 et 72 peuvent être localisées dans le dispositif serveur détenteur 14.
La table de données numériques partagées 71 permet d'associer à chaque identifiant de données numériques partagées l'identifiant du serveur contenant les données, à savoir, dans cet exemple illustratif, le dispositif serveur mandataire 13, le dispositif serveur de stockage 15 ou le dispositif serveur détenteur 14. Dans le cas d'un dispositif serveur de stockage géré à distance, à savoir, le dispositif serveur de réplication 15 ici, ou du dispositif serveur détenteur 14, il est nécessaire d'associer le chemin d'accès. Des informations caractéristiques des données numériques telles que la taille et la date sont aussi mémorisées dans la table 71.
La table de serveurs 72 permet de mémoriser pour chaque serveur des caractéristiques importantes qui sont utiles dans les étapes de sélection, à savoir, de manière non exhaustive, l'adresse courante du serveur, l'espace de stockage maximum ESMax, l'espace de stockage utilisé ESu, le type du serveur, le type de connexion, la durée de connexion moyenne et l'état de la connexion (connecté / déconnecté). Dans le cas d'un dispositif serveur de stockage, à savoir le dispositif 15 ici, la table 72 contient également de préférence les nom de compte ou login et le mot de passe correspondant pour les opérations de contrôle d'accès.
En référence à la Fig.8, il est maintenant décrit à titre d'exemple une configuration matérielle particulière d'un dispositif de traitement d'information apte à une mise en oeuvre du procédé selon l'invention.
Un dispositif de traitement d'information mettant en oeuvre l'invention est par exemple un micro-ordinateur 80, une station de travail, un assistant personnel, ou un téléphone mobile connecté à différents périphériques. Selon encore un autre mode de réalisation de l'invention, le dispositif de traitement d'information se présente sous la forme d'un appareil photographique muni d'une interface de communication pour autoriser une connexion à un réseau.
Les périphériques reliés au dispositif de traitement d'information comprennent par exemple une caméra numérique 81, ou un scanner ou tout autre moyen d'acquisition ou de stockage d'images, reliée à une carte d'entrée/sortie (non représentée) et fournissant au dispositif de traitement d'information des données multimédia.
Le dispositif 80 comporte un bus de communication 801 auquel sont reliés: - Une unité centrale de traitement CPU 802 se présentant par exemple sous la forme d'un microprocesseur; - Une mémoire morte 803 dans laquelle peuvent être contenus les programmes dont l'exécution permet la mise en oeuvre du procédé selon l'invention; - Une mémoire vive 804 qui, après la mise sous tension du dispositif 80, contient le code exécutable des programmes de l'invention ainsi que des registres adaptés à enregistrer des variables et paramètres nécessaires à la mise en oeuvre de l'invention; - Un écran 805 permettant de visualiser des données etlou de servir d'interface graphique avec l'utilisateur qui peut ainsi interagir avec les programmes de l'invention, à l'aide d'un clavier 806 ou de tout autre moyen tel qu'un dispositif de pointage, comme par exemple une souris 807 ou un crayon optique; - Un disque dur 808 ou une mémoire de stockage, telle qu'une mémoire de type compact flash, pouvant comporter les programmes de l'invention ainsi que des données utilisées ou produites lors de la mise en oeuvre de l'invention - Un lecteur de disquette 809 optionnel, ou un autre lecteur de support de données amovible, adapté à recevoir une disquette 82 et à y lire / écrire des données traitées ou à traiter conformément à l'invention; et - Une interface de communication 810 reliée au réseau de télécommunications 10, l'interface 810 étant apte à transmettre et à recevoir des données.
Dans le cas de données audio, le dispositif 80 est équipé de préférence d'une carte d'entrée/sortie (non représentée) qui est reliée à un 20 microphone 84.
Le bus de communication 801 autorise une communication et une interopérabilité entre les différents éléments inclus dans le dispositif 80 ou reliés à celui-ci. La représentation du bus 801 n'est pas limitative et, notamment, l'unité centrale 802 est susceptible de communiquer des instructions à tout élément du dispositif 80 directement ou par l'intermédiaire d'un autre élément du dispositif 80.
Les disquettes 82 peuvent être remplacées par tout support d'information tel que, par exemple, un disque compact (CD-ROM) réinscriptible ou non, un disque ZIP ou une carte mémoire. D'une manière générale, un moyen de stockage d'information, lisible par un micro-ordinateur ou par un microprocesseur, intégré ou non au dispositif de traitement d'information, éventuellement amovible, est adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en oeuvre du procédé selon l'invention.
Le code exécutable permettant au dispositif de traitement d'information la mise en oeuvre de l'invention peut être indifféremment stocké en mémoire morte 803, sur le disque dur 808 ou sur un support numérique amovible tel que par exemple une disquette 82 comme décrite précédemment. Selon une variante, le code exécutable des programmes est reçu par l'intermédiaire du réseau de télécommunications 10, via l'interface 810, pour être stocké dans un des moyens de stockage du dispositif 80 (tel que le disque dur 808 par exemple) avant d'être exécuté.
L'unité centrale 802 commande et dirige l'exécution des instructions ou portions de code logiciel du ou des programmes de l'invention, les instructions ou portions de code logiciel étant stockées dans l'un des moyens de stockage précités. Lors de la mise sous tension du dispositif 80, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple le disque dur 808 ou la mémoire morte 803, sont transférés dans la mémoire vive 804 qui contient alors le code exécutable du ou des programmes de l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de l'invention.
On notera également que le dispositif mettant en oeuvre l'invention ou incorporant celle-ci est réalisable aussi sous la forme d'un appareil programmé. Par exemple, un tel dispositif peut alors contenir le code du ou des programmes informatiques sous une forme figée dans un circuit intégré à application spécifique (ASIC).

Claims (1)

  1. 33 REVENDICATIONS
    1. Procédé de distribution de données numériques mis en oeuvre dans un système de télécommunications comprenant au moins un dispositif serveur (11, 13, 14) susceptible de détenir des données numériques et de recevoir au moins une demande (RQ) pour fournir lesdites données numériques, au moins un dispositif client (11 à 14) susceptible de demander lesdites données numériques audit dispositif serveur détenteur et au moins un dispositif serveur de réplication (11, 13 à 16) susceptible de stocker une réplique des données numériques dudit dispositif serveur détenteur et de fournir ladite réplique de données numériques audit dispositif client, lesdits dispositifs serveurs et clients (11 à 16) étant reliés à un réseau de télécommunications (10), caractérisé en ce qu'il comprend l'étape suivante (E501 à E511), exécutée lors d'une réception par un dit dispositif serveur détenteur d'une demande d'obtention de données numériques en provenance d'un dit dispositif client, de - décider, dans ledit dispositif serveur détenteur, sur la base d'informations prédéterminées (INF) relatives auxdits dispositifs serveurs et/ou clients (11 à 16), d'une solution de fourniture optimale desdites données numériques demandées audit dispositif client, entre une fourniture directe par ledit dispositif serveur détenteur et une fourniture indirecte par un dit dispositif serveur de réplication (11, 13 à 16).
    2. Procédé selon la revendication 1, caractérisé en ce que lesdites informations prédéterminées (INF) concernent également lesdites données numériques demandées et, dans ladite étape de décision, la décision de ladite solution de fourniture optimale est prise en fonction aussi desdites données numériques demandées.
    3. Procédé selon la revendication 1 ou 2, mis en oeuvre dans un système de télécommunications supportant des communications de type pair-à-pair (P2P), caractérisé en ce que ladite étape de décision est exécutée dans au moins un dispositif serveur détenteur de type pair.
    4. Procédé selon la revendication 1, 2 ou 3, caractérisé en ce que lesdites informations prédéterminées (INF) relatives auxdits dispositifs (11 à 16) comportent au moins une des informations suivantes relatives à l'aptitude dudit dispositif serveur détenteur (11, 13, 14) à exercer la fonction de serveur de données: - une durée moyenne de connexion audit réseau de télécommunications (10) dudit dispositif serveur détenteur; - un type de connexion audit réseau de télécommunications (10) dudit dispositif serveur détenteur; et - une disponibilité ou pas d'au moins un dit dispositif serveur de réplication (11, 13 à 16).
    5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que lesdites informations prédéterminées (INF) relatives auxdits dispositifs (11 à 16) comportent au moins une des informations suivantes relatives à l'aptitude dudit dispositif serveur de réplication (11, 13 à 16) à exercer la fonction de serveur de données: - une durée moyenne de connexion audit réseau de télécommunications (10) dudit dispositif serveur de réplication (11, 13 à 16); - un type de connexion audit réseau de télécommunications (10) dudit dispositif serveur de réplication (11, 13 à 16) ; et - une disponibilité ou pas d'un espace de stockage (SD) dans ledit dispositif serveur de réplication (11, 13 à 16) pour y stocker ladite réplique de données numériques.
    6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que lesdites informations prédéterminées (INF) relatives auxdits dispositifs (11 à 16) comportent au moins une des informations suivantes relatives à l'aptitude dudit dispositif client (11 à 14) à exercer à son tour la fonction de serveur de données: - un type dudit dispositif client (P2P, web, mandataire) ; - un type de connexion (PSTN, ADSL) audit réseau de télécommunications (10) dudit dispositif client; - une durée moyenne de connexion audit réseau de télécommunications (10) dudit dispositif client; et - une disponibilité ou pas d'un espace de stockage (SD) dans ledit dispositif client pour y stocker lesdites données numériques demandées. 10 7. Procédé selon l'une quelconque des revendications 1 à 6 et la revendication 2, caractérisé en ce que lesdites informations prédéterminées (INF) relatives auxdites données numériques demandées comprennent au moins une des informations suivantes: - un nombre de demandes potentielles ultérieures pour lesdites données numériques demandées; - une date de partage desdites données numériques demandées et/ou une date de partage d'une collection à laquelle appartiennent lesdites données numériques demandées; - un nombre d'utilisateurs susceptibles de vouloir accéder auxdites données numériques demandées; et - une taille desdites données numériques demandées.
    8. Procédé selon l'une quelconque des revendications 1 à 7, mis en oeuvre dans un système de télécommunications comprenant au moins deux dispositifs serveurs de réplication (11, 13 à 16) susceptibles de stocker des répliques de données numériques, caractérisé en ce qu'il comprend également l'étape (E506) suivante, exécutée dans le cas où une fourniture indirecte est décidée, de: - sélectionner un desdits dispositifs serveurs de réplication afin d'y répliquer lesdites données numériques demandées, ladite sélection intervenant sur la base desdites informations prédéterminées (INF). 20
    9. Procédé selon l'une quelconque des revendications 1 à 8, mis en oeuvre dans un système de télécommunications comprenant au moins un dispositif serveur de stockage (15, 16) mis à disposition dudit dispositif serveur détenteur dans ledit réseau de télécommunications (10), caractérisé en ce qu'il comprend également l'étape suivante de: - enregistrer auprès dudit dispositif serveur détenteur ledit dispositif serveur de stockage (15, 16) en tant que dispositif serveur de réplication susceptible de stocker des répliques de données numériques dudit dispositif serveur détenteur.
    10. Procédé selon la revendication 9, mis en oeuvre dans un système de télécommunications supporté au moins partiellement par le réseau Internet, caractérisé en ce que ladite étape d'enregistrement est exécutée pour enregistrer en tant que dispositif serveur de réplication un dispositif serveur de stockage (15, 16) mis à disposition dudit dispositif serveur détenteur par un fournisseur d'accès (ISP) au réseau Internet.
    11. Procédé selon l'une quelconque des revendications 1 à 10, mis en oeuvre dans un système de télécommunications comprenant au moins deux dispositifs serveurs (13, 14) susceptibles de détenir des données numériques et de recevoir des demandes (RQ) pour fournir lesdites données numériques, l'un (13) au moins desdits dispositifs serveurs détenteurs (13, 14) étant apte à intervenir en tant que dispositif serveur mandataire (13) pour le compte de l'autre dispositif serveur détenteur (14), caractérisé en ce qu'il comprend également l'étape suivante de: enregistrer ledit dispositif serveur détenteur (13) apte à intervenir en tant que dispositif serveur mandataire comme un dit dispositif serveur de réplication susceptible de stocker des répliques de données numériques dudit autre dispositif serveur détenteur (14).
    12. Procédé selon la revendication 11, caractérisé en ce qu'il comprend également les étapes suivantes, exécutées dans un dit dispositif serveur détenteur lors de la réception par celui-ci d'une demande en provenance dudit dispositif client, de: - détecter (E402) si ladite demande (RQ) est une demande d'obtention de données numériques (RQ1) ou d'une réplique de données numériques (RQ2) ; - dans le cas d'une demande d'obtention d'une réplique de données numériques, fournir (E407) ladite réplique de données numériques demandées audit dispositif client; et - dans le cas d'une demande d'obtention de données numériques (RQ1), décider (E501 à E511) sur la base desdites informations prédéterminées (INF), d'une solution de fourniture optimale desdites données numériques demandées audit dispositif client, entre une fourniture directe par ledit autre dispositif serveur et une fourniture indirecte par un dit dispositif serveur de réplication (11, 13 à 16) éventuellement enregistré auprès dudit autre dispositif serveur détenteur.
    13. Dispositif de distribution de données numériques incorporé de manière répartie dans un système de télécommunications comprenant au moins un dispositif serveur (11, 13, 14) susceptible de détenir des données numériques et de recevoir au moins une demande (RQ) pour fournir lesdites données numériques, au moins un dispositif client (11 à 14) susceptible de demander lesdites données numériques audit dispositif serveur détenteur et au moins un dispositif serveur de réplication (11, 13 à 16) susceptible de stocker une réplique des données numériques dudit dispositif serveur détenteur et de fournir ladite réplique de données numériques audit dispositif client, lesdits dispositifs serveurs et/ou clients (11 à 16) étant reliés à un réseau de télécommunications, caractérisé en ce qu'il comprend des moyens de décision (802, 803, 804), incorporés dans au moins un dit dispositif serveur détenteur et activés lors d'une réception par ledit dispositif serveur détenteur d'une demande d'obtention de données numériques (RQ), pour décider d'une solution de fourniture optimale desdites données numériques demandées audit dispositif client, entre une fourniture directe par ledit dispositif serveur détenteur et une fourniture indirecte par un dit dispositif serveur de réplication, ladite décision étant prise sur la base d'informations prédéterminées (INF) relatives auxdits dispositifs serveurs et/ou clients (11 à 16).
    14. Dispositif selon la revendication 13, caractérisé en ce que lesdites informations prédéterminées (INF) concernent également lesdites données numériques demandées et, lesdits moyens de décision décident de ladite solution de fourniture optimale en fonction aussi desdites données numériques demandées.
    15. Dispositif selon la revendication 13 ou 14, incorporé de manière répartie dans un système de télécommunications supportant des communications de type pair-à-pair (P2P), caractérisé en ce que lesdits moyens de décision (802, 803, 804) sont incorporés dans au moins un dispositif serveur détenteur de type pair.
    16. Dispositif selon la revendication 13, 14 ou 15, incorporé de manière répartie dans un système de télécommunications comprenant au moins deux dispositifs serveurs de réplication (11, 13 à 16) susceptibles de stocker des données numériques répliquées, caractérisé en ce qu'il comprend également des moyens de sélection (802, 803, 804), incorporés dans au moins un dit dispositif serveur détenteur et activés dans le cas où une fourniture indirecte est décidée, pour sélectionner un desdits dispositifs serveurs de réplication afin d'y répliquer lesdites données numériques demandées, ladite sélection intervenant sur la base desdites informations prédéterminées (INF).
    17. Dispositif selon l'une quelconque des revendications 13 à 16, incorporé de manière répartie dans un système de télécommunications comprenant au moins un dispositif serveur de stockage (15, 16) mis à disposition dudit dispositif serveur détenteur dans ledit réseau de télécommunications (10), caractérisé en ce qu'il comprend également des moyens d'enregistrement (802, 803, 804) pour enregistrer auprès dudit dispositif serveur détenteur ledit dispositif serveur de stockage (15, 16) en tant que dispositif serveur de réplication susceptible de stocker des répliques de données numériques dudit dispositif serveur détenteur.
    18. Dispositif selon la revendication 17, incorporé de manière répartie dans un système de télécommunications supporté au moins partiellement par le réseau Internet, caractérisé en ce que lesdits moyens d'enregistrement (802, 803, 804) sont aptes à enregistrer en tant que dispositif serveur de réplication un dispositif serveur de stockage (15, 16) mis à disposition dudit dispositif serveur détenteur par un fournisseur d'accès (ISP) au réseau Internet.
    19. Dispositif selon l'une quelconque des revendications 13 à 18, incorporé de manière répartie dans un système de télécommunications comprenant au moins deux dispositifs serveurs (13, 14) susceptibles de détenir des données numériques et de recevoir des demandes (RQ) pour fournir lesdites données numériques, l'un (13) au moins desdits dispositifs serveurs détenteurs étant apte à intervenir en tant que dispositif serveur mandataire (13) pour le compte de l'autre dispositif serveur détenteur (14), caractérisé en ce qu'il comprend également des moyens d'enregistrement (802, 803, 804) pour enregistrer ledit dispositif serveur détenteur (13) apte à intervenir en tant que dispositif serveur mandataire comme un dit dispositif serveur de réplication susceptible de stocker des répliques de données numériques dudit autre dispositif serveur détenteur (14).
    20. Dispositif selon la revendication 19, caractérisé en ce qu'il comprend également les moyens suivants, incorporés dans au moins un dit dispositif serveur détenteur et activés lors de la réception par celui-ci d'une demande en provenance dudit dispositif client: - des moyens de détection (802, 803, 804) pour détecter si ladite demande est une demande d'obtention de données numériques (RQ1) ou d'une réplique de données numériques (RQ2) ; - des moyens de fourniture (802, 803, 804) pour, dans le cas d'une demande d'obtention d'une réplique de données numériques (RQ1), fournir directement ladite réplique de données numériques demandées audit dispositif client; et - des moyens de décision (802, 803, 804) pour, dans le cas d'une demande d'obtention de données numériques (RQ1), décider sur la base desdites informations prédéterminées (INF), d'une solution de fourniture optimale desdites données numériques demandées audit dispositif client, entre une fourniture directe par ledit autre dispositif serveur et une fourniture indirecte par un dit dispositif serveur de réplication (11, 13 à 16) éventuellement enregistré auprès dudit autre dispositif serveur détenteur.
    21. Dispositif de traitement d'information (80) apte à fonctionner comme dispositif serveur détenteur (11, 13, 14) et/ou dispositif client (11 à 14) et/ou dispositif serveur de réplication (11, 13 à 16) dans un système de télécommunications, caractérisé en ce qu'il comprend des moyens adaptés à la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 12.
    22. Dispositif de traitement d'image numérique (80) apte à fonctionner comme dispositif serveur détenteur (11, 13, 14) et/ou dispositif client (11 à 14) et/ou dispositif serveur de réplication (11, 13 à 16) dans un système de télécommunications, caractérisé en ce qu'il comprend des moyens adaptés à la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 12.
    23. Système de télécommunications, caractérisé en ce qu'il comprend un dispositif de distribution de données numériques selon l'une quelconque des revendications 13 à 20.
    24. Système de télécommunications, caractérisé en ce qu'il comprend des moyens adaptés à la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 12.
    25. Système de télécommunications, caractérisé en ce qu'il comprend au moins un dispositif de traitement (80) selon la revendication 21 ou 22.
    26. Système de télécommunications selon l'une quelconque des 15 revendications 23 à 25, caractérisé en ce qu'il supporte des communications de type pair-à-pair (P2P).
    27. Moyen de stockage d'information, caractérisé en ce qu'il mémorise un programme mettant en oeuvre le procédé selon l'une quelconque 20 des revendications 1 à 12.
    28. Moyen de stockage d'information, caractérisé en ce qu'il est lisible par un dispositif selon l'une quelconque des revendications 13 à 22.
    29. Moyen de stockage d'information selon la revendication 27 ou 28, caractérisé en ce qu'il comprend une mémoire volatile et/ou une mémoire non-volatile et/ou un disque dur et/ou une disquette et/ou un CD-ROM.
    30. Programme d'ordinateur sur un moyen de stockage, comportant une ou plusieurs séquences d'instructions exécutables par ordinateur et dont l'exécution met en oeuvre le procédé selon l'une quelconque des revendications 1 à 12.
FR0404953A 2004-05-07 2004-05-07 Procede et dispositif de distribution de donnees numeriques notamment pour reseau pair-a-pair Expired - Fee Related FR2870022B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0404953A FR2870022B1 (fr) 2004-05-07 2004-05-07 Procede et dispositif de distribution de donnees numeriques notamment pour reseau pair-a-pair
US11/119,696 US8463936B2 (en) 2004-05-07 2005-05-03 Method and device for distributing digital data in particular for a peer-to-peer network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0404953A FR2870022B1 (fr) 2004-05-07 2004-05-07 Procede et dispositif de distribution de donnees numeriques notamment pour reseau pair-a-pair

Publications (2)

Publication Number Publication Date
FR2870022A1 true FR2870022A1 (fr) 2005-11-11
FR2870022B1 FR2870022B1 (fr) 2007-02-02

Family

ID=34945303

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0404953A Expired - Fee Related FR2870022B1 (fr) 2004-05-07 2004-05-07 Procede et dispositif de distribution de donnees numeriques notamment pour reseau pair-a-pair

Country Status (2)

Country Link
US (1) US8463936B2 (fr)
FR (1) FR2870022B1 (fr)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100799006B1 (ko) * 2003-11-14 2008-01-28 캐논 가부시끼가이샤 피어 투 피어 통신 네트워크에 있어서 디지털 문서를액세스하거나 공유하기 위한 시스템, 방법, 및 장치
FR2868896B1 (fr) * 2004-04-13 2008-03-14 Canon Kk Procede et dispositif de controle d'acces a un document numerique partage dans un reseau de communication de type poste a poste
FR2886494B1 (fr) * 2005-05-24 2007-06-29 Canon Kk Procede et dispositif d'echange de donnees entre des stations mobiles dans un reseau pair a pair
US20070266082A1 (en) * 2006-05-10 2007-11-15 Mcconnell Jane E Methods, systems, and computer-readable media for displaying high resolution content related to the exploration and production of geologic resources in a thin client computer network
FR2906950B1 (fr) * 2006-10-05 2008-11-28 Canon Kk Procede et dispositifs pour adapter le debit de transmission d'un flux de donnees en presence d'interferences.
FR2909241B1 (fr) * 2006-11-27 2009-06-05 Canon Kk Procedes et dispositifs de gestion dynamique des erreurs de transmission par des points d'interconnexion de reseaux.
US20080154851A1 (en) * 2006-12-21 2008-06-26 Canon Kabushiki Kaisha Method and apparatus for sharing files over a network
KR100934989B1 (ko) * 2007-01-31 2009-12-31 삼성전자주식회사 컨텐츠 관리 방법 및 장치
US20080282090A1 (en) * 2007-05-07 2008-11-13 Jonathan Leybovich Virtual Property System for Globally-Significant Objects
FR2916600B1 (fr) * 2007-05-24 2013-11-22 Canon Kk Procede et dispositif de transmission de donnees
FR2922391B1 (fr) * 2007-10-15 2009-12-04 Canon Kk Procede et dispositif de transmission de donnees
FR2927749B1 (fr) 2008-02-14 2010-12-17 Canon Kk Procede et dispositif de transmission de donnees, notamment video.
FR2932289B1 (fr) * 2008-06-06 2012-08-03 Active Circle Procede et systeme de synchronisation de modules logiciels d'un systeme informatique distribue en grappe de serveurs, application au stockage de donnees.
US8516038B2 (en) * 2008-06-06 2013-08-20 Apple Inc. Browsing or searching user interfaces and other aspects
FR2935862B1 (fr) * 2008-09-08 2014-09-05 Canon Kk Procede de prediction du taux d'erreurs de transmission dans un reseau de communication et serveur mettant en oeuvre un tel procede
WO2010099827A1 (fr) * 2009-03-05 2010-09-10 Telecom Italia S.P.A. Système distribué de stockage de données numériques
FR2944938B1 (fr) * 2009-04-28 2011-10-21 Canon Kk Procede et dispositif de correction d'erreurs.
US10511887B2 (en) * 2010-08-30 2019-12-17 Saturn Licensing Llc Reception apparatus, reception method, transmission apparatus, transmission method, program, and broadcasting system
CN102710789B (zh) * 2012-06-20 2017-03-22 腾讯科技(深圳)有限公司 智能终端间数据的交互方法、系统及装置
JP6102108B2 (ja) * 2012-07-24 2017-03-29 富士通株式会社 情報処理装置、データ提供方法、及びデータ提供プログラム
JP6035992B2 (ja) * 2012-08-16 2016-11-30 日本電気株式会社 情報処理システム、データバックアップ方法、データバックアッププログラム
TWI524756B (zh) 2013-11-05 2016-03-01 財團法人工業技術研究院 儲存影音資料的方法與裝置
US10158457B2 (en) * 2014-12-02 2018-12-18 Avago Technologies International Sales Pte. Limited Coordinating frequency division multiplexing transmissions
CN104735470B (zh) * 2015-02-11 2018-06-19 海信集团有限公司 一种流媒体数据传输方法及装置
KR102361099B1 (ko) * 2018-06-07 2022-02-09 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 인터미턴트 네트워크 관리를 위한 로컬 서버
KR102664820B1 (ko) * 2019-05-28 2024-05-09 삼성에스디에스 주식회사 데이터 전송 방법 및 이를 수행하기 위한 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001093064A1 (fr) * 2000-05-30 2001-12-06 Emikolo Networks Inc. Distribution de contenu poste a poste dynamique sur un reseau
GB2385683A (en) * 2002-02-22 2003-08-27 Thirdspace Living Ltd Distribution system with content replication

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5349682A (en) * 1992-01-31 1994-09-20 Parallel Pcs, Inc. Dynamic fault-tolerant parallel processing system for performing an application function with increased efficiency using heterogeneous processors
JP3213766B2 (ja) * 1992-03-16 2001-10-02 株式会社日立製作所 レプリケートファイル更新システム
US5483652A (en) * 1994-01-24 1996-01-09 Digital Equipment Corporation Mechanism for locating without search discrete application resources known by common name only in a distributed network computing environment
JP2507235B2 (ja) * 1994-06-24 1996-06-12 インターナショナル・ビジネス・マシーンズ・コーポレイション クライアント・サ―バ・コンピュ―タ・システム、及びそのクライアント・コンピュ―タ、サ―バ・コンピュ―タ、並びにオブジェクト更新方法
US5581753A (en) * 1994-09-28 1996-12-03 Xerox Corporation Method for providing session consistency guarantees
US5513314A (en) * 1995-01-27 1996-04-30 Auspex Systems, Inc. Fault tolerant NFS server system and mirroring protocol
US5867494A (en) * 1996-11-18 1999-02-02 Mci Communication Corporation System, method and article of manufacture with integrated video conferencing billing in a communication system architecture
US6256675B1 (en) 1997-05-06 2001-07-03 At&T Corp. System and method for allocating requests for objects and managing replicas of objects on a network
US6112249A (en) * 1997-05-30 2000-08-29 International Business Machines Corporation Non-disruptively rerouting network communications from a secondary network path to a primary path
US6065062A (en) * 1997-12-10 2000-05-16 Cisco Systems, Inc. Backup peer pool for a routed computer network
US6622157B1 (en) * 1998-09-28 2003-09-16 Certeon, Inc. Extending network services using mobile agents
US6928469B1 (en) * 1998-12-29 2005-08-09 Citrix Systems, Inc. Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques
US7500243B2 (en) * 2000-08-17 2009-03-03 Sun Microsystems, Inc. Load balancing method and system using multiple load balancing servers
US7403980B2 (en) * 2000-11-08 2008-07-22 Sri International Methods and apparatus for scalable, distributed management of virtual private networks
US20020178254A1 (en) 2001-05-23 2002-11-28 International Business Machines Corporation Dynamic deployment of services in a computing network
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
FR2851866B1 (fr) 2003-02-27 2005-10-28 Procede d'allocation par un premier pair d'un service a un second pair d'un reseau de communication
FR2855691B1 (fr) 2003-06-02 2005-11-11 Canon Kk Securisation de la distribution de documents numeriques dans un reseau pair a pair
FR2857763A1 (fr) 2003-07-18 2005-01-21 Canon Kk Procede d'acces et de partage d'un document numerique dans un reseau de communication p2p
US7783777B1 (en) * 2003-09-09 2010-08-24 Oracle America, Inc. Peer-to-peer content sharing/distribution networks
FR2860935B1 (fr) 2003-10-09 2006-03-03 Canon Kk Procede et dispositif de traitement de donnees numeriques
FR2863127A1 (fr) 2003-12-02 2005-06-03 Canon Kk Procedes et dispositifs pour la delivrance asynchrone de donnees numeriques
FR2868896B1 (fr) 2004-04-13 2008-03-14 Canon Kk Procede et dispositif de controle d'acces a un document numerique partage dans un reseau de communication de type poste a poste

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001093064A1 (fr) * 2000-05-30 2001-12-06 Emikolo Networks Inc. Distribution de contenu poste a poste dynamique sur un reseau
GB2385683A (en) * 2002-02-22 2003-08-27 Thirdspace Living Ltd Distribution system with content replication

Also Published As

Publication number Publication date
FR2870022B1 (fr) 2007-02-02
US20050278389A1 (en) 2005-12-15
US8463936B2 (en) 2013-06-11

Similar Documents

Publication Publication Date Title
FR2870022A1 (fr) Procede et dispositif de distribution de donnees numeriques notamment pour reseau pair-a-pair
EP1473904B1 (fr) Procédé et système d&#39;accès à un réseau poste à poste
FR2886494A1 (fr) Procede et dispositif d&#39;echange de donnees entre des stations mobiles dans un reseau pair a pair
FR2857763A1 (fr) Procede d&#39;acces et de partage d&#39;un document numerique dans un reseau de communication p2p
FR2855691A1 (fr) Securisation de la distribution de documents numeriques dans un reseau pair a pair
FR2863127A1 (fr) Procedes et dispositifs pour la delivrance asynchrone de donnees numeriques
EP3603024B1 (fr) Procédé de recommandation d&#39;une pile de communication
FR2842057A1 (fr) Procede et dispositif de traitement de donnees dans un reseau de communication
WO2008062140A2 (fr) Procede pour agir sur la diffusion d&#39;un fichier dans un reseau p2p
EP1372327A1 (fr) Système et procédé de transfert d&#39;informations entre des équipements de télécommunications
WO2004107705A1 (fr) Système de gestion de contexte pour un réseau comportant un ensemble hétérogène de terminaux
EP2589202B1 (fr) Procédé et système de gestion de sessions de communication
EP2446360B1 (fr) Technique de determination d&#39;une chaine de fonctions elementaires associee a un service
JP2004348722A (ja) ドキュメント共有装置及びその制御方法、並びに、コンピュータプログラム
FR2853788A1 (fr) Procede et dispositif d&#39;acces a un document numerique dans un reseau de communication du type poste a poste
FR2918241A1 (fr) Procede, serveur et application pour le partage de contenus personnels entre terminaux d&#39;usager(s)
EP2677722A1 (fr) Procédé de mise à dispositiion d&#39;un contenu numérique par un terminal d&#39;utilisateur sur un réseau de diffusion de contenus
WO2014135766A1 (fr) Procédé de traitement dans un réseau centré sur les contenus d&#39;une demande relative a un segment de données
FR3079711A1 (fr) Procede de gestion d&#39;acces a un contenu numerique.
FR2864283A1 (fr) Procede et dispositif de controle d&#39;acces a un document partage dans une reseau de communication poste a poste
FR2873525A1 (fr) Procede et dispositif de transfert de droit associe a une donnee numerique dans un reseau de communication distribue
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
FR2857191A1 (fr) Systeme de transmission de parametres caracteristiques d&#39;une session de communication d&#39;un terminal vers un serveur distant
EP1906625B1 (fr) Procédé et système de partage de fichiers sur un réseau, utilisant des capacités de stockage d&#39;un boîtier de connexion au réseau
FR3052620A1 (fr) Procede de gestion de l&#39;acces a des contenus numeriques via une passerelle domestique

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140131