FR3003370A1 - METHOD FOR SYNCHRONIZING ARBORESCENT DATA STRUCTURES, SYSTEM AND COMPUTER PROGRAM THEREFOR - Google Patents

METHOD FOR SYNCHRONIZING ARBORESCENT DATA STRUCTURES, SYSTEM AND COMPUTER PROGRAM THEREFOR Download PDF

Info

Publication number
FR3003370A1
FR3003370A1 FR1352355A FR1352355A FR3003370A1 FR 3003370 A1 FR3003370 A1 FR 3003370A1 FR 1352355 A FR1352355 A FR 1352355A FR 1352355 A FR1352355 A FR 1352355A FR 3003370 A1 FR3003370 A1 FR 3003370A1
Authority
FR
France
Prior art keywords
storage means
data
synchronization
elementary
processing unit
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
FR1352355A
Other languages
French (fr)
Other versions
FR3003370B1 (en
Inventor
Nicolas Rablat
Aymeric Soubrouillard
Renaud Pelissier
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.)
NUMVISION
Original Assignee
NUMVISION
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NUMVISION filed Critical NUMVISION
Priority to FR1352355A priority Critical patent/FR3003370B1/en
Priority to PCT/FR2014/050606 priority patent/WO2014140506A1/en
Publication of FR3003370A1 publication Critical patent/FR3003370A1/en
Application granted granted Critical
Publication of FR3003370B1 publication Critical patent/FR3003370B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems

Abstract

L'invention concerne un système comportant des premier et deuxième moyens de stockage (LSM, RSM) pour enregistrer respectivement des première et deuxième structures de données élémentaires arborescentes (LDS, RDS), une unité de traitement (TU) comportant des moyens de mémorisation (MU, MP) et coopérant avec lesdits moyens de stockage. L'unité de traitement (TU) est agencée pour exécuter ou interpréter des instructions d'un programme d'ordinateur (P) préalablement enregistré dans les moyens de mémorisation (MP) coopérant avec l'unité de traitement du système pour mettre en œuvre un procédé de synchronisation des première et deuxième structures de données élémentaires.The invention relates to a system comprising first and second storage means (LSM, RSM) for respectively recording first and second tree data structures (LDS, RDS), a processing unit (TU) comprising memory means ( MU, MP) and cooperating with said storage means. The processing unit (TU) is arranged to execute or interpret instructions of a computer program (P) previously recorded in the storage means (MP) cooperating with the processing unit of the system to implement a synchronization method of the first and second data structures.

Description

Procédé de synchronisation de structures de données arborescentes, système et programme d'ordinateur associés L'invention concerne la synchronisation de données enregistrées sur une pluralité de moyens de stockage. De plus en plus de personnes partagent des données au travers de dispositifs pluriels (ordinateurs de bureau, ordinateurs portables, téléphones mobiles, tablettes, etc.) coopérant via des réseaux. Par ailleurs, de telles personnes programment généralement des opérations de sauvegarde d'un ou plusieurs moyens de stockage (disques durs, par exemple) sur un ou plusieurs serveurs locaux ou distants pour prévenir tout risque de perte ou d'obsolescence d'information. La synchronisation de fichiers, répertoires, bases de données devient donc un processus indispensable pour assurer la correspondance entre une pluralité de moyens de stockage hébergeant une même structure de données. Ainsi lorsque l'on ajoute, modifie ou supprime un fichier, un répertoire ou plus généralement une donnée élémentaire qui est enregistrée dans un premier moyen de stockage, un procédé de synchronisation consiste à ajouter, modifier ou supprimer la « même » donnée élémentaire sur un deuxième moyen de stockage. Une synchronisation peut être unidirectionnelle ou bidirectionnelle. Dans le cas d'une synchronisation unidirectionnelle, les modifications apportées à une structure de données hébergées par un premier moyen de stockage (parfois nommé moyen primaire ou source) sont généralement uniquement propagées ou répliquées sur un deuxième moyen de stockage (parfois nommé moyen secondaire ou cible). Une modification de la structure de données éventuellement apportée sur le deuxième moyen de stockage peut ne pas être propagée sur la structure hébergée par le premier moyen de stockage. Dans le cas d'une synchronisation bidirectionnelle, des modifications sont mutuellement propagées « dans les deux directions » depuis les premier ou deuxième moyens de stockage de manière indifférenciée. Les structures de données hébergées ou enregistrées respectivement par lesdits premier et deuxième moyens de stockage sont rigoureusement identiques à l'issue du procédé de synchronisation bidirectionnelle. Selon certaines politiques ou stratégies de synchronisation unidirectionnelle, les structures de données peuvent être distinctes à l'exception des données propagées. Par exemple, on peut décider que des suppressions sur un moyen primaire ne soient pas propagées sur un moyen secondaire. Il existe actuellement différents procédés de synchronisations unidirectionnelle ou bidirectionnelle.The invention relates to the synchronization of data recorded on a plurality of storage means. More and more people are sharing data across multiple devices (desktops, laptops, mobile phones, tablets, etc.) cooperating via networks. Moreover, such people generally program backup operations of one or more storage means (hard disks, for example) on one or more local or remote servers to prevent any risk of loss or obsolescence of information. The synchronization of files, directories, databases thus becomes an indispensable process for ensuring the correspondence between a plurality of storage means hosting the same data structure. Thus when adding, modifying or deleting a file, a directory or more generally an elementary data item that is stored in a first storage means, a synchronization method consists in adding, modifying or deleting the "same" elementary data item on a file. second storage medium. A synchronization can be unidirectional or bidirectional. In the case of unidirectional synchronization, changes made to a data structure hosted by a first storage medium (sometimes referred to as primary or source means) are generally only propagated or replicated to a second storage medium (sometimes referred to as secondary means or target). A modification of the data structure possibly made on the second storage means may not be propagated on the structure hosted by the first storage means. In the case of bidirectional synchronization, modifications are mutually propagated "in both directions" from the first or second storage means in an undifferentiated manner. The data structures hosted or recorded respectively by said first and second storage means are strictly identical after the bidirectional synchronization process. According to some one-way synchronization policies or policies, data structures can be distinct except for propagated data. For example, it may be decided that deletions on primary means are not propagated on secondary means. There are currently different methods of unidirectional or bidirectional synchronizations.

Le choix parmi ces différentes solutions est généralement dicté par l'objectif recherché, le volume des données que l'on souhaite synchroniser, le nombre de moyens de stockage concernés, les performances attendues, etc.The choice among these various solutions is generally dictated by the objective sought, the volume of data that one wishes to synchronize, the number of storage means concerned, the expected performance, etc.

Des solutions connues nécessitent une modification du système d'exploitation régissant les créations, suppressions ou mises à jour de données élémentaires enregistrées sur un moyen de stockage pour que de telles opérations puissent être propagées vers un référentiel de données généralement centralisé. Certaines solutions nécessitent une écoute quasi permanente voire pénalisante - notamment en matière de ressources en mémoire volatile - pour tracer toute modification d'une donnée élémentaire sur un premier moyen de stockage afin de proposer une propagation de ladite modification vers un deuxième moyen de stockage. La grande majorité des solutions connues sont ainsi actuellement invasives (nécessitant de modifier le système d'exploitation des moyens de stockage) et généralement coûteuses en ressources matérielles (mémoires volatiles ou non volatiles) pour matérialiser un référentiel commun en lien avec toutes les données élémentaires et souvent mettre en oeuvre des écoutes nécessaires pour détecter toute modification d'une desdites données élémentaires. Il en découle généralement des performances moyennes 5 voire un nombre limité de données élémentaires que l'on peut synchroniser. De telles solutions nécessitent souvent et en outre une synchronisation des horloges de chaque moyen de stockage et du référentiel commun pour identifier les modifications de données susceptibles 10 d'être propagées. Une telle synchronisation temporelle est parfois impossible à mettre en oeuvre. L'invention permet de répondre à l'ensemble des inconvénients soulevés par les solutions connues. Parmi 15 les nombreux avantages apportés par l'invention, nous pouvons mentionner qu'un procédé de synchronisation conforme à l'invention est non invasif et s'affranchit de toutes limites concernant le nombre de données que l'on souhaite synchroniser. Il ne requiert pas de référentiel 20 centralisé (en matière de données élémentaires ou de temps). Le procédé peut être mis en oeuvre à des périodes programmées voire à la demande. Les structures de données nécessaires au fonctionnement d'un système conforme à l'invention sont particulièrement optimisées pour 25 minimiser les ressources matérielles nécessaires à leur enregistrement ainsi que le temps d'exécution d'un procédé conforme à l'invention. A cette fin, il est notamment prévu un procédé de 30 synchronisation de structures de données arborescentes enregistrées respectivement dans des premier et deuxième moyens de stockage, lesdits moyens coopérant avec une unité de traitement agencée pour mettre en oeuvre ledit procédé, ladite unité de traitement comportant des moyens 35 de mémorisation, les structures de données comportant une ou plusieurs données élémentaires. Pour offrir des performances inégalées quel que soit le nombre de données élémentaires concernées par une synchronisation, ledit procédé comporte : - une étape a) pour élaborer et enregistrer dans les moyens de mémorisation des première et deuxième représentations respectives des première et deuxième structures de données ; une étape b) pour lire dans les moyens de mémorisation un statut d'une synchronisation antérieure des première et deuxième structures de données ; - une étape c) pour produire une information d'état associée à chaque donnée élémentaire, ladite information d'état étant enregistrée dans les moyens de mémorisation ; une étape d) pour déterminer une action de synchronisation portant sur chaque donnée élémentaire selon la valeur de l'information d'état associée à ladite donnée élémentaire et conformément à l'interprétation d'une ou plusieurs règles décrivant une stratégie de synchronisation préétablie. A titre d'exemple, ladite action de synchronisation peut consister en une suppression, une mise à jour ou une 25 copie de la donnée élémentaire dans l'un des premier ou deuxième moyens de stockage. Selon un mode de réalisation particulièrement avantageux, un procédé conforme à l'invention exploite des méta-informations associées généralement à une 30 structure de données hébergées sur un moyen de stockage. Ainsi, chaque donnée élémentaire enregistrée dans les moyens de stockage peut comporter un identifiant dédié et un horodatage de la création ou de la dernière mise à jour de ladite donnée. De cette manière, l'étape d) peut 35 consister à enregistrer dans les moyens de mémorisation une liste d'un ou de plusieurs identifiants de donnée élémentaires concernée par action de synchronisation. Outre la mise en oeuvre des préparatifs nécessaires à la mise en oeuvre d'une synchronisation, un procédé selon l'invention peut comporter une étape e) pour déclencher une action de synchronisation et ainsi procédé à la synchronisation en tant que telle. Une telle étape e) peut consister à parcourir la liste associée à l'action de synchronisation et mettre en oeuvre ladite action de synchronisation sur la ou les données élémentaires dont l'identifiant est contenu dans ladite liste. Pour déterminer avec de très grandes performances les données élémentaires concernées par une action de synchronisation tout en préservant les ressources matérielles, l'étape pour élaborer la représentation d'une structure de données enregistrée dans l'un des desdits premiers ou deuxième moyens de stockage peut comporter une étape pour parcourir l'arborescence de ladite structure de données dans chaque moyen de stockage et pour créer un enregistrement associé à chaque donnée élémentaire existante dans ledit moyen de stockage, ledit enregistrement comportant : - l'identifiant de ladite donnée élémentaire ; - l'horodatage de ladite donnée. Pour pouvoir tracer une action de synchronisation, un procédé conforme à l'invention peut comporter une étape f) pour enregistrer un statut de synchronisation dans les moyens de mémorisation à l'issue d'une action de synchronisation portant sur une donnée élémentaire. L'invention prévoit qu'un tel statut de synchronisation d'une donnée élémentaire puisse comporter un enregistrement comportant : - l'identifiant de ladite donnée élémentaire ; - l'horodatage de l'action de synchronisation portant sur ladite donnée élémentaire.Known solutions require an operating system modification that governs the creation, deletion, or update of basic data stored on a storage medium so that such operations can be propagated to a generally centralized data repository. Some solutions require quasi-permanent or even penalizing listening - especially in terms of volatile memory resources - to trace any modification of a basic data item on a first storage means in order to propose a propagation of said modification to a second storage means. The vast majority of known solutions are thus currently invasive (requiring modification of the operating system of the storage means) and generally costly in terms of material resources (volatile or non-volatile memories) to materialize a common repository in connection with all the elementary data and often implement listening necessary to detect any modification of one of said data items. This usually results in average performance or even a limited number of basic data that can be synchronized. Such solutions often require and further synchronize the clocks of each storage means and the common repository to identify data changes that may be propagated. Such time synchronization is sometimes impossible to implement. The invention makes it possible to meet all the disadvantages raised by the known solutions. Among the many advantages provided by the invention, we can mention that a synchronization method according to the invention is non-invasive and avoids any limitations on the number of data that it is desired to synchronize. It does not require a centralized repository (in terms of basic data or time). The method can be implemented at scheduled periods or even on demand. The data structures necessary for the operation of a system according to the invention are particularly optimized to minimize the material resources necessary for their registration as well as the execution time of a method according to the invention. For this purpose, a method for synchronizing tree data structures recorded respectively in first and second storage means is provided, said means cooperating with a processing unit arranged to implement said method, said processing unit comprising storage means 35, the data structures comprising one or more data items. In order to offer unequaled performance irrespective of the number of elementary data items concerned by a synchronization, said method comprises: a step a) for developing and storing in the storage means first and second respective representations of the first and second data structures; a step b) for reading in the storage means a status of an earlier synchronization of the first and second data structures; a step c) for producing status information associated with each elementary data item, said status information being stored in the memory means; a step d) for determining a synchronization action on each elementary item according to the value of the state information associated with said item and in accordance with the interpretation of one or more rules describing a preset synchronization strategy. For example, said synchronization action may consist of deleting, updating or copying the data item in one of the first or second storage means. According to a particularly advantageous embodiment, a method according to the invention exploits meta-information generally associated with a structure of data hosted on a storage means. Thus, each elementary data item stored in the storage means may comprise a dedicated identifier and a time stamp of the creation or the last update of said data item. In this way, step d) may consist in storing in the memory means a list of one or more elementary data identifiers concerned by synchronization action. In addition to implementing the preparations necessary to implement synchronization, a method according to the invention may comprise a step e) to trigger a synchronization action and thus proceed to synchronization as such. Such a step e) may consist of going through the list associated with the synchronization action and implementing said synchronization action on the elementary data element or data whose identifier is contained in said list. To determine with very high performance the elementary data concerned by a synchronization action while preserving the hardware resources, the step of developing the representation of a data structure recorded in one of said first or second storage means can comprise a step for traversing the tree structure of said data structure in each storage means and for creating a record associated with each elementary data item existing in said storage means, said record comprising: the identifier of said elementary data item; - the timestamp of said data. In order to be able to trace a synchronization action, a method according to the invention may comprise a step f) for recording a synchronization status in the storage means at the end of a synchronization action relating to an item of data. The invention provides that such a synchronization status of an item of data may comprise a record comprising: the identifier of said item of data; the timestamp of the synchronization action relating to said elementary data item.

Pour pouvoir notamment détecter d'éventuels dysfonctionnements durant la mise à jour ou la création d'une donnée élémentaire, l'étape e) peut avantageusement initialiser l'horodatage de la donnée élémentaire à une valeur « SYNC-PENDING » prédéterminée et discriminable par l'unité de traitement au regard de tout autre valeur d'horodatage préalablement à l'exécution de l'action de synchronisation proprement dite. L'invention permet de mettre en oeuvre une ou plusieurs stratégies de synchronisation. Pour définir une telle stratégie, un procédé selon l'invention peut comporter une étape préalable consistant à enregistrer dans les moyens de mémorisation la ou les règles décrivant une stratégie de synchronisation préétablie, ladite ou lesdites règles étant interprétées par l'unité de traitement dont de la mise en oeuvre de l'étape d). Ainsi, une première stratégie de synchronisation unidirectionnelle peut consister à propager toute modification de la première structure de données enregistrée par le premier moyen de stockage sur la deuxième structure de données enregistrée par le deuxième moyen de stockage. En variante, la stratégie de synchronisation définie par la ou les règles peut en outre consister à propager toute modification de la deuxième structure de données enregistrée par le deuxième moyen de stockage sur la première structure de données enregistrée par le premier moyen de stockage. Une troisième stratégie de synchronisation bidirectionnelle peut encore consister à mutuellement propager toute modification de la première structure de données enregistrée par le premier moyen de stockage sur la deuxième structure de données enregistrée par le deuxième moyen de stockage sur la première structure de données enregistrée par le premier moyen de stockage et réciproquement.In order notably to be able to detect possible malfunctions during the update or the creation of an elementary data item, step e) can advantageously initialize the time stamp of the elementary data item with a predetermined "SYNC-PENDING" value that can be discriminated by the user. processing unit with respect to any other timestamp value prior to execution of the actual synchronization action. The invention makes it possible to implement one or more synchronization strategies. To define such a strategy, a method according to the invention may comprise a preliminary step of storing in the memory means the rule or rules describing a predetermined synchronization strategy, said rule or rules being interpreted by the processing unit of which the implementation of step d). Thus, a first strategy of unidirectional synchronization can consist in propagating any modification of the first data structure recorded by the first storage means on the second data structure recorded by the second storage means. Alternatively, the synchronization strategy defined by the one or more rules may further consist of propagating any modification of the second data structure recorded by the second storage means to the first data structure recorded by the first storage means. A third bidirectional synchronization strategy may further consist in mutually propagating any modification of the first data structure recorded by the first storage means on the second data structure recorded by the second storage means on the first data structure recorded by the first storage medium and vice versa.

Enfin, dans le cas où le procédé permet de détecter d'éventuels dysfonctionnements durant la mise à jour ou la création d'une donnée élémentaire, une stratégie de synchronisation définie par la ou les règles peut consister à propager le contenu ou la valeur d'une donnée élémentaire dont l'horodatage est égal à la valeur « SYNC-PENDING » dans un premier moyen de stockage par le contenu ou la valeur de ladite donnée élémentaire enregistrée dans un deuxième moyen de stockage dont l'horodatage est différent de la valeur « SYNC-PENDING ». Pour pouvoir détecter et gérer d'éventuels conflits durant une action de synchronisation, un procédé selon l'invention peut comporter une étape pour enregistrer dans les moyens de mémorisation une liste d'un ou de plusieurs identifiants de données élémentaires concernées par un conflit de synchronisation i.e. dont les horodatages respectifs associés auxdites données élémentaires dans les première et deuxième représentations respectives des première et deuxième structures de données et dans le statut de synchronisation sont tous différents lors de la mise en oeuvre de l'étape d). L'invention prévoit un mode itératif automatique ou manuel pour mettre en oeuvre un procédé de synchronisation. Les étapes a) à f) peuvent ainsi être itérées par l'unité de traitement à des périodes successives. Selon un deuxième objet, l'invention prévoit un programme d'ordinateur comportant des instructions exploitables par une unité de traitement d'un système comportant des premier et deuxième moyens de stockage pour enregistrer respectivement des première et deuxième structures de données arborescentes, une unité de traitement comportant des moyens de mémorisation et coopérant avec lesdits moyens de stockage. Pour adapter un tel système, lesdites instructions sont telles que lorsqu'elles sont exécutées ou interprétées par ladite unité de traitement, elles déclenchent la mise en oeuvre d'un procédé de synchronisation conforme à l'invention. Selon un troisième objet, l'invention prévoit un système comportant des premier et deuxième moyens de stockage pour enregistrer respectivement des première et deuxième structures de données arborescentes, une unité de traitement comportant des moyens de mémorisation et coopérant avec lesdits moyens de stockage. Pour pouvoir mettre en oeuvre un procédé de synchronisation de structures de données arborescentes selon l'invention, l'unité de traitement est agencée pour exécuter ou interpréter des instructions d'un programme d'ordinateur tel que le prévoit l'invention, ledit programme étant préalablement enregistré dans les moyens de mémorisation coopérant avec l'unité de traitement du système. Selon un premier mode de réalisation, lesdits moyens de mémorisation et le premier moyen de stockage d'un tel système peuvent consister en une même entité physique.Finally, in the case where the method makes it possible to detect possible malfunctions during the update or the creation of an elementary data item, a synchronization strategy defined by the rule or rules may consist of propagating the content or the value of an elementary datum whose time stamp is equal to the value "SYNC-PENDING" in a first storage means by the content or the value of said elementary data item stored in a second storage means whose time stamp is different from the value " SYNC-PENDING ". In order to be able to detect and manage possible conflicts during a synchronization action, a method according to the invention may comprise a step for storing in the storage means a list of one or more elementary data identifiers concerned by a synchronization conflict. ie whose respective time stamps associated with said elementary data in the first and second respective representations of the first and second data structures and in the synchronization status are all different in the implementation of step d). The invention provides an automatic or manual iterative mode for implementing a synchronization method. Steps a) to f) can thus be iterated by the processing unit at successive periods. According to a second object, the invention provides a computer program comprising instructions that can be used by a processing unit of a system comprising first and second storage means for respectively recording first and second tree data structures, a unit of processing comprising storage means and cooperating with said storage means. To adapt such a system, said instructions are such that when they are executed or interpreted by said processing unit, they trigger the implementation of a synchronization method according to the invention. According to a third object, the invention provides a system comprising first and second storage means for respectively recording first and second tree data structures, a processing unit comprising storage means and cooperating with said storage means. In order to be able to implement a method for synchronizing tree data structures according to the invention, the processing unit is arranged to execute or interpret instructions of a computer program as provided for by the invention, said program being previously stored in the storage means cooperating with the processing unit of the system. According to a first embodiment, said storage means and the first storage means of such a system may consist of the same physical entity.

Pour mettre en oeuvre un procédé de synchronisation de données hébergées par des unités de stockage éventuellement distantes, l'unité de traitement d'un système selon l'invention peut coopérer avec l'un des moyens de stockage selon une liaison filaire ou distante.To implement a method of synchronization of data hosted by possibly remote storage units, the processing unit of a system according to the invention can cooperate with one of the storage means in a wired or remote link.

