CLIENT-BASED CACHING OF REMOTE FILES
First Claim
1. A computer-implemented method for caching information at a client related to remote files stored at a server, the method comprising:
- receiving information from a software application indicating a remote file to open in an open requestdetermining whether a lease exists on the client for the indicated remote file, wherein a lease provides cache coherency information associated with the remote file independent of zero or more open handles to the remote file;
if no existing lease exists,sending a lease request to open the file and request a lease that identifies one or more cache intentions of the client based on the access information received from the application; and
receiving a lease response indicating whether the requested lease was granted,wherein the preceding steps are performed by at least one processor.
2 Assignments
0 Petitions
Accused Products
Abstract
A lease system is described herein that allows clients to request a lease to a remote file, wherein the lease permits access to the file across multiple applications using multiple handles without extra round trips to a server. When multiple applications on the same client (or multiple components of the same application) request access to the same file, the client specifies the same lease identifier to the server for each open request or may handle the request from the cache based on the existing lease. Because the server identifies the client'"'"'s cache at the client level rather than the individual file request level, the client receives fewer break notifications and is able to cache remote files in more circumstances. Thus, by providing the ability to cache data in more circumstances common with modern applications, the lease system reduces bandwidth, improves server scalability, and provides faster access to data.
51 Citations
20 Claims
-
1. A computer-implemented method for caching information at a client related to remote files stored at a server, the method comprising:
-
receiving information from a software application indicating a remote file to open in an open request determining whether a lease exists on the client for the indicated remote file, wherein a lease provides cache coherency information associated with the remote file independent of zero or more open handles to the remote file; if no existing lease exists, sending a lease request to open the file and request a lease that identifies one or more cache intentions of the client based on the access information received from the application; and receiving a lease response indicating whether the requested lease was granted, wherein the preceding steps are performed by at least one processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer system at a client for providing access to remote files stored on a server that are shared with other clients, the system comprising:
-
a processor and memory configured to execute software instructions; an application interface configured to provide an interface through which applications submit requests to open remote files on the server and receive file data; a lease request component configured to send lease requests to a remote server and handle received lease responses; a communication component configured to transmit requests and receive responses over a network that connects one or more clients and servers; a cache component configured to cache data at the client based on information received from the server; and a break handling component configured to respond to break notifications received from the server, wherein a break notification indicates that access that the server previously granted is no longer compatible with access requests of other clients accessing the same file. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-readable storage medium comprising instructions for controlling a computer system to handle a lease break notification from a server, wherein the instructions, when executed, cause a processor to perform actions comprising:
-
receiving a break notification from the server, wherein the break includes a lease identifier provided by the client when the client opened a remote file managed by the server to which the break applies, wherein the break notification is not based on concurrent access to the remote file by applications on the client; flushing cached data that can no longer be cached based on the received break notification; sending an acknowledgement request to the server that indicates that the client has handled the break and requests a new scope of access to the remote file based on application requests on the client; receiving an acknowledgement response from the server that indicates whether the server granted the new scope of access to the remote file. - View Dependent Claims (18, 19, 20)
-
Specification