EP0278317B1

A system and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment.

Abstract

This record has no abstract on file.

EP0278317B1, drawing sheet 1
Sheet 1 of 11

Term

Term ended

Expired 26 January 2008, 18.7 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

4 claims: 4 independent, 0 dependent

  1. 1
    A system for accessing a file (5) in a server processing system (10A) at a server node (A) for use by a client processing system (10B) at a client node (B), said system comprising:a client cache (12B) in the client processing system (10B) for buffering a plurality of blocks of the file at the client node (B) from the server processing system, the client processing system (10B) determining the validity of the blocks in the client cache (12B) as a function of a time at the server processing system (10A), the blocks of the file in the client cache (12B) being accessed if the blocks are determined to be valid, the file being accessed from the server processing system (10A) if the blocks are determined to be invalid, the blocks of the file in the client cache (12B) being discarded whenever the blocks are determined to be invalid;characterised in that said system further comprises;means for writing (123) a latest modification time (T1 to T3) to the file at the server processing system (10A) whenever the file is updated;a plurality of cache data blocks (116, 118) in the client cache (12B) assigned to the file, said data blocks each comprising the latest modification time (T2) written to the file at the server processing system when the file is closed at the client processing system;a cache block (150) in the client cache (12B) having the latest modification time (T3) written to the file at the server processing system at a time of a first open of the file in the client processing;means for comparing (137) the latest modification time (T3) recorded in the client processing system at the first open to the latest modification time (T2) in the allocated cache block (116, 118);means for accessing (138) data from the client cache (12B) of the client processing system if the time recorded in the client processing system (T3) at the first open is equal to the time (T2) in the cache block, and    means for accessing (138) the file from the server processing system (10A) if the time (T3) recorded in the client processing system (10B) at the first open is not equal to the time (T2) in the cache block. Ein System zum Zugriff auf eine Datei (5) in einem Server-Verarbeitungssystem (10A) in einem Server-Knoten (A) zur Verwendung in einem Client-Verarbeitungssystem (10B) in einem Client-Knoten (B), wobei das System enthält: einen Client-Cache-Speicher (12B) in dem Client-Verarbeitungssystem (10B) zur Zwischenspeicherung einer Vielzahl von Blöcken der Datei in dem Client-Knoten (B) aus dem Server-Verarbeitungssystem, wobei das Client-Verarbeitungssystem (10B) die Gültigkeit der Blöcke in dem Client-Cache-Speicher (12B) als eine Funktion von einer Zeit in dem Server-Verarbeitungssystem (10A) festlegt, auf die Blöcke der Datei in dem Client-Cachespeicher (12B) zugegriffen wird, wenn die Blöcke als gültig anerkannt wurden, wobei auf die Datei aus dem Server-Verarbeitungssystem (10A) zugegriffen wird, wenn die Blöcke als ungültig anerkannt wurden, die Blöcke der Datei in dem Client-Cachespeicher (12B) jedesmal weggeworfen werden, wenn die Blöcke als ungültig anerkannt wurden;dadurch gekennzeichnet, daß das System außerdem enthält;Mittel zum Schreiben (123) der Zeit einer letzten Änderung (T1 bis T3) in die Datei in dem Server-Verarbeitungssystem (10A), und zwar jedesmal, wenn die Datei aktualisiert wird;eine Vielzahl von Cache-Datenblöcken (116, 118) in dem der Datei zugeordneten Client-Cache-Speicher (12B), wobei jeder der Datenblöcke die Zeit der letzten Änderung (T2) enthält, die in die Datei in dem Server-Verarbeitungssystem geschrieben wurde, wenn die Datei in dem Client-Verarbeitungssystem geschlossen wird;einen Cache-Block (150) in dem Client-Cache-Speicher (12B) mit der Zeit (T3) der letzten Änderung, die in die Datei in dem Server-Verarbeitungssystem zugleich mit einer ersten Öffnung der Datei in der Client-Verarbeitung geschrieben wurde;Mittel zum Vergleichen (137) der Zeit (T3) der letzten Änderung, die in dem Client-Verarbeitungssystem bei der ersten Öffnung zu der Zeit (T2) der letzten Änderung in dem    zugeteilten Cache-Block (116, 118) aufgezeichnet wurde;Mittel zum Zugriff (138) auf Daten aus dem Client-Cache-Speicher (12B) des Client-Verarbeitungssystems, wenn die in dem Client-Verarbeitungssystem bei der ersten Öffnung aufgezeichnete Zeit (T3) gleich mit der Zeit (T2) in dem Cache-Block ist, und Mittel zum Zugriff (138) auf die Datei aus dem Server-Verarbeitungssystem (10A), wenn die in dem Client-Verarbeitungssystem (10B) bei der ersten Öffnung aufgezeichnete Zeit (T3) nicht gleich mit der Zeit (T2) in dem Cache-Block ist. Système pour accéder à un fichier (5), dans un système de traitement serveur (10A) sur un noeud serveur (A), destiné à être utilisé par un système de traitement client (10B) sur un noeud client (B), ledit système comprenant : une antémémoire client (12B), dans le système de traitement client (10B), pour isoler sur le noeud client (B) une pluralité de blocs de fichier provenant du système de traitement serveur, le système de traitement client (10B) déterminant la validité des blocs dans l'antémémoire client (12B) sous la forme d'une fonction d'un temps sur le système de traitement serveur (10A), l'accès aux blocs du fichier dans l'antémémoire client (12B) étant autorisé si les blocs sont déterminés comme étant valides, l'accès au fichier depuis le système de traitement serveur (10A) étant autorisé si les blocs sont déterminés comme étant invalides, les blocs du fichier dans l'antémémoire client (12B) étant rejetés lorsque les blocs sont déterminés comme étant invalides;caractérisé en ce que le système comprend, de plus : un dispositif pour écrire (123) un dernier temps de modification (T1 à T3) dans le fichier sur le système de traitement serveur (10A) à chaque mise à jour du fichier;une pluralité de blocs de données d'antémémoire (116, 118), dans l'antémémoire client (12B), affectés au fichier, les dits blocs de données comprenant, chacun, le dernier temps de modification (T2) écrit dans le fichier sur le système de traitement serveur lorsque le fichier est fermé sur le système de traitement client;un bloc d'antémémoire (150) dans l'antémémoire client (12B), contenant le dernier temps de modification (T3) écrit dans le fichier sur le système de traitement serveur au moment d'une première ouverture du fichier dans le système de traitement client;un dispositif pour comparer (137) le dernier temps de modification (T3) enregistré dans le système de traitement client à la première ouverture, au dernier temps de modification (T2) dans le bloc d'antémémoire alloué (116, 118);un dispositif pour accéder (138) aux données, depuis l'antémémoire client (12B) du système de traitement client, si le temps enregistré dans le système de traitement client (T3) à la première ouverture est identique au temps (T2) dans le bloc d'antémémoire;et un dispositif pou accéder (138) au fichier, depuis le système de traitement serveur (10A), si le temps (T3) enregistré dans le système de traitement client (10B) à la première ouverture n'est pas identique au temps (T2) dans le bloc d'antémémoire.
  2. 2
    Das System von Anspruch 1, wobei der Cache-Block außerdem eine Dateihandhabung (153) zur Kennzeichnung der Datei enthält. Système selon la revendication 1, dans lequel le bloc d'antémémoire comprend, de plus, un identificateur de fichier (153) pour identifier le fichier. The system of claim 1 wherein the cache block further comprises a file handle (153) identifying the file.
  3. 3
    Das System von Anspruch 1, wobei der Cache-Block außerdem Mittel (152) zur Kennzeichnung des Server-Knotens der Datei enthält. Système selon la revendication 1, dans lequel le bloc d'antémémoire comprend, de plus, un dispositif (152) pour identifier le noeud serveur du fichier. The system of claim 1 wherein the cache block further comprises means (152) for identifying the server node of the file.
  4. 4
    A method for accessing a file (5) in a server processing system (10A) at a server node (A) for use by a client processing system (10B) at a client node (B), said method comprising;    buffering the file in a client cache (12B) having data blocks, determining the validity of the data blocks in the client cache at the client processing system (10B) as a function of a time at the server processing system;    accessing data from the client cache (12B) of the client processing system (10B) if the data blocks are determined to be valid;    accessing the file from the server processing system (10A) if the data blocks are determined to be invalid;    and discarding data in the client cache (12B) block when the data blocks are determined to be invalid;    characterised by:writing (123) a latest modification time (T1 to T3) to the file at the server processing system (10A) whenever the file is updated;recording (122) the latest modification time (T3) in the client processing system (10B) at a time of a first open of the file in the client processing system;allocating (124) a cache block assigned to the file in a client cache (12B) in the client processing system when a block of the file is read, recording (124) the time (T3) recorded in the client processing system at the time of the first open in the allocated cache block;updating (134) the time (T2) recorded in each allocated cache block (116, 118) assigned to the file at a time of a close of the file at the client processing system with the latest modification time to the file at the server processing system;and comparing (137) the latest modification time (T3) recorded in the client processing system at the first open to the latest modification time (T2) in the allocated cache block (116, 118);and    accessing (138) data from the client cache (12B) of the client processing system if the time recorded in the client processing system (T3) at the first open is equal to the time (T2) in the cache block, and accessing (138) the file from the server processing system (10A) if the time (T3) recorded in the client processing system (10B) at the first open is not equal to the time (T2) in the cache block. Ein Verfahren zum Zugriff auf eine Datei (5) in einem Server-Verarbeitungssystem (10A) in einem Server-Knoten (A) zur Verwendung in einem Client-Verarbeitungssystem (10B) in einem Client-Knoten (B), wobei das Verfahren enthält;Zwischenspeicherung der Datei in einem Client-Cache-Speicher (12B) mit Datenblöcken, Bestimmung der Gültigkeit von Datenblöcken in dem Client-Cache-Speicher in dem Client-Verarbeitungssystem (10B) als eine Funktion einer Zeit in dem Server-Verarbeitungssystem;Zugriff von Daten aus dem Client-Cache-Speicher (12B) des Client-Verarbeitungssystems (10B), wenn die Datenblöcke als gültig anerkannt wurden;Zugriff auf die Datei von dem Server-Verarbeitungssystem (10A), wenn die Datenblöcke als ungültig anerkannt wurden;und Wegwerfen von Daten in dem Client-Cache-Block (12B), wenn die Datenblöcke als ungültig anerkannt wurden;dadurch gekennzeichnet: Schreiben (123) einer letzten Änderungszeit (T1 bis T3) in die Datei in dem Server-Verarbeitungssystem (10A), jedesmal bei Aktualisierung der Datei;Aufzeichnung (122) der letzten Änderungszeit (T3) in dem Client-Verarbeitungssystem (10B) zugleich mit einer ersten Öffnung der Datei in dem Client-Verarbeitungssystem;Zuteilung (124) eines Cache-Blocks, der der Datei in einem Client-Cache-Speicher (12B) in dem Client-Verarbeitungssystem zugeordnet wird, wenn ein Block der Datei gelesen wird, Aufzeichnung (124) der Zeit (T3), die in dem Client-Verarbeitungssystem zugleich mit der ersten Öffnung in dem zugeteilten Cache-Block aufgezeichnet wird;Aktualisierung (134) der Zeit (T2), die in jedem zugeteilten Cacheblock (116, 118) aufgezeichnet wurde, die der Datei zugleich mit einer Schließung der Datei in dem Client-Verarbeitungssystem mit der letzten Änderungszeit in der Datei in dem Server-Verarbeitungssystem zugeteilt wird;und Vergleichen (137) der letzten Änderungszeit (T3), die in dem Client-Verarbeitungssystem bei der ersten Öffnung zu der letzten Änderungszeit (T2) in dem zugeteilten Cache-Block (116, 118) aufgezeichnet wurde;und Zugriff (138) auf Daten aus dem Client-Cache-Speicher (12B) des Client-Verarbeitungssystems, wenn die in dem Client-Verarbeitungssystem aufgezeichnete Zeit (T3) bei der ersten Öffnung gleich mit der Zeit (T2) in dem Cacheblock ist und Zugriff (138) auf die Datei aus dem Server-Verarbeitungssystem (10A), wenn die in dem Client-Verarbeitungssystem (10B) bei der ersten Öffnung aufgezeichnete Zeit (T3) nicht gleich mit der Zeit (T2) in dem Cache-Block ist. Procédé pour accéder à un fichier (5), dans un système de traitement serveur (10A) sur un noeud serveur (A), destiné à être utilisé par un système de traitement client (10B) sur un noeud client (B), ledit procédé comprenant les étapes consistant à : isoler le fichier dans une antémémoire client (12B) contenant des blocs de données, et à déterminer la validité des blocs de données dans l'antémémoire client sur le système de traitement client (10B) sous la forme d'une fonction d'un temps sur le système de traitement serveur;accéder aux données depuis l'antémémoire client (12B) du système de traitement client (10B) si les blocs de données sont déterminés comme étant valides;accéder au fichier depuis le système de traitement serveur (10A) si les blocs de données sont déterminés comme étant invalides;et rejeter les données dans le bloc de l'antémémoire client (12B) lorsque les blocs de données sont déterminés comme étant invalides;caractérisé, de plus, par les étapes consistant à : écrire (123) un dernier temps de modification (T1 à T3) dans le fichier sur le système de traitement serveur (10A) à chaque mise à jour du fichier;enregistrer (122) le dernier temps de modification (T3) dans le système de traitement client (10B) au moment d'une première ouverture du fichier dans le système de traitement client;allouer (124) un bloc d'antémémoire affecté au fichier d'une antémémoire client (12B) dans un système de traitement client lorsqu'un bloc du fichier est lu, et enregistrer (124) le temps (T3) enregistré dans le système de traitement client au moment de la première ouverture dans le bloc d'antémémoire alloué;mettre à jour (134) le temps (T2) enregistré dans chaque bloc d'antémémoire alloué (116, 118) affecté au fichier au moment d'une fermeture du fichier sur le système de traitement client sur la base du dernier temps de modification écrit dans le fichier sur le système de traitement serveur;et comparer (137) le dernier temps de modification (T3) enregistré dans le système de traitement client à la première ouverture, avec le dernier temps de modification (T2) dans le bloc d'antémémoire alloué (116, 118);et accéder (138) aux données, depuis l'antémémoire client (12B) du système de traitement client, si le temps enregistré dans le système de traitement client (T3) à la première ouverture est identique au temps (T2) dans le bloc d'antémémoire;et accéder (138) au fichier, depuis le système de traitement serveur (10A), si le temps (T3) enregistré dans le système de traitement client (10B) à la première ouverture n'est pas identique au temps (T2) dans le bloc d'antémémoire.