Techniques for DLM optimization with transferring lock information
First Claim
1. A method for re-distributing, over a cluster of one or more active nodes, management of locks on shared resources, the method comprising:
- establishing a first master node as master for one or more resources in response to a hash value range being mapped to said first master node, wherein the hash value range is associated with said one or more resources by a hash function;
transferring responsibility for mastering said one or more resources from the first master node to a second master node during a transfer time interval;
during the transfer time interval, a receiving node receiving new lock requests, wherein said receiving node is one of the first master node and the second master node;
during the transfer time interval, processing the new lock requests;
re-mapping the hash value range to the second master node at the first master node; and
sending initial lock information resident on the first master node at a start of the transfer time interval to the second master node;
wherein transfer of locks from the first master node to the second master node begins at a first point in time;
wherein the transfer of locks from the first master node to the second master node ends at a second point in time;
wherein the transfer time interval begins at the first point in time and ends at the second point in time; and
wherein other active nodes in the cluster acknowledge that said other active nodes have been informed that said second master node is assuming responsibility for mastering said one or more resources.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for optimizing a distributed lock manager (DLM) include transferring lock information to a new master without freezing one or more shared resources. A hash value range is associated with the resources by a hash function. A first master node is established as master for the resources in response to a hash value range being mapped to the first master node. Responsibility for mastering the resources is transferred from the first master node to a second master node during a transfer time interval. Lock requests received at a receiving node, either the first master node or the second master node, are processed by the receiving node during the transfer time interval.
115 Citations
19 Claims
-
1. A method for re-distributing, over a cluster of one or more active nodes, management of locks on shared resources, the method comprising:
-
establishing a first master node as master for one or more resources in response to a hash value range being mapped to said first master node, wherein the hash value range is associated with said one or more resources by a hash function;
transferring responsibility for mastering said one or more resources from the first master node to a second master node during a transfer time interval;
during the transfer time interval, a receiving node receiving new lock requests, wherein said receiving node is one of the first master node and the second master node;
during the transfer time interval, processing the new lock requests;
re-mapping the hash value range to the second master node at the first master node; and
sending initial lock information resident on the first master node at a start of the transfer time interval to the second master node;
wherein transfer of locks from the first master node to the second master node begins at a first point in time;
wherein the transfer of locks from the first master node to the second master node ends at a second point in time;
wherein the transfer time interval begins at the first point in time and ends at the second point in time; and
wherein other active nodes in the cluster acknowledge that said other active nodes have been informed that said second master node is assuming responsibility for mastering said one or more resources. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for re-distributing, over a cluster of one or more active nodes, management of locks on shared resources, the method comprising:
-
establishing a first master node as master for one or more resources in response to a hash value range being mapped to said first master node, wherein the hash value range is associated with said one or more resources by a hash function;
transferring responsibility for mastering said one or more resources from the first master node to a second master node during a transfer time interval; and
processing lock requests received at a receiving node of the first master node and the second master node by the receiving node during the transfer time interval, said transferring further comprising;
receiving a broadcast message at a set of nodes in the cluster, the set of nodes including all nodes in the cluster except the first master node and the second master node;
wherein the broadcast message indicates that the second master node is a new master node for resources associated with the hash value range;
re-mapping the hash value range to the second master node at each node in said set of nodes in the cluster;
sending an acknowledgment to the first master node from each node in said set of nodes in response to the broadcast message, said acknowledgement indicating that said each node in said set of nodes has been informed that said second master node is assuming responsibility for mastering said one or more resources; and
after sending the acknowledgement, said each node in said set of nodes sending subsequent lock requests for resources associated with the hash value range to the second master node. - View Dependent Claims (12)
-
-
13. A computer-readable medium bearing instructions for re-distributing, over a cluster of one or more active nodes, management of locks on shared resources from a first master node to a second master node during a transfer time interval, the instructions arranged to cause one or more processors on the first master node to perform:
-
re-mapping a hash value range initially assigned to the first master node to the second master node, wherein the hash value range is associated with one or more of the shared resources by a hash function;
sending initial lock information resident on the first master node at a start of the transfer time interval to the second master node;
receiving acknowledgments at the first master node from other active nodes in the cluster;
said acknowledgements indicating that said other active nodes have been informed that said second master node is assuming responsibility for mastering said one or more resources. - View Dependent Claims (14, 15)
-
-
16. A computer-readable medium bearing instructions for re-distributing, over a cluster of one or more active nodes, management of locks on shared resources from a first master node to a second master node during a transfer time interval, the instructions arranged to cause one or more processors on the second master node to perform:
-
receiving initial lock information resident on the first master node at a start of the transfer time interval;
re-mapping a hash value range initially assigned to the first master node to the second master node, wherein the hash value range is associated with one or more of the shared resources by a hash function; and
sending a broadcast message to all other nodes in the cluster that the second master node is a new master node for resources associated with the hash value range;
wherein other active nodes in the cluster acknowledge that said other active nodes have been informed that said second master node is assuming responsibility for mastering said one or more resources. - View Dependent Claims (17, 18)
-
-
19. A computer-readable medium bearing instructions for re-distributing, over a cluster of one or more active nodes, management of locks on shared resources from a first master node to a second master node during a transfer time interval, the instructions arranged to cause one or more processors on a third node to perform:
-
receiving a broadcast message indicating that the second master node is a new master node for resources associated with a hash value range, wherein the hash value range is associated with one or more of the shared sources by a hash function;
re-mapping the hash value range to the second master node;
sending an acknowledgment to the first master node in response to the broadcast message, said acknowledgement indicating that said third node has been informed that said second master node is assuming responsibility for mastering said one or more resources; and
after said sending an acknowledgment, sending subsequent lock requests for the one or more of the shared resources to the second master node.
-
Specification