Method and system for leasing storage
First Claim
1. A method for accessing storage in a system that includes a client and a server, the method, performed by the client, including the steps of:
- sending a request for a lease on at least a portion of the storage;
receiving an indication whether the lease was granted;
reconfiguring the request based on the indication; and
sending the reconfigured request for a lease on at least a portion of the storage.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and system for leasing storage locations in a distributed processing system is provided. Consistent with this method and system, a client requests access to storage locations for a period of time (lease period) from a server, such as the file system manager. Responsive to this request, the server invokes a lease period algorithm, which considers various factors to determine a lease period during which time the client may access the storage locations. After a lease is granted, the server sends an object to the client that advises the client of the lease period and that provides the client with behavior to modify the lease, like canceling the lease or renewing the lease. The server supports concurrent leases, exact leases, and leases for various types of access. After all leases to a storage location expire, the server reclaims the storage location.
-
Citations
41 Claims
-
1. A method for accessing storage in a system that includes a client and a server, the method, performed by the client, including the steps of:
-
sending a request for a lease on at least a portion of the storage;
receiving an indication whether the lease was granted;
reconfiguring the request based on the indication; and
sending the reconfigured request for a lease on at least a portion of the storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
receiving, after sending the reconfigured request, a lease object from the server indicating the reconfigured request for a lease was granted, wherein the lease object includes methods for managing the granted lease.
-
-
6. The method of claim 5, wherein the lease object includes methods for allowing the client to determine the lease period, renewing the granted lease and canceling the granted lease.
-
7. The method of claim 6, further including:
-
determining that there is no longer a need for the storage associated with the lease;
invoking the method enabling the client to cancel the lease; and
canceling the lease.
-
-
8. The method of claim 6, further including:
-
determining that the lease is about to expire;
determining there is a need to renew the lease;
invoking the method enabling the client to renew the granted lease; and
renewing the granted lease for a predetermined amount of time.
-
-
9. The method of claim 8, wherein determining that the lease is about to expire includes comparing a current time with a duration time value associated with the granted lease.
-
10. A method of accessing a storage in a system, the method comprising the steps of:
-
executing a creation command to create a storage element in the storage;
initiating a first lease request for the storage element in response to the executed creation command;
determining a first lease period during which access to the storage element is exclusive; and
granting access to the storage element for the determined lease period such that after expiration or cancellation of the lease, the storage element is reallocated. - View Dependent Claims (11)
receiving a second lease request for accessing a portion of the storage element;
granting the requested second lease for a second lease period; and
accessing the portion of the storage element according to the granted second lease such after expiration or cancellation of the granted second lease, the portion of the storage element is reallocated.
-
-
12. A method for accessing a storage in a system including a client and a server, the method, performed by the server, comprising the steps of:
-
receiving a request for a lease for accessing the storage from the client;
verifying the lease request;
determining, in the event the lease request was valid, a lease period during which the client has access to the storage; and
sending a lease object to the client. - View Dependent Claims (13, 14, 15, 16)
determining if the request includes an exact lease;
determining whether or not the determined lease period is less than the requested lease period;
generating an exception in the event the determined lease period is less than the requested lease period; and
granting the exact lease in the event the determined lease period is not less than the requested lease period.
-
-
14. The method of claim 12, wherein determining a lease period is based on at least one of the source of the request, the demand of the storage, the size of the storage and the value of the storage.
-
15. The method of claim 14, wherein the determined lease period for a storage whose value is above a determined threshold is smaller than a determined lease period for a storage whose value is below the determined threshold.
-
16. The method of claim 14, wherein the determined lease period for a storage whose demand is above a determined threshold is smaller than a determined lease period for a storage whose demand is below the determined threshold.
-
17. A data processing system, comprising:
-
a storage;
a memory including;
a client program containing;
first client code for requesting a lease for accessing the storage, second client code for receiving a lease object, and third client code for invoking methods included within the lease object; and
a server program containing;
first server code for receiving requests for leases from the client code for accessing the storage, second server code for determining a lease period during which the client program has access to the storage for the determined lease period, third server code for granting the lease to the client program for the lease period, and fourth server code for creating the lease object, wherein the methods include methods for determining the duration of the lease, renewing the lease and canceling the lease, fifth server code for sending the lease object to the client and allowing the client program access to the storage according to the granted lease; and
a processor for running the client program and the server program. - View Dependent Claims (18)
fourth client code for determining whether a lease was not granted by the server program; and
fifth client code for reconfiguring the request and passing the reconfigured request to the first client code.
-
-
19. A method for accessing a storage in a system including a client and a server, the method, performed by the server, comprising the steps of:
-
receiving a request for a lease for accessing a portion of the storage from the client, wherein the request includes a requested lease period;
verifying the lease request;
determining, in the event the request is valid, a lease period during which the client has access to the storage;
generating an exception in the event the determined lease period is less than the requested lease period; and
sending a lease object to the client in the event the determined lease period is not less than the requested lease period. - View Dependent Claims (20, 21, 22, 23, 24)
generating an exception in the event the request is not valid.
-
-
21. The method of claim 19, wherein determining a lease period includes:
determining whether or not the determined lease period is less than the requested lease period.
-
22. The method of claim 19, wherein determining a lease period is based on at least one of the source of the request, the demand of the storage, the size of the storage and the value of the storage.
-
23. The method of claim 22, wherein the determined lease period for a storage whose value is above a determined threshold is smaller than a determined lease period for a storage whose value is below the determined threshold.
-
24. The method of claim 22, wherein the determined lease period for a storage whose demand is above a determined threshold is smaller than a determined lease period for a storage whose demand is below the determined threshold.
-
25. A computer readable medium containing instructions for performing, when executed by a processor, a method for accessing storage in a system that includes a client and a server, the method including the steps of:
-
sending a request for a lease on the storage from the client to the server;
receiving at the client an indication that the lease was not granted;
reconfiguring the request based on the indication; and
sending the reconfigured request for a lease on the storage from the client to the server. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33)
invoking an exception handler within the client in response to an indication that the lease was not granted.
-
-
27. The computer-readable medium of claim 25, wherein the indication indicates that a lease period associated with the request was too large.
-
28. The computer-readable medium of claim 25, wherein the indication indicates that the request included an unknown storage location.
-
29. The computer-readable medium of claim 25, further including:
receiving, after sending the reconfigured request, a lease object from the server indicating the reconfigured request for a lease was granted, wherein the lease object includes methods for managing the granted lease.
-
30. The computer-readable medium of claim 29, wherein the lease object includes methods for allowing the client to determine the lease period, renewing the granted lease and canceling the granted lease.
-
31. The computer-readable medium of claim 30, further including the steps of:
-
determining that there is no longer a need for the storage associated with the lease;
invoking the method enabling the client to cancel the lease; and
canceling the lease.
-
-
32. The computer-readable medium of claim 30, further including the steps of:
-
determining that the lease is about to expire;
determining that there is a need to renew the lease;
invoking the method enabling the client to renew the granted lease; and
renewing the granted lease for a predetermined amount of time.
-
-
33. The computer-readable medium of claim 32, wherein determining that the lease is about to expire includes comparing a current time with a duration time value associated with the granted lease.
-
34. A computer-readable medium including instructions for performing, when executed by a processor, a method of accessing a storage in a system, the method comprising the steps of:
-
executing a creation command to create a storage element in the storage;
initiating a lease request for the storage element in response to the executed creation command;
determining a lease period during which access to the storage element is exclusive; and
granting access to the storage element for the determined lease period such that after expiration or cancellation of the lease, the storage element is reallocated. - View Dependent Claims (35)
receiving a request for a lease for accessing a portion of the storage element;
granting the requested lease for a lease period; and
accessing the portion of the storage element according to the granted lease such after expiration or cancellation of the granted lease, the portion of the storage element is reallocated.
-
-
36. A computer-readable medium including instructions for performing, when executed by a server, a method of accessing a storage in a system including a client and the server, the method comprising the steps of:
-
receiving a request for a lease for accessing the storage from the client;
verifying the lease request;
determining, in the event the request was valid, a lease period during which the client has access to the storage; and
sending a lease object to the client.- View Dependent Claims (37, 38, 39, 40, 41)
determining if the request includes an exact lease;
determining whether or not the determined lease period is less than the requested lease period;
generating an exception in the event the determined lease period is less than the requested lease period; and
granting the exact lease in the event the determined lease period is not less than the requested lease period.
-
-
38. The computer-readable medium of claim 36, wherein determining a lease period is based on at least one of the source of the request, the demand of the storage, the size of the storage and the value of the storage.
-
39. The computer-readable medium of claim 38, wherein the determined lease period for a storage whose value is above a determined threshold is smaller than a determined lease period for a storage whose value is below the determined threshold.
-
40. The computer-readable medium of claim 38, wherein the determined lease period for a storage whose demand is above a determined threshold is smaller than a determined lease period for a storage whose demand is below the determined threshold.
-
41. The computer-readable medium of claim 36, wherein verifying the lease request includes generating an exception in the event the request is not valid.
Specification