D'autres caractéristiques et avantages apparaîtront plus clairement à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent parmi lesquelles : - la figure 1 décrit un schéma fonctionnel d'un système comportant une pluralité de moyens de stockage et une unité de traitement pour mettre en oeuvre un procédé de synchronisation selon l'invention ; - la figure 2 décrit un procédé de synchronisation de structures de données arborescentes conforme à l'invention ; - les figures 3 et 4 décrivent un exemple de mise en oeuvre d'un tel procédé. La figure 1 présente un système comportant une pluralité de moyens de stockage. Des premier et deuxième moyens de stockage respectivement référencés LSM et RSM 10 coopèrent avec une unité de traitement TU. Cette dernière est chargée d'assurer la synchronisation des données enregistrées sur lesdits moyens de stockage. A titre d'exemple, le moyen de stockage LSM (sous la forme d'un ou plusieurs disques durs ou plus généralement d'une 15 mémoire non volatile effaçable électriquement) est directement connecté par un bus B filaire à ladite unité de traitement. Le deuxième moyen de stockage RSM (éventuellement de nature distincte de celle de LSM) peut être distant et coopérer avec ladite unité de traitement 20 TU via un réseau R (filaire ou sans fil). Bien que la figure 1 ne décrive explicitement que deux moyens de stockage LSM et RSM, d'autres moyens de stockage complémentaires pourraient en outre être connectés directement ou indirectement à l'unité de traitement TU. 25 Les moyens de stockage sont prévus pour enregistrer une ou plusieurs structures de données arborescentes. A titre d'exemple, le moyen LSM enregistre une structure de données LDS comportant deux répertoires Dir-1 et Dir-2. Le premier répertoire comporte deux fichiers fils Fil-11 30 et Fil-12. Le répertoire Dir-2 comporte un sous- répertoire Dir-21 qui comporte le fichier Fil-211. En variante, la structure de données pourrait être décrite à l'aide de tables, d'enregistrements ou de tous autres structures de données chaînées ou arborescentes. De 35 manière générale, nous nommerons DN1, ..., DNi à DNn respectivement les n données élémentaires ou noeuds (répertoires, fichiers, par exemple) d'une telle structure de données. En liaison avec la figure 1, le répertoire dont l'identifiant est Dir-1 constitue la donnée élémentaire DN1. Ses fichiers-fils sont les données élémentaires DN2 et DN3. Les répertoires dont les identifiants sont Dir-2 et Dir-2/Dir-21 sont les données élémentaires DNi et DNn-1 de la structure LDS. Enfin le fichier dont l'identifiant est Dir-2/Dir-21/Fil-211 constitue la donnée élémentaire DNn de la structure de donnée LDS enregistrée par le moyen de stockage LSM. La figure 1 ne décrit pas la teneur de la structure de données RDS enregistrée par le deuxième moyen de stockage. Dans l'hypothèse où ledit moyen de stockage est exploité en tant que volume secondaire de sauvegarde, on peut s'attendre à ce que la structure RDS reflète la structure LDS à l'issue de la mise en oeuvre d'un procédé de synchronisation. Pour pouvoir assurer la synchronisation des contenus respectifs des moyens de stockage, l'unité de traitement 20 TU comporte un microcontrôleur CPU - éventuellement dédié - coopérant avec des moyens de mémorisation MU et/ou MP. De tels moyens de mémorisation consistent essentiellement en une ou plusieurs mémoires non volatiles pour enregistrer notamment des instructions d'un programme P 25 qui lorsqu'elles sont exécutées ou interprétées par ledit microcontrôleur déclenchent la mise en oeuvre d'un procédé de synchronisation. Selon l'invention, une ou plusieurs stratégies de synchronisation sont avantageusement programmables. A ce titre, un ou plusieurs ensembles 30 d'une ou plusieurs règles MSi (synchronisation bidirectionnelle), USi (sauvegarde unidirectionnelle de LSM vers RSM), DSi (sauvegarde unidirectionnelle de LSM vers RSM) peuvent être préenregistrées dans les moyens de mémorisation MP pour paramétrer en quelque sorte le 35 procédé de synchronisation. Les moyens de mémorisation MU coopérant avec le microcontrôleur CPU de l'unité de traitement TU sont prévus pour enregistrer des structures de données nécessaires à la mise en oeuvre d'un procédé de synchronisation conforme à l'invention. Nous détaillerons lesdites structures (référencées en figure 1 LMAP, RMAP, SMAP-1 ou encore SLR) en liaison notamment avec la figure 2. Pour faciliter la compréhension de l'invention, les moyens de mémorisation MP et MU sont représentés par la figure 1 comme étant des éléments fonctionnels distincts et dissociés des moyens de stockage LSM ou RSM. Les moyens MP et MU pourraient également ne constituer qu'une seule et même ressource physique. Le premier moyen de stockage LSM ainsi que lesdits moyens de mémorisation MP et/ou MU pourraient en outre très bien consister en variante en une même entité physique. De la même manière, l'unité de traitement TU pourrait être celle d'un système sous la forme d'une unité de mémoire de masse comportant une pluralité de disques dont les moyens LSM et RSM. Le rôle de l'unité de traitement TU d'une telle unité de traitement consisterait par exemple à assurer une synchronisation des contenus des disques pour garantir la pérennité des structures de données enregistrées par l'unité de mémoire de masse. La figure 2 décrit un schéma fonctionnel conforme à l'invention d'un procédé de synchronisation de structures de données arborescentes. Lesdites structures de données sont enregistrées par deux moyens de stockage LSM et RSM qui coopèrent avec une unité de traitement mettant en oeuvre ledit procédé. Pour faciliter la compréhension du procédé schématisé par la figure 2, illustrons celui-ci à l'aide d'un exemple de mise en oeuvre de l'invention décrit en liaison avec les figures 3 et 4. Selon cet exemple et conformément à la figure 3, un premier moyen de stockage LSM enregistre une première structure de données LDS comportant une pluralité de données élémentaires (répertoires et fichier de données). La structure de données est similaire à la structure LDS décrite en liaison avec la figure 1. LDS comporte ainsi deux répertoires Dir-1 et Dir-2. Le premier répertoire comporte deux fichiers-fils nommés Fil-11 et Fil-12. Le répertoire Dir-2 comporte un sous-répertoire Dir-21 qui comporte le fichier Fil-211. Chaque donnée élémentaire enregistrée comporte un identifiant dédié. En outre, un horodatage de la création ou de la dernière mise à jour (modification du contenu, de l'identifiant, etc.) de toutes données élémentaires est également associé à chaque donnée et est enregistré dans le moyen de stockage. Ainsi, les données élémentaires dont les identifiants respectifs sont Dir-1, Dir-1/Fil-11, Dir- 1/Fil-12, Dir-2, Dir-2/Dir-21 et Dir-2/Dir-21/Fil-211 sont respectivement associées aux horodatages datel, datell, date12, date2, date21 et date211b. Les horodatages des créations ou de mises à jour des données élémentaires sont mentionnés entre parenthèses sur la figure 3.Other characteristics and advantages will appear more clearly on reading the description which follows and on examining the accompanying figures among which: FIG. 1 describes a block diagram of a system comprising a plurality of storage means and a processing unit for implementing a synchronization method according to the invention; FIG. 2 describes a method for synchronizing tree data structures in accordance with the invention; - Figures 3 and 4 describe an example of implementation of such a method. Figure 1 shows a system comprising a plurality of storage means. First and second storage means respectively referenced LSM and RSM 10 cooperate with a processing unit TU. The latter is responsible for synchronizing the data recorded on said storage means. By way of example, the LSM storage means (in the form of one or more hard disks or more generally of an electrically erasable non-volatile memory) is directly connected by a wired bus B to said processing unit. The second RSM storage means (possibly of a nature different from that of LSM) can be remote and cooperate with said processing unit 20 TU via an R network (wired or wireless). Although FIG. 1 explicitly only describes two LSM and RSM storage means, other complementary storage means could also be connected directly or indirectly to the processing unit TU. The storage means are provided for recording one or more tree data structures. By way of example, the LSM means records an LDS data structure comprising two directories Dir-1 and Dir-2. The first directory has two Fil-11 30 and Fil-12 filenames. The Dir-2 directory has a Dir-21 subdirectory that contains the Fil-211 file. Alternatively, the data structure could be described using tables, records or any other chained or tree data structures. In general, we will call DN1, ..., DNi to DNn respectively the n elementary data or nodes (directories, files, for example) of such a data structure. In connection with FIG. 1, the directory whose identifier is Dir-1 constitutes the data item DN1. Its child-files are the basic data DN2 and DN3. The directories whose identifiers are Dir-2 and Dir-2 / Dir-21 are the basic data DNi and DNn-1 of the LDS structure. Finally, the file whose identifier is Dir-2 / Dir-21 / Fil-211 constitutes the basic data DNn of the LDS data structure recorded by the LSM storage means. Figure 1 does not describe the content of the RDS data structure recorded by the second storage means. Assuming that said storage means is exploited as a secondary backup volume, it can be expected that the RDS structure reflects the LDS structure after the implementation of a synchronization method. To be able to synchronize the respective contents of the storage means, the processing unit 20 TU comprises a CPU microcontroller - possibly dedicated - cooperating with storage means MU and / or MP. Such storage means consist essentially of one or more non-volatile memories for recording, in particular, instructions of a program P 25 which, when they are executed or interpreted by said microcontroller, trigger the implementation of a synchronization method. According to the invention, one or more synchronization strategies are advantageously programmable. As such, one or more sets 30 of one or more rules MSi (bidirectional synchronization), USi (unidirectional backup from LSM to RSM), DSi (unidirectional backup from LSM to RSM) can be prerecorded in the storage means MP for to somehow set the synchronization method. The storage means MU cooperating with the CPU microcontroller of the processing unit TU are provided for recording data structures necessary for the implementation of a synchronization method according to the invention. We will detail said structures (referenced in Figure 1 LMAP, RMAP, SMAP-1 or SLR) in connection with Figure 2. To facilitate understanding of the invention, the storage means MP and MU are represented by Figure 1 as distinct and disassociated functional elements of the LSM or RSM storage means. The means MP and MU could also constitute one and the same physical resource. The first LSM storage means as well as said storage means MP and / or MU could additionally very well consist alternatively in the same physical entity. In the same way, the processing unit TU could be that of a system in the form of a mass memory unit comprising a plurality of disks whose means LSM and RSM. The role of the processing unit TU of such a processing unit would consist, for example, in ensuring a synchronization of the contents of the disks to guarantee the durability of the data structures recorded by the mass memory unit. FIG. 2 describes a block diagram according to the invention of a method for synchronizing tree data structures. Said data structures are registered by two storage means LSM and RSM which cooperate with a processing unit implementing said method. To facilitate the understanding of the method shown diagrammatically in FIG. 2, let us illustrate this with the aid of an exemplary implementation of the invention described with reference to FIGS. 3 and 4. According to this example and in accordance with FIG. 3, a first LSM storage means stores a first LDS data structure having a plurality of data items (directories and data file). The data structure is similar to the LDS structure described in connection with Figure 1. LDS thus has two directories Dir-1 and Dir-2. The first directory has two child files named Fil-11 and Fil-12. The Dir-2 directory has a Dir-21 subdirectory that contains the Fil-211 file. Each registered elementary data has a dedicated identifier. In addition, a timestamp of the creation or the last update (modification of the content, the identifier, etc.) of all the elementary data is also associated with each data item and is recorded in the storage means. Thus, the elementary data whose respective identifiers are Dir-1, Dir-1 / Fil-11, Dir-1 / Fil-12, Dir-2, Dir-2 / Dir-21 and Dir-2 / Dir-21 / Fil-211 are respectively associated with datat, datell, date12, date2, date21 and date211b timestamps. Creative timestamps or elementary data updates are shown in parentheses in Figure 3.

Un deuxième moyen de stockage RSM enregistre une deuxième structure de donnée RDS. Cette dernière comporte deux répertoires Dir-1 et Dir-2. Le premier répertoire comporte un fichier-fils Fil-11. Le répertoire Dir-2 comporte un sous-répertoire Dir-21 qui comporte deux fichiers-fils Fil-211 et Fil-212. Les données élémentaires de RDS dont les identifiants sont Dir-1, Dir-1/Fil-11, Dir-2, Dir-2/Dir-21, Dir-2/Dir-21/Fil-211 et Dir-2/Dir-21/Fil-212 sont respectivement associées aux horodatages (de création ou de mise à jour) datel, datell, date2, date21, date211a et date212. La composition de RDS est proche de celle de la structure de LDS. Toutefois le fichier dont l'identifiant est Dir1/Fil-12 présent dans LDS est absent de RDS. Celui-ci était précédemment présent dans RDS mais la donnée a fait l'objet d'une suppression récente sur le moyen de stockage RSM. De même, nous pouvons constater que la donnée élémentaire dont l'identifiant est Dir-2/Dir21/Fil-211 est présente dans les structures LDS et RDS. Toutefois, l'horodatage associé à ladite donnée est différent dans les deux moyens de stockage. Selon l'exemple décrit en liaison avec la figure 3, l'horodatage date211a est antérieur à l'horodatage date211b. Cette donnée élémentaire a fait l'objet d'une récente mise à jour au niveau du moyen de stockage LSM. Enfin, la donnée dont l'identifiant est Dir-1/Fil-212 est présente dans RDS mais est absente de LDS. Cette donnée a été récemment ajoutée à la structure RDS (horodatage de la création : date 212). Selon l'exemple de mise en oeuvre décrit en figure 3, nous supposons que la stratégie de synchronisation consiste en une synchronisation bidirectionnelle. L'objectif d'une telle stratégie est de parvenir à ce que les structures de données LDS et RDS soient identiques à l'issue de la mise en oeuvre du procédé. En liaison avec les figures 2, 3 et 4, un procédé de synchronisation conforme à l'invention comporte une première étape a) pour élaborer et enregistrer dans les moyens de mémorisation MU des première et deuxième représentations respectives (LMAP et RMAP) des structures de données LDS et RDS. LMAP et RMAP sont ainsi élaborées en a) et correspondent à des représentations respectives des structures de données LDS et RDS. A titre d'exemple, de telles représentations peuvent consister en des fichiers générés lors du parcours des structures de données arborescentes que l'on souhaite synchroniser.A second RSM storage means registers a second RDS data structure. The latter has two Dir-1 and Dir-2 directories. The first directory has a Fil-11 child file. The Dir-2 directory has a Dir-21 subdirectory that has two Fil-211 and Fil-212 filenames. Basic RDS data with identifiers Dir-1, Dir-1 / Fil-11, Dir-2, Dir-2 / Dir-21, Dir-2 / Dir-21 / Fil-211 and Dir-2 / Dir -21 / Fil-212 are respectively associated with date and time stamps (creation or update) datel, datell, date2, date21, date211a and date212. The composition of RDS is close to that of the LDS structure. However, the file whose identifier is Dir1 / Fil-12 present in LDS is missing from RDS. This was previously present in RDS but the data has been recently deleted on the RSM storage means. Similarly, we can see that the elementary data whose identifier is Dir-2 / Dir21 / Fil-211 is present in the structures LDS and RDS. However, the time stamp associated with said datum is different in the two storage means. According to the example described with reference to FIG. 3, the time stamp date211a is prior to date211b timestamp. This elementary data has been the subject of a recent update at the level of the LSM storage means. Finally, the data whose identifier is Dir-1 / Fil-212 is present in RDS but is absent from LDS. This data was recently added to the RDS structure (creation timestamp: date 212). According to the exemplary implementation described in FIG. 3, we assume that the synchronization strategy consists of bidirectional synchronization. The objective of such a strategy is to ensure that the data structures LDS and RDS are identical after the implementation of the method. In connection with FIGS. 2, 3 and 4, a synchronization method according to the invention comprises a first step a) for developing and storing in the storage means MU respective first and second representations (LMAP and RMAP) of the storage structures. LDS and RDS data. LMAP and RMAP are thus elaborated in a) and correspond to respective representations of the data structures LDS and RDS. By way of example, such representations may consist of files generated during the browsing of the tree data structures that one wishes to synchronize.

