WO2003040956A1 - Method for synchronizing files between computers - Google Patents

Method for synchronizing files between computers Download PDF

Info

Publication number
WO2003040956A1
WO2003040956A1 PCT/FR2002/003773 FR0203773W WO03040956A1 WO 2003040956 A1 WO2003040956 A1 WO 2003040956A1 FR 0203773 W FR0203773 W FR 0203773W WO 03040956 A1 WO03040956 A1 WO 03040956A1
Authority
WO
WIPO (PCT)
Prior art keywords
files
tables
directories
state
information
Prior art date
Application number
PCT/FR2002/003773
Other languages
French (fr)
Inventor
Alain Nicolas Piaton
Original Assignee
Alain Nicolas Piaton
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 Alain Nicolas Piaton filed Critical Alain Nicolas Piaton
Publication of WO2003040956A1 publication Critical patent/WO2003040956A1/en

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

Definitions

  • the invention relates to a method of synchronizing computer files, stored on computer media and organized in the form of directory trees containing said files, comprising the following steps: - storage at time t1 of a first state of at least part of a computer medium, comprising on the one hand at least a first table whose rows relate to the directories and whose columns contain information supplied by the operating system of the computer on these directories, and on the other hand at least one second table whose rows relate to the files and whose columns contain information provided by the operating system of the computer on these files or by the content of the files themselves,
  • - storage at time t2 of a second state of at least part of an IT medium comprising on the one hand at least a first table whose rows relate to the directories and whose columns contain information provided by the operating system of the computer on these directories, and on the other hand at least a second table whose rows relate to the files and whose columns contain information supplied by the operating system of the computer on these files or by the contents of the files themselves,
  • the third table associates each of said types of files in the directory with information, obtained by operations of logical type, of arithmetic type and of operation type on character strings, executed on the information given by the operating system of the computer or read from the file itself, on each of the files of the type considered contained in said directory of the trees of the computer media, which information is then stored in the columns of said third table.
  • FIG. 1 is a description of the various hardware and software components used in the context of the invention.
  • FIG. 2 is a description of the different phases of the process. DESCRIPTION OF THE IMPLEMENTATION OF THE PROCESS ACCORDING TO THE INVENTION
  • the user data of each machine M1 and M2 are stored respectively on a part V1D1 (or all) of the volume V1 (for example a hard disk, a CD-ROM, a flash memory ... also called hereinafter, computer support ) and on part V2D2 (or all) of volume V2.
  • a part V1D1 or all of the volume V1 (for example a hard disk, a CD-ROM, a flash memory ... also called hereinafter, computer support )
  • part V2D2 or all) of volume V2.
  • the information is structured in the form of a tree of information blocks commonly called files.
  • the tree branch V1D1 which starts on the directory V1 D1 itself comprises sub-directories V1D1-1, V1D1-2, themselves comprising sub-directories V1D1-11, V1D1-13 (for the V1 D1-1 subdirectory), V1D1-21, V1D1-22 subdirectories (for the V1D1-2 subdirectory), etc.
  • V1D1- ⁇ the name of the directory V1D1- ⁇ is " ⁇ ".
  • Each directory for example the V1D1-11 directory, contains files F1, F2, F3, F4, etc.
  • file F1, L1 will represent the length
  • D1 the date (and time) of last update expressed preferably in UTC time (universal time convention, also called GMT).
  • Synchronization between the WI1 and M2 machines can be carried out entirely by one of the two machines, or even more complicated, by means of a cooperative mode between the two machines.
  • FIG. 2 describes the different phases of the process.
  • a first phase P1 we start by building a set of two tables Td1 (hereinafter called the directory table) and Tfi (hereinafter called the file table) which contain an image, or state, at the moment t1 of the V1D1 branch, or else the image of the V1 disk, but ignoring the branches that do not contain V1 D1, such as the System branch, ...)
  • Td1 hereinafter called the directory table
  • Tfi hereinafter called the file table
  • the table of directories Td1 contains for each directory of the branch V1D1 a station called thereafter station-directory, containing: the information necessary to evolve in the tree structure, for example a system of pointers built on the same principle as the "FAT »Of DOS, namely a pointer to the father directory directory, a pointer to the 1st child directory directory, a pointer to the next directory with the same father, a pointer to the 1st file station belonging to said directory station.
  • a system of pointers built on the same principle as the "FAT »Of DOS namely a pointer to the father directory directory, a pointer to the 1st child directory directory, a pointer to the next directory with the same father, a pointer to the 1st file station belonging to said directory station.
  • This information is easily obtained by simple commands (findfirst, findnext) from the file management system.
  • a tree for example a system with several subtables, with one subtable per level, the level being the concept defined above;
  • the table of files Tf1 contains for each file of the branch V1 D1 a station, hereinafter called post-file, containing: the information necessary to evolve in the tree structure, for example a set of pointers, namely a pointer to the workstation to which the file belongs, a pointer to the next workstation in the same directory. as well as information relating to each file, namely the name of the file, the dates of creation, update, and last reading, size, extension, attributes, etc.
  • table Td1 is composed of rows at the rate of one row per post-directory, and of columns, each column comprising the information relating to each row also called post -répertoire.
  • table Ff1 which is composed of lines, each line corresponding to a file item, and of columns containing the information relating to said lines.
  • the comparison P3 essentially consists in scanning in parallel the two tables Td1 and Td2 in order to detect the directories common to the two trees, as well as the directories which belong only to the tree V1D1 or those which belong only to the V2D2 tree structure, and when a V1D1-i directory is encountered in V1 D1 and V2D2-i in V2D2, common to the two trees, to explore in parallel the list of Fj files belonging to each of the two directories V1D1-i and V2D2- i, in order to detect those which only belong to the V1 D1 tree or to the V2D2 tree, and to construct 6 new trees, namely:
  • 1 - a tree structure which includes only the files present only in the tree V1DÎ of the machine M1, and which will be represented by a double-table composed of the two tables TRd-1 and TRf-1 built on the same model as the tables Td1 (table of directories) and Tf1 (table of files) described above.
  • 2 - a tree structure which includes only the files present only in the tree V2D2 of the machine M2, and which will be represented by a double table composed of the two tables TRd-2 and TRf-2,
  • creation of a tree structure which is a union, on the one hand from a selection of information relating respectively to the directories and files cataloged respectively in the first and second tables of the first state, and on the other hand a selection of information relating respectively to the directories and files cataloged respectively in the first and second tables of the second state, said selection being made, file by file, and for each of the files compared from the elements associated with each of said files in the first and second states,
  • the directory stations and file stations of these 6 new double tables are not strictly identical to those of the two starting double tables Td1 (and Tf1) and Td2 (and Tf2); indeed, the system of pointers to evolve in the tree structure, (or an equivalent system) maybe identical, on the other hand the data of each of these new stations must include simultaneously: a set of data which corresponds to the data coming from V1D1 (and therefore from Td1 and Tfl), a set of data which corresponds to the data coming from V2D2 (and therefore from Td2 and Tf2). It may be interesting to add to it a so-called occurrence variable which specifies whether a position includes information coming from both the two starting trees, or only from one and only one.
  • V1D1-13 subdirectory on M1 and V2D2-13 on M2 with the name "13";
  • F2 file present simultaneously on M1 and M2, but with an update date T2 (or T2 ') or a different length L2 (or L2'):
  • TRt -... hereinafter called the table of types (of files), and composed of stations called thereafter standard-posts, the type being a concept making it possible to group files by nature; this may be the extension of a file such as "doc", “xls", “html”, etc., a range of last access dates, for example files accessed before or after January 1, a notion of right of access or security, which can be provided by the file management system.
  • file header In some type of file organization, it is necessary to read the beginning of the file (commonly called "file header") to recover certain notions such as software version, program executable only with a 32-bit machine, etc. .
  • This third table is also composed of rows, each row corresponding to a standard item, and of columns, each column comprising the information relating to this standard item described below.
  • the list of directories which only contain files present in the first microcomputer is scrolled on the screen, one line per directory, each line comprising the full path of the directory, as well as the number of file of type "text" and type "spreadsheet” as in the example below.

