Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD OF SYNCHRONIZATION OF DATA BETWEEN A SET OF TERMINALS
Document Type and Number:
WIPO Patent Application WO/2015/087019
Kind Code:
A1
Abstract:
Method of synchronization of data between a set of terminals. The invention relates to means for sharing and synchronizing data between a set of terminals. In particular, the synchronizing means are adapted to be implemented on a first terminal from among the set of terminals and comprise: • means adapted for allowing the selection of a second terminal from among said terminals; • means for obtaining a storage organization specific to the second terminal, and for allowing the selection in said organization of a path for access to a set of data; • means of receiving and storing the selected set of data; • means of maintaining the synchronization of the set of data between the first and the second terminal.

Inventors:
D URSO LUC (FR)
Application Number:
PCT/FR2014/053312
Publication Date:
June 18, 2015
Filing Date:
December 12, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
WOOXO (FR)
International Classes:
G06F17/30; H04L29/08
Foreign References:
US20080208870A12008-08-28
US8650498B12014-02-11
Other References:
"SugarSync User Guide, Version 3.01", 1 October 2012 (2012-10-01), pages 1 - 121, XP055128979, Retrieved from the Internet [retrieved on 20140715]
Attorney, Agent or Firm:
Cabinet GERMAIN & MAUREAU (FR)
Download PDF:
Claims:
REVENDICATIONS

1 . Procédé de synchronisation de données entre un ensemble de terminaux (14a, 14b, 14c, 14d) accessibles à un utilisateur, caractérisé en ce qu'il comporte les étapes suivantes, mises en œuvre par un premier terminal de l'ensemble de terminaux: sélection (1 10) d'un deuxième terminal parmi l'ensemble des terminaux; obtention (120) d'une organisation de stockage propre au deuxième terminal, et sélection (120) dans ladite organisation d'un chemin d'accès à un ensemble de données; réception et stockage (150) de l'ensemble des données sélectionné; maintien de la synchronisation (160) de l'ensemble des données entre le premier et le deuxième terminal.

2. Procédé selon la revendication 1 , dans lequel l'ensemble des données reçu par le premier terminal est stocké sur le premier terminal selon une organisation de stockage sensiblement similaire à l'organisation de stockage propre au deuxième terminal.

3. Procédé selon l'une quelconque des revendications précédentes, comportant en outre les étapes suivantes: suite à la sélection (120) du chemin d'accès à l'ensemble de données, sélection entre une opération de synchronisation et une opération de téléchargement; en cas de sélection de l'opération de synchronisation, réception et stockage (150) de l'ensemble des données sélectionné; puis maintien de la synchronisation (160) de l'ensemble des données entre le premier et le deuxième terminal; en cas de sélection de l'opération de téléchargement, réception et stockage (140) de l'ensemble des données sélectionné selon une organisation de stockage propre au premier terminal.

Procédé selon l'une quelconque des revendications précédentes, comportant en outre les étapes suivantes:

• obtention (220) d'une liste d'ensembles de données synchronisées entre le premier terminal et les autres terminaux de l'ensemble de terminaux;

• pour chaque ensemble de données de la liste d'ensembles de données, obtention (230) de la date de la dernière consultation et/ou modification;

• pour chaque ensemble de données de la liste d'ensembles de données, si la date de la dernière consultation et/ou modification est supérieure à un seuil, arrêt (240) du maintien de la synchronisation de l'ensemble des données sur le premier terminal.

Procédé selon la revendication 4, dans lequel les étapes d'obtention (220) de la liste d'ensembles de données synchronisées, d'obtention (230) de la date de la dernière consultation et/ou modification, et d'arrêt (240) du maintien de la synchronisation sont répétées à un intervalle de temps déterminé.

Procédé selon la revendication 5, dans lequel l'intervalle de temps et le seuil sont sensiblement identiques.

Procédé selon la revendication 5 ou 6, dans lequel le seuil est sensiblement égal à deux mois.

Terminal (14a, 14b, 14c, 14d), comportant des moyens de communication configurés pour permettre l'échange de données avec un ensemble de terminaux (14a, 14b, 14c, 14d) accessibles à un utilisateur, caractérisé en ce qu'il comporte un module de synchronisation de données couplé aux moyens de communication, le module de synchronisation comportant: des moyens adaptés pour permettre la sélection (1 10) d'un deuxième terminal parmi l'ensemble des terminaux; des moyens pour obtenir (120) une organisation de stockage propre au deuxième terminal, et pour permettre la sélection (120) dans ladite organisation d'un chemin d'accès à un ensemble de données; des moyens de réception et de stockage (150) de l'ensemble des données sélectionné; des moyens de maintien de la synchronisation (160) de l'ensemble des données entre le premier et le deuxième terminal.

