Method and system for client-side caching
First Claim
1. In a computing environment, a method, comprising:
- maintaining a file cache at a local computing device;
receiving, at a redirector of the local computing device, a file system-directed write request from a program to write data to a server file;
evaluating an online or offline state of the local computing device and a property set of the server file that is accessible to the local computing device to determine whether to write data to the cache, to the server file, or to both the cache and the server file; and
satisfying the write request by writing data to the cache, to the server file, or to both the cache and the server file based on the online or offline state and property set evaluation.
1 Assignment
0 Petitions
Accused Products
Abstract
An improved method and system for client-side caching that transparently caches suitable network files for offline use. A cache mechanism in a network redirector transparently intercepts requests to access server files, and if the requested file is locally cached, satisfies the request from the cache when possible. Otherwise the cache mechanism creates a local cache file and satisfies the request from the server, and also fills in a sparse cached file as reads for data in ranges that are missing in the cached file are requested and received from the server. A background process also fills in local files that are sparse, using the existing handle of already open server files, or opening, reading from and closing other server files. Security is also provided by maintaining security information received from the server for files that are in the cache, and using that security information to determine access to the file when offline.
67 Citations
20 Claims
-
1. In a computing environment, a method, comprising:
-
maintaining a file cache at a local computing device;
receiving, at a redirector of the local computing device, a file system-directed write request from a program to write data to a server file;
evaluating an online or offline state of the local computing device and a property set of the server file that is accessible to the local computing device to determine whether to write data to the cache, to the server file, or to both the cache and the server file; and
satisfying the write request by writing data to the cache, to the server file, or to both the cache and the server file based on the online or offline state and property set evaluation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of synchronizing file data on a client computer system and a network server computer system, comprising:
-
receiving at the client computer system a file system write request to write data to a network server file;
determining whether the write request is directed towards a network server file that has an associated policy setting indicating that the network server file has a locally cached copy, and if not;
writing the data to the network server file;
and if so;
writing the data to a corresponding local file in a local cache, and if the client computer system is not connected to the network server, synchronizing the data written to the local file with the network server file at a time when the client computer system is connected to the network server. - View Dependent Claims (9, 10, 11)
-
-
12. A computer-readable medium having computer-executable instructions, comprising:
-
receiving a file system read request to read a range of data from a network server file, the range capable of starting at an arbitrary offset within the file data;
in response to the read request, accessing a local file that corresponds to the server file and determining whether any data within the range of data requested from the server file is missing in the local file with respect to the read request; and
if any data in the local file is missing with respect to the read request, accessing the network server file to obtain at least one set of missing data to return the requested range of data in its entirety in response to the read request. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A computer-readable medium having computer-executable components for caching files and accessing network files, comprising:
-
a redirector component; and
a caching component configured to detect a file system-directed request for accessing a server file of a network server and to determine if a local file corresponding to the server file is already in a local cache; and
if the local file is in the local cache, to open the local file for access, and if the local file is not in the local cache, to open the server file, and to analyze at least one policy setting associated with the server file that indicates whether a local file in the local cache may be created to correspond to the server file, and if so, creating the file. - View Dependent Claims (18, 19, 20)
-
Specification