IP Library Granted Patent US 11,151,082
Granted Patent B1
US 11,151,082 · App. 14/675,572 · Granted Oct 19, 2021

File system operation cancellation

Inventors: Deepti Chheda (San Francisco, CA); Diwaker Gupta (San Francisco, CA); Vaibhav Kamra (Sunnyvale, CA); Nathan Rosenblum (San Francisco, CA); Niraj Tolia (Sunnyvale, CA)
Assignee: EMC IP Holding Company LLC
G06F16/16G06F16/13G06F16/182
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,151,082
App. No.
14/675,572
Granted
Oct 19, 2021
Kind
B1
Abstract

Cancelling file system operations at a file system client of a distributed file system is disclosed. In various embodiments, an indication is received to send locally-stored file system operations to a remote file system metadata server. A dependency graph or other data structure reflecting dependencies between the locally-stored file system operations is used to identify a set of locally-stored file system operations the members of which are fully dominated by a create-delete pair of operations comprising the set. The locally-stored file system operations comprising the set are cancelled, without being sent to the remote file system metadata server.

Claims (61)

1. A method of processing file system operations, comprising:

receiving, by a client device connected to a distributed file system including a remote file system metadata server, an indication of a lease break with respect to a lease held by the client device, wherein the lease is associated with metadata stored by the remote file system metadata server; and

in response to receiving the indication of the lease break,

determining, by the client device, a first subset of locally-stored file system operations that collectively correspond to a non-event, wherein:

the locally-stored file system operations are stored in a buffer at the client device;

the locally-stored file system operations correspond to one or more file system calls made by an application running on the client device that are intercepted and redirected to the buffer at the client device;

the locally-stored file system operations are associated with a portion of file system metadata corresponding to the lease; and

the first subset is determined based at least in part on a dependency graph or other data structure reflecting dependencies of the locally-stored file system operations;

cancelling, by the client device, the locally-stored file system operations comprised in the first subset;

determining, by the client device, a second subset of the locally-stored file system operations to communicate to the remote file system metadata server in a single package, wherein the second subset is determined based at least in part on the dependency graph or other data structure reflecting dependencies of the locally-stored file system operations; and

communicating, by the client device, the second subset to the remote file system metadata server, wherein communicating an operation of the second subset includes ensuring that the operation of the second subset is not sent to the remote file system metadata server unless all its dependent operations have already been communicated to the remote file system metadata server or are being communicated in connection with the operation, and

wherein cancelling the locally-stored file system operations comprised in the first subset results in the locally-stored file system operations comprised in the first subset not being sent to the remote file system metadata server.

2. The method of claim 1 , wherein the locally-stored file system operations comprise file system operations affecting file system metadata.

3. The method of claim 1 , wherein the locally-stored file system operations comprise file system operations that have been buffered locally to permit asynchronous transmission to the remote file system metadata server.

4. The method of claim 3 , wherein the portion of file system metadata corresponding to the lease corresponds to a portion of file system metadata with respect to which a metadata write lease is held.

5. The method of claim 3 , wherein cancelling the locally-stored file system operations comprised in the first subset includes removing the locally-stored file system operations comprised in the first subset from the buffer without sending the locally-stored file system operations comprised in the first subset to the remote file system metadata server.

6. The method of claim 3 , wherein cancelling the locally-stored file system operations comprised in the first subset includes removing the locally-stored file system operations comprised in the first subset from the dependency graph without sending the locally-stored file system operations comprised in the first subset to the remote file system metadata server.

7. A system, comprising:

a memory or other storage device configured to store file system operations locally at the system prior to such file system operations being sent to a remote file system metadata server; and

one or more processors of a client device connected to a distributed file system including a remote file system metadata server, the one or more processors coupled to the memory or other storage device and configured to:

receive an indication of a lease break with respect to a lease held by the client device, wherein the lease is associated with metadata stored by the remote file system metadata server; and

in response to receiving the indication of the lease break,

determine a first subset of locally-stored file system operations that collectively correspond to a non-event, wherein:

the locally-stored file system operations are stored in a buffer at the client device;

the locally-stored file system operations correspond to one or more file system calls made by an application running on the client device that are intercepted and redirected to the buffer at the client device;

the locally-stored file system operations are associated with a portion of file system metadata corresponding to the lease; and

the first subset is determined based at least in part on a dependency graph or other data structure reflecting dependencies of the locally-stored file system operations;

cancel the locally-stored file system operations comprised in the first subset;

determine a second subset of the locally-stored file system operations to communicate to the remote file system metadata server in a single package, wherein the second subset is determined based at least in part on the dependency graph or other data structure reflecting dependencies of the locally-stored file system operations; and

communicate, to the remote file system metadata server, the second subset, wherein communicating an operation of the second subset includes ensuring that the operation of the second subset is not sent to the remote file system metadata server unless all its dependent operations have already been communicated to the remote file system metadata server or are being communicated in connection with the operation, and

wherein cancelling the locally-stored file system operations comprised in the first subset results in the locally-stored file system operations comprised in the first subset not being sent to the remote file system metadata server.

8. The system of claim 7 , wherein the locally-stored file system operations comprise file system operations affecting file system metadata.

9. The system of claim 7 , wherein the locally-stored file system operations comprise file system operations that have been buffered locally to permit asynchronous transmission to the remote file system metadata server.

10. The system of claim 9 , wherein the portion of file system metadata corresponding to the lease corresponds to a portion of file system metadata with respect to which a metadata write lease is held.

11. The system of claim 9 , wherein cancelling the locally-stored file system operations comprised in the first subset includes removing the locally-stored file system operations comprised in the first subset from the buffer without sending the locally-stored file system operations comprised in the first subset to the remote file system metadata server.

12. The system of claim 9 , wherein cancelling the locally-stored file system operations comprised in the first subset includes removing the locally-stored file system operations comprised in the first subset from the dependency graph without sending the locally-stored file system operations comprised in the first subset to the remote file system metadata server.

13. A computer program product to process file system operations, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving, by a client device connected to a distributed file system including a remote file system metadata server, an indication of a lease break with respect to a lease held by the client device, wherein the lease is associated with metadata stored by the remote file system metadata server; and

in response to receiving the indication of the lease break,

determining, by the client device, a first subset of locally-stored file system operations that collectively correspond to a non-event, wherein:

the locally-stored file system operations are stored in a buffer at the client device;

the locally-stored file system operations correspond to one or more file system calls made by an application running on the client device that are intercepted and redirected to the buffer at the client device;

the locally-stored file system operations are associated with a portion of file system metadata corresponding to the lease; and

the first subset is determined based at least in part on a dependency graph or other data structure reflecting dependencies of the locally-stored file system operations;

cancelling, by the client device, the locally-stored file system operations comprised in the first subset;

determining, by the client device, a second subset of the locally-stored file system operations to communicate to the remote file system metadata server in a single package, wherein the second subset is determined based at least in part on the dependency graph or other data structure reflecting dependencies of the locally-stored file system operations; and

communicating, by the client device, the second subset to the remote file system metadata server, wherein communicating an operation of the second subset includes ensuring that the operation of the second subset is not sent to the remote file system metadata server unless all its dependent operations have already been communicated to the remote file system metadata server or are being communicated in connection with the operation, and

wherein cancelling the locally-stored file system operations comprised in the first subset results in the locally-stored file system operations comprised in the first subset not being sent to the remote file system metadata server.

14. The computer program product of claim 13 , wherein the locally-stored file system operations comprise file system operations that have been buffered locally to permit asynchronous transmission to the remote file system metadata server.

15. The computer program product of claim 14 , wherein the portion of file system metadata corresponding to the lease corresponds to a portion of file system metadata with respect to which a metadata write lease is held.

16. The computer program product of claim 15 , wherein cancelling the locally-stored file system operations comprised in the first subset includes removing the locally-stored file system operations comprised in the first subset from the buffer without sending the locally-stored file system operations comprised in the first subset to the remote file system metadata server.

17. The computer program product of claim 15 , wherein cancelling the locally-stored file system operations comprised in the first subset includes removing the locally-stored file system operations comprised in the first subset from the dependency graph without sending the locally-stored file system operations comprised in the first subset to the remote file system metadata server.

18. The method of claim 1 , wherein members of the first subset of the locally-stored file system operations are bounded by a create-delete pair of operations comprised in the first subset.

19. The method of claim 1 , wherein the determining the second subset of the locally-stored file system operations to communicate to the remote file system metadata server in the single package comprises determining linear chains of operations.

20. The method of claim 19 , wherein a set of operations corresponding to a linear chain of operations is communicated to the remote file system metadata server in a single communication.

21. The method of claim 20 , wherein the linear chain of operations comprise a sequence of operations each of which has at most a single dependency on an immediately prior operation in the linear chain.

22. The method of claim 21 , wherein the locally-stored file system operations were locally-stored in the buffer of the client device in response to corresponding operations being intercepted by a process running in a kernel of an operating system of the client device, and redirecting, by the process running in the kernel, the corresponding operations to a file system client that stores the locally-stored file system operations in the buffer.

23. The method of claim 1 , wherein the second subset is communicated in connection with one or more uniform resource identifiers (URIs) corresponding to one or more file system objects affected by the second subset, and the remote file system metadata server stores payload data associated with the second subset in a location associated with the one or more URIs in response to determining that the one or more URIs are valid.

24. The method of claim 21 , wherein the second subset is communicated to the remote file system metadata server in the single communication.

25. The method of claim 22 , wherein the corresponding operations intercepted by the process running the kernel are communicated by the client device to the remote file system metadata server so as to be asynchronous with respect to when corresponding file system calls are intercepted by the process.

26. The method of claim 1 , wherein a plurality of operations for changing an end of file attribute of a file that are comprised in a linear chain of the dependency graph from which the second subset is determined are merged into a single operation to set the attribute to an ending value indicated by a last operation in the linear chain.

Assignments (11)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2021
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055256/0001 →
MERGER Recorded Feb 2, 2021
From: MAGINATICS LLC
To: EMC CORPORATION
Reel/Frame 055118/0382 →
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 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2015
From: CHHEDA, DEEPTI; GUPTA, DIWAKER; KAMRA, VAIBHAV; ROSENBLUM, NATHAN; TOLIA, NIRAJ
To: MAGINATICS LLC
Reel/Frame 035305/0246 →