Persistent caching directory level support
First Claim
1. A method performed by a client computing system including one or more processors and system memory that facilitates satisfying a create request on an online remote file system, the method comprising:
- receiving the create request from an I/O manager, the create request indicating a request to create a file in a first directory on the remote file system, the first directory being a subdirectory of a larger second directory on the remote file system;
calling a pre-process handler of a client side caching (CSC) surrogate provider;
finding or creating a logical namespace structure if part of the logical namespace on which a target of the create request resides is already offline;
passing the create request to a Distributed File System (DFS) surrogate provider to translate the logical namespace to an physical server share;
passing the create request to a redirector component to allow a redirector to claim the physical path;
calling a post-process handler of the CSC surrogate provider to express an interest to cache a copy of the file indicated by the request; and
in response to the post-process handler of the CSC expressing an interest to cache a copy of the file indicated by the request, partially caching the larger second directory by caching a copy of the first directory and the contents of the first directory as a whole on the client computing system without caching other subdirectories of the larger second directory.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a novel client side caching (CSC) infrastructure that supports transition states at the directory level to facilitate a seamless operation across connectivity states between client and remote server. More specifically, persistent caching is performed to safeguard the user (e.g., client) and/or the client applications across connectivity interruptions and/or bandwidth changes. This is accomplished in part by caching to a client data store the desirable file(s) together with the appropriate file access parameters. Moreover, the client maintains access to cached files during periods of disconnect. Furthermore, portions of a path can be offline while other portions upstream can remain online. CSC operates on the logical path which cooperates with DFS which operates on the physical path to keep track of files cached, accessed and changes in the directories. In addition, truth on the client is facilitated whether or not a conflict of file copies exists.
52 Citations
9 Claims
-
1. A method performed by a client computing system including one or more processors and system memory that facilitates satisfying a create request on an online remote file system, the method comprising:
-
receiving the create request from an I/O manager, the create request indicating a request to create a file in a first directory on the remote file system, the first directory being a subdirectory of a larger second directory on the remote file system; calling a pre-process handler of a client side caching (CSC) surrogate provider; finding or creating a logical namespace structure if part of the logical namespace on which a target of the create request resides is already offline; passing the create request to a Distributed File System (DFS) surrogate provider to translate the logical namespace to an physical server share; passing the create request to a redirector component to allow a redirector to claim the physical path; calling a post-process handler of the CSC surrogate provider to express an interest to cache a copy of the file indicated by the request; and in response to the post-process handler of the CSC expressing an interest to cache a copy of the file indicated by the request, partially caching the larger second directory by caching a copy of the first directory and the contents of the first directory as a whole on the client computing system without caching other subdirectories of the larger second directory. - View Dependent Claims (2, 3)
-
-
4. A method performed by a client computer including one or more processors and system memory that facilitates satisfying a create request on the client computer when disconnected from a remote file system, the method comprising:
-
receiving the create request from an I/O manager, the create request indicating a request to create a file in a first directory on the remote file system, the first directory being a subdirectory of a larger second directory on the remote file system; calling a pre-process handler of a client side caching (CSC) surrogate provider to handle the request by mapping the logical path to local cache data on the client computer since redirectors are unavailable to claim the path; and caching a copy of the file on the client computer, the client computer including a cached copy of the first directory and the contents of the first directory as a whole, wherein the larger second directory is partially cached on the client computer such that other subdirectories of the larger secondary are not cached on the client computer. - View Dependent Claims (5, 6)
-
-
7. A computer readable medium having stored thereon computer-executable components that perform a method that facilitates satisfying a create request on a client computer when disconnected from a remote file system, the client computer including one or more processors and system memory, the method comprising:
-
receiving the create request from an I/O manager, the create request indicating a request to create a file in a first directory on the remote file system, the first directory being a subdirectory of a larger second directory on the remote file system; calling a pre-process handler of a client side caching (CSC) surrogate provider to handle the request by mapping the logical path to local cache data on the client computer since redirectors are unavailable to claim the path; and caching a copy of the file on the client computer, the client computer including a cached copy of the first directory and the contents of the first directory as a whole, wherein the larger second directory is partially cached on the client computer such that other subdirectories of the larger secondary are not cached on the client computer. - View Dependent Claims (8, 9)
-
Specification