La figure 4 présente ainsi les représentations LMAP et RMAP produites à l'étape a) du procédé. Cette étape consiste à créer un enregistrement associé à chaque donnée élémentaire existante dans au moins l'un des moyens de stockage LSM et RSM. Un tel enregistrement comporte : - l'identifiant de la donnée élémentaire ; - l'horodatage de ladite donnée. Au sens de l'invention, l'horodatage inscrit dans un tel enregistrement correspond à une information qui permet au procédé de synchronisation d'identifier un 5 changement ou une mise à jour d'une donnée élémentaire par rapport à une éventuellement précédente synchronisation des données. Une telle méta-information peut être choisie avantageusement comme étant la date voire l'heure d'une telle modification quand bien même 10 les horloges internes des différents des entités régissant les moyens de stockage et l'unité de traitement mettant en oeuvre ledit procédé ne soient pas synchronisées temporellement. 15 La représentation produite LMAP comporte ainsi six enregistrements (comportant un identifiant et un horodatage de création ou de mise à jour) : Dir-1 ; datel Dir-1/Fil-11 ; datell 20 Dir-1/Fil-12 ; datel2 Dir-2 ; date2 Dir-2/Dir-21 ; date21 Dir-2/Dir-21/Fil-211 ; date211b 25 La représentation produite RMAP comporte quant à elle également six enregistrements (comportant un identifiant et un horodatage de création ou de mise à jour): Dir-1 ; datel Dir-1/Fil-11 ; datell 30 Dir-2 ; date2 Dir-2/Dir-21 ; date21 Dir-2/Dir-21/Fil-211 ; date211a Dir-2/Dir-21/Fil-212 ; date212 35 Nous avons choisi de décrire les enregistrements en utilisant le séparateur « ; » pour distinguer les champs alloués à l'identifiant et à l'horodatage de création ou de mise à jour. Toute autre représentation pourrait être en variante retenue. Nous pouvons constater que les représentations LMPA et RMAP comportent chacune un enregistrement associé à une donnée élémentaire absente (dont l'identifiant est Dir-2/Dir-21/Fil-212 pour LDS et Dir-1/Fil-12 pour RDS) sur le moyen de stockage. Pour pouvoir déterminer si une donnée a récemment été créée ou supprimée sur l'un desdits moyens de stockage, l'invention prévoit d'exploiter un statut (nommé SMAP-1) d'une synchronisation antérieure des structures de données LDS et RDS. Ce statut est - comme nous le verrons ultérieurement - préférentiellement établi à la fin (étape f)) de la mise en oeuvre d'une occurrence d'un 15 procédé de synchronisation selon l'invention. Un tel statut peut être - à l'instar des représentations LMAP et RMAP - un fichier enregistré par les moyens de mémorisation MU de l'unité de traitement TU en charge de mettre en oeuvre le procédé de 20 synchronisation. A titre d'exemple et en liaison avec les figures 2, 3 et 4, considérons que l'exécution précédente d'un procédé de synchronisation a produit une représentation SMAP-1 comportant six enregistrements (dont la constitution peut 25 être similaire à celle d'un enregistrement d'une représentation LMAP ou RMAP). Selon l'exemple SMAP-1 comporte les enregistrements suivants : Dir-1 ; datel Dir-1/Fil-11 ; datell 30 Dir-1/Fil-12 ; datel2 Dir-2 ; date2 Dir-2/Dir-21 ; date21 Dir-2/Dir-21/Fil-211 ; date211a Selon cet exemple, il n'existe pas d'enregistrement 35 en lien avec la donnée élémentaire dont l'identifiant est Dir-2/Dir-21/Fil-212 car celle-ci a été créée après l'exécution antérieure du procédé de synchronisation. Un procédé conforme à l'invention (décrit en liaison avec les figures 2, 3 et 4) comporte une étape b) pour 5 lire un statut d'une synchronisation antérieure (SMAP-1) des structures de données LDS et RDS, ledit statut étant préalablement enregistré dans les moyens de mémorisation (de l'unité de traitement en charge de l'exécution du procédé de synchronisation). Cette étape b) peut 10 éventuellement comporter une étape pour intégrer dans le statut SMAP-1 et dans les représentations LMAP et RMAP d'éventuels enregistrements comportant un identifiant d'une donnée non synchronisée au préalable voire absente au sein d'un des moyens de stockage avec un horodatage 15 égal à « NULL ». Pour ce faire, le procédé peut lire en parallèle LMAP, RMAP et SMAP-1 pour déterminer la ou les données concernées par cet éventuel ajout. L'avantage de cette variante découle du fait qu'ainsi LMAP, RMAP et SMAP-1 comporte le même nombre d'enregistrements rangés 20 dans le même ordre. Le traitement concomitant des trois représentations peut en être simplifié et amélioré. Un procédé conforme à l'invention comporte en outre une étape c) pour produire une information d'état SLR associée à chaque donnée élémentaire. Cette information 25 d'état est enregistrée dans les moyens de mémorisation de l'unité de traitement mettant en oeuvre le procédé de synchronisation. Comme l'indique l'exemple illustré par la figure 4, les informations d'état associées à chaque donnée élémentaire existante dans au moins l'un des 30 moyens de stockage peuvent être enregistrées dans un fichier SLR (ou toute autre structure de données) au sein des moyens de mémorisation MU de l'unité de traitement. Cette étape c) consiste préférentiellement à associer un enregistrement à chacune des sept données élémentaires. 35 Chaque enregistrement comporte l'identifiant de la donnée élémentaire et ladite information d'état. Les informations d'état sont produites itérativement, donnée élémentaire par donnée élémentaire, en parcourant les représentations LMAP et RMAP ainsi que SMAP-1. Une information d'état appartient avantageusement à un ensemble de valeurs prédéterminées. Une première valeur symbolisée en figure 4 par le vocable « TRI TRI TRI » est par exemple dédiée aux données élémentaires dont les valeurs d'horodatage associées respectivement dans les représentations LMAP, RMAP et SMAP-1 sont identiques. Ce cas traduit la situation d'une donnée élémentaire ayant fait l'objet d'une synchronisation antérieure qui, de ce fait, est identique dans les différents moyens de stockage. Une telle donnée élémentaire correspond (dans l'exemple) aux répertoires dont les identifiants sont Dir-1, Dir-2 et Dir-2/Dir-21 ou encore au fichier Fil-11 sous le répertoire Dir-1 (dont l'identifiant est Dir1/Fil-11). Une deuxième valeur déterminée - symbolisée en figure 4 par le vocable « DUP DUP NULL » - peut être affectée en tant qu'information d'état au fichier dont l'identifiant est Dir-1/Fil-12. Une telle donnée élémentaire a fait l'objet d'une récente suppression au sein d'un moyen de stockage (dans l'exemple : RDS). Préalablement, cette donnée élémentaire avait l'objet d'une synchronisation.Figure 4 thus shows the LMAP and RMAP representations produced in step a) of the method. This step consists of creating a record associated with each existing item of data in at least one of the storage means LSM and RSM. Such a record includes: - the identifier of the data item; - the timestamp of said data. Within the meaning of the invention, the time stamp inscribed in such a record corresponds to information that enables the synchronization method to identify a change or an update of an item of data with respect to a possibly previous synchronization of the data. . Such meta-information may advantageously be chosen as being the date or the time of such a modification even though the internal clocks of the different entities controlling the storage means and the processing unit implementing said method do not are not synchronized temporally. The representation produced LMAP thus comprises six records (including an identifier and a timestamp of creation or update): Dir-1; Dir-1 / Fil-11 Datel; datell 20 Dir-1 / Fil-12; datel2 Dir-2; date2 Dir-2 / Dir-21; date21 Dir-2 / Dir-21 / Fil-211; date211b 25 The representation produced RMAP also has six records (including an identifier and a timestamp of creation or update): Dir-1; Dir-1 / Fil-11 Datel; datell 30 Dir-2; date2 Dir-2 / Dir-21; date21 Dir-2 / Dir-21 / Fil-211; date211a Dir-2 / Dir-21 / Fil-212; date212 35 We chose to describe the records using the separator "; To distinguish the fields allocated to the identifier and timestamp of creation or update. Any other representation could be alternatively retained. We can see that the LMPA and RMAP representations each include a record associated with a missing piece of data (whose identifier is Dir-2 / Dir-21 / Fil-212 for LDS and Dir-1 / Fil-12 for RDS) on the storage means. In order to be able to determine whether data has recently been created or deleted on one of said storage means, the invention provides for exploiting a status (named SMAP-1) of an earlier synchronization of the LDS and RDS data structures. This status is - as we shall see later - preferably established at the end (step f)) of the implementation of an occurrence of a synchronization method according to the invention. Such a status can be - like the LMAP and RMAP representations - a file recorded by the storage means MU of the processing unit TU in charge of implementing the synchronization method. By way of example and with reference to FIGS. 2, 3 and 4, consider that the previous execution of a synchronization method has produced a SMAP-1 representation comprising six records (the constitution of which may be similar to that of FIG. a record of a LMAP or RMAP representation). According to the example SMAP-1 has the following records: Dir-1; Dir-1 / Fil-11 Datel; datell 30 Dir-1 / Fil-12; datel2 Dir-2; date2 Dir-2 / Dir-21; date21 Dir-2 / Dir-21 / Fil-211; date211a According to this example, there is no record 35 related to the data item whose identifier is Dir-2 / Dir-21 / Fil-212 because it was created after the previous execution of the method synchronization. A method according to the invention (described with reference to FIGS. 2, 3 and 4) comprises a step b) for reading a status of an earlier synchronization (SMAP-1) of the data structures LDS and RDS, said status being previously registered in the storage means (of the processing unit in charge of the execution of the synchronization method). This step b) may optionally comprise a step for integrating in the status SMAP-1 and in the representations LMAP and RMAP of any recordings comprising an identifier of a data not previously synchronized or absent in one of the means of storage with a timestamp equal to "NULL". To do this, the method can read in parallel LMAP, RMAP and SMAP-1 to determine the data or data concerned by this possible addition. The advantage of this variant stems from the fact that in this way LMAP, RMAP and SMAP-1 have the same number of records stored in the same order. The concomitant treatment of the three representations can be simplified and improved. A method according to the invention further comprises a step c) for producing an SLR state information associated with each item of data. This state information is stored in the storage means of the processing unit implementing the synchronization method. As shown in the example illustrated in FIG. 4, the status information associated with each elementary data item existing in at least one of the storage means can be stored in an SLR file (or any other data structure). within the storage means MU of the processing unit. This step c) preferably consists of associating a record with each of the seven elementary data items. Each record includes the identifier of the data item and said state information. The state information is generated iteratively, elementary data by elementary data, by browsing the representations LMAP and RMAP as well as SMAP-1. State information advantageously belongs to a set of predetermined values. A first value symbolized in FIG. 4 by the term "TRI TRI TRI" is for example dedicated to elementary data whose timestamp values associated respectively in the LMAP, RMAP and SMAP-1 representations are identical. This case reflects the situation of an item of data which has been the subject of an earlier synchronization which, for this reason, is identical in the various storage means. Such an elementary data item corresponds (in the example) to the directories whose identifiers are Dir-1, Dir-2 and Dir-2 / Dir-21 or to the file Fil-11 under the directory Dir-1 (whose identifier is Dir1 / Fil-11). A second determined value - symbolized in FIG. 4 by the term "DUP DUP NULL" - can be assigned as status information to the file whose identifier is Dir-1 / Fil-12. Such elementary data has been the subject of a recent deletion within a storage medium (in the example: RDS). Previously, this elementary data had been synchronized.

L'horodatage de mise à jour ou de création de la donnée élémentaire était alors date12. Cette valeur d'horodatage datel2 est donc présente dans la représentation LMAP et SMAP-1. En revanche, il n'existe pas d'enregistrement associé à ladite donnée élémentaire dans la représentation RMAP. Pour caractériser une donnée élémentaire ayant l'objet d'une synchronisation antérieure suivie d'une suppression dans LDS en lieu et place d'une suppression au sein de RDS, une troisième valeur déterminée symbolisée par le vocable « DUP NULL DUP » serait affectée en tant qu'information d'état à ladite donnée élémentaire. Prenons à présent le cas de la donnée dont l'identifiant est Dir-2/Dir21/Fil211. Celle-ci a été préalablement synchronisée. L'horodatage de création ou de mise à jour de la donnée lors de ladite synchronisation antérieure était date211a.The timestamp for updating or creating the data item was then date12. This timestamp value datel2 is therefore present in the representation LMAP and SMAP-1. On the other hand, there is no record associated with said data item in the RMAP representation. To characterize an elementary data item that has been the subject of an earlier synchronization followed by a deletion in LDS instead of a deletion within RDS, a third determined value symbolized by the term "DUP NULL DUP" would be affected by as state information to said elementary data. Now take the case of the data whose identifier is Dir-2 / Dir21 / Fil211. This one was previously synchronized. The timestamp of creating or updating the data during said previous synchronization was date211a.

Cette valeur d'horodatage est enregistrée dans les enregistrements associés à ladite donnée dans la représentation RMAP et dans le statut SMAP-1 de la synchronisation antérieure. En revanche, cette donnée élémentaire a été récemment mise à jour sur le moyen de stockage LSM. La valeur date211b d'horodatage a été produite et enregistrée dans la représentation LMAP à l'étape a). Pour une telle donnée élémentaire, l'étape c) consiste à produire une information d'état dont la valeur correspond à une quatrième valeur prédéterminée symbolisée par le vocable « DUP L DUP » (deux valeurs d'horodatage identiques pour SMAP-1 et RMAP - une valeur d'horodatage différente dans LMAP). Prenons à présent l'exemple d'une donnée élémentaire qui a fait l'objet d'une mise à jour depuis une précédente synchronisation dans RDS en lieu et place de LDS. L'information d'état produite à l'étape c) correspondrait à une cinquième valeur symbolisée par « DUP DUP R » (deux valeurs d'horodatage identiques pour SMAP-1 et LMAP - une valeur d'horodatage différente dans RMAP). Enfin prenons l'exemple de la donnée dont l'identifiant est Dir-2/Dir-21/Fil-212. Cette donnée élémentaire n'a jamais fait l'objet d'une synchronisation antérieure. Elle vient d'être récemment créée dans la structure RDS. L'étape c) consiste à détecter dans SMAP-1 l'absence d'enregistrement associé à ladite donnée (voire en variante un enregistrement comportant l'identifiant de ladite donnée associé à une valeur d'horodatage égale à « NULL »), l'absence d'un enregistrement associé à ladite donnée dans LMAP (voire en variante un enregistrement comportant l'identifiant de ladite donnée associé à une valeur d'horodatage égale à « NULL ») ainsi qu'un enregistrement associé à la donnée dans RMAP dont la valeur d'horodatage est distincte de la valeur « NULL ». L'étape c) produit dans ce cas une information d'état 5 dont la valeur est égale à une sixième valeur déterminée symbolisée par « NULL NULL R ». Une septième valeur symbolisée par « NULL L NULL » pourrait être affectée en tant qu'information d'état associée à une nouvelle donnée créée récemment dans LDS qui n'a pas fait l'objet d'une 10 synchronisation antérieure. Plus généralement, l'étape c) d'un procédé conforme à l'invention consiste à associer une information d'état à chaque donnée élémentaire enregistrée dans au moins l'un des moyens de stockage. Ces informations d'état (ou méta- 15 informations) peuvent avantageusement être mémorisées dans un fichier (référencé SLR en figures 1, 2 et 4) enregistré dans les moyens de mémorisation MU de l'unité de traitement mettant en oeuvre le procédé de synchronisation. En liaison avec l'exemple décrit en 20 liaison avec les figures 3 et 4, un tel fichier comporte avantageusement sept enregistrements comportant chacun l'identifiant de la donnée élémentaire et l'information d'état qui lui est associée. Ainsi selon ledit exemple, la teneur du fichier SLR généré à l'étape c) est : 25 Dir-1 ; TRI-TRI-TRI Dir-1/Fil-11 ; TRI TRI TRI Dir-1/Fil-12 ; DUP DUP NULL Dir-2 ; TRI TRI TRI Dir-2/Dir-21 ; TRI TRI TRI 30 Dir-2/Dir-21/Fil-211 ; DUP L DUP Dir-2/Dir-21/Fil-212 ; NULL NULL R Sur la base de deux moyens de stockage, treize valeurs déterminées semblent ainsi suffisantes pour coder 35 l'information ou les informations d'état produites en c) : - « TRI TRI TRI » : trois valeurs d'horodatage identiques pour une donnée élémentaire au sein des représentations SMAP-1, LMAP et RMAP ; - « DUP L DUP » : deux valeurs d'horodatage identiques pour une donnée élémentaire au sein des représentations SMAP-1 et RMAP ; une valeur d'horodatage distincte dans LMAP ; - « DUP DUP R » : deux valeurs d'horodatage identiques pour une donnée élémentaire au sein des représentations SMAP-1 et LMAP ; une valeur d'horodatage distincte dans RMAP ; - « NULL L NULL» : nouvelle donnée élémentaire créée depuis la dernière synchronisation dans LDS ; - « NULL NULL R » : nouvelle donnée élémentaire créée depuis la dernière synchronisation dans RDS ; - « DUP NULL DUP » : donnée élémentaire précédemment synchronisée et ayant fait l'objet d'une suppression dans LDS depuis la dernière synchronisation ; - « DUP DUP NULL » : donnée élémentaire précédemment synchronisée et ayant fait l'objet d'une suppression dans RDS depuis la dernière synchronisation ; - « NULL DUP DUP » : donnée élémentaire n'ayant par exemple jamais fait l'objet d'une précédente synchronisation mais créée voire mise à jour à un même instant au sein des deux moyens de stockage - cas d'une synchronisation manuelle par exemple ; - « S NULL NULL » : donnée élémentaire précédemment synchronisée et ayant fait l'objet d'une suppression dans LDS et dans RDS depuis la dernière synchronisation ; - « S L NULL » : donnée élémentaire précédemment synchronisée et ayant fait l'objet, depuis la dernière synchronisation, d'une mise à jour dans LDS et d'une suppression dans RDS ; - « S NULL R » : donnée élémentaire précédemment synchronisée et ayant fait l'objet, depuis la dernière synchronisation, d'une suppression dans LDS et d'une mise à jour dans RDS ; - « NULL L R » : nouvelle donnée élémentaire créée depuis la dernière synchronisation dans LDS et dans RDS à des instants distincts ; - « S L R » : donnée élémentaire ayant fait l'objet d'une synchronisation antérieure mais également d'une mise à jour à des instant distincts dans LDS et dans RDS au regard de ladite synchronisation antérieure. Dans les quatre derniers cas, le procédé de synchronisation selon l'invention peut avantageusement arbitrer un éventuel conflit de synchronisation (comme nous le verrons plus loin avec la création avantageuse d'une liste ou d'une table TCNFLT). En liaison avec la figure 2, un procédé conforme à l'invention comporte - à l'issue de l'étape c) pour produire les informations d'état associées à chaque donnée élémentaire - une étape d) pour déterminer une action de synchronisation portant sur chaque donnée élémentaire selon la valeur de ladite information d'état associée à ladite donnée élémentaire et conformément à l'interprétation d'une ou plusieurs règles de synchronisation décrivant une stratégie de synchronisation préétablie. De telles règles de synchronisation sont par exemple préenregistrées dans les moyens de mémorisation MP d'une 35 unité de traitement TU décrite en liaison avec la figure 1. Ces règles permettent de déterminer pour une donnée élémentaire une action de synchronisation selon la valeur de l'information d'état associée à ladite donnée élémentaire parmi les précédentes valeurs déterminées. En effet, selon que l'on souhaite mettre en oeuvre une stratégie de synchronisation bidirectionnelle ou unidirectionnelle, les actions à entreprendre pour synchroniser chaque donnée élémentaire peuvent être différentes. Une telle action de synchronisation peut par exemple consister en une suppression (DEL-L, DEL-R) de la donnée élémentaire au sein de l'un ou de plusieurs moyens de stockage, en une mise à jour (UPD-L, UPD-R) de ladite donnée dans l'un ou plusieurs moyens de stockage voire encore une copie (ADD-L, ADD-R) de la donnée élémentaire dans l'un ou plusieurs desdits moyens de stockage.This timestamp value is recorded in the records associated with that datum in the RMAP representation and in the SMAP-1 status of the previous synchronization. On the other hand, this elementary data has recently been updated on the LSM storage means. The date211b timestamp value was produced and stored in the LMAP representation in step a). For such an elementary datum, step c) consists in producing a state information whose value corresponds to a fourth predetermined value symbolized by the term "DUP L DUP" (two identical time stamp values for SMAP-1 and RMAP - a different time stamp value in LMAP). Let's take the example of a data item that has been updated from a previous synchronization in RDS instead of LDS. The state information produced in step c) would correspond to a fifth value symbolized by "DUP DUP R" (two identical time stamp values for SMAP-1 and LMAP - a different time stamp value in RMAP). Finally, let's take the example of the data whose identifier is Dir-2 / Dir-21 / Fil-212. This elementary data has never been the subject of an earlier synchronization. It has just been recently created in the RDS structure. Step c) consists in detecting in SMAP-1 the absence of a record associated with said datum (or, alternatively, a record including the identifier of said datum associated with a timestamp value equal to "NULL"). absence of a record associated with said datum in LMAP (or alternatively a record including the identifier of said datum associated with a timestamp value equal to "NULL") as well as a record associated with the datum in RMAP whose the timestamp value is distinct from the "NULL" value. Step c) produces in this case a status information 5 whose value is equal to a sixth determined value symbolized by "NULL NULL R". A seventh value symbolized by "NULL L NULL" could be assigned as status information associated with new data created recently in LDS that has not been previously synchronized. More generally, step c) of a method according to the invention consists in associating state information with each elementary data item recorded in at least one of the storage means. This status information (or meta-information) can advantageously be stored in a file (referenced SLR in FIGS. 1, 2 and 4) recorded in the storage means MU of the processing unit implementing the synchronization method. . In connection with the example described with reference to FIGS. 3 and 4, such a file advantageously comprises seven records each comprising the identifier of the elementary data item and the status information associated with it. Thus according to said example, the content of the SLR file generated in step c) is: Dir-1; TRI-TRI-TRI Dir-1 / Fil-11; TRI TRI TRI Dir-1 / Fil-12; DUP DUP NULL Dir-2; TRI TRI TRI Dir-2 / Dir-21; TRI TRI TRI 30 Dir-2 / Dir-21 / Fil-211; DUP L DUP Dir-2 / Dir-21 / Fil-212; NULL NULL R On the basis of two storage means, thirteen specific values thus seem sufficient to encode the information or the state information produced in c): - "TRI TRI TRI": three identical time stamp values for one elementary data within the SMAP-1, LMAP and RMAP representations; - "DUP L DUP": two identical timestamp values for a data item in the SMAP-1 and RMAP representations; a separate timestamp value in LMAP; - "DUP DUP R": two identical timestamp values for a data item within the SMAP-1 and LMAP representations; a separate timestamp value in RMAP; - "NULL L NULL": new elementary data created since the last synchronization in LDS; - "NULL NULL R": new elementary data created since the last synchronization in RDS; - "DUP NULL DUP": previously synchronized data item that has been deleted in LDS since the last synchronization; - "DUP DUP NULL": elementary data previously synchronized and having been deleted in RDS since the last synchronization; - "NULL DUP DUP": elementary data having for example never been the subject of a previous synchronization but created or even updated at the same time within the two storage means - case of a manual synchronization for example ; - "S NULL NULL": previously synchronized data item that has been deleted in LDS and RDS since the last synchronization; - "S L NULL": elementary data previously synchronized and which has been the subject, since the last synchronization, of an update in LDS and a deletion in RDS; - "S NULL R": elementary data previously synchronized and having been the subject, since the last synchronization, of a deletion in LDS and an update in RDS; - "NULL L R": new elementary data created since the last synchronization in LDS and in RDS at different times; - "S L R": elementary data which has been the subject of an earlier synchronization but also of an update at distinct times in LDS and in RDS with regard to said previous synchronization. In the last four cases, the synchronization method according to the invention can advantageously arbitrate a possible synchronization conflict (as we will see later with the advantageous creation of a TCNFLT list or table). In connection with FIG. 2, a method according to the invention comprises - at the end of step c) for producing the state information associated with each elementary data item - a step d) for determining a synchronization action relating to on each elementary data item according to the value of said state information associated with said elementary data item and according to the interpretation of one or more synchronization rules describing a predetermined synchronization strategy. Such synchronization rules are, for example, prerecorded in the storage means MP of a processing unit TU described with reference to FIG. 1. These rules make it possible to determine for a data item a synchronization action according to the value of the state information associated with said data item among the previous determined values. Indeed, depending on whether one wishes to implement a bidirectional or unidirectional synchronization strategy, the actions to be taken to synchronize each item of data may be different. Such a synchronization action may for example consist of a deletion (DEL-L, DEL-R) of the data item within one or more storage means, an update (UPD-L, UPD- R) of said data in one or more storage means or even a copy (ADD-L, ADD-R) of the data item in one or more of said storage means.

