Brevet FR2817636A1 — publié le 20020607

La présente invention concerne un procédé d'échange d'informations entre des ordinateurs raccordés à un serveur par l'intermédiaire d'un réseau, soit interne comme un réseau de type Intranet, soit externe comme un réseau de type Internet. Parmi les systèmes traditionnels d'échange d'informations, on connaît des systèmes de collection de vignettes ou d'images dans lesquels chaque collectionneur possède un album dans lequel il classe des vignettes qu'il achète, qu'il gagne, qu'il obtient par une distribution gratuite ou en cadeau lors de l'achat d'un produit particulier, ou qu'il échange avec d'autres collectionneurs contre des vignettes dont lui-même possède plusieurs exemplaires. On aurait pu imaginer un système analogue de collection d'images informatiques dans lequel l'album du collectionneur serait constitué par une zone dédiée de la mémoire de l'ordinateur de celui-ci. L'ordinateur du collectionneur aurait été avantageusement relié à un réseau auquel d'autres collectionneurs seraient raccordés. Les images informatiques seraient alors fournies au collectionneur soit sur un support physique acheté, soit gagnées, soit par l'intermédiaire du réseau lors d'un échange avec un autre collectionneur ou d'un achat auprès d'un fournisseur. Toutefois, un tel système serait pénalisé en raison du volume d'informations transmis entre les collectionneurs qui rendrait nécessaires des liaisons à haut débit au réseau et entraînerait des temps de connexion au réseau relativement importants. En outre, les images stockées sur l'ordinateur de l'utilisateur occuperaient un espace mémoire important obligeant l'utilisateur à employer un ordinateur disposant de fortes capacités mémoire. Il en résulte qu'une telle collection serait coûteuse et que les échanges perdraient le caractère convivial et interactif qui est le leur dans les systèmes de collection classiques. Il serait donc intéressant de disposer d'un moyen pour échanger des informations rapidement permettant de limiter le volume des informations échangées et permettant une interactivité des échanges. A cet effet, on prévoit, selon l'invention, un procédé d'échange d'informations à partir d'ordinateurs d'au moins un premier et un deuxième utilisateurs reliés à un serveur via un réseau, le serveur comportant une base de données contenant des informations déterminées appartenant à au moins deux groupes chacun accessible par un utilisateur et, pour réaliser une transaction consistant en un transfert d'au moins une des informations déterminées du groupe du premier utilisateur vers le groupe du deuxième utilisateur et un transfert d'au moins une autre des informations déterminées du groupe du deuxième utilisateur vers le groupe du premier utilisateur, l'un étant la contrepartie de l'autre, le procédé comprenant les étapes de : - exécuter sur les ordinateurs des utilisateurs un programme de mise en place d'une communication bilatérale entre chaque ordinateur et le serveur, - autoriser au moins le premier utilisateur à partir de son ordinateur à faire sur le serveur une demande de transaction, - afficher sur l'ordinateur du deuxième utilisateur cette demande, - autoriser le deuxième utilisateur à faire, à partir de son ordinateur sur le serveur, une réponse à la demande du premier utilisateur, - afficher la réponse sur l'ordinateur du premier utilisateur, - sur acceptation de la contrepartie par l'utilisateur à qui elle est proposée, mettre à jour les groupes du premier utilisateur et du deuxième utilisateur. Les informations déterminées peuvent être des fichiers informatiques de types image, texte, son... Avec ce procédé, les informations déterminées appartenant à chaque utilisateur sont stockées sur le serveur et non pas sur les ordinateurs de ceux-ci et le transfert des informations déterminées sur lesquelles porte la transaction est réalisé par une simple mise à jour, sur le serveur, des groupes d'informations déterminées des utilisateurs. L'échange d'informations est alors délocalisé sur le serveur. Ainsi, la taille des fichiers informatiques formant les informations échangées peut être importante sans pénaliser la rapidité des transactions. La mise à jour des groupes d'informations déterminées peut par exemple résulter d'un déplacement effectif des informations déterminées d'un groupe à l'autre lorsqu'à chaque groupe correspond dans le serveur un emplacement contenant les informations déterminées du groupe ou bien la mise à jour peut résulter de l'effacement ou de l'ajout dans un emplacement du serveur alloué à chaque utilisateur de codes d'identification des informations prédéterminées sur lesquelles ont porté la transaction. Le volume de données transmis se limite donc principalement aux demandes et aux réponses de transactions qui sont affichées sur les ordinateurs des utilisateurs par le serveur indépendamment d'une action des utilisateurs autres que ceux ayant émis une demande ou une réponse du fait de l'établissement de la liaison bilatérale. Ceci permet une interactivité importante des échanges d'informations et confère un caractère convivial à ceux-ci. En outre, tous les utilisateurs connectés au serveur sont alors informés des transactions, ce qui permet de multiplier les possibilités de transaction tout en provoquant une émulation voire une concurrence entre les utilisateurs pour la réalisation des transactions. Selon une caractéristique particulière, lorsque le nombre de réponses dépasse les capacités d'affichage de l'écran d'ordinateur d'au moins le premier utilisateur, il est formé une file d'attente des réponses à afficher, et de préférence les réponses sont affichées durant un temps déterminé. Ceci permet de dynamiser les échanges d'informations en obligeant les utilisateurs à prendre des décisions rapides concernant en particulier l'acceptation d'une réponse à une demande de transaction. Avantageusement, le procédé comprend l'étape de synchroniser les ordinateurs des utilisateurs et le serveur de telle manière que la demande de transaction et/ou la réponse émise par l'un des utilisateurs puisse être affichée simultanément sur les ordinateurs des autres utilisateurs. Les utilisateurs sont ainsi informés en même temps des transactions. De préférence, le procédé comprend l'étape de vérifier lors de la connexion d'un utilisateur au serveur, que ledit utilisateur n'est pas déjà connecté. On évite ainsi qu'un utilisateur puisse effectuer des transactions fictives. D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description qui suit d'un mode de mise en oeuvre particulier non limitatif de l'invention. Il sera fait référence à la figure unique annexée représentant schématiquement un système pour la mise en oeuvre du procédé conforme à l'invention. L'invention est décrite ici dans une application à un système de collection de vignettes incorporant par exemple des représentations de personnages (comme des sportifs, des acteurs, des personnages historiques, des personnages de bandes dessinées ou de dessins animés...), de véhicules (avions, voitures, motos...) ou autre, et éventuellement des données ou des caractéristiques sur les personnages ou les véhicules représentés. Les vignettes sont ici constituées de fichiers informatiques que chaque collectionneur doit recueillir dans un album également sous forme informatique. Le procédé de l'invention s'applique également à des collections de textes ou de sons et plus généralement à la collection de tous les éléments pouvant être mis sous forme de fichiers informatiques. L'invention est en outre bien entendu applicable à d'autres types d'échanges d'informations effectués par exemple dans le cadre de jeux. En référence à la figure, le procédé conforme à l'invention est destiné à être mis en oeuvre au moyen d'ordinateurs 1, 2,3, 4 reliés de manière connue à un serveur 5 par l'intermédiaire d'un réseau 6 soit interne comme un réseau d'entreprise de type Intranet, soit externe comme le réseau Internet. Les ordinateurs 1,2, 3,4 ont une mémoire comportant un logiciel 12 de navigation sur Internet permettant aux ordinateurs d'échanger des données informatiques entre eux et avec des dispositifs informatiques tels que des serveurs ou des ordinateurs personnels reliés les uns aux autres par l'intermédiaire du réseau. Le serveur 5 comprend un module de commande 7 qui est relié d'une part à une base de données 8 et d'autre part à un module de communication 9 et qui assure la gestion du fonctionnement du serveur 5. On notera que le serveur peut être géré par un administrateur pour son propre compte ou pour le compte de clients qui utilisent la collection comme un support marketing ou publicitaire. La base de données 8 fonctionne ici selon le standard SQL ("Structured Query Language") mais d'autres bases de données peuvent être utilisées et par exemple une base de données du type ORACLE. La base de données 8 comprend une table de vignettes 10 qui comporte, pour chaque vignette, les caractéristiques de la vignette, sa représentation, un code d'identification, sa probabilité de sortie, sa position dans l'album lorsque celui-ci est affiché, une cotation par rapport aux autres vignettes... La base de données 8 comporte également, pour chaque utilisateur, une table d'utilisateur 11 qui comprend un identifiant comme un nom, une adresse e-mail, un code d'identification de l'utilisateur, un code d'identification de l'album de la collection qu'il réalise (le serveur pouvant contenir plusieurs collections), le nombre de vignettes détenues, les codes d'identification des vignettes à faire figurer dans l'album, les codes d'identification des vignettes en double... On comprend ainsi que la table d'utilisateur 11 fait notamment correspondre à chaque utilisateur un groupe de vignettes. La base de données 8 peut comprendre d'autres tables reliées à celles-ci, parmi lesquelles on peut trouver une table album répertoriant différents albums lorsque le serveur abrite plusieurs collections, une table statistique répertoriant les dates et horaires de connexion des utilisateurs, une table de classement des utilisateurs en fonction du nombre de vignettes à faire figurer dans leur album... Ces tables peuvent servir au fonctionnement interne de la base de données ou être directement utilisables par le gestionnaire du serveur ou ses clients par exemple pour établir un profil des utilisateurs, étudier la fréquentation du serveur... Pour mettre en oeuvre le procédé conforme à l'invention, les ordinateurs 1, 2,3, 4 comportent ici en outre un programme de communication 13 qui assure la mise en place d'une communication bilatérale permanente entre l'ordinateur et le serveur. Le programme de communication est ici de type PLUG-IN et comporte une partie de communication de type IRC ("Internet Relay Chat") ou IRCX ("Internet eay Chat Extension") qui est destinée à communiquer avec une partie correspondante du module de communication 9 et qui est associée à une partie formant un interpréteur de type HTML ("HyperText Mark Up Language") destiné à constituer une interface entre la partie de communication proprement dite du programme de communication 13 et le logiciel de navigation 12. Le programme de communication 13 est exécuté à chaque fois que le logiciel de navigation 12 est lui-même exécuté. Il est en outre possible d'utiliser pour le programme de communication un programme chargé et exécuté dans l'ordinateur de l'utilisateur à chaque fois que celui-ci est connecté au serveur. Ce programme est alors par exemple du type applet écrit en langage JAVA. Le module de communication 9 assure ainsi via le réseau 6 d'une part une connexion selon le standard HTTP ("Hyper-Text Transfer Protocol") et d'autre part une connexion selon le standard IRC ou IRCX avec le programme de communication 13 permettant notamment l'échange d'instructions avec celui-ci. Les vignettes peuvent être obtenues de diverses façons par les utilisateurs, dont certaines sont mentionnées à titre d'exemple ci-après. Les vignettes sont fournies à l'utilisateur au moyen d'un support magnétique, optique ou numérique, gagné, ou acheté par l'utilisateur, ou bien encore fourni en cadeau pour l'achat d'un produit par l'utilisateur, le support contenant par exemple un kit de connexion au serveur 5 permettant l'enregistrement de l'utilisateur auprès du serveur 5, la création d'un album sur le serveur 5 et l'attribution de vignettes à l'utilisateur. Ce support comprend également de préférence le programme de communication 13 et permet l'enregistrement de celuici dans la mémoire de l'ordinateur de l'utilisateur. Les vignettes peuvent également être obtenues par exemple en prévoyant des"boutons"disséminés dans des pages web (par exemple celles du site Internet du client), l'utilisateur devant chercher ces boutons et les activer pour commander la connexion de l'utilisateur au serveur et l'attribution de vignettes. Ces boutons sont par exemple associés à des"liens"de type HTML vers le serveur 5. Les utilisateurs peuvent également obtenir des vignettes en effectuant des échanges avec d'autres utilisateurs. Par exemple, l'utilisateur 1 veut échanger la vignette X (par exemple parce qu'il possède déjà un exemplaire de la vignette X). L'utilisateur 1 lance son programme de navigation 12 pour se connecter sur le serveur 5, ce qui provoque également l'exécution du programme de communication 13. A chaque connexion d'un utilisateur au serveur 5, le serveur 5 synchronise l'ordinateur de cet utilisateur avec le serveur. Après avoir fourni son identification et éventuellement un mot de passe ou après avoir été reconnu par le serveur 5, l'utilisateur 1 accède à son album sur le serveur 5. La visualisation par les utilisateurs de leurs vignettes sur leur écran est obtenue en mettant en relation les codes d'identification contenus dans la table d'utilisateur avec ceux contenus dans la table de vignettes qui sont associés aux représentations de celles-ci. En option on peut prévoir que le programme de communication 13 envoie une instruction de contrôle au serveur 5 pour vérifier que l'utilisateur 1 n'est pas déjà connecté au serveur 5 (par exemple par l'intermédiaire d'un autre ordinateur ou d'une autre fenêtre de son logiciel de navigation). En variante également, il peut être prévu que la table d'utilisateur 11 comprenne une liste d'identification d'autres utilisateurs dont l'utilisateur en question souhaite être informé de la connexion au serveur 5. Ces informations transitent par le programme de communication 13. L'utilisateur 1 demande ensuite à accéder à un espace d'échange ayant ici la forme d'une page web affichée sur l'écran de l'ordinateur 1 et indiquant quelles vignettes l'utilisateur 1 peut échanger, le nombre d'utilisateurs connectés actuellement au serveur et quelles sont actuellement les vignettes sur lesquelles des demandes de transactions ont été émises par les autres utilisateurs. L'utilisateur 1 qui possède un exemplaire de la vignette X disponible à l'échange est autorisé dans le serveur 5 (à partir de la page d'échange affichée sur son ordinateur) à proposer l'échange de sa vignette X. Cette demande est alors prise en compte dans une page d'échange réactualisée qui est affichée sur les écrans des ordinateurs 1,2, 3,4. Du fait de la synchronisation des ordinateurs des utilisateurs avec le serveur 5 et de la liaison établie par le programme de communication 13 entre chaque ordinateur et le serveur 5, la demande de transaction de l'utilisateur 1 est affichée simultanément sur tous les ordinateurs des utilisateurs sans qu'il soit nécessaire que ceux-ci demandent l'affichage de cette transaction. L'utilisateur 2 à qui il manque la vignette X indique alors au serveur 5 dans la page d'échange qu'il souhaite acquérir la vignette X. Du fait de la synchronisation, cette offre est affichée simultanément sur tous les ordinateurs des utilisateurs. L'utilisateur 3 fait de même et son offre est également prise en compte dans une page d'échange réactualisée affichée simultanément chez tous les utilisateurs. Le serveur 5 commande alors l'affichage sur les ordinateurs 1,2 et 3 d'une page de transaction. Pour l'utilisateur 1, la page de transaction présente les réponses des utilisateurs 2 et 3 sous forme d'une liste, une durée d'affichage restante étant indiquée en regard de chaque offre. En effet, afin de dynamiser les échanges, on prévoit ici une durée maximale d'affichage des offres, l'offre disparaissant si elle n'est pas sélectionnée dans cette durée. En outre, si le nombre d'offres dépasse les capacités d'affichage de l'écran des ordinateurs, le serveur 5 établit une liste d'attente contenant les dernières offres émises qui seront affichées sur les écrans au fur et à mesure que les offres dont l'affichage cesse (une fois la durée d'affichage écoulée) seront effacées. Pour les utilisateurs 2 et 3, la page de transaction présente la même liste de réponses, ainsi qu'une liste présentant, pour chacun d'eux les vignettes qu'ils peuvent échanger. Pour formuler une réponse à l'offre de l'utilisateur 1, ils sélectionnent dans cette dernière liste, une ou plusieurs vignettes qu'ils souhaitent proposer à l'échange. Cette réponse s'affiche au même instant dans la liste des réponses représentée dans la page de transaction des utilisateurs 1,2 et 3, ou est placée dans la liste d'attente. Ici, l'utilisateur 2 propose la vignette Y et l'utilisateur 3 propose la vignette Z. L'utilisateur 1 que l'acquisition de la vignette Y intéresse, indique au serveur 5 qu'il accepte la proposition de transaction de l'utilisateur 2 qui prévoit l'échange de la vignette X contre la vignette Y. Le code d'identification de la vignette X est alors effacé de la table d'utilisateur de l'utilisateur 1 et le code d'identification de la vignette Y est ajouté dans la table d'utilisateur de l'utilisateur 1 tandis que le code d'identification de la vignette X est ajouté dans la table d'utilisateur de l'utilisateur 2 et le code d'identification de la vignette Y est effacé de la table d'utilisateur de l'utilisateur 2. Il est procédé de manière similaire pour toute transaction consistant en un transfert d'au moins une des informations déterminées du groupe d'un utilisateur vers le groupe d'un autre utilisateur et en un transfert d'au moins une autre des informations déterminées du groupe de cet autre utilisateur vers le groupe de l'utilisateur premier cité, l'un des transferts étant la contrepartie de l'autre, que cette contrepartie soit fixée par l'utilisateur effectuant la demande de transaction ou par celui répondant à celle-ci et que la demande de transaction consiste en une acquisition ou une cession d'informations. On remarquera que l'utilisation de codes d'identification des vignettes permet notamment, d'une part, de s'affranchir de l'enregistrement des vignettes en elles-mêmes dans les tables d'utilisateurs, ce qui permet de limiter l'espace mémoire nécessaire au niveau du serveur et, d'autre part, de limiter le volume des informations échangées à celui de ces codes d'identification, ce qui permet la réalisation rapide des transactions. Bien entendu, l'invention n'est pas limitée au mode de réalisation décrit et on peut y apporter des variantes de réalisation sans sortir du cadre de l'invention tel que défini par les revendications. En particulier, la base de données du serveur peut être structurée différemment. La base de données peut ainsi par exemple comporter une table commune à tous les utilisateurs qui fait correspondre à chaque utilisateur les codes d'identification des vignettes faisant partie du groupe de celui-ci, ou allouer à chaque utilisateur un emplacement contenant les vignettes ou les codes d'identifications de celles-ci appartenant au groupe de l'utilisateur concerné... REVENDICATIONS 1. Procédé d'échange d'informations à partir d'ordinateurs (1,2, 3,4) d'au moins un premier et un deuxième utilisateurs reliés à un serveur (5) via un réseau (6), le serveur comportant une base de données (8) contenant des informations déterminées appartenant à au moins deux groupes chacun accessible par un utilisateur et, pour réaliser une transaction consistant en un transfert d'au moins une des informations déterminées du groupe du premier utilisateur vers le groupe du deuxième utilisateur et un transfert d'au moins une autre des informations déterminées du groupe du deuxième utilisateur vers le groupe du premier utilisateur, l'un étant la contrepartie de l'autre, le procédé comprenant les étapes de : - exécuter sur les ordinateurs des utilisateurs un programme de mise en place d'une communication bilatérale entre chaque ordinateur et le serveur, - autoriser au moins le premier utilisateur à partir de son ordinateur à faire sur le serveur une demande de transaction, - afficher sur l'ordinateur du deuxième utilisateur cette demande, - autoriser le deuxième utilisateur à faire, à partir de son ordinateur sur le serveur, une réponse à la demande du premier utilisateur, - afficher la réponse sur l'ordinateur du premier utilisateur, - sur acceptation de la contrepartie par l'utilisateur à qui elle est proposée, mettre à jour les groupes du premier utilisateur et du deuxième utilisateur. 2. Procédé selon la revendication 1, caractérisé en ce que lorsque le nombre de réponses dépasse les capacités d'affichage de l'écran d'ordinateur (1, 2, 3, 4) d'au moins le premier utilisateur, le serveur (5) forme une file d'attente des réponses à afficher. 3. Procédé selon la revendication 2, caractérisé en ce que les réponses sont affichées durant un temps déterminé. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comprend l'étape de synchroniser les ordinateurs (1,2, 3,4) des utilisateurs et le serveur (5) de telle manière que la demande de transaction et/ou la réponse émise par l'un des utilisateurs puisse être affichée simultanément sur les ordinateurs des autres utilisateurs. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend l'étape de vérifier lors de la connexion d'un utilisateur au serveur (5), que ledit utilisateur n'est pas déjà connecté. 6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend une étape d'autoriser au moins un des utilisateurs à désigner sur le serveur au moins un autre des utilisateurs pour être informé de la connexion de ce dernier au serveur (5). 7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la base de données (8) comprend une table d'informations (10) faisant correspondre un code d'identification à chaque information déterminée et au moins une table d'utilisateur (11) pour faire correspondre à chaque utilisateur les codes d'identification des informations déterminées appartenant au groupe de l'utilisateur en question. 8. Procédé selon la revendication 7, caractérisé en ce que la mise à jour des groupes d'informations déterminées est réalisé en effaçant ou en ajoutant dans la table (11) des utilisateurs impliqués dans la transaction les codes d'identification des informations prédéterminées sur lesquelles ont porté la transaction. 9. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que la mise à jour des groupes d'informations déterminées est réalisée en déplaçant d'un groupe à l'autre les informations déterminées concernées par la transaction.