FR2851866A1 - Procede d'allocation par un premier pair d'un service a un second pair d'un reseau de communication - Google Patents

Procede d'allocation par un premier pair d'un service a un second pair d'un reseau de communication Download PDF

Info

Publication number
FR2851866A1
FR2851866A1 FR0302407A FR0302407A FR2851866A1 FR 2851866 A1 FR2851866 A1 FR 2851866A1 FR 0302407 A FR0302407 A FR 0302407A FR 0302407 A FR0302407 A FR 0302407A FR 2851866 A1 FR2851866 A1 FR 2851866A1
Authority
FR
France
Prior art keywords
peer
service
link
value
peers
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
FR0302407A
Other languages
English (en)
Other versions
FR2851866B1 (fr
Inventor
Iona Donescu
Pascal Viger
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 FR0302407A priority Critical patent/FR2851866B1/fr
Priority to US10/781,772 priority patent/US7734751B2/en
Publication of FR2851866A1 publication Critical patent/FR2851866A1/fr
Application granted granted Critical
Publication of FR2851866B1 publication Critical patent/FR2851866B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Un procédé d'allocation par un premier pair (E) d'au moins un service à un second pair (D), les pairs étant reliés par l'intermédiaire d'un réseau de communication informatique, les premier et second pairs appartenant respectivement à un premier et à un second groupe de pairs adaptés à partager des données, comprend les étapes suivantes :- évaluation (E63) d'un lien (d0) entre le premier pair (E) et le second pair (D) ; et- sélection (E65) d'un service alloué par le premier pair (E) en fonction de la valeur du lien (d0).

Description

La présente invention concerne un procédé d'allocation par un
premier pair d'un service à un second pair.
Elle concerne également un dispositif d'allocation adapté à mettre en oeuvre le procédé conforme à l'invention.
De manière générale, la présente invention concerne la 15 communication de fichiers électroniques, et en particulier d'images numériques, sur des réseaux de communication.
Plus précisément, la présente invention concerne des réseaux de communication ayant une architecture "pair-à-pair' (ou du terme anglais "peerto-peer ou poste-à-poste").
Dans ce type de réseau, plusieurs ordinateurs sont connectés entre eux et chaque ordinateur ou terminal peut être à la fois serveur ou client sur le réseau de communication. Dans un tel réseau de communication, les données sont stockées de manière distribuée, la place de stockage pouvant alors être considérée comme étant quasi illimitée.
Dans un tel système, chaque terminal est identifié de manière unique. A chaque terminal est associé un ou plusieurs utilisateurs.
Inversement, un utilisateur donné peut se connecter au réseau pair-à-pair à partir de plusieurs terminaux. Chaque utilisateur est identifié également de manière unique à l'aide par exemple d'une adresse électronique.
Chaque terminal et un utilisateur du réseau forme ainsi un pair du réseau. On note ici que plusieurs pairs du réseau peuvent être liés à un même utilisateur.
Chaque pair appartient à un groupe de pairs adaptés à partager des données.
A titre d'exemple, un tel système de communication et d'échange de données se rencontre notamment dans le contexte d'échange de données numériques personnelles, du type des réseaux appelés en anglais F2F (ou "Friends to Family').
Dans un tel système de communication, le principal inconvénient par rapport à un modèle "client-serveur' est que le ou les serveurs d'un contenu demandé sur le réseau n'est ou ne sont pas toujours connectés.
Il est alors intéressant de stocker les données de manière redondante sur plusieurs terminaux de façon à pouvoir satisfaire une requête 15 de données, même si la source des données initiales n'est pas connectée.
Parallèlement, dans ce type de réseau dans lequel les données ne sont pas publiques, il est souhaitable de préserver ces données et de laisser au choix de l'utilisateur la possibilité d'allouer le service de tout ou une partie de ses données.
En particulier, dans un groupe de pairs tel que défini précédemment, chaque pair a la possibilité de partager un ensemble de données, également appelé collection, avec un sous-ensemble des pairs qu'il connaît, plusieurs de ces pairs pouvant éventuellement représenter le même utilisateur.
En outre, au niveau de chaque terminal, un utilisateur a la possibilité 25 de recréer une collection à partir de données reçues, en mélangeant par exemple des données reçues de sources diverses.
Cette collection sera à nouveau partagée avec d'autres pairs faisant partie du groupe de pairs auquel appartient ce second pair.
Dans un tel système, l'accès au contenu des données n'est donc 30 pas contrôlé par le possesseur initial des données.
Il est ainsi à la fois nécessaire dans un tel réseau de permettre l'accès à des données partagées, même lorsque le terminal source de ces données est déconnecté du réseau, tout en restreignant parallèlement cet accès afin de protéger les droits de chaque pair partageant ces données.
On connaît un système de communication de documents numériques totalement distribué, fonctionnant sans serveur central, ce système de communication, nommé GNUTELLA, est adapté à propager chaque demande de contenu émanant d'un terminal aux terminaux voisins connectés, avec une profondeur prédéterminée à l'intérieur du graphe de connexion.
On trouvera une description de ce système GNUTELLA dans le document intitulé "File sharing protocols: a tutorial on Gnutella" , V. Berg and G. Cybenko, March 2001, Technical report, Institute for Security Technology Studies, Darmouth College Hanover, USA.
Cette profondeur est soit fixée comme un paramètre du système, 15 soit fixée par l'utilisateur du terminal initiant la requête de contenu.
Par conséquent, les pairs serveurs n'ont pas de contrôle direct sur ce paramètre.
En outre, dès lors qu'il s'agit de la propagation d'une requête dans un graphe de connexion du réseau de communication, un noeud déconnecté 20 peut compromettre l'obtention du résultat.
La présente invention vise à résoudre les inconvénients précités et à proposer un compromis permettant d'assurer d'une part une certaine qualité de service dans un réseau pair-à-pair, et d'autre part la restriction de l'accès au contenu de chaque pair du réseau.
A cet effet, la présente invention concerne un procédé d'allocation par un premier pair d'au moins un service à un second pair, les pairs étant reliés par l'intermédiaire d'un réseau de communication informatique, lesdits premier et second pairs appartenant respectivement à un premier et un second groupe de pairs adaptés à partager des données.
Selon l'invention, ce procédé d'allocation comprend les étapes suivantes: - évaluation d'un lien entre ledit premier pair et ledit second pair; et sélection d'un service alloué par le premier pair en fonction de la valeur dudit lien.
Ainsi, le procédé d'allocation conforme à l'invention permet à tout pair du réseau de communication de servir un autre pair même si ce second pair n'appartient pas aux mêmes groupes de pairs adaptés à partager des données.
Il est ainsi possible d'accéder à des données même si les pairs 10 directement connus d'un second pair ne sont pas connectés au réseau.
En outre, grâce à la valeur du lien, chaque pair destiné à fournir un service peut restreindre l'accès à ses données de manière indépendante sur le réseau de communication.
Le service associé à la valeur d'un lien entre deux pairs du réseau 15 de communication peut ainsi être déterminé indépendamment par chaque pair, en fonction de critères propres à chaque pair devant allouer un service sur le réseau de communication.
Selon différents modes de mise en oeuvre de l'invention, l'étape d'évaluation comprend: - une étape de réception d'une notification adressée par un serveur central du réseau de communication informatique, la notification comprenant la valeur du lien et un identifiant dudit second pair sur le réseau de communication informatique; ou - une étape de lecture de la valeur du lien associé audit second 25 pair parmi une liste d'associations de pairs et de valeurs de lien; ou - une étape de réception d'un ticket électronique adressé par ledit second pair comprenant un identifiant dudit second pair et la valeur dudit lien entre le premier et le second pair.
Selon une caractéristique préférée de l'invention, à l'étape de 30 sélection d'un service, le service est choisi parmi un ensemble d'associations constituées d'un service et d'une valeur de lien.
Il est ainsi possible pour chaque valeur de lien d'associer un service différent, déterminé par le pair devant allouer ce service.
De préférence, cet ensemble d'associations est borné par une valeur de seuil de lien, de telle sorte qu'au-delà d'une certaine distance séparant deux 5 terminaux dans un réseau informatique, aucun service ne peut être alloué par un pair.
Dans un mode de réalisation particulièrement pratique de l'invention, les données partagées sont représentables à plusieurs niveaux de résolution, et les services alloués correspondent à différents niveaux de résolution de 10 données à partager entre un premier groupe et un second groupe de pairs.
Il est ainsi possible de modifier le contenu des données, en proposant ces données à différents niveaux de résolution en fonction de la valeur du lien séparant deux pairs.
En pratique, plus des pairs seront éloignés dans le réseau de 15 communication, plus la quantité d'informations associées aux données à partager sera faible.
De manière particulièrement avantageuse, ces données à partager sont des images numériques, représentables à différents niveaux de résolution.
Alternativement, lorsque ces données partagées sont des images 20 numériques compressées en format JPEG 2000, les services alloués correspondent à différents niveaux de qualité visuelle des données à partager entre un premier et un second groupe de pairs.
La présente invention concerne également un dispositif d'allocation par un premier pair d'au moins un service à un second pair, les pairs étant 25 reliés par l'intermédiaire d'un réseau de communication informatique, les premier et second pairs appartenant respectivement à un premier et à un second groupe de pairs adaptés à partager des données.
Selon l'invention, ce dispositif d'allocation comprend - des moyens d'évaluation d'un lien entre ledit premier pair et ledit second pair; et des moyens de sélection d'un service alloué par ledit premier pair en fonction de la valeur dudit lien.
Ce dispositif d'allocation présente des avantages et des caractéristiques analogues à ceux décrits précédemment en relation avec le procédé d'allocation qu'il met en oeuvre.
De préférence, ce dispositif d'allocation est incorporé dans un terminal d'un réseau de communication informatique.
La présente invention vise également un ordinateur comprenant des moyens adaptés à mettre en oeuvre le procédé d'allocation conforme à 1 0 l'invention.
Elle concerne aussi un réseau de communication comprenant des moyens adaptés à mettre en oeuvre le procédé d'allocation d'un service conforme à l'invention.
Par ailleurs, la présente invention vise un moyen de stockage 15 d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, et comprenant des instructions pour un programme informatique adapté à mettre en oeuvre le procédé d'allocation d'un service conforme à l'invention lorsque ce programme est chargé et exécuté par le système informatique.
Parallèlement, elle concerne un programme d'ordinateur lisible par un microprocesseur, comprenant des portions de code logiciel adaptées à mettre en oeuvre le procédé d'allocation d'un service conforme à l'invention lorsqu'il est chargé et exécuté par le microprocesseur.
Les avantages et caractéristiques de cet ordinateur, ce réseau de 25 communication, ce moyen de stockage d'informations et ce programme d'ordinateur sont analogues à ceux du procédé d'allocation d'un service qu'ils mettent en oeuvre.
D'autres particularités et avantages de l'invention apparaîtront
encore dans la description ci-après.
Aux dessins annexés, donnés à titre d'exemples non limitatifs: - la figure 1 est un exemple de réalisation d'un réseau pair-à-pair hybride adapté à mettre en oeuvre le procédé d'allocation conforme à l'invention; - les figures 2a et 2b illustrent le partage des données dans un réseau de communication tel qu'illustré à la figure 1; - la figure 3 est schéma bloc illustrant les échanges entre un terminal et un serveur lors de l'initialisation d'une connexion dudit terminal; - la figure 4 est un schéma bloc illustrant les échanges entre un terminal et le serveur lors d'une connexion ultérieure dudit terminal; - la figure 5 est un algorithme illustrant les étapes d'une requête d'un service entre un terminal et un serveur selon un premier mode de mise en oeuvre de l'invention; - la figure 6 est un algorithme illustrant le procédé d'allocation d'un service conforme à ce premier mode de mise en oeuvre de l'invention; - la figure 7 est un algorithme illustrant les étapes d'une requête d'un service entre un terminal et un serveur selon un deuxième mode de mise en oeuvre de l'invention; - la figure 8 est un algorithme illustrant le procédé d'allocation d'un service conforme à ce deuxième mode de mise en oeuvre de l'invention; - la figure 9 est un algorithme illustrant les étapes d'initialisation d'une connexion d'un terminal au réseau de communication selon un troisième mode de mise en oeuvre de l'invention; - la figure 10 est un algorithme illustrant le procédé d'allocation d'un service conforme au troisième mode de mise en oeuvre de l'invention; et 25 - la figure 11 est un schéma bloc d'un dispositif adapté à mettre en oeuvre l'invention.
On va décrire tout d'abord en référence à la figure 1 un exemple de réseau pair-à-pair hybride adapté à mettre en oeuvre le procédé d'allocation d'un service conforme à l'invention.
On se place ainsi dans un système de communication distribué "pairà-paîe' hybride, chaque pair pouvant être à la fois client et serveur, le rôle du serveur central S étant minimisé par rapport à un système de communication client-serveur classique.
Un tel système de communication distribué se rencontre notamment lors de l'échange de données numériques personnelles, telles que par exemple 5 des photos numériques ou des vidéos, dans un système o divers terminaux peuvent se connecter entre eux.
Les données sont ainsi stockées de manière distribuée, et non de manière centralisée, et sont généralement présentes de manière redondante sur plusieurs terminaux.
Il peut s'agir de données non publiques, comme par exemple des morceaux de musique ou de vidéo.
Dans un tel réseau, chaque terminal est identifié de manière unique, par exemple à l'aide d'une adresse réseau.
Un utilisateur et son terminal forme ainsi un pair du réseau, 15 l'utilisateur pouvant être identifié par exemple par une adresse électronique et le terminal par un identifiant généré par le système, ce qui permet de former un identifiant pour chaque pair du système.
A partir de cette identification de pairs, chaque pair dispose d'une liste de connaissances correspondant aux pairs avec lesquels il échange 20 régulièrement des données.
Chaque utilisateur au niveau de chaque terminal a aussi la possibilité de partager un ensemble de données, appelé collection, avec un sous-ensemble de ces connaissances.
Chaque contenu de données est également associé à un identifiant 25 unique. Cet identifiant est lié au contenu sémantique de ces données et est le même quel que soit le niveau ou les niveaux de résolution et/ou de qualité des données stockées dans un fichier. Une collection est un ensemble d'identifiants associés à des données.
En outre, chaque utilisateur a la possibilité de recréer une collection 30 à partir de données reçues, en mélangeant, par exemple, des données reçues de plusieurs terminaux avec des données personnelles.
Cette nouvelle collection peut également être à nouveau partagée sur le réseau de communication avec les différentes connaissances du pair.
Comme illustré à la figure 1, un tel réseau 10 comporte plusieurs terminaux 12, 14, 16, 18, chaque terminal étant relié au réseau, du type Internet.
En outre, le réseau 10 comporte un serveur central S qui permet de stocker différentes informations sur l'état du réseau pair-à-pair et sur les caractéristiques des machines connectées.
Le serveur S peut ainsi mémoriser l'état de connexion des terminaux 10 12, 14, 16, 18, et en particulier savoir à chaque instant donné quels sont les terminaux connectés.
En particulier, pour les terminaux connectés, le serveur central S stocke également des informations concernant l'adresse réseau de ce terminal, ainsi que les ports utilisés pour les communications avec le réseau 15 informatique.
Le serveur central S est en outre adapté à mémoriser l'identification et la localisation des données partagées par les différents terminaux du réseau.
Ainsi, le serveur central contient des informations telles que l'identification des données (par exemple des collections d'images) présentes 20 sur chaque terminal du système.
A chaque terminal peut être associé un ou plusieurs utilisateurs, chaque association d'un terminal et d'un utilisateur constituant un pair du réseau.
Comme cela sera décrit plus en détail en référence à la figure 2a, le 25 serveur central S contient également un ensemble d'informations sur les liens existants entre les pairs du réseau.
Contrairement aux autres terminaux, le serveur central S reste connecté en permanence.
On notera cependant, que bien qu'ayant un rôle particulier, le 30 serveur central S peut être également considéré comme un des terminaux du réseau distribué.
Chaque terminal comporte en particulier une mémoire de stockage volatile 22, 28, 34, 40, un serveur de fichiers 24, 30, 36, 42 et une interface homme-machine 26, 32, 38, 44 qui autorise l'interaction entre les utilisateurs de chaque terminal.
On notera que les terminaux peuvent communiquer directement ou par l'intermédiaire du serveur central S. On va à présent décrire en référence aux figures 2a et 2b un exemple de partage de données entre différents pairs, notés A à F, du réseau de communication.
La figure 2a représente de manière schématique un graphe relationnel entre les pairs A à F du réseau.
Un tel graphe permet d'évaluer un lien séparant deux pairs dans le réseau de communication.
Dans cet exemple, ce lien correspond à la distance séparant deux 15 terminaux donnés du réseau de communication.
Ainsi, si on représente le réseau sous forme de graphe, chaque pair identifié A à F du réseau constitue un noeud du graphe.
On peut ainsi définir la valeur d'un lien comme la distance séparant les noeuds du graphe, c'est-à-dire le nombre minimum d'arcs qui relient deux 20 noeuds du graphe représentant respectivement deux pairs du réseau de communication.
Par exemple, à la figure 2a, la distance entre les pairs D et E est égale à 2.
Chaque pair est généralement adapté à partager ses données avec 25 un groupe de connaissances directes, c'est-à-dire ayant une valeur de lien égale à 1.
Ainsi, le pair D appartient à un groupe de pairs GD comprenant en outre les pairs A et C. Ces pairs A, C, D appartenant ainsi à un même groupe de pairs 30 acceptent une relation d'échanges directs, c'est-à-dire le partage respectif de leurs données. il
En revanche, le pair E appartient à un autre groupe de pairs GE comprenant en outre les pairs B, C et F. Ainsi, les pairs D et E appartiennent à des groupes de pairs différents.
Dans ce contexte, on suppose que le pair A crée une collection d'images Cl contenant entre autre une image CO.
Le pair A partage initialement cette collection Cl avec les autres pairs B, C, D du réseau de communication comme illustré à la figure 2b.
En pratique pour partager ces données, le pair A envoie via le 10 réseau de communication une notification référençant cette nouvelle collection CI aux pairs B, C, D. Lorsque ces pairs B, C, D demandent et reçoivent cette nouvelle collection Cl, ils la stockent dans leur mémoire.
Le pair B peut alors choisir d'inclure l'image CO dans une nouvelle 15 collection C2, contenant d'autres images supplémentaires.
Cette nouvelle collection C2 peut ensuite être partagée avec d'autres pairs E et F du réseau de communication.
Cependant, lorsque après partage des données, l'utilisateur du terminal A décide de se déconnecter, la collection Cl et notamment l'image CO 20 ne sont plus disponibles à partir de ce terminal A. A titre d'exemple, si l'utilisateur du terminal D reçoit la notification de partage de cette nouvelle collection Cl et cherche par exemple à visualiser le contenu de l'image CO, il ne peut accéder à celle-ci sur le terminal A. Or, cette image CO est également présente dans la collection C2 25 mémorisée au niveau du terminal E également connecté au réseau.
Cependant, étant donné que cette image CO n'est pas reçue par les deux terminaux D et E en même temps, ni dans une même collection, les pairs D et E dans le scénario décrit à la figure 2a ne se connaissent pas de telle sorte que la disponibilité du contenu CO au niveau du pair E n'est pas connue 30 du pair D. Le procédé décrit ci-après en référence aux figures 3 et suivantes permet de résoudre ce problème.
On va décrire tout d'abord en référence à la figure 3, et selon un premier mode de réalisation de l'invention, les échanges entre un pair et le 5 serveur central S lors de l'initialisation d'une connexion du pair sur le réseau de communication 10.
Ici, il s'agit d'une connexion initiale d'un pair au réseau, de telle sorte que toutes les informations le concernant doivent être initialisées.
Lors d'une connexion ultérieure, comme décrit ci-dessous en 10 référence à la figure 4, le pair est connu du système et seule une mise à jour des préférences de l'utilisateur et des données partagées doit être réalisée.
Lors de la connexion du pair au système, une première étape d'authentification E30 est mise en oeuvre.
En pratique, l'utilisateur fournit un nom et un mot de passe qui sont 15 stockés sous forme cryptée au niveau du serveur central S. Le système permet également d'identifier le terminal avec un identifiant unique, qui est transmis au serveur S également.
Une étape d'enregistrement E31 est ainsi mise en oeuvre au niveau de serveur central S pour authentifier le pair du réseau. Lorsqu'il s'agit d'une 20 première connexion, le serveur central S associe un identifiant unique Up du pair dans le système. Cet identifiant Up est communiqué au pair. Cet identifiant Up prend en compte à la fois l'identifiant du terminal et l'identité de l'utilisateur.
L'adresse réseau du terminal est alors mise à jour dans une base de données du serveur.
Ces mécanismes d'enregistrement et d'authentification auprès d'un serveur sont connus dans l'état de l'art et n'ont pas besoin d'être décrits plus en détail ici.
Ensuite, une phase d'initialisation E32 permet d'initialiser des préférences de l'utilisateur du terminal parmi un choix de préférences données. 30 De manière classique, ces préférences peuvent comprendre notamment la largeur de bande passante autorisée et l'identification d'un répertoire o se trouvent des données partagées sur le réseau de communication.
En outre, conformément à la présente invention, ces préférences comprennent également le type de service que le pair souhaite offrir parmi un ensemble de services disponibles.
Il s'agit ainsi de donner la possibilité à l'utilisateur de choisir entre divers types de services qui seront ensuite alloués automatiquement par le terminal sur le réseau de communication.
En particulier, l'utilisateur choisit une valeur de seuil de lien, c'està10 dire une distance dmax correspondant à une distance maximale dans le réseau de communication au-delà de laquelle le pair n'alloue pas de service à un autre pair du réseau.
On notera que bien que l'utilisation d'une valeur seuil dmax permette d'éviter de saturer le réseau de communication, on peut éventuellement 15 admettre que chaque pair du réseau de communication peut servir n'importe quel autre pair du système.
Par ailleurs, l'initialisation des préférences comporte également un choix de services, à associer à une valeur de lien d.
En effet, un service dégressif peut être alloué par chaque pair en 20 fonction de cette valeur de lien d.
Ce service dégressif peut par exemple correspondre à différents niveaux de résolution des données à partager lorsqu'il s'agit d'images, ou encore à différents niveaux de qualité de l'image correspondant aux différentes couches de qualité existant dans un fichier de données images compressées 25 au format JPEG 2000.
Alternativement, on pourrait envisager que le service alloué par chaque terminal soit un service gratuit tant que la valeur de lien d reste inférieure à une certaine valeur, puis devienne un système de troc ou encore un service payant au-delà d'une certaine valeur de lien d.
L'ensemble de ces préférences sont transmises au serveur central S et une étape d'enregistrement E33 permet de stocker une partie de ces préférences dans une base de données, en association avec l'identifiant unique UP du pair.
Une étape d'initialisation E34 est ensuite mise en oeuvre afin d'établir une liste de pairs formant avec le pair un groupe de pairs adaptés à partager des données.
Ces pairs, également appelés "amis", sont distants d'une valeur de lien d égale à 1 dans le réseau de communication et correspondent à des pairs avec lesquels les informations sont partagées directement, sans restriction de service.
Lors de cette étape d'initialisation E34, une première phase consiste à demander aux utilisateurs des autres terminaux leur acceptation, dès lors qu'une telle relation d'échange de données est bijective.
Cela nécessite que les autres pairs acceptent également de partager sans restriction leurs données.
En pratique, une demande d'initialisation de la liste d"'amis" est envoyée au serveur central S. Ce dernier notifie les destinataires du réseau de cette demande.
Lors de leur connexion, ces destinataires ont le choix d'accepter ou de refuser d'appartenir à la liste d"'amis" du terminal en question.
Cette acceptation ou ce refus est reçu par le serveur central S qui stocke l'information et la retransmet également au pair lors d'une étape de réponse E35.
La liste des pairs "amis" de chaque pair du réseau de communication est ainsi établie à la fois sur chaque terminal et au niveau du 25 serveur central S. Une étape de création de contenu E36 est ensuite mise en oeuvre au niveau du pair initialisant sa connexion au système.
Cette étape de création de contenu E36 permet d'identifier l'ensemble des collections de données que l'utilisateur du terminal souhaite 30 partager avec les autres pairs du système.
Ces données partagées reçoivent chacune un identifiant unique dans le système et cet identifiant de contenu est envoyé au serveur central S. Une étape d'enregistrement E37 permet de mémoriser les identifiants des contenus en association avec l'identifiant Up de chaque pair.
Le serveur central S a également la possibilité de demander des informations supplémentaires au pair, notamment en fonction de la nature des données à partager.
Par exemple, lorsqu'il s'agit d'une collection à partir d'un ensemble de photos numériques, le serveur central S peut stocker des versions basse 10 résolution des images à partager, afin d'assurer une qualité de service minimum.
Enfin, une étape de partage E38 de données peut être mise en oeuvre par le pair.
En particulier, l'utilisateur du terminal peut partager certains 15 contenus de données avec un ensemble de pairs répertoriés sur une liste de diffusion.
Cette liste de diffusion et l'identification des contenus à partager sont transmises au serveur central S qui notifie, dans une étape de notification E39, les destinataires des contenus partagés.
Ainsi, ces destinataires, lors de leur connexion au système, prendront connaissance de cette notification d'une nouvelle collection de données à visualiser. La requête de cette collection et son obtention via un réseau de communication seront décrites ultérieurement, en référence aux figures 5 et 6.
On va décrire à présent en référence à la figure 4, les différents échanges entre un pair du réseau et le serveur central, lors d'une connexion ultérieure de ce pair.
Une étape d'authentification E40 est tout d'abord mise en oeuvre à partir de l'identifiant unique Up du pair dans le système. Cet identifiant est du type login, et comprend le nom de l'utilisateur et
le mot de passe.
Cet identifiant, ainsi que certaines données locales sur le terminal, sont envoyés au serveur central.
Une étape de vérification E41 permet de contrôler l'identité du pair et de mettre à jour si besoin les données relatives à la connexion de ce pair sur le système.
Le serveur central S peut alors envoyer au terminal connecté l'ensemble des notifications en attente, qui lui sont destinées.
En particulier, le serveur central S envoie les notifications des demandes d"'amis", correspondant aux notifications adressées par le serveur 10 central à l'étape de notification E35 de la figure 3.
Lors d'une étape de réception E42, le pair connecté reçoit les notifications de demande d"'amis" et retourne une réponse signifiant son acceptation ou son refus.
A réception de cette réponse, le serveur central S envoie dans une 15 étape d'envoi E43 une réponse à chaque pair concerné et stocke également cette information dans sa base de données.
En parallèle, lors de l'étape de réception E42, le pair connecté mémorise dans sa propre liste d"'amis" l'identification du nouveau pair "ami' du réseau lorsqu'il a accepté la notification.
Une étape de notification E44 est ensuite mise en oeuvre au niveau du serveur central pour notifier de nouvelles collections de données à partager.
Une étape de réception E45 est symétriquement mise en oeuvre sur le pair connecté afin de recevoir les notifications identifiant les nouvelles données à partager.
Diverses étapes de consultation E46 et d'envoi E47 de contenus sont ensuite mises en oeuvre entre le pair connecté et le serveur central de telle sorte que le pair peut recevoir le contenu des données.
Ces étapes de consultation et d'envoi E46, E47 seront décrites cidessous en relation avec le procédé d'allocation conforme à l'invention et 30 illustré aux figures 5 et 6.
Le pair connecté peut également mettre en oeuvre une étape de partage E48 d'un nouveau contenu, en adressant via le serveur central des notifications de partage de contenu.
Une étape de notification E49 est ensuite mise en oeuvre par le serveur central S pour informer les destinataires des contenus à partager.
On notera que ces étapes de partage de nouveaux contenus E48, E49 sont identiques aux étapes de partage de contenus E38, E39 de la figure 3.
Ces étapes de partage de contenu peuvent être mises en oeuvre à 10 tout moment de la connexion d'un pair au réseau de communication informatique.
On va décrire à présent en référence à la figure 5 un procédé de requête de contenu mis en oeuvre par chaque pair du réseau de communication lors d'une étape de consultation E46 telle que décrite 15 précédemment à la figure 4.
Dans ce premier mode de réalisation, la requête de contenu est adressée au serveur central S. On se place ici dans l'exemple illustré à la figure 2a, dans lequel un pair D demande un contenu CO disponible sur des terminaux A, C en relation 20 directe avec ce pair D mais qui ne sont pas connectés.
En revanche, ce contenu CO est disponible sur le terminal E, auquel cependant le pair D ne peut se connecter directement.
En pratique, le pair D met tout d'abord en oeuvre une étape de tentative de connexion directe E50 à des pairs du réseau de communication.
Cette étape de connexion directe peut être mise en oeuvre par exemple à partir de la liste de distribution de la collection Cl dans laquelle a été envoyé le contenu CO.
En se référant à la figure 2b, il s'agit dans cet exemple des pairs A, B et C. Bien entendu, on pourrait envisager d'autres types de connexion directe, en particulier lorsque cette liste de distribution n'est pas publiée.
Dans un tel cas, le pair D peut tenter de se connecter directement aux utilisateurs du réseau de communication qui sont référencés dans sa liste d"'amis", c'est-à-dire dans cet exemple aux pairs A et C tel qu'illustré à la figure 2a.
Si cette étape de tentative de connexion directe E50 est réussie, on procède à une étape d'allocation E52 du contenu CO de manière connue, grâce à un échange de requête-réponse entre le pair D et le pair identifié pouvant servir le contenu CO demandé.
Si à l'issue de l'étape de test E51, la tentative de connexion directe a 10 échoué, une étape d'envoi E53 d'une requête au serveur central S est mise en oeuvre pour demander le contenu CO.
Grâce aux diverses informations stockées sur le serveur central S, ce dernier identifie dans une étape d'identification E54 le contenu CO sur un pair E connecté à cet instant au réseau de communication.
Une étape de calcul E55 est ensuite mise en oeuvre par le serveur S afin de calculer la distance dO séparant les pairs D et E dans le réseau de communication.
Ce calcul de la valeur de lien existant entre les deux pairs D et E peut être mis en oeuvre comme décrit précédemment en référence à la figure 20 2a.
Une étape de vérification E56 est également mise en oeuvre sur le serveur central S afin de contrôler les règles d'accès données par le pair E lors de sa phase d'initialisation avec le serveur central.
En particulier, on vérifie si le pair E est adapté à allouer un service à 25 un pair D distant d'une valeur de lien égale à dO.
Dans ce premier mode de réalisation, c'est le serveur central S, qui centralise les informations concernant le système, qui a la possibilité de vérifier la faisabilité d'une réponse positive à une requête d'un contenu CO.
Un test E57 permet ainsi au niveau du serveur central de savoir si le 30 pair E peut servir, au moins partiellement, le contenu CO au pair D. Dans la négative, une étape d'envoi E58 d'une réponse par le serveur S permet d'informer le pair D que le contenu CO n'est pas disponible.
Si à l'étape de test E57, le pair E est adapté à servir au moins partiellement le contenu CO au pair D, le serveur central S envoie dans une étape d'envoi E59 une notification au pair E. Cette notification comprend l'identifiant du pair D, requérant le contenu CO, ainsi que la valeur du lien entre ce pair E et le pair D, correspondant à la distance dO calculée à l'étape de calcul E55.
Ensuite, une étape d'envoi E60 est également mise en oeuvre par le 10 serveur central afin d'envoyer l'adresse du pair E et éventuellement la valeur du lien dO au pair D. Ces deux notifications envoyées respectivement aux pairs E et D permettent ensuite aux deux pairs du réseau de communication de communiquer directement.
En pratique, une étape d'envoi E61 d'une requête du contenu CO est mise en oeuvre par le pair D à destination du pair E. Puis le pair D reçoit lors d'une étape de réception E62 la partie f(CO, dO) du contenu CO correspondant au type de service alloué par le pair E à un pair distant de la valeur de lien dO.
Cette allocation d'un service par le pair E en fonction de la valeur de lien dO va être décrite à présent en référence à la figure 6, selon le premier mode de réalisation de l'invention.
Ce procédé d'allocation comporte tout d'abord une étape de réception E63 d'une notification identifiant le pair D comme client d'un contenu 25 et la valeur de lien dO associée à ce pair D. Cette étape de réception E63 correspond à la réception de la notification adressée par le serveur central S dans l'étape d'envoi E59 décrite précédemment.
A réception de cette notification, la valeur du lien dO est lue.
En outre, une étape de réception E64 d'une requête de contenu CO est également mise en oeuvre sur le pair E. Cette étape de réception E64 correspond à la réception de la requête adressée par le pair D lors de l'étape d'envoi E61.
Une étape de sélection E65 est ensuite mise en oeuvre sur le pair E afin d'identifier un service en fonction de la valeur de lien dO lue dans la notification réceptionnée à l'étape de réception E63.
Lorsqu'il s'agit d'images numériques, ce service sélectionné peut correspondre à un niveau de résolution de l'image CO à adresser au pair D. En pratique, cette sélection est réalisée à partir de la valeur du lien dO, parmi un ensemble d'association de services et de valeur de lien. Une table 10 d'associations peut ainsi mémoriser chaque valeur de lien en association avec un service.
Une étape d'envoi E66 permet ensuite d'adresser la partie f(CO, dO) du contenu CO en fonction du service sélectionné.
Dans ce premier exemple de réalisation illustré aux figures 5 et 6, on 15 a considéré que seul un pair E était disponible pour fournir le contenu CO au pair D. Bien entendu, si plusieurs pairs sont identifiés par le serveur central S lors de l'étape d'identification E54, l'ensemble des étapes E55 à E62 de la figure 5 est réitéré pour chaque pair identifié, en particulier si à l'étape de test 20 E57, le pair considéré ne peut pas servir au moins partiellement le pair D avec le contenu CO.
On va décrire à présent en référence aux figures 7 et 8 un deuxième mode de réalisation de l'invention, dans lequel le procédé d'allocation d'un service utilise un ticket électronique.
Ce ticket électronique permet de sécuriser l'accès à des ressources sur un ordinateur.
L'utilisation d'un tel ticket électronique est notamment décrite dans le document US 5 542 046.
Dans ce deuxième mode de réalisation, les étapes mises en oeuvre 30 pour la requête d'un contenu CO par le pair D sont sensiblement identiques à celles mises en oeuvre et décrites précédemment en référence à la figure 5.
En particulier, les étapes E70 à E78 correspondent respectivement aux étapes E50 à E58 décrites précédemment.
En revanche, ici, lorsqu'à l'issue de l'étape de test E77 le serveur central S détermine que le pair E peut servir au moins partiellement le contenu 5 CO au pair D, une étape de création E79 d'un ticket électronique est mise en oeuvre par le serveur central S. Ce ticket électronique T (dO, D) contient l'identifiant du pair D et la valeur de lien correspondant à la distance dO.
En outre, si chaque pair du système possède un couple (clé 10 publique, clé privée), le serveur central peut crypter le ticket électronique avec la clé publique du terminal E. Ce cryptage permet d'augmenter encore le niveau de sécurité du transfert des données entre les pairs du réseau de communication.
Une étape d'envoi E80 est ensuite mise en oeuvre par le serveur 15 central S pour adresser le ticket T (dO, D) au pair D. Le serveur central S envoie également l'adresse électronique du pair E au pair D. Le pair D peut alors envoyer dans une étape d'envoi E81 une requête du contenu CO, ainsi que le ticket électronique T (dO, D) à destination 20 du pair E. En réponse, le pair D reçoit dans une étape de réception E82 le contenu au moins partiel de l'image CO, tel qu'alloué par le pair E en fonction de la distance dO existant entre le pair E et le pair D. Cette allocation du service par le pair E est décrite plus 25 particulièrement en référence à la figure 8.
Ce procédé d'allocation comporte tout d'abord une étape de réception E83 de la requête du contenu CO et du ticket électronique T (dO, D) correspondant à l'étape d'envoi E81 mise en oeuvre par le pair D. Une étape de décodage E84 est mise en oeuvre par le pair E afin 30 d'accéder aux données insérées dans le ticket électronique T (dO, D).
Ce décodage permet de décrypter la valeur de lien dO qui peut ainsi être lue dans une étape de lecture E85 par le pair E. En fonction de cette valeur de lien dO, une étape de sélection E86 est mise en oeuvre par le pair E afin de sélectionner le service alloué par ce pair E au pair D. Comme précédemment, cette sélection de service peut par exemple correspondre à un niveau donné de résolution de l'image numérique CO.
Une étape d'envoi E87 est ensuite mise en oeuvre pour adresser au pair D le contenu f(CO, do).
Ainsi, grâce à l'invention, il est possible au pair D d'accéder au contenu CO stocké sur un pair E ne faisant pas partie du même groupe de pairs, tout en autorisant un accès restreint aux données stockées sur E, afin de sécuriser le partage des données sur le réseau de communication.
On va décrire à présent en référence aux figures 9 et 10 un troisième 15 mode de mise en oeuvre de l'invention, qui permet de limiter l'intervention du serveur central S. En résumé, dans ce troisième mode de mise en oeuvre, chaque pair du réseau de communication stocke et gère localement la liste de ces pairs "amis".
Dans ce mode de réalisation, la liste de pairs "amis" ne se limite pas aux terminaux distants d'une valeur de lien d égale à 1, mais comprend également des terminaux dont la distance les séparant du pair en question reste inférieure à une distance maximale dmax au-delà de laquelle le pair n'accepte plus d'allouer un service.
La figure 9 illustre la phase d'initialisation mise en oeuvre lors de ce troisième mode de réalisation, permettant d'établir la liste des pairs "amis" dont la valeur du lien reste inférieure à la valeur maximale dmax.
Une étape d'initialisation et de mise à jour E90 d'une liste de pairs "amis" directs comprenant les terminaux reliés directement au pair considéré 30 est tout d'abord mise en oeuvre. Cette étape d'initialisation E90 est similaire à celle décrite précédemment en référence aux étapes E34, E35 de la figure 3.
Ensuite, une étape d'initialisation E91 d'un indice n est mise en oeuvre. L'indice n est ici égal à 1.
On vérifie dans une étape de test E92 si la valeur de l'indice n est inférieure à la valeur de seuil maximal dmax.
Dans l'affirmative, une étape d'envoi E93 permet de requérir auprès des pairs dont la valeur de lien est égale à n, leur propre liste d"'amis".
A réception de ces listes d"'amis", une étape de mise à jour E94 permet de mettre à jour localement la liste d"'amis" en intégrant dans celle-ci les listes d"'amis" reçues des pairs "amis".
Une étape d'incrémentation E95 est ensuite mise en oeuvre pour incrémenter l'indice n à la valeur n+1.
On réitère alors pour cette nouvelle valeur d'indice l'ensemble des étapes E92 à E95 afin d'augmenter la liste des pairs "amis".
Lorsque la valeur de l'indice n est égale à la valeur de seuil dmax, le 15 processus d'initialisation est terminé.
On considère alors que la liste des pairs "amis" de degré dmax est complète localement au niveau du pair.
Bien entendu, cette liste pourra être mise à jour régulièrement par le pair en effectuant les mêmes étapes que décrites précédemment lors de 20 l'initialisation.
On notera, qu'entre l'étape d'envoi E93 et l'étape de mise à jour E94 mise en oeuvre sur le terminal, il peut éventuellement s'écouler un laps de temps dès lors que l'envoi par un pair de sa liste d"'amis" ne peut se faire qu'après connexion de celui-ci.
Alternativement, dans cette phase d'initialisation, on pourrait faire appel au serveur central S pour collecter et envoyer la liste des pairs "amis" de chaque pair qui n'est pas connecté à l'instant considéré au réseau de communication.
On notera en outre que dans ce mode de réalisation il n'est pas 30 nécessaire que chaque pair donne une autorisation pour figurer dans une liste d'amis" d'un autre pair dès lors que la relation entre deux pairs du réseau pour l'allocation d'un service n'est pas nécessairement bijective.
On va décrire à présent en référence à la figure 10 le processus mis en oeuvre pour recueillir le contenu CO par le pair D lorsque chaque pair dispose de la liste des pairs du réseau de communication qu'il peut servir.
Une première étape de recherche E100 est mise en oeuvre afin d'effectuer une recherche distribuée du contenu CO sur le réseau de communication.
Le pair D reçoit alors une liste de serveurs potentiels (PO,..., Pn).
Une valeur d'indice i est alors initialisée lors d'une étape d'initialisation E101 à la valeur 0.
Une étape d'envoi E102 est ensuite mise en oeuvre pour envoyer une requête du contenu CO au serveur potentiel Pi.
Ce serveur Pi vérifie dans une étape de lecture E103 si le pair D est 15 présent dans sa liste locale de pairs "amis" qu'il peut servir.
S'il est présent dans cette liste de pairs "amis", il lit également dans une étape de lecture E104 la distance di séparant ce pair Pi du pair D. Une étape de test E105 est alors mise en oeuvre sur le serveur Pi afin de vérifier s'il peut servir au moins partiellement CO au pair D. Dans la négative, une réponse est adressée au pair D qui incrémente alors dans une étape d'incrémentation E106 la valeur de l'indice i à la valeur i+1.
Une étape de test E107 permet de vérifier si cette nouvelle valeur d'indice reste inférieure ou égale à la valeur n correspondant au nombre 25 maximal de serveurs potentiels identifiés à l'étape de recherche distribuée E100.
Dans l'affirmative, les étapes E102 à E105 sont réitérées pour un serveur suivant Pi.
Lorsqu'à l'issue de l'étape de test E105, le serveur Pi peut servir 30 partiellement le contenu CO au pair D, une étape de sélection et d'envoi E108 est mise en oeuvre par le serveur Pi afin d'adresser au pair D au moins partiellement le contenu CO.
Cette sélection de services se fait comme précédemment à partir d'une liste de différents services associés respectivement à des valeurs de lien.
Le service est sélectionné à partir de la valeur de lien di.
Ce contenu f(CO, di) est adressé au pair D qui vérifie dans une étape de test E109 si le contenu CO reçu est complet.
Dans la négative, la requête de contenu n'étant pas complètement satisfaite, le pair D continue à rechercher parmi les serveurs potentiels le 10 contenu CO complet.
En pratique, les étapes d'incrémentation E106 et de test E107 sont réitérées pour identifier un serveur potentiel suivant et les étapes E102 et suivantes sont réitérées au niveau de ce serveur potentiel suivant.
Lorsqu'à l'issue du test E109, le contenu CO est complet, ou encore 15 lorsque à l'issue du test E107, la valeur de l'indice i est égale à la valeur maximale n, le processus de requête du contenu CO prend fin.
Ce troisième mode de réalisation de l'invention permet ainsi de distribuer un contenu sur le réseau de communication, en fonction de la distance séparant les deux pairs, tout en limitant le recours au serveur central 20 S. En effet, dans ce mode de réalisation, le serveur central S n'intervient pas pour l'obtention d'un contenu.
L'ensemble des procédés de requête de contenu et d'allocation d'un service décrits précédemment peuvent être mis en oeuvre dans un dispositif tel 25 qu'illustré à la figure 11, correspondant à un terminal informatique.
Ce dispositif 200 peut par exemple être un micro-ordinateur ou une station de travail connecté à différents périphériques, tels que, par exemple, une caméra numérique 201, ou encore tout autre moyen d'acquisition d'images et notamment un scanner.
Cette caméra numérique 201 est reliée au micro-ordinateur 200 via une carte graphique adaptée à fournir à l'appareil des données multimédia et notamment des images numériques.
Le micro-ordinateur 200 comporte un bus de communication 202 auquel sont reliées: - une unité centrale de traitement 203, comportant le microprocesseur; - une mémoire morte 204 adaptée à mémoriser des programmes "Progr", "Progrl", et "Progr2", pour la mise en oeuvre du procédé d'allocation 10 d'un service conforme à l'invention; et - une mémoire vive 206, correspondant à la mémoire cache du micro- ordinateur et comportant des registres adaptés à enregistrer et à mémoriser des variables et paramètres créés et modifiés au cours de l'exécution des programmes précités.
Un écran 208 permet également de visualiser des données et/ou de servir d'interface graphique avec un utilisateur qui pourra interagir avec les programmes selon l'invention à l'aide par exemple d'un clavier 210, ou de tout autre moyen tel qu'un dispositif de pointage comme par exemple une souris 211 ou un crayon optique.
Un disque dur 210 peut également comporter les programmes précités "Progr", "Progrl", "Progr2".
De manière classique, un lecteur de disquette 214 est adapté à recevoir une disquette 216 de manière à lire ou à inscrire des données.
Une interface de communication 218 est également adaptée à relier 25 le micro-ordinateur 200 à un réseau de communication distribué 220 tel que par exemple le réseau Internet.
Cette interface 218 est apte à transmettre et à recevoir des données et en particulier toutes les requêtes envoyées et reçues lors de la mise en ceuvre des procédés décrits précédemment.
Dans le cas de données audio, le dispositif 200 comprend en outre une carte d'entrée/sortie (non représentée) reliée à un microphone 222.
Le bus de communication 202 permet la communication et linteropérabilité entre les différents éléments inclus dans le micro-ordinateur ou reliés à lui.
La représentation du bus n'est pas limitative et notamment l'unité 5 centrale 203 est susceptible de communiquer des instructions à tout élément du micro-ordinateur 200 directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 200.
Le code exécutable de chaque programme permettant à l'appareil programmable de mettre en oeuvre les procédés conformes à l'invention peut 10 être stocké, par exemple, dans le disque dur 212 ou en mémoire morte 204.
Selon une variante, la disquette 216 peut contenir des données ainsi que le code exécutable des programmes précités qui, une fois lu par l'appareil 200, sera stocké dans le disque dur 212.
En seconde variante, le code exécutable des programmes pourra 15 être reçu par l'intermédiaire du réseau de communication 220, via l'interface 218, pour être stocké de façon identique à celle décrite ci-dessus.
Bien entendu, les disquettes 216 peuvent être remplacées par tout autre support d'information tel que par exemple un disque compact (CD-Rom) ou une carte mémoire.
De manière générale, tout moyen de stockage d'informations, lisible par un ordinateur ou par microprocesseur, intégré ou non à l'appareil, éventuellement amovible, peut être adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en oeuvre du procédé d'allocation d'un service conforme à l'invention. De manière plus générale, ce ou ces 25 programmes peuvent être chargés dans des moyens de stockage de l'appareil avant d'être exécutés.
L'unité centrale 203 va commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes conformes à l'invention. Lors de la mise sous tension, les programmes qui sont stockés dans 30 une mémoire non volatile, par exemple le disque dur 212 ou la mémoire morte 204, sont transférés dans la mémoire vive 206 qui contiendra alors le code exécutable du ou des programmes selon 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 que l'appareil de communication comportant le dispositif conforme à l'invention peut également être un appareil programmé.
Cet appareil contiendra alors le code du ou des programmes informatiques par exemple figés dans un circuit intégré à application spécifique (ASIC).
Bien entendu, de nombreuses modifications peuvent être apportées 10 à l'exemple de réalisation décrit précédemment sans sortir du cadre de l'invention.
Ainsi, on a considéré dans les exemples de réalisation précédents qu'à chaque terminal n'était associé qu'un unique utilisateur constituant ainsi un pair du réseau.
Bien entendu, plusieurs utilisateurs pourraient utiliser un même terminal ou machine, plusieurs pairs étant ainsi identifiés avec ses préférences et ses contenus de données associées à un même noeud du réseau de communication.