Terminal selon la revendication 8, comportant en outre des moyens d'exécution d'une tâche d'optimisation configurés de sorte à:

• obtenir (220) d'une liste d'ensembles de données synchronisées entre le premier terminal et les autres terminaux de l'ensemble de terminaux;

• pour chaque ensemble de données de la liste d'ensembles de données, obtenir (230) la date de la dernière consultation et/ou modification;

• pour chaque ensemble de données de la liste d'ensembles de données, si la date de la dernière consultation et/ou modification est supérieure à un seuil, arrêter (240) du maintien de la synchronisation de l'ensemble des données sur le premier terminal.

Terminal selon la revendication 9, dans lequel les moyens d'exécution sont configurés de sorte à mettre en œuvre la tâche d'optimisation à un intervalle de temps déterminé.

1 1 . Terminal selon la revendication 10, dans lequel l'intervalle de temps et le seuil sont sensiblement identiques.

12. Terminal selon la revendication 10 ou 1 1 , dans lequel le seuil est sensiblement égal à deux mois.

13. Système comportant des moyens de communication et une pluralité de terminaux selon l'une quelconque des revendications 8 à 12.

14. Programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé selon l'une quelconque des revendications 1 à 7, lorsque ledit programme est exécuté par un processeur.

15. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé selon l'une quelconque des revendications 1 à 7.

Description:
PROCÉDÉ DE SYNCHRONISATION DE DONNÉES ENTRE UN ENSEMBLE DE

TERMINAUX

La présente invention se rapporte à des moyens de partage et de synchronisation de données entre une pluralité de terminaux. Elle concerne plus particulièrement des moyens pour partager et synchroniser des fichiers stockés selon différentes organisations propres à chaque terminal.

Un utilisateur dispose usuellement de plusieurs terminaux grâce auxquels il accède, crée ou modifie des données, typiquement des fichiers bureautiques, des photographies, des vidéos, ou des présentations.

Des systèmes de synchronisation ont été développés afin de permettre le partage et la synchronisation de fichiers entre les différents terminaux, dès lors que ces derniers sont connectés à Internet. En particulier, de tels systèmes reposent sur le déploiement d'une application de synchronisation sur chaque terminal et sur la mise à disposition d'un répertoire dédié à la synchronisation, dans lequel l'utilisateur copie ou crée les fichiers à synchroniser entre les terminaux. Par exemple, un premier répertoire de synchronisation est créé par l'application de synchronisation lors de son installation sur l'ordinateur portable de l'utilisateur, un deuxième répertoire de synchronisation étant créé par l'application de synchronisation lors de son installation sur la tablette de l'utilisateur. Pour partager un dossier A comportant une pluralité de fichiers bureautiques, depuis l'ordinateur portable, l'utilisateur copie ce dossier A dans le premier répertoire de synchronisation. L'application de synchronisation et le système de synchronisation se chargent alors de copier le dossier A et son contenu dans le deuxième répertoire de synchronisation sur la tablette de l'utilisateur. L'utilisateur peut alors accéder au contenu du dossier A depuis sa tablette. L'utilisateur peut éventuellement mettre à jour le contenu du dossier A depuis sa tablette. Cette mise à jour sera alors répercutée, par le système de synchronisation, dans le premier répertoire de synchronisation de l'ordinateur portable. Cependant, ce type de systèmes souffre de plusieurs limitations. Une limitation tient au fait que l'ensemble des fichiers synchronisés doit être contenu dans le répertoire de synchronisation. Ce problème se présente notamment lorsqu'un des terminaux dispose d'une capacité de stockage supérieure aux autres. Par exemple, si un des terminaux est un serveur d'entreprise sur lequel une grande quantité de données professionnelles est mise à disposition de l'utilisateur, l'espace disque requis pour synchroniser lesdites données sur le téléphone mobile de l'utilisateur peut s'avérer trop important. En effet, le répertoire de synchronisation de chaque terminal doit pouvoir accueillir l'ensemble des données à synchroniser.

