Method and system for leasing storage
First Claim
1. A method performed by a server, comprising:
- receiving a request for a lease for accessing a resource from each of a first and second client;
providing, to the first client, a first lease object for managing a first lease for accessing the resource; and
providing, to the second client, a second lease object for managing a second lease for accessing the resource.
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.
229 Citations
73 Claims
-
1. A method performed by a server, comprising:
-
receiving a request for a lease for accessing a resource from each of a first and second client;
providing, to the first client, a first lease object for managing a first lease for accessing the resource; and
providing, to the second client, a second lease object for managing a second lease for accessing the resource. - View Dependent Claims (2, 3, 4)
receiving, from either the first and second client, an unsolicited request to renew their respective lease; and
renewing either the first and second lease for the first and second client, respectively, based on the received request.
-
-
5. A method performed by a first client, comprising:
-
providing a request for a lease for utilizing a resource associated with a second lease granted to a second client, the resource being remote with respect to the second client; and
receiving a lease object for managing a first lease associated with the resource. - View Dependent Claims (6)
determining whether the first lease is about to expire; and
renewing at least the first and second lease based on the determination.
-
-
7. A method for utilizing a memory location, comprising:
-
providing, from a first process to a second process, a request for a lease associated with the memory location;
determining, by the second process, a lease period during which the first process may utilize the memory location; and
providing, by the second process to the first process, a lease object that enables the first process to manage the lease associated with the memory location. - View Dependent Claims (8, 10, 11)
determining, by the first process, whether the lease is about to expire.
-
-
11. The method of claim 10, wherein determining whether the lease is about to expire comprises:
comparing a current time with a duration time value associated with the granted lease.
-
9. The method of 7, wherein the lease object enables the first process to cancel the lease.
-
12. A system, comprising:
-
a memory including a storage location associated with a limiting parameter; and
a server forreceiving, from a client, a request for a lease for accessing the storage location, determining whether the request is valid based on the limiting parameter; and
providing, to the client, a lease object that enables the client to manage the lease.- View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-readable medium including instructions for performing a method, when executed a server, the method comprising:
-
receiving a request for a lease for accessing a resource from each of a first and second client;
providing, to the first client, a first lease object for managing a first lease for accessing the resource; and
providing, to the second client, a second lease object for managing a second lease for accessing the resource. - View Dependent Claims (21, 22, 23)
receiving, from either the first and second client, an unsolicited request to renew their respective lease; and
renewing either the first and second lease for the first and second client, respectively, based on the received request.
-
-
24. A computer-readable medium including instructions for performing a method, when executed by a first client, the method comprising:
-
providing a request for a lease for utilizing a resource associated with a second lease granted to a second client, the resource being remote with respect to the second client; and
receiving a lease object for managing a first lease associated with the resource. - View Dependent Claims (25)
determining whether the first lease is about to expire; and
renewing at least one of the first and second lease based on the determination.
-
-
26. A computer-readable medium including instructions for performing a method, when executed by a processor, for utilizing a memory location, comprising:
-
providing, from a first process to a second process, a request for a lease associated with the memory location;
determining, by the second process, a lease period during which the first process may utilize the memory location; and
providing, by the second process to the first process, a lease object that enables the first process to manage the lease associated with the memory location. - View Dependent Claims (27, 29, 30)
determining, by the first process, whether the lease is about to expire.
-
-
30. The computer-readable medium of claim 29, wherein determining whether the lease is about to expire comprises:
comparing a current time with a duration time value associated with the granted lease.
-
28. The computer-readable medium of 26, wherein the lease object enables the first process to cancel the lease.
-
31. A system, comprising:
-
means for receiving a request for a lease for accessing a storage device from each of a first and second client;
means for providing, to the first client, a first lease object for managing a first lease for accessing the storage device; and
means for providing, to the second client, a second lease object for managing a second lease for accessing the storage device. - View Dependent Claims (32, 33, 34)
means for receiving, from either the first and second client, an unsolicited request to renew their respective lease; and
means for renewing either the first and second lease for the first and second client, respectively, based on the received request.
-
-
35. A system, comprising:
-
means for providing a request for a lease for accessing a resource associated with a second lease granted to a second client, the resource being remote with respect to the second client; and
means for receiving a lease object for managing a first lease associated with the resource. - View Dependent Claims (36)
means for determining whether the first lease is about to expire; and
means for renewing at least one of the first and second lease based on the determination.
-
-
37. A system for accessing a memory location, comprising:
-
means for providing, from a first process to a second process, a request for a lease associated with the memory location;
means for determining, by the second process, a lease period during which the first process has access to the memory location; and
means for providing, by the second process to the first process, a lease object that enables the first process to manage the lease associated with the memory location. - View Dependent Claims (38, 40, 41)
means for determining, by the first process, whether the lease is about to expire.
-
-
41. The system of claim 40, wherein the means for determining whether the lease is about to expire comprises:
means for comparing a current time with a duration time value associated with the granted lease.
-
39. The system of 37, wherein the lease object enables the first process to cancel the lease.
-
42. A method for accessing a resource in a system including a client and a server, the method performed by the server, comprising
determining if a lease request received from the client includes a requested lease period; -
determining a lease period based on the request during which the client has access to the resource;
determining whether the determined lease period is less than the requested lease period; and
generating an exception when the determined lease period is less than the requested lease period. - View Dependent Claims (43, 44, 45)
determining the lease period based on at least one of the source of the request, a demand associated with the resource, a usage pattern associated with the client, and a size associated with the resource.
-
-
44. The method of claim 43, wherein determining a lease period based on the source of the request comprises:
determining the lease period based on a determination whether the lease request initiated from a renew method associated with a lease object held by the client, a create instruction, or a subsequent lease request.
-
45. The method of claim 42, wherein generating an exception further comprises:
invoking an exception handler associated with the client.
-
46. A method for accessing a resource in a system including a client and a server, the method performed by the client, comprising:
-
providing, to the server, a lease request for accessing the resource;
determining whether the lease was granted by the server;
reconfiguring the lease request based on the determination; and
providing the reconfigured lease request to the server. - View Dependent Claims (47, 48, 49, 50, 51, 52)
reconfiguring the lease request based on the determination that an exception handler was invoked.
-
-
48. The method of claim 47, wherein the server invokes the exception handler when the lease request is not granted.
-
49. The method of claim 46, wherein reconfiguring the lease request comprises:
reconfiguring the lease request for a lesser lease period than a lease period reflected in the lease request.
-
50. The method of claim 46, wherein reconfiguring the lease request comprises:
reconfiguring the lease request to reflect a different resource location than that reflected in the lease request.
-
51. The method of claim 46, further comprising:
receiving a lease object from the server based on the provided reconfigured lease request.
-
52. The method of claim 51, wherein the lease object allows the client to manage the lease for accessing the resource.
-
53. A system for accessing a resource, comprising
means for determining if a lease request received from a client includes a requested lease period; -
means for determining a lease period based on the request during which the client has access to a resource;
means for determining whether the determined lease period is less than the requested lease period; and
means for generating an exception in the event the determined lease period is less than the requested lease period. - View Dependent Claims (54, 55, 56)
means for determining the lease period based on at least one of the source of the request, a demand associated with the resource, a usage pattern associated with the client, and a size associated with the resource.
-
-
55. The system of claim 54, wherein the means for determining a lease period based on the source of the request comprises:
means for determining the lease period based on a determination whether the lease request initiated from a renew method associated with a lease object held by the client, a create instruction, or a subsequent lease request.
-
56. The system of claim 53, wherein the means for generating an exception further comprises:
means for invoking an exception handler associated with the client.
-
57. A system for accessing a resource, comprising:
-
means for providing, to a server, a lease request for accessing a resource;
means for determining whether the lease was granted by the server;
means for reconfiguring the lease request based on the determination; and
means for providing the reconfigured lease request to the server. - View Dependent Claims (58, 59, 60, 61, 62)
means for reconfiguring the lease request based on the determination that an exception handler was invoked.
-
-
59. The system of claim 58, wherein the server invokes the exception handler when the lease request is not granted.
-
60. The system of claim 57, wherein the means for reconfiguring the lease request comprises:
means for reconfiguring the lease request for a lesser lease period than a lease period reflected in the lease request.
-
61. The system of claim 57, wherein the means for reconfiguring the lease request comprises:
means for reconfiguring the lease request to reflect a different resource location than that reflected in the lease request.
-
62. The system of claim 57 further comprising:
means for receiving a lease object from the server based on the provided reconfigured lease request.
-
63. A computer-readable medium including instructions for performing a method, when executed by a server, for accessing a resource, the method comprising
determining if a lease request received from a client includes a requested lease period; -
determining a lease period based on the request during which the client has access to the resource;
determining whether the determined lease period is less than the requested lease period; and
generating an exception in the event the determined lease period is less than the requested lease period. - View Dependent Claims (64, 65, 66)
determining the lease period based on at least one of the source of the request, a demand associated with the resource, a usage pattern associated with the client, and a size associated with the resource.
-
-
65. The computer-readable medium of claim 64, wherein determining a lease period based on the source of the request comprises:
determining the lease period based on a determination whether the lease request initiated from a renew method associated with a lease object held by the client, a create instruction, or a subsequent lease request.
-
66. The computer-readable medium of claim 63, wherein generating an exception further comprises:
invoking an exception handler associated with the client.
-
67. A computer-readable medium including instructions for performing a method, when executed by a client, for accessing a resource, the method comprising:
-
providing a lease request for accessing the resource to a server;
determining whether the lease was granted by the server;
reconfiguring the lease request based on the determination; and
providing the reconfigured lease request to the server. - View Dependent Claims (68, 69, 70, 71, 72, 73)
reconfiguring the lease request based on the determination that an exception handler was invoked.
-
-
69. The computer-readable medium of claim 68, wherein the server invokes the exception handler when the lease request is not granted.
-
70. The computer-readable medium of claim 67, wherein reconfiguring the lease request comprises:
reconfiguring the lease request for a lesser lease period than a lease period reflected in the lease request.
-
71. The computer-readable medium of claim 67, wherein reconfiguring the lease request comprises:
reconfiguring the lease request to reflect a different resource location than that reflected in the lease request.
-
72. The computer-readable medium of claim 67, further comprising:
receiving a lease object from the server based on the provided reconfigured lease request.
-
73. The computer-readable medium of claim 72, wherein the lease object allows the client to manage the lease for accessing the resource.
Specification