FR2990036A1 - Systeme et procede pour gerer des donnees d'utilisateur dans une pluralite d'appareils de memorisation sur un reseau etendu pour la collaboration, la protection, la publication ou le partage, ainsi que la memorisation socialement organisee et l'acces partage a des appareils de memorisation - Google Patents

Systeme et procede pour gerer des donnees d'utilisateur dans une pluralite d'appareils de memorisation sur un reseau etendu pour la collaboration, la protection, la publication ou le partage, ainsi que la memorisation socialement organisee et l'acces partage a des appareils de memorisation Download PDF

Info

Publication number
FR2990036A1
FR2990036A1 FR1353867A FR1353867A FR2990036A1 FR 2990036 A1 FR2990036 A1 FR 2990036A1 FR 1353867 A FR1353867 A FR 1353867A FR 1353867 A FR1353867 A FR 1353867A FR 2990036 A1 FR2990036 A1 FR 2990036A1
Authority
FR
France
Prior art keywords
user
storage device
container
storage
data
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
FR1353867A
Other languages
English (en)
Other versions
FR2990036B1 (fr
Inventor
Geoffrey S Barrall
John B Turner
David Gary Mendelson
Brad Lee Morse
Joel Feaster
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.)
Nexsan Corp
Original Assignee
Connected Data 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
Priority claimed from US13/688,995 external-priority patent/US20140145571A1/en
Priority claimed from US13/804,436 external-priority patent/US9396156B2/en
Priority claimed from US13/804,019 external-priority patent/US9218406B2/en
Application filed by Connected Data Inc filed Critical Connected Data Inc
Publication of FR2990036A1 publication Critical patent/FR2990036A1/fr
Priority to FR1750012A priority Critical patent/FR3046478A1/fr
Application granted granted Critical
Publication of FR2990036B1 publication Critical patent/FR2990036B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Dans différents modes de réalisation, la présente invention concerne un procédé de fonctionnement d'un serveur pour gérer des données d'utilisateur dans une pluralité d'appareils de mémorisation. Le procédé comprend l'établissement, dans un système de base de données, par l'intermédiaire du serveur, d'une information pour chaque utilisateur enregistré ; l'établissement et la mémorisation dans le système de base de données d'un jeu de relations, basées sur des désignations par les utilisateurs, entre des appareils de mémorisation enregistrés et des désignations de conteneurs ; et l'utilisation d'un service central exécuté sur le serveur pour délivrer des données de relations appareil de mémorisation-conteneur aux appareils de mémorisation, de façon à permettre aux appareils de corroborer les conteneurs à l'intérieur de ceux-ci , et de répliquer des données d'utilisateur avec d'autres appareils de mémorisation qui ont corroboré des conteneurs correspondants, d'une manière conforme aux relations mémorisées, et le service central fonctionnant sans interaction avec les données d'utilisateur mémorisées dans les conteneurs.

Description

Référence croisée à la ou aux demande(s) associée(s) Cette demande de brevet revendique le bénéfice de la demande de brevet provisoire des Etats-Unis N° 61/638,866, déposée le 26 avril 2012; de la demande de brevet provisoire des Etats-Unis N° 61/731,517, déposée le 30 novembre 2012; de la demande de brevet provisoire des Etats-Unis N° 61/731,518, déposée le 30 novembre 2012 ; de la demande de brevet des Etats-Unis N° 13/688,995, déposée le 29 novembre 2012; de la demande de brevet des Etats-Unis N° 13/804,019, déposée le 14 mars 2013; et de la demande de brevet des Etats-Unis N° 13/804,436, déposée le 14 mars 2013.
Domaine technique La présente invention concerne des systèmes et des procédés pour gérer des données d'utilisateur dans une pluralité d'appareils de mémorisation couplés à un réseau étendu, et, plus particulièrement, de tels systèmes et de tels procédés qui permettent à des utilisateurs d'accéder à des conteneurs virtuels situés sur des appareils de mémorisation qui sont possédés par d'autres utilisateurs. Arrière-plan de la technique On sait dans la technique existante gérer des données d'utilisateur dans des appareils de mémorisation. Résumé des modes de réalisation Dans un premier mode de réalisation de l'invention, il est proposé un procédé pour faire fonctionner un serveur, couplé à un système de base de données et à un réseau étendu, afin de gérer des données d'utilisateur dans une pluralité d'appareils de mémorisation couplés à un réseau étendu. Le procédé comprend l'établissement dans le système de base de données, par l'intermédiaire du serveur, d'une information pour chaque utilisateur enregistré, comprenant un compte d'utilisateur, un jeu d'appareils de mémorisation enregistrés, et un jeu de désignations de conteneurs pour la mémorisation des données d'utilisateurs ; l'établissement et la mémorisation dans le système de base de données d'un jeu de relations, basées sur des désignations par les utilisateurs, entre les appareils de mémorisation enregistrés et les désignations de conteneurs ; et l'utilisation d'un service central exécuté sur le serveur, couplé au système de base de données, pour délivrer des données de relations appareil de mémorisation-conteneur aux appareils de mémorisation de façon à permettre aux appareils de corroborer les conteneurs à l'intérieur de ceux-ci, et de répliquer des données d'utilisateur avec d'autres appareils de mémorisation qui ont corroboré des conteneurs correspondants, d'une manière correspondant aux relations mémorisées, et le service central fonctionnant sans interaction avec des données d'utilisateur mémorisées dans les conteneurs. De façon optionnelle, chacun des appareils de mémorisation est configuré de façon à corroborer les conteneurs à l'intérieur de celui-ci et à répliquer des données d'utilisateur sans entrée par l'intermédiaire d'une interface d'utilisateur locale. Egalement, de façon optionnelle, (i) des données de compte d'utilisateur dans le système de base de données pour un utilisateur donné peuvent être configurées par l'utilisateur donné et (ii) les données de compte d'utilisateur pour l'utilisateur donné spécifient un jeu de conteneurs dans le jeu d'appareils de mémorisation de l'utilisateur donné par lequel le serveur dirigera le partage des données d'utilisateur de l'utilisateur donné avec un jeu d'appareils de mémorisation d'un autre utilisateur qui a consenti à partager ces données d'utilisateur. Dans un autre mode de réalisation associé, les données de compte d'utilisateur pour l'utilisateur donné spécifient un niveau de partage de ces données d'utilisateur avec l'autre utilisateur. De façon optionnelle, le niveau de partage est sélectionné par l'utilisateur donné parmi une pluralité de niveaux. De façon optionnelle, la pluralité de niveaux comprennent au moins deux parmi (a) lecture seule, (b) lecture et écriture, ou (c) invisible. Dans un autre mode de réalisation associé, le procédé comprend la réception dans le serveur sur le réseau étendu, à partir de l'utilisateur donné, d'une instruction pour délivrer un message d'invitation à l'autre utilisateur pour ajouter un conteneur sélectionné de l'utilisateur donné au jeu de désignations de conteneurs de l'autre utilisateur, et, en réponse à celui-ci, la délivrance du message d'invitation sur le réseau étendu à un ordinateur de l'autre utilisateur ; lors de la réception dans le serveur, sur le réseau étendu, d'un message d'acceptation à partir de l'autre utilisateur de l'invitation dans le message d'invitation, l'addition du conteneur sélectionné au jeu de désignations de conteneurs de l'autre utilisateur ; la réception dans le serveur, sur le réseau étendu, à partir de l'autre utilisateur, de données définissant une relation entre le conteneur sélectionné et au moins un appareil de mémorisation de l'autre utilisateur ; et l'utilisation du service central pour remettre à jour des données de relations appareil de mémorisation-conteneur dans l'appareil de mémorisation au nombre d'au moins un de l'autre utilisateur. Le procédé comprend de plus, de façon optionnelle, l'utilisation du service central pour remettre à jour des données de relations appareil de mémorisation-conteneur sur au moins certains des appareils de mémorisation, en plus de l'appareil de mémorisation au nombre d'au moins un de l'autre utilisateur, dans lesquels le conteneur sélectionné a été corroboré. D'une autre façon, ou de plus, le conteneur sélectionné a été désigné par l'utilisateur donné au service central comme conteneur de sauvegarde pour sauvegarder des données d'utilisateur de l'utilisateur donné, et le procédé comprend de plus l'utilisation du service central pour remettre à jour les données de relations appareil de mémorisation-conteneur d'un appareil de mémorisation de l'utilisateur donné et pour faire crypter par l'appareil de mémorisation de l'utilisateur donné, au cours de la transmission, toutes données d'utilisateur dans le conteneur de sauvegarde qui sont répliquées dans le conteneur de sauvegarde corroboré dans l'appareil de mémorisation au nombre d'au moins un de l'autre utilisateur ; et l'utilisation du service central pour faire rendre invisible par le dispositif de mémorisation au nombre d'au moins un de l'autre utilisateur le conteneur de sauvegarde corroboré sur celui-ci. Dans un deuxième mode de réalisation de l'invention, il est proposé un procédé de fonctionnement d'une pluralité de serveurs, chaque serveur étant couplé à un système de base de données correspondant et à un réseau étendu et comportant un service central couplé à son système de base de données correspondant, afin de gérer des données d'utilisateur dans une pluralité d'appareils de mémorisation couplées à un réseau étendu. Le procédé comprend (1) le fonctionnement des serveurs de façon à établir, par l'intermédiaire d'un serveur donné des serveurs, pour un utilisateur enregistré donné, un compte d'utilisateur, un jeu d'appareils de mémorisation enregistrés, et un jeu de désignations de conteneurs pour la mémorisation de données d'utilisateur ; la mémorisation, dans le système de base de données associé au serveur donné des serveurs, d'un jeu de relations, établies par l'utilisateur, entre les appareils de mémorisation enregistrés et le jeu de désignations de conteneurs ; la synchronisation des données dans les systèmes de base de données de telle sorte que chaque système de base de données réplique des données dans chacun des autres systèmes de base de données ; et la répétition des processus ci-dessus pour tous les utilisateurs enregistrés, de telle sorte que chacun des systèmes de base de données mémorise un jeu de relations, établies collectivement par tous les utilisateurs, entre les appareils de mémorisation enregistrés et les désignations de conteneurs ; et (2) l'utilisation du service central pour remettre à jour les données de relations appareil de mémorisation-conteneur pour les appareils de mémorisation de façon à permettre aux appareils de mémorisation de corroborer les conteneurs à l'intérieur de ceux-ci, et de répliquer des fichiers avec d'autres dispositifs qui ont corroboré des conteneurs correspondants, d'une façon correspondant aux relations mémorisées, et les services centraux fonctionnant sans interaction avec les données d'utilisateur mémorisées dans les conteneurs. Dans un troisième mode de réalisation de l'invention, il est procuré un appareil de mémorisation comprenant un dispositif de mémorisation ; une interface de réseau étendu ; un dispositif de commande de mémorisation, couplé à l'interface de réseau étendu, qui reçoit, sur le réseau étendu, des données de relations appareil de mémorisation-conteneur à partir d'un serveur, et qui provoque le partage, avec un jeu d'autres appareils de mémorisation similaires, de données d'utilisateur dans le dispositif de mémorisation d'une façon correspondant aux données de relations, et ces données de relations spécifiant un jeu de conteneurs devant être partagés avec le jeu d'autres appareils de mémorisation ; l'appareil de mémorisation ne nécessitant pas d'interface d'utilisateur locale pour obtenir les données de relations appareil de mémorisation-conteneur. Dans un autre mode de réalisation associé, l'interface de réseau étendu comprend une logique de gestion de largeur de bande pour limiter un trafic de réseau total généré ou reçu par l'appareil de mémorisation, de façon à éviter un chargement indésirable de l'interface de réseau. De façon optionnelle, le dispositif de commande de mémorisation est configuré de façon à procurer une interface d'utilisateur graphique à un ordinateur client par l'intermédiaire du réseau étendu, l'interface d'utilisateur graphique permettant la configuration d'une largeur de bande maximale pour la logique de gestion de largeur de bande.
Dans un quatrième mode de réalisation de l'invention, il est proposé un procédé de transmission de données à un appareil de mémorisation sur un réseau étendu. Le procédé comprend, lors de la réception dans un serveur d'un élément identifiant un utilisateur récepteur, la délivrance, par l'intermédiaire du serveur, à un ordinateur hôte d'un envoyeur, d'un programme informatique qui procure un mécanisme pour la sélection, par l'envoyeur, d'un fichier devant être envoyé, et, sur l'ordre de l'envoyeur, le fait de provoquer la transmission directe sur le réseau étendu directement à un appareil de mémorisation de l'utilisateur récepteur qui est couplé au réseau étendu, l'appareil de mémorisation exécutant un processus qui communique avec des processus établis par le programme informatique.
Dans un cinquième mode de réalisation de l'invention, il est proposé un procédé de transmission de données sur un réseau étendu à partir d'un appareil de mémorisation d'un utilisateur envoyeur. Le procédé comprend, lors de la réception dans un serveur d'une URL (adresse universelle) établie par l'utilisateur envoyeur par la commande d'un programme d'envoi exécuté sur un ordinateur hôte de l'utilisateur envoyeur, l'envoi d'un fichier sélectionné par l'utilisateur envoyeur à un destinataire, délivrant par l'intermédiaire du serveur à un ordinateur hôte du destinataire un programme informatique de réception qui peut être téléchargé par l'intermédiaire de l'URL, qui communique avec l'appareil de mémorisation de l'utilisateur envoyeur en provoquant la transmission directe du fichier de l'appareil de mémorisation de l'utilisateur envoyeur à l'ordinateur hôte du destinataire. Dans un sixième mode de réalisation de l'invention, il est procuré un client de mémorisation comprenant un processeur ; une application de mémorisation qui est exécutée sur le processeur ; une mémoire locale en communication avec l'application de mémorisation ; et une interface d'appareil de mémorisation en communication avec l'application de mémorisation, l'application de mémorisation étant configurée de façon à procurer une interface d'utilisateur permettant à un utilisateur de sélectionner, pour chacun d'un certain nombre de conteneurs mémorisés sur l'appareil de mémorisation, accédé à distance par l'application de mémorisation que le conteneur le soit par l'intermédiaire de l'interface de l'appareil de mémorisation, ou qu'il soit mis en cache localement par l'appareil de mémorisation. Dans un autre mode de réalisation associé, l'interface d'utilisateur permet à l'utilisateur de basculer de façon dynamique entre un accès à distance et une mise en cache locale pour chaque conteneur. D'une autre façon, ou de plus, l'application de mémorisation est configurée de façon à copier le contenu d'un conteneur à partir de l'appareil de mémorisation dans la mémoire locale, puis à synchroniser ensuite tous changements apportés aux conteneurs, lorsqu'une mise en cache locale est sélectionnée pour le conteneur. Egalement, d'une autre façon ou de plus, l'application de mémorisation est configurée de façon à accéder à distance au contenu d'un conteneur en réponse à des accès au conteneur, lorsque l'accès à distance est sélectionné pour le conteneur. Dans un septième mode de réalisation de l'invention, il est proposé un procédé pour synchroniser le contenu d'un conteneur de mémorisation sur une pluralité d'appareils de mémorisation. Le procédé comprend la transmission, par un premier appareil de mémorisation à un deuxième appareil de mémorisation, d'une information d'historique de changements pour un conteneur partagé ; le traitement de l'information d'historique de changements par le deuxième appareil de mémorisation afin de résoudre tous conflits avec une quelconque autre information d'historique de changements associée au conteneur ; la transmission, par le deuxième appareil de mémorisation au premier appareil de mémorisation, d'une demande pour que le premier appareil de mémorisation envoie tous fichiers modifiés pour le conteneur au deuxième appareil de mémorisation ; lors de la réception d'un fichier modifié pour le conteneur à partir du premier appareil de mémorisation, la remise à jour du contenu du conteneur par le deuxième appareil de mémorisation en fonction du fichier modifié reçu à partir du premier appareil de mémorisation ; la remise à jour, par le deuxième appareil de mémorisation, d'un historique de changements associé au conteneur afin de refléter le contenu remis à jour du conteneur ; et la répétition des étapes de transmission, de traitement, de transmission et de remise à jour jusqu'à ce que les premier et deuxième appareils de mémorisation comportent les mêmes données de fichier dans leurs copies respectives du conteneur. Dans un huitième mode de réalisation de l'invention, il est procuré un système de mémorisation comme décrit ici, dans lequel un conteneur dans un premier appareil de mémorisation associé à un premier utilisateur est partagé avec un deuxième appareil de mémorisation associé à un deuxième utilisateur de telle sorte que le deuxième utilisateur ne puisse par accéder au conteneur ou à son contenu, par exemple par le fait de cacher et/ou de crypter le conteneur et son contenu.
Dans un autre mode de réalisation, il est procuré un produit de programme informatique pour propager, sur un réseau étendu, un changement à des données dans un appareil de mémorisation local, à un appareil de mémorisation distant. Le produit de programme informatique comprend un support lisible par un ordinateur non transitoire comportant un code de programme lisible par un ordinateur mémorisé sur celui-ci. Lorsque que le code de programme lisible par un ordinateur est exécuté par un processeur dans l'appareil local, le code est configuré de façon à provoquer l'exécution par l'appareil de mémorisation local de processus informatiques comprenant la réception d'un changement à des données dans un conteneur virtuel associé à l'appareil de mémorisation local, le conteneur virtuel étant relié à un conteneur virtuel correspondant associé à l'appareil distant ; l'envoi d'une demande, sur un réseau étendu, à un serveur central pour une information concernant l'appareil de mémorisation distant relié au conteneur virtuel ; la réception, sur le réseau étendu, à partir du serveur central, d'une information d'identification pour l'appareil de mémorisation distant relié au conteneur virtuel ; et la transmission, sur le réseau étendu, à l'appareil de mémorisation distant, d'une remise à jour de données correspondant au changement. Dans un autre mode de réalisation associé, l'envoi de la demande comprend l'envoi d'un identifiant pour le conteneur virtuel. D'une autre façon, ou de plus, l'envoi de la demande comprend l'envoi d'une demande GetReplicationTargetsForContainer (Obtention de Cibles de Réplication pour le Conteneur). Egalement, d'une autre façon ou de plus, la réception de l'information d'identification comprend la réception d'une information d'identification pour l'appareil de mémorisation distant, l'appareil de mémorisation distant étant un élément d'un groupe de réplication/synchronisation associé au conteneur virtuel. Egalement, d'une autre façon ou de plus, la 30 transmission à l'appareil de mémorisation distant comprend l'établissement d'une connexion de pair à pair avec l'appareil de mémorisation distant. D'une autre façon, ou de plus, la transmission à l'appareil de mémorisation distant comprend l'établissement d'une connexion sécurisée sur le réseau étendu avec l'appareil de mémorisation distant. D'une autre façon, ou de plus, la transmission à l'appareil de 35 mémorisation distant comprend la transmission d'une information d'historique de changements de conteneurs remise à jour. D'une autre façon, ou de plus, la transmission à l'appareil de mémorisation distant comprend la transmission d'une information d'historique de versions de fichiers remise à jour. D'une autre façon, ou de plus, la transmission à l'appareil de mémorisation distant comprend la transmission de données de fichiers remises à jour. D'une autre façon, ou de plus, la transmission à l'appareil de mémorisation distant comprend la transmission de métadonnées remises à jour associées à des fichiers dans le conteneur virtuel, les métadonnées étant associées à l'organisation des fichiers. De façon optionnelle, les processus informatiques comprennent de plus l'envoi au serveur central, sur le réseau étendu, d'un message de remise à jour d'état concernant le changement. Dans un autre mode de réalisation, il est proposé un procédé pour permettre à un nouvel utilisateur l'accès à un appareil de mémorisation donné couplé à un réseau d'ordinateurs. Le procédé comprend la gestion, dans un serveur, d'un système de base de données comportant des données de compte d'utilisateur gouvernant l'accès à des appareils de mémorisation qui sont enregistrés dans le système de base de données, où (i) chaque appareil de mémorisation est associé dans le système de base de données à au moins un propriétaire, (ii) l'appareil de mémorisation donné est l'un des appareils de mémorisation enregistrés et possède un propriétaire enregistré, et (iii) les appareils de mémorisation sont configurés de façon à partager des données les uns avec les autres sur une base de pair à pair en fonction de permissions qui sont mémorisées dans le système de base de données, recevant, dans le serveur, à partir d'un dispositif informatique du nouvel utilisateur, une demande pour une liste de conteneurs virtuels et d'appareils de mémorisation auxquels le nouvel utilisateur a la permission d'accéder ; la détermination, par le serveur, du fait qu'un propriétaire enregistré de l'appareil de mémorisation donné, a configuré un conteneur virtuel sur l'appareil de mémorisation donné devant être partagé avec le nouvel utilisateur. ; et l'envoi, par le serveur, d'un identifiant de l'appareil de mémorisation donné au dispositif informatique du nouvel utilisateur, de telle sorte que le dispositif informatique puisse accéder à des données sur l'appareil de mémorisation donné sur une base de pair à pair en fonction d'une permission mémorisée dans le système de base de données. Dans un autre mode de réalisation associé, la gestion du système de base de données comprend la réception, par le serveur, d'une indication d'une attribution d'accès au nouvel utilisateur pour le conteneur virtuel sur l'appareil de mémorisation donné, l'indication étant reçue à partir du propriétaire enregistré de l'appareil de mémorisation donné ; et la mémorisation, par le serveur, d'une information concernant l'attribution d'accès au nouvel utilisateur. De façon optionnelle, la réception de l'attribution d'accès comprend la réception, par le serveur, d'une indication d'une attribution d'un accès de lecture, d'une attribution d'un accès de lecture et d'écriture, ou d'une attribution d'un accès d'écriture. Dans un autre mode de réalisation associé, la gestion du système de base de données comprend la réception, par le serveur, d'une indication d'une attribution d'accès à un groupe d'utilisateurs, le nouvel utilisateur étant un membre du groupe ; et la mémorisation, par le serveur, d'une information concernant l'attribution d'accès à chaque membre du groupe. D'une autre façon, ou de plus, la réception de la demande de la liste de conteneurs virtuels et d'appareils de mémorisation comprend la réception de la demande à partir d'une application cliente exécutée sur le dispositif informatique. D'une autre façon, ou de plus, la détermination du fait que l'utilisateur enregistré a configuré le conteneur virtuel sur l'appareil de mémorisation donné devant être partagé comprend la récupération, par le serveur, de l'identifiant de 10 l'appareil de mémorisation donné à partir d'une liste d'appareils de mémorisation auxquels le nouvel utilisateur a la permission d'accéder. De façon optionnelle, la détermination du fait que le propriétaire enregistré a configuré le conteneur virtuel sur l'appareil de mémorisation donné devant être partagé comprend l'affichage, par le serveur, d'une information concernant les emplacements relatifs de l'appareil de 15 mémorisation donné et du dispositif informatique du nouvel utilisateur. De façon optionnelle, l'affichage de l'information concernant les emplacements relatifs comprend l'affichage, par le serveur, d'une indication du fait que l'appareil de mémorisation donné et le dispositif informatique du nouvel utilisateur sont situés sur le même réseau local. D'une autre façon, ou de plus, l'affichage de l'information 20 concernant les emplacements relatifs comprend l'affichage, par le serveur, d'une indication du fait que l'appareil de mémorisation donné et le dispositif informatique du nouvel utilisateur peuvent communiquer sur un réseau étendu. Brève description des dessins Les éléments et caractéristiques de modes de réalisation qui précèdent seront 25 plus facilement compris en se référant à la description détaillée qui suit, prise en référence aux dessins joints, dans lesquels : la figure 1 est une représentation générale schématique d'un système qui comprend un système de mémorisation de données distribuée avec une gestion basée sur l'Internet centralisée et une réplication/synchronisation de données de pair 30 à pair, selon un mode de réalisation de la présente invention ; la figure 2 représente de façon schématique et graphique l'information de relations qui est conservée et gérée par le service central, selon un exemple de mode de réalisation de la présente invention, comme détaillé dans le Tableau 1 ; la figure 3 est une représentation schématique montrant des exemples de flux 35 de communication permettant à un utilisateur non enregistré d'envoyer des données à un utilisateur enregistré avec une gestion de relations par le service central et un transfert de données direct à l'appareil de mémorisation de l'utilisateur enregistré, selon un exemple de mode de réalisation de la présente invention ; la figure 4 est une représentation schématique montrant des exemples de flux de communication permettant à un utilisateur enregistré d'envoyer des données à un utilisateur non enregistré avec une gestion de relations par le service central et un transfert de données direct à partir de l'appareil de mémorisation de l'utilisateur 5 enregistré, selon un exemple de mode de réalisation de la présente invention ; la figure 5 est une représentation schématique illustrant de plus un procédé selon un mode de réalisation de la présente invention, selon lequel un utilisateur enregistré ayant un appareil de mémorisation (appelé dans celle-ci "dispositif de portail") peut envoyer un fichier à un utilisateur non enregistré ; lo la figure 6 est une représentation schématique illustrant de plus un procédé selon un mode de réalisation de la présente invention pour envoyer un fichier à un utilisateur enregistré qui a un appareil de mémorisation (appelé dans celle-ci "dispositif de portail") ; la figure 7 est une représentation schématique illustrant le schéma de la base 15 de données utilisée par le service central pour gérer des appareils de mémorisation selon un mode de réalisation de la présente invention ; la figure 8 est une représentation schématique illustrant des processus logiques mis en jeu dans la réalisation d'un enregistrement d'un appareil de mémorisation (appelé dans celle-ci "dispositif") auprès du service central selon un mode de 20 réalisation de la présente invention ; la figure 9 est une représentation schématique illustrant des processus logiques (appelés dans celle-ci "battement cardiaque") mis en jeu dans une communication bidirectionnelle entre le service central et un appareil de mémorisation (appelé dans celle-ci "dispositif") pour une notification réciproque d'une disponibilité en ligne de 25 chacun pour exécuter des instructions ordonnées par l'autre, selon un mode de réalisation de la présente invention ; la figure 10 est une représentation schématique illustrant des processus logiques dans un processus "d'obtention de conteneurs" par lequel le service central remet à jour un appareil de mémorisation (appelé dans celle-ci "dispositif") vis-à-vis 30 de conteneurs attribués à l'appareil de mémorisation selon un mode de réalisation de la présente invention ; la figure 11 est une représentation schématique illustrant des processus logiques dans un processus "d'obtention de dispositifs cibles de réplication pour un conteneur" par lequel le service central remet à jour un appareil de mémorisation 35 (appelé dans celle-ci "dispositif") vis-à-vis d'autres appareils de mémorisation contenant actuellement le même conteneur logique selon un mode de réalisation de la présente invention ; la figure 12 est une représentation schématique illustrant des processus logiques dans une communication de pair à pair entre un premier appareil de mémorisation (identifié dans celle-ci par "SA1") et un deuxième appareil de mémorisation (identifié dans celle-ci par "SA2") ; la figure 13 est un schéma général de processus dans un procédé de gestion d'un système de fichiers distribués selon un mode de réalisation de la présente invention ; la figure 14 est un schéma général de processus mis en jeu dans une gestion de relations selon un autre mode de réalisation de la présente invention ; la figure 15 est une représentation générale schématique montrant l'architecture 10 d'appareil de mémorisation du point de vue de processus logiques ou réels mis en oeuvre dans l'appareil de mémorisation, selon un exemple de mode de réalisation ; la figure 16 est une représentation schématique illustrant des processus logiques dans une communication de pair à pair entre un premier appareil de mémorisation ou client de mémorisation et un deuxième appareil de mémorisation, 15 similaires aux processus représentés et décrits en se référant à la figure 12; la figure 17 montre un écran d'interface d'utilisateur principale à partir duquel un utilisateur peut se connecter à un compte existant ou créer un nouveau compte ; la figure 18 montre un écran d'interface d'utilisateur pour la création d'un nouveau compte par un utilisateur ; 20 la figure 19 montre un écran d'interface d'utilisateur montrant tous les dossiers connectés du compte d'un utilisateur, tels qu'ils pourraient être affichés lorsque l'utilisateur sélectionne l'icône "Dossiers Connectés" ; la figure 20 montre un écran d'interface d'utilisateur similaire à celui représenté en figure 19, mais comprenant ici un affichage indiquant que l'utilisateur a une 25 invitation en attente à partir d'un autre utilisateur ; la figure 21 montre un écran d'interface d'utilisateur montrant des messages pour l'utilisateur, par exemple lorsque l'utilisateur sélectionne l'icône "Messages" en figure 20; la figure 22 montre un écran d'interface d'utilisateur après que l'utilisateur ait 30 sélectionné l'icône 1914 en figure 19 pour afficher le menu déroulant 2202 pour le dossier "Sauvegardes" ; la figure 23 montre un écran d'interface d'utilisateur après que l'utilisateur ait sélectionné "Ajouter/Retirer des Personnes" à partir du menu déroulant de la figure 22 de façon à afficher une fenêtre à partir de laquelle l'utilisateur peut ajouter ou 35 retirer des personnes pour le dossier ; la figure 24 montre l'écran d'interface d'utilisateur de la figure 23 après que la troisième personne 2402 ait été ajoutée à la liste de personnes pour le dossier ; la figure 25 montre un écran d'interface d'utilisateur qui est affiché après que l'utilisateur ait sélectionné le bouton 2404 "Soumettre" en figure 24, ce qui ajoute les trois nouveaux utilisateurs au dossier et provoque l'envoi d'invitations aux trois nouveaux utilisateurs ; la figure 26 montre un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée lorsque l'utilisateur sélectionne l'icône "Ajouter/Retirer des Personnes" en figure 25; la figure 27 montre un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée lorsque l'utilisateur sélectionne l'icône "Transporteurs" 2504 en figure 25 la figure 28 est un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée si l'utilisateur ne sélectionne pas de transporteurs pour mémoriser le dossier en figure 27; la figure 29 est un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée lorsque l'utilisateur choisit l'icône "Renommer" à partir du jeu 2502 en figure 15 25; la figure 30 montre un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée lorsque l'utilisateur sélectionne l'icône "Transporteurs" 2504 en figure 25 puis sélectionne l'un de ses appareils de mémorisation ; la figure 31 montre un écran d'interface d'utilisateur comprenant une fenêtre qui 20 est affichée lorsque l'utilisateur sélectionne "Ajouter/Retirer des Dossiers Connectés" à partir du jeu 3002 en figure 30; la figure 32 montre un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée lorsque l'utilisateur choisit d'effacer l'appareil de mémorisation de son compte, par exemple à partir du menu "Avancé" du jeu 3002 en figure 30; 25 la figure 33 montre un écran d'interface d'utilisateur affichant une information concernant l'utilisateur et procurant différentes commandes pour permettre à l'utilisateur de remettre à jour l'information, de gérer les courriels, d'établir des préférences de compte et de changer de mot de passe ; la figure 34 montre un écran d'interface d'utilisateur comprenant une fenêtre qui 30 est affichée lorsque l'utilisateur sélectionne l'icône "Gestion Courriels" en figure 33; la figure 35 est une représentation schématique représentant le fonctionnement de l'option d'accès à distance, selon un exemple de mode de réalisation ; la figure 36 est une représentation schématique représentant le fonctionnement de l'option de mise en cache locale, selon un exemple de mode de réalisation ; 35 la figure 37 montre un écran d'interface d'utilisateur principale pour l'application de client de mémorisation (qui peut être désignée ici sous le nom de "Poste de Travail Connecté"), selon un exemple de mode de réalisation; la figure 38 montre un exemple d'écran d'interface d'utilisateur qui est affiché après que l'utilisateur ait sélectionné l'icône "Préférences" 3710 en figure 37 et sélectionne l'onglet "Information Générale" en haut de la fenêtre ; la figure 39 montre un exemple d'écran d'interface d'utilisateur qui est affiché après que l'utilisateur ait sélectionné l'icône "Préférences" 3710 en figure 37 et sélectionne l'onglet "Dossier" en haut de la fenêtre ; les figures 40 à 42 représentent des exemples de changements aux interfaces d'utilisateur sur les appareils de mémorisation dans un groupe de réplication/synchronisation lorsque des contenus sont réorganisés dans un conteneur virtuel commun, selon un exemple de mode de réalisation d'une mémorisation socialement organisée ; la figure 43 montre un écran d'interface d'utilisateur affiché lorsqu'un utilisateur crée un dossier associé à un conteneur virtuel, comprenant une commande pour permettre le partage du dossier avec des utilisateurs qui ne possèdent aucun appareil de mémorisation ; la figure 44 montre un écran d'interface d'utilisateur affichant des caractéristiques d'un dossier associé à un conteneur virtuel, comprenant l'accessibilité au dossier pour des utilisateurs qui ne possèdent aucun appareil de mémorisation ; les figures 45 à 46 sont des représentations schématiques illustrant un partage 20 d'appareils de mémorisation ; et la figure 47 est un organigramme d'un exemple de procédé pour donner à un nouvel utilisateur accès à un appareil de mémorisation donné couplé à un réseau d'ordinateurs. Description détaillée de modes de réalisation spécifiques 25 Définitions. Tels qu'ils sont utilisés dans cette description et dans les revendications jointes, les termes suivants auront les significations indiquées, sauf si le contexte en décide autrement : un "conteneur" est un élément logique qui est conçu au niveau du serveur pour séparer des données d'utilisateur et qui est mis en oeuvre au niveau du dispositif 30 dans une mémoire physique. "Transmis directement" signifie transmis sans l'intermédiaire d'un service central. Un "processus informatique" est la réalisation d'une fonction décrite dans un ordinateur utilisant des circuits d'ordinateur (tels qu'un processeur, un groupement de 35 portes programmables sur site ou une autre logique combinatoire électronique, ou un dispositif similaire), qui peut fonctionner sous la commande d'un logiciel ou d'un micro-logiciel ou d'une combinaison de n'importe lesquels de ceux-ci, ou fonctionnant en dehors de la commande de l'un quelconque de ce qui précède. Tout ou partie de la fonction décrite peut être exécuté par des composants électroniques actifs ou passifs, tels que des transistors ou des résistances. Lors de l'utilisation du terme "processus informatique", nous ne requerrons par forcément une entité programmable, ou le fonctionnement d'un programme informatique ou d'une partie de celui-ci, bien que, dans certains modes de réalisation, un processus informatique peut être exécuté par une telle entité programmable, ou le fonctionnement d'un programme informatique ou d'une partie de celui-ci. De plus, sauf si le contexte en décide autrement, un "processus" peut être exécuté à l'aide de plus d'un processeur ou de plus d'un ordinateur (à processeur unique ou à processeurs multiples).
Un "service central" est un processus informatique défini par un logiciel, mis en oeuvre sur un jeu de serveurs, configuré de façon à supporter une interaction de machine à machine interopérable sur un réseau étendu par la gestion et la distribution d'une information de relations. Un service central dans lequel l'interface d'utilisateur est une interface Internet est désigné ici sous le nom de "service Internet". Le service central peut être gratuit ou payant. Des services centraux peuvent être fournis par l'intermédiaire d'un site Internet unique ou par l'intermédiaire de multiples sites Internet. Un "réseau étendu" (WAN) est un réseau de communication couvrant une pluralité d'emplacements géographiquement dispersés. Des exemples de grands réseaux comprennent l'Internet, des réseaux de télévision câblés, et des réseaux cellulaires. Un "appareil de mémorisation" (parfois désigné ici sous le nom de "dispositif de serveur de fichiers" ou de "dispositif de portail") est un dispositif de mémorisation comprenant au moins un support de mémorisation (par exemple, un disque dur ou une mémoire à semiconducteurs), un dispositif de commande de mémorisation, et une interface de réseau, le dispositif de commande de mémorisation étant configuré de façon à interagir avec d'autres appareils de mémorisation, et, de façon caractéristique, également avec le service central sur un réseau étendu tel que l'Internet. L'interface de réseau est généralement sans fil (par exemple, WiFi), mais peut être câblée (par exemple, Ethernet). Dans différents modes de réalisation, les appareils de mémorisation ne comportent pas d'interface d'utilisateur directe pour gérer des conteneurs et une information de relations, et sont gérés à la place par le dispositif de commande en fonction d'une information de relations délivrée par le service central, et délivrée, de façon optionnelle, par d'autres appareils de mémorisation. Il est prévu que des appareils de mémorisation, de façon caractéristique, soient des dispositifs de mémorisation reliés à un réseau, autonomes, relativement peu coûteux vendus comme produits de consommateurs essentiellement avec des capacités de prêt à l'emploi grâce au service central, susceptibles de communiquer avec un ordinateur d'utilisateur sur un réseau local et susceptibles de communiquer avec un ou plusieurs autres dispositifs de mémorisation et avec le service central sur un réseau étendu. Cependant, un ordinateur peut être configuré de façon à fonctionner en appareil de mémorisation dans certains modes de réalisation. Dans certains modes de réalisation, un appareil de mémorisation peut être configuré de façon à accepter un dispositif de mémoire de masse (par exemple, un disque dur), et peut être vendu sans le dispositif de mémoire de masse, par exemple pour réduire le coût de l'appareil de mémorisation tout en permettant à l'utilisateur d'installer son propre dispositif de mémoire de masse. Dans différents autres modes de réalisation, l'appareil de mémorisation peut être configuré de façon à gérer une mémorisation dans un système de mémorisation externe (par exemple, un disque dur externe, une mémoire reliée au réseau, une mémorisation sur nuages, etc.) en plus, ou au lieu, d'avoir son propre dispositif de mémorisation de masse interne.
Un "utilisateur enregistré" ou "RU" est un utilisateur d'au moins l'un des services fournis ou gérés par le service central qui nécessite un enregistrement par l'utilisateur, par exemple pour établir un compte d'utilisateur. Les utilisateurs enregistrés possèdent, de façon caractéristique, un ordinateur et au moins un appareil de mémorisation ("SA"). L'ordinateur est utilisé pour accéder au service central, et, de façon caractéristique, également pour accéder à l'appareil de mémorisation ("SA") au nombre d'au moins un, par exemple pour l'accès aux données et pour leur mémorisation. L'enregistrement peut être payant, ou peut être inclus essentiellement gratuitement avec l'achat/possession d'un appareil de mémorisation. Dans certains modes de réalisation, un utilisateur enregistré peut définir un conteneur pour l'utilisation par un ou plusieurs autres utilisateurs sans associer le conteneur à l'un de ses propres appareils de mémorisation (ou même sans que cet utilisateur ne possède un appareil de mémorisation). Ainsi, par exemple, un utilisateur peut agir en tant qu'administrateur pour définir des conteneurs et des relations pour l'établissement et le partage de ces conteneurs par d'autres utilisateurs. Un "utilisateur non enregistré" ou "NU" est un utilisateur d'au moins l'un des services fournis ou gérés par le service central qui ne nécessite pas d'enregistrement par l'utilisateur. Un utilisateur non enregistré possède un ordinateur pour accéder au service central.
Un "ordinateur" désigne un dispositif comprenant un processeur, une mémoire et une connexion au réseau, tel qu'un ordinateur de bureau, un ordinateur portable, un dispositif informatique de type tablette, un « srnartphone », un lecteur électronique, ou une console de jeu vidéo. Dans certains modes de réalisation, un ordinateur peut être configuré de façon à fonctionner en appareil de mémorisation. Le terme "niveau de partage" d'un jeu de conteneurs de données d'utilisateurs désigne un jeu d'attributs spécifiant l'accès à des données d'utilisateur, et la commande de celles-ci, dans le jeu de conteneurs. Dans différents modes de réalisation, le niveau de partage est basé sur des attributs comprenant la possession comme décrit dans la Section B ci-dessous, des types de conteneurs comme décrit dans la Section C ci-dessous, et des permissions/invitations comme décrit dans la Section D ci-dessous. De façon générale, le niveau de partage avec un autre utilisateur peut être (a) lecture seule (auquel cas l'on dit que les données d'utilisateur io sont "publiés" pour l'autre utilisateur), (b) lecture/écriture (auquel cas l'on dit que les données d'utilisateur sont "totalement partagées" avec l'autre utilisateur), ou (c) invisible (auquel cas le jeu d'appareils de mémorisation de l'autre utilisateur fonctionne de façon à fournir une protection de sauvegarde des données d'utilisateur). 15 Un "système de fichiers" est un mode d'organisation de données, mémorisées sur un jeu de dispositifs de mémorisation, d'une manière qui permet une récupération sélective de ces données à partir du jeu de dispositifs de mémorisation. Un "jeu" comprend généralement au moins un élément, bien que, dans le contexte d'un établissement d'information pour des utilisateurs enregistrés, 20 comprenant un compte d'utilisateur, un jeu d'appareils de mémorisation enregistrés, et un jeu de désignations de conteneurs, un jeu peut comporter zéro membre. Par exemple, un utilisateur enregistré peut ne pas posséder d'appareils de mémorisation enregistrés et/ou pas de désignations de conteneurs en propre, soit temporairement, soit de façon permanente. 25 A. DESCRIPTION DU SYSTEME Dans les figures qui suivent, des lignes/flèches de tirets sont utilisées pour représenter des communications qui ne comprennent pas de données d'utilisateur, tandis que des lignes/flèches de traits pleins sont utilisées pour représenter des communications qui comprennent des données d'utilisateur. 30 La figure 1 est une représentation générale schématique d'un système qui gère la réplication et la synchronisation de données d'utilisateur selon un mode de réalisation de la présente invention. En particulier, la figure 1 représente de façon schématique un système de mémorisation de données distribuée avec une gestion centrale et une réplication/synchronisation de données de pair à pair, selon un 35 exemple de mode de réalisation de la présente invention. Dans cette figure, "W" est le service central, "SA" sont des appareils de mémorisation, "RU" sont des utilisateurs enregistrés, "NU" sont des utilisateurs non enregistrés, et "SC" sont des clients de mémorisation. Les clients de mémorisation peuvent être des ordinateurs clients ou d'autres dispositifs qui accèdent à des fichiers sur un appareil de mémorisation, qui peut être relié directement, par exemple par un câble USB, ou relié par un réseau, par exemple par un réseau câblé (par exemple, Ethernet) ou sans fil (par exemple, WiFi).
Dans certains exemples de modes de réalisation de la présente invention, le service central est utilisé pour établir des relations entre des utilisateurs enregistrés, leurs appareils de mémorisation, et des conteneurs d'information (décrits ci-dessous), et délivre une information de relations aux appareils de mémorisation, permettant aux appareils de mémorisation d'échanger et de mémoriser automatiquement et de façon autonome des données d'utilisateur selon un mode de pair à pair. Ce qui est important est qu'aucune des données d'utilisateur n'est mémorisée dans ni par le service central, ni n'est même transmise ou manipulée par le service central. Le service central ignore le contenu des données d'utilisateur, et, par conséquent, n'a pas de visibilité sur des choses telles que le contenu de données, les types de données, les noms de répertoire/fichier, etc. Même les identités des utilisateurs peuvent être anonymes. Certains exemples de modes de réalisation de la présente invention utilisent une construction de mémorisation qui est désignée ici sous le nom de "conteneur". A l'intérieur d'un appareil de mémorisation, un conteneur est une entité de mémorisation physique (par exemple, un dossier dans lequel des répertoires peuvent être créés et des fichiers peuvent être mémorisés). A des fins pratiques, une telle entité de mémorisation physique est désignée ici sous le nom de "Conteneur Physique" ou "PC". Dans le service central, un conteneur est une entité de mémorisation virtuelle (essentiellement un numéro ou un élément unique). A des fins pratiques, une telle entité de mémorisation virtuelle est désignée ici sous le nom de "Conteneur Virtuel" ou "VC". Il est important de noter qu'un conteneur virtuel n'est associé à aucune mémoire physique dans le service central. Pour que le service central gère des relations et pour que les appareils de mémorisation agissent sur ces relations, chaque utilisateur enregistré, chaque conteneur virtuel et chaque appareil de mémorisation se voient associés, de façon caractéristique, à un identifiant (ID) unique correspondant. De façon générale, le service central attribue un identifiant à chaque utilisateur enregistré et à chaque conteneur virtuel. Des identifiants pour les appareils de mémorisation sont, de façon caractéristique, associés aux appareils de mémorisation eux-mêmes (par exemple, des identifiants uniques globaux), bien que le service central puisse attribuer des identifiants pour les appareils de mémorisation en plus ou à la place de tout identifiant associé aux appareils de mémorisation (par exemple, des identifiants spéciaux pour l'utilisation à l'intérieur du système).
A l'aide du service central, des utilisateurs enregistrés définissent des conteneurs virtuels. De façon générale, chaque conteneur virtuel est "possédé" par l'utilisateur enregistré qui le crée, bien que d'autres types de propriété/permissions puissent être supportés (par exemple, d'une façon concevable, un conteneur virtuel pourrait être créé par un utilisateur mais possédé par un autre utilisateur, ou une titularité pourrait être transférée d'un utilisateur à un autre utilisateur). Un ou plusieurs utilisateurs enregistrés et/ou appareils de mémorisation spécifiques se voient donner accès à un conteneur virtuel particulier. Par exemple, le conteneur virtuel peut être accessible à tous les utilisateurs enregistrés (à savoir, un conteneur public), ou il peut être rendu accessible à un utilisateur enregistré ou à un jeu d'utilisateurs enregistrés spécifiques. Différents types de conteneurs et différents types de modes de permission sont décrits plus complètement ci-dessous. Un utilisateur enregistré à qui il a été donné accès à un conteneur virtuel particulier peut associer ce conteneur virtuel à un ou plusieurs de ses appareils de mémorisation. A des fins pratiques, l'association d'un conteneur virtuel à un appareil de mémorisation est désignée ici sous le nom de "liaison" ou de "lien" avec le conteneur virtuel, et le processus consistant à rendre un conteneur accessible à d'autres utilisateurs et/ou appareils de mémorisation enregistrés est désigné ici sous le nom de "invitation" ou "invite". Dans la pratique, une invitation peut être active (par exemple, une invitation peut être envoyée ou délivrée d'une autre façon à un utilisateur enregistré particulier, l'utilisateur enregistré pouvant accepter d'avoir son appareil de mémorisation relié au conteneur virtuel), ou une invitation peut être passive (par exemple, une permission peut être donnée pour qu'un utilisateur enregistré particulier accède au conteneur virtuel, auquel cas l'utilisateur enregistré peut accéder au service central et associer l'un de ses appareils de mémorisation au conteneur virtuel afin d'avoir un conteneur physique correspondant qui est créé sur l'appareil de mémorisation et synchronisé avec d'autres appareils de mémorisation reliés au conteneur virtuel, comme cela sera plus complètement décrit ci-dessous). Il est important de noter que l'invitation n'impose pas l'endroit ni la façon dont le conteneur doit être mémorisé par l'utilisateur enregistré qui accepte l'invitation, mais qu'au contraire, l'utilisateur enregistré qui accepte l'invitation peut configurer l'endroit et la façon dont le conteneur doit être mémorisé (par exemple, l'utilisateur acquiesçant peut mémoriser le conteneur dans un appareil de mémorisation ou dans de multiples appareils de mémorisation). Dans certains modes de réalisation, l'utilisateur acquiesçant peut choisir d'accéder au conteneur à distance plutôt que d'avoir celui-ci répliqué sur un ou plusieurs appareils de mémorisation locaux. Par conséquent, de façon générale, le service central conserve une information de relations qui associe chaque utilisateur enregistré à son ou ses conteneur(s) virtuel(s) et à son ou ses appareil(s) de mémorisation, qui associe chaque conteneur virtuel aux appareils de mémorisation qui sont reliés au conteneur virtuel, et qui associe chaque appareil de mémorisation aux conteneurs virtuels auxquels il est relié. Cette information de relation est représentée de façon schématique à l'aide d'un exemple dans le Tableau 1. Tableau 1 SERVICE CENTRAL Utilisateurs Enregistrés RU1 io RU2 Appareils de mémorisation SA1 (possédé par RU1) SA2 (possédé par RU2) Conteneurs Virtuels 15 VC3 (possédé par RU1) VC4 (possédé par RU2, partagé avec RU1) RU1 possède : SA1 VC3 20 RU2 possède : SA2 VC4 SA1 est relié à: VC3 (possédé par RU1) 25 VC4 (possédé par RU2, relié à RU1 avec la permission de RU2) SA2 est relié à: VC4 (possédé par RU2) VC3 est relié à: 30 SA1 VC4 est relié à: SA2 (liaison initiale établie par RU2) SA1 (liaison établie par RU1 avec la permission de RU2) Le Tableau 1 montre qu'un premier utilisateur enregistré RU1 possède un 35 appareil de mémorisation SA1 et crée un conteneur virtuel VC3 et qu'un deuxième utilisateur enregistré RU2 possède un appareil de mémorisation SA2 et crée un conteneur virtuel VC4. RU1 possède un appareil de mémorisation associé SA1 avec un conteneur virtuel VC3, qui, comme décrit ci-dessus, aura provoqué la création par l'appareil de mémorisation SA1 d'un conteneur physique correspondant associé au conteneur virtuel VC3. RU2 possède un appareil de mémorisation associé SA2 avec un conteneur virtuel VC4, qui, comme décrit ci-dessus, aura provoqué la création par l'appareil de mémorisation SA2 d'un conteneur physique correspondant associé au conteneur virtuel VC4. RU2 a donné la permission à (par exemple, invité) RU1 d'accéder au conteneur virtuel VC4, et RU1 possède un appareil de mémorisation associé SA1 avec un conteneur virtuel VC4, qui, comme décrit ci-dessus, aura provoqué la création par l'appareil de mémorisation SA1 d'un conteneur physique correspondant associé au conteneur virtuel VC4.
Par conséquent, le service central conserve une information identifiant : les utilisateurs enregistrés RU1 et RU2 ; les appareils de mémorisation SA1 et SA2 ; et les conteneurs virtuels VC3 et VC4, et conserve également une information de relations montrant que : RU1 possède l'appareil de mémorisation SA1 et le conteneur virtuel VC3; RU2 possède l'appareil de mémorisation SA2 et le conteneur virtuel VC4; l'appareil de mémorisation SA1 est relié au conteneur virtuel VC3 et au conteneur virtuel VC4; l'appareil de mémorisation SA2 est relié au conteneur virtuel VC4; le conteneur virtuel VC3 est relié à l'appareil de mémorisation SA1 ; et le conteneur virtuel VC4 est relié à l'appareil de mémorisation SA2 et à l'appareil de mémorisation SA1. La figure 2 montre les relations ci-dessus de façon graphique. Ici, l'appareil de mémorisation SA1 comprend des conteneurs physiques (dossiers) associés à des conteneurs virtuels VC3 et VC4, tandis que l'appareil de mémorisation SA2 comprend un conteneur physique (dossier) associé au conteneur virtuel VC4. Les appareils de mémorisation communiquent avec le service central, par exemple, de façon à recevoir ou à obtenir une information de relations, mais échangent des données d'utilisateur directement, de telle sorte que le service central n'est pas mis en jeu dans les transferts de données d'utilisateur. Il est important de noter que l'information dans le Tableau 1 et représentée en figure 2 est schématique, et que le service central peut mémoriser l'information selon l'une quelconque d'une variété de façons (par exemple, à l'aide d'une base de données relationnelle).
Dans certains modes de réalisation, l'interface d'utilisateur du service central peut permettre de créer et de changer des relations à l'aide de fonctions d'interface d'utilisateur graphique (GUI) caractéristiques telles que "glisser-déposer" pour lier un appareil de mémorisation particulier à un conteneur virtuel particulier (par exemple, l'utilisateur peut simplement tirer une représentation graphique du conteneur virtuel sur une représentation graphique de l'appareil de mémorisation), ou "clic droit" pour obtenir un menu d'options, par exemple pour créer un conteneur virtuel, créer un nouvel appareil de mémorisation, etc.
Lorsqu'un conteneur virtuel est associé à un appareil de mémorisation particulier, le service central envoie à l'appareil de mémorisation une information de relation qui permet à l'appareil de mémorisation de créer un conteneur physique correspondant dans son support de mémorisation et de répliquer/synchroniser le contenu du conteneur physique avec d'autres appareils de mémorisation qui sont reliés au conteneur virtuel. Cette information de relation comprend, de façon caractéristique, entre autres, l'identifiant pour le conteneur virtuel. L'appareil de mémorisation crée le conteneur physique et associe, de façon caractéristique (de façon interne), le conteneur physique à l'identifiant du conteneur virtuel. La réplication/synchronisation est décrite plus en détail ci-dessous.
Initialement, un appareil de mémorisation unique peut être relié à un conteneur virtuel particulier. Par exemple, lors de la création d'un conteneur virtuel, le créateur/propriétaire associe, de façon caractéristique, le conteneur virtuel à l'un de ses appareils de mémorisation, ce qui, comme décrit ci-dessus, provoque la création par l'appareil de mémorisation d'un conteneur physique correspondant (par exemple, un dossier) dans son support de mémorisation en fonction d'une information de relations délivrée par le service central. Le conteneur physique peut être initialement vide (bien que des dispositions puissent être prises pour qu'un dossier existant soit associé au conteneur virtuel), et l'utilisateur peut ensuite mémoriser des données dans le conteneur physique, complètement indépendamment du service central.
Au cours du temps, un ou plusieurs autres appareils de mémorisation peuvent être reliés au conteneur virtuel. Par exemple, le créateur/propriétaire peut relier de multiples appareils parmi ses propres appareils de mémorisation au conteneur virtuel (par exemple, à des fins de sauvegarde/redondance). De plus, ou d'une autre façon, un ou plusieurs autres utilisateurs peuvent relier un appareil de mémorisation au conteneur virtuel, par exemple en réponse à une invitation de la part du créateur/propriétaire. Comme décrit ci-dessus, chaque appareil de mémorisation qui est relié au conteneur virtuel crée un conteneur physique correspondant dans son support de mémorisation. Lorsque deux ou plusieurs appareils de mémorisation sont reliés à un conteneur virtuel particulier, les appareils de mémorisation répliquent/synchronisent automatiquement et de façon autonome le contenu des conteneurs physiques correspondants en fonction d'une information de relation délivrée aux appareils de mémorisation par le service central. L'information de relation délivrée à un appareil de mémorisation donné comprend de façon caractéristique, entre autres, l'identifiant pour le conteneur virtuel, et peut également contenir une information d'identification pour un ou plusieurs autres appareils de mémorisation qui sont reliés au même conteneur virtuel. Comme décrit ci-dessus, cette réplication/synchronisation se fait 5 directement entre les appareils de mémorisation selon un mode de pair à pair sans mise en jeu du service central ni visibilité par celui-ci. Les appareils de mémorisation peuvent supporter différents types de modes de réplication/synchronisation, par exemple en fonction de paramètres tels que le type de conteneur virtuel et les permissions associées au conteneur virtuel. La réplication/synchronisation est décrite 10 plus complètement ci-dessous. La réplication/synchronisation met en oeuvre, de façon caractéristique, la mise en contact de l'un des appareils de mémorisation concernés avec un autre appareil de mémorisation concerné pour déclencher un échange de protocoles de réplication/synchronisation. Cet échange de protocoles comprend, de façon 15 caractéristique, l'authentification par l'un, par l'autre, ou par les deux appareils de mémorisation, ou, autrement dit, afin de garantir que chaque appareil de mémorisation a la permission d'envoyer ou de recevoir un contenu de conteneur. Cette authentification peut mettre en oeuvre une communication avec le service central, par exemple afin d'obtenir une information de relation ou une autre 20 information d'authentification à partir de laquelle l'appareil de mémorisation peut décider si oui ou non il faut continuer. Cette communication avec le service central peut se faire en réponse à une demande à partir d'un autre appareil de mémorisation (par exemple, lors de la réception d'une demande de déclenchement de l'échange de protocoles), ou peut se faire avant la réception d'une demande de déclenchement de 25 l'échange de protocoles (par exemple, le service central peut imposer une information de relations ou une information d'authentification remise à jour à l'appareil de mémorisation en anticipation de l'échange de protocoles, par exemple par l'envoi d'une information de relation remise à jour à différents appareils de mémorisation lorsqu'un nouvel appareil de mémorisation est relié au conteneur 30 virtuel). Dans certains modes de réalisation, le service central peut avoir une visibilité limitée sur certains attributs de métadonnées de conteneurs physiques, tels que la quantité de données dans un conteneur, par exemple pour assister la gestion des relations par le service central. 35 B. PROPRIETE De façon générale, chaque conteneur virtuel est "possédé" par un utilisateur enregistré ou par une paire RU/SA particulier. Le propriétaire d'un conteneur virtuel peut se voir accorder des privilèges spéciaux vis-à-vis du conteneur, comme, par exemple, la capacité à inviter d'autres à accéder au conteneur, la capacité à écrire/modifier le contenu du conteneur, ou la capacité à effacer le conteneur. Dans des exemples de modes de réalisation, lorsque le propriétaire d'un conteneur virtuel efface le conteneur virtuel, les conteneurs physiques correspondants dans la totalité des appareils de mémorisation affectés sont effacés, bien que des non propriétaires individuels puissent défaire leur liaison avec le conteneur virtuel (par exemple, en accédant au service central et en dissociant le conteneur virtuel de l'appareil de mémorisation), auquel cas le conteneur physique correspondant sera effacé de l'appareil de mémorisation de l'utilisateur, mais non des autres appareils de mémorisation. De plus, chaque appareil de mémorisation est "possédé" par un utilisateur enregistré particulier. Lorsqu'un utilisateur enregistre l'appareil de mémorisation auprès du service central, le service central mémorise une information concernant cette relation. Dans certains modes de réalisation, le propriétaire d'un appareil de mémorisation est le seul utilisateur enregistré qui peut accéder à l'appareil de mémorisation et/ou au contenu de l'appareil de mémorisation. Dans différents modes de réalisation, le propriétaire peut accorder la permission à d'autres utilisateurs, enregistrés ou non enregistrés, d'accéder à l'appareil de mémorisation. Dans certains modes de réalisation, le propriétaire peut limiter l'accès accordé à des non propriétaires. Par exemple, le propriétaire peut ne permettre à des non propriétaires d'accéder qu'aux seuls conteneurs virtuels, sur l'appareil de mémorisation, qui ont été partagés avec les non propriétaires. Dans ces situations, les non propriétaires pourraient voir un conteneur virtuel uniquement si leurs propres appareils de mémorisation étaient déjà reliés au conteneur. Tous les autres conteneurs virtuels sur l'appareil de mémorisation du propriétaire devraient être invisibles aux non propriétaires (par exemple, les fichiers personnels du propriétaire, des conteneurs virtuels qui sont partagés avec d'autres utilisateurs mais non avec les non propriétaires auxquels a été accordé l'accès à l'appareil de mémorisation). Dans un autre exemple, le propriétaire pourrait accorder aux non propriétaires des droits d'accès en lecture seule aux conteneurs virtuels. Par conséquent, même si les non propriétaires étaient autorisés à éditer le contenu des conteneurs virtuels s'ils accédaient à leurs propres appareils de mémorisation, ils ne seraient pas capables de réaliser des éditions lors de l'accès aux conteneurs par l'intermédiaire d'appareils de mémorisation d'autres utilisateurs.
C. TYPES DE CONTENEURS Dans différents modes de réalisation, chaque conteneur virtuel peut être associé à un "type" de conteneur, afin d'autoriser différents types de traitement pour différents types de conteneurs. Sans limitation, certains exemples de types de conteneurs qui peuvent être supportés dans différents modes de réalisation comprennent : Conteneur Normal - Ce type de conteneur devrait être répliqué/synchronisé entre tous les appareils de mémorisation qui supportent le conteneur virtuel 5 correspondant. Des données peuvent être modifiées dans le conteneur physique dans tout appareil de mémorisation, les changements étant propagés vers/parmi les autres appareils de mémorisation à l'aide d'un mécanisme de réplication/synchronisation/réconciliation comme décrit ici. Des modes de réalisation comprendront, de façon caractéristique, des mécanismes pour coordonner et io réconcilier des changements, car des changements peuvent être effectués simultanément dans différents appareils de mémorisation, et les changements peuvent être incohérents les uns avec les autres. Des règles peuvent être établies (et peuvent être configurables) pour réconcilier les changements. Conteneur de Sauvegarde - Ce type de conteneur pourrait être utilisé par un 15 utilisateur enregistré pour mémoriser une copie de sauvegarde d'un conteneur physique à partir d'un appareil de mémorisation sur un ou plusieurs autres appareils de mémorisation, qui pourraient être associés au même utilisateur enregistré ou à un utilisateur enregistré différent. Comme ce type de conteneur sert à des fins de sauvegarde, par opposition à des fins de partage/distribution de données, le contenu 20 du conteneur de sauvegarde mémorisé dans le ou les autre(s) appareil(s) de mémorisation devrait, de façon caractéristique, être caché ou être rendu inaccessible d'une autre façon (par exemple, un dossier caché avec les données cryptées). Conteneur de Lecture Seule - Ce type de conteneur devrait être utilisé par un utilisateur désigné (de façon caractéristique l'utilisateur ou propriétaire enregistré) 25 pour distribuer des copies en lecture seule d'un conteneur physique (essentiellement, une version de référence du conteneur) à un ou à plusieurs autres appareils de mémorisation, qui pourraient être associés au même utilisateur enregistré et/ou à un ou à plusieurs autres utilisateurs enregistrés. Des changements apportés à la version de référence du conteneur devraient être propagés aux autres appareils de 30 mémorisation, mais ces autres appareils de mémorisation devraient empêcher d'apporter des changements aux instanciations en lecture seule. Conteneur d'Addition Seule - Ce type de conteneur est une variation du conteneur normal, résidant dans le fait que les modifications sont limitées à l'addition de nouveaux fichiers/répertoires au conteneur. Les conteneurs d'addition seule 35 pourraient faciliter la coordination et la réconciliation de changements qui sont effectués parmi les différents appareils de mémorisation. D. PERMISSIONS/INVITATIONS Dans différents modes de réalisation, différents types de permissions/invitations peuvent être supportés pour des conteneurs virtuels, comme, par exemple : Publique - Tout utilisateur enregistré est susceptible de créer un lien avec le conteneur virtuel. Privée - Seul le propriétaire est susceptible de lier ses propres appareils de 5 mémorisation au conteneur virtuel, par exemple afin de permettre une sauvegarde ou une réplication privée/personnelle. Unique - Seul un utilisateur enregistré désigné unique peut créer un lien vers le conteneur virtuel (en plus du créateur/propriétaire). Groupe - Seul un groupe désigné d'utilisateurs enregistrés peut créer un lien 10 vers le conteneur virtuel. E. GROUPES DE REPLICATION/SYNCHRONISATION Pour coordonner la réplication/synchronisation pour un conteneur virtuel particulier parmi un certain nombre d'appareils de mémorisation qui sont liés au conteneur virtuel, le service central peut définir des groupes de 15 réplication/synchronisation qui spécifient, pour un appareil de mémorisation donné, avec quel(s) autre(s) appareil(s) de mémorisation l'appareil de mémorisation donné communiquera afin d'effectuer une réplication/synchronisation du contenu de son conteneur physique. Ces groupes de réplication/synchronisation peuvent être particulièrement utiles pour des conteneurs virtuels qui sont reliés à un grand nombre 20 de dispositifs de mémorisation, la construction du groupe pouvant limiter la quantité de "trafic" que tout appareil de mémorisation particulier doit gérer. D'une autre façon, ou de plus, dans certains modes de réalisation, le dispositif de commande de chaque appareil de mémorisation comporte une logique de gestion de largeur de bande, afin de limiter le trafic de réseau total généré ou reçu par l'appareil de mémorisation, de 25 façon à éviter une charge indésirable de la connexion de réseau. Cette logique permet à d'autres dispositifs ou ordinateurs qui partagent une connexion de réseau d'avoir un accès équitable à la largeur de bande totale fournie par la connexion de réseau. F. RECONCILIATION 30 Comme décrit ci-dessus, dans certains types de conteneurs virtuels, différents utilisateurs peuvent modifier le contenu de leurs conteneurs physiques respectifs, et ces modifications peuvent, dans certains cas, être effectuées simultanément et/ou de façon incohérente. Par exemple, deux utilisateurs peuvent tenter de modifier un fichier particulier en même temps. Deux utilisateurs peuvent créer des fichiers 35 différents avec le même nom. Un utilisateur peut effacer un fichier qu'un autre utilisateur souhaite conserver. Par conséquent, les dispositifs de commande des appareils de mémorisation comporteront généralement une logique de réconciliation à l'aide de laquelle une réplication/synchronisation peut être accomplie. Pour de nombreux types de situations, il n'y a pas une façon correcte d'effectuer une réconciliation, et, par conséquent, une réconciliation peut être basée sur des règles à un certain degré, avec une gestion des règles par le service central.
G. ENVOI DE DONNEES PAR UN UTILISATEUR NON ENREGISTRE A UN UTILISATEUR ENREGISTRE Dans certains modes de réalisation, un utilisateur non enregistré peut envoyer des données à un utilisateur enregistré, ceci étant à nouveau coordonné par le service central, mais sans que ne service central n'ait aucun accès aux données d'utilisateur. Dans un exemple de mode de réalisation, décrit en se référant à la figure 3, un tel transfert met en oeuvre l'accès de l'utilisateur non enregistré au service central à partir du navigateur Internet de son ordinateur (flèche 1). Le service central peut afficher une page Internet dans laquelle l'utilisateur non enregistré peut entrer un identifiant ou une marque d'authentification pour l'utilisateur enregistré (par exemple, l'utilisateur enregistré peut fournir à d'autres sa marque d'authentification, par exemple en incluant la marque d'authentification sur une carte de visite), ou la page Internet peut permettre à l'utilisateur non enregistré de rechercher l'utilisateur enregistré. Dans tous les cas, une fois que le service central connaît l'identité de l'utilisateur enregistré auquel l'utilisateur non enregistré veut envoyer des données, le service central renvoie à l'ordinateur de l'utilisateur non enregistré une application (flèche 2), de façon caractéristique sous la forme d'une page Internet avec une application incorporée. Cette application est exécutée sur l'ordinateur de l'utilisateur non enregistré, contient une information pertinente (par exemple, un identifiant associé à un appareil de mémorisation), et exécute les protocoles nécessaires à l'envoi de données spécifiées par l'utilisateur non enregistré (par exemple, l'application peut permettre à l'utilisateur non enregistré de rechercher un fichier, ou de spécifier d'une autre façon, ou d'entrer, des données) directement à un ou à plusieurs des appareils de mémorisation de l'utilisateur enregistré sans aucune manipulation des données par le service central (flèche 3). L'appareil de mémorisation communique avec le service central selon les besoins pour obtenir une information de relations associée afin de permettre à l'appareil de mémorisation de recevoir les données directement à partir de l'utilisateur non enregistré (flèche 4). Les données d'utilisateur envoyées par l'utilisateur non enregistré peuvent être mémorisées dans une "boîte de réception" désignée dans un ou plusieurs des appareils de mémorisation de l'utilisateur enregistré, comme cela peut être configuré par l'utilisateur enregistré par l'intermédiaire du service central. Les données peuvent être envoyées à un seul des appareils de mémorisation puis répliquées avec un ou plusieurs autres appareils de mémorisation à l'aide des mécanismes de réplication/synchronisation décrits ici. Dans ce scénario, le service central est essentiellement mis en jeu pour établir et gérer une relation temporaire entre l'utilisateur non enregistré et le ou les appareil(s) de mémorisation de l'utilisateur enregistré, de telle sorte que le ou les appareil(s) de mémorisation puissent authentifier que l'utilisateur non enregistré est autorisé à envoyer des données à la ou aux boîte(s) de réception. Si les données venant de l'utilisateur non enregistré doivent être répliquées parmi de multiples appareils de mémorisation, le service central peut gérer cela essentiellement en -to établissant un conteneur virtuel, en reliant ta totalité des appareils de mémorisation au conteneur virtuel et en envoyant une information de relations aux appareils de mémorisation, de telle sorte que les données reçues par un appareil de mémorisation à partir de l'utilisateur non enregistré soient placées dans un conteneur physique correspondant, puis répliquées dans les conteneurs physiques associés dans le ou 15 les autre(s) dispositif (s) de mémorisation. H. ENVOI DE DONNEES PAR UN UTILISATEUR ENREGISTRE A UN UTILISATEUR NON ENREGISTRE Dans certains modes de réalisation, un utilisateur enregistré peut envoyer des données à un utilisateur non enregistré, ceci étant à nouveau coordonné par le 20 service central, mais sans que le service central n'ait aucun accès aux données d'utilisateur. Dans un exemple de mode de réalisation, décrit en se référant à la figure 4, un tel transfert met en oeuvre l'envoi par l'utilisateur enregistré d'un courriel ou d'une autre communication (flèche 1) à l'utilisateur non enregistré, contenant un lien (par 25 exemple, une URL) dirigeant l'utilisateur non enregistré vers le service central, et contenant, de façon optionnelle, une information pertinente, par exemple une marque d'authentification pour l'utilisateur enregistré ou pour l'appareil de mémorisation de l'utilisateur enregistré, et/ou une marque d'authentification associée aux données qui sont envoyées par l'utilisateur enregistré. Lorsque l'utilisateur non enregistré clique 30 sur le lien, l'ordinateur de l'utilisateur non enregistré communique avec le service central (flèche 2), qui renvoie une application (flèche 3), par exemple sous la forme d'une page Internet avec une application incluse. Cette application est exécutée sur l'ordinateur de l'utilisateur non enregistré, contient une information pertinente (par exemple, un identifiant pour un appareil de mémorisation), et exécute les protocoles 35 nécessaires pour établir le contact avec un appareil de mémorisation désigné contenant les données (flèche 4) et recevoir les données à partir de l'appareil de mémorisation (flèche 5). L'appareil de mémorisation communique avec le service central selon ce qui est nécessaire pour obtenir une information de relations pertinente pour permettre à l'appareil de mémorisation d'envoyer les données directement à l'utilisateur non enregistré (flèche 6). Les données d'utilisateur reçues par l'application exécutée dans l'ordinateur de l'utilisateur non enregistré peuvent être mémorisées dans un emplacement désigné par l'utilisateur non enregistré. Dans ce scénario, le service central est essentiellement mis en jeu pour établir et gérer une relation temporaire entre l'utilisateur non enregistré et le ou les appareil(s) de mémorisation de l'utilisateur enregistré, de telle sorte que le ou les appareil(s) de mémorisation puissent authentifier le fait que l'utilisateur non enregistré est autorisé à recevoir les données à partir de l'appareil de mémorisation. io Pour générer la communication représentée par la flèche 1, l'ordinateur de l'utilisateur enregistré peut comporter une application autonome (par exemple, téléchargée à partir du service central), ou l'utilisateur enregistré peut utiliser un navigateur Internet pour accéder au service central afin d'obtenir l'application (par exemple, une page Internet incluant l'application). L'application exécutée sur 15 l'ordinateur de l'utilisateur enregistré peut communiquer avec le service central de façon à informer le service central des détails pertinents du transfert, par exemple, de telle sorte que le service central puisse corréler la communication représentée par la flèche 2 à ce transfert particulier, de telle sorte que la relation temporaire appropriée puisse être établie par le service central. 20 I. AVANTAGES ET COMPARAISON AVEC D'AUTRES TECHNOLOGIES Par comparaison avec certains systèmes de mémorisation/partage de fichiers, le service central ne mémorise pas les données d'utilisateur et n'a pas d'accès/visibilité aux données d'utilisateur. Au contraire, les appareils de mémorisation échangent et mémorisent des données d'utilisateur directement entre 25 eux. Par conséquent, le service central n'a pas de visibilité sur le contenu, le type de contenu, la structure de fichiers/répertoires du contenu, du fait que le contenu est ou non soumis à des droits d'auteur, du fait que le contenu est ou non illégal, etc. Entre autres, ceci devrait aider à isoler le service central et ses opérateurs de problèmes dont ont souffert d'autres sites de partage de fichiers. 30 Par comparaison avec certains systèmes de mémorisation/partage de fichiers (par exemple, la sauvegarde de données sur nuages), des données sont répliquées sur des appareils de mémorisation physiques qui peuvent être déconnectés/déplacés avec les données en place, et, par conséquent, les appareils de mémorisation peuvent être utilisés hors-ligne. Si, lorsque l'appareil de mémorisation est hors-ligne, 35 des changements sont effectués dans cet appareil de mémorisation ou dans d'autres appareils de mémorisation reliés à un conteneur virtuel particulier, ces changements sont répliqués/synchronisés/réconciliés lorsque l'appareil de mémorisation est à nouveau en ligne.
Le système décrit peut être utilisé dans une large gamme d'applications, comme, par exemple, le partage de données, la sauvegarde de données, la distribution de données, la collaboration, etc. Comme le service central ne mémorise pas ou ne gère pas les données d'utilisateur, le service central ne constitue pas un goulot d'étranglement pour les aspects de réplication/synchronisation/ réconciliation du système, et, par conséquent, le service central n'impose généralement pas de contraintes de taille aux données d'utilisateur, comme le font souvent d'autres services qui mémorisent ou qui gèrent des données. Par conséquent, cela n'a pas d'importance pour le service central que les conteneurs soient très petits ou très grands (souvent plusieurs téraoctets). Dans la mesure où le service central est mis en jeu dans la gestion des relations, la charge de mémorisation et de communication dans le service central est relativement réduite par rapport à d'autres services qui mémorisent ou qui gèrent des données d'utilisateur.
J. EXEMPLES DE PROCESSUS DE GESTION D'APPAREILS DE MEMORISATION La figure 7 est une représentation schématique illustrant le schéma de la base de données utilisée par le service central pour gérer des appareils de mémorisation selon un mode de réalisation de la présente invention. L'élément 701 est l'identifiant primaire d'un enregistrement dans la table de Conteneurs qui est utilisé comme référence pour cet enregistrement de Conteneur à partir de l'intérieur d'un enregistrement de DispositifsConteneursClients 710. L'élément 702 est l'identifiant primaire d'un enregistrement dans la table de Clients qui est utilisé comme référence pour cet enregistrement de Client à partir de l'intérieur de l'enregistrement de DispositifsConteneursClients 710. L'élément 703 est l'identifiant primaire d'un enregistrement dans la table de Dispositifs qui est utilisé comme référence pour cet enregistrement de Dispositif à partir de l'intérieur de l'enregistrement de DispositifsConteneursClients 710. Ensemble, les éléments 701, 702 et 703 décrivent une relation entre un conteneur, un client et un dispositif. L'élément 704 est l'identifiant primaire d'un enregistrement dans la table DispositifsClients qui est utilisé comme référence pour ce Dispositif de Client à partir de l'intérieur de la table de Dispositifs 703. L'élément 705 est l'identifiant primaire d'un enregistrement dans la table de ConteneursClients qui est utilisé comme référence pour ce Conteneur de Client à partir de l'intérieur de l'enregistrement de Conteneurs 701. L'élément 704 définit une relation entre un client et un dispositif, et l'élément 705 définit une relation entre un client et un conteneur. La figure 8 est une représentation schématique illustrant des processus logiques mis en jeu dans la réalisation de l'enregistrement d'un Appareil de Mémorisation (appelé ici "Dispositif") auprès du service central selon un mode de réalisation de la présente invention. Dans le processus 801, le dispositif établit un contact avec un service central et soumet une demande d'enregistrement avec son information unique, telle que son numéro de série et sa clef de cryptage publique.
Dans le processus 802, le service central répond à la demande du processus 801, renvoyant l'identifiant unique pour le dispositif s'enregistrant à partir de la collection de Dispositifs décrite en figure 7. La figure 9 est une représentation schématique illustrant des processus logiques (désignés ici sous le nom de "battement cardiaque") mis en jeu dans une communication bidirectionnelle entre le service central et un appareil de mémorisation (appelé ici "Dispositif") pour une notification réciproque d'une disponibilité en ligne de chacun pour exécuter des instructions ordonnées par l'autre, selon un mode de réalisation de la présente invention. Dans le processus 901, le dispositif établit un contact avec le service central et soumet une demande de battement cardiaque avec son identifiant unique et son adresse IP (protocole Internet) locale actuelle. Dans le processus 902, le service central répond à la requête du processus 901, renvoyant l'adresse IP publique de la demande au dispositif demandeur. La figure 10 est une représentation schématique illustrant des processus logiques dans un processus "d'Obtention de Conteneurs" par lequel le service central remet à jour un appareil de mémorisation vis-à-vis de conteneurs attribués par l'appareil de mémorisation selon un mode de réalisation de la présente invention. Dans le processus 1001, le dispositif établit un contact avec le service central et soumet une demande d'Obtention de Conteneurs avec son identifiant unique. Dans le processus 1002, le service central répond à la requête du processus 1001, renvoyant une liste des conteneurs du dispositif telle qu'elle est définie par le schéma dans la collection DispositifsConteneursClients de la figure 7. La figure 11 est une représentation schématique illustrant des processus logiques dans un processus "d'Obtention de Dispositifs Cibles de Réplication Pour un Conteneur" par lequel le service central remet à jour un appareil de mémorisation vis-à-vis d'autres dispositifs contenant actuellement le même conteneur logique selon un mode de réalisation de la présente invention. Dans le processus 1101, le dispositif établit un contact avec le service central et soumet une demande d'Obtention de Cibles de Réplication Pour un Conteneur avec son identifiant unique. Dans le processus 1102, le service central répond à la requête du processus 1101, renvoyant une liste d'autres dispositifs contenant actuellement le même conteneur logique telle qu'elle est définie par le schéma dans la collection DispositifsConteneursClients de la figure 7.
La figure 12 est une représentation schématique illustrant des processus logiques dans une communication de pair à pair entre un premier Appareil de Mémorisation (identifié dans celle-ci par "SA1") et un deuxième Appareil de Mémorisation (identifié dans celle-ci par "SA2"). SA1 crée une connexion de réseau avec SA2 et envoie une demande pour établir une connexion sécurisée. Si SA1 a une relation autorisée avec SA2, SA2 accepte la demande de connexion et renvoie une acceptation de la connexion. Après que SA1 ait reçu l'acceptation de connexion, il ajoute SA2 à sa liste de dispositifs actifs et commence à demander une information d'historique de changements de conteneurs à SA2 à intervalles réguliers. Lorsque SA1 reçoit une information d'historique de changements de conteneurs à partir de SA2 qu'il n'a pas vue auparavant, il traite la nouvelle information dans une tentative de résolution de tous conflits avec toute autre information d'historique de changements de dispositifs associée à ce même conteneur. Après cette résolution de conflits, SA1 demande à SA2 d'envoyer tous fichiers modifiés à SA1 afin de remettre à jour sa copie du conteneur. Ce processus se répète jusqu'à ce que SA1 et SA2 comportent tous deux les mêmes données de fichiers dans leurs copies respectives du conteneur. D'une autre façon, dans un autre mode de réalisation, SA2 peut diffuser tout nouvel historique de changements de conteneurs à SA1. SA1 devrait alors traiter la nouvelle information dans une tentative de résolution de tous conflits avec toute autre information d'historique de changements de dispositifs associée à ce même conteneur. Après cette résolution de conflits, SA1 demande à SA2 d'envoyer tous fichiers modifiés à SA1 afin de remettre à jour sa copie du conteneur. Ce processus se répète jusqu'à ce que SA1 et SA2 comportent tous deux les mêmes données de fichiers dans leurs copies respectives du conteneur.
La figure 13 est un schéma général de processus dans un procédé de gestion d'un système de fichiers distribués selon un mode de réalisation de la présente invention. Le système de fichiers selon ce mode de réalisation comporte une pluralité d'appareils de mémorisation spécialisés couplés à l'Internet. Dans le processus 1301, un serveur Internet, couplé à un système de base de données et à l'Internet, établit, pour chaque utilisateur enregistré, un compte d'utilisateur, un jeu d'appareils de mémorisation enregistrés, et un jeu de désignations de conteneurs pour la mémorisation de données. Le processus 1302 met en oeuvre la mémorisation dans le système de base de données d'un jeu de relations, établies par les utilisateurs, entre les appareils de mémorisation enregistrés et les désignations de conteneurs.
Dans le processus 1303, un processus de service central, couplé au système de base de données, provoque la délivrance de données de relations dispositif-conteneur aux appareils de mémorisation, de façon à permettre aux dispositifs de corroborer les conteneurs à l'intérieur de ceux-ci, et de répliquer des fichiers avec d'autres dispositifs qui ont corroboré des conteneurs correspondants, d'une manière correspondant aux relations mémorisées, et le processus de service central se déroule sans interaction avec les données mémorisées dans les conteneurs. La figure 14 est un schéma général de processus mis en jeu dans la gestion des relations selon un autre mode de réalisation de la présente invention. Le processus 1401 met en oeuvre la réception à partir d'un utilisateur envoyeur d'une instruction pour délivrer une invitation à un utilisateur récepteur à ajouter un conteneur sélectionné de l'utilisateur envoyeur au jeu de désignations de conteneurs de l'utilisateur récepteur, et, en réponse à cela, la délivrance de l'invitation. Le processus 1402 met en oeuvre, lors de l'acceptation de l'invitation à partir de l'utilisateur récepteur, l'addition du conteneur sélectionné au jeu de désignations de conteneurs de l'utilisateur récepteur. Le processus 1403 met en oeuvre la réception, à partir de l'utilisateur récepteur, de données définissant une relation entre le conteneur sélectionné et au moins un appareil de mémorisation de l'utilisateur récepteur. Le processus 1404 met en oeuvre l'utilisation du processus de service central pour remettre à jour les données de relations dispositif-conteneur dans l'appareil de mémorisation au nombre d'au moins un de l'utilisateur récepteur. Dans un mode de réalisation associé de la présente invention, il peut être disposé une pluralité de serveurs Internet. Comme dans les modes de réalisation ci- dessus, utilisant un serveur Internet unique, chaque serveur Internet selon ce mode de réalisation est couplé à un système de base de données et à l'Internet, et comporte un processus de service central couplé au système de base de données. Ces serveurs Internet fonctionnent de façon à synchroniser des données dans les systèmes de base de données, de telle sorte que chaque système de base de données réplique des données dans chacun des autres systèmes de base de données. Dans une mise en oeuvre de ce mode de réalisation, un serveur Internet primaire gère tous les enregistrements d'utilisateur et toutes les désignations de conteneurs, et le serveur primaire provoque une réplication de ses données de système de base de données dans la totalité des autres systèmes de base de données associés aux autres serveurs. D'une autre façon, la totalité des serveurs Internet peuvent fonctionner sur une base pair à pair et répliquer leurs données sur une base pair à pair. Dans tous les cas, quelle que soit la façon de réaliser la réplication, l'utilisation d'une pluralité de serveurs Internet permet la gestion d'un plus grand nombre d'appareils de mémorisation spécialisés. Lorsque le nombre d'appareils de mémorisation spécialisés augmente, il peut y avoir une augmentation du nombre de serveurs Internet utilisés pour communiquer avec ceux-ci. Bien que, comme décrit ci-dessus, un serveur Internet ne gère pas les données mémorisées dans les conteneurs, et peut par conséquent desservir un grand nombre de conteneurs et un grand nombre d'appareils de mémorisation, néanmoins, en un certain point, un serveur Internet peut être surchargé, et l'utilisation d'une pluralité de serveurs Internet permet la mise à l'échelle des ressources, de façon à gérer un grand nombre arbitraire de conteneurs et d'appareils de mémorisation. La charge gérée par les processus de service central exécutés sur les différents serveurs Internet peut être attribuée selon l'un quelconque d'un certain nombre de procédés appropriés. Selon un procédé, par exemple, l'attribution peut être effectuée en fonction des utilisateurs et de l'activité. Ainsi, un premier des N serveurs Internet peut exécuter des processus de service central pour (1/N) des utilisateurs enregistrés, etc. lo Ce mode d'attribution peut être modifié si nécessaire dans le cas où l'un des serveurs, par exemple, connaît une activité qui dépasse un niveau moyen d'activité. K. CLIENT DE MEMORISATION Comme décrit ci-dessus, des clients de mémorisation peuvent être des ordinateurs clients ou d'autres dispositifs qui accèdent à des fichiers sur un appareil 15 de mémorisation, qui peuvent être reliés directement, par exemple par un câble USB, ou par un réseau relié, tel qu'un réseau câblé (par exemple, Ethernet), ou sans fil (par exemple, WiFi). Essentiellement, pour le client de mémorisation, l'appareil de mémorisation est vu comme un dispositif de mémorisation local ou distant, et le client de mémorisation peut interagir avec l'appareil de mémorisation sensiblement comme 20 il le ferait avec d'autres types de dispositifs de mémorisation, par exemple de façon à créer des fichiers et des répertoires, de façon à lire des fichiers, de façon à écrire des fichiers, etc. Il peut également accéder à des conteneurs qui ont été établis par l'intermédiaire du service central et synchronisés avec l'appareil de mémorisation. Dans certains modes de réalisation, au moins certains des clients de 25 mémorisation exécutent une application cliente (qui peut être désignée ici sous le nom d'application de "Poste de Travail Connecté") qui interagit avec le dispositif de commande de mémorisation de l'appareil de mémorisation de façon à produire une fonctionnalité améliorée pour des conteneurs qui sont gérés sur ou par l'intermédiaire de l'appareil de mémorisation, et, également, une fonctionnalité améliorée pour la 30 façon dont ces conteneurs sont gérés par le client de mémorisation. Dans un exemple particulier de mode de réalisation, l'application cliente permet à l'utilisateur de choisir, sur une base conteneur par conteneur, si le conteneur est en cache localement sur le client de mémorisation ou s'il y est accédé à distance à partir de l'appareil de mémorisation. Essentiellement, lorsqu'un conteneur est créé dans 35 l'appareil de mémorisation, un répertoire virtuel est créé sur le système informatique client, qui peut, de façon sélective, soit conserver une version en cache locale du conteneur, soit nécessiter l'accès à l'appareil de mémorisation lorsque l'utilisateur utilise le répertoire. Lorsque l'accès à distance à un conteneur est sélectionné, les opérations de mémorisation entre le client de mémorisation et l'appareil de mémorisation sont sensiblement identiques à celles lorsqu'un client de mémorisation accède à un dispositif de mémorisation classique, à savoir que, par exemple, des accès de lecture/écriture sont principalement envoyés à, et satisfaits par, l'appareil de mémorisation. Entre autres, l'option d'accès à distance tend à assurer que les lectures sont satisfaites avec la version la plus récente du fichier et que les écritures sont soumises immédiatement à une mémorisation, mais souffre des retards qui sont caractéristiques à cet accès synchrone. Lorsqu'une mise en cache locale d'un conteneur est sélectionnée, une copie locale du conteneur et de son contenu est créée sur le client de mémorisation, et des accès de lecture/écriture sont envoyés à, et satisfaits par, la copie en cache ; une procédure de synchronisation est exécutée par l'application de mémorisation dans le client de mémorisation et le dispositif de commande de mémorisation dans l'appareil de mémorisation de façon à remettre à jour le conteneur dans l'appareil de mémorisation avec tous changements apportés à la copie en cache, et de façon à remettre à jour la copie en cache avec tous changements apportés au conteneur dans l'appareil de mémorisation (par exemple, des changements effectués par l'intermédiaire du service central et/ou par l'intermédiaire d'une synchronisation avec un ou plusieurs appareils de mémorisation pairs). Entre autres, l'option de mise en cache locale permet généralement des lectures et des écritures plus rapides, car les accès de lecture/écriture n'ont pas besoin d'être complètement synchrones avec l'appareil de mémorisation, mais un processus de synchronisation final est nécessaire pour synchroniser la copie en cache avec la copie sur l'appareil de mémorisation. La figure 35 est une représentation schématique représentant le fonctionnement de l'option d'accès à distance, selon un exemple de mode de réalisation. Ici, des demandes d'accès en mémoire 3502 venant de l'utilisateur sont traitées dans le client de mémorisation par l'application de mémorisation, qui satisfait aux demandes d'accès en mémoire par communication avec le dispositif de commande de mémorisation dans l'appareil de mémorisation, par exemple pour lire un fichier ou pour écrire un fichier. La figure 36 est une représentation schématique représentant le fonctionnement de l'option de mise en cache locale, selon un exemple de mode de réalisation. Ici, des demandes d'accès en mémoire 3602 venant de l'utilisateur sont traitées localement par l'application de mémorisation dans le client de mémorisation à l'aide d'une copie en cache du conteneur conservée dans la mémoire locale. L'application de mémorisation dans le client de mémorisation et le dispositif de commande de mémorisation dans l'appareil de mémorisation interagissent de façon à synchroniser les copies du conteneur conservées dans le disque dur de l'appareil de mémorisation et la mémoire locale du client de mémorisation. De plus, dans certains modes de réalisation, l'application de mémorisation permet à l'utilisateur d'effectuer une commutation dynamique entre l'accès à distance et la mise en cache locale sur une base conteneur par conteneur. De façon spécifique, l'application de mémorisation comprend une interface d'utilisateur grâce à laquelle l'utilisateur peut sélectionner, sur une base conteneur par conteneur, et de façon dynamique, si le conteneur sera mis localement en cache ou s'il y sera accédé à distance. Lors de la commutation d'un conteneur d'un accès à distance à une mise en cache locale, l'application de mémorisation dans le client de mémorisation io interagira avec le dispositif de commande de mémorisation dans l'appareil de mémorisation de façon à copier le contenu du conteneur vers la mémoire locale dans le client de mémorisation et à établir le processus de synchronisation d'arrière-plan. Lors de la commutation d'un conteneur d'une mise en cache locale à un accès à distance, l'application de mémorisation dans le client de mémorisation effectue un 15 processus de synchronisation de façon à assurer que tous changements apportés à la copie en cache locale soient transmis au disque dur dans l'appareil de mémorisation, après quoi l'application de mémorisation accède à distance au conteneur plutôt que d'accéder à la copie (précédemment) mise localement en cache du conteneur. 20 La figure 37 montre un écran d'interface d'utilisateur principale pour l'application cliente de mémorisation (qui peut être désigné ici sous le nom de "Poste de Travail Connecté"), selon un exemple de mode de réalisation. Entre autres, cet écran comprend une fenêtre 3702 affichant une représentation d'un ordinateur client 3704, une représentation d'un transporteur particulier 3706, et des représentations d'un ou 25 de plusieurs autre(s) transporteur(s) 3708. Dans cette représentation de fenêtre est affichée une information d'activité entre l'application hôte (l'ordinateur) et les différents appareils de mémorisation, à savoir que différentes flèches s'afficheront pour faire savoir à l'utilisateur que des données circulent entre les appareils/clients. L'écran comprend également différentes icônes de commande et d'état 3710 à 3722. 30 Le bouton "préférences" 3710 est utilisé pour ouvrir une page de dialogue de préférences (décrite ci-dessous). Le bouton "gestion de votre compte" 3712 est utilisé pour lancer le navigateur Internet afin d'amener l'utilisateur à l'interface d'utilisateur du service central. Le bouton "transporteur" 3714 affiche un dialogue qui montre à l'utilisateur quels fichiers sont transférés vers/à partir de l'appareil de 35 mémorisation. Le bouton "dossiers" 3716 montre la totalité des conteneurs qui sont disponibles et laisse l'utilisateur ouvrir une fenêtre "recherche" sur ceux-ci. Le bouton "info" 3718 ouvre un dialogue "Au Sujet de Connected Data" qui affiche la version et d'autres informations de l'application. Le bouton "outils" 3720 permet à l'utilisateur de vérifier les mises à jour et d'accéder aux journaux de débogage. Le bouton "marche/arrêt" 3722 permet à l'utilisateur de quitter l'application. La figure 38 montre un exemple d'écran d'interface d'utilisateur qui est affiché après que l'utilisateur ait sélectionné l'icône "préférences" 3710 en figure 37, et sélectionne l'onglet "informations générales" en haut de la fenêtre. A partir de cet écran, l'utilisateur peut configurer, par l'intermédiaire de la case à cocher 3802, si l'application de Poste de Travail Connecté est démarrée automatiquement ou non lors de la connexion. L'utilisateur peut également configurer, par l'intermédiaire de la case à cocher 3804, si de nouveaux Dossiers Connectés sont ou non mis en cache localement (l'option par défaut consiste à mettre en cache localement les dossiers nouvellement créés). L'utilisateur peut également configurer, par l'intermédiaire des cases à cocher 3806 à 3810, la façon dont les notifications sont traitées, par exemple si des notifications de téléchargement de fichier sont montrées ou non dans le Centre de Notification, et, si les notifications sont représentées, si oui ou non le fait de cliquer sur la notification ouvre le fichier ou le dossier contenant le fichier. L'utilisateur peut également configurer, par l'intermédiaire de la case à cocher 3814, si oui ou non la mise en cache par le système d'exploitation du système de fichiers est validée, si le système d'exploitation permet une telle mise en cache. L'écran affiche également l'identifiant unique universel (UUID) du Logiciel dans la fenêtre 3812.
La figure 39 montre un exemple d'écran d'interface d'utilisateur qui est affiché après que l'utilisateur ait sélectionné l'icône "préférences" 3710 en figure 37 et qu'il sélectionne l'onglet "dossiers" en haut de la fenêtre. Cet écran comprend une fenêtre 3902 qui énumère les dossiers existants (dans cet exemple, trois dossiers), et, pour chaque dossier, l'utilisateur peut configurer, par l'intermédiaire des cases à cocher correspondantes 3904 à 3908, si le dossier est mémorisé localement sur l'ordinateur (ou, autrement dit, avec la case à cocher cochée comme pour le dossier dénommé "Photos"), ou s'il y est accédé à distance (ou, autrement dit, avec la case à cocher laissée décochée, comme pour les dossiers dénommés "NewPoolX" et "Système"). L'utilisateur peut également configurer, par l'intermédiaire de la case à cocher 3910, Si oui ou non de nouveaux Dossiers Connectés sont mis en cache localement (l'option par défaut consiste à mettre en cache localement les dossiers nouvellement créés). On devra noter que, dans certains modes de réalisation, qu'un conteneur soit mis en cache localement ou qu'il y soit accédé à distance, une copie locale du 35 contenu du conteneur (ou simplement d'un ou de plusieurs fichiers à partir du conteneur) peut être mémorisée au moins temporairement sur l'ordinateur client, par exemple pour une mise en cache ou pendant un travail sur le fichier dans un traitement de texte ou une autre application.
On devra également noter que, dans certains modes de réalisation, l'ordinateur client peut être relié à l'appareil de mémorisation, de telle sorte que, lorsque des données sont mémorisées sur l'ordinateur client (par exemple, dans un dossier), les données soient automatiquement envoyées à un conteneur correspondant sur l'appareil de mémorisation, ce qui provoquera alors une distribution des données à tous les autres appareils de mémorisation qui partagent le conteneur. On devra noter que d'autres modes de réalisation de l'application de Poste de Travail Connecté peuvent fournir une messagerie d'utilisateur à utilisateur. Par exemple, l'interface d'utilisateur peut fournir un écran de messagerie par w l'intermédiaire duquel un utilisateur peut entrer un message, et également désigner le ou les destinataire(s) pour le message, et tous ces messages peuvent être propagés par l'appareil de mémorisation de l'utilisateur vers le ou les destinataire(s) désigné(s), ce qui, dans certains cas, peut mettre en jeu des communications directes de pair à pair entre des appareils de mémorisation, dans certains cas, mettre en jeu une 15 communication entre l'appareil de mémorisation de l'utilisateur et le service central, ou, dans certains cas, mettre en jeu une communication directement sur l'Internet ou un autre réseau en dehors de l'appareil de mémorisation et du service central. Cette messagerie peut être particulièrement utile pour une collaboration entre utilisateurs, ce qui est décrit ci-dessous. 20 L. ARCHITECTURE D'APPAREIL DE MEMORISATION La figure 15 est une représentation schématique générale montrant l'architecture d'appareil de mémorisation du point de vue des processus réels ou logiques mis en oeuvre dans l'appareil de mémorisation, selon un exemple de mode de réalisation. Entre autres, les processus d'appareil de mémorisation comprennent 25 un processus de Commande Principale 1502, un processus de Contrôle d'Etat d'Appareil de Mémorisation 1504, un processus de Contrôle de Remise à Jour de Système de Fichiers 1506, un processus de Gestionnaire de Conteneurs 1508, un processus de Gestionnaire d'Historique de Versions de Conteneurs 1510, un processus de Gestionnaire d'Historique de Versions 1512, un processus de 30 Résolution de Conflits d'Historique de Versions 1514, un processus de Traitement de Fichiers Entrants 1516, un processus de Traitement de Fichiers Sortants 1518, un processus de Communications avec le Serveur Central 1520, un processus de Communications avec les Appareils de Mémorisation Pairs 1522, et une Interface de Réseau 1524 qui est couplée à un réseau de communication afin de permettre une 35 communication entre l'appareil de mémorisation et le service central, et de permettre également une communication entre l'appareil de mémorisation, le ou les appareil(s) de mémorisation pair(s) et le ou les client(s) de. mémorisation. Le processus de Contrôle d'Etat d'Appareil de Mémorisation 1504 et le processus de Contrôle de Remise à Jour de Système de Fichiers 1506 sont en communication avec un ou plusieurs disques durs (qui peuvent être internes à l'appareil de mémorisation et/ou externes à l'appareil de mémorisation). Le processus de Commande Principale 1502 est le processus de commande de niveau supérieur qui démarre tous les autres processus. Le processus de Gestionnaire de Conteneurs 1508 est te processus central qui gère toutes les fonctions associées aux conteneurs. Le processus de Contrôle d'Etat d'Appareil de Mémorisation 1504 est le processus de contrôle de santé global qui gère le matériel et le ou les disque(s) dur(s). Le processus de Communications avec le Serveur Central 1520 est le processus qui gère toutes les communications entre l'appareil de mémorisation et le service central. Le processus de Communications avec les Appareils de Mémorisation Pairs 1522 est le processus qui gère toutes les communications entre cet appareil de mémorisation et le ou les appareil(s) de mémorisation et le ou les client(s) de mémorisation pair(s). Le processus de Contrôle de Remise à Jour de Système de Fichiers 1506 est le processus qui contrôle tous les changements au ou aux disque(s) dur(s) locaux. Le processus de Traitement de Fichiers Entrants 1516 est le processus qui gère de nouveaux fichiers envoyés à partir d'un autre appareil/client de mémorisation pair. Le processus de Traitement de Fichiers Sortants 1518 est le processus qui gère l'envoi de fichiers à un autre appareil/client de mémorisation pair. Le processus de Gestionnaire d'Historique de Versions de Conteneurs 1510 est appelé par le Gestionnaire de Conteneurs 1508 pour vérifier l'historique de versions de conteneurs pour tous le ou les appareil(s) de mémorisation et client(s) de mémorisation pair(s). Il y a un historique de versions séparé pour chaque conteneur. Le processus de Synchronisation d'Historique de Versions 1512 est appelé après chaque nouvelle remise à jour d'historique de versions de pairs, ce processus vérifiant le nouvel historique afin de déterminer s'il y a de quelconques changements (additions, effacements, modifications) qui doivent être apportés aux fichiers du conteneur, et, si c'est le cas, qui effectue les changements requis. Le processus de Résolution de Conflits d'Historique de Versions 1514 est appelé par le processus de Synchronisation d'Historique de Versions 1512 afin de résoudre tous conflits entre les fichiers du conteneur local et les fichiers sur l'appareil/client de mémorisation pair ; ce processus change les données dans les conteneurs pour tous les pairs, de telle sorte qu'elles concordent sur tous les appareils de mémorisation.
La figure 16 est une représentation schématique illustrant des processus logiques dans une communication de pair à pair entre un premier Appareil de Mémorisation ou Client de Mémorisation 1602 et un deuxième Appareil de Mémorisation 1604, similaires aux processus représentés et décrits en se référant à la figure 12. Dans cet exemple, l'appareil de mémorisation 1602 envoie un message de remise à jour d'état 1606 au serveur central 1603, par exemple pour demander une information de réseau, une information d'utilisation de capacité, et analogue. Le serveur central 1603 envoie un message de remise à jour d'appareils de mémorisation pairs 1608 à l'appareil de mémorisation 1604 et envoie également un message d'appareils de mémorisation enregistrés 1610 à l'appareil de mémorisation 1602, ces messages contenant une information suffisante pour permettre à l'appareil de mémorisation 1602 et à l'appareil de mémorisation 1604 d'établir des communications de pair à pair entre eux, par exemple pour synchroniser des fichiers.
Ensuite, une connexion de communication 1612 est établie entre les appareils de mémorisation 1602 et 1064 à l'aide de protocoles d'établissement de connexion caractéristiques (par exemple, des communications basées sur le TCP (Protocole de Commande de Transmission) ou sur l'UDP (Protocole de Datagrammes d'Utilisateur)), et les appareils de mémorisation 1602 et 1604 peuvent alors échanger et synchroniser des fichiers à l'aide d'une série d'échanges de messages qui comprennent la demande et l'obtention d'une information d'historique de versions de fichiers l'un à partir de l'autre (ceci étant représenté par les messages 1614 et 1616) et la réalisation d'une remise à jour de fichiers si nécessaire (ceci étant représenté par le message (1618). Ces messages d'établissement de liaison peuvent être répétés pour chaque fichier qui est partagé par les deux appareils de mémorisation, par exemple comme représenté par les messages 1620 et 1622. Lorsque tous les fichiers partagés ont été remis à jour, la connexion est déconnectée, en 1623. Chaque appareil de mémorisation 1602 et 1604 envoie un message de remise à jour d'état 1626 et 1624, respectivement, au serveur central 1603, afin d'informer le serveur central 1603 du fait que les fichiers ont été remis à jour. M. INTERFACE D'UTILISATEUR DE SERVICE CENTRAL Différents exemples d'aspects de l'interface d'utilisateur gérée par le serveur central sont à présent représentés et décrits en se référant aux figures 17 à 34, qui sont des exemples de captures d'écran de différents écrans d'interface d'utilisateur.
La figure 17 montre un écran d'interface d'utilisateur principale à partir duquel un utilisateur peut se connecter à un compte existant ou créer un nouveau compte. La figure 18 montre un écran d'interface d'utilisateur pour que l'utilisateur crée un nouveau compte. Entre autres, l'utilisateur entre son prénom, son nom, son nom d'utilisateur créé par lui-même (qui peut être utilisé dans différentes transactions 35 associées à la mémorisation), son adresse de courriel, son mot de passe créé par lui-même (avec la confirmation de celui-ci), et entre l'information de "question antirobots", qui est utilisée pour empêcher (ou au moins dissuader) des systèmes informatisés de créer des comptes d'utilisateur.
La figure 19 montre un écran d'interface d'utilisateur montrant tous les dossiers connectés d'un compte d'utilisateur, tels qu'ils pourraient être affichés lorsque l'utilisateur sélectionne l'icône "Dossiers Connectés" 1902. Dans cet exemple, trois jeux de dossiers sont affichés, et, de façon spécifique, les propres dossiers connectés 1904 de l'utilisateur, des dossiers connectés qu'un utilisateur X a partagé avec l'utilisateur 1906, et des dossiers connectés qu'un utilisateur Y a partagé avec l'utilisateur 1908. Dans chacune des lignes affichées 1904, 1906 et 1908, le nombre de dossiers de chaque catégorie est représenté entre parenthèses, ou, autrement dit, la ligne 1904 montre qu'il y a trois dossiers associés, la ligne 1906 montre qu'il y a un 10 dossier associé, et la ligne 1908 montre qu'il y a un dossier associé. Pour chaque ligne, l'utilisateur peut choisir "d'étendre" ou de "replier" la liste des dossiers, à savoir en cliquant sur l'icône triangulaire. Dans cet exemple, la liste de dossiers pour la ligne 1904 est étendue de façon à montrer les trois dossiers, en 1905, la liste de dossiers pour la ligne 1906 est repliée, et la liste de dossiers pour la ligne 1908 est 15 étendue pour montrer le dossier 1910. Pour chaque dossier affiché dans la liste de dossiers étendue, il y a un jeu d'informations 1912 comprenant, de gauche à droite, la taille du dossier, le nombre d'appareils de mémorisation sur lesquels l'utilisateur mémorise le dossier, le nombre total d'appareils de mémorisation qui mémorisent le dossier, et le nombre d'utilisateurs qui partagent le dossier (y compris l'utilisateur lui- 20 même). Dans cet exemple de mode de réalisation, chaque nom de dossier (1905) est un hyperlien vers la page de détails (voir la figure 25 et le texte associé), de telle sorte que le fait de cliquer sur les noms de dossier ouvre la page de détails. Egalement, pour chaque dossier affiché dans une liste de dossiers étendue, il y a un menu déroulant 1914 qui donne à l'utilisateur accès à différentes fonctions associées 25 au dossier. La figure 20 montre un écran d'interface d'utilisateur similaire à celui représenté en figure 19, mais comprenant ici un affichage 2002 indiquant que l'utilisateur a une invitation en attente à partir d'un autre utilisateur. L'affichage 2002 peut être transitoire (ou, autrement dit, il peut être montré pendant quelques secondes, puis 30 disparaître), mais l'icône "Messages" 2004 affiche le nombre d'invitations en attente, de telle sorte que, même lorsque l'affichage 2002 est parti, l'utilisateur puisse toujours voir qu'il y a une invitation en attente qui requiert son attention. L'utilisateur peut cliquer sur l'icône "Messages" 2004 (et, dans certains modes de réalisation, il peut de plus cliquer sur l'affichage 2002) pour voir les invitations en attente. 35 La figure 21 montre un écran d'interface d'utilisateur montrant des messages pour l'utilisateur, par exemple lorsque l'utilisateur sélectionne l'icône "Messages" 2004 en figure 20. Dans cet exemple, il y a une ligne affichée 2102 pour les invitations en attente, bien que cet écran d'affichage comprenne, de façon caractéristique, des lignes additionnelles pour d'autres catégories de messages, par exemple pour des courriels ou d'autres messages envoyés par l'intermédiaire du système de mémorisation. Comme avec les lignes affichées en figure 19, la ligne 2102 comprend une icône triangulaire grâce à laquelle l'utilisateur peut "étendre" ou "replier" la liste d'invitations en attente. Ici, la liste est étendue, de façon à montrer une invitation en attente 2104 pour "Travail Partagé". Pour chaque invitation en attente, il y a un jeu d'icônes 2106 et 2108 qui permettent à l'utilisateur d'accepter ou d'ignorer l'invitation. L'icône 2106 est un menu déroulant permettant à l'utilisateur soit d'accepter l'invitation et de sélectionner des appareils de mémorisation (désignés -Io dans cet exemple sous le nom de "transporteurs") pour un abonnement, soit d'accepter l'invitation sans sélection d'appareils de mémorisation pour un abonnement. Ainsi, par exemple, l'utilisateur pourrait sélectionner l'invitation et attribuer ensuite un ou plusieurs appareils de mémorisation au projet "Travail Partagé". 15 La figure 22 montre un écran d'interface d'utilisateur après que l'utilisateur ait sélectionné l'icône 1914 en figure 19 pour afficher le menu déroulant 2202 pour le dossier "Sauvegardes". Dans cet exemple, le menu déroulant 2202 permet à l'utilisateur d'ajouter/retirer des appareils de mémorisation pour le dossier, d'ajouter/retirer des personnes pour le dossier, de renommer le dossier, ou de 20 supprimer le dossier. La figure 23 montre un écran d'interface d'utilisateur après que l'utilisateur ait sélectionné "Ajouter/Retirer des Personnes" à partir du menu déroulant 2202 de la figure 22 afin d'afficher une fenêtre 2302 à partir de laquelle l'utilisateur peut ajouter ou retirer des personnes pour le dossier. Dans cet exemple, l'utilisateur a déjà ajouté 25 deux noms à la liste pour le dossier et a commencé à saisir le nom d'un troisième utilisateur, et le système utilise un mécanisme du type "auto-remplissage" pour rechercher des utilisateurs correspondant aux données entrées et afficher le ou les utilisateur(s). La figure 24 montre l'écran d'interface d'utilisateur de la figure 23 après que la 30 troisième personne 2402 ait été ajoutée à la liste de personnes pour le dossier. La figure 25 montre un écran d'interface d'utilisateur qui est affiché après que l'utilisateur ait sélectionné le bouton "Soumettre" 2404 qui a été sélectionné en figure 24, ce qui ajoute les trois nouveaux utilisateurs au dossier et provoque l'envoi d'invitations aux trois nouveaux utilisateurs. Le dossier, qui était précédemment 35 Utilisé par une personne (à savoir l'utilisateur lui-même), est à présent utilisé par quatre personnes. Cet écran montre également les deux appareils de mémorisation qu'il utilise pour mémoriser le dossier, la taille du dossier, le nombre d'appareils de mémorisation auxquels il est abonné (désignés dans cet exemple sous le nom de "Transporteurs"), le type de partage (dans cet exemple, partage de "Collaboration", dans lequel tout utilisateur peut ajouter, changer ou effacer une information dans le dossier), et le propriétaire du dossier. Cet écran comprend un jeu d'icônes 2502 que l'utilisateur peut utiliser pour exécuter des fonctions additionnelles pour le dossier, comprenant l'ajout/retrait d'appareils de mémorisation, l'ajout/retrait de personnes, le fait de renommer le dossier, la suppression du dossier, ou le transfert de propriété du dossier. La figure 26 montre un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée lorsque l'utilisateur sélectionne l'icône "Ajouter/Retirer des Personnes" en figure 25. A partir de cette fenêtre, l'utilisateur peut supprimer un utilisateur du dossier. Dans cet exemple, il est demandé à l'utilisateur de saisir le mot "supprimer" pour confirmer que la personne est supprimée. La fenêtre comprend également une case à cocher grâce à laquelle l'utilisateur peut spécifier si l'utilisateur supprimé peut ou non conserver une copie de toutes données déjà partagées.
La figure 27 montre un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée lorsque l'utilisateur sélectionne l'icône "Transporteurs" 2504 en figure 25. A partir de cette fenêtre, l'utilisateur peut sélectionner quels dispositifs mémoriseront le dossier. La figure 28 est un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée si l'utilisateur ne sélectionne pas de transporteurs pour mémoriser le dossier en figure 27. Cette fenêtre comprend un avertissement pour indiquer que le retrait de tous les appareils de mémorisation du dossier provoquera l'effacement de toutes les données, et nécessite également que l'utilisateur entre le mot "confirmer" pour confirmer le changement de configuration.
La figure 29 est un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée lorsque l'utilisateur choisit l'icône "Renommer" à partir du jeu 2502 en figure 25. Cette fenêtre permet à l'utilisateur de changer le nom du dossier, et, également, d'ajouter une description de dossier optionnelle. La figure 30 montre un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée lorsque l'utilisateur sélectionne l'icône "Transporteurs" 2504 en figure 25, et sélectionne ensuite l'un de ses appareils de mémorisation. Cet écran montre des détails pour l'appareil de mémorisation sélectionné, comprenant la version de micrologiciel, la capacité de mémorisation, la capacité libre, le nombre de dossiers connectés, l'adresse IP locale, l'adresse IP publique, le numéro de série, la dernière information connectée, le statut, un graphique représentant la quantité relative de mémoire utilisée, et une liste des dossiers connectés. Il comprend également un jeu d'icônes 3002 qui permettent à l'utilisateur d'ajouter/retirer des dossiers connectés, de renommer l'appareil de mémorisation, de voir des indicateurs d'état pour l'appareil de mémorisation (désignées dans cet exemple sous le nom de "Voyants lumineux"), et d'exécuter d'autres fonctions. La figure 31 montre un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée lorsque l'utilisateur sélectionne "ajouter/retirer des dossiers connectés" à partir du jeu 3002 en figure 30. Cette fenêtre permet à l'utilisateur d'ajouter ou de retirer des dossiers connectés dans l'appareil de mémorisation sélectionné. La figure 32 montre un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée lorsque l'utilisateur choisit de supprimer l'appareil de mémorisation de son compte, par exemple à partir du menu "Avancé" du jeu 3002 en figure 30. Dans cet exemple de mode de réalisation, le menu déroulant "Avancé" comporte actuellement trois fonctions qui peuvent être demandées : Etablissement de Limites de Largeur de Bande, Autorisation de Partage de Fenêtres et Suppression d'Appareil. Les Limites de Largeur de Bande permettent à l'utilisateur de limiter la quantité de largeur de bande que l'appareil de mémorisation peut utiliser (l'option par défaut est "Auto"). Le Partage de Fenêtres permet à l'utilisateur d'accéder à l'appareil de mémorisation sans utiliser les applications clientes. Suppression d'Appareil permet à l'utilisateur de "dérevendiquer" l'appareil de mémorisation et de laisser quelqu'un d'autre le revendiquer. Ceci est généralement utilisé uniquement si et lorsque l'utilisateur donne l'Appareil à une personne différente pour l'utiliser/posséder. La fenêtre affiche un avertissement pour l'utilisateur, concernant l'effet de la suppression de l'appareil de mémorisation, et requiert que l'utilisateur entre le mot "supprimer" pour supprimer l'appareil de mémorisation du compte. La figure 33 montre un écran d'interface d'utilisateur affichant une information 25 concernant l'utilisateur et fournissant différentes commandes afin de permettre à l'utilisateur de remettre à jour l'information, de gérer les courriels, d'établir des préférences de compte, et de changer le mot de passe. La figure 34 montre un écran d'interface d'utilisateur comprenant une fenêtre qui est affichée lorsque l'utilisateur sélectionne l'icône "Gestion Courriels" en figure 30 33. A partir de cette fenêtre, l'utilisateur peut ajouter une adresse de courriel, et, si de multiples adresses de courriel sont spécifiées, sélectionner laquelle doit être l'adresse de courriel principale pour le compte. N. MEMORISATION SOCIALEMENT ORGANISEE Dans certains modes de réalisation, le système est utilisé pour mémoriser et 35 organiser des données qui sont partagées entre des utilisateurs (par exemple, "mémorisation socialement organisée"). Un groupe d'utilisateurs peut avoir accès au même conteneur virtuel. Lorsque des utilisateurs changent le contenu et/ou l'organisation de données dans leurs copies locales respectives, les changements seront propagés aux copies locales pour tous les utilisateurs dans le groupe. Par conséquent, à chaque fois qu'un membre du groupe accède à une copie locale, l'utilisateur verra une interface d'utilisateur qui a été remise à jour de façon à refléter les changements effectués collectivement par le groupe. Le contenu du conteneur est par conséquent réorganisé et évolue sur une base sociale. A titre d'exemple d'une telle mémorisation socialement organisée, un groupe d'amis peut partager des fichiers de musique dans un conteneur virtuel nommé "Musique partagée". Un utilisateur peut créer un dossier nommé "musique de relaxation", et déplacer huit fichiers vers celui-ci. L'appareil de mémorisation de l'utilisateur communique automatiquement les changements de l'utilisateur aux appareils des autres membres du groupe, et les appareils changent leurs copies locales du conteneur virtuel en conséquence. Lorsqu'un autre utilisateur accède au conteneur virtuel, l'utilisateur verra le dossier "musique de relaxation" et ses fichiers. L'utilisateur peut éditer la classification de la musique du premier utilisateur. Par exemple, l'utilisateur peut créer deux sous-dossiers à l'intérieur du dossier "musique de relaxation" - "jazz relaxant" et "musique classique relaxante". L'utilisateur peut déplacer les fichiers de musique de jazz et classique dans leurs dossiers correspondants, et l'appareil de mémorisation de l'utilisateur peut communiquer ces changements aux appareils des autres membres du groupe. Lorsque le premier utilisateur accède ensuite au conteneur virtuel, le premier utilisateur verra les éditions effectuées par l'autre utilisateur. D'autres types de changements seront également propagés parmi les conteneurs des utilisateurs. Par exemple, un autre utilisateur pourrait renommer le dossier (par exemple, de "musique de relaxation" à "musique douce de relaxation"), ajouter des fichiers additionnels dans le dossier, retirer un ou plusieurs fichiers du dossier, changer le nom d'un fichier, ou apporter d'autres changements au conteneur ou à l'intérieur de celui-ci, et les appareils communiqueront les uns avec les autres pour changer leurs copies locales respectives du conteneur virtuel en conséquence.
A titre d'autre exemple de cette mémorisation socialement organisée, un groupe de collègues de travail, par exemple chez Acme Company, peuvent partager des documents dans un conteneur virtuel nommé "Acquisition de Beta Company". Un utilisateur peut créer un dossier nommé "Finances", et l'appareil de mémorisation de l'utilisateur peut indiquer aux autres appareils dans le groupe de créer ce dossier sur leurs copies locales du conteneur. Lorsque l'utilisateur reçoit des documents concernant les finances de la Beta Company au cours de la transaction ou rencontre des documents concernant les finances de la Beta Company dans le conteneur, l'utilisateur peut ajouter ou déplacer les documents dans le dossier "Finances". Ces changements concernant les fichiers et leur organisation sont propagés aux autres appareils de mémorisation dans le groupe. Un autre utilisateur peut créer un dossier pour "Compensation des employés". L'utilisateur peut ajouter des copies de contrats de travail pour les membres de l'équipe de direction, des services d'ingénierie, du service comptable, du service de marchandisation, des équipes de vente, et du support administratif. Dans certains exemples, l'utilisateur peut créer des sous-dossiers correspondant à chacune de ces catégories afin d'organiser les contrats de travail par division. Dans certains exemples, les utilisateurs peuvent de plus créer des sous-dossiers à l'intérieur des dossiers de division pour différents niveaux de la hiérarchie, tels que "chefs de service", "dirigeants du niveau moyen", "personnel", et "support". L'utilisateur peut de plus organiser les contrats de travail à l'intérieur d'une division en fonction de la hiérarchie. Ces changements concernant les fichiers et leur organisation sont propagés aux autres appareils de mémorisation dans le groupe.
Dans certains exemples, un utilisateur peut créer un fichier nommé "Eléments d'actions" et ajouter le fichier à un répertoire racine à l'intérieur du conteneur. Le fichier peut être utilisé pour suivre des tâches devant être réalisées pour l'acquisition. Lorsque la transaction progresse, un utilisateur peut ajouter des tâches au fichier au fur et à mesure que le groupe en apprend davantage au sujet du fonctionnement de la société visée. Des remises à jour au contenu du fichier sont envoyées aux appareils de mémorisation des autres utilisateurs, de façon à tenir ainsi au courant les membres du groupe des développements de la transaction. De plus, lorsque des utilisateurs réalisent des tâches, ils peuvent remettre à jour leurs copies locales du fichier afin d'indiquer quelles tâches ont été achevées, et le résultat de leur diligence raisonnable. Ces changements au fichier sont envoyés aux appareils de mémorisation du groupe. Lors de l'opération, des utilisateurs peuvent appartenir au même groupe de réplication/synchronisation (ris). Au moins l'un du ou des appareil(s) de mémorisation de chaque utilisateur peut être relié au même conteneur virtuel, et une information concernant le lien peut être mémorisée par le service central. Chaque utilisateur peut avoir plein accès au conteneur virtuel, à savoir que, par exemple, chaque utilisateur peut lire et écrire dans le conteneur virtuel de façon à changer ainsi le contenu et/ou l'organisation de dossiers et/ou de fichiers à l'intérieur de celui-ci. De plus, ou d'une autre façon, certains utilisateurs peuvent avoir un accès limité au conteneur virtuel, par exemple un accès en lecture seule. Lorsqu'un utilisateur apporte des changements à un conteneur virtuel, l'appareil de mémorisation de l'utilisateur peut provoquer la réalisation par les autres appareils de mémorisation qui sont également reliés au conteneur virtuel des mêmes changements à leurs copies locales. Par conséquent, des changements à un conteneur virtuel peuvent être propagés à tous les membres du groupe de réplication/synchronisation. Lors de l'opération, dans certains modes de réalisation, un utilisateur peut éditer le contenu d'un fichier dans le conteneur virtuel. Dans certains modes de réalisation, un utilisateur peut éditer l'organisation des fichiers dans le système de fichiers du conteneur virtuel (par exemple, les métadonnées du système de fichiers). L'appareil de mémorisation de l'utilisateur peut déterminer que le conteneur virtuel est configuré pour une mémorisation socialement organisée. Dans un exemple, le conteneur virtuel peut comporter un réglage associé à la mémorisation socialement organisée.
Dans un autre exemple, l'identifiant du conteneur virtuel peut avoir un format qui indique que le conteneur virtuel est configuré pour une mémorisation socialement organisée. L'appareil de mémorisation relié au conteneur virtuel peut envoyer une demande au service central pour une information concernant d'autres membres du groupe de réplication/synchronisation (r/s). La demande peut comprendre l'identifiant du conteneur virtuel, par exemple un numéro d'identification. Dans certaines réalisations, la demande peut être une demande d'Obtention de Cibles de Réplication Pour un Conteneur. En réponse, le service central envoie, de façon caractéristique, une information d'identification pour certains ou pour la totalité des autres appareils de mémorisation dans le groupe r/s associé au conteneur virtuel. Dans différents modes de réalisation, l'information d'identification peut comprendre une adresse de réseau associée à un appareil de mémorisation et/ou une autre information d'identification. L'appareil de mémorisation mémorise l'information d'identification. L'appareil de mémorisation indique aux autres appareils de mémorisation dans le groupe r/s de remettre à jour les données dans leurs copies locales du conteneur virtuel, en fonction des changements de l'utilisateur. Un appareil de mémorisation particulier peut communiquer avec tous les autres appareils de mémorisation dans le groupe r/s pour propager des changements à tous les appareils de mémorisation, ou l'appareil de mémorisation peut communiquer avec un sous-jeu des appareils de mémorisation, dont chacun peut alors communiquer avec un ou plusieurs autres appareils de mémorisation afin de propager les changements à tous les appareils de mémorisation. A l'aide de l'information d'identification pour un autre appareil dans le groupe r/s, l'appareil de mémorisation peut établir une connexion avec l'autre appareil. Dans certains modes de réalisation, l'appareil de mémorisation peut établir une connexion sécurisée et/ou de pair à pair. L'appareil de mémorisation peut envoyer à l'autre appareil une demande pour établir la connexion.
Une fois que la connexion a été établie, l'appareil de mémorisation peut indiquer à l'autre appareil de changer des données dans sa copie locale du conteneur virtuel. Dans différents modes de réalisation, le changement peut être un changement à l'information d'historique de changements de conteneur, un historique de versions de fichiers, des données dans un fichier dans le conteneur virtuel, des métadonnées associées à des fichiers dans le conteneur virtuel, ou n'importe quelle combinaison de ceux-ci. L'appareil de mémorisation peut envoyer l'instruction dans un message ou sur une série de messages. Chaque instruction peut comprendre une demande d'accusé de réception à partir de l'autre appareil de mémorisation. Dans certains modes de réalisation, lorsque l'appareil de mémorisation envoyeur envoie l'instruction sur de multiples messages, l'appareil de mémorisation peut attendre un signal d'accusé de réception à partir de l'appareil récepteur avant d'envoyer le message suivant. Après que l'appareil de mémorisation ait reçu un signal d'accusé de réception en réponse au message final envoyé à un autre appareil, l'appareil de mémorisation peut répéter le même processus avec un autre appareil dans le groupe r/s. Lorsque l'appareil de mémorisation a fini ses instructions à tous les autres appareils dans le groupe, l'appareil peut, de façon optionnelle, envoyer un message au service central indiquant que le contenu du conteneur virtuel a été remis à jour.
Dans certains modes de réalisation, le service central peut, de façon optionnelle, envoyer un message (par exemple, un message de courriel) à chaque utilisateur dans le groupe r/s, concernant les changements au conteneur virtuel (cette messagerie peut être configurable par l'utilisateur). Le service central peut envoyer les messages en réponse à la réception du message à partir d'un appareil de mémorisation du fait que le contenu du conteneur a été remis à jour. Dans certains modes de réalisation, le propriétaire ou le créateur du conteneur virtuel peut configurer le conteneur de telle sorte que des messages ne soient envoyés qu'en ce qui concerne certains types de changements. Par exemple, le service central peut informer les utilisateurs lorsque les contenus de fichiers ont été changés et que les fichiers ont été réorganisés. De plus, ou d'une autre façon que la notification au service central lorsque le contenu d'un conteneur virtuel a été remis à jour, un ou plusieurs des appareils de mémorisation peuvent envoyer un message (par exemple, un message de courriel) à des utilisateurs spécifiques pour indiquer aux utilisateurs lorsque le contenu d'un conteneur virtuel a été remis à jour et/ou peuvent délivrer un signal qui permet à l'application de Poste de Travail Connecté dans l'ordinateur du client de générer un indicateur local du fait que le contenu du conteneur virtuel a été remis à jour. Par conséquent, certains modes de réalisation de la mémorisation socialement organisée comprennent un ou plusieurs types de messagerie, qui peuvent être coordonnés par l'intermédiaire du service central ou qui peuvent être exécutés indépendamment du service central. Cette messagerie peut comprendre une messagerie directe d'utilisateur à utilisateur, de façon à faciliter la collaboration (par exemple, un utilisateur peut modifier un fichier et envoyer un message à un autre utilisateur, demandant que l'utilisateur vérifie les changements). Des messages envoyés entre appareils de mémorisation utiliseront, de façon caractéristique, les types de mécanismes de communication similaires à ceux utilisés pour propager des changements apportés au conteneur virtuel.
Les figures 40 à 42 représentent des exemples de changements à des interfaces d'utilisateur au niveau d'appareils de mémorisation dans un groupe de réplication/synchronisation lorsque des contenus sont réorganisés dans un conteneur virtuel commun. Dans cet exemple de mode de réalisation, les appareils de mémorisation sont reliés à un conteneur virtuel qui a été intitulé "Fichiers de la Société". En figure 40, le conteneur virtuel comprend trois fichiers dans le répertoire racine. De façon caractéristique, tous les utilisateurs accédant au conteneur virtuel à partir de leurs appareils de mémorisation verront la même interface d'utilisateur. Si l'on se réfère à présent à la figure 41, un utilisateur peut créer un dossier nommé "Projet XYZ" et déplacer le fichier "Idée_pour_projet_xyz.JPG" dans le 20 dossier. En fonction de la configuration du conteneur, et d'une manière transparente pour l'utilisateur, l'appareil de mémorisation de l'utilisateur peut déterminer que le conteneur virtuel est associé à un groupe r/s. Pour propager le changement d'organisation de fichiers aux autres membres du groupe, l'appareil de mémorisation de l'utilisateur peut demander l'information d'identification des autres membres à 25 partir du service central. Par exemple, l'appareil de mémorisation peut envoyer au service central une demande avec l'identifiant du conteneur virtuel. En réponse, le service central recherche et trouve le groupe r/s associé au conteneur virtuel. Le service central récupère l'information d'identification concernant les membres du groupe et l'envoie à l'appareil de mémorisation de l'utilisateur. 30 L'appareil de mémorisation de l'utilisateur établit une connexion avec un autre appareil dans le groupe. L'appareil envoie le changement dans des métadonnées correspondant à la réorganisation de fichiers effectuée par l'utilisateur. L'appareil récepteur change les métadonnées dans sa copie locale du conteneur virtuel en fonction de l'information venant de l'appareil de l'utilisateur. L'appareil de l'utilisateur 35 répète le processus avec les autres appareils dans le groupe, de telle sorte que les changements soient propagés à tous les appareils de mémorisation dans le groupe. Après que tous les appareils aient remis à jour leurs copies locales du conteneur virtuel, les utilisateurs verront également l'interface d'utilisateur représentée dans la figure. Si l'on se réfère à présent à la figure 42, un autre utilisateur peut créer le dossier "Société_docs" et déplacer le fichier "Client_org_graphique.jpg" dans le dossier. De façon similaire, l'appareil de mémorisation de cet utilisateur peut demander l'information d'identification d'autres membres du groupe r/s du Conteneur virtuel à partir du service central. L'appareil de mémorisation peut indiquer aux autres membres de changer les métadonnées dans leurs copies locales en fonction de la réorganisation de fichiers de l'utilisateur. On devra noter que les appareils de mémorisation, du fait de leurs capacités -Io inhérentes de synchronisation et de communication de pair à pair, peuvent être utilisés de façon générale pour virtuellement tout type de services de "mémorisation et transmission" dans lesquels des données peuvent être mises dans un conteneur et partagés automatiquement avec un ou plusieurs utilisateurs désignés. Par exemple, le service de "mémorisation et transmission" peut être utilisé pour fournir 15 efficacement des services équivalant à la transmission de télécopies, à la messagerie par courriels, à la messagerie par messages textes, aux services d'invitation (par exemple, des invitations à des fêtes), etc., où un fichier placé dans le conteneur est automatiquement distribué à un ou plusieurs autres appareils de mémorisation désignés en fonction de la configuration de relation. De plus, avec une 20 configuration de dispositifs et de réseau appropriée, un tel service de "mémorisation et transmission" peut également être utilisé pour accomplir une distribution de données essentiellement en temps réel, de façon à fournir efficacement des services équivalant à la diffusion en flux audio, à la diffusion en flux vidéo, à la conférence téléphonique, à la visioconférence, au séminaire en ligne, etc., lorsque des données 25 remises à jour placées dans le conteneur sont automatiquement distribuées à un ou à plusieurs autres appareils de mémorisation désignés en fonction de la configuration de relations. Ainsi, par exemple, un appel en conférence ou un séminaire en ligne pourraient être établis rapidement et facilement en invitant des utilisateurs à partager un conteneur particulier, puis en provoquant la réalisation de remises à jour de 30 données au conteneur. O. PARTAGE D'ACCES A DES DOSSIERS SUR DES APPAREILS DE MEMORISATION AVEC DES NON PROPRIETAIRES Dans certains modes de réalisation, le système permet à des utilisateurs d'accéder à des données d'utilisateur par l'intermédiaire d'appareils de mémorisation 35 qu'ils ne possèdent pas. Par l'effet multiplicateur d'appareils de mémorisation d'autres utilisateurs, des données sont disponibles à un utilisateur même lorsque l'utilisateur ne peut pas accéder à ses propres appareils de mémorisation ou lorsqu'il ne possède même pas d'appareils de mémorisation. Par exemple, un utilisateur peut accidentellement abandonner son appareil de mémorisation lors d'un déplacement professionnel, mais l'utilisateur peut se connecter à distance (par exemple, sur un réseau étendu tel que l'Internet) à l'appareil de mémorisation de quelqu'un d'autre pour voir et/ou éditer un contenu mémorisé dans l'un des conteneurs physiques de l'appareil. Dans un autre exemple, l'utilisateur peut effectuer un voyage d'une journée vers un bureau de filiale de sa société, où des employés ont connecté leurs appareils de mémorisation au réseau local de la société. Au lieu d'emporter son propre appareil de mémorisation, l'utilisateur peut utiliser l'un des appareils de mémorisation des employés pour éditer un contenu dans un conteneur physique associé au travail.
Des propriétaires peuvent accorder à d'autres utilisateurs l'accès à leurs appareils de mémorisation ou à des conteneurs physiques particuliers sur les appareils, et le service central mémorise les accords d'accès. Lorsqu'une application cliente exécutée sur un dispositif informatique d'un utilisateur demande à partir du service central la liste des dossiers (par exemple, des conteneurs physiques) et de leur(s) appareil(s) de mémorisation associés auquel l'utilisateur peut accéder, le service central inclut les appareils de mémorisation pour lesquels les autres propriétaires ont accordé l'accès à l'utilisateur. Si l'utilisateur sélectionne l'un de ces appareils de mémorisation, le dispositif informatique de l'utilisateur se connecte ensuite sur une base de pair à pair à l'appareil de mémorisation sélectionné. Par conséquent, après qu'un propriétaire d'appareil de mémorisation ait accordé un accès à un utilisateur, l'utilisateur peut obtenir des données d'utilisateur à partir de l'appareil de mémorisation d'une manière non interrompue. Des propriétaires configurent leurs comptes avec le service central de façon à partager leurs appareils de mémorisation. Dans certains modes de réalisation, des propriétaires sélectionnent des dossiers particuliers sur leurs appareils de mémorisation pour le partage. Par conséquent, lorsqu'un utilisateur accède à l'appareil de mémorisation du propriétaire, l'utilisateur peut accéder au ou aux dossier(s) sélectionné(s), mais tous les autres dossiers de l'appareil de mémorisation du propriétaire restent invisibles. Le propriétaire spécifie également le niveau d'accès (par exemple, lecture/écriture, lecture seule) pour le ou pour les dossier(s). Dans d'autres modes de réalisation, des propriétaires partagent les appareils de mémorisation dans leur totalité. Par conséquent, d'autres utilisateurs qui accèdent à l'appareil de mémorisation du propriétaire peuvent accéder à la totalité des dossiers. Dans certains modes de réalisation, le propriétaire spécifie le niveau d'accès (par exemple, lecture/écriture, lecture seule) pour chaque dossier sur son appareil de mémorisation. Dans certains modes de réalisation, des propriétaires ne partagent aucun des dossiers sur leurs appareils de mémorisation, mais ils permettent à d'autres utilisateurs d'ajouter des fichiers et/ou des dossiers. Par conséquent, d'autres utilisateurs ne peuvent pas voir les fichiers ou les dossiers du propriétaire, mais ils peuvent utiliser l'appareil du propriétaire pour mémoriser des fichiers ou des dossiers additionnels. Dans ces modes de réalisation, le propriétaire accorde aux autres utilisateurs un niveau d'accès "d'écriture seule" aux appareils de mémorisation. Des propriétaires désignent les utilisateurs qui peuvent accéder aux conteneurs virtuels et/ou aux appareils de mémorisation. Dans certains modes de réalisation, un propriétaire désigne un utilisateur en associant l'identifiant de l'utilisateur (par exemple, numéro d'identification) au conteneur virtuel ou à l'appareil de mémorisation. Le propriétaire désigne des utilisateurs enregistrés, des utilisateurs non enregistrés, ou les deux. Dans d'autres modes de réalisation, un propriétaire désigne un groupe d'utilisateurs en établissant, au contraire, l'association avec l'identifiant du groupe. Par exemple, le propriétaire peut accorder l'accès à un conteneur virtuel à tous les membres du groupe de réplication/synchronisation du conteneur. Par conséquent, un utilisateur pourrait accéder au conteneur virtuel sur l'appareil de mémorisation du propriétaire uniquement si l'utilisateur pouvait accéder au même conteneur sur son appareil. Dans certains modes de réalisation, lorsqu'un propriétaire d'appareil de mémorisation ajoute un dossier sur son appareil, le propriétaire configure le dossier de telle sorte qu'il puisse être partagé sur son appareil avec des non propriétaires. La figure 43 est un écran d'interface d'utilisateur 4300 affiché lorsqu'un utilisateur configure un tel dossier. Dans différents modes de réalisation, l'application cliente exécutée sur le dispositif informatique de l'utilisateur affiche cet écran d'interface d'utilisateur 4300 lorsque le propriétaire crée un conteneur virtuel. Par exemple, l'utilisateur peut créer un dossier pour le conteneur virtuel en sélectionnant la commande de "Créer un Nouveau Dossier Connecté" sur les écrans d'interface d'utilisateur des figures 19, 20 ou 22. Dans d'autres modes de réalisation, l'application cliente affiche cet écran d'interface d'utilisateur 4300 lorsque le propriétaire accepte une invitation venant d'un autre utilisateur à partager un dossier existant. Par exemple, l'utilisateur peut accepter une invitation par la sélection de l'icône 2106 sur l'écran d'interface d'utilisateur de la figure 21. L'écran d'interface d'utilisateur 4300 comporte un champ de nom de dossier 4305 et un champ de description de dossier 4310. Lorsque le propriétaire de l'appareil de mémorisation crée un dossier, le propriétaire entre son nom dans le 35 champ 4305 et une description du contenu, du but, ou des deux, du dossier, dans le champ 4310. Dans certains modes de réalisation, lorsque le propriétaire de l'appareil de mémorisation accepte une invitation à partager un dossier existant, l'application cliente peuple automatiquement les champs 4305, 4310 avec une information venant de l'appareil de mémorisation de l'utilisateur étendant l'invitation. L'écran d'interface d'utilisateur comprend une commande 4315 afin de permettre le partage du dossier avec des utilisateurs qui n'ont pas accès à un appareil de mémorisation. Cette commande 4315 est une case à cocher, bien qu'un bouton de radio ou n'importe quel autre type de commande puisse être utilisé. Dans certains modes de réalisation, si un propriétaire d'appareil de mémorisation sélectionne cette commande 4315, le propriétaire permet à tous les utilisateurs du système d'accéder au dossier sur l'appareil de mémorisation du propriétaire. Dans d'autres modes de réalisation, la sélection de la commande 4315 permet uniquement aux utilisateurs autorisés d'accéder au conteneur virtuel associé au dossier afin d'accéder à l'appareil de mémorisation du propriétaire. Par exemple, seuls les utilisateurs qui sont membres du groupe de réplication/synchronisation pour le conteneur virtuel du dossier pourront être autorisés à accéder au dossier sur l'appareil de mémorisation du propriétaire. Une fois que le propriétaire a sélectionné le bouton "soumettre" 4320, le dispositif informatique du propriétaire envoie une information concernant les droits d'accès accordés au service central, qui mémorise l'information, comme décrit plus en détail ci-dessous. La figure 44 montre un écran d'interface d'utilisateur 4400 affichant des caractéristiques d'un dossier associé à un conteneur virtuel, y compris l'accessibilité 20 du dossier pour des utilisateurs qui ne possèdent aucun appareil de mémorisation. Dans différents modes de réalisation, l'application cliente affiche un écran similaire à l'écran d'interface d'utilisateur 4400 à chaque fois qu'un utilisateur sélectionne un dossier pour la visualisation, par exemple l'un quelconque des dossiers sur les écrans d'interface d'utilisateur des figures 19, 20 et 22, afin de le voir. L'écran 4400 25 affiche les utilisateurs 4405 avec des privilèges d'accès pour le contenu du dossier et les appareils de mémorisation 4410 qui mémorisent chacun une copie du contenu du dossier. L'écran 4400 affiche également la taille du contenu 4415 du dossier, l'identité du propriétaire 4420 du dossier, le nombre d'appareils de mémorisation 4425 associés au conteneur virtuel du dossier, le nom 4430 du dossier, et le fait 30 4435 que le propriétaire de l'appareil de mémorisation a accordé ou non à d'autres utilisateurs des droits d'accès au dossier sur son appareil de mémorisation. Dans différents modes de réalisation, le service central envoie une information concernant les droits d'accès accordés à chaque appareil de mémorisation. Par exemple, si un propriétaire a configuré un appareil de mémorisation SA1 de façon à 35 partager un conteneur virtuel VC1 avec un utilisateur U1, le propriétaire mémorise cette information dans son compte sur le service central. Dans certains modes de réalisation, le service central communique cette même information à l'appareil de mémorisation SA1. Par conséquent, lorsque l'utilisateur U1 cherche à accéder au conteneur virtuel VC1 sur l'appareil de mémorisation SA1, l'appareil de mémorisation SA1 reconnaît que l'utilisateur U1 est autorisé à accéder au conteneur. Si l'on se réfère à présent aux figures 45 et 46, des représentations schématiques illustrant un partage d'appareils de mémorisation sont représentées et décrites. La figure 45 représente un scénario dans lequel un utilisateur accède à un conteneur virtuel sur l'appareil de mémorisation d'un autre propriétaire parce que son propre appareil de mémorisation est éloigné. Bien qu'un accès à distance à l'appareil de mémorisation soit toujours possible, un accès local à l'appareil d'un autre propriétaire permettra à l'utilisateur d'accéder plus rapidement à des données d'utilisateur. Dans ce mode de réalisation, l'Utilisateur 1 et l'Utilisateur 2 possèdent chacun leurs dispositifs informatiques respectifs 4505 et 4510, et chaque dispositif informatique est connecté à un serveur central 4515 administrant le service central. Les deux dispositifs informatiques 4505, 4510 sont connectés au même réseau local 4520. Les utilisateurs possèdent chacun un appareil de mémorisation 4525, 4530, qui sont chacun reliés au même conteneur virtuel 4535. L'appareil de mémorisation 4530 de l'Utilisateur 2 est situé sur le même réseau local 4520 que les deux dispositifs informatiques 4505, 4510, tandis que l'appareil de mémorisation 4525 de l'Utilisateur 1 ne l'est pas. L'Utilisateur 2 peut accorder à l'Utilisateur 1 l'accès au conteneur virtuel sur son appareil de mémorisation 4530. L'Utilisateur 2 configure son compte sur le serveur central 4515 de façon à refléter cet accord. Lorsque l'Utilisateur 1 accède au service central à partir de son dispositif informatique 4505, l'application cliente exécutée sur le dispositif informatique 4505 demande une liste des conteneurs virtuels et des appareils de mémorisation auxquels l'Utilisateur 1 peut accéder. Le serveur central 4515 recherche dans son système de base de données ces conteneurs virtuels et ces appareils de mémorisation et renvoie une liste au dispositif informatique 4505 de l'Utilisateur 1. La liste comprend l'appareil de mémorisation 4530 de l'Utilisateur 2 et le conteneur virtuel 4535 auquel peuvent tous deux accéder l'Utilisateur 2 et l'Utilisateur 1. Dans certains modes de réalisation, pour chaque entrée dans la liste, le serveur central 4515 affiche l'emplacement de l'appareil de mémorisation par rapport au dispositif informatique 4505 de l'Utilisateur 1. Par exemple, le serveur central 4515 peut indiquer que l'appareil de mémorisation 4530 de l'Utilisateur 2 se trouve sur le même réseau local 4520 que le dispositif informatique 4505 de l'Utilisateur 1. Le serveur central 4515 peut également indiquer que le dispositif informatique 4505 de l'Utilisateur 1 ne peut se connecter au propre appareil de mémorisation 4525 de l'Utilisateur 1 que par l'intermédiaire d'un réseau étendu, tel que l'Internet. Dans certains modes de réalisation, le serveur central 4515 affiche le niveau d'accès que possède l'Utilisateur 1 à chaque conteneur virtuel sur chaque appareil de mémorisation. Dans un exemple, l'Utilisateur 1 choisit de se connecter à l'appareil de mémorisation 4530 de l'Utilisateur 2 pour accéder au conteneur virtuel. L'Utilisateur 1 peut sélectionner l'appareil de mémorisation de l'Utilisateur 2 en fonction d'une information affichée par le serveur central 4515 concernant les emplacements du dispositif informatique 4505 de l'Utilisateur 1 et de l'appareil de mémorisation 4530 de l'Utilisateur 2. Lorsque l'Utilisateur 1 sélectionne l'appareil de mémorisation 4530 de l'Utilisateur 2 à partir de la liste affichée, le serveur central 4515 délivre une information concernant l'appareil de mémorisation 4530 à l'application cliente sur le Io dispositif informatique 4505 de l'Utilisateur 1. L'application cliente utilise l'information pour établir une connexion de pair à pair avec l'appareil de mémorisation 4530 de l'Utilisateur 2 sur le réseau local 4520. L'appareil de mémorisation 4530 reconnaît que l'Utilisateur 1 possède des droits d'accès au conteneur virtuel 4535 et accepte la connexion. L'appareil de mémorisation 4530 configure le conteneur virtuel 4535 15 présenté à l'Utilisateur 1 en fonction du niveau d'accès que l'Utilisateur 2 a accordé à l'Utilisateur 1. Dans certains modes de réalisation, lorsque le dispositif informatique 4505 de l'Utilisateur 1 se connecte à l'appareil de mémorisation 4530 de l'Utilisateur 2, l'application cliente crée une unité de mémorisation virtuelle locale correspondant à 20 l'appareil 4530 sur le dispositif informatique 4505 de l'Utilisateur 1. L'appareil de mémorisation 4530 de l'Utilisateur 2 peut envoyer une information concernant ses dossiers et ses fichiers pour un affichage dans l'unité de mémorisation virtuelle locale. Lorsque l'Utilisateur 1 ouvre un dossier ou un fichier, l'appareil de mémorisation 4530 peut envoyer une information additionnelle concernant les 25 dossiers et les fichiers, ou le contenu d'un fichier sélectionné. Lorsque l'Utilisateur 1 édite un dossier ou un fichier, son dispositif informatique 4505 renvoie les éditions à l'appareil de mémorisation 4530. Dans certains modes de réalisation, l'appareil de mémorisation 4530 de l'Utilisateur 2 envoie des copies de ses dossiers et de ses fichiers au dispositif informatique 4505 de l'Utilisateur 1 lorsque l'unité de 30 mémorisation virtuelle locale est créée. La figure 46 représente un scénario dans lequel un utilisateur qui ne possède pas d'appareil de mémorisation peut néanmoins accéder à un conteneur virtuel sur l'appareil de mémorisation d'un autre propriétaire. Du fait que l'utilisateur ne possède pas d'appareil de mémorisation, l'utilisateur serait normalement incapable d'accéder 35 à des données d'utilisateur sur un quelconque des appareils. Toutefois, du fait que des propriétaires peuvent partager leurs appareils de mémorisation, d'autres n'ont pas besoin d'être des utilisateurs préexistants de l'environnement d'appareils de mémorisation pour accéder à des données que les utilisateurs ont mémorisées dans les appareils. Dans ce mode de réalisation, l'Utilisateur 1 et l'Utilisateur 2 possèdent chacun leurs dispositifs informatiques respectifs 4605, 4610, et chaque dispositif informatique est connecté à un serveur central 4615 administrant le service central.
Les deux dispositifs informatiques 4605, 4610 se connectent au serveur central 4615 sur un réseau étendu 4616, tel que l'Internet. L'Utilisateur 2 possède un appareil de mémorisation 4630 qui mémorise un conteneur virtuel 4635. L'Utilisateur 2 peut accorder à l'Utilisateur 1 l'accès au conteneur virtuel sur son appareil de mémorisation 4630. L'Utilisateur 2 configure son compte sur le serveur central 4615 de façon à refléter cet accord. Lorsque l'Utilisateur 1 accède au service central 4615 à partir de son dispositif informatique 4605, l'application cliente exécutée sur le dispositif informatique 4605 demande une liste de conteneurs virtuels et d'appareils de mémorisation auxquels l'Utilisateur 1 peut accéder. Le serveur central 4615 recherche dans son système de base de données de tels conteneurs virtuels et appareils de mémorisation et renvoie une liste au dispositif informatique 4605 de l'Utilisateur 1. La liste comprend l'appareil de mémorisation 4630 de l'Utilisateur 2 et un conteneur virtuel 4635 sur l'appareil 4630. Dans certains modes de réalisation, le serveur central 4615 affiche l'emplacement de l'appareil de mémorisation 4630 et/ou le niveau d'accès que l'Utilisateur 1 a au conteneur virtuel 4635.
Par la sélection du conteneur virtuel 4635 sur l'appareil de mémorisation 4630 de l'Utilisateur 2, le serveur central 4615 délivre une information concernant l'appareil de mémorisation 4630 à l'application cliente sur le dispositif informatique 4605 de l'Utilisateur 1. L'application cliente utilise l'information pour établir une connexion, sur une base de pair à pair, avec l'appareil de mémorisation 4630 sur le réseau étendu 4616. L'appareil de mémorisation 4630 reconnaît le fait que l'Utilisateur 1 a des droits d'accès au conteneur virtuel 4635 et accepte la connexion. L'appareil de mémorisation 4630 configure le conteneur virtuel 4635 présenté à l'Utilisateur 1 en fonction du niveau d'accès que l'Utilisateur 2 a accordé à l'Utilisateur 1. Dans certains modes de réalisation, le dispositif informatique 4605 de l'Utilisateur 1 peut se connecter à l'appareil de mémorisation 4630 de l'Utilisateur 2, et le dispositif informatique 4605 de l'Utilisateur 1 peut créer une unité de mémorisation virtuelle locale correspondant à l'appareil 4630. Les dossiers et les fichiers de l'appareil de mémorisation peuvent être copiés ou représentés à l'Utilisateur 1 dans une unité de mémorisation virtuelle locale sur le dispositif informatique 4605 de l'Utilisateur 1, comme décrit ici. De façon plus détaillée, en ce qui concerne les accords d'accès de propriétaires d'appareils de mémorisation à des non propriétaires, lorsqu'un propriétaire configure son compte, le service central remet à jour l'information concernant des relations entre des utilisateurs, des appareils de mémorisation et des conteneurs virtuels. Le propriétaire sélectionne un conteneur virtuel et son appareil correspondant pour le partage. Le propriétaire entre les identités de non propriétaires autorisés à accéder au conteneur virtuel sur l'appareil. Le service central mémorise les relations entre le conteneur virtuel, l'appareil et les identités des non propriétaires auxquels un accès a été accordé. A titre d'exemple, on considère les relations entre des utilisateurs, des appareils de mémorisation et des conteneurs virtuels représentées dans le Tableau 1 et les figures 1 et 2. Dans un exemple, un premier utilisateur enregistré RU1 décide d'accorder à un deuxième utilisateur RU2 l'accès à un conteneur virtuel VC4 sur le propre appareil de mémorisation SA1 du premier utilisateur RU1. Du fait que le deuxième utilisateur RU2 possède le conteneur virtuel VC4, le deuxième utilisateur RU2 devrait normalement être susceptible d'accéder à ce conteneur virtuel sur son propre appareil de mémorisation SA2.
Pour accorder l'accès au deuxième utilisateur RU2, le premier utilisateur RU1 se connecte à son compte sur le service central et sélectionne le conteneur virtuel VC4 mémorisé sur l'appareil de mémorisation SA1 pour le partage. Le premier utilisateur RU1 entre l'identifiant du deuxième utilisateur RU2, de façon à désigner ainsi le deuxième utilisateur RU2 comme utilisateur autorisé à accéder au conteneur virtuel VC4 sur l'appareil de mémorisation SA1 du premier utilisateur RU1. Dans cet exemple, le premier utilisateur RU1 accorde au deuxième utilisateur RU2 des droits de lecture seule sur le conteneur virtuel VC4 mémorisé sur l'appareil de mémorisation SA1. Par conséquent, même si le deuxième utilisateur RU2 possède le conteneur virtuel VC4 et devrait être susceptible d'éditer la copie de son propre appareil de mémorisation SA2, le deuxième utilisateur RU2 peut seulement lire le contenu du conteneur VC4 lorsqu'il accède au contenu par l'intermédiaire de l'appareil de mémorisation SA1 du premier utilisateur RU1. Par conséquent, une partie de la représentation schématique dans le Tableau 1 peut être remise à jour de façon à refléter l'accord de permission du SA1 de RU1 à RU2, les remises à jour étant montrées en italiques. Tableau 1 SERVICE CENTRAL Appareils de mémorisation SA1 (possédé par RU1, partagé avec RU2) SA2 (possédé par RU2) RU2 est autorisé à accéder à: ' SA1 (VC4 uniquement - accès en lecture seule) Lorsque le deuxième utilisateur RU2 se connecte à son compte, l'application cliente exécutée sur le dispositif informatique du deuxième utilisateur RU2 demande une liste des conteneurs virtuels et des appareils de mémorisation accessibles au deuxième utilisateur RU2. Le service central envoie au dispositif informatique une liste qui comprend le conteneur virtuel VC4 sur l'appareil de mémorisation SA1. Le dispositif informatique du deuxième utilisateur RU2 peut se connecter, sur une base de pair à pair, à l'appareil de mémorisation SA1 du premier utilisateur RU1 de façon à lire le contenu du conteneur virtuel VC4. Dans un autre exemple, le deuxième utilisateur enregistré RU2 décide d'accorder à un troisième utilisateur RU3 l'accès à un conteneur virtuel VC4 sur le propre appareil de mémorisation SA2 du deuxième utilisateur RU2. Le deuxième utilisateur RU2 se connecte à son compte sur le service central et sélectionne le conteneur virtuel VC4 mémorisé sur l'appareil de mémorisation SA2 pour le partage. Le deuxième utilisateur RU2 entre l'identifiant du troisième utilisateur RU3, de façon à désigner ainsi le troisième utilisateur RU3 comme utilisateur autorisé à accéder au conteneur virtuel VC4 sur l'appareil de mémorisation SA2 du deuxième utilisateur RU2. Dans cet exemple, le deuxième utilisateur RU2 accorde au troisième utilisateur RU3 de pleins droits d'accès (par exemple, droits de lecture/écriture). Par conséquent, une partie de la représentation schématique dans le Tableau 1 peut être remise à jour de façon à refléter l'accord de permission du SA2 de RU2 à RU3, les remises à jour étant montrées en italiques. Tableau 1 SERVICE CENTRAL Utilisateurs Enregistrés RU1 RU2 RU3 Appareils de mémorisation SA1 (possédé par RU1) SA2 (possédé par RU2, partagé avec RU3) Conteneurs Virtuels VC3 (possédé par RU1) VC4 (possédé par RU2, partagé avec RU3 uniquement sur SA2) RU3 est autorisé à accéder à: SA2 (VC4 uniquement - plein accès) SA2 est relié à: VC4 (possédé par RU2, partagé avec RU3) Lorsque le troisième utilisateur RU3 se connecte à son compte, l'application cliente exécutée sur le dispositif informatique du troisième utilisateur RU3 demande une liste de conteneurs virtuels et d'appareils de mémorisation accessibles au troisième utilisateur RU3. Le service central envoie au dispositif informatique une liste qui comprend le conteneur virtuel VC4 sur l'appareil de mémorisation SA2. Le dispositif informatique du troisième utilisateur RU3 peut se connecter, sur une base de pair à pair, à l'appareil de mémorisation SA2 du deuxième utilisateur RU2 afin de lire ou d'écrire dans le contenu du conteneur virtuel VC4. Si l'on se réfère à présent à la figure 47, un organigramme d'un exemple de procédé pour fournir à un nouvel utilisateur l'accès à un appareil de mémorisation donné couplé à un réseau d'ordinateurs est montré et décrit. Le procédé comprend la gestion, dans un serveur, d'un système de base de données comportant des données de compte de propriétaire commandant l'accès à des appareils de mémorisation qui sont enregistrés dans le système de base de données, chaque appareil de mémorisation étant associé dans le système de base de données à au moins un propriétaire, et l'appareil de mémorisation donné étant l'un des appareils de mémorisation enregistrés, et possédant un propriétaire enregistré (étape 47005). Le procédé comprend la réception, à partir du nouvel utilisateur sur un dispositif informatique, d'une demande d'une liste de conteneurs virtuels et d'appareils de mémorisation auxquels le nouvel utilisateur a la permission d'accéder (étape 47010). Le procédé comprend la détermination, par le serveur, du fait qu'un propriétaire enregistré de l'appareil de mémorisation donné a configuré un conteneur virtuel sur l'appareil de mémorisation donné pour qu'il soit partagé avec le nouvel utilisateur (étape 47015), Le procédé comprend l'envoi, par le serveur, d'un identifiant de l'appareil de mémorisation donné au nouvel utilisateur (étape 47020). P. DIVERS Dans certains modes de réalisation décrits ci-dessus, une information de relations et des invitations étaient traitées par ou par l'intermédiaire d'un service central. On devra noter que, dans certains autres modes de réalisation, certaines invitations et informations de relations peuvent être traitées à l'extérieur d'un service central, comme, par exemple, par (a) le fait d'avoir un utilisateur qui distribue un code à son appareil de mémorisation, qui permet à un ou à plusieurs autres utilisateurs d'établir une relation avec l'appareil de mémorisation ; (b) le fait d'avoir un utilisateur qui se connecte dans l'appareil de mémorisation d'un autre utilisateur afin d'établir une relation ; (c) le fait d'avoir des utilisateurs individuels qui coordonnent leurs propres appareils de mémorisation de telle manière que deux ou plusieurs utilisateurs puissent établir une ou des relation(s) de pair à pair pour partager des données ; ou (d) le fait d'avoir un utilisateur qui effectue des invitations à l'aide d'un identifiant associé à un autre utilisateur ou à l'appareil de mémorisation d'un autre utilisateur. Par exemple, on suppose que l'utilisateur A veut partager un conteneur avec l'utilisateur B ; chaque utilisateur pourrait fournir un identifiant pour son appareil de mémorisation à l'autre utilisateur, et chaque utilisateur pourrait configurer son propre dispositif de mémorisation avec l'identifiant de l'autre, de telle sorte que les deux appareils de mémorisation se localiseront mutuellement et échangeront des données l'un avec l'autre. Dans des modes de réalisation caractéristiques, les appareils de mémorisation sont totalement authentifiés, par exemple à l'aide d'une clef préconfigurée associée à chaque appareil de mémorisation. Pour des communications entre le service central et un appareil de mémorisation, le service central peut envoyer une information à l'appareil de mémorisation et/ou l'appareil de mémorisation peut, dans certains cas, extraire une information à partir du service central (par exemple, par l'envoi de demandes au service central, par exemple lorsque l'appareil de mémorisation reçoit une demande de données à partir d'un autre appareil de mémorisation).
Dans différents modes de réalisation, des communications entre des appareils de mémorisation peuvent être toujours cryptées, ou cryptées de façon sélective. De façon similaire, des données mémorisées dans des appareils de mémorisation peuvent être cryptées de façon sélective. On devra noter que des flèches peuvent être utilisées dans les dessins pour représenter une communication, un transfert, ou une autre activité mettant en jeu deux ou plusieurs entités. Des flèches à doubles pointes indiquent généralement qu'une activité peut se produire dans les deux directions (par exemple, un ordre/demande dans une direction avec une réponse en retour correspondante dans l'autre direction, ou des communications de pair à pair déclenchées par l'une ou l'autre entité), bien que, dans certaines situations, une activité puisse ne pas se produire nécessairement dans les deux directions. Des flèches à une seule pointe indiquent généralement une activité exclusivement ou de façon prédominante dans une direction, bien que l'on doive noter que, dans certaines situations, une telle activité directionnelle puisse en fait mettre en jeu des activités dans les deux directions (par exemple, un message d'un envoyeur à un récepteur et un accusé de réception en retour du récepteur à l'envoyeur, ou l'établissement d'une connexion avant un transfert et l'achèvement de la connexion après le transfert). Par conséquent, le type de flèche utilisé dans un dessin particulier pour représenter une activité particulière est à titre d'exemple, et ne devrait pas être considéré comme limitatif. On devra noter que des sous-titres sont utilisés ci-dessus à des fins pratiques et qu'ils ne doivent pas être considérés comme limitant en aucune façon la présente 10 invention. On devra noter que des termes tels que "client", "serveur", "pair", et "appareil" peuvent être utilisé ici pour décrire des dispositifs qui peuvent être utilisés dans certains modes de réalisation de la présente invention, et qu'ils ne devraient pas être considérés comme limitant la présente invention à un quelconque type de dispositif 15 particulier, sauf si le contexte en décide autrement. Ainsi, un dispositif peut comprendre, sans limitation, un pont, un routeur, un pont-routeur ("bridge-router" ou "brouter"), un commutateur, un noeud, un serveur, un ordinateur, un appareil, ou tout autre type de dispositif. Ces dispositifs comprennent, de façon caractéristique, une ou plusieurs interfaces de réseau pour communiquer sur un réseau de 20 communication et un processeur (par exemple, un microprocesseur avec une mémoire et d'autres périphériques et/ou matériels spécifiques à l'application), configurés en conséquence afin d'exécuter des fonctions du dispositif. Des réseaux de communication peuvent généralement comprendre des réseaux publics et/ou privés ; ils peuvent comprendre des réseaux locaux, des grands réseaux, une zone 25 urbaine, une mémoire, et/ou d'autres types de réseaux ; et ils peuvent employer des technologies de communication comprenant, mais sans y être limitées en aucune façon, des technologies analogiques, des technologies numériques, des technologies optiques, des technologies sans fil (par exemple, le Bluetooth), des technologies de mise en réseau, et des technologies de travail sur Internet. 30 On devra également noter que des dispositifs peuvent utiliser des protocoles de communication et des messages (par exemple, des messages créés, transmis, reçus, mémorisés, et/ou traités par le dispositif), et que ces messages peuvent être convoyés par un support ou un réseau de communication. Sauf si le contexte en décide autrement, la présente invention ne devrait pas être considérée comme étant 35 limitée à un quelconque type de message de communication, format de message de communication, ou protocole de communication, particulier. Ainsi, un message de communication peut généralement comprendre, sans limitation, une trame, un paquet, un datagramme, un datagramme d'utilisateur, une cellule, ou un autre type de message de communication. Sauf si le contexte en décide autrement, des références à des protocoles de communication spécifiques sont des exemples, et l'on devra comprendre que d'autres modes de réalisation peuvent, selon ce qui est approprié, employer des variantes de ces protocoles de communication (par exemple, des modifications ou des extensions du protocole qui peuvent être effectuées de temps à autre), ou d'autres protocoles soit connus soit développés dans le futur. On devra également noter que des flux logiques peuvent être décrits ici pour démontrer différents aspects de l'invention, et qu'ils ne devraient pas être considérés comme limitant la présente invention à un quelconque flux logique ou à une quelconque réalisation logique particuliers. La logique décrite peut être divisée en différents blocs logiques (par exemple, des programmes, des modules, des fonctions ou des sous-programmes) sans changer les résultats globaux ni s'écarter d'une autre façon de la véritable étendue de l'applicabilité de l'invention. Souvent, des éléments logiques peuvent être ajoutés, modifiés, omis, exécutés dans un ordre différent, ou mis en oeuvre à l'aide de différentes constructions logiques (par exemple, des portes logiques, des primitives en boucle, une logique conditionnelle, et d'autres constructions logiques) sans changer les résultats globaux ni s'écarter d'une autre façon de la véritable étendue de l'applicabilité de l'invention.
La présente invention peut être réalisée sous de nombreuses formes différentes, comprenant, mais sans y être limitées en aucune façon, une logique à programme informatique pour l'utilisation avec un processeur (par exemple, un microprocesseur, un micro-dispositif de commande, un processeur de signaux numériques, ou un ordinateur à usage général), une logique programmable pour l'utilisation avec un dispositif logique programmable (par exemple, un groupement de portes programmable sur site (Field Programmable Gate Array ou FPGA) ou autre dispositif logique programmable), des composants individuels, des circuits intégrés (par exemple, un circuit intégré spécifique à l'application (Application Specific Integrated Circuit ou ASIC)), ou tous autres moyens comprenant n'importe quelle combinaison de ceux-ci. Une logique à programme informatique mettant en oeuvre tout ou partie de la fonctionnalité décrite est, de façon caractéristique, mise en oeuvre sous la forme d'instructions de programme informatique qui sont converties sous une forme exécutable par un ordinateur, mémorisées telles quelles dans un support lisible par un ordinateur, et exécutées par un microprocesseur sous la commande d'un système d'exploitation. Une logique à base câblée exécutant tout ou partie de la fonctionnalité décrite peut être réalisée à l'aide d'un ou de plusieurs groupements de portes programmables sur site configurés de façon appropriée. Une logique à programme informatique réalisant tout ou partie de la fonctionnalité précédemment décrite ici peut être mise en oeuvre sous différentes formes, comprenant, mais sans y être limitées en aucune façon, une forme de code source, une forme exécutable par un ordinateur, et différentes formes intermédiaires (par exemple, des formes générées par un assembleur, un compilateur, un éditeur de liens, ou un releveur de coordonnées). Un code source peut comprendre une série d'instructions de programme informatique mises en oeuvre dans n'importe lequel de différents langages de programmation (par exemple, un fichier objet ou un langage d'assemblage, ou un langage de niveau élevé tel que le Fortran, le C, le C++, le JAVA ou le HTML) pour l'utilisation avec différents systèmes d'exploitation ou environnements d'exploitation. Le code source peut définir et utiliser différentes structures de données et différents messages de communication. Le code source peut être sous une forme exécutable par un ordinateur (par exemple, par l'intermédiaire d'un interpréteur), ou le code source peut être converti (par exemple, par l'intermédiaire d'un traducteur, d'un assembleur, ou d'un compilateur) sous une forme exécutable par un ordinateur. Une logique à programme informatique réalisant tout ou partie de la fonctionnalité précédemment décrite ici peut être exécutée à différents moments sur un processeur unique (par exemple, simultanément) ou peut être exécutée à des moments identiques ou différents sur de multiples processeurs et peut être exécutée dans un processus/fil d'exécution de système d'exploitation unique ou dans des processus/fils d'exécution de système d'exploitation différents. Par conséquent, le terme "processus informatique" désigne de façon générale l'exécution d'un jeu d'instructions de programme informatique indifféremment du fait que des processus informatiques différents sont exécutés sur le même processeur ou sur des processeurs différents et indifféremment du fait que des processus informatiques différents sont exécutés dans le même processus/fil d'exécution de système d'exploitation ou dans des processus/fils d'exécution de système d'exploitation différents. Le programme informatique peut être fixé sous n'importe quelle forme (par exemple, une forme de code source, une forme exécutable par un ordinateur ou une forme intermédiaire), de façon soit permanente soit transitoire dans un support de mémorisation tangible, tel qu'un dispositif de mémoire à semiconducteurs (par exemple, une mémoire vive, une mémoire morte, une mémoire morte programmable (PROM), une mémoire morte programmable effaçable électriquement (EEPROM), ou une mémoire vive programmable Flash), un dispositif de mémoire magnétique (par exemple, une disquette ou un disque dur), un dispositif de mémoire optique (par exemple, un CD-ROM), une carte PC (par exemple, une carte PCMCIA), ou un autre dispositif de mémoire. Le programme informatique peut être fixé sous n'importe quelle forme dans un signal qui peut être transmis à un ordinateur à l'aide de l'une quelconque de différentes technologies de communication, comprenant, mais sans y être limitées en aucune façon, des technologies analogiques, des technologies numériques, des technologies, optiques, des technologies sans fil (par exemple, le Bluetooth), des technologies de mise en réseau, et des technologies de travail sur Internet. Le programme informatique peut être distribué sous n'importe quelle forme, telle qu'un support de mémorisation amovible avec une documentation jointe imprimée ou électronique (par exemple, un logiciel conditionné sous film rétractable), préchargé avec un système informatique (par exemple, sur une mémoire morte ou un disque dur du système), ou distribué à partir d'un serveur ou d'un tableau d'annonces électronique sur le système de communication (par exemple, l'Internet ou la toile mondiale). Une logique câblée (comprenant une logique programmable pour l'utilisation avec un dispositif logique programmable) réalisant tout ou partie de la fonctionnalité précédemment décrite ici peut être conçue à l'aide de procédés manuels classiques, ou peut être conçue, capturée, simulée, ou documentée électroniquement à l'aide de différents outils, tels qu'une conception assistée par ordinateur (CAO), un langage de description de circuits (par exemple, le VHDL ou l'AHDL), ou un langage de programmation de dispositif logique programmable (par exemple, le PALASM, l'ABEL ou le CUPL). Une logique programmable peut être fixée de façon soit permanente soit transitoire dans un support de mémorisation tangible, tel qu'un dispositif à semiconducteurs (par exemple, une mémoire vive, une mémoire morte, une mémoire morte programmable (PROM), une mémoire morte programmable effaçable électriquement (EEPROM), ou une mémoire vive programmable Flash), un dispositif de mémoire magnétique (par exemple, une disquette ou un disque dur), un dispositif de mémoire optique (par exemple, un CD-ROM), ou un autre dispositif de mémoire. La logique programmable peut être fixée dans un signal qui peut être transmis à un ordinateur à l'aide de l'une quelconque de différentes technologies de communication, comprenant, mais sans y être limitées en aucune façon, des technologies analogiques, des technologies numériques, des technologies optiques, des technologies sans fil (par exemple, le Bluetooth), des technologies de mise en réseau, et des technologies de travail sur Internet. La logique programmable peut être distribuée sous la forme d'un support de mémorisation amovible avec une documentation jointe imprimée ou électronique (par exemple, un logiciel conditionné sous film rétractable), préchargée avec un système informatique (par exemple, sur une mémoire morte ou un disque dur du système), ou distribuée à partir d'un serveur ou d'un tableau d'annonces électronique sur le système de communication (par exemple, l'Internet ou la toile mondiale). Bien évidemment, certains modes de réalisation de l'invention peuvent être mis en oeuvre sous la forme d'une combinaison tout à la fois d'un logiciel (par exemple, un produit de programme informatique) et de circuits. Encore d'autres formes de réalisation de l'invention sont mises en oeuvre entièrement sous forme câblée, ou entièrement sous forme logicielle. Les modes de réalisation de l'invention décrits ci-dessus visent à être simplement à titre d'exemples ; de nombreuses variations et modifications apparaîtront de façon évidente aux personnes ayant une bonne connaissance de la technique. Toutes ces variations et modifications visent à rentrer à l'intérieur de l'étendue de l'application de la présente invention telle qu'elle est définie dans l'une quelconque des revendications jointes.

Claims (21)

  1. REVENDICATIONS1. Procédé pour le fonctionnement d'un serveur, couplé à un système de base de données et à un réseau étendu, pour gérer des données d'utilisateur dans une pluralité d'appareils de mémorisation couplés à un réseau étendu, le procédé 5 comprenant : l'établissement dans le système de base de données, par l'intermédiaire du serveur, d'une information pour chaque utilisateur enregistré, comprenant un compte d'utilisateur, un jeu d'appareils de mémorisation enregistrés, et un jeu de désignations de conteneurs pour la mémorisation des données d'utilisateur ; 10 l'établissement et la mémorisation dans le système de base de données d'un jeu de relations, basées sur des désignations par les utilisateurs, entre les appareils de mémorisation enregistrés et les désignations de conteneurs ; et l'utilisation d'un service central exécuté sur le serveur, couplé au système de base de données, pour délivrer des données de relations appareil de mémorisation- 15 conteneur aux appareils de mémorisation de façon à permettre aux appareils de corroborer les conteneurs à l'intérieur de ceux-ci, et de répliquer des données d'utilisateur avec d'autres appareils de mémorisation qui ont corroboré des conteneurs correspondants, d'une manière conforme aux relations mémorisées, et le service central fonctionnant sans interaction avec les données d'utilisateur 20 mémorisées dans les conteneurs.
  2. 2. Procédé selon la revendication 1, dans lequel chacun des appareils de mémorisation est configuré de façon à corroborer les conteneurs à l'intérieur de celui-ci et à répliquer des données d'utilisateur sans entrée par l'intermédiaire d'une interface d'utilisateur locale. 25
  3. 3. Procédé selon la revendication 1, dans lequel (i) des données de compte d'utilisateur dans le système de base de données pour un utilisateur donné peuvent être configurées par l'utilisateur donné et (ii) les données de compte d'utilisateur pour l'utilisateur donné spécifient un jeu de conteneurs dans le jeu d'appareils de mémorisation de l'utilisateur donné, grâce à quoi le serveur dirigera le partage des 30 données d'utilisateur de l'utilisateur donné avec un jeu d'appareils de mémorisation d'un autre utilisateur qui a consenti à partager ces données d'utilisateur.
  4. 4. Procédé selon la revendication 3, dans lequel les données de compte d'utilisateur pour l'utilisateur donné spécifient un niveau de partage de ces données d'utilisateur avec l'autre utilisateur. 35
  5. 5. Procédé selon la revendication 4, dans lequel le niveau de partage est sélectionné par l'utilisateur donné parmi une pluralité de niveaux.
  6. 6. Procédé selon la revendication 5, dans lequel la pluralité de niveaux comprend au moins deux parmi (a) lecture seule, (b) lecture et écriture, ou (c)invisible.
  7. 7. Procédé selon la revendication 3, comprenant de plus : la réception dans le serveur, sur le réseau étendu, à partir de l'utilisateur donné, d'une instruction pour délivrer un message d'invitation à l'autre utilisateur à ajouter un 5 conteneur sélectionné de l'utilisateur donné au jeu de désignations de conteneurs de l'autre utilisateur, et, en réponse à cela, la délivrance du message d'invitation, sur le réseau étendu, à un ordinateur de l'autre utilisateur ; lors de la réception, dans le serveur, sur le réseau étendu, d'un message d'acceptation à partir de l'autre utilisateur de l'invitation dans le message d'invitation, 10 l'addition du conteneur sélectionné au jeu de désignations de conteneurs de l'autre utilisateur ; la réception dans le serveur, sur le réseau étendu, à partir de l'autre utilisateur, de données définissant une relation entre le conteneur sélectionné et au moins un appareil de mémorisation de l'autre utilisateur ; et 15 l'utilisation du service central pour remettre à jour les données de relations appareil de mémorisation-conteneur dans l'appareil de mémorisation au nombre d'au moins un de l'autre utilisateur.
  8. 8. Procédé selon la revendication 7, comprenant de plus l'utilisation du service central pour remettre à jour les données de relations appareil de mémorisation- 20 conteneur sur au moins certains appareils de mémorisation, en plus de l'appareil de mémorisation au nombre d'au moins un de l'autre utilisateur, dans lesquels le conteneur sélectionné a été corroboré.
  9. 9. Procédé selon la revendication 7, dans lequel le conteneur sélectionné a été désigné par l'utilisateur donné au service central comme conteneur de sauvegarde 25 pour sauvegarder des données d'utilisateur de l'utilisateur donné, le procédé comprenant de plus : l'utilisation du service central pour remettre à jour les données de relations appareil de mémorisation-conteneur d'un appareil de mémorisation de l'utilisateur donné et pour faire crypter par l'appareil de mémorisation de l'utilisateur donné, au 30 cours de la transmission, toutes données d'utilisateur dans le conteneur de sauvegarde qui sont en train d'être répliquées dans le conteneur de sauvegarde corroboré dans l'appareil de mémorisation au nombre d'au moins un de l'autre utilisateur ; et l'utilisation du service central pour faire rendre invisible par l'appareil de 35 mémorisation au nombre d'au moins un de l'autre utilisateur le conteneur de sauvegarde corroboré sur celui-ci.
  10. 10. Procédé pour le fonctionnement d'une pluralité de serveurs, chaque serveur étant couplé à un système de base de données correspondant et à un réseau étenduet comportant un service central couplé à son système de base de données correspondant, pour gérer des données d'utilisateur dans une pluralité d'appareils de mémorisation couplés à un réseau étendu, le procédé comprenant : le fonctionnement des serveurs de façon à: a. établir, par l'intermédiaire d'un serveur donné des serveurs, pour un utilisateur enregistré donné, un compte d'utilisateur, un jeu d'appareils de mémorisation enregistrés, et un jeu de désignations de conteneurs pour la mémorisation de données d'utilisateur ; b. mémoriser dans le système de base de données associé au serveur donné o des serveurs un jeu de relations, établies par l'utilisateur, entre les appareils de mémorisation enregistrés et le jeu de désignations de conteneurs ; c. synchroniser les données dans les systèmes de base de données de telle sorte que chaque système de base de données réplique des données dans chacun des autres systèmes de base de données ; et 15 d. répéter les processus ci-dessus pour tous les utilisateurs enregistrés de telle sorte que chacun des systèmes de base de données mémorise un jeu de relations, établies collectivement par tous les utilisateurs, entre les appareils de mémorisation enregistrés et les désignations de conteneurs ; et l'utilisation du service central pour remettre à jour les données de relations 20 appareil de mémorisation-conteneur pour les appareils de mémorisation, de façon à permettre aux appareils de mémorisation de corroborer les conteneurs à l'intérieur de ceux-ci, et de répliquer des fichiers avec d'autres dispositifs qui ont corroboré des conteneurs correspondants, d'une manière conforme aux relations mémorisées, et le service central fonctionnant sans interaction avec les données d'utilisateur 25 mémorisées dans les conteneurs.
  11. 11. Appareil de mémorisation, comprenant : un dispositif de mémorisation ; une interface de réseau étendu ; un dispositif de commande de mémorisation, couplé à l'interface de réseau 30 étendu, qui reçoit, sur le réseau étendu, des données de relations appareil de mémorisation-conteneur à partir d'un serveur et qui provoque le partage, avec un jeu d'autres appareils de mémorisation similaires, de données d'utilisateur dans l'appareil de mémorisation conformément aux données de relations, et ces données de relations spécifiant un jeu de conteneurs devant être partagés avec le jeu d'autres 35 appareils de mémorisation ; dans lequel l'appareil de mémorisation ne nécessite pas d'interface d'utilisateur locale pour obtenir les données de relations appareil de mémorisation-conteneur.
  12. 12. Appareil de mémorisation selon la revendication 11, dans lequel l'interfacede réseau étendu comprend une logique de gestion de largeur de bande pour limiter le trafic de réseau total généré ou reçu par l'appareil de mémorisation, de façon à éviter une charge indésirable de l'interface de réseau.
  13. 13. Appareil de mémorisation selon la revendication 12, dans lequel le dispositif de commande de mémorisation est configuré de façon à fournir une interface d'utilisateur graphique à un ordinateur client par l'intermédiaire du réseau étendu, l'interface d'utilisateur graphique permettant la configuration d'une largeur de bande maximale pour la logique de gestion de largeur de bande.
  14. 14. Procédé de transfert de données à un appareil de mémorisation sur un 10 réseau étendu, le procédé comprenant : lors de la réception dans un serveur d'un élément identifiant un utilisateur récepteur, la délivrance, par l'intermédiaire du serveur, à un ordinateur hôte d'un envoyeur, d'un programme informatique qui procure un mécanisme pour la sélection, par l'envoyeur, d'un fichier devant être envoyé, et qui, sur l'ordre de l'envoyeur, 15 provoque la transmission directe du fichier sur le réseau étendu directement à un appareil de mémorisation de l'utilisateur récepteur qui est couplé au réseau étendu, l'appareil de mémorisation exécutant un processus qui communique avec des processus établis par le programme informatique.
  15. 15. Procédé de transfert de données sur un réseau étendu à partir d'un appareil 20 de mémorisation d'un utilisateur envoyeur, le procédé comprenant : lors de la réception, dans un serveur, d'une URL (adresse universelle) établie par l'utilisateur envoyeur par l'ordre à un programme d'envoi exécuté sur l'ordinateur hôte de l'utilisateur envoyeur d'envoyer un fichier sélectionné par l'utilisateur envoyeur à un destinataire, la délivrance, par l'intermédiaire du serveur, à un 25 ordinateur hôte du destinataire, d'un programme informatique de réception téléchargeable par l'intermédiaire de l'URL qui communique avec l'appareil de mémorisation de l'utilisateur envoyeur pour provoquer la transmission directe du fichier de l'appareil de mémorisation de l'utilisateur envoyeur à l'ordinateur hôte du destinataire. 30
  16. 16. Client de mémorisation, comprenant : un processeur ; une application de mémorisation qui est exécutée sur le processeur ; une mémoire locale en communication avec l'application de mémorisation ; et une interface d'appareil de mémorisation en communication avec l'application 35 de mémorisation, l'application de mémorisation étant configurée de façon à fournir une interface d'utilisateur permettant à un utilisateur de sélectionner, pour chacun d'un certain nombre de conteneurs mémorisés sur l'appareil de mémorisation, s'il est accédé au conteneur à distance par l'application de mémorisation par l'intermédiairede l'interface d'application de mémorisation ou si celui-ci est mis en cache localement par l'appareil de mémorisation.
  17. 17. Client de mémorisation selon la revendication 16, dans lequel l'interface d'utilisateur permet à l'utilisateur de basculer de façon dynamique entre l'accès à 5 distance et la mise en cache locale pour chaque conteneur.
  18. 18. Client de mémorisation selon la revendication 16, dans lequel l'application de mémorisation est configurée de façon à copier le contenu d'un conteneur à partir de l'appareil de mémorisation dans la mémoire locale, puis à synchroniser tous changements apportés aux conteneurs, lorsque la mise en cache locale est 10 sélectionnée pour le conteneur.
  19. 19. Client de mémorisation selon la revendication 16, dans lequel l'application de mémorisation est configurée de façon à accéder à distance au contenu d'un conteneur en réponse à des accès au conteneur, lorsque l'accès à distance est sélectionné pour le conteneur. 15
  20. 20. Procédé pour synchroniser le contenu d'un conteneur de mémorisation sur une pluralité d'appareils de mémorisation, le procédé comprenant : la transmission, par un premier appareil de mémorisation à un deuxième appareil de mémorisation, d'une information d'historique de changements pour un conteneur partagé ; 20 le traitement de l'information d'historique de changements par le deuxième appareil de mémorisation de façon à résoudre tous conflits avec une autre information d'historique de changements associée au conteneur ; la transmission, par le deuxième appareil de mémorisation au premier appareil de mémorisation, d'une demande pour que le premier appareil de mémorisation 25 envoie tous fichiers modifiés pour le conteneur au deuxième appareil de mémorisation ; lors de la réception d'un fichier modifié pour le conteneur à partir du premier appareil de mémorisation, la remise à jour du contenu du conteneur par le deuxième appareil de mémorisation en fonction du fichier modifié reçu à partir du premier 30 appareil de mémorisation ; la remise à jour, par le deuxième appareil de mémorisation, d'un historique de changements associé au conteneur de façon à refléter le contenu remis à jour du conteneur ; et la répétition des étapes de transmission, de traitement, de transmission et de 35 remise à jour jusqu'à ce que les premier et deuxième appareils de mémorisation comportent les mêmes données de fichiers dans leurs copies respectives du conteneur.
  21. 21. Système de mémorisation comme décrit ici, dans lequel un conteneur dansun premier appareil de mémorisation associé à un premier utilisateur est partagé avec un deuxième appareil de mémorisation associé à un deuxième utilisateur de telle sorte que le deuxième utilisateur ne puisse pas accéder au conteneur ou à son contenu, par exemple par le fait de cacher et/ou de crypter le conteneur et son contenu.
FR1353867A 2012-04-26 2013-04-26 Systeme et procede pour gerer des donnees d'utilisateur dans une pluralite d'appareils de memorisation sur un reseau etendu pour la collaboration, la protection, la publication ou le partage, ainsi que la memorisation socialement organisee et l'acces partage a des appareils de memorisation Active FR2990036B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1750012A FR3046478A1 (fr) 2012-04-26 2017-01-02

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201261638866P 2012-04-26 2012-04-26
US13/688,995 US20140145571A1 (en) 2012-11-29 2012-11-29 Assembly for Digital Storage Appliance
US201261731518P 2012-11-30 2012-11-30
US201261731517P 2012-11-30 2012-11-30
US13/804,436 US9396156B2 (en) 2012-04-26 2013-03-14 System and method for socially organized storage and shared access to storage appliances
US13/804,019 US9218406B2 (en) 2012-04-26 2013-03-14 System and method for managing user data in a plurality of storage appliances over a wide area network for collaboration, protection, publication, or sharing

Publications (2)

Publication Number Publication Date
FR2990036A1 true FR2990036A1 (fr) 2013-11-01
FR2990036B1 FR2990036B1 (fr) 2017-03-31

Family

ID=48446614

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1353867A Active FR2990036B1 (fr) 2012-04-26 2013-04-26 Systeme et procede pour gerer des donnees d'utilisateur dans une pluralite d'appareils de memorisation sur un reseau etendu pour la collaboration, la protection, la publication ou le partage, ainsi que la memorisation socialement organisee et l'acces partage a des appareils de memorisation

Country Status (1)

Country Link
FR (1) FR2990036B1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030177194A1 (en) * 2002-03-15 2003-09-18 Stephen Crocker Data replication system and method
US20090210454A1 (en) * 2008-02-18 2009-08-20 Microsoft Corporation File system watcher in the presence of different file systems
US20100332401A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
US20110047480A1 (en) * 2009-08-21 2011-02-24 Primadesk Inc System and Method to aggregate users data that is spread all over the internet and show an uniform view in the form the user is most used to
US20110225362A1 (en) * 2010-03-15 2011-09-15 Cleversafe, Inc. Access control in a dispersed storage network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030177194A1 (en) * 2002-03-15 2003-09-18 Stephen Crocker Data replication system and method
US20090210454A1 (en) * 2008-02-18 2009-08-20 Microsoft Corporation File system watcher in the presence of different file systems
US20100332401A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
US20110047480A1 (en) * 2009-08-21 2011-02-24 Primadesk Inc System and Method to aggregate users data that is spread all over the internet and show an uniform view in the form the user is most used to
US20110225362A1 (en) * 2010-03-15 2011-09-15 Cleversafe, Inc. Access control in a dispersed storage network

Also Published As

Publication number Publication date
FR2990036B1 (fr) 2017-03-31

Similar Documents

Publication Publication Date Title
US11580244B2 (en) File sharing system and method
US11269491B2 (en) Bookmarking shared file and folder links
US9218406B2 (en) System and method for managing user data in a plurality of storage appliances over a wide area network for collaboration, protection, publication, or sharing
JP6793766B2 (ja) 共有され同期されたコンテンツにアクセスするアプリケーションにおいてプレゼンスを表示すること
US9396156B2 (en) System and method for socially organized storage and shared access to storage appliances
US9866508B2 (en) Aggregating and presenting recent activities for synchronized online content management systems
KR101130434B1 (ko) 그룹 공유 공간
JP6924906B2 (ja) グループベースコミュニケーションシステムを介して外部アクションを開始するシステム及び方法
US20180013621A1 (en) Community Internet Drive
JP7079397B2 (ja) グループベース通信システムの自動生成データを利用して処理アクションを開始するためのシステムおよび方法
CN102165444B (zh) 对主机发布的内容进行访问控制
US20070083527A1 (en) Systems and methods for uploading and downloading files in a distributed network
TW201931229A (zh) 共享空間的存取方法、權限管理方法及裝置
KR20110036930A (ko) 복수의 디바이스들에 걸친 개인적인 디지털 자산들을 관리하는 방법
US20150134817A1 (en) Cloud server aggregator to facilitate access and transmission of data stored on multiple cloud servers
US20140123028A1 (en) Comprehensive multimedia management platform
AU2013224739B2 (en) Method and device for associating metadata to media objects
US20150326620A1 (en) Media presentation in a virtual shared space
US10601799B2 (en) System and method for visualizing data sharing arrangements for an organization
AU2009300195A1 (en) Methods and systems for providing easy access to information and for sharing services
US20230137345A1 (en) System and method for decentralized user controlled social media
FR3046478A1 (fr)
FR2990036A1 (fr) Systeme et procede pour gerer des donnees d'utilisateur dans une pluralite d'appareils de memorisation sur un reseau etendu pour la collaboration, la protection, la publication ou le partage, ainsi que la memorisation socialement organisee et l'acces partage a des appareils de memorisation
EP2360890B1 (fr) Création et utilisation d'un espace de partage autour d'au moins un contenu associé à un utilisateur source pour des utilisateurs destinataires
EP3560147B1 (fr) Automatisation des échanges entre objets communicants

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 3

PLSC Publication of the preliminary search report

Effective date: 20160108

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

RG Lien (pledge) cancelled

Effective date: 20200309

PLFP Fee payment

Year of fee payment: 8

TP Transmission of property

Owner name: NEXSAN CORPORATION, US

Effective date: 20200512

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11