Une autre limitation se trouve dans la nécessité de réorganiser le stockage des fichiers à synchroniser selon l'organisation requise par le système de synchronisation. Ainsi, l'obligation d'utiliser un répertoire de synchronisation dédié contraint l'utilisateur à superposer une nouvelle organisation à sa logique de classement habituelle. Par exemple, si l'utilisateur stocke habituellement ses photographies dans un sous-répertoire intitulé «mes photos» de son espace personnel, il devra, pour synchroniser ses photographies entre ses terminaux, soit déplacer soit dupliquer le sous-répertoire «mes photo» dans le répertoire de synchronisation.

En outre, de tels systèmes de synchronisation offrent une adaptabilité très restreinte, et excluent, de la synchronisation, les données propres à l'utilisateur traitées par un serveur d'application. En effet, un serveur d'application est adapté pour traiter des données pour une pluralité d'utilisateurs distincts. Utiliser un répertoire unique de synchronisation pour plusieurs utilisateurs n'est donc ni efficace ni généralement souhaitable.

C'est pourquoi il existe encore un besoin pour des moyens efficaces de partage et de synchronisation de données entre une pluralité de terminaux, lesdits moyens étant aptes à s'adapter aux modes d'organisation et aux capacités de stockage de chacun des terminaux.

Un des objets de l'invention est de fournir des moyens efficaces de partage et de synchronisation de données entre une pluralité de terminaux. Un autre objet de l'invention est de fournir des moyens de synchronisation aptes à s'adapter aux modes d'organisation et aux capacités de stockage de chacun des terminaux, et en particulier aux serveurs applicatifs. Un autre objet de l'invention est de fournir des moyens de synchronisation permettant à un utilisateur d'accéder à toutes ses données, réparties sur l'ensemble de ses terminaux, sans restrictions dues à la capacité de stockage du terminal utilisé pour accéder auxdites données. Un autre objet de l'invention est de fournir des moyens de synchronisation respectant l'organisation de stockage propre à chaque terminal, en particulier l'organisation existante des répertoires et des fichiers, et ne nécessitant pas l'emploi d'une organisation prédéfinie spécifique à la synchronisation. Un autre objet de l'invention est de permettre la synchronisation de données entre différents types de terminaux, en particulier entre des ordinateurs, des tablettes, des téléphones mobiles et des serveurs d'application.

Un ou plusieurs de ces objets sont remplis par le procédé, le terminal, le système, le programme d'ordinateur et le support d'enregistrement selon les revendications indépendantes. Les revendications dépendantes fournissent en outre des solutions à ces objets et/ou d'autres avantages.

Plus particulièrement, selon un premier aspect, l'invention se rapporte à un procédé de synchronisation de données entre un ensemble de terminaux accessibles à un utilisateur. Le procédé comporte les étapes suivantes, mises en œuvre par un premier terminal de l'ensemble de terminaux: sélection d'un deuxième terminal parmi l'ensemble des terminaux; obtention d'une organisation de stockage propre au deuxième terminal, et sélection dans ladite organisation d'un chemin d'accès à un ensemble de données; réception et stockage de l'ensemble des données sélectionné; maintien de la synchronisation de l'ensemble des données entre le premier et le deuxième terminal. En permettant de synchroniser sur le premier terminal seulement un ensemble de données précis présent sur le deuxième terminal, et non la totalité des données présentes, il est alors possible de ne transférer sur le premier terminal que l'ensemble de données sélectionné. Ainsi si l'espace de stockage disponible sur le premier terminal est limité, et plus particulièrement moins important que la totalité des données présentes sur le deuxième terminal, la synchronisation pourra être effectuée. Il est alors possible non seulement d'accéder à tout instant à la totalité des données stockées sur le deuxième terminal, mais aussi d'optimiser l'espace occupé sur le premier terminal, car seul l'ensemble de données sélectionné est effectivement transféré. En outre, l'organisation de stockage du deuxième terminal étant obtenue et utilisée pour sélectionner l'ensemble de données, aucune contrainte ne pèse sur ladite organisation: il n'est pas nécessaire que les données soient mises à disposition sur le deuxième terminal selon une organisation de stockage spécifique ou particulière. Cela est donc particulièrement utile pour synchroniser des données qui ne peuvent être stockées selon une organisation précise sans duplication, notamment dans le cas de serveur d'application qui utilise une organisation de stockage propre et souvent peu adaptable.

