IP Library Granted Patent US 12,158,859
Granted Patent B2
US 12,158,859 · App. 17/589,116 · Granted Dec 3, 2024

Extending an expiration time of an object associated with an archive

Inventors: Dane Van Dyck (Atlanta, GA); Praveen Kumar Yarlagadda (Santa Clara, CA)
Assignee: Cohesity, Inc.
G06F16/113G06F12/0253G06F16/1752
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,158,859
App. No.
17/589,116
Granted
Dec 3, 2024
Kind
B2
Abstract

An amount of expiration time extension for one or more objects associated with a first archive of a first snapshot of a source storage is determined based at least in part on a second data management policy associated with a second archive and one or more dynamically determined metrics. The first archive that includes the one or more objects is caused to be stored to a remote storage. At least a portion of content of the first archive is referenced by data chunks stored in a first chunk object of the remote storage and the first archive is associated with a first data management policy. Based on the determined amount of expiration time extension, an expiration time for the one or more objects associated with the first archive is stored in an archive metadata of the one or more objects associated with the first archive.

Claims (52)

1. A method, comprising:

determining, by a computing system applying a machine learning model, an expiration time extension for one or more objects included in a first archive of a first snapshot of a source storage based at least in part on a second data management policy associated with a second archive and one or more dynamically determined metrics, the first archive being associated with a first data management policy;

storing, by the computing system, the first archive to a remote storage, wherein at least a portion of content of the first archive references data chunks stored in a first chunk object of the remote storage;

determining, by the computing system, the first archive has expired;

based at least in part on the expiration time extension for the one or more objects, computing, by the computing system, an extended expiration time for the one or more objects;

determining, by the computing system, the first chunk object is eligible for garbage collection by determining none of one or more objects included in the second archive reference the data chunks stored in the first chunk object; and

performing, by the computing system, based on determining the first chunk object is eligible for garbage collection and determining the first archive has expired and according to the extended expiration time for the one or more objects, garbage collection of the first chunk object of the remote storage.

2. The method of claim 1 , wherein the second archive comprises an incremental archive of the first archive.

3. The method of claim 1 , wherein the first data management policy indicates a data lock period associated with the first archive.

4. The method of claim 1 , wherein the second data management policy indicates a data lock period associated with the second archive.

5. The method of claim 1 , wherein the one or more dynamically determined metrics include a historical rate of data change between archives, a predicted rate of data change between archives, an amount of data change between the archives, a percentage of data change between the archives, a fragment length, and/or a storage cost associated with storing the first archive.

6. The method of claim 1 , wherein determining the expiration time extension for the one or more objects comprises determining whether the first archive is subject to a data lock period.

7. The method of claim 6 , further comprising extending the expiration time for the one or more objects by the expiration time extension in response to a determination that the first archive is subject to the data lock period.

8. The method of claim 1 , further comprising monitoring the expiration time for the one or more objects.

9. The method of claim 8 , further comprising determining whether to extend the expiration time for the one or more objects at a point in time.

10. The method of claim 9 , wherein the point in time is based at least in part on a rate of change between the first and second archives.

11. The method of claim 9 ,

wherein the machine learning model comprises a first machine learning model, and

wherein the point in time is determined using a second machine learning model.

12. The method of claim 1 , further comprising:

storing the extended expiration time in an archive metadata object associated with the first archive; and

determining that an expiration time for the first archive has expired based on the extended expiration time stored in the archive metadata object associated with the first archive.

13. The method of claim 1 , wherein performing the garbage collection includes assigning a corresponding worker to each of a plurality of archives, wherein the plurality of archives includes the first archive and the second archive.

14. The method of claim 13 , wherein the corresponding worker assigned to an archive of the plurality of archives determines a corresponding garbage collection eligibility status for each chunk object associated with the archive.

15. The method of claim 14 , wherein determining the first chunk object is eligible for garbage collection is based on the determined garbage collection eligibility status for the first chunk object determined by the corresponding worker assigned to the first archive.

16. The method of claim 15 , wherein the corresponding worker assigned to the first archive determines the first archive has expired.

17. The method of claim 16 , further comprising determining that the first chunk object is not eligible for garbage collection based on the determination that the first archive has expired and at least one of the workers assigned to one or more other archives indicates that one or more objects of the one or more other archives reference the data chunks stored in the first chunk object.

18. Non-transitory computer readable media comprising computer instructions that, when executed, cause one or more processors to:

apply a machine learning model to determine an expiration time extension for one or more objects included in a first archive of a first snapshot of a source storage based at least in part on a second data management policy associated with a second archive and one or more dynamically determined metrics, the first archive being associated with a first data management policy;

store the first archive to a remote storage, wherein at least a portion of content of the first archive references data chunks stored in a first chunk object of the remote storage;

determine the first archive has expired;

based at least in part on the expiration time extension for the one or more objects, compute an extended expiration time for the one or more objects;

determine the first chunk object is eligible for garbage collection by determining none of one or more objects included in the second archive reference the data chunks stored in the first chunk object; and

perform garbage collection, based on determining the first chunk object is eligible for garbage collection and determining the first archive has expired and according to the extended expiration time for the one or more objects, of the first chunk object of the remote storage.

19. A system, comprising:

one or more processors configured to:

apply a machine learning model to determine an expiration time extension for one or more objects included in a first archive of a first snapshot of a source storage based at least in part on a second data management policy associated with a second archive and one or more dynamically determined metrics, the first archive being associated with a first data management policy;

store the first archive to a remote storage, wherein at least a portion of content of the first archive references data chunks stored in a first chunk object of the remote storage;

determine the first archive has expired;

based at least in part on the expiration time extension for the one or more objects, compute an extended expiration time for the one or more objects in archive metadata;

determine the first chunk object is eligible for garbage collection by determining none of one or more objects included in the second archive reference the data chunks associated stored in the first chunk object; and

perform garbage collection, based on determining the first chunk object is eligible for garbage collection and determining the first archive has expired and according to the extended expiration time for the one or more objects, of the first chunk object of the remote storage; and

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

20. An apparatus comprising:

a memory that stores instructions; and

one or more processors that execute the instructions to:

apply a machine learning model to determine an expiration time extension for one or more objects included in a first archive of a first snapshot of a source storage based at least in part on a second data management policy associated with a second archive and one or more dynamically determined metrics, the first archive being associated with a first data management policy;

store the first archive to a remote storage, wherein at least a portion of content of the first archive references data chunks stored in a first chunk object of the remote storage;

based at least in part on the expiration time extension for the one or more objects, compute an extended expiration time for the one or more objects;

determine that an expiration time for the first archive has expired; and

in response to determining the expiration time for the first archive has expired, perform garbage collection for objects included in the first archive stored in the remote storage device other than the one or more objects whose extended expiration time has not expired,

wherein performing garbage collection includes assigning a first worker to the first archive to determine first garbage collection eligibility statuses for objects included in the first archive and a second worker to the second archive to determine second garbage collection eligibility statuses for objects included in the second archive and combining the first and second garbage collection eligibility statuses to determine whether the one or more objects included in the first archive are eligible for garbage collection.

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 9, 2022
From: VAN DYCK, DANE; YARLAGADDA, PRAVEEN KUMAR
To: COHESITY, INC.
Reel/Frame 059870/0298 →
Continuity (1)
Related Publication 20230244633A1 · Aug 3, 2023
Cited By (1)
US 12,326,950