Method and system for leasing storage
First Claim
1. A method in a computer system having storage, comprising the steps of:
- receiving an access request from a caller specifying a portion of the storage and specifying a requested lease period;
determining a lease period during which the caller has access to the portion of the storage;
advising the caller of the determined lease period; and
permitting the caller to access the portion of the storage for the determined lease period such that after expiration or cancellation of the lease the storage is reallocated.
1 Assignment
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.
360 Citations
52 Claims
-
1. A method in a computer system having storage, comprising the steps of:
-
receiving an access request from a caller specifying a portion of the storage and specifying a requested lease period;
determining a lease period during which the caller has access to the portion of the storage;
advising the caller of the determined lease period; and
permitting the caller to access the portion of the storage for the determined lease period such that after expiration or cancellation of the lease the storage is reallocated.
-
-
2. A method for accessing a storage in a system that includes a client and a server, said method comprising the steps of:
-
requesting by the client a lease from the server for accessing the storage;
granting the requested lease by the server to the client for a lease period; and
accessing the storage by the client according to the granted lease such that after expiration or cancellation of the granted lease the storage is reallocated by the server. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
specifying by the client in the requested lease the storage.
-
-
4. The method of claim 2, wherein the requesting step includes the step of:
specifying by the client in the requested lease a portion of the storage.
-
5. The method of claim 2, wherein the requesting step includes the step of:
specifying by the client in the requested lease a file in the storage.
-
6. The method of claim 2, wherein the requesting step includes the step of:
specifying by the client in the requested lease a database in the storage.
-
7. The method of claim 2, wherein the requesting step includes the step of:
specifying by the client in the requested lease a database field in the storage.
-
8. The method of claim 2, wherein the requesting step includes the step of:
specifying by the client in the requested lease one or more locations in the storage.
-
9. The method of claim 2, wherein the requesting step includes the step of:
specifying by the client in the requested lease a type of access to the storage.
-
10. The method of claim 2, wherein the requesting step includes the step of:
specifying by the client in the requested lease a privilege level associated with the client.
-
11. The method of claim 2, wherein the granting step includes the step of:
the server providing code for performing one or more lease functions to the client.
-
12. The method of claim 2, wherein the granting step includes the step of:
the server providing code for determining the lease period to the client.
-
13. The method of claim 2, wherein the granting step includes the step of:
the server providing code for renewing the lease to the client.
-
14. The method of claim 2, wherein the granting step includes the step of:
the server providing code for canceling the lease to the client.
-
15. The method of claim 2, wherein the granting step includes the step of:
informing the client of the granted lease period.
-
16. The method of claim 2, further comprising the step of:
generating by the server an exception when the server rejects the requested lease.
-
17. The method of claim 2, further comprising the step of:
reconfiguring the requested lease by the client when the server rejects the requested lease.
-
18. The method of claim 2, further comprising the step of:
determining by the client the granted lease period.
-
19. The method of claim 18, wherein the determining step includes the step of:
invoking code provided by the server to the client for determining the granted lease period.
-
20. The method of claim 2, further comprising the step of:
renewing by the client the granted lease when the client determines that the granted lease is near expiration.
-
21. The method of claim 20, wherein the renewing step includes the step of:
invoking code provided by the server to the client for renewing the granted lease.
-
22. The method of claim 2, further comprising the step of:
canceling by the client the granted lease when the client completes accessing the storage before the granted lease period expires.
-
23. The method of claim 22, wherein the canceling step comprises the step of:
invoking code provided by the server to the client for canceling the granted lease.
-
24. The method of claim 2, further comprising the step of:
preventing access by the client to the storage when the granted lease period expires.
-
25. The method of claim 2, further comprising the step of:
preventing access by the client to the storage when the client cancels the granted lease.
-
26. The method of claim 2, further comprising the step of:
requesting by the client another lease for accessing the storage after waiting a predetermined period of time when the server rejects the requested lease.
-
27. The method of claim 2, further comprising the step of:
queuing by the server the requested lease when the storage is accessed by another client.
-
28. The method of claim 2, wherein the requesting step includes the step of:
the client specifying an exact lease period for accessing the storage.
-
29. The method of claim 2, wherein the granting step includes the steps of:
-
determining whether the requested lease specifies an exact lease period for accessing the storage; and
granting the requested lease only if duration of the granted lease is equal to the exact lease period.
-
-
30. A data processing system, comprising:
-
a storage;
a memory including;
a client program containing first code that requests a lease for accessing the storage; and
a server program containing second code that determines a lease period during which the client program has access to the storage, containing third code that grants the lease to the client program for the lease period, and containing fourth code that permits access by the client program to the storage according to the granted lease such that after expiration or cancellation of the granted lease the storage is reallocated by the server program; and
a processor for running the client program and the server program. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37)
-
-
38. An apparatus, comprising:
-
a storage;
an accessing means for requesting a lease for accessing the storage for a period of time; and
a file server means for determining a lease period during which the accessing means has access to the storage and for granting the lease for the lease period and for permitting access by the accessing means to the storage according to the granted lease such that after expiration or cancellation of the granted lease the storage is reallocated by the file server means.
-
-
39. A computer-readable memory device encoded with a data structure for accessing a storage in a system including a client and a server, the data structure comprising:
-
an object including;
an identifier identifying a portion of the storage to which the client has access for a lease period according to a lease negotiated between the client and the server; and
code for managing the lease by the client. - View Dependent Claims (40, 41, 42)
a method for determining the lease period by the client.
-
-
41. The computer-readable memory device of claim 39, wherein the code includes:
a method for renewing the lease by the client.
-
42. The computer-readable memory device of claim 39, wherein the code includes:
a method for canceling the lease by the client.
-
43. A computer-readable memory device encoded with a data structure for accessing a storage in a system including a client and a server, the data structure comprising:
-
an identifier identifying a portion of the storage to which the client requests access from the server;
a requested lease period for accessing the portion of the storage by the client; and
a type of access requested by the client. - View Dependent Claims (44, 45)
-
-
46. A computer-readable medium containing instructions for controlling a data processing system to perform a method, the data processing system including a client and a server, said method comprising the steps of:
-
requesting by the client a lease from the server for accessing a storage managed by the server;
granting the lease by the server to the client for a lease period;
providing by the server to the client code for managing the granted lease; and
accessing the storage by the client according to the granted lease such that after expiration or cancellation of the granted lease the storage is reallocated by the server. - View Dependent Claims (47, 48, 49, 50)
invoking the code by the client to manage the granted lease.
-
-
48. The computer-readable medium of claim 47, wherein the invoking step comprises the step of:
invoking the code by the client to determining the granted lease period.
-
49. The computer-readable medium of claim 47, wherein the invoking step comprises the step of:
invoking the code by the client to renew the granted lease when the granted lease is near expiration.
-
50. The computer-readable medium of claim 47, wherein the invoking step comprises the step of:
invoking the code by the client to cancel the lease when the client completes accessing the portion of the storage before the granted lease expires.
-
51. A method for accessing a storage in a system that includes a client and a server, said method comprising the steps of:
-
the client requesting a lease from the server for accessing the storage;
the client receiving from the server an object that grants the lease to the client for a lease period; and
the client accessing the storage for the lease period such that after expiration or cancellation of the granted lease the storage is reallocated by the server.
-
-
52. A method for accessing a storage in a system that includes a client and a server, said method comprising the steps of:
-
the server receiving from the client a request for a lease for accessing the storage;
the server granting the lease to the client for a lease period; and
the server providing the client with access to the storage for the lease period such that after expiration or cancellation of the granted lease the storage is reallocated by the server.
-
Specification