Les terminaux appartiennent par exemple à l'une ou plusieurs des catégories suivantes: un ordinateur de bureau, un ordinateur portable, un téléphone mobile, une tablette, un serveur d'application, un système de stockage de données, en particulier un système de stockage réseau ou «Network Attached Storage» en anglais, des équipements de connections au réseau pourvus de moyens de stockage, en particulier des boîtiers ou «box» mis à disposition par des opérateurs de télécommunications pour accéder à leur réseau et comportant des moyens de stockage comme des disques durs. En particulier, pour un terminal de la catégorie serveur d'application, fournit par exemple un service pour traiter des tâches bureautiques de type traitement de texte, tableur, gestion des contacts et des agendas, messagerie, un logiciel métier - par exemple un logiciel de gestion ou d'accès à une base de données métiers, ou encore un portail d'accès et/ou de partages de données/connaissances. L'ensemble de terminaux accessibles à un utilisateur regroupe notamment les terminaux dont l'utilisateur est le propriétaire et/ou la personne autorisée à utiliser les terminaux et/ou la personne ayant les droits d'accès requis pour accéder aux terminaux et/ou à l'ensemble de données. Chaque terminal peut comprendre des moyens informatiques, typiquement des moyens de calcul comme des processeurs, ainsi que des moyens de stockage comme des disques durs et/ou de la mémoire de masse à semi-conducteurs réinscriptible de type «FLASH». Chaque terminal peut stocker à l'aide des moyens de stockage les données selon une organisation propre. En outre, la capacité des moyens de stockage de chaque terminal disponible n'est pas nécessairement égale à celle des autres terminaux. Les terminaux, en particulier le premier terminal, peuvent comporter des moyens d'affichage et d'interaction — par exemple un écran tactile, un ensemble composé d'un clavier, d'une souris et d'un écran - pour permettre à un utilisateur d'interagir avec les applications exécutées localement.

L'ensemble de données est par exemple un fichier. L'ensemble de données peut également être une image, un son, une vidéo, une structure de données, un texte, etc.

Le chemin d'accès à l'ensemble de données est un moyen permettant de localiser dans l'organisation de stockage l'emplacement de l'ensemble de données. Typiquement, la typologie de l'organisation est une arborescence comprenant des fichiers contenus dans des répertoires et des sous-répertoires. Plus précisément, l'organisation de stockage comprend une description des fichiers contenus dans des répertoires et des sous-répertoires. Par organisation de stockage différente, il faut comprendre que, selon le terminal, l'emplacement où un même ensemble de données est stocké peut être différent, et que le chemin d'accès est donc différent. Par exemple, un fichier A peut être stocké sur un terminal à l'emplacement repéré par le chemin d'accès/Rep1/RepB/A tandis que sur un autre terminal le même fichier A sera stocké à l'emplacement repéré par le chemin d'accès/Rep2/RepB/Rep3/A.

Avantageusement, cette disposition permet de synchroniser uniquement l'arborescence de l'organisation de stockage et par la même occasion de ne pas synchroniser les dossiers, plus précisément de ne pas synchroniser les contenus des fichiers présents dans les dossiers. En effet, les contenus des fichiers ne sont pas synchronisés, mais les contenus des fichiers restent accessibles à l'utilisateur. Ainsi, grâce à cette disposition, la bande passante consommée est optimisée car la quantité des données échangée est diminuée.

Dans un mode de réalisation, une fois synchronisé, l'ensemble de données est accessible sur le premier terminal, y compris lorsque le premier terminal n'a pas accès à Internet. En cas de modifications de l'ensemble de données, ces dernières sont détectées, puis transmises à tous les terminaux sur lesquels l'ensemble a été synchronisé. Lorsque ces modifications sont reçues, l'ensemble de données stocké localement correspondant est mis à jour en conséquence.

L'ensemble des données reçu par le premier terminal peut être stocké sur le premier terminal selon une organisation de stockage sensiblement similaire à l'organisation de stockage propre au deuxième terminal. Ainsi, la synchronisation est facilitée, et il est possible de conserver une organisation de stockage unique entre plusieurs terminaux si nécessaire. Typiquement, un même chemin d'accès peut être considéré une organisation de stockage similaire pour un ensemble de données particulier.

Dans un mode de réalisation, le procédé comporte également les étapes suivantes: suite à la sélection du chemin d'accès à l'ensemble de données, sélection entre une opération de synchronisation et une opération de téléchargement; en cas de sélection de l'opération de synchronisation, réception et stockage de l'ensemble des données sélectionné; puis maintien de la synchronisation de l'ensemble des données entre le premier et le deuxième terminal; en cas de sélection de l'opération de téléchargement, réception et stockage de l'ensemble des données sélectionné selon une organisation de stockage propre au premier terminal.

