IP Library › Granted Patent US 11,442,894
Granted Patent B2
US 11,442,894 · App. 16/750,048 · Granted Sep 13, 2022

Methods for scalable file backup catalogs and devices thereof

Inventors: Nikhil Bhavadas Kaplingat (Bangalore, IN); Ravindra Kuramkote (San Jose, CA); Amarnath Rachapudi (Bangalore, IN); Subhabrata Sen (Bangalore, IN)
Assignee: NETAPP, INC.
G06F16/128G06F11/1435G06F11/1451G06F11/1461G06F11/1464G06F11/1469G06F16/113G06F16/1734G06F16/1824G06F2201/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,442,894
App. No.
16/750,048
Granted
Sep 13, 2022
Kind
B2
Abstract

Methods, non-transitory machine readable media, and computing devices that provide file backup catalogs with improved scalability are disclosed. With this technology, a sequence number is incremented and an entry for a snapshot associated with obtained metadata for the snapshot is generated. The snapshot entry comprises a snapshot identifier for the snapshot and the incremented sequence number. A current version flag is then set in another entry for a file associated with a create event identified in the metadata. The file entry includes a file identifier for the file, a create attribute comprising the incremented sequence number, and a delete attribute. The file and snapshot entries are then inserted into indice(s) in a catalog database. Based on the schema of the indice(s), this technology provides a lightweight, elegant, and highly scalable catalog that more efficiently facilitates full path global file search and restore functionality with reduced resource utilization.

Claims (37)

1. A method, comprising:

incrementing, by a computing device, a stored sequence number associated with a storage volume after receipt of metadata for a first snapshot generated for the storage volume, wherein the snapshot metadata comprises a snapshot identifier;

generating, by the computing device, a snapshot entry for the first snapshot in a stored snapshot-mapping index, wherein the snapshot entry comprises the snapshot identifier and the incremented sequence number;

setting, by the computing device, a first current version flag in a first file entry of a stored object-mapping index for a file associated with a modify event identified in the snapshot metadata, wherein the first file entry further comprises a file identifier for the file and a first create attribute comprising the incremented sequence number;

resetting, by the computing device, a second current version flag in a second file entry of the stored object-mapping index for the file, wherein the second file entry further comprises the file identifier and a first delete attribute comprising the incremented sequence number; and

returning, by the computing device, in response to a received selection from a prior version of the file associated with the second file entry and a current version of the file, the file retrieved from the first snapshot, wherein the first snapshot is identified based on the first create attribute and the snapshot identifier in the snapshot entry.

2. The method of claim 1 , wherein the first file entry further comprises a second delete attribute that comprises a default value upon creation of the first file entry.

3. The method of claim 1 , wherein other metadata for a second snapshot generated for the storage volume comprises a file delete event associated with the file and the method further comprises setting, by the computing device, the second delete attribute based on another sequence number associated with the second snapshot.

4. The method of claim 1 , further comprising outputting, by the computing device, via a graphical user interface and in response to a received request, an indication of each of the prior and current versions of the file for selection.

5. The method of claim 1 , wherein other snapshot metadata comprises a file create event for the file and the method further comprises setting, by the computing device, the second current version flag.

6. The method of claim 1 , wherein the second file entry comprises a second create attribute comprising another sequence number that is less than the incremented sequent number.

7. A non-transitory machine readable medium having stored thereon instructions for scalable file backup catalogs, the instructions comprising machine executable code that, when executed by at least one machine, causes the machine to:

increment a stored sequence number associated with a storage volume after receipt of metadata for a first snapshot generated for the storage volume, wherein the snapshot metadata comprises a snapshot identifier;

generate a snapshot entry for the first snapshot in a stored snapshot-mapping index, wherein the snapshot entry comprises the snapshot identifier and the incremented sequence number;

set a first current version flag in a first file entry of a stored object-mapping index for a file associated with a modify event identified in the snapshot metadata, wherein the first file entry further comprises a file identifier for the file and a first create attribute comprising the incremented sequence number;

reset a second current version flag in a second file entry of the stored object-mapping index for the file, wherein the second file entry further comprises the file identifier and a first delete attribute comprising the incremented sequence number; and

return in response to a received selection from a prior version of the file associated with the second file entry and a current version of the file, the file retrieved from the first snapshot, wherein the first snapshot is identified based on the first create attribute and the snapshot identifier in the snapshot entry.

8. The non-transitory machine readable medium of claim 7 , wherein the first file entry further comprises a second delete attribute that comprises a default value upon creation of the first file entry.

9. The non-transitory machine readable medium of claim 7 , wherein other metadata for a second snapshot generated for the storage volume comprises a file delete event associated with the file and the machine executable code, when executed by the machine, further causes the machine to set the second delete attribute based on another sequence number associated with the second snapshot.

10. The non-transitory machine readable medium of claim 7 , wherein the machine executable code, when executed by the machine, further causes the machine to output, via a graphical user interface and in response to a received request, an indication of each of the prior and current versions of the file for selection.

11. The non-transitory machine readable medium of claim 7 , wherein other snapshot metadata comprises a file create event for the file and the machine executable code, when executed by the machine, further causes the machine to set the second current version flag.

12. The non-transitory machine readable medium of claim 7 , wherein the second file entry comprises a second create attribute comprising another sequence number that is less than the incremented sequent number.

13. A computing device, comprising:

a memory containing machine readable medium comprising machine executable code having stored thereon instructions for scalable file backup catalogs; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:

increment a stored sequence number associated with a storage volume after receipt of metadata for a first snapshot generated for the storage volume, wherein the snapshot metadata comprises a snapshot identifier;

generate a snapshot entry for the first snapshot in a stored snapshot-mapping index, wherein the snapshot entry comprises the snapshot identifier and the incremented sequence number;

set a first current version flag in a first file entry of a stored object-mapping index for a file associated with a modify event identified in the snapshot metadata, wherein the first file entry further comprises a file identifier for the file and a first create attribute comprising the incremented sequence number;

reset a second current version flag in a second file entry of the stored object-mapping index for the file, wherein the second file entry further comprises the file identifier and a first delete attribute comprising the incremented sequence number; and

return in response to a received selection from a prior version of the file associated with the second file entry and a current version of the file, the file retrieved from the first snapshot, wherein the first snapshot is identified based on the first create attribute and the snapshot identifier in the snapshot entry.

14. The computing device of claim 13 , wherein the first file entry further comprises a second delete attribute that comprises a default value upon creation of the first file entry.

15. The computing device of claim 13 , wherein other metadata for a second snapshot generated for the storage volume comprises a file delete event associated with the file and the processor is further configured to execute the machine executable code to further cause the processor to set the second delete attribute based on another sequence number associated with the second snapshot.

16. The computing device of claim 13 , wherein the processor is further configured to execute the machine executable code to further cause the processor to output, via a graphical user interface and in response to a received request, an indication of each of the prior and current versions of the file for selection.

17. The computing device of claim 13 , wherein other snapshot metadata comprises a file create event for the file and the processor is further configured to execute the machine executable code to further cause the processor to set the second current version flag.

18. The computing device of claim 13 , wherein the second file entry comprises a second create attribute comprising another sequence number that is less than the incremented sequent number.

19. The computing device of claim 18 , wherein the processor is further configured to execute the machine executable code to further cause the processor to identify a plurality of file entries in the object-mapping index for the file in response to a received search request comprising one or more parameters for the file, wherein each of the plurality of file entries corresponds to one of a plurality of versions of the file.

20. The computing device of claim 13 , wherein the processor is further configured to execute the machine executable code to further cause the processor to return the file in response to a received restore request comprising the file identifier, wherein the first snapshot is associated with a most recent sequence number in which the file is present.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2020
From: KAPLINGAT, NIKHIL BHAVADAS; KURAMKOTE, RAVINDRA; RACHAPUDI, AMARNATH; SEN, SUBHABRATA
To: NETAPP, INC.
Reel/Frame 051613/0543 →
Continuity (2)
Provisional Application 62909369 · Oct 2, 2019
Related Publication 20210103555A1 · Apr 8, 2021