FR2715486A1 - Procédé de comparaison de fichiers informatiques. - Google Patents

Procédé de comparaison de fichiers informatiques. Download PDF

Info

Publication number
FR2715486A1
FR2715486A1 FR9400623A FR9400623A FR2715486A1 FR 2715486 A1 FR2715486 A1 FR 2715486A1 FR 9400623 A FR9400623 A FR 9400623A FR 9400623 A FR9400623 A FR 9400623A FR 2715486 A1 FR2715486 A1 FR 2715486A1
Authority
FR
France
Prior art keywords
files
state
directories
tables
file
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
FR9400623A
Other languages
English (en)
Other versions
FR2715486B1 (fr
Inventor
Piaton Alain Nicolas
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to FR9400623A priority Critical patent/FR2715486B1/fr
Priority to US08/676,380 priority patent/US5806073A/en
Priority to PCT/FR1995/000053 priority patent/WO1995020196A1/fr
Publication of FR2715486A1 publication Critical patent/FR2715486A1/fr
Application granted granted Critical
Publication of FR2715486B1 publication Critical patent/FR2715486B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1612Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage
    • 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
    • G06F16/1787Details of non-transparently synchronising file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Procédé de comparaison de fichiers informatiques, spéciaux ou ordinaires, notamment de type exécutables, fichiers de données, fichiers système et fichiers de paramétrages, stockés sur au moins une mémoire de masse, structurée sous la forme d'arborescences de répertoires contenant lesdits fichiers, caractérisé en ce qu'il comporte les étapes suivantes: - mémorisation à l'instant t0 d'un premier état d'au moins une mémoire de masse, comportant d'une part au moins une première table dont les lignes sont relatives aux répertoires, et d'autre part au moins une deuxième table dont les lignes sont relatives aux fichiers, - mémorisation à l'instant t1 = t0 +T d'un second état d'au moins une mémoire de masse, du même type, - comparaison du premier état et du second état, consistant dans au moins une des étapes de mémorisation au moins temporaire des informations stockées dans les états concernant respectivement les répertoires et fichiers supprimés, les répertoires et fichiers ajoutés, les répertoires et fichiers modifiés, les répertoires et fichiers identiques.

Description

PROCEDE DE COMPARAISON DE FICHIERS INFORMATIQUES
L'invention concerne un procédé de comparaison de fichiers informatiques stockés sur les mémoires de masse, destiné tout particulièrement au contrôle, à l'analyse et à l'administration des gros volumes.
En général et quel que soit le système d'exploitation:
- une mémoire de masse est une unité physique de
stockage, ou un ensemble d'unités physiques de
stockage, divisée en secteurs, notamment comme un
disque magnétique, un disque optique ou magnéto
optique, une bande magnétique, une disquette
magnétique, etc., laquelle mémoire de masse est
divisée ou assemblée à d'autres mémoires de masse
en unités logiques appelées partitions ou volumes;
- un fichier est une chaîne de caractères stockée sur
un volume. I1 existe des fichiers spéciaux et des
fichiers ordinaires. Les fichiers spéciaux sont les
fichiers nécessaires et suffisants pour le bon
fonctionnement de la machine (fichiers systèmes et
fichiers exécutables), les fichiers ordinaires sont
les fichiers qui ne sont pas spéciaux;
- Sur le plan physique, un répertoire, appelé aussi
dossier ou catalogue, est un fichier d'un type
particulier. Sur le plan logique, un répertoire
contient des fichiers et d'autres répertoires,
appelés sous-répertoires du premier, lesquels sous
répertoires contiennent eux-mêmes d'autres fichiers
et répertoires. Le seul répertoire à n'être contenu
dans aucun répertoire s'appelle le répertoire
racine ou répertoire principal. On définit ainsi un
système de fichiers dont la structure est
arborescente. La désignation d'un fichier se fait
par l'intermédiaire des répertoires, qui
définissent un chemin unique de l'arborescence,
commençant au répertoire racine, se terminant au
répertoire qui contient logiquement le fichier et
mentionnant les répertoires intermédiaires de
l'arborescence.
Dans certains systèmes d'exploitation comme MS-DOS, le nom de fichier comporte deux parties, à savoir le nom proprement dit et le type, appelé aussi extension ou suffixe.
I1 existe des gestionnaires de fichiers désignés par les noms "NORTON", "PC TOOLS", "WINFILE", "DOSSHELL" notamment pour les systèmes d'exploitation d'ordinateurs
DOS, WINDOWS, MAC/OS, OS/2, NETWARE, XENIX (UNIX), lesquels gestionnaires consistent en une présentation des répertoires et fichiers des arborescences des mémoires de masse accessibles depuis l'ordinateur exécutant le gestionnaire, laquelle présentation facilite la navigation dans l'arborescence et la sélection manuelle desdits fichiers pour le déplacement, la copie, la suppression.
I1 existe d'autre part des gestions de droits d'accès, intégrées à certains systèmes d'exploitation hauts de gamme, qui permettent un contrôle à priori des créations, modifications, suppressions de fichiers dans chacun des répertoires.
Ces seuls moyens offerts à l'administrateur d'un système ne lui permettent qu'un contrôle à posteriori très limité de l'état de son système, en particulier dans le cas de volumes de fichiers très importants.
En effet, l'administrateur du système doit veiller à contrôler que le système dont il a la charge est cohérent, et en particulier qu'il ne manque pas de fichier pour la bonne exécution des applications, que le contenu de certains fichiers n'a pas été modifié, que des fichiers n'ont pas été enregistrés par mégarde dans des répertoires où ils n'avaient pas lieu d'être, ce qui, avec les moyens usuels, est quasiment impossible dès qu'il y a des dizaines de milliers de fichiers.
Une solution pour réduire sensiblement le nombre de fichiers à examiner est de concevoir un système de vérification automatique qui analyse l'évolution de chaque répertoire. S'il n'y a pas de fichier modifié, ni de fichier ajouté, ni de fichier supprimé entre un état correct du répertoire à l'instant t0 et l'état du même répertoire à l'instant tl, le répertoire est réputé sans problème. Dans le cas contraire, il est réputé douteux et doit être examiné.
Néanmoins, ce nombre de fichiers à examiner reste beaucoup trop élevé, et cette solution ne règle pas le cas fort fréquent illustré par l'exemple suivant:
Dans un répertoire de traitement de texte, correct à l'instant t,, il y a:
- un fichier exécutable obligatoire: "traitext.exe"
(fichier spécial)
- et un fichier de données: "texteNol.doc"
(fichier ordinaire)
- pas de fichier backup avec l'extension: .bak
Si à 11 instant t1, le fichier "traitext.exe" a été modifié, ou bien s'il y a en plus un fichier "exectx.ovl", il y a une erreur.
Par contre si le "texteNol.doc" a été modifié, ou s'il y a un fichier "texteNol.bak" en plus, il n'y a pas d'erreur.
L invention a pour but de remédier aux inconvénients ci-dessus en proposant un système d'analyse automatique, qui prend en compte ces particularités des fichiers informatiques, lesquelles particularités sont propres à leur type spécial ou ordinaire, notamment parmi les types exécutable, fichier de données, fichier système et fichier de paramétrages, stockés sur au moins une mémoire de masse d'ordinateurs, structurée sous la forme d'arborescences de répertoires contenant lesdits fichiers. A cet effet, l'invention concerne un procédé de comparaison de fichiers informatiques qui comporte les étapes suivantes:
- mémorisation à l'instant t0 d'un premier état d'au
moins une mémoire de masse, 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,
- mémorisation à l'instant tl=to+T d'un second état
d'au moins une mémoire de masse, 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, - comparaison d'une partie pouvant constituer la
totalité du premier état et d'une partie pouvant
constituer la totalité du second état, consistant
dans au moins une des étapes suivantes:
a) mémorisation au moins temporaire des
informations stockées dans les parties des états
concernant respectivement les répertoires et
fichiers supprimés, c'est à dire 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 stockées dans les parties des états,
concernant respectivement les répertoires et
fichiers ajoutés, c'est à dire 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 stockées dans les parties comparées
des états, concernant respectivement les
répertoires et fichiers modifiés, c'est à dire
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, 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 stockées dans les parties comparées
des états, concernant respectivement les
répertoires et fichiers identiques, c'est à dire
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 partié 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.
Selon une variante de réalisation, l'étape de comparaison comporte au moins l'une des étapes suivantes:
a) 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 deuxième état
et d'autre part des informations stockées dans les
parties comparées des états, concernant
respectivement les répertoires et fichiers
supprimés.
b) 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
respectivement les répertoires et fichiers ajoutés.
Selon un mode de réalisation préférentiel, au moins un des états comporte au moins une troisième table comportant des lignes relatives aux types de fichiers d'un répertoire des arborescences des mémoires de masse d'ordinateurs, lesquels types ordonnent les fichiers ordinaires et les fichiers spéciaux contenus dans ledit répertoire et laquelle 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 sur chacun des fichiers du type considéré contenus dans ledit répertoire des arborescences des mémoires de masse, lesquelles informations sont ensuite stockées dans les colonnes de ladite troisième table.
Selon un mode de réalisation avantageux, l'étape de comparaison est précédée d'une étape de mémorisation de critères de comparaison dits " règles de diagnostic ", respectivement sur les répertoires, sur les fichiers et sur les types de fichiers, lesquels critères sont vérifiés lors de l'étape de comparaison, dans une phase dite phase de vérification des " règles de diagnostic ".
Le procédé d'analyse automatique de fichiers conforme à l'invention est spécifiquement destiné à l'analyse, au contrôle et à la maintenance d'un grand nombre de fichiers informatiques.
Dans un soucis de précision de la description, on a choisi le cadre du système d'exploitation DOS de
MICROSOFT. I1 sera facile pour l'homme de l'art de se reporter aux spécifications de systèmes de fichiers de systèmes d'exploitation et à la littérature existante pour appliquer le procédé à d'autres environnements.
Le système de fichiers FAT du DOS est ainsi nommé "File
Allocation Table" pour sa méthode d'organisation liant par le moyen d'une table les unités d'allocations (un à plusieurs secteurs de la mémoire de masse), prises par un fichier, entre elles. Cette table est dupliquée pour permettre certains contrôles.
Outre cette table, une partition de la mémoire de masse possède un répertoire racine ayant une taille fixe et un emplacement fixe dans la mémoire. Les autRes répertoires sont des fichiers spéciaux comportant chacun des entrées de 32 octets pour chaque fichier contenu dans le répertoire. Chaque entrée de répertoire comprend les informations suivantes:
- le nom de fichier sur 8 octets,
l'extension de fichier sur 3 octets (l'extension de
DOS sera assimilée au type de fichier),
- Les attributs de fichier sur 1 octet, y inclus le
bit de positionnement du fichier ' en sous
répertoires et le bit de positionnement du fichier
en nom de volume (une seule entrée de ce type par
volume, un volume étant une partition de mémoire de
masse),
- suivis de 10 octets réservés,
l'heure et la date du dernier accès en écriture au
fichier sur 4 octets,
l'unité d'allocation de départ du fichier sur 2
octets (les autres unités d'allocation du fichier
sont données par la FAT),
- la taille du fichier sur 4 octets.
Le premier octet du nom, au déplacement OOh de l'entrée de répertoire, peut être un caractère ou l'un des codes spéciaux suivants:
- OOh Entrée non utilisée, les autres caractères
du nom sont des espaces (20h),
- 2Eh Entrée servant d'alias d'un répertoire ou
d'un répertoire parent (dans ce dernier cas, le
second octet est aussi 2Eh),
- E5h Entrée supprimée,
Les fonctions "findfirst" et "findnext" d'un compilateur C pour DOS (Compilateur C++ de BORLAND par exemple) permettent aisément de récupérer les informations de ladite FAT.
On appelle par la suite table, l'ensemble des occurrences (appelées aussi lignes de la table) d'une structure de données (appelées aussi colonnes de la table).
Dans un mode de réalisation préféré, à l'intérieur de chaque table, le nombre de colonnes dans une ligne est fixe, la taille de chaque colonne est elle-même fixe, de telle sorte que la taille d'une ligne, égale à la somme des tailles des différentes colonnes, est également fixe.
I1 résulte de cette organisation que l'accès à la Xième colonne de la Yième ligne se fait classiquement par un simple calcul de déplacement par rapport au début de la table.
Le procédé d'analyse automatique de fichiers selon l'invention, comporte une première phase dite " phase de création t0 " au cours de laquelle on mémorise à un instant to/ des tables comportant des informations délivrées par le système d'exploitation, tables représentatives d'un état, dit " état t0 ", de mémoires de masse ou d'un sous-ensemble homogène de celles-ci, suivie d'une deuxième phase dite " phase de saisie manuelle " au cours de laquelle on enrichit manuellement d'informations supplémentaires lesdites tables de 1'" état t0 ", suivie d'une troisième phase, dite " phase de création tl ", identique à ladite " phase de création t0 ", au cours de laquelle on crée les tables représentatives d'un état, dit " état tl ", des mêmes ou d'autres mémoires de masse, à un instant " t1 = t0 + T ", suivie d'une quatrième phase, dite " phase de comparaison ", au cours de laquelle on génère, à partir des tables de 1'" état t0 " et des tables de 1'" état tl ", 6 ensembles de tables représentatifs de 6 états intermédiaires, suivie d'une cinquième phase dite " phase d'exploitation des résultats " au cours de laquelle on exploite les tables générées au cours de la quatrième phase pour générer des comptes-rendus d'analyse et effectuer des actions correctrices sur les fichiers des mémoires de masse.
Ladite " phase de création t0 ", comporte la mémorisation de trois tables, à savoir, une première table pour les informations relatives aux répertoires des mémoires de masse traitées, une deuxième table pour les informations relatives aux fichiers des mémoires de masse traitées, une troisième table pour les informations relatives aux types ou extensions des fichiers des mémoires de masse traitées.
Ces trois tables comportent, des colonnes, dont certaines sont calculées lors desdites " phase de création " à partir des informations délivrées par le système d'exploitation, dont d'autres sont initialisées lors desdites " phases de création ", puis renseignées manuellement lors de ladite " phase de saisie manuelle ", d'autres enfin, sont initialisées lors desdites " phases de création ", puis calculées au moment de ladite " phase de comparaison ". L'accès aux valeurs de ces colonnes pour une ligne particulière est réalisé par l'intermédiaire de variables.
On expose ci-dessous un exemple de structure à trois tables d'un état puis les " phases de création " de ces tables.
La première table d'un état, relative aux répertoires des mémoires de masse traitées, comporte les colonnes suivantes:
Une première série de colonnes de la première table d'un état, dite " table des répertoires ", est élaborée à partir des informations délivrées par le système d'exploitation, parmi lesquelles:
- un identifiant unique, par exemple le numéro de
ligne dans la table sur 4 octets,
- le nom du répertoire sur 8 octets,
- l'extension du répertoire sur 3 octets,
- Les attributs du répertoire sur 1 octet,
- l'heure et la date du dernier accès en écriture au
répertoire sur 4 octets,
- la somme des tailles des fichiers contenus dans le
répertoire sur 4 octets.
- l'identifiant du répertoire père sur 4 octets,
- le niveau de ce répertoire dans l'arborescence sur
2 octets (0 est le niveau d'un répertoire "Super
racine" de la mémoire de masse, répertoire que l'on
ajoute pour les besoins du procédé, et auquel sont
rattachés les répertoires racine, de niveau 1, de
chacun des volumes de ladite mémoire de masse; on
peut de la sorte, en gardant la même structure
arborescente, regrouper dans la même table les
informations relatives à tous les volumes de ladite
mémoire de masse. Les répertoires de niveau n sont
à la fois fils d'un répertoire père de niveau n-l,
petits-fils d'un répertoire de niveau n-2, etc.),
- le nombre de répertoires fils contenus dans le
répertoire considéré sur 2 octets,
- le plus petit des identifiants, dans la présente
table, de répertoires fils du répertoire considéré,
sur 4 octets,
- le nombre de fichiers contenus dans le répertoire
considéré, sur 4 octets,
- le plus petit des identifiants, dans la seconde
table, de fichiers contenus dans le répertoire
considéré, sur 4 octets,
- le nombre d'extensions de fichiers contenus dans le
répertoire considéré sur 2 octets,
- le plus petit des identifiants, dans la troisième
table, d'extensions de fichiers contenus dans le
répertoire considéré, sur 4 octets,
- un " checksum " sur 4 octets constitué de la somme
bit à bit des " checksums " (décrits plus loin) de
tous les fichiers contenus dans le répertoire
considéré,
Une deuxième série de colonnes de la première table d'un état, dite " table des répertoires ", est initialisée dans la " phase de création " et renseignée à partir des calculs opérés dans la " phase de comparaison ", parmi lesquelles:
- Une colonne comportant pour chaque ligne la valeur
d'une " variable d'occurrence " sur 1 octet,
initialisée à Oh lors de la création de la ligne
dans ladite " phase de création ", calculée dans
ladite " phase de comparaison " entre le premier
état t0 ", et le deuxième " état t1 ", pour
mémoriser la présence, simultanée ou non, des mêmes
fichiers dans un même répertoire de 1'" état t0 " et
de 1'" état tl ".
Une troisième série de colonnes de la première table d'un état, dite " table des répertoires ", est initialisée lors de la " phase de création " et renseignée manuellement lors de la " phase de saisie manuelle "; cette troisième série de colonnes comporte un ensemble de critères de comparaison dit "règles de diagnostic", accessibles, pour chaque ligne, par des variables, s'appliquant à tous les fichiers d'un répertoire, désigné par ladite ligne, parmi lesquelles:
- Une colonne comportant pour chaque ligne la valeur
d'une " variable de contrôle d'intégrité " sur 2
octets, initialisée à zéro lors de la création de
la ligne, renseignée manuellement dans la " phase
de saisie manuelle " et utilisée dans la " phase de
comparaison ", après le calcul des " variables
d'occurrence ", pour constituer un test de
définition des anomalies et des erreurs, concernant
les fichiers du répertoire désigné par ladite
ligne, en fonction des différentes valeurs desdites
" variables d'occurrence
- Une colonne comportant pour chaque ligne la valeur
d'une " variable de contrôle de taille " sur 1
octet, initialisée à zéro lors de la création de la
ligne, renseignée manuellement dans " la phase de
saisie manuelle ", et utilisée dans la " phase de
comparaison " pour constituer un seuil de
définition des erreurs résultant notamment d'un
accroissement excessif de la taille ou du nombre
des fichiers du répertoire désigné par ladite
ligne.
Enfin, une quatrième série de colonnes de la première table d'un état, dite " table des répertoires ", est initialisées lors de la " phase de création ", puis calculée lors de la " phase de comparaison "; cette quatrième série de colonnes comporte un ensemble de valeurs d'erreurs résultant de tests effectués, lors de la comparaison, d'après les "règles de diagnostic", accessibles, pour chaque ligne, par des variables, s'appliquant à tous les fichiers du répertoire, désigné par ladite ligne, parmi lesquelles:
- Une colonne comportant pour chaque ligne la valeur
d'une " variable d'erreur d'intégrité " sur 1
octet, initialisée à zéro, ce qui correspond à
l'absence d'erreur, lors de la création de la
ligne, mise à jour lors de la " phase de
comparaison " après le calcul des " variables
d'occurrence ", pour mémoriser les erreurs
concernant les fichiers du répertoire désigné par
ladite ligne, en fonction des différentes valeurs
desdites " variables d'occurrence " et des
informations contenues dans lesdites " variables de
contrôle d'intégrité " relatives à ce répertoire.
- Une colonne comportant pour chaque ligne la valeur
d'une " variable d'erreur de taille " sur un octet,
initialisée à zéro, ce qui correspond à l'absence
d'erreur, lors de la création de la ligne, mise à
jour lors de la " phase de comparaison " pour
mémoriser les erreurs résultant d'un accroissement
excessif de la taille ou du nombre des fichiers du
répertoire désigné par ladite ligne, compte-tenu
des informations contenues dans la " variable de
contrôle de taille " relative à ce répertoire.
Cette " variable de contrôle de taille " obéit aux mêmes règles que la " variable de contrôle d'intégrité sauf qu'elle concerne les erreurs résultant d'un accroissement excessif de la taille des fichiers.
Chaque répertoire de la mémoire de masse traitée possède une et une seule ligne dans la première table, dite " table des répertoires ". La chaîne de caractères est écrite sur disque grâce aux fonctions de la librairie disque du compilateur C.
Le " checksum " pourra être beaucoup plus complexe, élaboré sur un nombre supérieur d'octets et prendre en compte d'autres informations de façon à maximiser la probabilité que la modification d'un élément du répertoire modifie ledit " checksum
La deuxième table d'un état, relative aux fichiers des mémoires de masse traitées, comporte les colonnes suivantes:
Une première série de colonnes de la deuxième table d'un état, dite " table des fichiers ", est élaborée à partir des informations délivrées par le système d'exploitation, parmi lesquelles:
- un identifiant unique, par exemple le numéro de
ligne dans la table sur 4 octets,
- le nom du fichier sur 8 octets,
l'extension du fichier sur 3 octets,
- Les attributs de fichier sur 1 octet, y inclus le
bit de positionnement du fichier en sous
répertoires et le bit de positionnement du fichier
en nom de volume (une seule entrée de ce type par
volume, un volume étant une partition de mémoire de
masse),
l'heure et la date du dernier accès en écriture au
fichier sur 4 octets,
- la taille du fichier sur 4 octets.
l'identifiant dans la première table du répertoire
père contenant le fichier sur 4 octets.
- le niveau du répertoire contenant le fichier.
- un "checksum" sur 4 octets constitué de la somme
bit à bit des 4 octets de la taille du fichier, des
4 octets de l'heure et date du dernier accès en
écriture au fichier, des 3 octets de l'extension,
des 4 premiers octets du nom et des 4 derniers
octets du nom.
Une deuxième série de colonnes de la deuxième table d'un état, dite " table des fichiers ", est initialisée dans la " phase de création " et renseignée à partir des calculs opérés dans la " phase de comparaison ", parmi lesquelles:
- Une colonne comportant pour chaque ligne la valeur
d'une " variable d'occurrence " sur 1 octet,
initialisée à Oh lors de la création de la ligne,
dans ladite " phase de création ", calculée dans la
" phase de comparaison " entre le premier état,
" état t0 ", et le deuxième état, " état t1 ", pour
mémoriser la présence simultanée, ou non, de ce
fichier sur les deux états.
Une troisième série de colonnes de la deuxième table d'un état, dite " table des fichiers ", est initialisée lors de la " phase de création " et renseignée manuellement lors de la " phase de saisie manuelle "; cette troisième série de colonnes comporte un ensemble de critères de comparaison dit "règles de diagnostic", accessibles, pour chaque ligne, par des variables, s'appliquant au fichier désigné par ladite ligne, parmi lesquelles:
- Une colonne comportant pour chaque ligne la valeur
d'une " variable de contrôle d'intégrité " sur 1
octet, initialisée à zéro lors de la création de la
ligne, renseignée manuellement dans la " phase de
saisie manuelle " et utilisée dans la " phase de
comparaison ", après le calcul des " variables
d'occurrence ", pour constituer un test de
définition des anomalies et des erreurs, concernant
le fichier désigné par ladite ligne, en fonction
des différentes valeurs desdites " variables
d'occurrence
- Une colonne comportant pour chaque ligne la valeur
d'une " variable de contrôle de taille " sur 1
octet, initialisée à zéro lors de la création de la
ligne, renseignée manuellement dans la " phase de
saisie manuelle ", et utilisée dans la " phase de
comparaison " pour constituer un seuil de
définition des erreurs résultant notamment d'un
accroissement excessif de la taille du fichier
désigné par ladite ligne.
Enfin, une quatrième série de colonnes de la deuxième table d'un état, dite " table des fichiers ", est initialisées lors de la " phase de création ", puis calculée lors de la " phase de comparaison "; cette quatrième série de colonnes comporte un ensemble de valeurs d'erreurs, résultant de tests effectués lors de la comparaison d'après les " règles de diagnostic ", parmi lesquelles:
- Une colonne comportant pour chaque ligne la valeur
d'une " variable d'erreur d'intégrité " sur 1
octet, initialisée à zéro, ce qui correspond à
l'absence d'erreur, lors de la création de la
ligne, mise à jour lors de la " phase de
comparaison ", après le calcul des " variables
d'occurrence ", pour mémoriser les erreurs
concernant le fichier désigné par ladite ligne, en
fonction des différentes valeurs desdites
" variables d'occurrence " et des informations
contenues dans lesdites " variables de contrôle
d'intégrité " relatives à ce fichier et relatives
au répertoire le contenant.
- Une colonne comportant pour chaque ligne la valeur
d'une " variable d'erreur de taille " sur 1 octet,
initialisée à zéro, ce qui correspond à l'absence
d'erreur, lors de la création de la ligne, mise à
jour lors de la " phase de comparaison " pour
mémoriser les erreurs résultant d'un accroissement
excessif de la taille du fichier, désigné par
ladite ligne, compte-tenu des informations
contenues dans les "variables de contrôle de
taille" relatives à ce fichier et au répertoire le
contenant.
Selon une caractéristique avantageuse de l'invention, appliquée au cas d'un système d'exploitation multiutilisateurs, on pourrait mémoriser de la même manière d'autres informations délivrées par ledit système d'exploitation, telles que: l'heure et la date de la dernière consultation, le numéro de la station qui est à l'origine de la création ou copie d'un fichier, etc., suivant ce que le système d'exploitation est capable de fournir sans nécessiter l'ouverture du fichier dans l'une quelconque des phases du procédé.
Chaque fichier de la mémoire de masse traitée possède une et une seule ligne dans la seconde table. La chaîne de caractères constituée par cette seconde tabl
- les extensions BAT sont celles des fichiers de type
traitements par lots,
- les extensions BAK sont généralement celles de
fichiers de type backups,
- les extensions SYS et DRV sont celles de fichiers
de type drivers,
- etc.
Dans d'autres systèmes d'exploitation, comme MAC/OS, le type n'est pas exploité comme une extension. I1 n'apparaît pas à l'affichage du nom, mais il reste exploitable selon le même principe.
On pourra aussi imaginer une notion élargie du type à des regroupements de types. Dans le cas du DOS, les fichiers exécutables à partir de la ligne de commande constitueraient un type regroupant les extensions EXE, COM et BAT, que l'on pourrait appeler type des fichiers spéciaux. Les autres fichiers relevant du type des fichiers ordinaires.
Les fichiers de données d'un traitement de textes constitueraient un autre type de fichiers spéciaux, regroupant les extensions DOC des documents et DOT des modèles. Les autres fichiers relevant du type des fichiers ordinaires.
Tous les types spécifiés constituent les types de fichiers spéciaux, les types non spécifiés constituent les types de fichiers ordinaires.
La troisième table d'un état, relative aux types de fichiers des mémoires de masse traitées, comporte les colonnes suivantes:
Une première série de colonnes de la troisième table d'un état, dite " table des types " ou " table des extensions ", est élaborée à partir des informations délivrées par le système d'exploitation, parmi lesquelles:
- un identifiant unique, par exemple le numéro de
ligne dans la table, sur 4 octets,
- l'identifiant dans la première table du répertoire
considéré contenant au moins un fichier de
l'extension considérée, sur 4 octets,
- l'extension sur 3 octets,
- le niveau du répertoire considéré contenant les
fichiers ayant ladite extension, sur 2 octets,
- la somme des tailles des fichiers contenus dans le
répertoire considéré et comportant l'extension
considérée, sur 8 octets,
- le nombre de fichiers ayant ladite extension et
contenus dans ledit répertoire sur 4 octets.
- un " checksum " sur 4 octets constitué de la somme
bit à bit des " checksums " de tous les fichiers de
l'extension considérée contenue dans le répertoire
considéré.
Une deuxième série de colonnes de la troisième table d'un état, dite " table des extensions ", est initialisée dans la " phase de création " et renseignée à partir des calculs opérés dans la " phase de comparaison ", parmi lesquelles:
- Une colonne comportant pour chaque ligne une
" variable d'occurrence " sur 1 octet, initialisée
à Oh lors de la création de la ligne, dans ladite
" phase de création ", calculée dans ladite n phase
de comparaison " entre le premier état, " état t0 "
et le deuxième état, " état t1 ", pour mémoriser le
présence simultanée, ou non, des mêmes fichiers
ayant cette extension, dans i'" état t0 " et
1'" état t1
Une troisième série de colonnes de la troisième table d'un état, dite " table des extensions ", est initialisée lors de la " phase de création " et renseignée manuellement lors de la " phase de saisie manuelle "; cette troisième série de colonnes comporte un ensemble de critères de comparaison dit "règles de diagnostic", accessibles, pour chaque ligne, par des variables, s'appliquant à tous les fichiers d'un type désigné par ladite ligne, parmi lesquelles:
- Une colonne comportant pour chaque ligne la valeur
d'une " variable de contrôle d'intégrité " sur 1
octets, initialisée à zéro lors de la création de
la ligne, renseignée manuellement dans la " phase
de saisie manuelle " et utilisée dans la " phase de
comparaison ", après le calcul des " variables
d'occurrence ", pour constituer un test de
définition des anomalies et des erreurs, concernant
les fichiers de l'extension désignée par ladite
ligne, en fonction des différentes valeurs desdites
variables d'occurrence
- Une colonne comportant pour chaque ligne une valeur
de " variable de contrôle de taille " sur 1 octet,
initialisée à zéro lors de la création de la ligne,
renseignée manuellement dans la " phase de saisie
manuelle ", et utilisée dans la " phase de
comparaison " pour constituer un seuil de
définition des erreurs résultant notamment d'un
accroissement excessif de la taille ou du nombre
des fichiers de l'extension désignée par ladite
ligne.
Enfin, une quatrième série de colonnes de la troisième table d'un état, dite " table des extensions ", est initialisée lors de la " phase de création ", puis calculées lors de la " phase de comparaison "; cette quatrième série de colonnes comporte un ensemble de valeurs d'erreurs résultant de tests effectués lors de la comparaison d'après les règles de diagnostic, accessibles, pour chaque ligne, par des variables, s'appliquant à tous les fichiers de l'extension désignée par ladite ligne, parmi lesquelles:
- Une colonne comportant pour chaque ligne la valeur
d'une "variable d'erreur d'intégrité'' sur 1 octet,
initialisée à zéro, ce qui correspond à l'absence
d'erreur, lors de la création de la ligne, mise à
jour lors de la " phase de comparaison ", après le
calcul des "variables d'occurrence", pour mémoriser
les erreurs concernant les fichiers ayant
l'extension désignée par ladite ligne, en fonction
des différentes valeurs desdites "variables
d'occurrence" et des informations contenues dans
ladite "variable de contrôle d'intégrité" relative
à cette extension.
- Une colonne comportant pour chaque ligne la valeur
d'une "variable d'erreur de taille" sur 1 octet,
initialisée à zéro, ce qui correspond à l'absence
d'erreur, lors de la création de la ligne, mise à
jour lors de la phase de comparaison pour mémoriser
les erreurs résultant d'un accroissement excessif
de la taille et du nombre de fichiers ayant
l'extension désignée par ladite ligne, compte-tenu
des informations contenues dans la "variable de
contrôle de taille" relative à cette extension.
Chaque extension de fichiers de la mémoire de masse traitée possède autant de lignes qu'il y a de répertoires contenant au moins un fichier de l'extension considérée.
En d'autres termes, il y a autant de lignes dans la table pour un répertoire, qu'il y a d'extensions différentes dans ledit répertoire. La chaîne de caractères constituée par cette troisième table est écrite sur disque à la suite de la chaîne de caractères constituée de la première table et de la seconde table grâce aux fonctions de la librairie disque du compilateur C.
D'une manière générale, dans les premières à troisième tables définies dans le présent mode de réalisation, toutes les informations citées ne sont pas nécessaires pour résoudre le problème technique. Certaines ont été mentionnées car elles permettent lors des étapes de comparaison de meilleures performances. De même, pourraiton envisager d'ajouter des informations en vue d'accélerer ou de sécuriser les traitements sans que l'objet de l'invention s'en trouve modifié.
Le traitement de la " phase de création ", entre la lecture des tables du système de fichiers du système d'exploitation, et la mémorisation des états en mémoire volatile ou en mémoire de masse, est un traitement comportant des sélections, des tris et calculs, réalisés en mémoire selon des techniques connues, en une ou plusieurs passes d'écriture de l'état, telles que celles qui sont mises à la disposition du programmeur par des langages de troisième génération comme le langage C.
Dans une première étape de la " phase de création ", dite " étape des répertoires ", le traitement lit toute l'arborescence de répertoires du ou des volumes traités et génère la première table des répertoires en ne renseignant que les informations propres à la structure arborescente des répertoires (un identifiant unique, le nom du répertoire, l'extension du répertoire, les attributs du répertoire, la date et l'heure du dernier accès en écriture, l'identifiant du répertoire père, le niveau de ce répertoire dans l'arborescence, le nombre de répertoires fils contenus dans le répertoire considéré, etc.)
Dans une deuxième étape de la " phase de création ", dite " étape des fichiers ", la première table est relue ligne par ligne et les répertoires correspondants sont explorés de façon à rassembler les informations sur les fichiers contenus dans chaque répertoire, et à calculer et mémoriser ces informations d'une part par répertoire dans la première table (la somme des tailles des fichiers contenus dans le répertoire, le nombre de fichiers contenus dans le répertoire, le nombre d'extensions de fichiers contenus dans le répertoire considéré, un "checksum"), d'autre part par fichier dans la seconde table (un identifiant unique, le nom du fichier, l'extension du fichier, Les attributs de fichier, la date et l'heure du dernier accès en écriture au fichier, la taille du fichier, un checksum etc.) et enfin par extension d'un répertoire dans la troisième table (un identifiant unique, l'identifiant du répertoire considéré, l'extension, la somme des tailles des fichiers contenus dans le répertoire considéré et comportant l'extension considérée, le nombre de fichiers ayant ladite extension et contenus dans ledit répertoire, un "checksum").
Le fichier ainsi constitué est un premier état, dit " état t0 ", réalisé à l'instant t,, instant de la mémorisation de la mémoire de masse traitée.
Ladite " phase de création " est suivie d'une deuxième phase, dite " phase de saisie manuelle " qui ne concerne que 1'" état t0 " auquel on veut comparer 1'" état tl ", et au cours de laquelle, on peut introduire manuellement des " règles de diagnostic ", c'est à dire assigner des valeurs aux " variables de contrôle d'intégrité " et " variables de contrôle de taille " pour chaque occurrence de chacune des 3 tables de 1" état t0 ".
La modification manuelle des " variables de contrôle d'intégrité " peut porter sur les 3 tables de 1'" état t0 ".
Une " variable de contrôle d'intégrité " affectée à une ligne de la deuxième table, dite " table des fichiers ", concerne un fichier, et prend l'une des valeurs suivantes:
- 02h pour signaler qu'il y aura une erreur si le
fichier est en moins dans l'état " tl" par rapport à
l'état " to" (c'est à dire fichier obligatoire),
- 03h pour signaler qu'il y aura une erreur si le
fichier est en moins ou modifié,
- OOh pas d'erreur possible de cette nature avec ce
fichier; c'est la valeur par défaut qui est placée
lors de ladite phase de création.
Une " variable de contrôle d'intégrité " affectée à une ligne de la troisième table, dite " table des extensions concerne les fichiers d'un répertoire ayant une extension particulière, et prend l'une des valeurs suivantes:
- Olh pour signaler qu'il y aura une erreur s'il y a,
dans le répertoire, un ou plusieurs fichiers ayant
cette extension en plus dans 1" état t; " par
rapport à 1'" état t0 ".
- OOh pas d'erreur possible de cette nature, pour les
fichiers ayant cette extension (valeur par défaut).
Une "variable de contrôle d'intégrité" affectée à une ligne de la première table, dite " table des répertoires concerne à la fois les fichiers et les sous-répertoires du répertoire auquel correspond ladite ligne.
Le premier octet de ladite "variable de contrôle d'intégrité" de la première table concerne les fichiers dudit répertoire, autres que ceux qui ont une extension identique à celle d'une ligne de la troisième table rattachée audit répertoire, et pour lesquels c'est la "variable de contrôle d'intégrité" de ladite ligne qui est utilisée; ledit octet prend l'une des valeurs suivantes:
- Olh pour signaler qu'il y aura une erreur s'il y a,
dans le répertoire, un ou plusieurs fichiers en
plus dans 1'" état tl " par rapport à 1'" état t0 ",
sauf indication contraire spécifiée dans les
variables de contrôle d'intégrité " des lignes de
la troisième table rattachées à ce répertoire;
- OOh pas d'erreur possible de cette nature, dans ce
répertoire sauf indication contraire spécifiée dans
les " variables de contrôle d'intégrité " des
lignes de la troisième table rattachées à ce
répertoire (valeur par défaut).
Le deuxième octet de ladite " variable de contrôle d'intégrité " de la première table concerne les sousrépertoires fils, petits-fils, etc. dudit répertoire, et prend l'une des valeurs suivantes:
- Olh pour signaler qu'il y aura une erreur s'il y a
un ou plusieurs fichiers dans les sous-répertoires
fils, petit-fils, etc., dépendant dudit répertoire,
en plus dans 1'" état t1 " par rapport à 1'" état
t0 ", sauf indication contraire spécifiée dans les
" variables de contrôle d'intégrité " de cette
première table desdits répertoires fils, petits
fils, etc.
- OOh pas d'erreur possible de cette nature (valeur
par défaut).
La modification manuelle d'une " variable de contrôle de taille " peut porter sur les 3 tables ou l'une quelconque d'entre elles;
Une " variable de contrôle de taille " de la deuxième table, dite " table des fichiers ", concerne un fichier et prend l'une des valeurs suivantes:
- Olh pour signaler qu'il y aura une anomalie si la
taille du fichier fait apparaître une augmentation
supérieure à 10 % lors de la comparaison;
- 02h pour signaler qu'il y aura une anomalie si la
taille du fichier fait apparaître une augmentation
supérieure à 1 million d'octets lors de la
comparaison;
- OOh pas d'erreur possible de cette nature pour ce
fichier (valeur par défaut).
Une " variable de contrôle de taille " de la troisième table, dite " table des extensions ", concerne les fichiers d'un répertoire ayant une extension particulière, et prend l'une des valeurs suivantes:
- 01h pour signaler qu'il y aura anomalie si la somme
des tailles des fichiers ayant cette extension dans
le répertoire fait apparaître une augmentation
supérieure à 10 % lors de la comparaison;
- 02h pour signaler qu'il y aura anomalie si la somme
des tailles des fichiers ayant cette extension dans
le répertoire fait apparaître une augmentation
supérieure à 1 million d'octets, lors de la
comparaison;
- 80h pour signaler qu'il y aura anomalie si le
nombre de fichiers ayant cette extension dans le
répertoire fait apparaître une augmentation
supérieure à 10% lors de la comparaison;
- OOh pas d'erreur possible de cette nature pour
les fichiers ayant cette extension (valeur par
défaut).
Une " variable de contrôle de taille ", affectée à une ligne de la première table, dite " table des répertoires ", concerne un répertoire, auquel correspond ladite ligne, et prend l'une des valeurs suivantes:
- Olh pour signaler qu il y aura une anomalie si la
somme des tailles des fichiers du répertoire fait
apparaître une augmentation supérieure à 10 % lors
de la comparaison;
- 02h pour signaler qu'il y aura une anomalie si la
somme des tailles des fichiers du répertoire fait
apparaître une augmentation supérieure à 1 million
d'octets lors de la comparaison;
- 80h pour signaler qu'il y aura anomalie si le
nombre de fichiers dans le répertoire fait
apparaître une augmentation supérieure à 10% lors
de la comparaison;
- OOh pas d'erreur possible de cette nature, au
niveau répertoire sauf spécification contraire au
niveau des deuxième ou troisième table (valeur par
défaut).
Dans certains cas, on peut vouloir appliquer à certains fichiers ayant une extension donnée, des " règles de diagnostic " différentes de celles qui s'appliquent à tous les fichiers du répertoire, et ne pas avoir eu de génération, lors de la " phase de création ", de ligne correspondante dans la troisième table de 1" état t0 "; c'est ce qui arrive lorsqu'aucun fichier ne comporte cette extension dans 1" état t0 "
Dans une première étape de la " phase de saisie manuelle ", dite étape de création des " lignes virtuelles ", avant l'étape de modification manuelle des valeurs des " variables de contrôle d'intégrité ", le traitement offrira avantageusement la possibilité d'ajouter notamment dans la troisième table de 1'" état t0 ", des lignes, dites " lignes virtuelles ". Ces lignes ne correspondent physiquement à aucune extension présente sur la mémoire de masse traitée dans 1" état t0 ", à l'issue de la phase de création, elles n'ont qu'une réalité logique pour tester leur présence dans 1"' état t1 " ou pour réaliser des tests par exclusion de cas particuliers. Ces lignes comportent toutes les colonnes de ladite table, mais les colonnes " somme des tailles ",
nombre de fichiers ", " heure et date de la dernière écriture " et " checksum " sont inutilisées et laissées à zéro.
Dans la deuxième étape de la " phase de saisie manuelle ", dite étape de modification manuelle des valeurs des " variables de contrôle d'intégrité ", les " lignes virtuelles " peuvent être mises à jour manuellement comme les autres lignes. Elles sont utilisées comme les autres lignes, lors de la phase de comparaison.
Dans un autre mode de réalisation, lesdites " règles de diagnostic " peuvent être mémorisées indépendamment des trois tables de 1'" état t0 ", dans une quatrième table, distincte des 3 premières;
Selon un mode de réalisation, ladite quatrième table pourrait comporter des lignes du type suivant:
DOC ", " permis dans ", " WORD4 ", " WORD5 ", " WINWORD "
Laquelle ligne devrait être interprêtée: " tous les fichiers ayant l'extension DOC sont permis dans les répertoires WORD4, WORD5 et WINWORD ".
Selon un mode de réalisation différent et dans un système d'exploitation multi-utilisateurs faisant intervenir une notion de numéro de la station qui a crée ou copié un fichier, ladite quatrième table pourrait comporter des lignes du type suivant:
" EXE ", " création interdite sauf station ", " 001
laquelle ligne devrait être interprêtée: " les fichiers ayant une extension EXE n'ont pas le droit d'être créés ou copiés sauf par la station No 001 ".
Ladite " phase de modification manuelle " est suivie d'une troisième phase qui consiste en une ré-édition de la
phase de création " à l'instant tl=to+T, laquelle produit un second état, dit " état t1 ". Dans ce cas, on compare l'évolution de la mémoire de masse traitée par le procédé, entre deux dates distantes d'une période T.
On pourra aussi générer le premier état, éventuellement manuellement, pour un sous-ensemble logique homogène ne coïncidant pas nécessairement avec un volume de mémoire de masse d'ordinateurs. Ce sera, par exemple le cas d'un ensemble progiciel pour lequel on souhaitera conserver un état, limité au progiciel et qui représente l'arborescence de l'ensemble des fichiers qui sont installés pour son fonctionnement. Ces états ne sont pas liés à la notion de date, mais à la notion de version de progiciel. Toutefois, pour la suite de la description, on parlera d'" état t0 ".
Ils pourront être constitués en bibliothèques auxquelles il pourra être fait référence lors des comparaisons, notamment pour vérifier leur intégrité dans la mémoire de masse à un instant t1.
Dans une autre variante de réalisation, la troisième table pourrait ne pas être générée dans cette phase et donc ne pas être mémorisée dans l'état ainsi produit, mais plutôt à l'initialisation de la comparaison.
La quatrième phase, dite " phase de comparaison " consiste, à partir de l'" état t0 " et de 1" état t1 ", à fabriquer 6 états intermédiaires, chacun desdits états comportant les 3 tables relatives respectivement aux répertoires, fichiers et extensions que comportent 1'" état t0 " et 1'" état tl ".
Ces 6 états sont les suivants:
- L'état appelé par la suite " état des supprimés
comporte dans sa deuxième table une ligne pour
chacun des seuls fichiers présents dans l'" état
to " et absents dans " état tl ", à l'exclusion de
toute autre ligne; la première table dudit état
comporte les seules lignes nécessaires pour
rattacher lesdits fichiers à la Super-racine de la
mémoire de masse; la troisième table dudit état
comporte les seules lignes nécessaires pour qu'un
fichier soit rattaché à une ligne de même
extension.
- I1 en est de même avec l'état appelé par la suite
" état des ajoutés " qui comporte les seuls
fichiers absents dans 1'" état to " et présents
dans 1'" état t1 ",
- Il en est de même avec l'état appelé par la suite
état des identiques " qui comporte les seuls
fichiers communs à 1" état to " et à 1" état t1 ",
et inchangés,
- Il en est de même avec l'état appelé par la suite
" état des modifiés " qui comporte les seuls
fichiers communs à 1" état to " et à l'" état t1
et modifiés entre t0 et tl,
- Il en est de même avec l'état appelé par la suite
Union t0 " qui comporte tous les fichiers de
l'" état to " plus tous les fichiers de 1" état
t1 " absents dans 1" état to ";
- Il en est de même avec l'état appelé par la suite
" Union t1 " qui comporte tous les fichiers de
l'" état t1 " plus tous les fichiers de l'" état
to " absents dans 1'" état t1 ";
La " phase de comparaison " comprend une première étape, dite " étape de tri ", et une deuxième étape dite, " étape d'analyse ".
La première étape, dite " étape de tri ", qui consiste à classer l'ensemble des lignes correspondant aux 3 tables de l'" état to " et à faire de même avec les 3 tables de l'" état t1 ", comporte elle-même 6 sous-étapes.
Dans la première sous-étape de ladite " étape de tri ", qui consiste à classer la première table correspondant aux répertoires de l'" état to ", on procède de la manière suivante:
- on commence par classer par nom de répertoire
croissant les lignes correspondant aux répertoires
du niveau 1, que l'on place en tête du tableau,
juste après ligne correspondant à la ligne " Super
racine " qui a le niveau 0;
- ensuite, on classe les lignes correspondant aux
répertoires du niveau 2, selon le rang de la ligne
de leur répertoire père au niveau 1, ce qui a pour
effet de regrouper toutes les lignes des
répertoires fils du ler père, puis les lignes des
fils du second père, etc.
- ceci étant fait, à l'intérieur de chacun des dits
groupes de fils, on trie les lignes par nom de
répertoire croissant.
- puis on place ces lignes après celles correspondant
au niveau 1.
- les lignes correspondant au niveau 2 étant ainsi
classées, on trie selon le même mode les lignes du
niveau 3,
- le traitement est répété pour chaque niveau,
jusqu'au niveau maximum.
Dans la deuxième sous-étape de ladite " étape de tri on procède, d'une manière similaire à la première sousétape, pour classer la première table de 1" état tl ".
Dans la troisième sous-étape, les lignes de la deuxième table relative aux fichiers de 1" état to " sont classées de la manière suivante:
- en majeur, selon le niveau du répertoire auquel est
attaché le fichier,
- puis à l'intérieur de chaque niveau, selon le rang
de la ligne correspondant au répertoire auquel est
rattaché le fichier,
- puis à l'intérieur de chaque répertoire les lignes
sont classées par extension de fichier croissante,
- puis à l'intérieur de chaque répertoire et chaque
extension de fichier les lignes sont classées par
nom de fichier croissant.
Dans la quatrième sous-étape de ladite " étape de tri on procède, d'une manière similaire à la troisième sousétape, pour classer la deuxième table de 1"' état tl ".
Dans la cinquième sous-étape, les lignes de la troisième table relative aux extensions de 1" état to sont classées de la manière suivante:
- en majeur, selon le niveau du répertoire auquel est
attaché l'extension,
- puis à l'intérieur de chaque niveau, selon le rang
de la ligne correspondant au répertoire auquel est
rattaché cette extension,
- puis à l'intérieur de chaque répertoire les lignes
sont classées par extension de fichier croissante,
Dans la sixième sous-étape de ladite " étape de tri on procède, d'une manière similaire à la cinquième sousétape, pour classer la troisième de 1" état tl ".
De la sorte, à l'issue de ces 6 sous-étapes, en balayant simultanément et séquentiellement les 3 tables des 2 états " to" et " tl" on obtient à chaque fois les informations relatives à une ligne de la deuxième table de l'état " to" et les informations relatives à la ligne de même nom et même extension, si elle existe, de la deuxième table de l'état " t1";
On obtient également et en même temps, les informations contenues dans la ligne de la troisième table et la ligne de la première table de 1" état to " auxquels est rattaché la ligne de ladite deuxième table de 1" état to ", ainsi que les informations contenues dans la ligne de la première table de l'" état tl " ayant le même nom de répertoire, si ce dernier existe dans l'" état tl ", ainsi que les informations contenues dans les lignes de la troisième table de 1'" état t1 " ayant la même extension, si celle-ci existe dans 1"' état tl ".
Dans le cas où l'on veut limiter la comparaison d'un " état to " à un sous-ensemble d'un autre état " état tl on élimine au moyen d'un filtre, toutes les lignes des 3 tables de 1'" état tl " qui n'appartiennent pas à la branche d'arborescence que l'on veut comparer à 1" état tl ". On procède de façon analogue si l'on veut limiter la comparaison d'un sous-ensemble d'un " état to " à un " état tl ".
La deuxième étape, dite " étape d'analyse " qui consiste à faire défiler en parallèle les lignes des 3 table de 1" état to " et de 1" état tl " et analyser les différents cas qui se présentent comporte elle-même 4 sous-étapes.
Au cours de la première sous-étape de ladite " étape d'analyse ", on détecte les éventuels changements d'extension dans la séquence des lignes de la deuxième table de l'" état to ", et au début de chaque bloc de lignes de même extension de ladite deuxième table, on récupère dans la troisième table de 1'" état to ", les " règles de diagnostic " relatives à cette extension.
S'il y également un changement de répertoire dans la séquence des lignes de la deuxième table de l'" état to ", on récupère dans la première table de l'état " état to ", les " règles de diagnostic " relatives à ce répertoire.
Dans la deuxième sous-étape, pour chaque ligne de la deuxième table de l'" état to", selon la présence simultanée ou non d'une ligne de même nom et même extension dans la table de 1'" état tl ", on calcule les " variables d'occurrence ", ainsi que les " variables d'erreur " desdites deuxièmes tables et on génère les lignes des deuxièmes tables de l'un ou l'autre des 6 états intermédiaires selon la valeur desdites " variables d'occurrence
Dans une troisième sous-étape, à la fin du bloc
Dans une quatrième sous-étape, s'il s'agit en même temps de la fin d'un bloc de fichiers appartenant au même répertoire, on génère les lignes de la première table de l'un ou l'autre des 6 états intermédiaires avec les valeurs appropriées pour les "variable d'occurrence" et "variables d'erreur".
Au cours de ladite deuxième sous-étape, qui ne concerne que les deuxièmes tables, la comparaison entre les lignes de la deuxième table permet d'avoir les 4 configurations suivantes:
Si l'on a la même ligne dans les deuxièmes tables des état t0 " et " état tl ", et qu'en plus, la taille, l'heure et la date de dernière écriture sont identiques, les lignes sont dites " identiques ", et les " variables d'occurrence " des deuxièmes lignes desdits états sont laissées à OOh; les " variables d'erreur " se déduisent aisément des "règles de diagnostic" de ladite ligne de l'" état to ", (en l'occurrence pas d'erreur).
La ligne de l'" état to ", dûment complétée avec les nouvelles valeurs de " variable d'occurrence " et variable d'erreur ", est copiée sur les deuxièmes tables des 3 états: " état des identiques ", " union t0 " et union tl .
Si l'on a la même ligne dans les deuxièmes tables des état t0 " et " état tl ", mais que la taille, l'heure ou la date de dernière écriture diffère, les lignes sont dites " modifiées ", et les " variables d'occurrence " des lignes des deuxièmes tables desdits états sont mises à
Olh.
Les " variables d'erreur " se déduisent aisément des " règles de diagnostic " de ladite ligne de l'" état to comme dans l'exemple suivant: si la " variable de contrôle d'intégrité " de ladite ligne a la valeur 03h, comme ladite ligne a été modifiée, la " variable d'erreur d'intégrité " prendra la valeur 03h qui signifie que le fichier de 1" état to " a été modifié à tort.
La ligne de l'" état to ", dûment complétée avec les nouvelles valeurs de " variable d'occurrence " et
variable d'erreur ", est copiée sur les deuxièmes tables de 2 états: " état des modifiés ", et " union t0 ".
La ligne de 1'" état to ", dûment complétée avec les nouvelles valeurs des " variables d'occurrence " et " variables d'erreur ", est copiée sur la deuxième table de 1'" union tl ".
Si une ligne est présente dans 1" état to " mais absente dans l'" état t1 ", la ligne est dite " supprimée ", et les " variables d'occurrence " des lignes des deuxièmes tables desdits états sont mises à 02h;
Les " variables d'erreur " se déduisent des " règles de diagnostic " de ladite ligne de 1'" état to " comme dans l'exemple suivant: si la " variable ' de contrôle d'intégrité " de ladite ligne a la valeur 02h, comme ladite ligne a été supprimée, la " variable d'erreur d'intégrité " prendra la valeur 02h qui signifie que le fichier, obligatoire, de l'" état to " est manquant.
La ligne de l'" état to ", dûment complétée avec les nouvelles valeurs des " variable d'occurrence " et " variables d'erreur ", est copiée sur les deuxièmes tables des 2 états " état des supprimés ", et " union t0 ".
Elle est également copiée sur l'état "union tel", avec une " variable d'occurrence " égale à 82h (pour signaler qu'il s'agit d'une ligne qui n'existe pas dans 1" état to ");
Si une ligne est présente dans l'" état tl " mais absente dans 1" état to ", la ligne est dite " ajoutée ", et les " variables d'occurrence " des deuxièmes lignes desdits états sont mises à 03h.
Dans le cas présent, il n'existe pas de " variable de contrôle d'intégrité " dans la deuxième table de l'" état to "; on examine alors la troisième table de 1" état t0 pour voir s'il existe une ligne correspondant à la même extension;
Si c'est le cas on utilise la " variable de contrôle d'intégrité " de ladite troisième table pour calculer les
variables d'erreur d'intégrité ".
Dans le cas contraire, on examine la première table de 1" état to " pour voir s'il existe une ligne correspondant au même répertoire;
Si c'est le cas on utilise le premier octet de la " variable de contrôle d'intégrité " de ladite table pour calculer les " variables d'erreur d'intégrité ".
Dans le cas contraire, on examine la première table de 1'" état to " pour voir s'il existe une ligne correspondant au même répertoire père, ou à défaut grand père, etc., dont on récupère le deuxième octet de la
variable de contrôle d'intégrité ";
Si l'octet concerné de la " variable de contrôle d'intégrité " utilisée a la valeur Olh, il s'agit d'un fichier en trop dans 1'" état tl " par rapport à " état to ", et la " variable d'erreur d'intégrité " sera mise à
Olh.
La ligne de l'" état tl ", dûment complétée avec les nouvelles valeurs de " variable d'occurrence " et " variables d'erreur ", est copiée sur les deuxièmes tables des 2 états: " état des ajoutés ", et " union tl ".
Elle est également copiée sur l'état " union t0 ", avec une " variable d'occurrence " égale à 83h;
Au cours de la troisième sous-étape, on reprend les 6 états intermédiaires, et pour chacun desdits états, on générera une ligne de la troisième table dudit état, si au cours de ladite deuxième sous-étape précédente, on a écrit au moins une ligne de la deuxième table avec la même extension;
En ce qui concerne la " variable d'erreur d'intégrité on utilise la règle suivante:
- s'il y a au moins une ligne de la deuxième table
générée avec la " variable d'erreur d'intégrité " à
Olh, (fichier en trop), le bit de poids Olh de la
" variable d'erreur d'intégrité " de la troisième
table sera mis 1,
- s'il y a au moins une ligne de la deuxième table
générée avec la " variable d'erreur d'intégrité " à
02h, (fichier manquant), le bit de poids 02h de la
" variable d'erreur d'intégrité " de la troisième
table sera mis 1
de telle sorte que ladite " variable d'erreur d'intégrité " prend les valeurs allant de OOh (pas d'erreur) à 03h.
Au cours de la quatrième sous-étape, on procède comme pour ladite troisième sous-étape pour générer les premières tables des 6 états intermédiaires.
Les " règles de diagnostic " relatives à la taille, contenues dans les " variables de contrôle de taille ", et les "variables d'erreur de taille" qui en découlent sont traitées comme les " variables de contrôle d'intégrité et " variables d'erreur d'intégrité ".
Ladite cinquième phase d'exploitation des résultats du procédé, exploite les 6 états intermédiaires générés au cours de ladite quatrième phase pour générer des comptes-rendus d'analyse et effectuer des actions correctrices sur les fichiers de l'une ou l'autre desdites mémoires de masse.
A titre d'exemple, et de façon non limitative, on peut citer la création d'un compte-rendu des " erreurs d'intégrité " que l'on fabrique de la façon suivante.
Grâce à un filtre, on ne garde, des 3 états " état des ajoutés ", " état des supprimés " et " état des modifiés " que les lignes qui ont une " variable d'erreur d'intégrité " différente de OOh;
Puis on fusionne les 3 états ainsi modifiés pour fabriquer un nouvel état, à partir duquel on peut éditer la liste des fichiers en trop, manquants, ou modifiés à tort dans 1" état t1 " par rapport à l'" état t0 ".

Claims (10)

REVENDICATIONS:
1. Procédé de comparaison de fichiers informatiques,
spéciaux ou ordinaires, notamment de type exécutables,
fichiers de données, fichiers système et fichiers de
paramétrages, stockés sur au moins une mémoire de
masse, structurée sous la forme d'arborescences de
répertoires contenant lesdits fichiers, caractérisé en
ce qu'il comporte les étapes suivantes:
- mémorisation à l'instant t0 d'un premier état d'au
moins une mémoire de masse, 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,
- mémorisation à l'instant t1=to+T d'un second état
d'au moins une mémoire de masse, 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,
- comparaison d'une partie pouvant constituer la
totalité du premier état et d'une partie pouvant constituer la totalité du second état, consistant dans au moins une des étapes suivantes: a) mémorisation au moins temporaire des informations stockées dans les parties des états concernant respectivement les répertoires et fichiers supprimés, c'est à dire 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 stockées dans les parties des états, concernant respectivement les répertoires et fichiers ajoutés, c'est à dire 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 stockées dans les parties comparées des états, concernant respectivement les répertoires et fichiers modifiés, c'est à dire 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, 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.
tables qui sont communes aux deux états.
concerne les lignes desdites premières et secondes
la partie comparée du premier état, pour ce qui
répertoires et auxdits fichiers dans les tables de
second état à celles qui sont associées auxdits
tables, identiques dans la partie comparée du
dans les colonnes desdites premières et secondes
système d'exploitation de l'ordinateur, stockées
second état, avec des informations fournies par le
première et seconde tables de la partie comparée du
état, mais catalogués aussi respectivement dans les
seconde tables de la partie comparée du premier
catalogués respectivement dans les première et
répertoires et fichiers identiques, c'est à dire
des états, concernant respectivement les
informations stockées dans les parties comparées
d) mémorisation au moins temporaire des
2. Procédé de comparaison de fichiers informatiques selon
la revendication 1, caractérisé en ce que l'étape de
comparaison comporte au moins l'une des étapes
suivantes:
a) 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 deuxième état
et d'autre part des informations stockées dans les
parties comparées des états, concernant
respectivement les répertoires et fichiers
supprimés.
respectivement les répertoires et fichiers ajoutés.
parties comparées des états, concernant
d'autre part des informations stockées dans les
stockées dans la partie comparée du premier état et
respectivement les fichiers et répertoires,
d'une part des informations, concernant
b) mémorisation au moins temporaire de la réunion
3. Procédé de comparaison de fichiers informatiques selon
l'une des revendications précédentes, caractérisé en ce
qu'au moins un des états comporte au moins une
troisième table comportant des lignes relatives aux
types de fichiers d'un répertoire des arborescences des
mémoires de masse d'ordinateurs, lesquels types
ordonnent les fichiers ordinaires et les fichiers
spéciaux contenus dans ledit répertoire et laquelle
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 sur chacun des fichiers
du type considéré contenus dans ledit répertoire des
arborescences des mémoires de masse, lesquelles
informations sont ensuite stockées dans les colonnes de
ladite troisième table.
4. Procédé de comparaison de fichiers informatiques selon
l'une des revendications précédentes, caractérisé en ce
que l'étape de comparaison est précédée d'une étape de
mémorisation de critères de comparaison dits " règles
de diagnostic ", respectivement sur les répertoires,
sur les fichiers et sur les types de fichiers, lesquels
critères sont vérifiés lors de l'étape de comparaison,
dans une phase dite phase de vérification des " règles
de diagnostic ".
5. Procédé de comparaison de fichiers informatiques selon
la revendication 4, caractérisé en ce que la
mémorisation des critères de comparaison dits "règles
de diagnostic", respectivement sur les répertoires, sur
les fichiers et sur les types de fichiers, est
effectuée dans des colonnes respectivement de la
première, de la deuxième et de la troisième table d'au
moins un des états comparés.
6. Procédé de comparaison de fichiers informatiques selon
la revendication 4, caractérisé en ce que la
mémorisation des critères de comparaison dits "règles
de diagnostic", respectivement sur les répertoires, sur
les fichiers et sur les types de fichiers, est
effectuée dans une quatrième table d'au moins un des
états comparés.
7. Procédé de comparaison de fichiers informatiques selon
l'une des revendications précédentes, caractérisé en ce
qu'au moins une des première à troisième tables
respectivement du premier et du deuxième état comporte
des colonnes supplémentaires pour chaque ligne,
désignant un répertoire, un fichier ou un type de
fichier:
- initialisées, lors de l'étape de mémorisation,
respectivement du premier état à l'instant t0 et du
deuxième état à l'instant tl,
- renseignées pour chaque ligne desdites tables, lors
de l'étape de comparaison entre les parties
d'états, par une des valeurs, dite
d'occurrence ", associées aux résultats possibles
de ladite comparaison pour l'élément, pris parmi
les répertoires, fichiers et types de fichiers,
appartenant auxdites parties d'états, désigné par
ladite ligne, lesquels résultats possibles sont:
élément supprimé, élément ajouté, élément modifié
et élément identique.
8. Procédé de comparaison de fichiers informatiques selon
la revendication 4, caractérisé en ce qu'au moins une
des première à troisième tables respectivement du
premier et du deuxième état comporte des colonnes
supplémentaires pour chaque ligne, désignant un
répertoire, un fichier ou un type de fichier:
- initialisées, lors de l'étape de mémorisation,
respectivement du premier état à l'instant t0 et du
deuxième état à l'instant t1,
- renseignées pour chaque ligne desdites tables, lors
de l'étape de comparaison, par une des valeurs,
dite " d'erreur ", associées aux résultats
possibles de ladite comparaison, dans sa phase de
vérification des " règles de diagnostic
appliquées à l'élément, pris parmi les répertoires,
fichiers et types de fichiers, appartenant auxdites
parties d'états, désigné par ladite ligne, lesquels
résultats possibles sont: élément en trop, élément
manquant, élément modifié à tort d'une part, et
tout résultat de critères d'erreurs ou d'anomalies
mémorisé au préalable, d'autre part.
9. Procédé de comparaison des fichiers informatiques selon
l'une des revendications précédentes, caractérisé en ce
que l'étape de comparaison est précédée d'une étape de
mémorisation dans les tables respectivement du premier
et du deuxième état, de lignes désignant des éléments
pris parmi des répertoires, des fichiers et des types
de fichiers, lesquelles lignes n' existaient pas à
1 issue des mémorisations respectivement aux instants
t0 et t1.
répertoires, à des fichiers et à des types de fichiers.
dont les lignes sont relatives respectivement à des
constituent une seule et même table dans ledit état
troisième table, aussi table des extensions, d'un état
seconde table, aussi table des répertoires, et la
que la première table, aussi table des fichiers, la
l'une des revendications précédentes, caractérisé en ce
10.Procédé de comparaison des fichiers informatiques selon
FR9400623A 1994-01-21 1994-01-21 Procédé de comparaison de fichiers informatiques. Expired - Fee Related FR2715486B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR9400623A FR2715486B1 (fr) 1994-01-21 1994-01-21 Procédé de comparaison de fichiers informatiques.
US08/676,380 US5806073A (en) 1994-01-21 1995-01-18 Method for the comparison of computer files
PCT/FR1995/000053 WO1995020196A1 (fr) 1994-01-21 1995-01-18 Procede de comparaison de fichiers informatiques

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9400623A FR2715486B1 (fr) 1994-01-21 1994-01-21 Procédé de comparaison de fichiers informatiques.