Poursuivons l'analyse de l'exemple de mise en oeuvre décrit en liaison avec les figures 3 et 4 concernant une synchronisation bidirectionnelle. Selon cet exemple, deux moyens de stockage LDS et RDS coopèrent avec une unité de traitement chargée d'en assurer la synchronisation. Six principales actions de synchronisation sont possibles : - suppression (DEL-L) de la donnée élémentaire dans la structure de données élémentaires LDS ; - suppression (DEL-R) de la donnée élémentaire dans la structure de données élémentaires RDS ; - mise à jour (UPD-L) de la donnée élémentaire dans la structure de données élémentaires LDS ; - mise à jour (UPD-R) de la donnée élémentaire dans la structure de données élémentaires RDS ; - création et copie (ADD-L) de la donnée élémentaire dans la structure de données élémentaires LDS ; - création et copie (ADD-R) de la donnée élémentaire dans la structure de données élémentaires RDS. Un premier mode de réalisation d'un procédé selon 5 l'invention consiste à ne pas déclencher directement et instantanément la mise en oeuvre (étape e) voir plus loin) des actions de synchronisation proprement dites. L'étape d) peut consister ainsi avantageusement à préparer ladite mise en oeuvre (qui se fera éventuellement par lots voire 10 en temps différés) en enregistrant dans les moyens de mémorisation (par exemple les moyens MU d'une unité TU décrite en figure 1) une ou plusieurs listes ou tables (alternativement référencée TADD-L, TUPD-L, TDEL-L, TADDR, TUPD-R, TDEL-R) d'un ou de plusieurs identifiants de 15 données élémentaires concernées pour chaque action de synchronisation (ADD-L, UPD-L, DEL-L, ADD-R, UPD-R, DEL-R). Ainsi comme l'indique la figure 4, l'étape d) peut consister à créer un fichier comportant une liste (fichier enregistré dans les moyens de mémorisation de 20 l'unité de traitement mettant en oeuvre le procédé de synchronisation) pour chaque type d'action de synchronisation possible. Une première liste (fichier TADD-L) comporte l'identifiant de la donnée élémentaire Dir-2/Dir-21/Fil- 25 212. Cette donnée doit en effet faire l'objet d'une copie de la donnée hébergée par RSM dans la structure donnée LDS hébergée par LSM. Une deuxième liste (fichier TUPD-R) comporte l'identifiant de la donnée élémentaire Dir-2/Dir-21/Fil30 211. Cette donnée élémentaire doit en effet faire l'objet d'une mise à jour dans la structure donnée RDS. Une troisième liste (fichier TDEL-L) comporte l'identifiant de la donnée élémentaire Dir-1/Fil-12. Cette donnée élémentaire doit en effet faire l'objet 35 d'une suppression dans la structure donnée LDS. Puisqu'aucune donnée élémentaire ne doit être copiée depuis LDS dans RDS, mise à jour dans LDS ou encore supprimée de RDS, les trois autres listes respectivement contenues dans les fichiers TADD-R, TUPD-L et TDEL-R demeurent vides à l'issue de l'étape d).Let's continue the analysis of the implementation example described with reference to FIGS. 3 and 4 for bidirectional synchronization. According to this example, two LDS and RDS storage means cooperate with a processing unit responsible for ensuring synchronization. Six main synchronization actions are possible: - deletion (DEL-L) of the data item in the LDS elementary data structure; deletion (DEL-R) of the data item in the RDS elementary data structure; - update (UPD-L) of the data item in the LDS elementary data structure; - update (UPD-R) of the data item in the RDS elementary data structure; - creation and copying (ADD-L) of the data item in the LDS elementary data structure; - creation and copying (ADD-R) of the data item in the RDS elementary data structure. A first embodiment of a method according to the invention consists in not triggering directly and instantaneously the implementation (step e) see below) synchronization actions themselves. Step d) may thus advantageously consist in preparing said implementation (which will possibly be done in batches or even in deferred time) by recording in the storage means (for example the means MU of a unit TU described in FIG. ) one or more lists or tables (alternatively referenced TADD-L, TUPD-L, TDEL-L, TADDR, TUPD-R, TDEL-R) of one or more elementary data identifiers concerned for each synchronization action ( ADD-L, UPD-L, DEL-L, ADD-R, UPD-R, DEL-R). Thus, as indicated in FIG. 4, step d) may consist in creating a file comprising a list (file stored in the storage means of the processing unit implementing the synchronization method) for each type of data. possible synchronization action. A first list (TADD-L file) includes the identifier of the data item Dir-2 / Dir-21 / Fil-2122. This data must indeed be the subject of a copy of the data hosted by RSM in the LDS data structure hosted by LSM. A second list (TUPD-R file) contains the identifier of the data element Dir-2 / Dir-21 / Fil30 211. This elementary data must indeed be updated in the given data structure RDS. A third list (TDEL-L file) contains the identifier of the data element Dir-1 / Fil-12. This elementary data must indeed be deleted in the given LDS structure. Since no basic data must be copied from LDS into RDS, updated in LDS or deleted from RDS, the other three lists contained in the TADD-R, TUPD-L and TDEL-R files, respectively, remain empty. from step d).

