IP Library Granted Patent US 11,249,946
Granted Patent B2
US 11,249,946 · App. 15/977,575 · Granted Feb 15, 2022

Path name cache for notifications of file changes

Inventor: Dipankar Roy (San Jose, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/16G06F3/067G06F12/123G06F16/13G06F16/1734
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,249,946
App. No.
15/977,575
Granted
Feb 15, 2022
Kind
B2
Abstract

Change notify responses can be utilized to inform a remote computer that a file or directory that is being monitored has changed. A change notify response can include a path name to the file or directory being referenced. In some examples, a cache of path names can be maintained in a user space of a server implementing change notify responses. When a module that generates a change notify response does generate such a response, the module can first access the cache to determine if the relevant path name is located in the cache. Where the relevant path name is not located in the cache, the module can obtain the path name from kernel space and store it in the cache.

Claims (47)

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 a request to delete a specified file stored in a node of a distributed storage system;

in response to receiving the request to delete the specified file, retrieving, from a cache, a first identifier of a first path to the specified file, the cache being separate from the specified file;

after the retrieving the first identifier of the first path to the specified file, removing the first identifier of the first path to the specified file from the cache;

generating an indication that the specified file has been deleted based on the first identifier of the first path to the specified file;

sending the indication that the specified file has been deleted to a device external to the distributed storage system; and

in response to receiving a request to create another specified file stored in the distributed storage system, populating the cache with a second identifier of a second path to the other specified file, and with a third identifier to a data structure that stores metadata about the other specified file.

2. The system of claim 1 , wherein the sending the indication that the specified file has been deleted to the device external to the distributed storage system further comprises:

sending the indication that the specified file has been deleted to multiple devices external to the distributed storage system, the multiple devices including the device.

3. The system of claim 1 , wherein the cache comprises a least-recently-used data structure that is stored in the distributed storage system.

4. The system of claim 1 , wherein the third identifier to the data structure that stores metadata about the other specified file serves as a key to access the second identifier of the second path to the other specified file in the cache.

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

in response to receiving a request to modify a different specified file other than the specified file and the other specified file and stored in the distributed storage system, populating the cache with a fourth identifier of a third path to the different specified file.

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

in response to receiving a request to rename a different specified file other than the specified file and the other specified file and stored in the distributed storage system, removing a fourth identifier of a third path to the different specified file from the cache.

7. The system of claim 1 , wherein the generating the indication that the specified file has been deleted based on the first identifier of the first path to the specified file is performed independently of having deleted the specified file.

8. A method, comprising:

in response to receiving, by a system comprising a processor, a request to delete a specified file stored in a node of a distributed storage system, retrieving, from a cache, a first identifier of a first path to the specified file, the cache being separate from the specified file;

after retrieving the first identifier of the first path to the specified file resulting in a retrieved identifier, removing, by the system, the first identifier of the first path to the specified file from the cache;

sending, by the system, an indication that the specified file is deleted to a second system external to the system, the indication that the specified file is deleted being created from the retrieved first identifier of the first path to the specified file; and

in response to receiving a request to create another specified file, populating, by the system, the cache with a second identifier of a path to the other specified file, and with a third identifier to a data structure that stores metadata about the other specified file.

9. The method of claim 8 , further comprising:

in response to receiving the request to create the other specified file when the cache is full, removing a least-recently used entry in the cache.

10. The method of claim 8 , wherein sending the indication that the specified file is deleted to the second system external to the system comprises:

sending the indication that the specified file is deleted in accordance with an application-layer network protocol.

11. The method of claim 8 , wherein sending the indication that the specified file is deleted to the second system external to the system comprises:

sending the indication that the specified file is deleted in accordance with a server message block (SMB) protocol.

12. The method of claim 8 , wherein the indication that the specified file is deleted comprises a server message block (SMB) change notify response in accordance with an SMB protocol.

13. The method of claim 8 , wherein the third identifier to the data structure that stores metadata about the other specified file serves as a key to access the second identifier of the second path to the other specified file in the cache.

14. The method of claim 8 , further comprising:

generating, by the system, the indication that the specified file has been deleted based on the first identifier of the first path to the specified file is performed independently of having deleted the specified file.

15. A non-transitory computer-readable medium comprising instructions that, in response to execution, cause a system comprising a processor to perform operations, comprising:

in response to determining to delete a first specified file stored in a node of a distributed storage system, retrieving, from a cache, a first identifier of a first path to the first specified file, resulting in a retrieved first identifier, the cache being separate from the first specified file;

sending an indication that the first specified file is deleted to a device external to the system, the indication that the first specified file is deleted being created from the retrieved first identifier of the first path to the first specified file; and

in response to receiving a request to create a specified file stored in the distributed storage system, populating the cache with a second identifier of a second path to the specified file, and with a third identifier to a data structure that stores metadata about the specified file.

16. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

after retrieving the first identifier of the first path to the first specified file, removing the first identifier of the first path to the first specified file from the cache.

17. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

in response to receiving a request to modify a specified file stored in the system, populating the cache with a fourth identifier of a third path to the specified file.

18. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

in response to receiving a request to rename a specified file stored in the system, removing a fourth identifier of a third path to the specified file from the cache.

19. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

in response to receiving a request to create a specified file stored in the system when the cache is full, removing a least-recently used entry in the cache, and populating the cache with a fourth identifier of a third path to the specified file.

20. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

generating the indication that the first specified file has been deleted based on the first identifier of the first path to the first specified file is performed independently of having deleted the first specified file.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2018
From: ROY, DIPANKAR
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045781/0485 →
Continuity (1)
Related Publication 20190347337A1 · Nov 14, 2019