IP Library Granted Patent US 11,874,805
Granted Patent B2
US 11,874,805 · App. 17/747,794 · Granted Jan 16, 2024

Remotely mounted file system with stubs

Inventors: Venkata Ranga Radhanikanth Guturi (San Jose, CA); Tushar Mahata (Cupertino, CA); Praveen Kumar Yarlagadda (Santa Clara, CA)
Assignee: Cohesity, Inc.
G06F16/185G06F16/13G06F16/164
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,874,805
App. No.
17/747,794
Granted
Jan 16, 2024
Kind
B2
Abstract

A request to access one or more files associated with a particular pint in time that are archived at a cloud storage is received. A file system metadata tree data structure based on metadata associated with the one or more requested files that is obtained from the cloud storage is partially restored at a storage system. The partially restored file system metadata tree data structure includes one or more stub nodes associated with one or more non-requested files. Access to the one or more requested files is provided using the partially restored file system metadata tree data structure. Metadata associated with the one or more non-requested files is prefetch from the cloud storage. A portion of the file system metadata tree data structure corresponding to the one or more non-requested files is restored in part by replacing the one or more stub nodes associated with the one or more non-requested files with metadata corresponding to the one or more non-requested files.

Claims (41)

1. A method, comprising:

receiving a request to access one or more files associated with a particular point in time that are archived at a cloud storage;

partially restoring, at a storage system, a file system metadata tree data structure based on metadata associated with the one or more requested files that is obtained from the cloud storage, wherein the partially restored file system metadata tree data structure includes one or more stub nodes associated with one or more non-requested files;

providing access to the one or more requested files using the partially restored file system metadata tree data structure;

prefetching from the cloud storage metadata associated with the one or more non-requested files; and

restoring a portion of the file system metadata tree data structure corresponding to the one or more non-requested files in part by replacing the one or more stub nodes associated with the one or more non-requested files with metadata corresponding to the one or more non-requested files, wherein a serialized representation of the metadata corresponding to the one or more non-requested files stored at the cloud storage includes a first flat set of data comprised of a plurality of data blocks and a second flat set of data comprised of a second plurality of data blocks, wherein the first flat set of data corresponds to a first archive and the second flat set of data corresponds to a second archive, wherein a first data block of the first flat set of data includes a file offset to a second data block of the second flat set of data.

2. The method of claim 1 , wherein each of the first plurality of data blocks corresponds to a node included in the file system metadata tree data structure.

3. The method of claim 1 , wherein one of the first plurality of data blocks includes one or more file offsets to one or more other data blocks.

4. The method of claim 3 , wherein a first file offset of the one or more file offsets references a data block of the one or more other data blocks that is included in the first flat set of data.

5. The method of claim 1 , wherein a stub node of the one or more stub nodes associated with the one or more non-requested files references a data block included in the first flat set of data stored at the cloud storage.

6. The method of claim 1 , wherein a stub node of the one or more stub nodes associated with the one or more non-requested files references a data block included in the second flat set of data stored at the cloud storage.

7. The method of claim 1 , wherein the metadata associated with the one or more non-requested files is prefetched based on a prior usage pattern.

8. The method of claim 1 , wherein the partially restored file system metadata tree data structure includes a corresponding restored path from a root node to a corresponding leaf node associated with each of the one or more requested files.

9. The method of claim 1 , wherein partially restoring the file system metadata tree data structure includes:

traversing the partially restored file system metadata tree data structure; and

replacing one or more stub nodes associated with the one or more requested files with the metadata associated with the one or more requested files.

10. The method of claim 1 , wherein the one or more files are archived to the cloud storage according to an archive policy.

11. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving a request to access one or more files associated with a particular point in time that are archived at a cloud storage;

partially restoring, at a storage system, a file system metadata tree data structure based on metadata associated with the one or more requested files that is obtained from the cloud storage, wherein the partially restored file system metadata tree data structure includes one or more stub nodes associated with one or more non-requested files;

providing access to the one or more requested files using the partially restored file system metadata tree data structure;

prefetching from the cloud storage metadata associated with the one or more non-requested files; and

restoring a portion of the file system metadata tree data structure corresponding to the one or more non-requested files in part by replacing the one or more stub nodes associated with the one or more non-requested files with metadata corresponding to the one or more non-requested files, wherein a serialized representation of the metadata corresponding to the one or more non-requested files stored at the cloud storage includes a first flat set of data comprised of a plurality of data blocks and a second flat set of data comprised of a second plurality of data blocks, wherein the first flat set of data corresponds to a first archive and the second flat set of data corresponds to a second archive, wherein a first data block of the first flat set of data includes a file offset to a second data block of the second flat set of data.

12. The computer program product of claim 11 , wherein each of the first plurality of data blocks corresponds to a node included in the file system metadata tree data structure.

13. The computer program product of claim 11 , wherein one of the first plurality of data blocks includes one or more file offsets to one or more other data blocks.

14. The computer program product of claim 13 , wherein a first file offset of the one or more file offsets references a data block of the one or more other data blocks that is included in the first flat set of data.

15. The computer program product of claim 11 , wherein a stub node of the one or more stub nodes associated with the one or more non-requested files references a data block included in the second flat set of data stored at the cloud storage.

16. The computer program product of claim 11 , wherein a stub node of the one or more stub nodes associated with the one or more non-requested files references a data block included in the second flat set of data stored at the cloud storage.

17. The computer program product of claim 11 , wherein the metadata associated with the one or more non-requested files is prefetched based on a prior usage pattern.

18. The computer program product of claim 11 , wherein the partially restored file system metadata tree data structure includes a corresponding restored path from a root node to a corresponding leaf node associated with each of the one or more requested files.

19. The computer program product of claim 11 , wherein partially restoring the file system metadata tree data structure includes:

traversing the partially restored file system metadata tree data structure; and

replacing one or more stub nodes associated with the one or more requested files with the metadata associated with the one or more requested files.

20. A system, comprising:

a processor configured to:

receive a request to access one or more files associated with a particular point in time that are archived at a cloud storage;

partially restore, at a storage system, a file system metadata tree data structure based on metadata associated with the one or more requested files that is obtained from the cloud storage, wherein the partially restored file system metadata tree data structure includes one or more stub nodes associated with one or more non-requested files;

provide access to the one or more requested files using the partially restored file system metadata tree data structure;

prefetch from the cloud storage metadata associated with the one or more non-requested files; and

restore a portion of the file system metadata tree data structure corresponding to the one or more non-requested files in part by replacing the one or more stub nodes associated with the one or more non-requested files with metadata corresponding to the one or more non-requested files, wherein a serialized representation of the metadata corresponding to the one or more non-requested files stored at the cloud storage includes a first flat set of data comprised of a plurality of data blocks and a second flat set of data comprised of a second plurality of data blocks, wherein the first flat set of data corresponds to a first archive and the second flat set of data corresponds to a second archive, wherein a first data block of the first flat set of data includes a file offset to a second data block of the second flat set of data; and

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

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 May 18, 2022
From: GUTURI, VENKATA RANGA RADHANIKANTH; MAHATA, TUSHAR; YARLAGADDA, PRAVEEN KUMAR
To: COHESITY, INC.
Reel/Frame 059951/0080 →
Continuity (4)
Continuation 16898015 · Jun 10, 2020
Continuation 15721429 · Sep 29, 2017
Provisional Application 62555456 · Sep 7, 2017
Related Publication 20220276987A1 · Sep 1, 2022