Method and system for use of storage caching with a distributed file system
First Claim
Patent Images
1. 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 associated with a plurality of first authorized computer workstations and stores 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; and
at the cache server, generating a replacement version of the data file stored at the file server based on the file update data.
14 Assignments
0 Petitions
Accused Products
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.
-
Citations
26 Claims
-
1. 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 associated with a plurality of first authorized computer workstations and stores 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; and at the cache server, generating a replacement version of the data file stored at the file server based on the file update data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for managing shared access to data files stored in a file server by a plurality of authorized computer workstations, the method comprising:
-
automatically transmitting file update data from a cache server to a first storage cache in response to a workstation request for access to a data file which is stored at a fiie server associated with the cache server, wherein the first storage cache is associated 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. - View Dependent Claims (12, 13, 14)
-
-
15. A system for managing shared access to data files stored in a file server by a plurality of authorized computer workstations, the system comprising:
-
a cache server for retrieving a copy of a data file stored at the file server; at least a first storage cache for associating with a plurality of first authorized computer workstations, wherein the first storage cache stores in a local memory the retrieved data file copy as a cached data file and incorporates 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; wherein the first storage cache automatically generates and transmits file update data to the cache server as streaming data, 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 wherein the cache server generates a replacement version of the data file based on the file update data and responds 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. - View Dependent Claims (16)
-
-
17. A system for managing shared access to data files stored in a file server by a plurality of authorized computer workstations, the system comprising:
-
a cache server for coupling to the file server; a plurality of storage caches for accessing data files stored in the file server by establishing a communications connection with the cache server, wherein each of the storage caches is for associating with a plurality of workstations and incorporates data file modifications entered by any of the corresponding associated workstations into the cached data file as the modifications are entered, such that the cached data file is a current version; wherein each of the storage caches automatically transmits file update data to the cache server, 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 the cache server includes a leasing module, wherein the leasing module decides 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 a, 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 wherein the cache server automatically performs steps to update the cached data file at the first storage cache if a reader access right or a read lease is granted. - View Dependent Claims (18, 19)
-
-
20. A system for managing shared access to data files stored in a file server by a plurality of authorized computer workstations, the system comprising:
-
a cache server for coupling to the file server; and a plurality of storage caches for accessing the data files stored in the file server by establishing a communications connection with the cache server, wherein each of the storage caches is for associating with a plurality of workstations and incorporates data file modifications entered by any of the corresponding associated workstations into the cached data file as the modifications are entered, such that the cached data file is a current version; wherein each of the storage caches automatically transmits file update data to the cache server, 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, wherein each of the storage caches includes a leasing module for controlling 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 the leasing module performs the following steps following receipt of the request; determining a lease condition for the data file existing at the storage cache, wherein the lease condition is one of read, write and no lease; granting 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; requesting 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, determining at the cache server whether to grant a lease for a data file based on whether a, 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 performing steps to 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 and, otherwise, denying the request. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
Specification