Abstract

The invention concerns a method for synchronizing computer files in the form of directory tree structures, comprising the following steps: storing at time t1 a first state of a tree structure, comprising a first table whereof the lines concern the directories and the columns contain data concerning said directories, and a second table whereof the lines concern the files and the columns contain data concerning said files; storing at time t2 a second state of another tree structure; comparing the first and second states which consists in storing a selection of data respectively derived from the first and second states, said selection being performed on a file-by-file basis, and for each of the files compared on the basis of elements associated with each of said files in the first and second states, an assembling step which consists in generating from said storage created during the comparison phase, a third table comprising lines concerning the types of files, which types organize the files contained in said directories.

Description

METHODE DE SYNCHRONISATION DE FICHIERS ENTRE ORDINATEURS METHOD FOR SYNCHRONIZING FILES BETWEEN COMPUTERS
DOMAINE DE L'INVENTIONFIELD OF THE INVENTION
Avec le développement des modes de télétransmission, (Internet, réseaux téléphoniques, filaires ou non, infra-rouge, etc), et la multiplication des micro-ordinateurs et téléphones de toute nature (PC, Mac (marque déposée), Palm (marque déposée), organiseurs, téléphones portables WAP ou UMTS, ...) l'interconnexion entre ces machines pose des problèmes de synchronisation de plus en plus fréquents et de plus en plus complexes. Pour certains appareils, un mode entièrement automatique peut convenir, par contre dans certains autres, il peut être utile de voir la liste des informations qui vont être copiés d'une machine vers l'autre, afin d'éviter les fausses manoeuvres, comme par exemple, écraser des données récentes par des données plus anciennes.With the development of remote transmission modes (Internet, telephone networks, wired or not, infrared, etc.), and the proliferation of microcomputers and telephones of all kinds (PC, Mac (registered trademark), Palm (registered trademark) ), organizers, WAP or UMTS mobile phones, ...) the interconnection between these machines poses synchronization problems that are more and more frequent and more and more complex. For some devices, a fully automatic mode may be suitable, on the other hand in some others, it may be useful to see the list of information that will be copied from one machine to another, in order to avoid false operations, such as for example, overwriting recent data with older data.
Malheureusement, souvent ces appareils ne comportent qu'un écran de petite taille, et sans une présentation synthétique et claire de cette information, il est difficile, voire impossible d'effectuer ce contrôle.Unfortunately, these devices often only have a small screen, and without a synthetic and clear presentation of this information, it is difficult, if not impossible, to carry out this control.
PRESENTATION DE L'INVENTIONPRESENTATION OF THE INVENTION
Pour remédier à cet inconvénient, il peut être intéressant d'effectuer la comparaison des fichiers entre les deux ordinateurs puis regrouper les informations clés résultant de cette comparaison, de sorte que le nombre d'informations à afficher soit réduit à quelques lignes récapitulatives par type de fichiers, et que grâce à une commande simple on puisse avoir le détail de toutes les informations clés pour chacune des lignes récapitulatives.To overcome this drawback, it may be interesting to compare files between the two computers and then group the key information resulting from this comparison, so that the number of information to be displayed is reduced to a few summary lines by type of files, and that thanks to a simple command we can have the detail of all the key information for each of the summary lines.
A cet effet, l'invention concerne une méthode de synchronisation de fichiers informatiques, stockés sur des supports informatiques et organisés sous la forme d'arborescences de répertoires contenant lesdits fichiers, comportant les étapes suivantes: - mémorisation à l'instant t1 d'un premier état d'au moins une partie d'un support informatique, comportant d'une part au moins une première table dont les lignes sont relatives aux répertoires et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces répertoires, et d'autre part au moins une deuxième table dont les lignes sont relatives aux fichiers et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces fichiers ou par le contenu des fichiers eux-mêmes,To this end, the invention relates to a method of synchronizing computer files, stored on computer media and organized in the form of directory trees containing said files, comprising the following steps: - storage at time t1 of a first state of at least part of a computer medium, comprising on the one hand at least a first table whose rows relate to the directories and whose columns contain information supplied by the operating system of the computer on these directories, and on the other hand at least one second table whose rows relate to the files and whose columns contain information provided by the operating system of the computer on these files or by the content of the files themselves,
- mémorisation à l'instant t2 d'un second état d'au moins une partie d'un support informatique, comportant d'une part au moins une première table dont les lignes sont relatives aux répertoires et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces répertoires, et d'autre part au moins une seconde table dont les lignes sont relatives aux fichiers et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces fichiers ou par le contenu des fichiers eux-mêmes,- storage at time t2 of a second state of at least part of an IT medium, comprising on the one hand at least a first table whose rows relate to the directories and whose columns contain information provided by the operating system of the computer on these directories, and on the other hand at least a second table whose rows relate to the files and whose columns contain information supplied by the operating system of the computer on these files or by the contents of the files themselves,
- comparaison d'une partie pouvant constituer la totalité du premier état et d'une partie pouvant constituer la totalité du second état, consistant en une mémorisation au moins temporaire de l'union, d'une part d'une sélection des informations concernant respectivement les répertoires et fichiers catalogués respectivement dans les première et seconde tables de la partie comparée du premier état, et d'autre part d'une sélection des , informations concernant respectivement les répertoires et fichiers catalogués respectivement dans les première et seconde tables de la partie comparée du second état, ladite sélection s'effectuant, fichier par fichier, et pour chacun des fichiers comparés à partir des éléments associés à chacun desdits fichiers dans les premier et second états,- comparison of a part which can constitute the totality of the first state and of a part which can constitute the totality of the second state, consisting in an at least temporary memorization of the union, on the one hand of a selection of the information concerning respectively the directories and files cataloged respectively in the first and second tables of the compared part of the first state, and on the other hand of a selection of, information relating respectively to the directories and files cataloged respectively in the first and second tables of the compared part of the second state, said selection being made, file by file, and for each of the files compared from the elements associated with each of said files in the first and second states,
- regroupement consistant à générer une troisième table comportant des lignes relatives aux types de fichiers dans un répertoire dans une arborescence, lesquels types ordonnent les fichiers contenus dans ledit répertoire. Avantageusement la troisième table associe chacun desdits types de fichiers du répertoire à des informations, obtenues par des opérations de type logique, de type arithmétique et de type opération sur des chaînes de caractères, exécutées sur les informations données par le système d'exploitation de l'ordinateur ou lues dans le fichier lui-même, sur chacun des fichiers du type considéré contenus dans ledit répertoire des arborescences des supports informatiques, lesquelles informations sont ensuite stockées dans les colonnes de ladite troisième table.- grouping consisting in generating a third table comprising lines relating to the types of files in a directory in a tree structure, which types order the files contained in said directory. Advantageously, the third table associates each of said types of files in the directory with information, obtained by operations of logical type, of arithmetic type and of operation type on character strings, executed on the information given by the operating system of the computer or read from the file itself, on each of the files of the type considered contained in said directory of the trees of the computer media, which information is then stored in the columns of said third table.
DESCRIPTION DES SCHEMA EXPLICATIFSDESCRIPTION OF THE EXPLANATORY DIAGRAMS
La figure 1 est une description des différents composants matériel et logiciel mis en oeuvre dans le cadre de l'invention.FIG. 1 is a description of the various hardware and software components used in the context of the invention.
La figure 2 est une description des différentes phases du procédé. DESCRIPTION DE LA MISE EN OEUVRE DU PROCEDE SELON L'INVENTIONFigure 2 is a description of the different phases of the process. DESCRIPTION OF THE IMPLEMENTATION OF THE PROCESS ACCORDING TO THE INVENTION
Dans ce qui suit, on décrit la mise en oeuvre du procédé pour la synchronisation entre deux machines M1 (voir figure 1) et M2 du type organiseur avec un système d'exploitation du type Windows CE (marque déposée), et reliées entre elles par une liaison LAN de type réseau local (workgroup par exemple).In what follows, the implementation of the method for synchronization between two machines M1 (see FIG. 1) and M2 of the organizer type is described with an operating system of the Windows CE (registered trademark) type, and linked together by a LAN link of the local network type (workgroup for example).
Les données utilisateur de chaque machine M1 et M2 sont stockées respectivement sur une partie V1D1 (ou la totalité) du volume V1 (par exemple un disque dur, un CD-ROM, une mémoire flash... appelé aussi par la suite, support informatique) et sur une partie V2D2 (ou la totalité) du volume V2.The user data of each machine M1 and M2 are stored respectively on a part V1D1 (or all) of the volume V1 (for example a hard disk, a CD-ROM, a flash memory ... also called hereinafter, computer support ) and on part V2D2 (or all) of volume V2.
Sauf dans le cas ou l'on utilise une base de données, en général, les informations sont structurées sous forme d'arborescence de blocs d'information appelés communément fichiers.Except in the case where a database is used, in general, the information is structured in the form of a tree of information blocks commonly called files.
Dans la machine 1, la branche d'arborescence V1D1 qui démarre sur le répertoire V1 D1 comporte elle-même des sous-répertoires V1D1-1, V1D1-2, eux-mêmes comportant des sous-répertoires V1D1-11, V1D1-13 (pour le sous-répertoire V1 D1-1), des sous-répertoires V1D1-21, V1D1-22 (pour le sous-répertoire V1D1-2), etc.. Il en est de même avec la branche d'arborescence V2D2 de la machine WI2. Dans un but de simplification, on supposera que, dans le système de gestion de fichiers (de Windows (marque déposée)) le nom du répertoire V1D1-ϋ est « ϋ ».In machine 1, the tree branch V1D1 which starts on the directory V1 D1 itself comprises sub-directories V1D1-1, V1D1-2, themselves comprising sub-directories V1D1-11, V1D1-13 ( for the V1 D1-1 subdirectory), V1D1-21, V1D1-22 subdirectories (for the V1D1-2 subdirectory), etc. The same applies to the V2D2 tree branch of the WI2 machine. For the sake of simplification, it will be assumed that, in the file management system (of Windows (registered trademark)) the name of the directory V1D1-ϋ is "ϋ".
De la même manière on supposera que les répertoires, sous-répertoires... sont triés par ordre alphabétique, ce qui par la suite facilitera les comparaisons entre branches, mais moyennant un algorithme un peu plus compliqué on pourrait utiliser le procédé avec des répertoires non triés par ordre alphabétique ; même remarque en ce qui concerne le respect (mode UNIX) ou non respect (mode DOS) de la casse.In the same way we will assume that the directories, sub-directories ... are sorted in alphabetical order, which will subsequently facilitate comparisons between branches, but with a slightly more complicated algorithm we could use the process with directories not sorted alphabetically; same remark as regards the respect (UNIX mode) or non respect (DOS mode) of the case.
Chaque répertoire, par exemple le répertoire V1D1-11 , comporte des fichiers F1, F2, F3, F4, etc. En ce qui concerne le fichier F1 , L1 représentera la longueur, et D1 la date (et heure) de dernière mise à jour exprimée de préférence en temps UTC (universal time convention, appelé aussi GMT).Each directory, for example the V1D1-11 directory, contains files F1, F2, F3, F4, etc. Regarding the file F1, L1 will represent the length, and D1 the date (and time) of last update expressed preferably in UTC time (universal time convention, also called GMT).
Ces fichiers peuvent être triés par ordre alphabétique, ce qui par la suite facilitera les comparaisons de liste de fichiers entre répertoires, mais moyennant un algorithme un peu plus compliqué on pourrait utiliser le procédé avec des fichiers non triés par ordre alphabétique. On suppose que la machine M1 peut accéder directement aux différents éléments décrivant l'arborescence V2D2 de la machine M2, comme s'il s'agissait de l'arborescence V1 D1 de la même machine M1, grâce aux fonctionnalités offertes par le gestionnaire de réseau local. Dans le cas où l'on ne dispose pas de cette facilité, il suffit qu'un protocole entre les deux machines M1 et M2 permette de récupérer un ensemble de (ou une seule) table contenant l'image de l'arbre V2D2.These files can be sorted alphabetically, which will make it easier to compare file lists between directories, but with a slightly more complicated algorithm, the process could be used with files not sorted alphabetically. It is assumed that the machine M1 can directly access the various elements describing the tree V2D2 of the machine M2, as if it were the tree V1 D1 of the same machine M1, thanks to the functionalities offered by the network manager local. In the case where this facility is not available, it suffices that a protocol between the two machines M1 and M2 makes it possible to recover a set of (or only one) table containing the image of the tree V2D2.
La synchronisation entre les machines WI1 et M2 peut être effectuée entièrement par une des deux machines, ou bien ce qui est plus compliqué, au moyen d'un mode coopératif entre les deux machines.Synchronization between the WI1 and M2 machines can be carried out entirely by one of the two machines, or even more complicated, by means of a cooperative mode between the two machines.
La figure 2 décrit les différentes phases du procédé.Figure 2 describes the different phases of the process.
Dans une première phase P1, on commence par construire un ensemble de deux tables Td1 (appelée par la suite, table des répertoires) et Tfi (appelée par la suite, table des fichiers) qui contiennent une image, ou état, à l'instant t1 de la branche V1D1 , ou bien l'image du disque V1, mais en ignorant les branches qui ne contiennent pas V1 D1 , tel que la branche System, ...)In a first phase P1, we start by building a set of two tables Td1 (hereinafter called the directory table) and Tfi (hereinafter called the file table) which contain an image, or state, at the moment t1 of the V1D1 branch, or else the image of the V1 disk, but ignoring the branches that do not contain V1 D1, such as the System branch, ...)
Par la suite le mot double-table désignera l'ensemble des deux tables des répertoires et des fichiers représentant une arborescence. La table des répertoires Td1 contient pour chaque répertoire de la branche V1D1 un poste appelé par la suite poste-répertoire, contenant : les informations nécessaires pour évoluer dans l'arborescence, par exemple un système de pointeurs construit sur le même principe que la « FAT » du DOS, à savoir un pointeur vers le poste-répertoire père, un pointeur vers le 1er poste-répertoire enfant, un pointeur vers le prochain répertoire ayant le même père, un pointeur vers le 1er poste-fichier appartenant audit poste-répertoire.Thereafter the word double-table will designate the set of two tables of directories and files representing a tree structure. The table of directories Td1 contains for each directory of the branch V1D1 a station called thereafter station-directory, containing: the information necessary to evolve in the tree structure, for example a system of pointers built on the same principle as the "FAT »Of DOS, namely a pointer to the father directory directory, a pointer to the 1st child directory directory, a pointer to the next directory with the same father, a pointer to the 1st file station belonging to said directory station.
- ainsi que des informations relatives à chaque répertoire, à savoir le nom du répertoire, la date de création, le nombre de fichiers dans le répertoire, le nombre de sous-répertoires, et le niveau Li, auquel appartient ce répertoire par rapport à la racine du disque: niveau 0 pour la racine, niveau L1 (égal à 1) pour V1D1 , niveau L2 (égal à 2) pour V1D1-1... etc- as well as information relating to each directory, namely the name of the directory, the creation date, the number of files in the directory, the number of sub-directories, and the Li level, to which this directory belongs in relation to the disc root: level 0 for the root, level L1 (equal to 1) for V1D1, level L2 (equal to 2) for V1D1-1 ... etc
Ces informations sont obtenues facilement par de simples commandes (findfirst, findnext) du système de gestion de fichiers. Il existe bien d'autres façons classiques pour représenter une arborescence, par exemple un système avec plusieurs sous-tables, avec une sous-table par niveau, le niveau étant la notion définie ci-dessus ; On peut également, dans cette table comme dans toutes celles qui seront décrites par la suite, remplacer le système des pointeurs par un système d'index dans une table, c'est à dire désigner une ligne dans une table, non pas par son adresse en mémoire, mais par son rang dans ladite table.This information is easily obtained by simple commands (findfirst, findnext) from the file management system. There are many other conventional ways of representing a tree, for example a system with several subtables, with one subtable per level, the level being the concept defined above; One can also, in this table as in all those which will be described hereafter, replace the system of pointers by an index system in a table, that is to say designate a row in a table, not by its address in memory, but by its rank in said table.
La table des fichiers Tf1 contient pour chaque fichier de la branche V1 D1 un poste, appelé par la suite poste-fichier, contenant: les informations nécessaires pour évoluer dans l'arborescence, par exemple un ensemble de pointeurs, à savoir un pointeur vers le poste-répertoire auquel appartient le fichier, un pointeur vers le prochain poste-fichier dans le même répertoire. ainsi que des informations relatives à chaque fichier, à savoir le nom du fichier, les dates de création, de mise à jour, et de dernière lecture, la taille, l'extension, les attributs, etc.The table of files Tf1 contains for each file of the branch V1 D1 a station, hereinafter called post-file, containing: the information necessary to evolve in the tree structure, for example a set of pointers, namely a pointer to the workstation to which the file belongs, a pointer to the next workstation in the same directory. as well as information relating to each file, namely the name of the file, the dates of creation, update, and last reading, size, extension, attributes, etc.
Par la suite, et par analogie avec la notion de tableau, on dira que la table Td1 est composée de lignes à raison d'une ligne par poste-répertoire, et de colonnes, chaque colonne comportant les informations relatives à chaque ligne appelée aussi poste-répertoire. Même remarque pour la table Ff1 qui est composée de lignes, chaque ligne correspondant à un poste-fichier, et de colonnes comportant les informations relatives auxdites lignes.Thereafter, and by analogy with the notion of table, we will say that the table Td1 is composed of rows at the rate of one row per post-directory, and of columns, each column comprising the information relating to each row also called post -répertoire. Same remark for the table Ff1 which is composed of lines, each line corresponding to a file item, and of columns containing the information relating to said lines.
De la même manière, dans une seconde phase P2, on construit un autre ensemble de deux tables Td2 et Tf2 qui contiennent une image, ou état, à l'instant t2 du répertoire V2D2.In the same way, in a second phase P2, we build another set of two tables Td2 and Tf2 which contain an image, or state, at time t2 of the directory V2D2.
Ces deux ensembles de tables peuvent être entièrement créés avant le début de la phase suivante de comparaison P3, ou bien être partiellement créés au fur et à mesure en fonction des besoins de la comparaison.These two sets of tables can be entirely created before the start of the next phase of comparison P3, or else be partially created as and when required according to the needs of the comparison.
La comparaison P3 consiste essentiellement à balayer en parallèle les deux tables Td1 et Td2 afin de détecter les répertoires communs aux deux arborescences, ainsi que les répertoires qui n'appartiennent qu'à l'arborescence V1D1 ou ceux qui qui n'appartiennent qu'à l'arborescence V2D2, et quand on rencontre un répertoire V1D1-i dans V1 D1 et V2D2-i dans V2D2, commun aux deux arborescences, à explorer en parallèle la liste des fichiers Fj appartenant à chacun des deux répertoires V1D1-i et V2D2-i, afin de détecter ceux qui n'appartiennent qu'à l'arborescence V1 D1 ou qu'à l'arborescence V2D2, et de construire 6 nouvelles arborescences, à savoir :The comparison P3 essentially consists in scanning in parallel the two tables Td1 and Td2 in order to detect the directories common to the two trees, as well as the directories which belong only to the tree V1D1 or those which belong only to the V2D2 tree structure, and when a V1D1-i directory is encountered in V1 D1 and V2D2-i in V2D2, common to the two trees, to explore in parallel the list of Fj files belonging to each of the two directories V1D1-i and V2D2- i, in order to detect those which only belong to the V1 D1 tree or to the V2D2 tree, and to construct 6 new trees, namely:
1 - une arborescence qui ne comporte que les fichiers présents uniquement dans l'arborescence V1DÎ de la machine M1 , et qui sera représentée par une double-table composée des deux tables TRd-1 et TRf-1 construites sur le même modèle que les tables Td1 (table dés répertoires) et Tf1 (table des fichiers) décrites ci-dessus. 2 - une arborescence qui ne comporte que les fichiers présents uniquement dans l'arborescence V2D2 de la machine M2, et qui sera représentée par une double-table composée des deux tables TRd-2 et TRf-2,1 - a tree structure which includes only the files present only in the tree V1DÎ of the machine M1, and which will be represented by a double-table composed of the two tables TRd-1 and TRf-1 built on the same model as the tables Td1 (table of directories) and Tf1 (table of files) described above. 2 - a tree structure which includes only the files present only in the tree V2D2 of the machine M2, and which will be represented by a double table composed of the two tables TRd-2 and TRf-2,
3 - une arborescence qui ne comporte que les fichiers présents à la fois dans l'arborescence V1D1 de la machine M1, et dans l'arborescence V2D2 de la machine M2 et qui sont réputés identiques, c'est à dire qui ont la même longueur, la même date de dernière mise à jour, ... , et éventuellement le même checksum (permettant de s'assurer de l'identité des contenus des fichiers) et qui sera représentée par les deux tables TRd-1=2 et TRf-1=2,3 - a tree structure which includes only the files present both in the tree structure V1D1 of the machine M1, and in the tree structure V2D2 of the machine M2 and which are deemed to be identical, that is to say which have the same length , the same date of last update, ..., and possibly the same checksum (allowing to ensure the identity of the contents of the files) and which will be represented by the two tables TRd-1 = 2 and TRf- 1 = 2,
4 - une arborescence qui ne comporte que les fichiers présents à la fois dans l'arborescence V1D1 de la machine W11, et dans l'arborescence V2D2 de la machine M2 et qui sont réputés différents, (par la longueur ou la date ou une autre donnée), et qui sera représentée par les deux tables TRd-1#2 et TRf-1#2,4 - a tree structure which includes only the files present both in the tree structure V1D1 of the machine W11, and in the tree structure V2D2 of the machine M2 and which are deemed to be different, (by length or date or another given), which will be represented by the two tables TRd-1 # 2 and TRf-1 # 2,
5 - une arborescence qui résulte de la réunion de l'arborescence V1D1 de la machine Ml et des fichiers présents uniquement dans l'arborescence V2D2 de la machine M2, et qui sera représentée par les deux tables TRd-1+e2 et TRf-1+e2.5 - a tree structure which results from the union of the tree structure V1D1 of the machine M1 and the files present only in the tree structure V2D2 of the machine M2, and which will be represented by the two tables TRd-1 + e2 and TRf-1 + e2.
Au départ du processus de comparaison, on initialise ces deux tables de façon qu'elles soient identiques à Td1 et Tfl .At the start of the comparison process, these two tables are initialized so that they are identical to Td1 and Tfl.
6 - une arborescence qui résulte de la réunion de l'arborescence V2D2 de la machine M2 et des fichiers présents uniquement dans l'arborescence V1D1 de la machine WI1 , et qui sera représentée par les deux tables TRd-2+e1 et TRf-2+e1.6 - a tree structure which results from the union of the tree structure V2D2 of the machine M2 and the files present only in the tree structure V1D1 of the machine WI1, and which will be represented by the two tables TRd-2 + e1 and TRf-2 + e1.
Au départ du processus de comparaison, on initialise ces deux tables de façon à ce qu'elles soient identiques à Td2 et Tf2.At the start of the comparison process, these two tables are initialized so that they are identical to Td2 and Tf2.
D'une manière plus générale, création d'une arborescence qui est une union, d'une part d'une sélection des informations concernant respectivement les répertoires et fichiers catalogués respectivement dans les première et seconde tables du premier état, et d'autre part d'une sélection des informations concernant respectivement les répertoires et fichiers catalogués respectivement dans les première et seconde tables du second état, ladite sélection s'effectuant, fichier par fichier, et pour chacun des fichiers comparés à partir des éléments associés à chacun desdits fichiers dans les premier et second états,More generally, creation of a tree structure which is a union, on the one hand from a selection of information relating respectively to the directories and files cataloged respectively in the first and second tables of the first state, and on the other hand a selection of information relating respectively to the directories and files cataloged respectively in the first and second tables of the second state, said selection being made, file by file, and for each of the files compared from the elements associated with each of said files in the first and second states,
Notons au passage que les postes-répertoires et postes-fichiers de ces 6 nouvelles double- tables ne sont pas strictement identiques à ceux des deux doubles-tables de départ Td1 (et Tf1) et Td2 (et Tf2); en effet, le système de pointeurs pour évoluer dans l'arborescence, (ou un système équivalent) peut-être identique, par contre les données de chacun de ces nouveaux postes doivent comporter simultanément : un ensemble de données qui correspond aux données provenant de V1D1 (et donc de Td1 et Tfl), un ensemble de données qui correspond aux données provenant de V2D2 (et donc de Td2 et Tf2). Il peut être intéressant d'y adjoindre une variable dite d'occurrence qui précise si un poste comporte des informations en provenance à la fois des deux arborescences de départ, ou seulement d'une seule et laquelle.It should be noted in passing that the directory stations and file stations of these 6 new double tables are not strictly identical to those of the two starting double tables Td1 (and Tf1) and Td2 (and Tf2); indeed, the system of pointers to evolve in the tree structure, (or an equivalent system) maybe identical, on the other hand the data of each of these new stations must include simultaneously: a set of data which corresponds to the data coming from V1D1 (and therefore from Td1 and Tfl), a set of data which corresponds to the data coming from V2D2 (and therefore from Td2 and Tf2). It may be interesting to add to it a so-called occurrence variable which specifies whether a position includes information coming from both the two starting trees, or only from one and only one.
Pour effectuer cette comparaison, au moyen d'un mode itératif, on procède comme ci-après à partir dés données présentes dans l'exemple de la figure 1 :To make this comparison, by means of an iterative mode, the procedure is as follows from the data present in the example of FIG. 1:
On démarre l'exploration avec les postes dans les deux tables Td1 et Td2 correspondant respectivement aux répertoires V1D1 et V2D2 de niveau 1; grâce au système de pointeurs permettant de parcourir la liste des sous-répertoires enfants de niveau 2, on arrive sur les deux premiers sous-répertoires V1D1-1 et V2D2-1 qui portent le même nom, à savoir « 1 ». On effectue le traitement (voir plus loin) au niveau des fichiers de ce répertoire commun, V1D1-1 et V2D2-1 puis on lance une nouvelle exploration pour les sous-répertoires enfants de niveau 3 de V1D1-1 et V2D2-1, ce qui va permettre en effectuant une comparaison sur le seul nom du répertoire, de rencontrer successivement les 4 configurations typiques suivantesExploration is started with the positions in the two tables Td1 and Td2 corresponding respectively to the V1D1 and V2D2 level 1 directories; thanks to the system of pointers making it possible to browse the list of level 2 child sub-directories, one arrives at the first two sub-directories V1D1-1 and V2D2-1 which bear the same name, namely “1”. We perform the processing (see below) at the level of the files in this common directory, V1D1-1 and V2D2-1, then we launch a new exploration for the level 3 child subdirectories of V1D1-1 and V2D2-1. which will allow by performing a comparison on the only name of the directory, to successively meet the following 4 typical configurations
Sous-répertoire V1D1-11 sur M1 et ayant pour nom « 11 »; pas de sous-répertoire correspondant sur M2 ; On insère dans les deux tables TRd-1 et TRd-2+e1 une nouveau poste-répertoire avec le chemin V1D1 \ V1D1-1 W1D1-11, et dans les deux tables TRf-1 et TRf-2+e1 , une série de postes-fichiers identiques à ceux qui étaient rattachés au poste-répertoire de départ V1D1-11, ces postes-fichiers étant liés à ce nouveau poste-répertoire par le même système de pointeurs que celui décrit plus haut. Sous-répertoire V2D2-12 sur M 2 et ayant pour nom « 12 »; pas de sous-répertoire correspondant sur M1 ;Sub-directory V1D1-11 on M1 and having the name "11"; no corresponding sub-directory on M2; We insert into the two tables TRd-1 and TRd-2 + e1 a new directory item with the path V1D1 \ V1D1-1 W1D1-11, and in the two tables TRf-1 and TRf-2 + e1, a series of File stations identical to those which were attached to the starting directory directory V1D1-11, these file stations being linked to this new directory station by the same system of pointers as that described above. V2D2-12 sub-directory on M 2 and having the name "12"; no corresponding sub-directory on M1;
On insère dans les deux tables TRd-2 et TRd-1+e2 une nouveau poste-répertoire avec le chemin V1D1 \ V1D1-1 \ V1D1-12, et dans les deux tables TRf-2 et TRf-1+e2, une série de postes-fichiers identiques à ceux qui étaient rattachés au poste-répertoire de départ V2D2-12.We insert in the two tables TRd-2 and TRd-1 + e2 a new directory item with the path V1D1 \ V1D1-1 \ V1D1-12, and in the two tables TRf-2 and TRf-1 + e2, a series file stations identical to those which were attached to the starting directory station V2D2-12.
Sous-répertoire V1D1-13 sur M1 et V2D2-13 sur M2 ayant pour nom « 13 »;V1D1-13 subdirectory on M1 and V2D2-13 on M2 with the name "13";
Dans ce cas on doit commencer par analyser la liste des postes-fichiers attachés aux deux postes-répertoires de départ, et on rencontre donc différents cas de figure :In this case, we must start by analyzing the list of file stations attached to the two starting directory stations, and we therefore meet different cases:
Fichier F1 présent simultanément sur WI1 et M2, et réputé identique, avec les mêmes dates de mise à jour T1 et mêmes longueurs L1 : Inserstion dans la table TRd-1=2 d'un nouveau poste-répertoire avec le chemin V1D1 \ V1D1-1 \ V1D1-13, et dans la table et TRf-1=2, du poste- fichier F1.F1 file present simultaneously on WI1 and M2, and deemed identical, with the same T1 update dates and same L1 lengths: Insertion in table TRd-1 = 2 of a new directory item with the path V1D1 \ V1D1-1 \ V1D1-13, and in the table and TRf-1 = 2, of file item F1.
Fichier F2 présent simultanément sur M1 et M2, mais avec une date de mise à jour T2 (ou T2') ou une longueur L2 (ou L2') différente :F2 file present simultaneously on M1 and M2, but with an update date T2 (or T2 ') or a different length L2 (or L2'):
Insertion dans la table TRd-1#2 d'un nouveau poste-répertoire avec le chemin V1 D1 \ V1D1-1 \ V1D1-13, et dans la table et TRf-1#2, du poste- fichier F2.Insertion into table TRd-1 # 2 of a new directory item with the path V1 D1 \ V1D1-1 \ V1D1-13, and into table and TRf-1 # 2, of file extension F2.
Fichier F3 présent seulement sur M1: Inserstion dans les deux tables TRd-1 et TRd-2+e1 d'un nouveau poste- répertoire avec le chemin V1D1 \ V1 D1-1 \ V1 D1-13, et dans les deux tables TRf-1 et TRf-2+e1 du poste-fichier F3.File F3 present only on M1: Insertion in the two tables TRd-1 and TRd-2 + e1 of a new directory directory with the path V1D1 \ V1 D1-1 \ V1 D1-13, and in the two tables TRf- 1 and TRf-2 + e1 from file position F3.
Fichier F4 présent seulement sur M2:F4 file present only on M2:
Inserstion dans les deux tables TRd-2 et TRd-1+e2 d'un nouveau poste- répertoire avec le chemin V1D1 \ V1D1-1 \ V1 D1-13, et dans les deux tables TRf-2 et TRf-1+e2 du poste-fichier F4.Insertion in the two tables TRd-2 and TRd-1 + e2 of a new directory directory with the path V1D1 \ V1D1-1 \ V1 D1-13, and in the two tables TRf-2 and TRf-1 + e2 of the file extension F4.
Bien évidemment, quand un poste-répertoire contient plusieurs postes-fichiers liés au même poste-répertoire, ce dernier n'est inséré qu'une seule fois, l'objectif étant que l'on puisse évoluer et obtenir les mêmes informations qu'avec les ensembles de départ Td1Obviously, when a directory extension contains several file extensions linked to the same directory extension, the latter is only inserted once, the objective being that we can evolve and obtain the same information as with Td1 starter sets
(et Tf1) et Td2 (et Tf2).(and Tf1) and Td2 (and Tf2).
Au cours de la phase P4 on reprend tout ou partie des 6 des doubles-tables (TRd-... et TRf- ...) résultant de la phase de comparaison P3, en vue de générer pour chacune d'elles une troisième table TRt-..., appelée par la suite table des types (de fichiers), et composée de postes appelés par la suite postes-types, le type étant une notion permettant de regrouper des fichiers par nature ; ceci peut-être l'extension d'un fichier tel que «doc», « xls », « html », etc, un intervalle de dates de dernier accès, par exemple les fichiers accèdes avant ou après le 1er Janvier, une notion de droit d'accès ou de sécurité, qui peut être fournie par le système de gestion de fichiers.During phase P4, all or part of the 6 double tables (TRd -... and TRf- ...) resulting from the comparison phase P3 are taken up, with a view to generating a third table for each of them. TRt -..., hereinafter called the table of types (of files), and composed of stations called thereafter standard-posts, the type being a concept making it possible to group files by nature; this may be the extension of a file such as "doc", "xls", "html", etc., a range of last access dates, for example files accessed before or after January 1, a notion of right of access or security, which can be provided by the file management system.
Dans certain type d'organisation de fichiers, il est nécessaire de lire le début du fichier (appelé communément « en-tête de fichier ») pour y récupérer certaines notions telles que version de logiciel, programme exécutable seulement avec une machine 32 bits, etc.In some type of file organization, it is necessary to read the beginning of the file (commonly called "file header") to recover certain notions such as software version, program executable only with a 32-bit machine, etc. .
Cette troisième table est également composée de lignes, chaque ligne correspondant à un poste-type, et de colonnes, chaque colonne comportant les informations relatives à ce poste- type décrites ci-après. Pour générer cette troisième table grâce au système de pointeurs décrit plus haut, on balaie tous les répertoires de l'arborescence, et pour chacun des postes-répertoires on procède comme suit:This third table is also composed of rows, each row corresponding to a standard item, and of columns, each column comprising the information relating to this standard item described below. To generate this third table using the pointer system described above, we scan all the directories in the tree structure, and for each of the directory stations we proceed as follows:
On commence par initialiser à 0, un certain nombre de nouvelles zones, ou colonnes, du poste-répertoire, ces zones étant :We start by initializing at 0, a certain number of new zones, or columns, of the directory-directory, these zones being:
- pointeur sur le premier poste-type attaché à ce poste-répertoire (0 = chaîne vide)- pointer to the first standard extension attached to this directory extension (0 = empty string)
- nombre de postes-types attachés à ce poste-répertoire et contenant des données relatives à l'arborescence V1D1- number of standard stations attached to this directory station and containing data relating to the V1D1 tree structure
- nombre de postes-types attachés à ce poste-répertoire et contenant des données relatives à l'arborescence V2D2.- number of standard stations attached to this directory station and containing data relating to the V2D2 tree structure.
On initialise également à 0 une table temporaire qui, par la suite, comportera autant de lignes qu'il y aura de types de fichiers différents dans ledit poste-répertoire, chaque ligne comportant le nom du type (par exemple «doc», «xls», ...), ainsi que deux compteurs qui contiendront le nombre de fichiers qui ont ce type de fichier dans ledit poste-répertoire, et ce dans l'arborescence V1D1 , (idem pour V2D2) ; on peut avantageusement y adjoindre un système de pointeurs permettant de balayer rapidement les postes-fichiers dudit poste- répertoire ayant le même nom de type, c'est à dire au niveau de ladite table temporaire, un pointeur vers le premier poste-fichier, et dans chaque poste-fichier, un pointeur vers le prochain poste-fichier de même type. On peut évidemment remplacer le système de pointeurs par un système d'index comme précisé plus haut.We also initialize to 0 a temporary table which, thereafter, will comprise as many lines as there will be different types of files in said directory-directory, each line comprising the name of the type (for example “doc”, “xls », ...), as well as two counters which will contain the number of files which have this type of file in the said directory directory, and this in the tree V1D1, (same for V2D2); it is advantageously possible to add to it a system of pointers making it possible to quickly scan the file stations of said directory station having the same type name, that is to say at the level of said temporary table, a pointer to the first file station, and in each file item, a pointer to the next file item of the same type. It is obviously possible to replace the system of pointers with an index system as specified above.
Ensuite, grâce au système de pointeurs décrit plus haut, on parcourt tous les poste-fichiers dudit poste-répertoire. Chaque fois qu'un poste-fichier comporte un type déjà existant dans ladite table temporaire, on incrémente le ou les compteurs de la table temporaire selon son appartenance à V1 D1 ou V2D2.Then, thanks to the pointer system described above, we browse all the file stations of said directory station. Each time a file position includes a type already existing in said temporary table, the counter (s) of the temporary table are incremented according to whether it belongs to V1 D1 or V2D2.
Chaque fois qu'un poste-fichier comporte un type qui n'existe pas encore dans ladite table temporaire, on ajoute à la table temporaire, une nouvelle ligne avec le nom du type, on incrémente le ou les compteurs de la table temporaire selon son appartenance à V1 D1 ou V2D2 et on incrémente les compteurs décrits ci-dessus au niveau du poste-répertoire, ce qui permettra par la suite de connaître immédiatement le nombre de type de fichiers présents dans ledit répertoire.Each time a file extension includes a type which does not yet exist in said temporary table, a new line with the name of the type is added to the temporary table, the counter or counters of the temporary table are incremented according to its belonging to V1 D1 or V2D2 and the counters described above are incremented at the level of the directory directory, which will subsequently make it possible to immediately know the number of file types present in said directory.
Quand on a exploré tous les postes-fichiers rattachés audit poste-répertoire, il suffit de créer dans la table TRt-... un ensemble de postes-types, reliés entre eux par un système de pointeurs, chacun contenant les informations d'une ligne de ladite table temporaire, puis. dans le poste-répertoire de départ, remplir le pointeur vers le premier poste-type tel que décrit ci-dessus. Dans la description précédente, on s'est intéressé à deux arborescences différentes, comparée à deux moments très proches t1 et t2, mais on aurait pu aussi comparer les photographies à deux époques différentes de la même arborescence, ou encore deux photographies à deux époques différentes de deux arborescences différentes.When we have explored all the file-stations attached to said directory-station, it suffices to create in the table TRt -... a set of standard-stations, linked together by a system of pointers, each containing the information of a row of said temporary table, then. in the home directory station, fill in the pointer to the first standard station as described above. In the previous description, we looked at two different trees, compared to two very close moments t1 and t2, but we could also have compared the photographs at two different times of the same tree, or two photographs at two different times of two different trees.
Dans un mode différent, grâce à système de pointeurs du même type que celui décrit plus haut, on peut faire en sorte que la double-table regroupant les deux tables dites des répertoires Td1 et des fichiers Tf1, soient fusionnées en une seule et unique table, à la manière de la table «File Allocation Table - FAT » du système DOS de Microsoft, chaque ligne correspondant à un poste-enregistrement, dont le contenu varie en fonction d'un code qui précise qu'il s'agit d'un répertoire ou d'un fichier.In a different mode, thanks to a pointer system of the same type as that described above, it is possible to ensure that the double-table grouping the two tables known as the Td1 directories and the Tf1 files, is merged into a single table , like the “File Allocation Table - FAT” table in the Microsoft DOS system, each line corresponding to a record item, the content of which varies according to a code which specifies that it is a directory or file.
A titre d'exemple, et de manière non limitative, suivant l'invention on peut réaliser un logiciel qui permet de synchroniser deux micro-ordinateurs de poche comportant chacun une arborescence contenant uniquement des fichiers de type « texte » et de type « tableur », et qui fonctionne de la manière suivante :By way of example, and in a nonlimiting manner, according to the invention, software can be produced which makes it possible to synchronize two pocket microcomputers each comprising a tree structure containing only files of type “text” and of type “spreadsheet” , and which works as follows:
On fait défiler à l'écran la liste des répertoires qui ne comportent que des fichiers présents dans le premier micro-ordinateur, à raison d'une ligne par répertoire, chaque ligne comportant le chemin complet du répertoire, ainsi que le nombre de fichier de type « texte » et de type « tableur » comme dans l'exemple ci-dessous.The list of directories which only contain files present in the first microcomputer is scrolled on the screen, one line per directory, each line comprising the full path of the directory, as well as the number of file of type "text" and type "spreadsheet" as in the example below.
« Mes documents\dossier juridique\Société _1 : 2 textes + 1 tableur » En général, ce genre de renseignement suffit à l'utilisateur pour s'assurer qu'il ne va pas faire de fausse manoeuvre ; s'il a un doute, il suffit qu'il fasse un clic avec la souris sur le mot « textes » pour afficher juste en dessous de la ligne décrite ci dessus, 2 nouvelles lignes donnant le détail des 2 fichiers de type « texte », à savoir :"My documents \ legal file \ Company _1: 2 texts + 1 spreadsheet" In general, this type of information is sufficient for the user to ensure that he will not make a false move; if in doubt, just click with the mouse on the word "texts" to display just below the line described above, 2 new lines giving details of the 2 files of type "text" , to know :
« contrat du 10/11/2001.doc, 5643 octets maj le 15/11/2001 » « contrat du 01/01/2001.doc, 1444 octets maj le 10/O2/2001 » "Contract of 10/11 / 2001.doc, 5643 bytes maj on 15/11/2001" "contract of 01/01 / 2001.doc, 1444 bytes maj on 10 / O2 / 2001"