Claims (20)

REVENDICATIONS
1. Procédé d'allocation par un premier pair (E) d'au moins un service à un second pair (D), les pairs étant reliés par l'intermédiaire d'un 5 réseau de communication informatique (10), lesdits premier et second pair appartenant respectivement à un premier (GE) et à un second groupe (GD) de pairs adaptés à partager des données, caractérisé en ce qu'il comprend les étapes suivantes: - évaluation (E63, E83, E104) d'un lien (dO) entre ledit premier 10 pair (E) et ledit second pair (D); et - sélection (E65, E86, E108) d'un service f(CO, dO) alloué par ledit premier pair (E) en fonction de la valeur (dO) dudit lien.
2. Procédé d'allocation conforme à la revendication 1, caractérisé en ce que l'étape d'évaluation comprend une étape de réception (E63) d'une 15 notification adressée par un serveur central (S) dudit réseau de communication informatique, ladite notification comprenant la valeur dudit lien (dO) et un identifiant dudit second pair (D) sur le réseau de communication informatique.
3. Procédé d'allocation conforme à la revendication 1, caractérisé en ce que l'étape d'évaluation comprend une étape de lecture (E104) de la 20 valeur dudit lien (di) associé audit second pair (Pi) parmi une liste d'associations de pairs (Pi) et de valeurs de liens (di).
4. Procédé d'allocation conforme à la revendication 1, caractérisé en ce que l'étape d'évaluation comprend une étape de réception (E83) d'un ticket électronique (T(dO, D)) adressé par ledit second pair (D), comprenant un 25 identifiant dudit second pair (D) et la valeur dudit lien (dO) entre le premier et le second pair.
5. Procédé d'allocation conforme à l'une des revendications 1 à 4, caractérisé en ce que, à l'étape de sélection (E65, E86, E108) d'un service, ledit service est choisi parmi un ensemble d'associations constituées d'un 30 service et d'une valeur de lien.
6. Procédé d'allocation conforme à la revendication 5, caractérisé en ce que ledit ensemble d'associations est borné par une valeur de seuil de lien (dmax).
7. Procédé d'allocation conforme à l'une des revendications 1 à 6, 5 dans lequel les données partagées sont représentables à plusieurs niveaux de résolution, caractérisé en ce que lesdits services alloués correspondent à différents niveaux de résolution des données à partager entre un premier groupe et un second groupe de pairs.
8. Procédé d'allocation conforme à la revendication 7, caractérisé 10 en ce que les données partagées sont des images numériques.
9. Procédé d'allocation conforme à l'une des revendications 1 à 6, dans lequel les données partagées sont des images numériques compressées en format JPEG 2000, caractérisé en ce que lesdits services alloués correspondent à différents niveaux de qualité visuelle des données à partager 15 entre un premier et un second groupe de pairs.
10. Dispositif d'allocation par un premier pair (E) d'au moins un service à un second pair (D), les pairs étant reliés par l'intermédiaire d'un réseau de communication informatique (10), lesdits premier et second pairs appartenant respectivement à un premier (GE) et à un second groupe (GD) de 20 pairs adaptés à partager des données, caractérisé en ce qu'il comprend: - des moyens d'évaluation (203, 204, 206) d'un lien (dO) entre ledit premier pair et ledit second pair; et - des moyens de sélection (203, 204, 206) d'un service (f(CO, dO)) alloué par ledit premier pair (E) en fonction de la valeur dudit lien 25 (dO).
11. Dispositif d'allocation conforme à la revendication 1 0, caractérisé en ce que les moyens d'évaluation comprennent des moyens de réception (203, 204, 206) d'une notification adressée par un serveur central (S) dudit réseau de communication informatique, ladite notification comprenant la 30 valeur dudit lien (dO) et un identifiant dudit second pair (D) sur le réseau de communication informatique.
12. Dispositif d'allocation conforme à la revendication 10, caractérisé en ce que les moyens d'évaluation comprennent des moyens de lecture (203, 204, 206) de la valeur dudit lien (di) associé audit second pair (Pi) parmi une liste d'associations de pairs et de valeurs de lien.
13. Dispositif d'allocation conforme à la revendication 10, caractérisé en ce que les moyens d'évaluation comprennent des moyens de réception (203, 204, 206) d'un ticket électronique (T(dO, D)) adressé par ledit second pair (D), comprenant un identifiant du second pair (D) et la valeur dudit lien (dO) entre le premier et le second pair.
14. Dispositif d'allocation conforme à l'une des revendications 10 à 13 caractérisé en ce que les moyens de sélection d'un service (203, 204, 206) en fonction d'une valeur de lien (dO) coopèrent avec un ensemble d'associations constituées d'un service et d'une valeur de lien.
15. Dispositif d'allocation conforme à l'une des revendications 10 à 15 14, caractérisé en ce qu'il est incorporé dans: - un microprocesseur (203); - une mémoire morte (204) adaptée à mémoriser un programme d'allocation d'un service; et - une mémoire vive (206) comprenant des registres adaptés à 20 mémoriser des variables lors de l'exécution dudit programme.
16. Dispositif d'allocation conforme à l'une des revendications 10 à 15, caractérisé en ce qu'il est incorporé dans un terminal d'un réseau de communication informatique (10).
17. Ordinateur, caractérisé en ce qu'il comprend des moyens 25 adaptés à mettre en oeuvre le procédé d'allocation conforme à l'une des
revendications 1 à 9.
18. Réseau de communication, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé d'allocation d'un service
conforme à l'une des revendications 1 à 9.
19. Moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, caractérisé en ce qu'il comprend des instructions pour un programme informatique adapté à mettre en oeuvre le procédé d'allocation d'un service conforme à l'une des revendications 1 à 9 lorsque ce programme est chargé et exécuté par le système informatique.
20. Programme d'ordinateur lisible par un microprocesseur, caractérisé en ce qu'il comprend des portions de code logiciel adaptées à mettre en oeuvre le procédé d'allocation d'un service conforme à l'une des revendications 1 à 9, lorsqu'il est chargé et exécuté par le microprocesseur.
FR0302407A 2003-02-27 2003-02-27 Procede d'allocation par un premier pair d'un service a un second pair d'un reseau de communication Expired - Fee Related FR2851866B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0302407A FR2851866B1 (fr) 2003-02-27 2003-02-27 Procede d'allocation par un premier pair d'un service a un second pair d'un reseau de communication
US10/781,772 US7734751B2 (en) 2003-02-27 2004-02-20 Method of allocating a service by a first peer to a second peer in a communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0302407A FR2851866B1 (fr) 2003-02-27 2003-02-27 Procede d'allocation par un premier pair d'un service a un second pair d'un reseau de communication

