IP Library Granted Patent US 11,144,524
Granted Patent B2
US 11,144,524 · App. 16/582,264 · Granted Oct 12, 2021

Backup operations in a tree-based distributed file system

Inventors: Mohit Aron (Saratoga, CA); Ganesha Shanmuganathan (San Jose, CA)
Assignee: Cohesity, Inc.
G06F16/2246G06F11/1435G06F16/128G06F16/1873G06F2201/84
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,524
App. No.
16/582,264
Granted
Oct 12, 2021
Kind
B2
Abstract

Techniques for cloning, writing to, and reading from file system metadata. Cloning involves identifying a first set of pointers included in a first root node in a file system metadata tree structure that stores file system metadata in leaf nodes of the tree structure, creating a first copy of the first root node that includes the first set of pointers, creating a second copy of the first root node that includes the first set of pointers, associating the first copy with a first view, and associating the second copy with a second view. Reading generally involves traversing the tree structure towards a target leaf node that contains data to be read. Writing generally involves traversing the tree structure in the same manner, but also creating copies of any nodes to be modified if those nodes are deemed to have a different treeID than a particular root node.

Claims (33)

1. A method, comprising:

in response to a request to modify data of a file system, identifying for the request, a root node among a plurality of roots nodes of a file system metadata tree structure of the file system, wherein the file system metadata tree structure includes one or more intermediate nodes and one or more leaf nodes, wherein a first leaf node of the file system metadata tree structure corresponds to metadata of the data requested to be modified by request;

using the identified root node to identify a first intermediate node and the first leaf node at least in part by releasing a read lock on a node of the file system metadata tree structure in an event a number of obtained read locks exceeds a threshold;

creating a new leaf node instance of the first leaf node of the file system metadata tree structure; and

creating a new intermediate node instance of the first intermediate node of the file system metadata tree structure, wherein the new intermediate node instance references the new leaf node instance, and wherein the first intermediate node of the file system metadata tree structure and the new intermediate node instance both reference a same leaf node included in the one or more leaf nodes of the file system metadata tree structure.

2. The method of claim 1 , wherein creating the new intermediate node instance includes copying from the first intermediate node to the new intermediate node instance, a reference to the same leaf node.

3. The method of claim 1 , wherein the new intermediate node instance is referenced by the identified root node.

4. The method of claim 1 , wherein the identified root node was created by copying data of another root node included in the plurality of roots nodes of the file system metadata tree structure.

5. The method of claim 1 , wherein the new leaf node instance stores the metadata associated with a file to be modified by the request to modify the data of the file system.

6. The method of claim 1 , wherein the identified root node is used to identify the first intermediate node and the first leaf node to traverse the file system metadata tree structure via the identified root node.

7. The method of claim 1 , wherein the new intermediate node instance references the new leaf node instance using a pointer to the new leaf node instance.

8. The method of claim 1 , wherein each root node of the plurality of roots nodes of the file system metadata tree structure correspond to a different view of the file system.

9. The method of claim 1 , wherein identified root node corresponds a current view of the file system.

10. The method of claim 1 , wherein identified root node corresponds a backup view of the file system at a particular past point in time.

11. The method of claim 1 , further comprising deleting a root node among the plurality of root nodes.

12. The method of claim 1 , wherein the new intermediate node instance references the new leaf node instance using a reference associated with an indicator that identifies a tree path that can be used to reach new leaf node instance.

13. The method of claim 1 , wherein the leaf nodes of the file system metadata tree structure store key-value pairs of file system metadata.

14. The method of claim 1 , further comprising using the identified root node to identify the first node and the first leaf node at least in part by obtaining a read lock on the identified root node and obtaining a read lock on the first intermediate node.

15. The method of claim 1 , further comprising obtaining a write lock on the new leaf node instance.

16. The method of claim 1 , wherein the file system metadata tree structure is stored across a distributed storage.

17. The method of claim 1 , wherein the one or more intermediate nodes are associated with a plurality of different intermediate node levels.

18. A system, comprising:

a processor configured to:

in response to a request to modify data of a file system, identify for the request, a root node among a plurality of roots nodes of a file system metadata tree structure of the file system, wherein the file system metadata tree structure includes one or more intermediate nodes and one or more leaf nodes, wherein a first leaf node of the file system metadata tree structure corresponds to metadata of the data requested to be modified by request;

use the identified root node to identify a first intermediate node and the first leaf node at least in part by releasing a read lock on a node of the file system metadata tree structure in an event a number of obtained read locks exceeds a threshold;

create a new leaf node instance of the first leaf node of the file system metadata tree structure; and

create a new intermediate node instance of the first intermediate node of the file system metadata tree structure, wherein the new intermediate node instance references the new leaf node instance, and wherein the first intermediate node of the file system metadata tree structure and the new intermediate node instance both reference a same leaf node included in the one or more leaf nodes of the file system metadata tree structure; and

a memory coupled to the processor and configured to provide the processor with instructions.

19. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

in response to a request to modify data of a file system, identifying for the request, a root node among a plurality of roots nodes of a file system metadata tree structure of the file system, wherein the file system metadata tree structure includes one or more intermediate nodes and one or more leaf nodes, wherein a first leaf node of the file system metadata tree structure corresponds to metadata of the data requested to be modified by request;

using the identified root node to identify a first intermediate node and the first leaf node at least in part by releasing a read lock on a node of the file system metadata tree structure in an event a number of obtained read locks exceeds a threshold;

creating a new leaf node instance of the first leaf node of the file system metadata tree structure; and

creating a new intermediate node instance of the first intermediate node of the file system metadata tree structure, wherein the new intermediate node instance references the new leaf node instance, and wherein the first intermediate node of the file system metadata tree structure and the new intermediate node instance both reference a same leaf node included in the one or more leaf nodes of the file system metadata tree structure.

Assignments (4)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2019
From: ARON, MOHIT; SHANMUGANATHAN, GANESHA
To: COHESITY, INC.
Reel/Frame 051236/0604 →
Continuity (3)
Continuation 15632121 · Jun 23, 2017
Continuation 14450730 · Aug 4, 2014
Related Publication 20200089667A1 · Mar 19, 2020