Pour conduire une stratégie de synchronisation différente, d'autres règles de synchronisation (référencées USi ou DSi en figure 1) permettraient la création de listes dont les contenus respectifs seraient différents de ceux décrits précédemment. Si l'on reprend l'exemple des structures LDS et RDS décrites en liaison avec les figures 3 et 4, une stratégie de synchronisation unidirectionnelle dite ascendante (c'est à dire que le moyen de stockage LSM est dit « primaire » et le moyen de stockage RSM est un moyen « secondaire » chargé de maintenir une rémanence des dernières modifications apportées à LDS) conduirait à créer une seule liste (mémorisée dans TUPD-R) contenant l'identifiant Dir2/Dir-21/Fil-211. En effet selon cette stratégie, seules les modifications apportées à la structure LDS doivent être propagées sur la structure RDS. La suppression de la donnée élémentaire dont l'identifiant est Dir-1/Fil-12 au sein de RDS est donc sans conséquence pour la structure LDS. Il en est de même pour la création au sein de RDS de la donnée élémentaire dont l'identifiant est Dir-2/Dir- 21/Fil-212. En variante, si l'on souhaite conduire une synchronisation unidirectionnelle descendante (i.e. le moyen de stockage primaire est le moyen RSM, LSM est le moyen de sauvegarde secondaire) des règles (référencées DSi en figure 1) permettraient de créer d'autres listes d'actions de synchronisation. Toujours selon l'exemple décrit en liaison avec les figures 3 et 4, une telle stratégie conduirait à créer les fichiers TADD-L contenant l'identifiant Dir-2/Dir-21/Fil-212 pour que la création dans la structure RDS du fichier Fil-212 au sein du sous-répertoire nommé Dir-21 puisse être propagée vers la structure de données élémentaires LDS. De la même manière la version horodatée date211a de la donnée dont l'identifiant est Dir-2/Dir-21/Fil-211 devrait écraser la version pourtant plus récente (horodatée date211b) de la 5 donnée élémentaire dans LDS. Pour ce faire, une liste (fichier TUPD-L) comporterait l'identifiant de ladite donnée élémentaire. Au sens de l'invention, nous pouvons également schématiser le processus mis en oeuvre à l'étape c) par 10 l'exécution d'une fonction MSi (pour une synchronisation bidirectionnelle) ou USi voire DSi (pour une stratégie unidirectionnelle) dont un paramètre serait la valeur d'une information d'état associée à une donnée élémentaire et dont la sortie consisterait à créer et/ou 15 mettre en jour le contenu d'une d'actions de synchronisation pour listes comportent l'identifiant élémentaire. En d'autres termes, ou plusieurs listes que la ou lesdites de ladite donnée une telle fonction pourrait s'apparenter à une action conditionnelle à choix 20 multiple (telle que l'instruction « Switch » en langage de programmation Java) selon la valeur (parmi un ensemble de valeurs déterminées) d'une information d'état associée à une donnée élémentaire et contenue dans la structure SLR. Cette fonction exécuterait ou interpréterait ainsi 25 lesdites règles de synchronisation évoquées précédemment. En variante, une OU plusieurs fonctions de ce type (chacune étant associée à une stratégie de synchronisation déterminée) pourraient être enregistrées dans les moyens de mémorisation MP de l'unité de 30 traitement TU décrite à titre d'exemple en liaison avec la figure 1 voire faire partie intégrante du programme P enregistré avantageusement dans lesdits moyens de mémorisation. 35 Pour mettre en oeuvre les actions de synchronisation proprement dites, le procédé selon l'invention peut dès lors comporter une étape e) pour déclencher une ou plusieurs actions de synchronisation ayant fait l'objet d'une constitution de listes à l'étape d). Il suffit pour cela de parcourir les différentes listes créées et de mettre en oeuvre lesdites actions de synchronisation. De manière avantageuse, les listes associées à des actions de création ou de mise à jour sont traitées depuis le premier enregistrement vers le dernier. En revanche, une liste associée à des suppressions sera avantageusement traitée depuis le dernier enregistrement vers le premier afin de permettre une exécution du procédé de synchronisation particulièrement optimisée. Si nous revenons à l'exemple décrit en liaison avec les figures 3 et 4 décrivant complètement une synchronisation bidirectionnelle, à l'issue de l'étape e) du procédé, les structures de données élémentaires LDS et RDS sont identiques comme le décrit la figure 3. LDS et RDS comportent ainsi deux répertoires Dir-1 et Dir-2. Le premier répertoire comporte un seul fichier-fils Fil-11. Le répertoire Dir-2 comporte un sous-répertoire Dir-21 qui comporte deux fichiers Fil-211 et Fi1212. Les horodatages associés aux différentes données élémentaires sont respectivement datel, datell, date2, date21, date211b et date212. Pour mettre en oeuvre une prochaine occurrence du procédé de synchronisation, celui-ci comporte avantageusement une étape f) pour enregistrer un statut de la synchronisation qui vient d'être réalisée. Cette action consiste à mettre à jour (voire à créer lors de la première mise en oeuvre du procédé) la représentation SMAP-1 pour tenir compte des actions de synchronisation qui sont déclenchées. Cette étape f) est en quelque sorte une pluralité de sous-étapes de l'étape e). En effet, avantageusement à chaque action de synchronisation déclenchée portant sur une donnée élémentaire, l'enregistrement (si celui-ci existe) associé à ladite donnée dans la représentation SMPA-1 est mis à jour pour que la valeur d'horodatage de création ou de mise à jour de ladite donnée élémentaire soit affectée au champ horodatage de l'enregistrement associé à la donnée élémentaire au sein de la structure SMAP-1. Dans le cas d'une suppression, la valeur « NULL » peut être inscrite dans ledit champ voire en variante l'enregistrement peut être supprimé si la donnée élémentaire a été supprimée de toutes structures de données. Si ladite donnée élémentaire subsiste dans l'une des structures de données élémentaires enregistrée par l'un des moyens de stockage, la valeur de l'horodatage de ladite donnée élémentaire associée au sein de ladite structure est affectée au champ horodatage de l'enregistrement qui est associé à ladite donnée élémentaire au sein de la représentation du statut de synchronisation SMAP-1. Le procédé de synchronisation peut de nouveau être mis à oeuvre à des périodes successives, automatiquement 20 ou sur évènements (manuels ou programmés). Au travers de l'exemple de mise en oeuvre décrit en liaison avec les figures 2, 3 et 4, nous avons pu constater qu'un procédé de synchronisation peut en outre gérer un ou plusieurs conflits de synchronisation selon 25 la stratégie retenue et selon l'information d'état associée à une donnée élémentaire. Un tel conflit peut subvenir notamment en lien avec les cas associés aux valeurs d'information d'état suivantes : - « S L NULL » : donnée élémentaire précédemment 30 synchronisée et ayant fait l'objet depuis la dernière synchronisation d'une mise à jour dans la structure de données élémentaires LDS et d'une suppression dans RDS ; - « S NULL R » : donnée élémentaire précédemment 35 synchronisée et ayant fait l'objet depuis la dernière synchronisation d'une suppression dans la structure de données élémentaires LDS et d'une mise à jour dans RDS ; - « NULL L R » : nouvelle donnée élémentaire créée depuis la dernière synchronisation dans les structures de données élémentaires LDS et RDS mais à des instants distincts ; - « S L R » : donnée élémentaire ayant fait l'objet d'une synchronisation antérieure mais également d'une mise à jour à des instant distincts dans les structures de données élémentaires LDS et RDS depuis ladite synchronisation antérieure. Les règles de synchronisation associées à une stratégie peuvent - outre le fait de créer une ou plusieurs listes d'identifiants de données élémentaires - créer une liste dédiée aux conflits durant l'étape d). Ainsi au même titre qu'une liste d'identifiants est associée à une action de synchronisation particulière, une liste peut être créée dans un fichier ou table que nous nommerons TCNFLT pour enregistrer le ou les identifiants des données élémentaires concernées par une incertitude de décision. L'étape e) peut alors traiter une telle liste pour déclencher l'envoi d'une demande de prise de décision adressée à un superviseur. En variante TCNFLT peut être simplement consultable par un tel superviseur. Généralement, une donnée élémentaire concernée par un éventuel conflit de synchronisation peut être caractérisée selon un procédé conforme à l'invention lorsque les horodatages respectifs associés à ladite donnée élémentaire dans les représentations LMAP, RMAP et SMAP-1 sont tous différents lors de la mise en oeuvre de l'étape d) dudit procédé. L'invention prévoit en outre un mode de réalisation 35 particulièrement avantageux pour être résistant à d'éventuels dysfonctionnements du système mettant en oeuvre l'invention notamment durant la mise à jour ou la création d'une donnée élémentaire. Pour cela, l'étape e) peut avantageusement initialiser l'horodatage de la donnée élémentaire à une valeur « SYNC-PENDING » prédéterminée et discriminable par l'unité de traitement mettant en oeuvre le procédé de synchronisation au regard de tout autre valeur d'horodatage préalablement à l'exécution de l'action de synchronisation proprement dite. Une telle valeur « SYNC-PENDING » peut par exemple être initialisée à une date et heure peu probable voire impossible. A titre d'exemple: 31 février 1900 - Oh00'01". De cette manière si la création, la suppression ou plus généralement la mise à jour d'une donnée n'est pas allée à son terme, cet horodatage caractéristique identifie lors de la mise en oeuvre de l'étape a) une donnée élémentaire ainsi horodatée comme impropre ou non pertinente. Inversement si l'action (création, suppression, mise à jour) est allée à son terme, la donnée élémentaire est correctement horodatée.To drive a different synchronization strategy, other synchronization rules (referenced USi or DSi in Figure 1) would allow the creation of lists whose respective contents would be different from those described above. Referring to the example of the LDS and RDS structures described in connection with FIGS. 3 and 4, a so-called upward unidirectional synchronization strategy (that is, the LSM storage means is called "primary" and the means RSM storage is a "secondary" means responsible for maintaining a remanence of the last changes made to LDS) would lead to create a single list (stored in TUPD-R) containing the identifier Dir2 / Dir-21 / Fil-211. Indeed according to this strategy, only the modifications made to the LDS structure must be propagated on the RDS structure. The deletion of the elementary data whose identifier is Dir-1 / Fil-12 within RDS is therefore of no consequence for the LDS structure. It is the same for the creation within RDS of the elementary data whose identifier is Dir-2 / Dir- 21 / Fil-212. Alternatively, if it is desired to conduct a downward unidirectional synchronization (ie the primary storage means is the RSM means, LSM is the secondary backup means) rules (referenced DSi in Figure 1) would create other lists of synchronization actions. Still according to the example described with reference to FIGS. 3 and 4, such a strategy would lead to the creation of the TADD-L files containing the identifier Dir-2 / Dir-21 / Fil-212 so that the creation in the RDS structure of the Fil-212 file within the subdirectory named Dir-21 can be propagated to the LDS elementary data structure. Similarly, the timestamped version date211a of the data whose identifier is Dir-2 / Dir-21 / Fil-211 should overwrite the more recent version (timestamp date211b) of the data item in LDS. To do this, a list (file TUPD-L) would include the identifier of said data item. Within the meaning of the invention, we can also schematize the process implemented in step c) by the execution of a function MSi (for bidirectional synchronization) or USi even DSi (for a unidirectional strategy) of which one parameter would be the value of a state information associated with a data item and whose output would consist in creating and / or updating the contents of a list synchronization actions include the elementary identifier. In other words, or more than one or more lists of said data, such a function could be similar to a multiple choice conditional action (such as the "Switch" instruction in Java programming language) depending on the value ( among a set of determined values) of state information associated with a data item and contained in the SLR structure. This function would execute or interpret thus the aforementioned synchronization rules. Alternatively, one OR more functions of this type (each associated with a particular synchronization strategy) could be recorded in the storage means MP of the processing unit TU described by way of example with reference to FIG. even be an integral part of the program P advantageously recorded in said storage means. In order to implement the synchronization actions themselves, the method according to the invention may therefore comprise a step e) for triggering one or more synchronization actions that have been the subject of a list constitution in step d ). All that is required is to browse the various lists created and to implement said synchronization actions. Advantageously, the lists associated with creation or update actions are processed from the first record to the last one. On the other hand, a list associated with deletions will advantageously be processed from the last record to the first in order to allow execution of the particularly optimized synchronization method. If we return to the example described with reference to FIGS. 3 and 4 completely describing bidirectional synchronization, at the end of step e) of the method, the data elementary structures LDS and RDS are identical as described in FIG. 3. LDS and RDS thus comprise two directories Dir-1 and Dir-2. The first directory has a single Fil-11 child file. The Dir-2 directory has a Dir-21 subdirectory that has two Fil-211 and Fi1212 files. The timestamps associated with the different data items are datel, datell, date2, date21, date211b and date212, respectively. To implement a next occurrence of the synchronization method, it advantageously comprises a step f) to record a status of the synchronization that has just been performed. This action consists of updating (or even creating during the first implementation of the method) the SMAP-1 representation to take into account the synchronization actions that are triggered. This step f) is in a way a plurality of sub-steps of step e). Indeed, advantageously with each triggered synchronization action on an elementary datum, the record (if it exists) associated with said datum in the representation SMPA-1 is updated so that the value of creation time stamp or of updating said elementary data is assigned to the timestamp field of the record associated with the data item within the SMAP-1 structure. In the case of a deletion, the value "NULL" may be written in the said field or alternatively the record may be deleted if the data item has been deleted from all data structures. If said elementary data item remains in one of the elementary data structures registered by one of the storage means, the value of the time stamp of said associated elementary data item within said structure is assigned to the time stamp field of the record which is associated with said data item within the representation of the SMAP-1 synchronization status. The synchronization method can again be implemented at successive periods, automatically or on events (manual or programmed). Through the implementation example described with reference to FIGS. 2, 3 and 4, we have found that a synchronization method can furthermore manage one or more synchronization conflicts according to the strategy adopted and according to FIG. state information associated with a data item. Such a conflict can occur in particular in connection with the cases associated with the following status information values: - "SL NULL": previously synchronized data item which has been the subject since the last synchronization of an update in the LDS elementary data structure and a deletion in RDS; "S NULL R": previously synchronized data item which has been subject since the last synchronization of a deletion in the LDS elementary data structure and an update in RDS; - "NULL L R": new elementary data created since the last synchronization in the LDS and RDS elementary data structures but at different times; - "S L R": data item that has been synchronized earlier but also updated at different times in the LDS and RDS elementary data structures since the previous synchronization. Synchronization rules associated with a policy can - in addition to creating one or more lists of basic data identifiers - create a conflict-specific list during step d). Thus, just as a list of identifiers is associated with a particular synchronization action, a list can be created in a file or table that we will name TCNFLT to record the identifier (s) of the elementary data concerned by a decision uncertainty. Step e) can then process such a list to trigger the sending of a decision request addressed to a supervisor. Alternatively TCNFLT can be simply consultable by such a supervisor. Generally, an elementary datum concerned by a possible synchronization conflict can be characterized according to a method according to the invention when the respective time stamps associated with said data item in the representations LMAP, RMAP and SMAP-1 are all different at the time of setting. of step d) of said method. The invention further provides an embodiment 35 particularly advantageous for being resistant to possible malfunctions of the system embodying the invention including during the update or creation of a data item. For this, step e) can advantageously initialize the time stamp of the elementary data to a predetermined "SYNC-PENDING" value that can be discriminated by the processing unit implementing the synchronization method with regard to any other value of timestamp before executing the actual synchronization action. Such a value "SYNC-PENDING" may for example be initialized at a date and time unlikely or impossible. For example: February 31, 1900 - Oh00'01 "In this way, if the creation, deletion or, more generally, the update of a given data has not been completed, this characteristic time stamp identifies when the implementation of step a) an elementary datum thus time stamped as improper or irrelevant.Inversely if the action (creation, deletion, update) has been completed, the data item is correctly time stamped.