Publications (2)

Publication Number Publication Date
FR2851866A1 true FR2851866A1 (fr) 2004-09-03
FR2851866B1 FR2851866B1 (fr) 2005-10-28

Family

ID=32843034

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0302407A Expired - Fee Related FR2851866B1 (fr) 2003-02-27 2003-02-27 Procede d'allocation par un premier pair d'un service a un second pair d'un reseau de communication

Country Status (2)

Country Link
US (1) US7734751B2 (fr)
FR (1) FR2851866B1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006030341A1 (fr) 2004-09-17 2006-03-23 Koninklijke Philips Electronics N.V. Serveur de controle de proximite
WO2007072388A1 (fr) * 2005-12-22 2007-06-28 Koninklijke Philips Electronics N.V. Procede et appareil pour generer une estimation de proximite

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7268700B1 (en) 1998-01-27 2007-09-11 Hoffberg Steven M Mobile communication device
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
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
FR2860935B1 (fr) * 2003-10-09 2006-03-03 Canon Kk Procede et dispositif de traitement de donnees numeriques
WO2005048565A1 (fr) * 2003-11-14 2005-05-26 Canon Kabushiki Kaisha Systeme, procede et dispositifs permettant de consulter ou de partager un document numerique dans un reseau de communication point a point
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
FR2870022B1 (fr) 2004-05-07 2007-02-02 Canon Kk Procede et dispositif de distribution de donnees numeriques notamment pour reseau pair-a-pair
US7590589B2 (en) 2004-09-10 2009-09-15 Hoffberg Steven M Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference
US9398037B1 (en) * 2004-09-27 2016-07-19 Radix Holdings, Llc Detecting and processing suspicious network communications
US7796520B2 (en) * 2004-09-30 2010-09-14 Avaya Canada Corp. System and methods for announcing and locating services in a distributed peer-to-peer network
EP1815642A4 (fr) * 2004-11-04 2010-12-29 Topeer Corp Systeme et procede pour creer un reseau social de confiance securise
AU2012200572B2 (en) * 2004-11-04 2013-07-11 Topeer Corporation System and method for creating a secure trusted social network
US7266383B2 (en) * 2005-02-14 2007-09-04 Scenera Technologies, Llc Group interaction modes for mobile devices
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
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7783600B1 (en) * 2006-02-27 2010-08-24 Symantec Operating Corporation Redundancy management service for peer-to-peer networks
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.
US7835364B2 (en) * 2006-10-05 2010-11-16 Avaya Inc. Distributed handling of telecommunications features in a hybrid peer-to-peer system of endpoints
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.
FR2916600B1 (fr) * 2007-05-24 2013-11-22 Canon Kk Procede et dispositif de transmission de donnees
GB2450473A (en) * 2007-06-04 2008-12-31 Sony Comp Entertainment Europe A Server in a Peer to Peer system selecting and notifying a device that it is to become a member of a peer group
US20080307314A1 (en) * 2007-06-09 2008-12-11 Pavel Cisler System connections and user interfaces
US8266323B2 (en) * 2007-06-09 2012-09-11 Apple Inc. System connections and user interfaces
US20080307504A1 (en) * 2007-06-09 2008-12-11 Pavel Cisler System connections and user interfaces
US8296833B2 (en) 2007-06-09 2012-10-23 Apple Inc. System connections and user interfaces
US7720083B2 (en) * 2007-09-28 2010-05-18 Microsoft Corporation Intelligent routing in a hybrid peer-to-peer system
FR2922391B1 (fr) * 2007-10-15 2009-12-04 Canon Kk Procede et dispositif de transmission de donnees
FR2926939A1 (fr) 2008-01-30 2009-07-31 Canon Kk Procede de transmission de donnees avec anticipation des acquittements, dispositif d'entree, produit programme d'ordinateur et moyen de stockage correspondants
US8196186B2 (en) * 2008-05-20 2012-06-05 Microsoft Corporation Security architecture for peer-to-peer storage system
US20100088520A1 (en) * 2008-10-02 2010-04-08 Microsoft Corporation Protocol for determining availability of peers in a peer-to-peer storage system
FR2944938B1 (fr) * 2009-04-28 2011-10-21 Canon Kk Procede et dispositif de correction d'erreurs.
US8219632B2 (en) * 2009-05-27 2012-07-10 International Business Machines Corporation Efficient use of peer cache space in large scale file distributions
US9949305B2 (en) 2009-10-02 2018-04-17 Blackberry Limited Methods and apparatus for peer-to-peer communications in a wireless local area network
US20110082939A1 (en) * 2009-10-02 2011-04-07 Michael Peter Montemurro Methods and apparatus to proxy discovery and negotiations between network entities to establish peer-to-peer communications
US8838069B2 (en) 2010-12-08 2014-09-16 At&T Intellectual Property I, L.P. Devices, systems, and methods for sharing network services
JP6750646B2 (ja) * 2018-06-07 2020-09-02 トヨタ自動車株式会社 車載装置、情報処理方法、および、情報処理プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020054578A1 (en) * 2000-07-13 2002-05-09 Qian Zhang Channel and quality of service adaptation for multimedia over wireless networks

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020141499A1 (en) * 1999-02-04 2002-10-03 Goertzen Kenbe D. Scalable programmable motion image system
US6347095B1 (en) * 1999-11-15 2002-02-12 Pango Networks, Inc. System, devices and methods for use in proximity-based networking
US6628843B1 (en) * 1999-11-24 2003-09-30 Xerox Corporation Image enhancement on JPEG compressed image data
US20030128987A1 (en) * 2000-11-08 2003-07-10 Yaron Mayer System and method for improving the efficiency of routers on the internet and/or cellular networks an/or other networks and alleviating bottlenecks and overloads on the network
WO2002057917A2 (fr) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Plate-forme de reseau entre homologues
US7154621B2 (en) * 2001-03-20 2006-12-26 Lightsurf Technologies, Inc. Internet delivery of digitized photographs
US6839769B2 (en) * 2001-05-31 2005-01-04 Intel Corporation Limiting request propagation in a distributed file system
US7028074B2 (en) * 2001-07-03 2006-04-11 International Business Machines Corporation Automatically determining the awareness settings among people in distributed working environment
ATE323356T1 (de) * 2002-01-08 2006-04-15 Netzwerkauswahl für eine verbindung
US6853398B2 (en) * 2002-06-21 2005-02-08 Hewlett-Packard Development Company, L.P. Method and system for real-time video communication within a virtual environment
US7133925B2 (en) * 2002-07-15 2006-11-07 Hewlett-Packard Development Company, L.P. System, method, and format thereof for scalable encoded media delivery
US7457946B2 (en) * 2002-10-17 2008-11-25 International Business Machines Corporation Method and program product for privately communicating web requests
US7424514B2 (en) * 2002-11-08 2008-09-09 The Regents Of The University Of Michigan Peer-to-peer method and system for performing and managing backups in a network of nodes
US7953858B2 (en) * 2003-01-17 2011-05-31 Hewlett-Packard Development Company, L.P. Method and apparatus for mapping peers to an overlay network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020054578A1 (en) * 2000-07-13 2002-05-09 Qian Zhang Channel and quality of service adaptation for multimedia over wireless networks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALFANO M: "Design and implementation of a cooperative multimedia environment with QoS control", COMPUTER COMMUNICATIONS, ELSEVIER SCIENCE PUBLISHERS BV, AMSTERDAM, NL, vol. 21, no. 4, 10 April 1998 (1998-04-10), pages 350 - 361, XP004115277, ISSN: 0140-3664 *
FINDELI M: "P2P (Peer-to-Peer Networking)", PEER TO PEER NETWORKING, 1 July 2001 (2001-07-01), XP002241326, Retrieved from the Internet <URL:http://findeli.com/docs/p2p.pdf> *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006030341A1 (fr) 2004-09-17 2006-03-23 Koninklijke Philips Electronics N.V. Serveur de controle de proximite
US8276209B2 (en) 2004-09-17 2012-09-25 Koninklijke Philips Electronics N.V. Proximity check server
WO2007072388A1 (fr) * 2005-12-22 2007-06-28 Koninklijke Philips Electronics N.V. Procede et appareil pour generer une estimation de proximite

