IP Library Granted Patent US 11,422,727
Granted Patent B2
US 11,422,727 · App. 15/931,197 · Granted Aug 23, 2022

Restoring a storage system using file relocation metadata

Inventors: Nagapramod Mandagere (Mountain View, CA); Yu-Shen Ng (Mountain View, CA); Karandeep Singh Chawla (Santa Clara, CA)
Assignee: Cohesity, Inc.
G06F3/0647G06F3/0619G06F3/0673
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,422,727
App. No.
15/931,197
Granted
Aug 23, 2022
Kind
B2
Abstract

A request to restore a plurality of files to a first storage system from a backup stored at a second storage system is received. Corresponding file relocation metadata for each of the plurality of files is provided to the first storage system. The corresponding file relocation metadata for each of the plurality of files enables accessibility of contents of the plurality of files at the first storage system without storing entire contents of the plurality of files at the first storage system. A corresponding full content version for at least one of the plurality of files that is to be utilized by the first storage system is provided to enable direct access at the first storage system to contents of the at least one of the plurality of files instead of utilizing corresponding file relocation metadata for the at least one of the plurality of files to access the contents of the at least one of the plurality of files.

Claims (40)

1. A method, comprising:

receiving a request to restore a plurality of files to a first storage system from a backup stored at a second storage system; and

in response to the request to restore the plurality of files included in the backup:

providing from the second storage system to the first storage system, corresponding file relocation metadata for each of the plurality of files, wherein the corresponding file relocation metadata for each of the plurality of files enables accessibility of contents of the plurality of files at the first storage system without storing entire contents of the plurality of files at the first storage system;

analyzing metadata associated with each of the plurality of files included in the backup to determine a subset of the plurality of files included in the backup to restore to the first storage system, wherein analyzing the metadata associated with each of the plurality of files included in the backup includes:

inferring a corresponding number of times each of the plurality of files included in the backup has been accessed or modified within a particular period of time; and

determining to include at least two files of the plurality of files in the subset in response to inferring that the corresponding number of times the at least two files have been accessed or modified is greater than a threshold number; and

based on an analysis of the metadata associated with each of the plurality of files and a policy providing from the second storage system to the first storage system the subset of the plurality of files that includes a corresponding full content version of the at least two files of the plurality of files that is to be utilized by the first storage system to enable direct access at the first storage system to contents of the at least two files of the plurality of files instead of utilizing corresponding file relocation metadata for the at least two files of the plurality of files to access the contents of the at least one of the plurality of files, wherein the policy indicates that an order in which the corresponding full content versions of the at least two files of the plurality of files are provided from the second storage system to the first storage system is based on the inferred corresponding number of times the at least two files were accessed or modified within the particular period of time.

2. The method of claim 1 , wherein in response to receiving the corresponding file relocation metadata for each of the plurality of files, the first storage system generates corresponding file relocation objects for each of the files.

3. The method of claim 1 , wherein in response to receiving the corresponding file relocation metadata for each of the plurality of files, a filter driver of the first storage system maintains the corresponding file relocation metadata for each of the plurality of files.

4. The method of claim 1 , wherein the corresponding file relocation metadata for each of the plurality of files references a corresponding location associated with the second storage system.

5. The method of claim 1 , wherein the metadata associated with a file included in the plurality of files is comprised of at least one of source metadata associated with the file or inferred metadata associated with the file.

6. The method of claim 1 , wherein analyzing the metadata associated with a file included in the plurality of files comprises determining whether the metadata associated with the file indicates to restore the file to the first storage system.

7. The method of claim 6 , wherein in response to determining that the metadata associated with the file does not indicate to restore the file to the first storage system, a file relocation object corresponding to the file is maintained on the first storage system.

8. The method of claim 6 , wherein the corresponding full content version of the file is provided in response to determining that the metadata associated with the file indicates to restore the file to the first storage system.

9. The method of claim 6 , wherein determining whether the metadata associated with the file indicates to restore the file to the first storage system comprises determining whether the policy indicates that the file is associated with a group of files.

10. The method of claim 9 , wherein in response to determining that the policy indicates that the file is associated with the group of files, restoring to the first storage system the file and one or other files included in the group of files.