L'invention prévoit ainsi d'étendre le champ ou l'ensemble de valeurs d'état prédéterminées que l'étape c) peut produire pour tenir compte des données élémentaires impropres. Par exemple, nous pouvons ajouter à titre d'exemple : - « DUP DUP CRASH » : donnée élémentaire précédemment synchronisée dont une mise à jour depuis la dernière synchronisation dans la structure de données élémentaires RDS n'est pas allée à son terme (problème électrique, arrachage du moyens RSM, etc.) ; - « DUP CRASH DUP » : donnée élémentaire précédemment synchronisée dont une mise à jour depuis la dernière synchronisation dans la structure de données élémentaires LDS n'est pas allée à son terme ; - « NULL CRASH R» : nouvelle donnée élémentaire dont une mise à jour dans la structure de données élémentaires LDS n'est pas allée à son terme contrairement à une mise à jour réalisée dans RDS ; etc. Pour tenir compte d'un champ de valeurs prédéterminées d'informations d'état étendu, l'invention prévoit que des règles de synchronisation supplémentaires puissent être ajoutées pour créer et/ou mettre à jour le contenu d'une ou plusieurs listes d'actions de synchronisation pour que la ou lesdites listes comportent l'identifiant d'une donnée élémentaire caractérisée impropre dans l'un des moyens de stockage. Selon une première stratégie de synchronisation, une règle peut avantageusement permettre de remplacer le contenu ou la valeur d'une donnée élémentaire dont l'horodatage est égal à la valeur « SYNC-PENDING » dans un premier moyen de stockage par le contenu ou la valeur de ladite donnée élémentaire enregistrée dans un deuxième moyen de stockage dont la valeur d'horodatage est distincte de « SYNC-PENDING ». Ainsi, dans le cas d'une information d'état égale à la valeur prédéterminée « DUP DUP CRASH », l'étape d) pourrait par exemple mettre à jour la liste du fichier TUPD-R pour intégrer l'identifiant de ladite donnée élémentaire. L'étape e) copierait dans ce cas la donnée hébergée sur LDS dans la structure de données RDS. En variante, une deuxième stratégie définie par une ou plusieurs règles distinctes et idoines pourrait consister à supprimer d'une structure de données élémentaires, toute donné élémentaire caractérisée impropre dans ladite structure. Dans ce cas, l'étape d) pourrait par exemple mettre à jour la liste du fichier TDEL-R pour intégrer l'identifiant de ladite donnée élémentaire. L'étape e) supprimerait la donnée élémentaire de la structure de données RDS.The invention thus provides for extending the field or set of predetermined state values that step c) can produce to account for improper item data. For example, we can add as an example: - "DUP DUP CRASH": previously synchronized elementary data whose update since the last synchronization in the RDS elementary data structure has not been completed (electrical problem , tearing off the RSM means, etc.); - "DUP CRASH DUP": previously synchronized elementary data whose update since the last synchronization in the LDS basic data structure has not been completed; - "NULL CRASH R": new elementary data whose update in the LDS basic data structure has not been completed contrary to an update carried out in RDS; etc. To account for a predetermined value field of extended state information, the invention provides that additional synchronization rules can be added to create and / or update the contents of one or more action lists. synchronization so that said one or more lists include the identifier of an elementary data element that is characterized as improper in one of the storage means. According to a first synchronization strategy, a rule may advantageously make it possible to replace the content or the value of a data item whose time stamp is equal to the value "SYNC-PENDING" in a first storage means by the content or the value of said elementary data item recorded in a second storage means whose timestamp value is distinct from "SYNC-PENDING". Thus, in the case of state information equal to the predetermined value "DUP DUP CRASH", step d) could for example update the list of the file TUPD-R to integrate the identifier of said elementary data item. . Step e) would in this case copy the data hosted on LDS into the RDS data structure. As a variant, a second strategy defined by one or more distinct and appropriate rules could consist in deleting from an elementary data structure any elementary data item characterized as unsuitable in said structure. In this case, step d) could, for example, update the list of the TDEL-R file to integrate the identifier of said data item. Step e) would remove the data item from the RDS data structure.

Selon l'invention, nous pourrions prévoir une méta-information dédiée pour être associée à une donnée élémentaire enregistrée dans une structure de donnée en lieu et place de l'utilisation de la valeur déterminée 5 d'horodatage « SYNC-PENDING ». Cette méta-information pourrait être initialisée tel un sémaphore à une valeur active pour signifier qu'une mise à jour est en cours puis affectée à une valeur inactive à l'issue de ladite mise à jour. L'étape a) serait alors modifiée en 10 conséquence pour caractériser une donnée élémentaire impropre selon la valeur dudit sémaphore.According to the invention, we could provide a dedicated meta-information to be associated with an elementary data item recorded in a data structure instead of using the determined value of timestamp "SYNC-PENDING". This meta-information could be initialized as a semaphore to an active value to signify that an update is in progress and then assigned to an inactive value at the end of said update. Step a) would then be modified accordingly to characterize an unsuitable item of data according to the value of said semaphore.

Claims (21)

