IP Library Granted Patent US 8,924,370
Granted Patent B2
US 8,924,370 · App. 13/468,717 · Granted Dec 30, 2014

Efficient distributed lock manager

Inventor: Moshe Shadmon (Palo Alto, CA)
Assignee: ORI Software Development Ltd.
G06F17/30362
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,924,370
App. No.
13/468,717
Granted
Dec 30, 2014
Kind
B2
Abstract

In a cluster where multiple database nodes are synchronized by a distributed lock manager, a process that includes one or more messages that are sent from one or more nodes to a distributed lock manager, wherein one or more of said messages are asynchronous lock taken messages.

Claims (46)

1. A method for increasing locking efficiency in a cluster of database nodes that are synchronized by a distributed lock manager (DLM), comprising:

determining that a node of the cluster of database nodes requires a lock on a resource;

determining that no other node of the cluster of database nodes conflicts with the lock required on the resource;

determining whether locking the resource can be performed using an asynchronous lock taken (ALT) message based on additional information received from a previous lock request, the additional information including a locking state of the resource;

sending an ALT message from the node to the DLM; and

locking the resource for the node without the node needing to receive a response from the DLM.

2. The method of claim 1 , wherein

the resource is a data block, and

the additional information includes information about a lock state of a row or rows contained in the data block.

3. The method of claim 1 , wherein the additional information comprises: information that allows the node to determine if the node can lock another resource by sending an ALT message from the node to the DLM, without the node needing to receive a response from the DLM.

4. The method of claim 3 , wherein

the resource is a data block and the other resource is a row.

5. The method of claim 3 , wherein

the resource is a block and the other resource is a row contained in the block.

6. The method of claim 1 , further comprising:

distributing, in a cluster where multiple database nodes are synchronized by a distributed lock manager, resources among nodes of the cluster,

wherein:

said resources are used as containers for other resources, and

said distribution step further distributes grants of locks.

7. The method of claim 6 , wherein said resources are blocks and said other resources are rows.

8. The method of claim 7 , wherein the resource is a block.

9. The method of claim 7 , wherein the resource is at least one row.

10. The method of claim 7 , wherein the resource comprises at least one block and at least one row.

11. The method of claim 6 , wherein the resource is a resource of a shared disk that is shared by the cluster of database nodes.

12. The method of claim 6 , wherein the resource is a target resource.

13. The method of claim 6 , wherein the resource comprises a uniquely assigned resource and a target contained resource.

14. The method of claim 1 , wherein

the lock is a lock by a particular thread or process; and

the DLM issues the lock without an explicit lock request.

15. The method of claim 14 , wherein the thread or process is a thread or process of a shared disk.

16. The method of claim 1 , further comprising:

determining that another node of the cluster of database nodes requires a lock on the resource; and

granting a read-only mode to the other node for the resource, while the node has also been granted the read-only mode to the resource such that, while the other node retains the read-only mode, the other node may read the resource without needing to request the lock from the DLM, and the other node may not write to the resource.

17. A system for increasing messaging efficiency in a cluster of database nodes that are synchronized by a distributed lock manager (DLM), the system comprising:

a computer server managing a node of the cluster of database nodes;

wherein the computer server is configured to perform the following steps:

determining a lock on a resource is required;

determining that no other node of the cluster of database nodes conflicts with the lock required on the resource;

determining whether locking the resource can be performed using an asynchronous lock taken (ALT) message based on additional information received from a previous lock request, the additional information including a locking state of the resource;

sending an ALT message from the node to the DLM; and

locking the resource without needing to receive a response from the DLM.

18. The system of claim 17 , further comprising:

sending an initial lock request for the resource from the node to the DLM, prior to locking the resource for the node; and

responding to the initial lock request for the resource by sending a lock grant message from the DLM to the node, wherein

the resource is a block, and

the lock grant message includes information allowing the node to lock unused rows within the block without the node needing to make subsequent requests to the DLM after receiving the lock grant message.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2017
From: SCALEDB LTD.
To: DB SOFTWARE, INC.
Reel/Frame 041096/0456 →
CHANGE OF NAME Recorded Dec 5, 2016
From: ORI SOFTWARE DEVELOPMENT LTD.
To: SCALEDB LTD.
Reel/Frame 040522/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2012
From: SHADMON, MOSHE
To: ORI SOFTWARE DEVELOPMENT LTD
Reel/Frame 028198/0419 →
Continuity (2)
Provisional Application 61519809 · May 31, 2011
Related Publication 20120310881A1 · Dec 6, 2012