Publications (2)

Publication Number Publication Date
FR2715486A1 true FR2715486A1 (fr) 1995-07-28
FR2715486B1 FR2715486B1 (fr) 1996-03-29

Family

ID=9459245

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9400623A Expired - Fee Related FR2715486B1 (fr) 1994-01-21 1994-01-21 Procédé de comparaison de fichiers informatiques.

Country Status (3)

Country Link
US (1) US5806073A (fr)
FR (1) FR2715486B1 (fr)
WO (1) WO1995020196A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005101240A1 (fr) * 2004-03-23 2005-10-27 Alain Nicolas Piaton Procede de recherche d'informations, moteur de recherche et microprocesseur pour la mise en oeuvre de ce procede

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4006079B2 (ja) * 1998-02-27 2007-11-14 株式会社東芝 ネットワークコンピュータおよびその制御方法
US6842876B2 (en) * 1998-04-14 2005-01-11 Fuji Xerox Co., Ltd. Document cache replacement policy for automatically generating groups of documents based on similarity of content
US6282175B1 (en) * 1998-04-23 2001-08-28 Hewlett-Packard Company Method for tracking configuration changes in networks of computer systems through historical monitoring of configuration status of devices on the network.
US6269374B1 (en) * 1998-05-26 2001-07-31 International Business Machines Corporation Method and apparatus for updating checksums of data structures
US6236993B1 (en) * 1998-06-24 2001-05-22 Victor V. Fanberg Computer file comparison method
US6981225B1 (en) * 2000-01-31 2005-12-27 Intel Corporation Indicating the differences between Internet web pages
KR20020006122A (ko) * 2000-07-11 2002-01-19 우진호 실시간 메모리 체크 방법
DE10108156A1 (de) * 2001-02-20 2002-08-29 Basf Ag Rylenderivate
FR2831972B1 (fr) * 2001-11-07 2004-05-07 Alain Nicolas Piaton Methode de synchronisation de fichiers entre ordinateurs
US20060129539A1 (en) * 2004-12-09 2006-06-15 Masashi Nakatomi Information processing device and method thereof
US8015319B2 (en) * 2005-10-27 2011-09-06 Huawei Technologies Co., Ltd. Method, system, client and server for implementing data sync
US20080120319A1 (en) 2006-11-21 2008-05-22 International Business Machines Corporation System and method for identifying computer users having files with common attributes
US20090043832A1 (en) * 2007-05-03 2009-02-12 Kivati Software, Llc Method of determining and storing the state of a computer system
JP5869941B2 (ja) * 2012-04-02 2016-02-24 株式会社ソニー・コンピュータエンタテインメント 情報処理装置およびサーバ

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2293741A1 (fr) * 1974-12-04 1976-07-02 Anvar Procede et systeme de rapprochement iteratif et simultane de donnees avec un ensemble de donnees de reference
AU649455B2 (en) * 1990-07-11 1994-05-26 American Telephone And Telegraph Company Distributed computing system
US5475625A (en) * 1991-01-16 1995-12-12 Siemens Nixdorf Informationssysteme Aktiengesellschaft Method and arrangement for monitoring computer manipulations
US5619690A (en) * 1993-06-21 1997-04-08 Hitachi, Ltd. Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system
JP3270216B2 (ja) * 1993-10-08 2002-04-02 富士通株式会社 ファイル名検出方式
US5590320A (en) * 1994-09-14 1996-12-31 Smart Storage, Inc. Computer file directory system
US5566328A (en) * 1995-01-23 1996-10-15 Tandem Computers Incorporated Reconstructing directory pathnames from file handles in a computer system
US5608865A (en) * 1995-03-14 1997-03-04 Network Integrity, Inc. Stand-in Computer file server providing fast recovery from computer file server failures

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Configuring Downstream File Servers from Master Servers", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 33, no. 3A, August 1990 (1990-08-01), ARMONK, NY, US, pages 190 *
"Mechanism for Trusted Computing Base Definition and Checking", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 34, no. 9, February 1992 (1992-02-01), ARMONK, NY, US, pages 188 - 191 *
DATABASE TDB International Business Machines Corporation; *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005101240A1 (fr) * 2004-03-23 2005-10-27 Alain Nicolas Piaton Procede de recherche d'informations, moteur de recherche et microprocesseur pour la mise en oeuvre de ce procede