Also Published As

Publication number Publication date
US7734751B2 (en) 2010-06-08
US20040184478A1 (en) 2004-09-23
FR2851866B1 (fr) 2005-10-28

Similar Documents

Publication Publication Date Title
FR2851866A1 (fr) Procede d&#39;allocation par un premier pair d&#39;un service a un second pair d&#39;un reseau de communication
EP2177025B1 (fr) Procédé et dispositif de chiffrement partiel d&#39;un contenu numérique
FR2868896A1 (fr) Procede et dispositif de controle d&#39;acces a un document numerique partage dans un reseau de communication de type poste a poste
EP1645100A1 (fr) Methode de creation et d&#39;administration d&#39;un reseau local
FR2886494A1 (fr) Procede et dispositif d&#39;echange de donnees entre des stations mobiles dans un reseau pair a pair
EP2279581A1 (fr) Procede de diffusion securisee de donnees numeriques vers un tiers autorise
FR2855691A1 (fr) Securisation de la distribution de documents numeriques dans un reseau pair a pair
FR2870022A1 (fr) Procede et dispositif de distribution de donnees numeriques notamment pour reseau pair-a-pair
FR2842057A1 (fr) Procede et dispositif de traitement de donnees dans un reseau de communication
FR3100631A1 (fr) Méthode d’authentification sélective d’un utilisateur de chaine de blocs auprès d’un contrat intelligent
EP1637989A1 (fr) Procédé et système de séparation de comptes de données personnelles
EP2360889B1 (fr) Création et utilisation d&#39;un lien de télécommunication entre deux utilisateurs d&#39;un réseau de télécommunication
WO2021043599A1 (fr) Migration d&#39;une chaîne de blocs de données
FR2893470A1 (fr) Procede et dispositif de creation d&#39;une sequence video representative d&#39;une sequence video numerique et procedes et dispositifs de transmission et reception de donnees video associes
EP2979435B1 (fr) Procédé de traitement de donnés d&#39;utilisateur d&#39;un réseau social
EP2990948A1 (fr) Nuage de donnees
EP1513319A2 (fr) Procédé de protection d&#39;un contenu numérique
EP2446360B1 (fr) Technique de determination d&#39;une chaine de fonctions elementaires associee a un service
CA2694335A1 (fr) Gestion et partage de coffres-forts dematerialises
WO2021122186A1 (fr) Procédé et dispositif de contrôle d&#39;accès anonyme à une plateforme collaborative d&#39;anonymisation
FR2854753A1 (fr) Procede de distribution de documents numeriques multi-resolutions
FR2864283A1 (fr) Procede et dispositif de controle d&#39;acces a un document partage dans une reseau de communication poste a poste
WO2009136030A1 (fr) Procede de sauvegarde/restauration de fichiers dans un reseau pair a pair
WO2023217639A1 (fr) Procédé, dispositif et système d&#39;élaboration dynamique d&#39;une infrastructure de données
FR3123480A1 (fr) Procédé de gestion d’un registre local d’un nœud appartenant à un ensemble de nœuds contribuant à un registre distribué

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20141031