Method and system for allocating locks in a distributed environment
First Claim
1. A method of managing a locked resource in a distributed environment, the method comprising:
- receiving a request to access the resource, wherein the request originates from a requesting client computer system;
determining whether the resource has a conflicting lock;
if the resource has a conflicting lock, returning lock information to the requesting client computer system, so that the retry strategy of the requesting client computer system may be modified;
if the resource does not have a conflicting lock, performing the requested access.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for managing the allocation of resources and locks to client computer systems. The system and method provides server-side control features related to resource requests for locked resources, such as establishing an expected lifetime property so that the sever may notify requesting clients as to the expected lifetime of a lock to improve client-side polling methods. The system and method relates to blocking a resource or otherwise maintaining subscriptions to lock-related events to effectively allow for asynchronous grants of a lock based on the time of the request to alleviate lock starvation. Another feature relates to a server-side lock function of breaking an existing lock or at least modifying/reducing a lock timeout period to prevent lost resources.
74 Citations
26 Claims
-
1. A method of managing a locked resource in a distributed environment, the method comprising:
-
receiving a request to access the resource, wherein the request originates from a requesting client computer system;
determining whether the resource has a conflicting lock;
if the resource has a conflicting lock, returning lock information to the requesting client computer system, so that the retry strategy of the requesting client computer system may be modified;
if the resource does not have a conflicting lock, performing the requested access. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable medium having stored thereon a locked resource, wherein the locked resource comprises:
-
a resource object data section for storing actual object data; and
a lock object, wherein the lock object may comprise an expected lifetime property.
-
-
11. A method of allocating access to a resource in a distributed environment, the method comprising:
-
receiving a request to access the resource, wherein the request originates from a requesting client computer system;
determining whether the resource has a conflicting lock;
if the resource has a conflicting lock, blocking the resource for the requesting client computer system until the resource is free; and
performing the requested access, allocating a new lock to the requesting computer system. - View Dependent Claims (12, 13)
-
-
14. A method of unlocking a locked resource in a distributed environment, the locked resource having a lock object associated with a lock owner, the method comprising:
-
receiving a request to access the locked resource, wherein the request originates from a requesting client computer system other than the lock owner and wherein the request comprises a request to break the lock object;
identifying the request to break the lock object;
determining whether the requesting client computer system is cleared to break the lock object; and
removing the lock object from the resource if the requesting client computer system is cleared to break the lock object. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A system for managing resources in a distributed environment, the distributed environment having a plurality of resources and wherein at least one resource is associated with a lock object, the system comprising:
-
a receive module for receiving a request from a requesting client application program to access at least one resource in the distributed environment;
a determination module for determining whether the resource has a conflicting lock object associated with the requested resource; and
a communication module for returning lock information to the client application program if the resource has a conflicting lock. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
Specification