Ainsi, il est possible de laisser la possibilité de télécharger l'ensemble de données au lieu de la synchroniser. En particulier, ce choix peut être réalisé par l'utilisateur. L'ensemble de données téléchargées est stocké sur le terminal mettant en œuvre le procédé, selon l'organisation dudit terminal. En particulier, le chemin d'accès à l'ensemble de données téléchargé peut être différent du chemin d'accès choisi au cours de la deuxième étape. Le choix d'un autre chemin d'accès peut être réalisé par l'utilisateur. En cas de modifications par l'utilisateur de l'ensemble de données enregistré localement, ces dernières ne seront pas reportées sur les données correspondantes stockées sur le terminal ayant transmis les données.

Le procédé peut encore comporter les étapes suivantes: obtention d'une liste d'ensembles de données synchronisées entre le premier terminal et les autres terminaux de l'ensemble de terminaux; pour chaque ensemble de données de la liste d'ensembles de données, obtention de la date de la dernière consultation et/ou modification; pour chaque ensemble de données de la liste d'ensembles de données, si la date de la dernière consultation et/ou modification est supérieure à un seuil, arrêt du maintien de la synchronisation de l'ensemble des données sur le premier terminal.

En effet, il a été généralement constaté, en analysant les besoins typiques d'utilisateurs, qu'un même ensemble de données doit être synchronisé sur une période assez courte. En effet, l'utilité de la synchronisation existent essentiellement suite à la création de cet ensemble de données, dans la phase d'édition et de mises à jour, et jusqu'à l'étape de finalisation. Aussi, en proposant d'arrêter automatiquement la synchronisation des données non modifiées depuis un intervalle de temps déterminé, le procédé permet d'optimiser l'utilisation des ressources, en permettant non seulement de ne pas synchroniser inutilement des données, mais en outre de permettre la suppression desdites données localement. Toutefois, même lorsque ces données sont supprimées du premier terminal, elles demeurent disponibles sur le deuxième terminal et peuvent être à nouveau synchronisées.

Les étapes d'obtention de la liste d'ensembles de données synchronisées, d'obtention de la date de la dernière consultation et/ou modification, et d'arrêt du maintien de la synchronisation sont par exemple répétées à un intervalle de temps déterminé. L'intervalle de temps et le seuil peuvent être sensiblement identiques. Le seuil est par exemple sensiblement égal à deux mois, ce qui correspond à une durée particulièrement efficace en matière d'optimisation, puisqu'il a été constaté qu'il s'agit de la durée moyenne entre la phase de création d'un jeu de données et la fin de l'édition dudit jeu, durée au cours de laquelle l'essentiel des besoins en synchronisation se manifeste.

Selon un deuxième aspect, l'invention se rapporte à un terminal, adapté à mettre en œuvre le procédé selon le premier aspect, et comportant des moyens de communication configurés pour permettre l'échange de données avec un ensemble de terminaux accessibles à un utilisateur.

Selon le troisième aspect, l'invention se rapporte à un système comportant des moyens de communication et une pluralité de terminaux selon le deuxième aspect.

Selon un troisième aspect, l'invention se rapporte à un programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé selon le premier aspect, lorsque ledit programme est exécuté par un processeur.

Chacun de ces programmes peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitablelsEPjEn particulier, il est possible d'utiliser des langages de script, tels que notamment tel, javascript, python, perl qui permettent une génération de code «à la demande» et ne nécessitent pas de surcharge significative pour leur génération ou leur modification.

Selon un quatrième aspect, l'invention se rapporte à un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé selon le premier aspect.

Le support d'informations peut être n'importe quelle entité ou n'importe quel dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD-ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé par un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau Internet ou Intranet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.

D'autres particularités et avantages de la présente invention

apparaîtront, dans la description ci-après de modes de réalisation, en référence aux dessins annexés, dans lesquels:

• la figure 1 est un schéma d'un système de partage et de synchronisation de données entre une pluralité de terminaux selon un mode de réalisation;

• la figure 2 est un synoptique d'un procédé de partage et de synchronisation de données entre une pluralité de terminaux selon un mode de réalisation; • la figure 3 est un exemple schématique d'une interface utilisateur selon l'invention, pour permettre la sélection d'un des terminaux accessibles à l'utilisateur;

• la figure 4 est un exemple schématique d'une interface utilisateur selon l'invention, pour permettre la sélection du chemin d'accès aux données à télécharger et/ou synchroniser dans l'organisation de stockage du terminal sélectionné;

• la figure 5 est un exemple schématique d'une interface utilisateur selon l'invention, pour permettre le choix entre une opération de téléchargement ou de synchronisation;

• la figure 6 est un synoptique d'un procédé d'optimisation de synchronisations, selon un mode de réalisation.

La figure 1 illustre schématiquement un système de partage et de synchronisation de données entre une pluralité de terminaux selon un mode de réalisation. Il comprend un système de gestion 10pourvu de moyens de couplage à une infrastructure 12 de type informatique dématérialisée, plus généralement désignée par le terme anglo-saxon de «cloud Computing». Le système de gestion 10 comprend des moyens informatiques, typiquement des moyens de calcul comme des processeurs, ainsi que des dispositifs de stockage comme des disques durs et de la mémoire vive. Les moyens informatiques du système de gestion 10 permettent notamment de gérer la synchronisation de données entre des terminaux 14, et plus particulièrement la gestion du transfert des données entre les terminaux 14 et de la sécurité et/ou des droits d'accès des utilisateurs du système.

Dans l'exemple de la figure 1 , les terminaux 14 suivant sont représentés: un ordinateur de bureau 14a, un téléphone mobile 14b, une tablette 14c et un serveur d'application 14d. Le serveur d'application 14d fournit par exemple un service pour traiter des tâches bureautiques de type traitement de texte, tableur, gestion des contacts et des agendas, messagerie, un logiciel métier - par exemple un logiciel de gestion ou d'accès à une base de données métiers. Les terminaux 14 pourraient comprendre l'un ou plusieurs des terminaux suivant (non représentés) : un système de stockage de données, en particulier un système de stockage réseau ou «Network Attached Storage» en anglais, des équipements de connections au réseau pourvus de moyens de stockage, en particulier des boîtiers ou «box» mis à disposition par des opérateurs de télécommunications pour accéder à leur réseau et comportant des moyens de stockage comme des disques durs. Par souci de clarté, dans la suite de la description, les données à partager et synchroniser sur ces terminaux 14 sont supposées accessibles à un même utilisateur, bien que le système de partage et de synchronisation de données selon l'invention prenne en charge une pluralité d'utilisateurs ayant chacun un ensemble de terminaux propres. Ce cas d'usage se présente notamment lorsque l'utilisateur est le propriétaire ou l'utilisateur autorisé de l'ordinateur de bureau 14a, du téléphone mobile 14b, et de la tablette 14c, et qu'il a les droits d'accès requis pour accéder à un ensemble de données sur le serveur d'application 14d. Chaque terminal 14 comprend des moyens informatiques, typiquement des moyens de calcul comme des processeurs, ainsi que des moyens de stockage comme des disques durs et/ou de la mémoire de masse à semi-conducteurs réinscriptible de type «FLASH». Chaque terminal 14 stocke à l'aide des moyens de stockage les données selon une organisation propre. En particulier, le serveur d'application 14d stocke à l'aide des moyens de stockage les données relatives au(x) service(s) rendu à l'utilisateur, selon une organisation propre. En outre, la capacité des moyens de stockage de chaque terminal 14 disponible n'est pas nécessairement égale à celle des autres terminaux. Chaque terminal 14 comporte également des moyens de couplage à l'infrastructure 12, typiquement par l'intermédiaire d'un réseau Internet. Certains terminaux, par exemple l'ordinateur de bureau 14a, le téléphone mobile 14b, et la tablette 14c, peuvent comprendre des moyens d'affichage et d'interaction— par exemple un écran tactile, un ensemble composé d'un clavier, d'une souris et d'un écran - pour permettre à un utilisateur d'interagir avec les applications exécutées localement. Chaque terminal 14 est pourvu d'un module de synchronisation 16. Le module de synchronisation 16 est par exemple une application, installée sur le terminal, adaptée pour accéder aux données stockées localement, et configurée de sorte à mettre en œuvre une interface utilisateur et communiquer avec le système de gestion 10, pour permettre le partage et la synchronisation de données avec les autres terminaux.