Claims

REVENDICATIONS:CLAIMS:
1 - Méthode de synchronisation de fichiers informatiques, stockés sur des supports informatiques et organisés sous la forme d'arborescences de répertoires contenant lesdits fichiers, comportant les étapes suivantes:1 - Method for synchronizing computer files, stored on computer media and organized in the form of directory trees containing said files, comprising the following steps:
- mémorisation à l'instant t1 d'un premier état d'au moins une partie d'un support informatique, comportant d'une part au moins une première table dont les lignes sont relatives aux répertoires et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces répertoires, et d'autre part au moins une deuxième table dont les lignes sont relatives aux fichiers et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces fichiers ou par le contenu des fichiers eux-mêmes,- storage at time t1 of a first state of at least part of an IT medium, comprising on the one hand at least a first table whose rows relate to the directories and whose columns contain information provided by the operating system of the computer on these directories, and on the other hand at least a second table whose rows relate to the files and whose columns contain information supplied by the operating system of the computer on these files or by the contents of the files themselves,
- mémorisation à l'instant t2 d'un second état d'au moins une partie d'un support informatique , comportant d'une part au moins une première table dont les lignes sont relatives aux répertoires et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces répertoires, et d'autre part au moins une seconde table dont les lignes sont relatives aux fichiers et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces fichiers ou par le contenu des fichiers eux-mêmes, - comparaison d'une partie pouvant constituer la totalité du premier état et d'une partie pouvant constituer la totalité du second état, consistant en une mémorisation au moins temporaire de l'union, d'une part d'une sélection des informations concernant respectivement les répertoires et fichiers catalogués respectivement dans les première et seconde tables de la partie comparée du premier état, et d'autre part d'une sélection des informations concernant . respectivement les répertoires et fichiers catalogués respectivement dans les première et seconde tables de la partie comparée du second état, ladite sélection s'effectuant, fichier par fichier, et pour chacun des fichiers comparés à partir des éléments associés à chacun desdits fichiers dans les premier et second états, caractérisé en ce que la mémorisations résultant de la phase de comparaison est suivie d'une phase de regroupement consistant à générer une troisième table comportant des lignes relatives aux types de fichiers dans un répertoire dans une arborescence, lesquels types ordonnent les fichiers contenus dans ledit répertoire.- storage at time t2 of a second state of at least part of an IT medium, comprising on the one hand at least a first table whose rows relate to the directories and whose columns contain information provided by the operating system of the computer on these directories, and on the other hand at least a second table whose rows relate to the files and whose columns contain information supplied by the operating system of the computer on these files or by the content of the files themselves, - comparison of a part which can constitute the totality of the first state and a part which can constitute the totality of the second state, consisting in an at least temporary memorization of the union, d 'a part of a selection of information concerning respectively the directories and files cataloged respectively in the first and second tables of the compared part of the first report, and on the other part of a selection of information concerning. respectively the directories and files cataloged respectively in the first and second tables of the compared part of the second state, said selection being made, file by file, and for each of the files compared from the elements associated with each of said files in the first and second states, characterized in that the memorizations resulting from the comparison phase is followed by a grouping phase consisting in generating a third table comprising lines relating to the types of files in a directory in a tree structure, which types order the files contained in said directory.
2 - procédé de comparaison selon la revendication 1 caractérisé en ce que la troisième table associe chacun desdits types de fichiers du répertoire à des informations, obtenues par des opérations de type logique, de type arithmétique et de type opération sur des chaînes de caractères, exécutées sur les informations données par le système d'exploitation de l'ordinateur ou lues dans le fichier lui-même, sur chacun des fichiers du type considéré contenus dans ledit répertoire des arborescences des supports informatiques, lesquelles informations sont ensuite stockées dans les colonnes de ladite troisième table. 3 - procédé de comparaison selon les revendications 1 ou 2 caractérisé en ce que la première table dont les lignes sont relatives aux répertoires et la deuxième table dont les lignes sont relatives aux fichiers, sont regroupées en une seule table.2 - comparison method according to claim 1 characterized in that the third table associates each of said types of files in the directory with information obtained by operations of logical type, of arithmetic type and of operation type on strings of characters, executed on the information given by the computer's operating system or read from the file itself, on each of the files of the type considered contained in said directory of the trees of the computer media, which information is then stored in the columns of said third table. 3 - comparison method according to claims 1 or 2 characterized in that the first table whose rows relate to the directories and the second table whose rows relate to the files, are grouped into a single table.
4 - procédé de comparaison selon les revendications 1 à 3, caractérisé en ce que les informations qui figurent dans les colonnes des dites deuxième et troisième tables sont élaborées à partir des données fournies par le système de gestion de fichiers de l'ordinateur.4 - comparison method according to claims 1 to 3, characterized in that the information which appears in the columns of said second and third tables are developed from data supplied by the file management system of the computer.
5 - procédé de comparaison selon les revendications 1 à 4, caractérisé en ce que le type de fichier utilisé pour constituer la troisième table est l'extension du nom de fichier.5 - comparison method according to claims 1 to 4, characterized in that the type of file used to constitute the third table is the extension of the file name.
6 - procédé de comparaison selon les revendications 1 à 5, caractérisé en ce que la mémorisation au moins temporaire de l'union, d'une part d'une sélection des informations concernant respectivement les répertoires et fichiers catalogués respectivement dans les première et seconde tables de la partie comparée du premier état, et d'autre part d'une sélection des informations concernant respectivement les répertoires et fichiers catalogués respectivement dans les première et seconde tables de la partie comparée du second état, ladite sélection s'effectuant, fichier par fichier, et pour chacun des fichiers comparés à partir des éléments associés à chacun desdits fichiers dans les premier et second états, consiste en une des mémorisation suivantes : a) mémorisation au moins temporaire des informations concernant respectivement les répertoires et fichiers catalogués respectivement dans les première et seconde tables de la partie comparée du premier état mais non inventoriés respectivement dans les première et seconde tables de la partie comparée du second état, b) mémorisation au moins temporaire des informations concernant respectivement les répertoires et fichiers non inventoriés respectivement dans les première et seconde tables de la partie comparée du premier état mais catalogués respectivement dans les première et seconde tables de la partie comparée du second état, c) mémorisation au moins temporaire des informations concernant les répertoires et fichiers respectivement dans les première et seconde tables de la partie comparée du premier état, mais catalogués aussi respectivement dans les première et seconde tables de la partie comparée du second état, avec des informations fournies par le système d'exploitation de l'ordinateur, stockées dans les colonnes desdites premières et secondes tables, différentes dans la partie comparée du second état de celles qui sont associées auxdits répertoires et auxdits fichiers dans les tables de la partie comparée du premier état, pour ce qui concerne les lignes desdites premières et secondes tables qui sont communes aux deux parties comparées desdits états, d) mémorisation au moins temporaire des informations, concernant les répertoires et fichiers catalogués respectivement dans les première et seconde tables de la partie comparée du premier état, mais catalogués aussi respectivement dans les première et seconde tables de la partie comparée du second état, avec des informations fournies par le système d'exploitation de l'ordinateur, stockées dans les colonnes desdites premières et secondes tables, identiques dans la partie comparée du second état à celles qui sont associées auxdits répertoires et auxdits fichiers dans les tables de la partie comparée du premier état, pour ce qui concerne les lignes desdites premières et secondes tables qui sont communes aux deux états, e) mémorisation au moins temporaire de la réunion d'une part des informations, concernant respectivement les fichiers et répertoires, stockées dans la partie comparée du premier état et d'autre part des informations stockées dans les parties comparées des états, concernant les répertoires et fichiers inventoriés uniquement dans les première et seconde tables de la partie comparée du second état f) mémorisation au moins temporaire de la réunion d'une part des informations, concernant respectivement les fichiers et répertoires, stockées dans la partie comparée du second état et d'autre part des informations stockées dans les parties comparées des états, concernant les répertoires et fichiers inventoriés uniquement dans les première et seconde tables de la partie comparée du premier état.6 - comparison method according to claims 1 to 5, characterized in that the at least temporary storage of the union, on the one hand of a selection of information respectively concerning the directories and files cataloged respectively in the first and second tables of the compared part of the first state, and on the other hand of a selection of information relating respectively to the directories and files cataloged respectively in the first and second tables of the compared part of the second state, said selection being made, file by file , and for each of the files compared from the elements associated with each of said files in the first and second states, consists of one of the following storage: a) at least temporary storage of information relating respectively to the directories and files cataloged respectively in the first and second tables of the compared part of the first state but not inventoried respectively in the first and second tables of the compared part of the second state, b) at least temporary storage of information relating respectively to the directories and files not inventoried respectively in the first and second tables of the compared part of the first state but cataloged respectively in the first and second tables of the compared part of the second state, c) at least temporary storage of information concerning the directories and files respectively in the first and second tables of the compared part of the first state, but also cataloged respectively in the first and second tables of the compared part of the second state, with information supplied by the operating system of the computer, stored in the columns of said first and second tables, different in the compared part of the second state from those which are associated to said directories and said files in the tables of the compared part of the first state, with regard to the rows of said first and second tables which are common to the two compared parts of said states, d) at least temporary storage of information, concerning the directories and files cataloged respectively in the first and second tables of the compared part of the first state, but also cataloged respectively in the first and second tables of the compared part of the second state, with information provided by the operating system of the computer, stored in the columns of said first and second tables, identical in the compared part of the second state to those associated with said directories and said files in the tables of the compared part of the first state, as regards the rows of said first and second tables which are common to both states, e) storage at m oins temporary of the meeting on the one hand of the information, respectively concerning the files and directories, stored in the compared part of the first state and on the other hand of the information stored in the compared parts of the reports, concerning the directories and files inventoried only in the first and second tables of the compared part of the second state f) at least temporary storage of the meeting on the one hand of the information, respectively concerning the files and directories, stored in the compared part of the second state and on the other hand of the information stored in the compared parts of the reports, concerning the directories and files inventoried only in the first and second tables of the compared part of the first report.
7 - procédé de comparaison selon les revendications 1 à 6, caractérisé en ce que chaque poste desdites deuxième et troisième tables comportent des informations permettant de relier entre eux les postes-fichiers dépendant du même poste- type. 7 - comparison method according to claims 1 to 6, characterized in that each station of said second and third tables include information making it possible to link together the file stations depending on the same type station.
PCT/FR2002/003773 2001-11-07 2002-11-05 Method for synchronizing files between computers WO2003040956A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0114385A FR2831972B1 (en) 2001-11-07 2001-11-07 METHOD FOR SYNCHRONIZING FILES BETWEEN COMPUTERS
FR0114385 2001-11-07

