IP Library Granted Patent US 12,242,353
Granted Patent B2
US 12,242,353 · App. 17/960,515 · Granted Mar 4, 2025

Maintaining and updating a backup view of an application and its associated objects

Inventor: Steve Tai Hung Lee (Lexington, MA)
Assignee: Cohesity, Inc.
G06F11/1451G06F2201/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,242,353
App. No.
17/960,515
Granted
Mar 4, 2025
Kind
B2
Abstract

A first backup of source data is performed. A second backup of the source data is determined to be performed at least in part by determining a plurality of objects that have changed since the first backup and determining a corresponding backup type for each of the plurality of objects that have changed since the first backup. Based on the determined corresponding backup types, a second backup of the source data is performed including by performing an incremental backup of a first portion of the plurality of objects that have changed since the first backup and a full backup of a second portion of the plurality of objects that have changed since the first backup.

Claims (38)

1. A method, comprising:

performing a first backup of a source data;

determining a plurality of objects that have changed since the first backup, wherein each object of the plurality of objects is associated with a corresponding image copy;

for each object of the plurality of objects, based on a corresponding backup type for the object, deleting or refraining from deleting the corresponding image copy associated with the object, wherein the corresponding backup type is associated with an amount the object has changed since the first backup; and

based on whether the corresponding image copy associated with each object of the plurality of objects was deleted or not deleted, performing a second backup of the source data including by performing an incremental backup of a first portion of the plurality of objects using a first tree data structure when the corresponding image copy was not deleted and a full backup of a second portion of the plurality of objects using a different second tree data structure when the corresponding image copy was deleted, wherein the second backup includes one or more objects representing the incremental backup and one or more objects representing the full backup.

2. The method of claim 1 , wherein the first backup is a first full backup of the source data.

3. The method of claim 1 , wherein the first backup is a first incremental backup of the source data.

4. The method of claim 1 , wherein determining the plurality of objects that have changed since the first backup includes querying an application associated with the source data to identify the plurality of objects that have changed since a most recent backup.

5. The method of claim 1 , further comprising determining the corresponding backup type for each object of the plurality of objects by querying an application associated with the source data to determine the amount the object has changed since the first backup.

6. The method of claim 5 , further comprising:

receiving from the application a query response that includes, for each object of the plurality of objects, the amount the object has changed since the first backup; and

comparing, for each object of the plurality of objects, the amount the object has changed since the first backup to a threshold amount.

7. The method of claim 6 , wherein the corresponding backup type for an object of the plurality of objects that has changed an amount since the first backup that is greater than the threshold amount is associated with a full backup.

8. The method of claim 6 , wherein the corresponding backup type for an object of the plurality of objects that has changed an amount since the first backup that is not greater than the threshold amount is associated with an incremental backup.

9. The method of claim 1 , wherein performing the incremental backup includes receiving one or more files associated with one or more objects included in the first portion of the plurality of objects.

10. The method of claim 9 , wherein an application associated with the source data is configured to merge incremental changes associated with the one or more objects included in the one or more files associated with the one or more objects to one or more corresponding image copies of the one or more objects included in the first portion of the plurality of objects.

11. The method of claim 1 , wherein, for each object included in the second portion of the plurality of objects, the corresponding image copy is deleted from a backup view of the source data.

12. The method of claim 11 , further comprising providing to an application associated with the source data a request to remove from a data structure one or more entries corresponding to each object included in the second portion of the plurality of objects.

13. The method of claim 12 , wherein an entry included in the data structure indicates a backup status of an object.

14. The method of claim 12 , further comprising requesting the second backup of the source data to be performed.

15. The method of claim 14 , wherein performing the second backup includes ingesting a corresponding full backup of one or more objects included in the second portion of the plurality of objects.

16. The method of claim 15 , wherein performing the second backup includes deduplicating data included in the corresponding full backup of the one or more objects included in the second portion of the plurality of objects.

17. The method of claim 1 , further comprising determining the corresponding backup type for each object of the plurality of objects by, for each object of the plurality of objects:

comparing the amount the object has changed since the first backup to a threshold amount, and

selecting, based on the comparison, the corresponding backup type for the object.

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

performing a first backup of a source data;

determining a plurality of objects that have changed since the first backup, wherein each object of the plurality of objects is associated with a corresponding image copy;

for each object of the plurality of objects, based on a corresponding backup type for the object, deleting or refraining from deleting the corresponding image copy associated with the object, wherein the corresponding backup type is associated with an amount the object has changed since the first backup; and

based on whether the corresponding image copy associated with each object of the plurality of objects was deleted or not deleted, performing a second backup of the source data including by performing an incremental backup of a first portion of the plurality of objects using a first tree data structure when the corresponding image copy was not deleted and a full backup of a second portion of the plurality of objects using a different second tree data structure when the corresponding image copy was deleted, wherein the second backup includes one or more objects representing the incremental backup and one or more objects representing the full backup.

19. The computer program product of claim 18 , wherein the computer readable medium comprises computer instructions for determining the corresponding backup type for each object of the plurality of objects by querying an application associated with the source data to determine the amount the object has changed since the first backup.

20. A system, comprising:

one or more processors configured to:

perform a first backup of a source data;

determine a plurality of objects that have changed since the first backup, wherein each object of the plurality of objects is associated with a corresponding image copy;

for each object of the plurality of objects, based on a corresponding backup type for the object, delete or refrain from deleting the corresponding image copy associated with the object, wherein the corresponding backup type is associated with an amount the object has changed since the first backup; and

based on whether the corresponding image copy associated with each object of the plurality of objects was deleted or not deleted, perform a second backup of the source data including by performing an incremental backup of a first portion of the plurality of objects using a first tree data structure when the corresponding image copy was not deleted and a full backup of a second portion of the plurality of objects using a different second tree data structure when the corresponding image copy was deleted, wherein the second backup includes one or more objects representing the incremental backup and one or more objects representing the full backup; and

a memory coupled to at least a portion of the one or more processors and configured to provide at least the portion of the one or more processors with instructions.

Assignments (2)
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2023
From: LEE, STEVE TAI HUNG
To: COHESITY, INC.
Reel/Frame 062725/0675 →
Continuity (2)
Provisional Application 63291799 · Dec 20, 2021
Related Publication 20230195578A1 · Jun 22, 2023
References Cited (8)
US 7330997B1 · Odom · 2008 [cited by examiner]
US 7509468B1 · Dalal · 2009 [cited by examiner]
US 9996426B1 · Pogde · 2018 [cited by examiner]
US 20030200480A1 · Beattie · 2003 [cited by examiner]
US 20100107158A1 · Chen · 2010 [cited by examiner]
US 20170168903A1 · Dornemann · 2017 [cited by examiner]
US 20230062644A1 · Qiu et al. · 2023 [cited by applicant]
US 20230079486A1 · Yarlagadda et al. · 2023 [cited by applicant]
Cited By (1)
US 12,487,969