La figure 2 illustre, par un synoptique, un procédé de partage et de synchronisation de données entre une pluralité de terminaux selon un mode de réalisation. Le procédé est notamment adapté à être mis en œuvre par le module de synchronisation 16 sur un des terminaux. Dans l'exemple qui suit, le procédé est mis en œuvre par le module de synchronisation 16 de l'ordinateur de bureau 14a. Dans cet exemple, l'utilisateur souhaite accéder à et/ou synchroniser, depuis son ordinateur de bureau 14a, une image contenue dans un fichier intitulé «Plan.JPG»et stocké, sur le téléphone mobile 14b, dans le répertoire «Docs.». Le chemin d'accès au fichier «Plan.JPG» est donc « /Docs./Plan.JPG».

Dans une première étape 1 10, un des terminaux, compris dans une liste regroupant les terminaux auxquels l'utilisateur a accès, est sélectionné. La liste des terminaux accessibles peut être obtenue par le module de synchronisation 16 en émettant une requête à destination du système de gestion 10, qui envoie en retour ladite liste, ou les modifications de ladite liste depuis la réception de la dernière requête. La liste des terminaux accessibles peut également être maintenue localement par le module de synchronisation 16 et créée et/ou mise à jour lors d'une phase de configuration. Un exemple schématique d'une interface utilisateur, mise en œuvre par le module de synchronisation 16 pour permettre à l'utilisateur de sélectionner un des terminaux de ladite liste, est illustré par la figure 3. Dans cet exemple, la liste comporte une entrée pour l'ordinateur de bureau 14a, une entrée pour le téléphone mobile 14b, une entrée pour la tablette 14c, et une entrée pour le serveur applicatif 14d. L'utilisateur peut ainsi choisir le terminal auquel il souhaite accéder, en l'espèce, le téléphone mobile 14b.

Dans une deuxième étape 120, un chemin d'accès aux données à télécharger et/ou synchroniser est identifié dans l'organisation de stockage propre au terminal sélectionné au cours de la première étape. En particulier, l'organisation de stockage dudit terminal peut être obtenue par le module de synchronisation 16 en émettant une requête à destination du système de gestion 10, qui transmet en retour ladite organisation ou les modifications de ladite organisation depuis la réception de la dernière requête. Typiquement, la typologie de l'organisation est une arborescence comprenant des fichiers contenus dans des répertoires. Pour permettre à l'utilisateur de sélectionner le chemin d'accès aux données à télécharger et/ou synchroniser, une interface utilisateur permettant la navigation dans l'organisation peut est mis en œuvre par le module de synchronisation 16. Une telle interface est représentée schématiquement sur la figure 4. Dans cet exemple, l'utilisateur parcourt l'arborescence selon laquelle le téléphone mobile 14b stocke les données, jusqu'à identifier le chemin d'accès au fichier «Plan.JPG», à savoir «/Docs./Plan.JPG».

Dans une troisième étape 130, le choix entre une opération de synchronisation ou de téléchargement est effectué pour les données correspondant au chemin d'accès choisi au cours de la deuxième étape 120. Dans un mode de réalisation, le module de synchronisation 16 peut être configuré pour mettre à disposition de l'utilisateur une interface lui permettant d'effectuer ce choix. Une telle interface est représentée schématiquement sur la figure 5. Dans cet exemple, l'utilisateur choisit dans un menu s'il souhaite télécharger le fichier «Plan.JPG». Alternativement, le module de synchronisation 16 peut être configuré pour choisir automatiquement entre le téléchargement ou la synchronisation, en fonction par exemple d'un paramètre de configuration ou d'un choix antérieur de l'utilisateur.

Si, au cours de la troisième étape 130, le choix se porte sur une opération de téléchargement, les données correspondant au chemin d'accès choisi au cours de la deuxième étape 120 sont téléchargées au cours d'une quatrième étape 140. Dans l'exemple ici décrit, le fichier «Plan.JPG» sera donc téléchargé depuis le téléphone mobile 16b jusqu'à l'ordinateur 14a. Les données téléchargées seront stockées sur le terminal mettant en œuvre le procédé, selon l'organisation dudit terminal. En particulier, le chemin d'accès aux données téléchargées peut être différent du chemin d'accès choisi au cours de la deuxième étape. Le choix d'un autre chemin d'accès pour le stockage des données téléchargé peut être proposé à l'utilisateur. Par exemple, l'utilisateur peut choisir de stocker sur l'ordinateur 14a le fichier «Plan.JPG» à un emplacement correspondant au chemin d'accès «/MesFichiers/Mes Documents/Cartes/Plan.JPG». En cas de modifications par l'utilisateur du fichier enregistré localement, ces dernières ne seront pas reportées sur les données correspondantes stockées sur le terminal ayant transmis les données. Par exemple, si l'utilisateur modifie sur l'ordinateur 14a le fichier «Plan.JPG», le fichier «Plan.JPG» sur le téléphone portable 14b ne sera pas modifié. Optionnellement, une nouvelle version du fichier «Plan.JPG» sur l'ordinateur 14a pourra être créée.

