Scalable leases
First Claim
1. A computer-implemented method implemented by a computing device having a processor executing instructions stored in a computer-readable storage media, the method comprising:
- receiving, by the computing device, one or more lease requests for access to selected data, wherein the computing device manages access to the selected data based upon issuance of leases to client computers requesting to access the selected data, wherein each lease issued specifies a period of time during which a client computer has access to the data during which period of time the selected data will not be changed by another entity;
in response to receiving a request from one of the client computers for a lease to access the selected data having access managed by the computing device, preparing a blanket scalable lease to be used by more than one client computer to concurrently access the selected data having access managed by the computing device; and
issuing the scalable lease by the computing device to a plurality of the client computers for the plurality of client computers to use the scalable lease for accessing the selected data for the specified period of time during which the selected data is not changed.
2 Assignments
0 Petitions
Accused Products
Abstract
Scalable leases reduce latency and reduce the burden on a server in managing data leases. Instead of processing individual lease requests for clients seeking access to the same data, scalable leases provide for blanket leases that all of the clients can use to access the selected data. Leases may be encrypted or selectively distributed to restrict access to the data. Moreover, distributed data structures may be used to cache leases at identifiable nodes in a network to offload work from the server without all clients in the network having to cache all blanket leases issued. Thresholds for issuing blanket leases may be determined or adjusted by considerations such as demand for the selected data and server workload. Similarly, leases may be renewed on the basis of demand for selected data, conflicting lease requests, and other factors. Scalable leases may be issued for read leases and controlled write leases.
-
Citations
20 Claims
-
1. A computer-implemented method implemented by a computing device having a processor executing instructions stored in a computer-readable storage media, the method comprising:
-
receiving, by the computing device, one or more lease requests for access to selected data, wherein the computing device manages access to the selected data based upon issuance of leases to client computers requesting to access the selected data, wherein each lease issued specifies a period of time during which a client computer has access to the data during which period of time the selected data will not be changed by another entity; in response to receiving a request from one of the client computers for a lease to access the selected data having access managed by the computing device, preparing a blanket scalable lease to be used by more than one client computer to concurrently access the selected data having access managed by the computing device; and issuing the scalable lease by the computing device to a plurality of the client computers for the plurality of client computers to use the scalable lease for accessing the selected data for the specified period of time during which the selected data is not changed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. Computer-readable storage media having a computer readable program code embodied therein, the computer readable program code adapted to be executed by one or more processors to implement a method allowing concurrent access to data over a network, the method comprising:
-
configuring a server computing device to issue a blanket scalable lease used by a plurality of client computers for allowing more than one client computer to concurrently access selected data managed by the server computing device, wherein the scalable lease enables the plurality of client computers to access the selected data managed by the server computing device for a specified period of time during which the selected data is not changed by another entity; distributing the scalable lease from the server computing device over the network to one or more of the client computers; storing the scalable lease within one or more of the client computers on the network; upon a plurality of the client computers subsequently seeking access to the selected data managed by the server computing device, using the scalable lease by the plurality of client computers to access the selected data managed by the server computing device. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A server comprising:
-
one or more processors; and a memory containing instructions for configuring the one or more processors to control access to selected data managed by the server, wherein a plurality of client computers in communication with the server are configured to request access to the selected data by requesting a lease from the server for accessing the selected data for a period of time specified in the lease; wherein the one or more processors are further configured to receive a request for access to the selected data from a first one of the client computers; wherein the one or more processors are configured to issue an individual lease to the first client computer when a threshold for requests for issuing individual leases for access to the selected data has not been exceeded; wherein the one or more processors are configured to receive a request for access to the selected data from a second one of the client computers, wherein the request from the second client computer is determined to exceed the threshold for requests for issuing individual leases for access to the selected data; wherein following a determination that the threshold for requests for issuing individual leases is exceeded, the one or more processors are configured to issue a blanket scalable lease that is usable by the plurality of client computers for accessing the selected data; wherein the scalable lease is distributed to the plurality of client computers for caching by the plurality of client computers, wherein the plurality of client computers use the scalable lease for accessing the selected data without having to request individual leases from the server. - View Dependent Claims (19, 20)
-
Specification