Also Published As

Publication number Publication date
WO1995020196A1 (fr) 1995-07-27
FR2715486B1 (fr) 1996-03-29
US5806073A (en) 1998-09-08

Similar Documents

Publication Publication Date Title
Carvey et al. Digital forensics with open source tools
FR2715486A1 (fr) Procédé de comparaison de fichiers informatiques.
Tiwari Professional nosql
US20040267823A1 (en) Reconcilable and undoable file system
US20070143527A1 (en) Saving and restoring an interlocking trees datastore
US20130232175A1 (en) Information retrieval system, registration apparatus for indexes for information retrieval, information retrieval method and program
EP0227530A1 (fr) Procédé d'écriture avec mise à jour et de lecture d'informations sur un support non effaçable organisé en secteurs
EP0988607A1 (fr) Dispositif d'analyse et d'organisation de donnees
Tahaghoghi et al. Learning MySQL
EP0263014A1 (fr) Procédé de gestion de fichiers sur un support d'information non-effacable
Geschwinde et al. PostgreSQL developer's handbook
US7340471B2 (en) Saving and restoring an interlocking trees datastore
US20220222146A1 (en) Versioned backup on an object addressable storage system
FR2746526A1 (fr) Procede pour conserver une base de donnees a organisation temporelle et spatiale
Campesato Data Cleaning Pocket Primer
US20090043832A1 (en) Method of determining and storing the state of a computer system
FR3094509A1 (fr) Système de stockage redondant de données, procédé et programme d’ordinateur correspondants.
US7890538B2 (en) System and method for converting and storing data values
DiLeo et al. Files and Databases
WO2005004000A1 (fr) Dispositif informatique du type pda pour le stockage et la gestion de bases de donnees relationnelles
WO2014118560A1 (fr) Procédé et système de stockage de données
CN114661525A (zh) 关系型数据库的数据备份方法、系统、装置及存储介质
WO2003040956A1 (fr) Methode de synchronisation de fichiers entre ordinateurs
WO2003012682A1 (fr) Systeme de gestion d'une base de donnees topologique
Cooper Files and Databases

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20100930