Si, au cours de la troisième étape 130, le choix se porte sur une opération de synchronisation, les données correspondant au chemin d'accès choisi au cours de la deuxième étape 120 sont synchronisées au cours d'une cinquième étape 150. Dans l'exemple ici décrit, le fichier «Plan.JPG» sera donc téléchargé depuis le téléphone mobile 16b jusqu'à l'ordinateur 14a, puis stockées sur l'ordinateur 14a en conservant selon l'organisation du téléphone mobile 16b. En particulier, le chemin d'accès aux données téléchargées sera identique au chemin d'accès choisi au cours de la deuxième étape. Le fichier «Plan.JPG» sera donc stocké sur l'ordinateur 14a à l'emplacement correspondant au chemin d'accès «/Docs./Plan.JPG». Le fichier «Plan.JPG» ainsi synchronisé sera désormais accessible sur l'ordinateur 14a, y compris lorsque l'ordinateur 14a ne sera pas en mesure d'accéder à l'infrastructure 12, par exemple lorsqu'il n'aura pas accès à Internet. Puis au cours d'une étape 160 de maintien de la synchronisation, l'ensemble des données est maintenu synchronisé entre le premier et le deuxième terminal. En particulier, en cas de modifications par l'utilisateur du fichier enregistré localement, ces dernières seront dans un premier temps détectées, puis transmises par l'intermédiaire de l'infrastructure, à tous les terminaux sur lesquels le fichier a été synchronisé. La détection des modifications peut en particulier être réalisée par le module de synchronisation 16. Lorsque ces modifications sont reçues, le fichier stocké localement correspondant est mis à jour en conséquence. Par exemple, si l'utilisateur modifie le fichier «Plan.JPG» sur son ordinateur 14a après avoir choisi de le synchroniser depuis le téléphone mobile 14b, les modifications apportées sont détectées par le module de synchronisation 16 de l'ordinateur 14a, qui les transmet, via l'infrastructure 12, au téléphone portable 14b. Le module de synchronisation du téléphone portable 14b reçoit ces modifications, et met à jour le fichier «Plan.JPG» sur le téléphone portable 14b en conséquence.

Dans un mode de réalisation, un procédé d'optimisation de la cinquième étape de synchronisation est mis en œuvre. Ce procédé d'optimisation peut en particulier être mis en œuvre par le module de synchronisation 16. La figure 6 illustre schématiquement les étapes d'un tel procédé. Le procédé d'optimisation comporte une étape optionnelle de programmation 210 d'une tâche planifiée d'optimisation de la synchronisation. Au cours de cette étape de programmation 210, la périodicité de l'exécution de la tâche planifiée d'optimisation est choisie, par exemple un nombre de jours, de semaines, de mois et/ou d'années. Une périodicité de deux mois est par exemple sélectionnée. La tâche planifiée comporte les étapes suivantes:

• une étape 220 au cours de laquelle la liste des fichiers synchronisés sur le terminal exécutant le procédé d'optimisation est obtenue. Les informations nécessaires à la constitution de la liste peuvent être obtenues du module de synchronisation 16. La liste peut aussi être créée et mise à jour lorsqu'un nouveau fichier est synchronisé sur le terminal exécutant le procédé d'optimisation. Cette liste peut encore être obtenue et/ou gérée par l'infrastructure 12.

• Une étape 230 au cours de laquelle on vérifie, pour chaque fichier de la liste des fichiers synchronisés sur le terminal exécutant le procédé d'optimisation, si ledit fichier a été ouvert sur le terminal depuis la dernière exécution de la tâche planifiée;

• une étape 240, au cours de laquelle tous les fichiers, qui n'ont pas été ouverts sur le terminal depuis la dernière exécution de la tâche planifiée, sont supprimés de la liste des fichiers à synchroniser. Le module de synchronisation recevra par exemple une demande pour mettre fin à la synchronisation desdits fichiers, de sorte que les modifications ultérieures ne soient plus reportées sur les autres terminaux.