Publications (1)

Publication Number Publication Date
WO2003040956A1 true WO2003040956A1 (en) 2003-05-15

Family

ID=8869135

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2002/003773 WO2003040956A1 (en) 2001-11-07 2002-11-05 Method for synchronizing files between computers

Country Status (2)

Country Link
FR (1) FR2831972B1 (en)
WO (1) WO2003040956A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778389A (en) * 1996-05-23 1998-07-07 Electronic Data Systems Corporation Method and system for synchronizing computer file directories
US5806073A (en) * 1994-01-21 1998-09-08 Piaton; Alain Nicolas Method for the comparison of computer files
US6125369A (en) * 1997-10-02 2000-09-26 Microsoft Corporation Continuous object sychronization between object stores on different computers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5806073A (en) * 1994-01-21 1998-09-08 Piaton; Alain Nicolas Method for the comparison of computer files
US5778389A (en) * 1996-05-23 1998-07-07 Electronic Data Systems Corporation Method and system for synchronizing computer file directories
US6125369A (en) * 1997-10-02 2000-09-26 Microsoft Corporation Continuous object sychronization between object stores on different computers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BALASUBRAMANIAM S ET AL: "WHAT IS A FILE SYNCHRONIZER?", MOBICOM '98. PROCEEDINGS OF THE 4TH ANNUAL ACM/IEEE INTERNATIONAL CONFERENCE ON MOBILE COMPUTING AND NETWORKING. DALLAS, TX, OCT. 25 - 30, 1998, ANNUAL ACM/IEEE INTERNATIONAL CONFERENCE ON MOBILE COMPUTING AND NETWORKING, NEW YORK, NY: ACM, US, 25 October 1998 (1998-10-25), pages 98 - 108, XP000850260, ISBN: 1-58113-035-X *

Also Published As

Publication number Publication date
FR2831972B1 (en) 2004-05-07
FR2831972A1 (en) 2003-05-09

Similar Documents

Publication Publication Date Title
Bradshaw et al. MongoDB: the definitive guide: powerful and scalable data storage
Membrey et al. The definitive guide to MongoDB: the noSQL database for cloud and desktop computing
EP1193625B1 (en) Collaborative search engine
Negus Linux Bible 2010 Edition: Boot Up to Ubuntu, Fedora, KNOPPIX, Debian, openSUSE, and 13 Other Distributions
US7788287B2 (en) System and method for storing and accessing data in an interlocking trees datastore
FR2824160A1 (en) DYNAMICALLY CONFIGURABLE GENERIC CONTAINER
FR2859552A1 (en) Data extraction technique for database includes use of local database to collect requested data prior to spreadsheet display
US20070244856A1 (en) Media Search Scope Expansion
WO2005072405A2 (en) Enabling recommendations and community by massively-distributed nearest-neighbor searching
US20080065661A1 (en) Saving and restoring an interlocking trees datastore
FR2619640A1 (en) INFORMATION CLASSIFICATION APPARATUS
WO1995020196A1 (en) Method for the comparison of computer files
WO2006040473A2 (en) Device for processing formally defined data
WO2001090934A1 (en) Automatic and secure data search method using a data transmission network
WO2003040956A1 (en) Method for synchronizing files between computers
EP2074531A1 (en) Information processing method
CA2539691C (en) Method for organising a database
Grundy et al. The Law Enforcement and Forensic Examiner Introduction to Linux A Beginner's Guide
US20070255732A1 (en) Method and Apparatus for Implementing a Semantic Environment Including Multi-Search Term Storage and Retrieval of Data and Content
Prakash et al. Decentralized Metadata Storage for Non-Fungible Token Collections Using Interplanetary File System
Durno Building capacities in digital archaeology: study leave report
WO2011113829A1 (en) Multi-dimensional methods for registering and searching for documents
FR2866735A1 (en) Method for organising a database
Johnson Windows Azure Data Storage
Negus et al. Fedora Linux Toolbox: 1000+ Commands for Fedora, CentOS and Red Hat Power Users

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP