IP Library Granted Patent US 11,216,316
Granted Patent B1
US 11,216,316 · App. 16/939,872 · Granted Jan 4, 2022

Facilitating object deletion based on delete lock contention in distributed file systems

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,216,316
App. No.
16/939,872
Granted
Jan 4, 2022
Kind
B1
Abstract

Facilitating object deletion based on delete lock contention in distributed file systems is provided herein. A first node device of a cluster of node devices. The first node device can comprise a processor and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations. The operations can comprise determining whether a contention callback is assigned to an object scheduled to be removed from cache of the first node device. The operations also can comprise, based on the contention callback being assigned to the object, granting a write lock to a second node device of the cluster of node devices and removing from the cache a link to the object. Further, the operations can comprise, based on the contention callback not being assigned to the object, releasing from the cache the link to the object without interactions with other node devices of the cluster of node devices, the other node devices including the second node device and being other than the first node device.

Claims (36)

1. A first node device of a cluster of node devices, comprising:

a processor; and

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

determining whether a contention callback is assigned to an object scheduled to be removed from cache of the first node device;

based on the contention callback being assigned to the object, granting a write lock to a second node device of the cluster of node devices and removing from the cache a link to the object; and

based on the contention callback not being assigned to the object, releasing from the cache the link to the object without interactions with other node devices of the cluster of node devices, the other node devices including the second node device and being other than the first node device.

2. The first node device of claim 1 , wherein the determining whether the contention callback is assigned to the object comprises determining whether a flag in a data structure definition of the object is in a first state that indicates the contention callback is assigned to the object, or in a second state that indicates the contention callback is not assigned to the object.

3. The first node device of claim 1 , wherein the contention callback indicates that at least the second node device attempted to upgrade to an exclusive delete lock while the first node device held a shared lock for the object.

4. The first node device of claim 1 , wherein the operations further comprise:

prior to the determining whether the contention callback is assigned to the object, identifying the object for removal from the cache, and wherein the identifying comprises determining access to the object has not occurred within a defined time period.

5. The first node device of claim 1 , wherein the operations further comprise:

prior to the determining whether the contention callback is assigned to the object, identifying the object for removal from the cache, and wherein the identifying comprises receiving an implicit command to delete the object.

6. The first node device of claim 1 , wherein the object is a file stored on a distributed file system.

7. The first node device of claim 1 , wherein the cluster of node devices are nodes of a distributed file system.

8. A method, comprising:

determining, by a first node device comprising a processor and part of a group of node devices, that an object is to be unlinked at the first node device;

performing, by the first node device, an operation from a group of operations, the group of operations comprising:

based on a status of an indicator associated with the object being in a first state, performing, by the first node device, a first operation of the group of operations that grants a write lock to a second node device of the group of node devices and removes, from a cache of the first node device, a link to the object, and

based on the status of the indicator being in a second state, performing, by the first node device, a second operation of the group of operations that removes the link to the object from the cache of the first node device, wherein other nodes of the group of node devices, other than the first node device, are not notified of the second operation.

9. The method of claim 8 , wherein the determining that the object is to be unlinked comprises receiving a command to delete the object.

10. The method of claim 8 , wherein the indicator being in the first state is an indication that the second node device attempted to upgrade to an exclusive delete lock for the object while the first node device held a shared lock for the object.

11. The method of claim 10 , wherein the performing the first operation comprises releasing the shared lock for the object.

12. The method of claim 8 , wherein the performing the first operation comprises upgrading a lock state associated with the first node device for the object.

13. The method of claim 8 , wherein the indicator is a flag associated with a data structure that defines the object.

14. The method of claim 13 , wherein the data structure is an index node definition.

15. The method of claim 8 , wherein the link to the object is an object descriptor.

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

17. The method of claim 8 , wherein the group of node devices are nodes of a distributed file system.

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

determining that a cache is to be released from a first node device of a group of node devices;

identifying an object for removal from the cache;

determining whether a contention callback is assigned to the object;

based on the contention callback being assigned to the object, granting a write lock to a second node device of the group of node devices and removing from the cache a link to the object; and

based on the contention callback not being assigned to the object, releasing from the cache the link to the object without interaction with other node devices of the group of node devices, other than the first node device and including the second node device.

19. The machine-readable storage medium of claim 18 , wherein the determining whether the contention callback is assigned to the object comprises determining whether a flag in a data structure definition of the object is in a first state that indicates the contention callback is assigned to the object, or in a second state that indicates the contention callback is not assigned to the object.

20. The machine-readable storage medium of claim 18 , wherein the identifying the object for the removal from the cache comprises determining access to the object has not occurred within a defined time period.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2020
From: SPROAT, LISA; STEINKE, RON; KILPATRICK, DOUGLAS
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053320/0848 →