REVENDICATIONS1. Procédé de synchronisation de structures de données arborescentes (LDS, RDS) enregistrées respectivement dans des premier et deuxième moyens de stockage (LSM, RSM), lesdits moyens coopérant avec une unité de traitement (TU) agencée pour mettre en oeuvre ledit procédé, ladite unité de traitement comportant des moyens de mémorisation (MU), les structures de données comportant une ou plusieurs données élémentaires (DN1,..., DNn), ledit 10 procédé étant caractérisé en ce qu'il comporte : - une étape a) pour élaborer et enregistrer dans les moyens de mémorisation (MP, MU) des première (LMAP) et deuxième (RMAP) représentations respectives des première (LDS) 15 et deuxième (RDS) structures de données ; une étape b) pour lire dans les moyens de mémorisation un statut d'une synchronisation antérieure (SMAP-1) des première (LDS) et deuxième (RDS) structures de données ; 20 une étape c) pour produire une information d'état (SLR) associée à chaque donnée élémentaire, ladite information d'état étant enregistrée dans les moyens de mémorisation ; une étape d) pour déterminer une action de 25 synchronisation portant sur chaque donnée élémentaire selon la valeur de l'information d'état associée à ladite donnée élémentaire et conformément à l'interprétation d'une ou plusieurs règles (MSi, USi, DSi) décrivant une 30 stratégie de synchronisation préétablie.REVENDICATIONS1. A method of synchronization of tree data structures (LDS, RDS) respectively recorded in first and second storage means (LSM, RSM), said means cooperating with a processing unit (TU) arranged to implement said method, said unit processor comprising memory means (MU), the data structures comprising one or more data elements (DN1, ..., DNn), said method being characterized in that it comprises: - a step a) to elaborate and storing in the storage means (MP, MU) first (LMAP) and second (RMAP) respective representations of the first (LDS) and second (RDS) data structures; a step b) for reading in the storage means a status of an earlier synchronization (SMAP-1) of the first (LDS) and second (RDS) data structures; A step c) for producing status information (SLR) associated with each item of data, said status information being stored in the storage means; a step d) for determining a synchronization action on each elementary item according to the value of the state information associated with said item and in accordance with the interpretation of one or more rules (MSi, USi, DSi) describing a pre-established synchronization strategy. 2. Procédé selon la revendication précédente, comportant une étape e) pour déclencher une action de synchronisation.2. Method according to the preceding claim, comprising a step e) for triggering a synchronization action. 3. Procédé selon la revendication précédente, pour lequel il comporte une étape f) pour enregistrer un statut de synchronisation (SMAP-1) dans les moyens de mémorisation à l'issue d'une action de synchronisation portant sur une donnée élémentaire.3. Method according to the preceding claim, for which it comprises a step f) for recording a synchronization status (SMAP-1) in the storage means at the end of a synchronization action on a data item. 4. Procédé selon l'une quelconque des revendications précédentes, pour lequel l'action de synchronisation consiste en une suppression (DEL- L, DEL-R), une mise à jour (UPD-L, UPD-R) ou une copie (ADD-L, ADD-R) de la donnée élémentaire dans l'un des premier ou deuxième moyens de stockage.A method according to any one of the preceding claims, wherein the synchronization action consists of a deletion (DEL-L, DEL-R), an update (UPD-L, UPD-R) or a copy ( ADD-L, ADD-R) of the data item in one of the first or second storage means. 5. Procédé selon l'une quelconque des revendications précédentes, pour lequel chaque donnée élémentaire enregistrée dans les moyens de stockage comporte un identifiant dédié et un horodatage de la création ou de la dernière mise à jour de ladite donnée.5. Method according to any one of the preceding claims, wherein each elementary data item stored in the storage means comprises a dedicated identifier and a time stamp of the creation or the last update of said data item. 6. Procédé selon la revendication précédente, pour lequel l'étape d) consiste à enregistrer dans les moyens de mémorisation une liste (TADD-L, TUPD-L, TDEL-L, TADD-R, TUPD-R, TDEL-R) d'un ou de plusieurs identifiants de données élémentaires concernées par action de synchronisation (ADD-L, UPD-L, DEL-L, ADD-R, UPD-R, DEL-R).6. Method according to the preceding claim, wherein step d) consists in recording in the storage means a list (TADD-L, TUPD-L, TDEL-L, TADD-R, TUPD-R, TDEL-R). one or more elementary data identifiers concerned by synchronization action (ADD-L, UPD-L, DEL-L, ADD-R, UPD-R, DEL-R). 7. Procédé selon les revendications 2, 5 et 6, pour lequel l'étape e) consiste à parcourir la liste (TADD-L, TUPD-L, TDEL-L, TADD-R, TUPD-R, TDEL-R) associée à l'action de synchronisation et mettre en oeuvre ladite action de synchronisation sur la ou les données élémentaires dont l'identifiant est contenu dans ladite liste.7. Method according to claims 2, 5 and 6, for which step e) consists of going through the list (TADD-L, TUPD-L, TDEL-L, TADD-R, TUPD-R, TDEL-R) associated the synchronization action and implement said synchronization action on the elementary data or data whose identifier is contained in said list. 8. Procédé selon la revendication 5, pour lequel l'étape pour élaborer la représentation d'une structure de données enregistrée dans l'un des desdits premiers ou deuxième moyens de stockage comporte une étape pour parcourir l'arborescence de ladite structure de données dans chaque moyen de stockage et pour créer un enregistrement associé à chaque donnée élémentaire existante dans ledit moyen de stockage, ledit enregistrement comportant : l'identifiant de ladite donnée élémentaire ; l'horodatage de ladite donnée.The method of claim 5, wherein the step of constructing the representation of a stored data structure in one of said first or second storage means includes a step for traversing the tree of said data structure in each storage means and for creating a record associated with each elementary item existing in said storage means, said record comprising: the identifier of said item of data; the timestamp of said data. 9. Procédé selon les revendications 3 et 5, pour lequel le statut de synchronisation d'une donnée élémentaire comporte un enregistrement comportant : l'identifiant de ladite donnée élémentaire ; l'horodatage de l'action de synchronisation portant sur ladite donnée élémentaire.9. The method of claims 3 and 5, wherein the synchronization status of a data item comprises a record comprising: the identifier of said data item; the timestamp of the synchronization action on said elementary data item. 10. Procédé selon les revendications 2 et 5, pour lequel l'étape e) initialise l'horodatage de la donnée élémentaire à une valeur « SYNC-PENDING » prédéterminée et discriminable par l'unité detraitement au regard de tout autre valeur d'horodatage préalablement à l'exécution de l'action de synchronisation proprement dite.10. The method of claims 2 and 5, wherein step e) initializes the time stamp of the data item to a predetermined value "SYNC-PENDING" and discriminable by the processing unit against any other time stamp value before executing the actual synchronization action. 11. Procédé selon l'une quelconque dès revendications précédentes, pour lequel il comporte une étape préalable consistant à enregistrer dans les moyens de mémorisation la ou les règles décrivant une stratégie de synchronisation préétablie, ladite ou lesdites règles étant interprétées par l'unité de traitement lors de la mise en oeuvre de l'étape d).11. Method according to any one of the preceding claims, for which it comprises a prior step of recording in the storage means the rule or rules describing a predetermined synchronization strategy, said rule or rules being interpreted by the processing unit. during the implementation of step d). 12. Procédé selon l'une quelconque des revendications précédentes, pour lequel la stratégie de synchronisation définie par la ou les règles consiste à propager toute modification de la première structure de données enregistrée par le premier moyen de stockage sur la deuxième structure de données enregistrée par le deuxième moyen de stockage.A method according to any one of the preceding claims, wherein the synchronization strategy defined by the one or more rules includes propagating any modification of the first stored data structure by the first storage means to the second stored data structure by the second storage medium. 13. Procédé selon l'une quelconque des -revendications 1 à 11, pour lequel la stratégie de synchronisation définie par la ou les règles consiste à propager toute modification de la deuxième structure de données enregistrée par le deuxième moyen de stockage sur la première structure de données enregistrée par le premier moyen de stockage.A method according to any one of claims 1 to 11, wherein the synchronization strategy defined by the one or more rules is to propagate any modification of the second stored data structure by the second storage means to the first storage structure. data recorded by the first storage means. 14. Procédé selon l'une quelconque des revendications 1 à 11, pour lequel la stratégie de synchronisation définie par la ou les règlesconsiste à mutuellement propager toute modification de la première structure de données enregistrée par le premier moyen de stockage sur la deuxième structure de données enregistrée par le deuxième moyen de stockage sur la première structure de données enregistrée par le premier moyen de stockage et réciproquement.The method of any one of claims 1 to 11, wherein the synchronization strategy defined by the one or more rulesmust mutually propagate any modification of the first data structure recorded by the first storage means to the second data structure. recorded by the second storage means on the first data structure recorded by the first storage means and vice versa. 15. Procédé selon les revendications 14 et 9, pour 10 lequel il comporte une étape pour enregistrer dans les moyens de mémorisation une liste ou de plusieurs identifiants élémentaires concernées par un synchronisation i.e. dont les (TCNFLT) d'un des données conflit de horodatages élémentaires 15 respectifs associés auxdites données dans les première (LMAP) et deuxième (RMAP) représentations respectives des première (LDS) et deuxième (RDS) structures de données et dans le statut de synchronisation (SMAP-1) sont tous 20 différents lors de la mise en oeuvre de l'étape d).15. Method according to claims 14 and 9, for which it comprises a step for storing in the storage means a list or of several elementary identifiers concerned by a synchronization ie whose (TCNFLT) is one of the data elementary time conflict data. 15 respective associated with said data in the first (LMAP) and second (RMAP) respective representations of the first (LDS) and second (RDS) data structures and in the synchronization status (SMAP-1) are all different when setting of step d). 16. Procédé selon l'une quelconque des revendications 12 à 15 lorsqu'elles dépendent respectivement de la revendication 10, pour lequel la stratégie de 25 synchronisation définie par la OU les règles consiste à propager le contenu ou la valeur d'une donnée élémentaire dont l'horodatage est égal à la valeur « SYNC-PENDING » dans un premier moyen de stockage par le contenu ou la valeur de ladite 30 donnée élémentaire enregistrée dans un deuxième moyen de stockage dont la valeur d'horodatage est distincte de « SYNC-PENDING ».16. A method according to any one of claims 12 to 15 when dependent respectively on claim 10, wherein the synchronization strategy defined by the OR rules is to propagate the content or value of a data item whose the time stamp is equal to the value "SYNC-PENDING" in a first storage means by the content or the value of said elementary data item stored in a second storage means whose timestamp value is distinct from "SYNC-PENDING" ". 17. Procédé selon la revendication 3, pour lequel les étapes a) à f) sont itérées par l'unité de traitement à des périodes successives.17. The method of claim 3, wherein steps a) to f) are iterated by the processing unit at successive periods. 18. Programme d'ordinateur (P) comportant des instructions exploitables par une unité de traitement (TU) d'un système comportant des premier et deuxième moyens de stockage (LSM, RSM) pour enregistrer respectivement des première et deuxième structures de données arborescentes (LDS, RDS), une unité de traitement (TU) comportant des moyens de mémorisation (MU, MP) et coopérant avec lesdits moyens de stockage, qui lorsqu'elles sont exécutées ou interprétées par ladite unité de traitement déclenchent la mise en oeuvre d'un procédé de synchronisation conforme à l'une quelconque des revendications 1 ou 17.Computer program (P) comprising instructions usable by a processing unit (TU) of a system comprising first and second storage means (LSM, RSM) for respectively recording first and second tree data structures ( LDS, RDS), a processing unit (TU) comprising storage means (MU, MP) and cooperating with said storage means, which when executed or interpreted by said processing unit trigger the implementation of a synchronization method according to any one of claims 1 or 17. 19. Système comportant des premier et deuxième moyens de stockage (LSM, RSM) pour enregistrer respectivement des première et deuxième structures de données arborescentes (LDS, RDS), une unité de traitement (TU) comportant des moyens de mémorisation (MU, MP) et coopérant avec lesdits moyens de stockage, ledit système étant caractérisé en ce que l'unité de traitement (TU) est agencée pour exécuter ou interpréter des instructions d'un programme d'ordinateur (P) selon la revendication 18, ledit programme étant préalablement enregistré dans les moyens de mémorisation (MP) coopérant avec l'unité de traitement du système.19. System comprising first and second storage means (LSM, RSM) for respectively recording first and second tree data structures (LDS, RDS), a processing unit (TU) comprising storage means (MU, MP) and cooperating with said storage means, said system being characterized in that the processing unit (TU) is arranged to execute or interpret instructions of a computer program (P) according to claim 18, said program being previously stored in the storage means (MP) cooperating with the processing unit of the system. 20. Système selon la revendication précédente, pour lequel les moyens de mémorisation et le premier moyen de stockage consistent en une même entité physique.20. System according to the preceding claim, wherein the storage means and the first storage means consist of the same physical entity. 21. Système selon les revendications 19 ou 20, pour lequel l'unité de traitement coopère avec l'un des moyens de stockage selon une liaison filaire ou distante.21. System according to claims 19 or 20, wherein the processing unit cooperates with one of the storage means in a wired or remote link.
FR1352355A 2013-03-15 2013-03-15 METHOD FOR SYNCHRONIZING ARBORESCENT DATA STRUCTURES, SYSTEM AND COMPUTER PROGRAM THEREFOR Active FR3003370B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1352355A FR3003370B1 (en) 2013-03-15 2013-03-15 METHOD FOR SYNCHRONIZING ARBORESCENT DATA STRUCTURES, SYSTEM AND COMPUTER PROGRAM THEREFOR
PCT/FR2014/050606 WO2014140506A1 (en) 2013-03-15 2014-03-14 Method for synchronizing tree data structures, and associated system and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1352355A FR3003370B1 (en) 2013-03-15 2013-03-15 METHOD FOR SYNCHRONIZING ARBORESCENT DATA STRUCTURES, SYSTEM AND COMPUTER PROGRAM THEREFOR

Publications (2)

Publication Number Publication Date
FR3003370A1 true FR3003370A1 (en) 2014-09-19
FR3003370B1 FR3003370B1 (en) 2016-01-15

Family

ID=48979866

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1352355A Active FR3003370B1 (en) 2013-03-15 2013-03-15 METHOD FOR SYNCHRONIZING ARBORESCENT DATA STRUCTURES, SYSTEM AND COMPUTER PROGRAM THEREFOR

Country Status (2)

Country Link
FR (1) FR3003370B1 (en)
WO (1) WO2014140506A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070283050A1 (en) * 2006-06-05 2007-12-06 Seagate Technology, Llc Scheduling reporting of synchronization states
US20080168183A1 (en) * 2007-01-08 2008-07-10 Apple Computer, Inc. N-way synchronization of data
US8332357B1 (en) * 2011-06-10 2012-12-11 Microsoft Corporation Identification of moved or renamed files in file synchronization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070283050A1 (en) * 2006-06-05 2007-12-06 Seagate Technology, Llc Scheduling reporting of synchronization states
US20080168183A1 (en) * 2007-01-08 2008-07-10 Apple Computer, Inc. N-way synchronization of data
US8332357B1 (en) * 2011-06-10 2012-12-11 Microsoft Corporation Identification of moved or renamed files in file synchronization

Also Published As

Publication number Publication date
WO2014140506A1 (en) 2014-09-18
FR3003370B1 (en) 2016-01-15

Similar Documents

Publication Publication Date Title
US7930346B2 (en) Security in peer to peer synchronization applications
TWI476610B (en) Peer-to-peer redundant file server system and methods
EP1452978A2 (en) Method and system for synchronizing data shared among peer computer devices
US20090030952A1 (en) Global asset management
JP5868986B2 (en) Recovery by item
WO2019197918A1 (en) Fault-tolerant federated distributed database
US20090196311A1 (en) Initiation and expiration of objects in a knowledge based framework for a multi-master synchronization environment
EP4026016A1 (en) Migration of a data blockchain
EP2300944A1 (en) Method and system for synchronizing software modules of a computer system distributed as a cluster of servers, application to data storage
FR3003370A1 (en) METHOD FOR SYNCHRONIZING ARBORESCENT DATA STRUCTURES, SYSTEM AND COMPUTER PROGRAM THEREFOR
FR2762112A1 (en) METHOD FOR SYNCHRONIZING TWO DISTRIBUTED MASS MEMORIES
EP2413233B1 (en) Android phone with an application for content display
EP3080706B1 (en) Method of backup of data stored in a terminal
FR2835629A1 (en) METHOD AND SYSTEM FOR MANAGING A PERSONAL EVENT LOG FOR AN OPERATING ACTIVITY EXECUTED ON A HARDWARE PERIMETER AND MEMORY IMPLEMENTED IN THIS SYSTEM
WO2015087019A1 (en) Method of synchronization of data between a set of terminals
EP1764692A2 (en) Method for backing up and restoring data from a terminal
EP4343568A1 (en) An entity for implementing a service in a network, an application device, and a method for performing an operation of a service
EP2746977B1 (en) Method for generating a version of a model for supervising an information system
WO2023236746A1 (en) Data file cache processing method and apparatus, and storage medium and electronic apparatus
FR2938356A1 (en) METHOD AND SYSTEM FOR SYNCHRONIZING A SET OF SOFTWARE MODULES OF A COMPUTER SYSTEM DISTRIBUTED TO A CLUSTER OF SERVERS
Courtès Cooperative Data Backup for Mobile Devices
FR3100350A1 (en) migration of a data blockchain
Meye Dependability in cloud storage
Tsipenyuk et al. My Home is My Post-Office: Evaluation of a decentralized email architecture on Internet-of-Things low-end device
FR2938355A1 (en) METHOD AND SYSTEM FOR VIRTUALIZED STORAGE OF A DIGITAL DATA SET

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 3

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: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12