11. The method of claim 1 , wherein the metadata associated with a file included in the plurality of files indicates the file is to be restored to the first storage system, wherein providing a corresponding full content version of the file includes determining whether the file is being modified.

12. The method of claim 11 , wherein in response to determining that the file is being modified, restoring the file to the first storage system.

13. The method of claim 12 , further comprising providing modifications associated with the restored file to the first storage system, wherein in response to receiving the modifications associated with the restored file, the first storage system merges the restored file with the modifications.

14. The method of claim 1 , wherein a placement of a file in the order in which the corresponding full content version of the at least two files of the plurality of files is provided is based on a frequency at which the file was accessed within the particular period of time.

15. The method of claim 1 , wherein a placement of a file in the order in which the corresponding full content version for the at least one of the plurality of files is provided is based on a creation time, last access time, or a last modification time associated with the file.

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

receiving a request to restore a plurality of files to a first storage system from a backup stored at a second storage system; and

in response to the request to restore the plurality of files included in the backup:

providing from the second storage system to the first storage system, corresponding file relocation metadata for each of the plurality of files, wherein the corresponding file relocation metadata for each of the plurality of files enables accessibility of contents of the plurality of files at the first storage system without storing entire contents of the plurality of files at the first storage system;

analyzing metadata associated with each of the plurality of files included in the backup to determine a subset of the plurality of files included in the backup to restore to the first storage system, wherein analyzing the metadata associated with each of the plurality of files included in the backup includes:

inferring a corresponding number of times each of the plurality of files included in the backup has been accessed or modified within a particular period of time; and

determining to include at least two files of the plurality of files in the subset in response to inferring that the corresponding number of times the at least two files have been accessed or modified is greater than a threshold number; and

based on an analysis of the metadata associated with each of the plurality of files and a policy providing from the second storage system to the first storage system the subset of the plurality of files that includes a corresponding full content version of the at least two files of the plurality of files that is to be utilized by the first storage system to enable direct access at the first storage system to contents of the at least two files of the plurality of files instead of utilizing corresponding file relocation metadata for the at least two files of the plurality of files to access the contents of the at least one of the plurality of files, wherein the policy indicates that an order in which the corresponding full content versions of the at least two files of the plurality of files are provided from the second storage system to the first storage system is based on the inferred corresponding number of times the at least two files were accessed or modified within the particular period of time.

17. A system, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

receive a request to restore a plurality of files to a first storage system from a backup stored at a second storage system; and

in response to the request to restore the plurality of files included in the backup, the processor is configured to:

provide from the second storage system to the first storage system, corresponding file relocation metadata for each of the plurality of files, wherein the corresponding file relocation metadata for each of the plurality of files enables accessibility of contents of the plurality of files at the first storage system without storing entire contents of the plurality of files at the first storage system;

analyze metadata associated with each of the plurality of files included in the backup to determine a subset of the plurality of files included in the backup to restore to the first storage system, wherein to analyze the metadata associated with each of the plurality of files included in the backup, the processor is configured to:

infer a corresponding number of times each of the plurality of files included in the backup has been accessed or modified within a particular period of time; and

determine to include at least two files of the plurality of files in the subset in response to inferring that the corresponding number of times the at least two files have been accessed or modified is greater than a threshold number; and

based on an analysis of the metadata associated with each of the plurality of files and a policy, provide from the second storage system to the first storage system the subset of the plurality of files that includes a corresponding full content version of the at least two files of the plurality of files that is to be utilized by the first storage system to enable direct access at the first storage system to contents of the at least two files of the plurality of files instead of utilizing corresponding file relocation metadata for the at least two files of the plurality of files to access the contents of the at least one of the plurality of files, wherein the policy indicates that an order in which the corresponding full content versions of the at least two files of the plurality of files are provided from the second storage system to the first storage system is based on the inferred corresponding number of times the at least two files were accessed or modified within the particular period of time.

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 Sep 18, 2020
From: MANDAGERE, NAGAPRAMOD; NG, YU-SHEN; CHAWLA, KARANDEEP SINGH
To: COHESITY, INC.
Reel/Frame 053814/0626 →
Continuity (1)
Related Publication 20210357140A1 · Nov 18, 2021