IP Library Granted Patent US 7,376,744
Granted Patent B2
US 7,376,744 · App. 10/435,229 · Granted May 20, 2008

Using local locks for global synchronization in multi-node systems

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 7,376,744
App. No.
10/435,229
Granted
May 20, 2008
Kind
B2
Abstract

Described herein are techniques for global synchronization that under various scenarios eliminate or defer the acquisition of global locks. In many cases, the need to acquire global locks is eliminated, thereby saving the overhead attendant to processing global locks.

Claims (27)

1. A method for managing locks granted to processes on a multi-node system to access a set of shared resources that includes a first shared resource, the method comprising the steps of:

the multi-node system allowing processes on a first node of the multi-node system to access the first shared resource based on local locks and allowing processes on other nodes of the multi-node system to access the first shared resource based on global locks;

granting a first local lock on the first shared resource to a first process on the first node; and

while a global lock on the first shared resource is not held by any node of said multi-node system, permitting the first process to access the first shared resource based on the first local lock.

2. The method of claim 1 , further comprising the step of:

while said first process holds said first local lock, in response to a request from another process that requires a grant of a global lock on the first shared resource, causing the first process to obtain a global lock on the first shared resource.

3. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 2 .

4. The method of claim 1 , wherein:

the method includes receiving a request from the first process for a lock on the first shared resource that allows the first process to access the, first shared resource;

the method includes determining, based on one or more conditions, whether the request from the first process may be honored by granting only a local lock; and

the step of permitting the first process to access the first shared resource is performed only if the request from the first process may be honored by granting only a local lock.

5. The method of claim 4 , wherein the one or more conditions include that the first shared resource is not globally locked by another process.

6. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 5 .

7. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4 .

8. The method of claim 4 , wherein the one or more conditions include that the first shared resource is mastered by another node other than the first node.

9. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 8 .

10. The method of claim 1 , wherein the first shared resource is mastered by the first node.

11. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 10 .

12. The method of claim 1 , the method further including permitting other processes on the first node to access the first shared resource based on a local lock granted by the first node to each of the other processes.

13. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 12 .

14. The method of claim 1 , wherein the step of granting a first local lock is performed in response to the first process creating the first shared resource.

15. The method of claim 14 , wherein the first shared resource is mastered by another node other than the first node.

16. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 14 .

17. The method of claim 15 , further including the step of assigning the first node a master of the first shared resource in response to determining that the first node most frequently accesses the first shared resource relative to other nodes of the multi-node system.

18. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 15 .

19. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 17 .

20. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 1 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2003
From: LOAIZA, JUAN; CHANDRASEKARAN, SASHIKANTH; MACNAUGHTON, NEIL
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 014064/0972 →
Continuity (1)
Related Publication 20040225742A1 · Nov 11, 2004