IP Library Granted Patent US 8,510,334
Granted Patent B2
US 8,510,334 · App. 12/613,502 · Granted Aug 13, 2013

Lock manager on disk

Inventors: Wilson Wai Shun Chan (San Mateo, CA); Angelo Pruscino (Los Altos, CA)
Assignee: Oracle International Corporation
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,510,334
App. No.
12/613,502
Granted
Aug 13, 2013
Kind
B2
Abstract

A method and apparatus for managing shared resources in a clustered database management system is provided. In an embodiment, multiple master nodes exist in a database management system. A master node receives a lock request from a second node. The lock request is a request for a lock on a shared resource. The master node grants the lock request to the second node. While the second node holds the lock, the second node causes the master node to modify the shared resource.

Claims (58)

1. A method of managing resources in a database management system, comprising:

receiving, at a first master node of a plurality of master nodes, a first lock request from a second node, wherein the first lock request is a request for a lock on a first shared resource;

wherein each master node of said plurality of master nodes has shared access to a plurality of shared resources;

wherein each master node of said plurality of master nodes masters a respective subset of said plurality of shared resources;

wherein said first shared resource belongs to a first subset of said plurality of shared resources that is mastered by said first master node;

said first master node granting the lock to said second node;

while said second node holds said lock, said second node causing said first master node to modify said first shared resource; and

wherein the method is performed by one or more computing devices.

2. The method of claim 1 , further comprising:

receiving, at said first master node, a second lock request from a third node, wherein the second lock request is a request for a lock on a second shared resource;

receiving a first modify request from said second node, wherein the first modify request is a request to modify said first shared resource;

subsequent to receiving the first modify request, receiving a second modify request from said third node, wherein the second modify request is a request to modify said second shared resource; and

modifying said second shared resource before modifying said first shared resource.

3. The method of claim 2 , wherein each modify request comprises an expected completion time.

4. The method of claim 2 , further comprising:

based at least in part on a prioritization scheme, determining whether the first modify request or the second modify request should be honored first.

5. The method of claim 4 , wherein the prioritization scheme is based on one or more of: a) an expected completion time associated with the request; b) priority attributes associated with the request's type; or c) a network or system state.

6. The method of claim 1 , further comprising:

receiving a second modify request from said second node, wherein the second modify request is a request to modify said first shared resource; and

subsequent to receiving the second modify request, receiving a first recall request from said second node, wherein the first recall request causes said first master node to refrain from modifying a second shared resource.

7. The method of claim 1 , further comprising:

caching said first shared resource at said first master node;

receiving a second modify request from said second node, wherein the second modify request is a request to modify said first shared resource; and

modifying the cached copy of said first shared resource.

8. The method of claim 1 , further comprising:

said first master node assuming mastership over said first shared resource, wherein said first shared resource was previously managed by a third master node of said plurality of master nodes.

9. The method of claim 8 , wherein the step of said first master node assuming mastership over said first shared resource is performed in response to detecting a state of the third master node.

10. The method of claim 1 , further comprising:

the second node generating an in-memory copy of said first shared resource.

11. A non-transitory computer-readable storage medium storing instructions which, when executed, cause one or more processors to perform the steps of:

receiving, at a first master node of a plurality of master nodes, a first lock request from a second node, wherein the first lock request is a request for a lock on a first shared resource;

wherein each master node of said plurality of master nodes has shared access to a plurality of shared resources;

wherein each master node of said plurality of master nodes masters a respective subset of said plurality of shared resources;

wherein said first shared resource belongs to a first subset of said plurality of shared resources that is mastered by said first master node;

said first master node granting the lock to said second node; and

while said second node holds said lock, said second node causing said first master node to modify said first shared resource.

12. The computer-readable storage medium of claim 11 , wherein the instructions further include instructions for:

receiving, at said first master node, a second lock request from a third node, wherein the second lock request is a request for a lock on a second shared resource;

receiving a first modify request from said second node, wherein the first modify request is a request to modify said first shared resource;

subsequent to receiving the first modify request, receiving a second modify request from said third node, wherein the second modify request is a request to modify said second shared resource; and

modifying said second shared resource before modifying said first shared resource.

13. The computer-readable storage medium of claim 11 , wherein the instructions further include instructions for:

based at least in part on a prioritization scheme, determining which modify request should be honored first.

14. The computer-readable storage medium of claim 12 , wherein the instructions further include instructions for:

based at least in part on a prioritization scheme, determining whether the first modify request or the second modify request should be honored first.

15. The computer-readable storage medium of claim 14 , wherein the prioritization scheme is based on one or more of: a) an expected completion time associated with a request; b) priority attributes associated with the request's type; or c) a network or system state.

16. The computer-readable storage medium of claim 11 , wherein the instructions further include instructions for:

receiving a second modify request from said second node, wherein the second modify request is a request to modify said first shared resource; and

subsequent to receiving the second modify request, receiving a first recall request from said second node, wherein the first recall request causes said first master node to refrain from modifying a second shared resource.

17. The computer-readable storage medium of claim 11 , wherein the instructions further include instructions for:

caching said first shared resource at said first master node;

receiving a second modify request from said second node, wherein the second modify request is a request to modify said first shared resource; and

modifying the cached copy of said first shared resource.

18. The computer-readable storage medium of claim 11 , wherein the instruction further include instructions for:

said first master node assuming mastership over said first shared resource, wherein said first shared resource was previously managed by a third master node of said plurality of master node.

19. The computer-readable storage medium of claim 18 , wherein the step of said first master node assuming mastership over said first shared resource is performed in response to detecting a state of the third master node.

20. The non-transitory computer-readable storage medium of claim 11 , further storing instructions which, when executed, cause the one or more processors to perform the steps of:

the second node generating an in-memory copy of said first shared resource.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2009
From: CHAN, WILSON WAI SHUN; PRUSCINO, ANGELO
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 023479/0329 →
Continuity (1)
Related Publication 20110106778A1 · May 5, 2011