IP Library Granted Patent US 11,144,504
Granted Patent B1
US 11,144,504 · App. 14/675,566 · Granted Oct 12, 2021

Eliminating redundant file system operations

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/164G06F16/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,144,504
App. No.
14/675,566
Granted
Oct 12, 2021
Kind
B1
Abstract

Techniques to eliminate redundant file system operations are disclosed. In various embodiments, an indication is received to send locally-stored file system operations to a remote file system metadata server. A set of related locally-stored file system operations is determined. Operations in the set are determined to satisfy a merger criteria and are merged into a single merged file system operation. The merged file system operation is sent to the remote file system metadata server.

Claims (63)

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

writing, by one or more processors of a client connected to a distributed file system including a remote file system metadata server, one or more file system operations affecting metadata for which a lease is held to a buffer at the client, the lease being held with respect to at least a portion of a file system metadata;

obtaining, by the client, an indication that the lease is to end;

in response to obtaining the indication that the lease is to end, determining, by the client, to send locally-stored file system operations to the remote file system metadata server, the locally-stored file system operations comprising at least one of the one or more file system operations written to the buffer; and

in response to determining to send locally-stored file system operations to the remote file system metadata server,

determining, by the client, a set of related locally-stored file system operations to be communicated to the file system metadata server,

wherein:

the determining the set of related locally-stored file system operations comprises identifying from among a plurality of file system operations a linear chain of dependent file system operations based at least in part on a dependency graph or other data structure reflecting dependencies between the locally-stored file system operations,

the identifying the linear chain of dependent file system operations processing the dependency graph to find the linear chain,

the identifying the linear chain being based at least in part on a determination that a sequence of operations each have at most a single dependency on a prior operation in the linear chain and none of which has more than one inbound dependency;

identifying, by the client, at least a subset of operations in the set as satisfying a merger criteria;

merging, by the client, the subset of operations into a single merged file system operation; and

sending, by the client, the merged file system operation to the remote file system metadata server, wherein the merged file system operation is sent based at least in part on the receiving of the indication, wherein sending the merged file system operation includes ensuring that an operation of the one or more file system operations is not sent to the remote file system metadata server unless all operations on which the operation depends have already been sent to the remote file system metadata server or are being sent in connection with the operation.

2. The method of claim 1 , wherein identifying at least a subset of operations in the set as satisfying a merger criteria comprises determining that two or more operations comprising the subset would result in making successive overwrites of a same file system metadata attribute.

3. The method of claim 2 , wherein merging the subset of operations into a single merged file system operation comprises removing all but a most recently received one of the file system operations in the subset.

4. The method of claim 2 , wherein merging the subset of operations into a single merged file system operation comprises modifying an operation in the subset to reflect a final value for the file system metadata attribute that is the same as an ending value to which the file system metadata attribute would have been set had the operations in the subset been performed without merger.

5. 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 of at least one of the one or more file system operations from the client to the remote file system metadata server.

6. The method of claim 5 , wherein the lease corresponds to a metadata write lease, and wherein the locally-stored file system operations are associated with a portion of file system metadata with respect to which the metadata write lease is held.

7. The method of claim 6 , wherein the determining to send the locally-stored file system operations to the remote file system metadata server is based at least in part on a lease break communication with respect to the metadata write lease.

8. The method of claim 1 , wherein sending the merged file system operation to the remote file system metadata server includes combining the merged file system operation with one or more other operations in the set of related locally-stored file system operations that were not merged into the merged file system operation to create a compound file system operation; and sending the compound operation to the file system metadata server.

9. A system, comprising:

a communication interface; and

a processor of a client connected to a distributed file system including a remote file system metadata server, the processor coupled to the communication interface and configured to:

write one or more file system operations affecting metadata for which a lease is held to a buffer at the client, the lease being held with respect to at least a portion of a file system metadata;

obtain an indication that the lease is to end

in response to obtaining the indication that the lease is to end, determine to send locally-stored file system operations to the remote file system metadata server, the locally-stored file system operations comprising at least one of the one or more file system operations written to the buffer; and

in response to determining to send locally-stored file system operations to the remote file system metadata server,

determine a set of related locally-stored file system operations to be communicated to the file system metadata server,

wherein:

to determine the set of related locally-stored file system operations comprises identifying from among a plurality of file system operations a linear chain of dependent file system operations based at least in part on a dependency graph or other data structure reflecting dependencies between the locally-stored file system operations,

the identifying the linear chain of dependent file system operations processing the dependency graph to find the linear chain,

the linear chain being based at least in part on a determination that a sequence of operations each have at most a single dependency on a prior operation in the linear chain and none of which has more than one inbound dependency;

identify at least a subset of operations in the set as satisfying a merger criteria;

merge the subset of operations into a single merged file system operation; and

send the merged file system operation to the remote file system metadata server via the communication interface, wherein the merged file system operation is sent based at least in part on the receiving of the indication, wherein sending the merged file system operation includes ensuring that an operation of the one or more file system operations is not sent to the remote file system metadata server unless all operations on which the operation depends have already been sent to the remote file system metadata server or are being sent in connection with the operation.

10. The system of claim 9 , wherein identifying at least a subset of operations in the set as satisfying a merger criteria comprises determining that two or more operations comprising the subset would result in making successive overwrites of a same file system metadata attribute.

11. The system of claim 10 , wherein merging the subset of operations into a single merged file system operation comprises removing all but a most recently received one of the file system operations in the subset.

12. The system of claim 10 , wherein merging the subset of operations into a single merged file system operation comprises modifying an operation in the subset to reflect a final value for the file system metadata attribute that is the same as an ending value to which the file system metadata attribute would have been set had the operations in the subset been performed without merger.

13. The system of claim 9 , 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.

14. The system of claim 13 , wherein the lease corresponds to a metadata write lease, and wherein the locally-stored file system operations are associated with a portion of file system metadata with respect to which the metadata write lease is held.

15. The system of claim 14 , wherein the determining to send the locally-stored file system operations to the remote file system metadata server is based at least in part on a lease break communication with respect to the metadata write lease.

16. The system of claim 9 , wherein sending the merged file system operation to the remote file system metadata server includes combining the merged file system operation with one or more other operations in the set of related locally-stored file system operations that were not merged into the merged file system operation to create a compound file system operation; and sending the compound operation to the file system metadata server.

17. 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:

writing, by one or more processors of a client connected to a distributed file system including a remote file system metadata server, one or more file system operations affecting metadata for which a lease is held to a buffer at the client, the lease being held with respect to at least a portion of a file system metadata;

obtaining, by the client, an indication that the lease is to end;

in response to obtaining the indication that the lease is to end, determining, by the client, to send locally-stored file system operations to the remote file system metadata server, the locally-stored file system operations comprising at least one of the one or more file system operations written to the buffer; and

in response to determining to send locally-stored file system operations to the remote file system metadata server,

determining, by the client, a set of related locally-stored file system operations to be communicated to the file system metadata server,

wherein:

the determining the set of related locally-stored file system operations comprises identifying from among a plurality of file system operations a linear chain of dependent file system operations based at least in part on a dependency graph or other data structure reflecting dependencies between the locally-stored file system operations,

the identifying the linear chain of dependent file system operations processing the dependency graph to find the linear chain,

the identifying the linear chain being based at least in part on a determination that a sequence of operations each have at most a single dependency on a prior operation in the linear chain and none of which has more than one inbound dependency;

identifying, by the client, at least a subset of operations in the set as satisfying a merger criteria;

merging, by the client, the subset of operations into a single merged file system operation; and

sending, by the client, the merged file system operation to the remote file system metadata server, wherein the merged file system operation is sent based at least in part on the receiving of the indication, wherein sending the merged file system operation includes ensuring that an operation of the one or more file system operations is not sent to the remote file system metadata server unless all operations on which the operation depends have already been sent to the remote file system metadata server or are being sent in connection with the operation.

18. The method of claim 1 , wherein communication of the single merged file system operation operatively communicates the subset of operations that are merged into the single merged file system operation in a same packet.

19. The method of claim 1 , wherein the single merged file system operation is communicated in a single packet.

20. The method of claim 1 , wherein the determining, by one or more processors, a set of related locally-stored file system operations comprises determining to cancel a set of operations bounded by a create operation and a delete operation pair.

21. The method of claim 1 , wherein the identifying the at least a subset of operations in the set as satisfying the merger criteria comprises determining whether any net change would be made to file system metadata if the set of operations in the chain were performed.

22. The method of claim 1 , wherein the merging the subset of operations into the single merged file system operation reduces a number of operations the remote file system metadata server has to perform to achieve a result corresponding to the set of operations.

23. The method of claim 1 , wherein the writing the one or more file system operations affecting metadata for which a lease is held to a buffer affecting comprises intercepting the one or more file system operations by a process running in a kernel of an operating system executed by the one or more processors, and redirecting the one or more file system operations to a file system client by the process running in the kernel.

24. The method of claim 1 , further comprising:

in response to identifying the linear chain, performing a validation processing to ensure that all operations in the linear chain would succeed if all the operations in the linear chain were sent to the remote file system metadata server in a correct order.

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: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; 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 055254/0052 →
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/0203 →