IP Library Granted Patent US 9,575,985
Granted Patent B2
US 9,575,985 · App. 12/632,002 · Granted Feb 21, 2017

Distributed lock administration

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 9,575,985
App. No.
12/632,002
Granted
Feb 21, 2017
Kind
B2
Abstract

Apparatus, systems, and methods may operate to grant a renewable lease synchronization lock to a node for a file having copies distributed among a group of nodes that is unsynchronized and for which no write lock has already been granted. The synchronization lock disables modification of the file, and enables synchronization of a file copy on the requesting node to a synchronization master copy on another node in the group. A renewable lease write lock can be granted to a node in the group when the file is synchronized and when the write lock has not already been granted. The write lock disables granting the synchronization lock, and enables file modification. The synchronization lock and write lock are maintained until their respective leases expire. Additional apparatus, systems, and methods are disclosed.

Claims (54)

1. An apparatus, comprising:

a first processor to grant a synchronization lock with a renewable lease to a requesting node included in a group of nodes when a file having copies distributed among the nodes including the requesting node is in an unsynchronized state and when no write lock has already been granted to the requesting node and to any other nodes in the group of nodes, wherein the synchronization lock is to disable modification of the file, to enable synchronization of one of the copies on the requesting node to another one of the copies comprising a synchronization master copy on another one of the nodes, and wherein the first processor is to grant a write lock with a renewable lease to a write requesting node included in the nodes when the file is in a synchronized state and when the write lock has not already been granted, wherein the write lock is to disable granting the synchronization lock, to enable modification of the file, wherein if the file is in an unsynchronized state when the write lock is requested, the first processor causes nodes in the group of nodes that have not synchronized their copy of the file to the synchronization master copy to immediately synch theft copy of the file to the synchronization master copy before the write lock is granted; and

a second processor to maintain the synchronization lock while the renewable lease for the synchronization lock is not expired, and to maintain the write lock while the renewable lease for the write lock is not expired.

2. The apparatus of claim 1 , further comprising:

a memory element to store a database comprising information regarding status of the synchronization lock and the write lock for the group of nodes.

3. The apparatus of claim 1 , further comprising:

a memory element included in a node housing the first processor and the second processor, the memory element to store a hash table associated with the file that includes hash tables associated with the synchronization lock and the write lock.

4. The apparatus of claim 1 , wherein the first processor is to refrain from granting the synchronization lock when the file having copies distributed among the nodes is in a synchronized state.

5. A system, comprising:

a first node comprising a first processor to grant a synchronization lock with a renewable lease to a requesting node included in a group of nodes when a file having copies distributed among the nodes including the requesting node is in an unsynchronized state and when no write lock has already been granted to the requesting node and to any other nodes in the group of nodes, wherein the synchronization lock is to disable modification of the file, to enable synchronization of one of the copies on the requesting node to another one of the copies comprising a synchronization master copy on another one of the nodes, and wherein the first processor is to grant a write lock with a renewable lease to a write requesting node included in the nodes when the file is in a synchronized state and when the write lock has not already been granted, wherein the write lock is to disable granting the synchronization lock, to enable modification of the file, the first processor, wherein if the file is in an unsynchronized state when the write lock is requested, the first processor causes nodes in the group of nodes that have not synchronized their copy of the file to the synchronization master copy to immediately synch their copy of the file to the synchronization master copy before the write lock is granted;

a second processor to maintain the synchronization lock while the renewable lease for the synchronization lock is not expired, and to maintain the write lock while the renewable lease for the write lock is not expired; and a plurality of second nodes comprising the group of nodes.

6. The system of claim 5 , further comprising, a memory element in the first node to store durations associated with the renewable lease for the synchronization lock and the renewable lease for the write lock.

7. The system of claim 5 , further comprising:

a memory element in the first node to store a count associated with read locks granted to some of the second nodes with respect to some of the copies.

8. A processor-implemented method to execute on one or more processors that perform the method, comprising:

granting a synchronization lock with a renewable lease to a requesting node included in a group of nodes when a file having copies distributed among the nodes including the requesting node is in an unsynchronized state and when no write lock has already been granted to the requesting node and to any other nodes in the group of nodes, wherein the synchronization lock is to disable modification of the file, to enable synchronization of one of the copies on the requesting node to another one of the copies comprising a synchronization master copy on another one of the nodes;

