Patent US4897781A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4897781A Expired / Lapsed US ⏱️ 0.0 years remaining

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

Assignee: International Business Machines Corp
•
Filing: 1987-02-13
•
Granted: 1990-01-30
•
Expires: 2007-02-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a distributed environment several data processing systems are interconnected across a network system. A distributed services program installed on the systems in the network allows the processors to access data files distributed across the various nodes of the network without regard to the location of the data file in the network. The processing system accessing file, referred to as the client processing system, utilizes a client cache within its operating system to store the data file. Utilizing the client cache minimizes the number of reads and writes that must go over the network to the server processing system where the file physically resides. The system and method of this invention prevents a process in the client processing system from accessing data in the client cache that has been modified at another node in the network. The blocks of data in the client cache are tested for validity in the client processing system by using modification times as measured by the server processing system. If the cache data blocks are determined to be valid, the data blocks are determined to be invalid, the data blocks are discarded, and the file is accessed from the server processing system.

Inventors

  • 👤 Albert Chang
  • 👤 Grover H. Neuman
  • 👤 Amal A. Shaheen-Gouda
  • 👤 Todd A. Smith

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 22:55
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0813; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 198 words
A system for determining the validity of data residing in a plurality of blocks in a client cache, of a client data processing system at a client mode, from a file residing in a server data processing system at a server node, wherein said server data processing system and said client data processing system are connected by means of a communications link, said system comprising: means for determining, at the server node, a latest modification time of the file; means, in the client data processing system, for saving, corresponding to each of the blocks in the client cache, the latest determined modification time of the file, received from the server data processing system, when the file is closed at the client; means for recording, in the client data processing system, another determined latest modification time, received from the server data processing system, when said file is subsequently reopened at said client processing system; and means coupled to said saving means and said recording means for comparing, in the client data processing system, the latest determined modification time corresponding to one of said blocks with the recorded another determined latest modification time to determine the validity of said block.
Claim 2
Independent Claim 198 words
A system for determining the validity of data residing in a plurality of blocks in a client cache, of a client data processing system at a client mode, from a file residing in a server data processing system at a server node, wherein said server data processing system and said client data processing system are connected by means of a communications link, said system comprising: means for determining, at the server node, a latest modification time of the file; means, in the client data processing system, for saving, corresponding to each of the blocks in the client cache, the latest determined modification time of the file, received from the server data processing system, when the file is closed at the client; means for recording, in the client data processing system, another determined latest modification time, received from the server data processing system, when said file is subsequently reopened at said client processing system; and means coupled to said saving means and said recording means for comparing, in the client data processing system, the latest determined modification time corresponding to one of said blocks with the recorded another determined latest modification time to determine the validity of said block.
Claim 3
Dependent Claim 46 words
The system of claim 1 wherein said one of the blocks of the file in the client cache is accessed if said another determined latest modification time in the client processing system is equal to the latest determined modification time corresponding to each of said blocks.
Claim 4
Dependent Claim 37 words
The system of claim 1 wherein the file is accessed from the server processing system if the another determined latest modification time is not equal to the latest determined modification time corresponding to each of said blocks.
Claim 5
Dependent Claim 25 words
The system of claim 1 wherein the blocks of the file in the client cache are discarded whenever the blocks are determined to be invalid.
Claim 6
Independent Claim 242 words
A system for using cached data residing in a plurality of blocks in a client cache, of a client data processing system at a client node, from a file residing in a server data processing system at a server node, wherein said server data processing system and said client data processing system are connected by means of a communications link, said system comprising: first means for recording, at the server data processing system, a one last modification time for the file whenever the file at the server data processing system is modified; means for saving, in said client data processing system, said one last modification time, received from the server data processing system, for each of the cached data blocks for the file in the client cache when the file is closed at the client data processing system; second means for recording, in the client data processing system, another last modification time, received from the server data processing system, of the file at the server processing system, at a time of a subsequent reopen of the file in the client data processing system; and means coupled to said saving means and said second recording means for using at least one of the blocks of the file in the client cache if said using means determines that said saved one last modification time for each of said blocks is equal to the recorded another last modification time in the client data processing system.
Claim 7
Independent Claim 242 words
A system for using cached data residing in a plurality of blocks in a client cache, of a client data processing system at a client node, from a file residing in a server data processing system at a server node, wherein said server data processing system and said client data processing system are connected by means of a communications link, said system comprising: first means for recording, at the server data processing system, a one last modification time for the file whenever the file at the server data processing system is modified; means for saving, in said client data processing system, said one last modification time, received from the server data processing system, for each of the cached data blocks for the file in the client cache when the file is closed at the client data processing system; second means for recording, in the client data processing system, another last modification time, received from the server data processing system, of the file at the server processing system, at a time of a subsequent reopen of the file in the client data processing system; and means coupled to said saving means and said second recording means for using at least one of the blocks of the file in the client cache if said using means determines that said saved one last modification time for each of said blocks is equal to the recorded another last modification time in the client data processing system.
Claim 8
Independent Claim 198 words
A method for using cached data residing in a plurality of blocks in a client cache, of a client processing system at a client mode, from a file residing in a server processing at a server node, wherein said server processing system and said client processing system are connected by means of a communications link, said method comprising the steps of: recording by the client processing system a one last modification time, received from the server data processing system, of the file at the server processing system, for each of the cached data blocks in the client cache when the file is closed at the client processing system; recording by the client processing system another last modification time, received from the server processing system, of the file at the server processing system during a subsequent reopen of the file in the client processing system; and using at least one of the cached data blocks by a processing the client processing system if said process determines that said one last modification time for each of the at least one cached data blocks is equal to the another last modification time, of the file, recorded in the client processing system.
Claim 9
Independent Claim 198 words
A method for using cached data residing in a plurality of blocks in a client cache, of a client processing system at a client mode, from a file residing in a server processing at a server node, wherein said server processing system and said client processing system are connected by means of a communications link, said method comprising the steps of: recording by the client processing system a one last modification time, received from the server data processing system, of the file at the server processing system, for each of the cached data blocks in the client cache when the file is closed at the client processing system; recording by the client processing system another last modification time, received from the server processing system, of the file at the server processing system during a subsequent reopen of the file in the client processing system; and using at least one of the cached data blocks by a processing the client processing system if said process determines that said one last modification time for each of the at least one cached data blocks is equal to the another last modification time, of the file, recorded in the client processing system.
Claim 10
Dependent Claim 33 words
The method of claim 6 further comprising the step of accessing the file from the server processing system if the one last modification time and the another last modification time are not equal.
Claim 11
Dependent Claim 32 words
The method of claim 6 further comprising the step of discarding data in the cached data blocks when the last one modification time and the another last modification time are not equal.
Claim 12
Independent Claim 231 words
A method for determining the validity of data residing in a cache block in a client processing system from a file residing in a server processing system, wherein the client processing system and the server processing system are connected by means of a communication link, said method comprising the steps of: recording by the server processing system a latest modification time for the file at the server processing system whenever the file at the server processing system is updated; recording by the client processing system the latest modification time, received from the server processing system, when the file in the client processing system is first opened; allocating the cache block assigned to the file in the client cache in the client processing system when a block of the file is read from the server processing system; recording by said client processing system the latest modification time recorded in the client processing system for each allocated cache block; updating by said client processing system the latest modification time recorded in each said allocated cache block assigned to the file when the file is last closed at the client processing system; and comparing by said client processing system the latest modification time recorded in the client processing system a first reopen to the updated latest modification time for each said allocated cache block, to determine the validity of each said allocated cache block.
Claim 13
Independent Claim 231 words
A method for determining the validity of data residing in a cache block in a client processing system from a file residing in a server processing system, wherein the client processing system and the server processing system are connected by means of a communication link, said method comprising the steps of: recording by the server processing system a latest modification time for the file at the server processing system whenever the file at the server processing system is updated; recording by the client processing system the latest modification time, received from the server processing system, when the file in the client processing system is first opened; allocating the cache block assigned to the file in the client cache in the client processing system when a block of the file is read from the server processing system; recording by said client processing system the latest modification time recorded in the client processing system for each allocated cache block; updating by said client processing system the latest modification time recorded in each said allocated cache block assigned to the file when the file is last closed at the client processing system; and comparing by said client processing system the latest modification time recorded in the client processing system a first reopen to the updated latest modification time for each said allocated cache block, to determine the validity of each said allocated cache block.
Claim 14
Dependent Claim 45 words
The method of claim 9 further comprising the step of using, by a process in the client processing system, the cached block if the latest modification time recorded in the client processing system is the same as the latest modification time for the cache block.
Claim 15
Dependent Claim 46 words
The method of claim 9 further comprising the step of accessing the file from the server processing system, by the client processing system, if the latest modification time recorded in the client processing system is different from the latest modification time for the allocated cache block.
Claim 16
Dependent Claim 43 words
The method of claim 9 further comprising the step of discarding the data in the client cache block if the latest modification time recorded in the client processing system at the first reopen is not equal to the time for the cache block.
Claim 17
Dependent Claim 50 words
The method of claim 9 further comprising the step of replacing the data in the cache block with current data from the server if the latest modification time recorded in the client processing system at the first reopen is not equal to the latest modification time for the cache block.
Claim 18
Dependent Claim 25 words
The method of claim 9 wherein the data is discarded at any time the client processing determines the said compared modification times are not equal.
Claim 19
Independent Claim 239 words
A system for keeping a plurality of blocks of data in a client cache, from a file residing at a server processing system, available for use by a client processing system when the file is reopened after a close of the file at the client processing system, wherein the client processing system and the server processing system are connected by means of a communication link, said system comprising: first means for recording, in each of the cached blocks in the client processing system, a one last modification time, received from the server processing system, of the file at the server processing system, when the file is closed at the client processing system; second means for recording, in the client processing system, another last modification time, received from the server processing system, of the file at the server processing system, when the file is subsequently reopened at the client processing system; means coupled to said first and second recording means for comparing the modification times in the client processing system and the cached blocks to determine if the data in the cache blocks remained unmodified at the server processing system while the file at the client processing system was closed; and means coupled to said comparing means for using the data from the cached blocks by a process in the client processing after the file is subsequently reopened in the client processing system if the compared modification times are equal.
Claim 20
Independent Claim 239 words
A system for keeping a plurality of blocks of data in a client cache, from a file residing at a server processing system, available for use by a client processing system when the file is reopened after a close of the file at the client processing system, wherein the client processing system and the server processing system are connected by means of a communication link, said system comprising: first means for recording, in each of the cached blocks in the client processing system, a one last modification time, received from the server processing system, of the file at the server processing system, when the file is closed at the client processing system; second means for recording, in the client processing system, another last modification time, received from the server processing system, of the file at the server processing system, when the file is subsequently reopened at the client processing system; means coupled to said first and second recording means for comparing the modification times in the client processing system and the cached blocks to determine if the data in the cache blocks remained unmodified at the server processing system while the file at the client processing system was closed; and means coupled to said comparing means for using the data from the cached blocks by a process in the client processing after the file is subsequently reopened in the client processing system if the compared modification times are equal.
Claim 21
Dependent Claim 200 words
A computer program having program code means for determining the validity of data residing in a plurality of blocks in a client cache, of a client data processing system at a client node, from a file residing in a server data processing system at a server node, wherein said server data processing system and said client data processing system are connected by means of a communications link, said computer program comprising: first program code means, in the client data processing system, for causing a recording of correspondence between each of the blocks in the client cache and a latest determined modification time of the file, received from the server data processing system, when the file is closed at the client; second program code means for causing a recording, in the client data processing system, of another determined latest modification time, received from the server data processing system, when said file is subsequently reopened at said client processing system; and third program code means for causing a comparison, in the client data processing system, between the latest determined modification time corresponding to one of said blocks and the recorded another determined latest modification time to determine the validity of said block.
Claim 22
Dependent Claim 200 words
A computer program having program code means for determining the validity of data residing in a plurality of blocks in a client cache, of a client data processing system at a client node, from a file residing in a server data processing system at a server node, wherein said server data processing system and said client data processing system are connected by means of a communications link, said computer program comprising: first program code means, in the client data processing system, for causing a recording of correspondence between each of the blocks in the client cache and a latest determined modification time of the file, received from the server data processing system, when the file is closed at the client; second program code means for causing a recording, in the client data processing system, of another determined latest modification time, received from the server data processing system, when said file is subsequently reopened at said client processing system; and third program code means for causing a comparison, in the client data processing system, between the latest determined modification time corresponding to one of said blocks and the recorded another determined latest modification time to determine the validity of said block.

References Cited (Backward Citations)

US4432057A Cited
US4620276A Cited
US4635189A Cited
US4718005A Cited
US4686620A Cited
US4718002A Cited
US4710870A Cited
US4714995A Cited
US4714992A Cited
US4714996A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1993-01-29 1993-07-31 1994-01-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1997-01-29 1997-07-31 1998-01-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2001-01-29 2001-07-31 2002-01-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag