IP Library › Granted Patent US 12,197,289
Granted Patent B2
US 12,197,289 · App. 18/381,977 · Granted Jan 14, 2025

Managing files according to categories

Inventor: Chaitanya Sudhakar Gotkhindikar (Ejipura, IN)
Assignee: Rubrik, Inc.
G06F11/1451G06F11/1461G06F16/128G06F2201/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 12,197,289
App. No.
18/381,977
Granted
Jan 14, 2025
Kind
B2
Abstract

According to various embodiments, with respect to a target set of files being managed (e.g., protected by data snapshots), each file in the target set of files is classified into one of two or more filesets (discontiguous filesets), where each of these filesets comprises one or more files that are related to each other by one or more factors, such as frequency of file change or purpose of existence (e.g., used by a software application). Once classified, files within the target set of files can be uniquely processed by a data management operation (e.g., incremental data snapshot process) according to their association to a discontiguous fileset.

Claims (45)

1. A method, comprising:

classifying a target set of files by associating each file in the target set of files with a respective fileset class of a plurality of fileset classes based on a respective file rank for the file, each fileset class of the plurality of fileset classes being associated with a different set of file ranks, and each fileset class of the plurality of fileset classes being associated with a different time interval of a plurality of snapshot generation time intervals;

generating a first incremental data snapshot for the target set of files based on the plurality of fileset classes and according to the plurality of snapshot generation time intervals associated with the plurality of fileset classes; and

generating a second incremental data snapshot for the target set of files based on the plurality of fileset classes and according to the plurality of snapshot generation time intervals associated with the plurality of fileset classes.

2. The method of claim 1 , wherein generating the first incremental data snapshot comprises:

storing first delta data for each file in the target set of files that has experienced a first data block change or a first file metadata change since a prior snapshot for the file.

3. The method of claim 1 , further comprising:

reclassifying, after generating the first incremental data snapshot, the target set of files by associating each file in the target set of files with a respective new fileset class of the plurality of fileset classes based on a respective new file rank for the file.

4. The method of claim 3 , wherein the second incremental data snapshot is generated after reclassifying the target set of files.

5. The method of claim 3 , further comprising:

updating, based at least in part on generating the first incremental data snapshot, a respective change count associated with one or more files of the target set of files, wherein the reclassifying of the target set of files uses the respective change count associated with the one or more files.

6. The method of claim 1 , wherein generating the second incremental data snapshot comprises:

storing second delta data for each file in the target set of files that has experienced a second data block change or a second file metadata change since the first incremental data snapshot for the file.

7. The method of claim 1 , further comprising:

generating, for each file of the target set of files, the respective file rank for the file based at least in part on an association of the file with a respective software application of a plurality of software applications.

8. The method of claim 7 , further comprising:

obtaining respective significance ranks for the plurality of software applications, wherein, for each file of the target set of files, the respective file rank for the file is based at least in part on the respective significance rank for the respective software application that is associated with the file.

9. The method of claim 1 , further comprising:

generating, for each file of the target set of files, the respective file rank for the file based at least in part on a frequency of file data change across one or more prior data snapshots for the file.

10. A computer system, comprising:

one or more memories storing processor-executable instructions; and

one or more processors coupled with the one or more memories and operable to execute the instructions to cause the computer system to:

classify a target set of files by associating each file in the target set of files with a respective fileset class of a plurality of fileset classes based on a respective file rank for the file, each fileset class of the plurality of fileset classes being associated with a different set of file ranks, and each fileset class of the plurality of fileset classes being associated with a different time interval of a plurality of snapshot generation time intervals;

generate a first incremental data snapshot for the target set of files based on the plurality of fileset classes and according to the plurality of snapshot generation time intervals associated with the plurality of fileset classes; and

generate a second incremental data snapshot for the target set of files based on the plurality of fileset classes and according to the plurality of snapshot generation time intervals associated with the plurality of fileset classes.

11. The computer system of claim 10 , wherein, to generate the first incremental data snapshot, the one or more processors are operable to execute the instructions to cause the computer system to:

store first delta data for each file in the target set of files that has experienced a first data block change or a first file metadata change since a prior snapshot for the file.

12. The computer system of claim 10 , wherein the one or more processors are operable to execute the instructions to cause the computer system to:

reclassify, after generating the first incremental data snapshot, the target set of files by associating each file in the target set of files with a respective new fileset class of the plurality of fileset classes based on a respective new file rank for the file.

13. The computer system of claim 12 , wherein the one or more processors are operable to execute the instructions to cause the computer system to generate the second incremental data snapshot after reclassifying the target set of files.

14. The computer system of claim 12 , wherein the one or more processors are further operable to execute the instructions to cause the computer system to:

update, based at least in part on generating the first incremental data snapshot, a respective change count associated with one or more files of the target set of files, wherein the one or more processors are operable to execute the instructions to cause the computer system to reclassify the target set of files using the respective change count associated with the one or more files.

15. The computer system of claim 10 , wherein, to generate the second incremental data snapshot, the one or more processors are operable to execute the instructions to cause the computer system to:

store second delta data for each file in the target set of files that has experienced a second data block change or a second file metadata change since the first incremental data snapshot for the file.

16. A non-transitory computer-readable medium storing instructions executable by one or more processors to:

classify a target set of files by associating each file in the target set of files with a respective fileset class of a plurality of fileset classes based on a respective file rank for the file, each fileset class of the plurality of fileset classes being associated with a different set of file ranks, and each fileset class of the plurality of fileset classes being associated with a different time interval of a plurality of snapshot generation time intervals;

generate a first incremental data snapshot for the target set of files based on the plurality of fileset classes and according to the plurality of snapshot generation time intervals associated with the plurality of fileset classes; and

generate a second incremental data snapshot for the target set of files based on the plurality of fileset classes and according to the plurality of snapshot generation time intervals associated with the plurality of fileset classes.

17. The non-transitory computer-readable medium of claim 16 , wherein, to generate the first incremental data snapshot, the instructions are executable by the one or more processors to:

store first delta data for each file in the target set of files that has experienced a first data block change or a first file metadata change since a prior snapshot for the file.

18. The non-transitory computer-readable medium of claim 16 , wherein the instructions are further executable by the one or more processors to:

reclassify, after generating the first incremental data snapshot, the target set of files by associating each file in the target set of files with a respective new fileset class of the plurality of fileset classes based on a respective new file rank for the file.

19. The non-transitory computer-readable medium of claim 18 , wherein the instructions are executable by the one or more processors to generate the second incremental data snapshot after reclassifying the target set of files.

20. The non-transitory computer-readable medium of claim 18 , wherein the instructions are further executable by the one or more processors to:

update, based at least in part on generating the first incremental data snapshot, a respective change count associated with one or more files of the target set of files, wherein the instructions are executable by the one or more processors to reclassify the target set of files using the respective change count associated with the one or more files.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2024
From: SUDHAKAR, CHAITANYA SUDHAKAR
To: RUBRIK, INC.
Reel/Frame 069553/0599 →
Continuity (3)
Continuation 17820198 · Aug 16, 2022
Continuation 16669705 · Oct 31, 2019
Related Publication 20240045768A1 · Feb 8, 2024
References Cited (53)
US 7882077B2 · Gokhale et al. · 2011 [cited by applicant]
US 8768782B1 · Myslinski · 2014 [cited by examiner]
US 8924352B1 · Andruss et al. · 2014 [cited by applicant]
US 9007302B1 · Bandt-Horn · 2015 [cited by examiner]
US 9430320B1 · Li et al. · 2016 [cited by applicant]
US 9454365B2 · Oberheide · 2016 [cited by examiner]
US 9639701B1 · Barajas et al. · 2017 [cited by applicant]
US 9852221B1 · Callau · 2017 [cited by examiner]
US 10379598B2 · Muller · 2019 [cited by examiner]
US 10445311B1 · Saurabh · 2019 [cited by examiner]
US 10831778B2 · Gokhale · 2020 [cited by examiner]
US 10891198B2 · Nara · 2021 [cited by examiner]
US 11056223B1 · Ahmad · 2021 [cited by examiner]
US 11074140B2 · Liu · 2021 [cited by examiner]
US 11314687B2 · Kavaipatti Anantharamakrishnan · 2022 [cited by examiner]
US 11366723B2 · Bansod · 2022 [cited by examiner]
US 11487625B2 · Gotkhindikar · 2022 [cited by applicant]
US 11513922B2 · Kumar · 2022 [cited by examiner]
US 11561866B2 · Mitkar · 2023 [cited by examiner]
US 11573866B2 · Dwarampudi · 2023 [cited by examiner]
US 20040003132A1 · Stanley et al. · 2004 [cited by applicant]
US 20040260678A1 · Verbowski · 2004 [cited by examiner]
US 20060224846A1 · Amarendran · 2006 [cited by examiner]
US 20070198802A1 · Kavuri · 2007 [cited by examiner]
US 20080059704A1 · Kavuri · 2008 [cited by examiner]
US 20080320319A1 · Muller et al. · 2008 [cited by applicant]
US 20110239013A1 · Muller · 2011 [cited by examiner]
US 20130158984A1 · Myslinski · 2013 [cited by examiner]
US 20130191350A1 · Esaka et al. · 2013 [cited by applicant]
US 20130198196A1 · Myslinski · 2013 [cited by examiner]
US 20140089511A1 · McLean · 2014 [cited by examiner]
US 20140164994A1 · Myslinski · 2014 [cited by examiner]
US 20140173135A1 · Varney · 2014 [cited by examiner]
US 20140313303A1 · Davis · 2014 [cited by examiner]
US 20140337472A1 · Newton · 2014 [cited by examiner]
US 20140344391A1 · Varney · 2014 [cited by examiner]
US 20140344399A1 · Lipstone · 2014 [cited by examiner]
US 20140344400A1 · Varney · 2014 [cited by examiner]
US 20140344401A1 · Varney · 2014 [cited by examiner]
US 20140344425A1 · Varney · 2014 [cited by examiner]
US 20140378810A1 · Davis · 2014 [cited by examiner]
US 20150278024A1 · Barman et al. · 2015 [cited by applicant]
US 20170104636A1 · Vora · 2017 [cited by examiner]
US 20170242591A1 · Jagannath · 2017 [cited by examiner]
US 20170270121A1 · Gu · 2017 [cited by examiner]
US 20180165914A1 · Sternberg · 2018 [cited by examiner]
US 20190034295A1 · Bourgeois · 2019 [cited by examiner]
US 20190149440A1 · Rantzau · 2019 [cited by examiner]
US 20200076835A1 · Ladnai · 2020 [cited by examiner]
US 20200287924A1 · Zhang · 2020 [cited by examiner]
US 20210133034A1 · Gotkhindikar · 2021 [cited by applicant]
US 20210133147A1 · Gotkhindikar · 2021 [cited by applicant]
US 20210133148A1 · Gotkhindikar · 2021 [cited by applicant]