System and method for efficient lock recovery
First Claim
Patent Images
1. A method for recovering locks comprising:
- determining a lock recovery should be performed;
determining a recovery order for a first lock and a second lock based at least in part on respective levels of exclusion of the first lock and the second lock;
recovering the first lock; and
recovering the second lock;
wherein if the recovery order is determined to be parallel recovering the first lock occurs in parallel to the recovering of the second lock, and determining the lock recovery should be performed includes determining a change has occurred to a lock domain membership associated with a list of nodes participating in lock negotiation within a given lock domain.
7 Assignments
0 Petitions
Accused Products
Abstract
A system and method are disclosed for providing a system and method for an efficient lock recovery. In one embodiment of the present invention, a multiple node networked system shares a resource such a shared storage. Among various other aspects of the present invention, when there is a change, such as a server failure, that prompts a recovery, the recovery can be performed in parallel among the nodes. A further aspect of an embodiment of the present invention includes recovering a lock with a higher level of exclusion prior to another lock with a lower level of exclusion.
60 Citations
28 Claims
-
1. A method for recovering locks comprising:
-
determining a lock recovery should be performed; determining a recovery order for a first lock and a second lock based at least in part on respective levels of exclusion of the first lock and the second lock; recovering the first lock; and recovering the second lock; wherein if the recovery order is determined to be parallel recovering the first lock occurs in parallel to the recovering of the second lock, and determining the lock recovery should be performed includes determining a change has occurred to a lock domain membership associated with a list of nodes participating in lock negotiation within a given lock domain. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for recovering a lock in a node comprising:
-
determining a lock recovery should be performed; recovering a first lock; and recovering a second lock after recovering the first lock; wherein the second lock is recovered after the first lock at least in part due to the first lock having a higher level of exclusion than the second lock, and determining the lock recovery should be performed includes determining a change has occurred to a lock domain membership associated with a list of nodes participating in lock negotiation within a given lock domain. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system for recovering a lock comprising:
-
a processor configured to determine whether a lock recovery should be performed; recover a first lock;
recover a second lock after recovering the first lock;
wherein the second lock is recovered after the first lock at least in part due to the first lock having a higher level of exclusion than the second lock; anda memory coupled to the processor, wherein the memory is configured to provide instructions to the processor; wherein to determine the lock recovery should be performed, the processor determines a change has occurred to a lock domain membership associated with a list of nodes participating in lock negotiation within a given lock domain.
-
-
25. A system for recovering locks comprising:
-
a first node configured to recover a first lock; a second node configured to recover a second lock; a resource shared by the first and second nodes; and a processor configured to determine a recovery order for the first lock and the second lock based at least in part on respective levels of exclusion of the first lock and the second lock; wherein if the recovery order is determined to be parallel recovering the first lock occurs in parallel to the recovering of the second lock, and the first lock and the second lock are recovered when a change has occurred to a lock domain membership associated with a list of nodes participating in lock negotiation within a given lock domain.
-
-
26. A method for recovering locks comprising:
-
providing a lock manager in a first node; providing a lock manager in a second node; recognizing a change in a domain lock membership; recovering a first lock in the first node; and recovering a second lock in the first node; wherein the second lock is recovered after the first lock at least in part due to the first lock having a higher level of exclusion than the second lock, and the lock domain membership is associated with a list of nodes participating in lock negotiation within a given lock domain.
-
-
27. A method for recovering locks comprising:
-
recognizing a change in membership; determining a recovery order for a first lock and a second lock based at least in part on respective levels of exclusion of the first lock and the second lock; providing a first lock space; providing a second lock space; recovering the first lock; and recovering the second lock; wherein if the recovery order is determined to be parallel recovering the first lock occurs in parallel to the recovering of the second lock, and membership is associated with a list of nodes participating in lock negotiation within a given lock domain.
-
-
28. A computer program product for recovering locks, the computer program product being embodied in a computer readable storage medium and comprising computer instructions for:
-
determining a lock recovery should be performed; recovering a first lock; and recovering a second lock after recovering the first lock; wherein the second lock is recovered after the first lock at least in part due to the first lock having a higher level of exclusion than the second lock, and determining the lock recovery should be performed includes determining a change has occurred to a lock domain membership associated with a list of nodes participating in lock negotiation within a given lock domain.
-
Specification