IP Library Granted Patent US 11,334,293
Granted Patent B1
US 11,334,293 · App. 17/160,545 · Granted May 17, 2022

Facilitating the implementation of cluster counters on lock value blocks in distributed file systems

Inventors: David Leimbach (Lynwood, WA); Douglas Kilpatrick (Seattle, WA)
Assignee: EMC IP Holding Company LLC
G06F3/0659G06F3/0604G06F3/067G06F3/0614G06F3/0622G06F3/0635G06F8/458G06F16/1774
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 11,334,293
App. No.
17/160,545
Granted
May 17, 2022
Kind
B1
Abstract

Facilitating the implementation of cluster counters on lock value blocks in distributed file systems is provided herein. A system comprises a processor and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations. The operations comprise receiving, from a first node device of a group of node devices, first information indicative of a first lock value block status of an object, and, from a second node device of the group of node devices, second information indicative of a second lock value block status of the object. The operations also can comprise merging the first information and the second information, resulting in a status of a lock value block of the object implemented at respective node devices of the group of node devices.

Claims (46)

1. A system, comprising:

a processor; and

a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising:

receiving, from a first node device of a group of node devices, first information indicative of a first lock value block status of an object, and, from a second node device of the group of node devices, second information indicative of a second lock value block status of the object; and

merging the first information and the second information, resulting in a status of a lock value block of the object implemented at respective node devices of the group of node devices.

2. The system of claim 1 , wherein the operations further comprise:

prior to the receiving of the first information and the second information, transmitting a release revocation message to the group of node devices, wherein the release revocation message comprises an instruction to release the lock value block.

3. The system of claim 2 , wherein the operations further comprise:

in response to the release revocation message, receiving, from the first node device, the first information and a first lock release indication; and

receiving, from the second node device, the second information and a second lock release indication.

4. The system of claim 1 , wherein the first information comprises a first increment value of the lock value block and a first decrement value of the lock value block determined by the first node device, and wherein the second information comprises a second increment value of the lock value block and a second decrement value of the lock value block determined by the second node device.

5. The system of claim 4 , wherein the merging comprises:

determining a first difference between the first increment value and the first decrement value, resulting in a first difference value;

determining a second difference between the second increment value and the second decrement value, resulting in a second difference value; and

deriving the status of the lock value block of the object based on a summation of the first difference value and the second difference value.

6. The system of claim 1 , wherein the lock value block implemented at the respective node devices of the group of node devices is associated with pending computing processes executing on the group of node devices, and wherein the operations further comprise:

comparing the status of the lock value block with a threshold status level;

based on the status of the lock value block satisfying the threshold status level, temporarily halting the pending computing processes executing on a third node device of the group of node devices; and

based on the status of the lock value block failing to satisfy the threshold status level, approving the pending computing processes executing on the third node device.

7. The system of claim 1 , wherein a first thread of the first node device and a second thread of the second node device obtain respective locks for the object simultaneously or substantially simultaneously.

8. The system of claim 7 , wherein ownership of a lock is retained at a node level, and wherein the first thread and the second thread do not have the ownership of the lock.

9. The system of claim 1 , wherein the object is a file stored on a distributed file system.

10. The system of claim 1 , wherein nodes of a distributed file system comprise the group of node devices.

11. A method, comprising:

determining, by a system comprising a processor, a first value of a lock associated with an object based on first information received from a first node of a cluster of nodes;

determining, by the system, a second value of the lock associated with the object based on second information received from a second node of the cluster of nodes; and

merging, by the system, the first value and the second value, resulting in a combined value of the lock, wherein the first node updates the first value and the second node updates the second value independently, and wherein the merging comprises supporting concurrent updates to the first value and the second value at the first node and the second node.

12. The method of claim 11 , further comprising:

determining, by the system, a third value of the lock associated with the object based on third information received from a third node of the cluster of nodes; and

merging, by the system, the third value with the combined value of the lock, resulting in an updated combined value, wherein the third node updates the first value independently of the first node and the second node, and wherein the merging of the third value comprises supporting concurrent updates to the first value, the second value, and the third value.

13. The method of claim 11 , wherein the merging of the first value and the second value is performed by a lock coordinator node of the cluster of nodes.

14. The method of claim 11 , wherein the first information comprises a first increment value and a first decrement value, wherein the determining of the first value comprises reducing the first increment value by the first decrement value, wherein the second information comprises a second increment value and a second decrement value, wherein the determining of the second value comprises reducing the second increment value by the second decrement value, and wherein the merging comprises determining a summation of the first value and the second value.

15. The method of claim 11 , further comprising:

prior to the determining of the first value, transmitting a release revocation message to the cluster of nodes, wherein the release revocation message comprises an instruction to release respective lock value blocks associated with the object at respective node devices of the cluster of nodes.

16. The method of claim 11 , wherein the object is a file stored on a distributed file system.

17. The method of claim 11 , wherein the nodes of the cluster of nodes are part of a distributed file system.

18. A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations, comprising:

sending, to node devices of a set of node devices, a revocation request that instructs the node devices to release locks held by the node devices for an object, wherein the sending is in response to a request for an exclusive lock for the object received from a first node device of the node devices;

receiving, from a second node device of the node devices, first information indicative of a first lock value determined for the object at the second node device, and, from a third node device of the node devices, second information indicative of a second lock value determined for the object at the third node device, wherein the first lock value and the second lock value are determined individually by the second node device and the third node device, respectively;

determining a current value of a lock value block for the object based on merging the first information and the second information; and

providing the exclusive lock for the object to the first node device, wherein the exclusive lock comprises the current value of the lock value block for the object.

19. The non-transitory machine-readable medium of claim 18 , wherein the first information comprises a first increment value of the object and a first decrement value of the object, and wherein the second information comprises a second increment value of the object and a second decrement value of the object.

20. The non-transitory machine-readable medium of claim 19 , wherein the determining of the current value comprises:

determining a first status value based on subtracting the first decrement value from the first increment value;

determining a second status value based on subtracting the second decrement value from the second increment value; and

determining an aggregation of the first status value and the second status value, resulting in the current value of the lock value block for the object.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2021
From: LEIMBACH, DAVID; KILPATRICK, DOUGLAS
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055059/0049 →
Cited By (1)
US 12,321,331