US2007198685A1PendingUtilityA1
Method and system for use of storage caching with a distributed file system
Est. expiryJan 17, 2023(expired)· nominal 20-yr term from priority
Inventors:Shirish H. Phatak
G06F 16/182G06F 16/172Y10S707/99952Y10S707/99938
47
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A storage caching method and system manages shared access to real time data files while maintaining data file coherency and consistency in a computer network including a plurality of remote computer workstations and at least one file server. The storage caching system is implemented by storage caches, which are associated with workstations, and a cache server, which is associated with a file server, where the storage caches and the cache server interface with a distributed file system to provide shared access to real time data files by remote workstations.
Claims
exact text as granted — not AI-modified1 - 22 . (canceled)
23 . A method for managing shared access to data files stored in a file server by a plurality of authorized computer workstations, the method comprising:
receiving, at a first storage cache, a copy of a data file retrieved from the file server by a cache server for reading or updating, wherein the first storage cache is operative to associate with a plurality of first authorized computer workstations and store the copy of the data file as a cached data file; at the first storage cache, incorporating data file modifications entered by any of the first workstations into the cached data file as the modifications are entered, such that the cached data file is a current version; automatically transmitting file update data from the first storage cache to the cache server, wherein the file update data is a function of the modifications incorporated into the cached data file which make the cached data file the current version.
24 . The method of claim 23 , wherein the file update data is transmitted as streaming data to the cache server.
25 . The method of claim 23 , further comprising:
compressing the file update data prior to transmission to the cache server.
26 . The method of claim 23 , wherein the file update data includes difference data, wherein the difference data represents the difference between the cache data file at the first storage cache and the version of the data file currently stored at the file server or the cache server.
27 . The method of claim 23 , wherein the cache server includes a plurality of cache servers and wherein a replacement version of the data file is generated at least one of the cache servers.
28 . The method of claim 27 , wherein when a communications connection between a first of the cache servers and the first storage cache fails, the first storage cache automatically attempts to establish a communications connection with at least one of the first cache server and a second of the cache servers.
29 . The method of claim 23 , wherein the file update data is automatically transmitted to the cache server at predetermined intervals.
30 . The method of claim 23 further comprising
receiving an access request for the data file from one of the first workstations; and transmitting a message to the cache server operative to cause the cache server to retrieve the data file from the file server.
31 . The method of claim 23 further comprising
transmitting to the cache server a file transfer request identifying the data file; receiving at the storage cache a checksum corresponding to the data file stored in the file server; and computing, using the checksum, the file update data representing one or more differences between the cached data file and the data file stored at the file server represented by checksum.
32 . Logic for managing shared access to data files stored in a file server by a plurality of authorized computer workstations, the logic encoded in one or more media for execution and when executed operable to:
receive, at a first storage cache, a copy of a data file retrieved from the file server by a cache server for reading or updating, associate with a plurality of first authorized computer workstations, store the copy of the data file, at the first storage cache, as a cached data file; incorporate, at the first storage cache, data file modifications entered by any of the first workstations into the cached data file as the modifications are entered, such that the cached data file is a current version; automatically transmit file update data from the first storage cache to the cache server, wherein the file update data is a function of the modifications incorporated into the cached data file which make the cached data file the current version.
33 . The logic of claim 32 , wherein the file update data is transmitted as streaming data to the cache server.
34 . The logic of claim 32 , wherein the logic is further operable to compress the file update data prior to transmission to the cache server.
35 . The logic of claim 32 , wherein the file update data includes difference data, wherein the difference data represents the difference between the cache data file at the first storage cache and the version of the data file currently stored at the file server or the cache server.
36 . The logic of claim 32 , wherein the file update data is automatically transmitted to the cache server at predetermined intervals.
37 . The logic of claim 32 , wherein the logic is further operable to
receive an access request for the data file from one of the first workstations; and transmit a message to the cache server operative to cause the cache server to retrieve the data file from the file server.
38 . The logic of claim 32 , wherein the logic is further operable to
transmit to the cache server a file transfer request identifying the data file; receive at the storage cache a checksum corresponding to the data file stored in the file server; and compute, using the checksum, the file update data representing one or more differences between the cached data file and the data file stored at the file server represented by checksum.
39 . A method for managing shared access to data files stored in a file server by a plurality of authorized computer workstations, the method comprising:
receiving, at a first storage cache, file update data from a cache server in response to a workstation request for access to a data file which is stored at a file server associated with the cache server, wherein the first storage cache is operative to associate with a plurality of first authorized workstations, and wherein the file update data is a function of differences between the data file as currently stored at the file server or the cache server and a cached data file stored at the first storage cache and corresponding to the data file; incorporating the file update data into the cached data file at the first storage cache such that the cached data file is updated to be the same as the data file currently stored at the file server or the cache server; at the first storage cache, incorporating data file modifications entered by any of the first workstations into the cached data file as the modifications are entered, such that the cached data file is a current version; and automatically transmitting file update data from the first storage cache to the cache server, wherein the file update data is a function of the modifications incorporated into the cached data file which make the cached data file the current version.
40 . The method of claim 39 , wherein the file update data is received as streaming data at the first storage cache.
41 . The method of claim 39 , wherein the file update data is compressed.
42 . The method of claim 39 , wherein the automatically transmitting step is performed at predetermined intervals.
43 . The method of claim 39 , further comprising
receiving an access request identifying a data file stored as a cached data file at the storage cache; and transmitting a checksum representing the cached data file to the cache server; wherein the file update data represents one or more differences between the data file stored at the file server and the cached data file stored represented by checksum.
44 . The method according to claim 39 further comprising
receiving, at a storage cache, an access request from a workstation identifying a data file stored at a file server; conditionally transmitting a least request from the storage cache to a cache server, if the storage cache does not have an appropriate existing lease to the data file; if the lease request is granted, then performing the receiving step; if the lease request is denied, then performing a distributed differencing process with the cache server to update the cached data file at the storage cache, and allowing the workstation access to the cached data file.
45 . Logic for managing shared access to data files stored in a file server by a plurality of authorized computer workstations, the logic encoded in one or more media for execution and when executed operable to:
establish a communications connection with a cache server, associate with a plurality of workstations and incorporate data file modifications entered by any of the corresponding associated workstations into a cached data file as the modifications are entered, such that the cached data file is a current version; automatically transmit file update data to the cache server, wherein the file update data is a function of the modifications incorporated into the cached data file which make the cached data file the current version, control whether a request for access to a data file from an associated workstation should be granted or denied, wherein the access request is a request to read or write a data file stored at the file server, and wherein, following receipt of the request, the logic is operable to:
determine a lease condition for the data file existing at the storage cache, wherein the lease condition is one of read, write and no lease;
grant the request if the request is read and the existing lease is read or write, or if the request is write and the lease condition is write;
request a new lease from the cache server if the request is read and the lease condition is no lease, or if the request is write and the lease condition is read or no lease, and
automatically update the cached data file at the storage cache based on the current version of the data file stored at the file server, if a lease is granted or the request is a read.
46 . The logic of claim 45 , wherein the logic is operable to, when a cached data file corresponding to a data file stored at the file server is no longer opened at a workstation, determine whether the cached data file copy was modified based on entries made by the workstation while the cached data file was open;
if the data file copy was modified, automatically transmit file update data to the cache server; and release any lease for the data file.
47 . A method for managing shared access to data files stored in a file server by a plurality of authorized computer workstations, the method comprising:
supplying to a first storage cache a copy of a data file retrieved from the file server by a cache server for reading or updating, wherein the first storage cache is operative to associate with a plurality of first authorized computer workstations, store the copy of the data file as a cached data file, and incorporate data file modifications entered by any of the first workstations into the cached data file as the modifications are entered, such that the cached data file is a current version; receiving file update data automatically transmitted from the first storage cache to the cache server, wherein the file update data is a function of the modifications incorporated into the cached data file which make the cached data file the current version; and at the cache server, generating a replacement version of the data file stored at the file server based on the file update data.
48 . The method of claim 47 further comprising:
at the cache server, if the file is accessed for updating by the first storage cache, protecting the data file stored at the file server from updates from other storage caches until all file update data from the first storage cache has been incorporated into the replacement version of the data file and the replacement version has replaced the data file stored at the file server.
49 . The method of claim 48 , wherein the protecting comprises protecting the data file stored at the file server from updates from other storage caches while the file update data from the first storage cache is transmitted to the cache server.
50 . The method of claim 47 further comprising:
replacing the data file stored at the file server with the replacement version of the data file; and responding to a request for access to the data file subsequently transmitted to the cache server from at least one of a second storage cache and an authorized computer workstation using the replacement version of the data file.
51 . The method of claim 47 , wherein the file update data is transmitted as streaming data to the cache server.
52 . The method of claim 47 , wherein the file update data transmitted to the cache server is compressed.
53 . The method of claim 47 , wherein the file update data includes difference data, wherein the difference data represents the difference between the cached data file at the first storage cache and the version of the data file currently stored at the file server or the cache server.
54 . The method of claim 47 , wherein the file update data is automatically transmitted to the cache server at predetermined intervals.
55 . Logic for managing shared access to data files stored in a file server by a plurality of authorized computer workstations, the logic encoded in one or more media for execution and when executed operable to:
supply to a first storage cache a copy of a data file retrieved from the file server by a cache server for reading or updating, wherein the first storage cache is operative to associate with a plurality of first authorized computer workstations, store the copy of the data file as a cached data file, and incorporate data file modifications entered by any of the first workstations into the cached data file as the modifications are entered, such that the cached data file is a current version; receive file update data automatically transmitted from the first storage cache to the cache server, wherein the file update data is a function of the modifications incorporated into the cached data file which make the cached data file the current version; and at the cache server, generate a replacement version of the data file stored at the file server based on the file update data.
56 . Logic for managing shared access to data files stored in a file server by a plurality of authorized computer workstations, the logic encoded in one or more media for execution and when executed operable to:
associate with a file server and one or more storage caches, wherein each of the storage caches is operative to associate with a plurality of workstations and incorporate data file modifications entered by any of the corresponding associated workstations into a cached data file as the modifications are entered, such that the cached data file is a current version; receive file update data automatically transmitted by one of more storage caches, wherein the file update data is a function of the modifications incorporated into the cached data file at the storage cache which make the cached data file the current version; and wherein logic includes leasing logic, wherein the leasing logic is operable to decide whether to grant or deny a request for a lease for a data file received from a first of the storage caches based on whether, and what type of, lease already exists for the data file or whether the data file is already locked, wherein the decision is made in accordance with criteria that a write lease cannot be granted if a read lease already exists, only a reader right can be granted if a write lease already exists and an additional read lease can be granted if a read lease already exists; and automatically update the cached data file at the first storage cache if a reader right or a read lease is granted.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.