Persistent caching directory level support
First Claim
1. A method that facilitates seamless operation across connectivity states between a client and a remote server, the method comprising:
- providing a first surrogate provider on the client that receives, via an operating system of the client, an I/O request for a file located in a first directory on the remote server, the first directory being a subdirectory of a larger second directory on the remote server, the first surrogate provider comprising a pre-process handler and a post-process handler that facilitate handling the requests at a directory level, the first surrogate provider configured to a logical path of the request;
passing the request to a second surrogate provider on the client that is operational in an online state, the second surrogate provider translating the logical path of the request into a physical path;
generating one or more data structures for the I/O request that are configured to facilitate determining whether the first surrogate provider caches a file object related to the request; and
based on the generated one or more data structures and in response to receiving the I/O request for the file located in the first directory on the remote server, partially caching the larger second directory on the client by caching a copy of the first directory and the contents of the first directory as a whole on the client without caching other subdirectories of the larger second directory on the client.
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.
-
Citations
11 Claims
-
1. A method that facilitates seamless operation across connectivity states between a client and a remote server, the method comprising:
-
providing a first surrogate provider on the client that receives, via an operating system of the client, an I/O request for a file located in a first directory on the remote server, the first directory being a subdirectory of a larger second directory on the remote server, the first surrogate provider comprising a pre-process handler and a post-process handler that facilitate handling the requests at a directory level, the first surrogate provider configured to a logical path of the request; passing the request to a second surrogate provider on the client that is operational in an online state, the second surrogate provider translating the logical path of the request into a physical path; generating one or more data structures for the I/O request that are configured to facilitate determining whether the first surrogate provider caches a file object related to the request; and based on the generated one or more data structures and in response to receiving the I/O request for the file located in the first directory on the remote server, partially caching the larger second directory on the client by caching a copy of the first directory and the contents of the first directory as a whole on the client without caching other subdirectories of the larger second directory on the client. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing system that facilitates seamless operation across connectivity states between a client and a remote server, the system comprising:
-
one or more processors; system memory; one or more physical computer-readable storage media having stored thereon computer-executable instructions configured to perform a method, the method including; providing a first surrogate provider on the client that receives, via an operating system of the client, an I/O request for a file located in a first directory on the remote server, the first directory being a subdirectory of a larger second directory on the remote server, the first surrogate provider comprising a pre-process handler and a post-process handler that facilitate handling the requests at a directory level, the first surrogate provider configured to a logical path of the request; passing the request to a second surrogate provider on the client that is operational in an online state, the second surrogate provider translating the logical path of the request into a physical path; generating one or more data structures for the I/O request that are configured to facilitate determining whether the first surrogate provider caches a file object related to the request; and based on the generated one or more data structures and in response to receiving the I/O request for the file located in the first directory on the remote server, partially caching the larger second directory on the client by caching a copy of the first directory and the contents of the first directory as a whole on the client without caching other subdirectories of the larger second directory on the client. - View Dependent Claims (9, 10, 11)
-
Specification