granting a write lock with a renewable lease to a write requesting node included in the nodes when the file is in a synchronized state and when the write lock has not already been granted, wherein the write lock is to disable granting the synchronization lock, to enable modification of the file, wherein if the file is in an unsynchronized state when the write lock is requested, causing nodes in the group of nodes that have not synchronized their copy of the file to the synchronization master copy to immediately synch their copy of the file to the synchronization master copy before the write lock is granted;

maintaining the synchronization lock while the renewable lease for the synchronization lock is not expired; and

maintaining the write lock while the renewable lease for the write lock is not expired.

9. The method of claim 8 , further comprising:

receiving a request from the requesting node to synchronize the one of the copies on the requesting node; and

granting the synchronization lock to the requesting node only if the synchronization lock or the write lock have not already been granted to another node included in the group of nodes.

10. The method of claim 8 , further comprising:

transmitting an indication of a failure to grant a file lock request when the synchronization lock or the write lock have already been granted; and

transmitting a time to retry submitting the request.

11. The method of claim 8 , further comprising:

determining that one of the renewable lease for the synchronization lock or the renewable lease for the write lock have expired; and

releasing the synchronization lock or the write lock, respectively, in response to the determining.

12. The method of claim 8 , further comprising:

determining that a modification to one of the copies has occurred at a modifying one of the nodes; and

transmitting a non-immediate synchronization command to nodes in the group that have not synchronized their corresponding copies of the file to the synchronization master copy.

13. The method of claim 8 , further comprising:

determining that the file is in the unsynchronized state and that the write lock has been requested; and

transmitting an immediate synchronization command to nodes in the group that have not synchronized their corresponding copies of the file to the synchronization master copy.

14. The method of claim 8 , further comprising:

granting a read lock to a read requesting node included in the group when other read locks or a write lock exist, and when the file is not in the unsynchronized state on at least one node in the group that is not the same as the read requesting node.

15. The method of claim 8 , further comprising:

adjusting a duration of the renewable lease for at least one of the synchronization lock or the write lock based on network traffic loading.

16. The method of claim 8 , further comprising:

granting a request to renew the synchronization lock for a fixed synchronization duration if the synchronization lock has not yet expired; and

granting a request to renew the write lock for a fixed write duration if the write lock has not yet expired.

17. A processor-implemented method to execute on one or more processors that perform the method, comprising:

receiving a synchronization lock with a renewable lease at a requesting node included in a group of nodes when a copy of a file having multiple copies distributed among the nodes including the requesting node is in an unsynchronized state on the requesting node, wherein no write lock has already been granted to the requesting node and to any other nodes in the group of nodes, and wherein the synchronization lock is to disable modification of the file, to enable synchronization of the copy to another one of the copies comprising a synchronization master copy on another one of the nodes in the group; and

receiving a write lock with a renewable lease when the file is in a synchronized state and when the write lock has not already been granted, wherein the write lock is to disable granting the synchronization lock, to enable modification of the copy on the requesting node when the requesting node has requested the write lock, wherein if the file is in an unsynchronized state when the write lock is requested, nodes in the group of nodes that have not synchronized their copy of the file to the synchronization master copy immediately synch their copy of the file to the synchronization master copy before the write lock is received.

18. The method of claim 17 , further comprising:

receiving a non-immediate synchronization command from a centralized lock manager (CLM) at the requesting node;

refraining from synchronizing the copy on the requesting node; and

transmitting a message to the CLM from the requesting node to indicate that synchronization of the copy will occur at a later time.

19. The method of claim 17 , further comprising:

transmitting a message to a centralized lock manager (CLM) from the requesting node to indicate that synchronization of the copy has occurred.

20. The method of claim 17 , further comprising:

executing a single lock client on the requesting node to manage requests from applications on the requesting node to write to the copy of the file by transmitting requests to a centralized lock manager for read locks, the synchronization lock, and the write lock.

21. The method of claim 17 , further comprising:

renewing the renewable lease on one of the synchronization lock or the write lock with a centralized lock manager when a selected amount of time remains on the renewable lease.

Assignments (13)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →