Client-based caching of remote files
First Claim
1. A computer-implemented method for controlling a client to handle a break notification from a server, the method comprising:
- transmitting a lease request over a network that connects one or more clients and servers, wherein the lease request includes a lease identifier provided by a client when the client opened a remote file managed by the server and accessible by other clients;
receiving a lease response over the network, wherein the lease response includes information from the remote file managed by the server;
caching data at the client based upon the information received from the server;
receiving the break notification from the server;
in response to receiving the break notification, flushing cached data and 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; and
receiving an acknowledgement response from the server that indicates whether the server granted the new scope of access to the remote file.
1 Assignment
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.
-
Citations
20 Claims
-
1. A computer-implemented method for controlling a client to handle a break notification from a server, the method comprising:
-
transmitting a lease request over a network that connects one or more clients and servers, wherein the lease request includes a lease identifier provided by a client when the client opened a remote file managed by the server and accessible by other clients; receiving a lease response over the network, wherein the lease response includes information from the remote file managed by the server; caching data at the client based upon the information received from the server; receiving the break notification from the server; in response to receiving the break notification, flushing cached data and 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; and 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 (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable storage medium comprising instructions for controlling a client to handle a break notification from a server, wherein the instructions, when executed by at least one processor at the client, cause the at least one processer to perform actions comprising:
-
transmitting a lease request over a network that connects one or more clients and servers, wherein the lease request includes a lease identifier provided by the client when the client opened a remote file managed by the server and accessible by other clients; receiving a lease response over the network, wherein the lease response includes information from the remote file managed by the server; caching data at the client based upon the information received from the server; receiving the break notification from the server; in response to receiving the break notification, flushing cached data and 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; and 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 (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
one or more processors; a memory coupled to the one or more processors, the memory for storing instructions which, when executed by the one or more processors, performs a method for controlling a client to handle a break notification from a server, the method comprising; transmitting a lease request over a network that connects one or more clients and servers, wherein the lease request includes a lease identifier provided by a client when the client opened a remote file managed by the server and accessible by other clients; receiving a lease response over the network, wherein the lease response includes information from the remote file managed by the server; caching data at the client based upon the information received from the server; receiving the break notification from the server; in response to receiving the break notification, flushing cached data and 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; and 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