IP Library Granted Patent US 10,140,188
Granted Patent B2
US 10,140,188 · App. 14/555,262 · Granted Nov 27, 2018

Snapshot management

Inventor: Charles Michael Wallace (San Jose, CA)
Assignee: ArcServe (USA) LLC
G06F11/1461G06F17/30088G06F2201/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 10,140,188
App. No.
14/555,262
Granted
Nov 27, 2018
Kind
B2
Abstract

Systems and methods are disclosed for backing up a computer. The method includes choosing a time window to back up the computer; determining jobs that need to be synced during the time window and snapshots; determining an optimal set of snapshots that cover all jobs; altering job records in the database to point to one of the optimal snapshots; and deleting all snapshots not in the optimal set.

Claims (61)

1. A method for backing up a computer system with a plurality of client computers to be backed up to a cloud, comprising:

Per the client computer of the plurality of client computers by:

choosing a time window to back up the client computer to a disk volume with a desired retention schedule in the cloud;

syncing the client computer (job syncs) during the time window and writing data to the disk volume in the cloud; and

at a completion of job sync, taking a snapshot of the disk volume in the cloud, while recording a daily record of the snapshot information in a database about the job sync triggered the snapshot, the sync' s start and end time, the data synced, and metadata;

per the desired retention schedule:

checking the desired retention schedule for multiple entries of the daily record of the snapshot information in the database;

minimizing all snapshots of the desired retention schedule by determining if there is more than one daily record of the snapshot information in the database, and

removing the daily record of the snapshot information in the database if there is more than one;

associating snapshots of the desired retention schedule until only one daily record of the snapshot information remains, and

consolidating snapshots to a minimal set of the job syncs with a most recent snapshot;

per the disk volume, over the desired retention schedule, determining an optimal set of snapshots from the consolidated minimal set of snapshots that cover all the sync jobs for all the client computers by:

ordering the job syncs from a least to a most snapshot coverage;

for each of the job syncs not covered, starting with the least-covered job sync, obtaining one or more covering snapshots and noting a snapshot covering the most job syncs;

noting all the job syncs covered by the snapshot, and working on the next job sync of the disk volume;

altering the daily record of the snapshot information in the database to point to one of the optimal set of snapshots and for each job sync having a database row not pointing to a noted snapshot, updating the database row to point to the noted snapshot; and

deleting the snapshots considered during the optimization but not in the optimal set of snapshots.

2. The method of claim 1 , comprising determining a start and end of the time window.

3. The method of claim 1 , comprising ordering job syncs by the number of snapshots covering the job syncs.

4. The method of claim 1 , comprising determining job syncs that started or ended during the time window.

5. The method of claim 1 , comprising matching snapshots to the sync jobs.

6. The method of claim 1 , for each snapshot, determining the last job sync that ended before the next job sync began and generating a list of which snapshots cover which job syncs.

7. The method of claim 1 , comprising ordering job syncs by the number of snapshots covering the job syncs.

8. The method of claim 1 , comprising:

for each unchecked job sync, starting with the least-covered job sync, continuing for all job syncs with the same level of coverage, get all covering snapshots;

recording the snapshot that covers the most job syncs; and

for each job sync that the snapshot covers, removing the job sync from a list.

9. The method of claim 1 , comprising obtaining available post- sync snapshots created during the time window.

10. The method of claim 1 , comprising matching snapshots to the sync jobs that triggered the snapshots.

11. A system for backing up a computer system with a plurality of client computers to be backed up to a cloud, comprising:

one or more processors;

memory; and

one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:

per the client computer of the plurality of client computers by:

choosing a time window to back up the client computer to a disk volume with a desired retention schedule in the cloud;

syncing the client computer (job syncs) during the time window and writing data to the disk volume in the cloud; and

at a completion of job sync, taking a snapshot of the disk volume in the cloud, while recording a daily record of the snapshot information in a database about the job sync triggered the snapshot, the sync' s start and end time, the data synced, and metadata;

per the desired retention schedule:

checking the desired retention schedule for multiple entries of the daily record of the snapshot information in the database;

minimizing all snapshots of the desired retention schedule by determining if there is more than one daily record of the snapshot information in the database, and

removing the daily record of the snapshot information in the database if there is more than one;

associating snapshots of the desired retention schedule until only one daily record of the snapshot information remains, and

consolidating snapshots to a minimal set of the job syncs with a most recent snapshot;

per the disk volume, over the desired retention schedule, determining an optimal set of snapshots from the consolidated minimal set of snapshots that cover all the sync jobs for all the client computers by:

ordering the job syncs from a least to a most snapshot coverage;

for each of the job syncs not covered, starting with the least-covered job sync, obtaining one or more covering snapshots and noting a snapshot covering the most job syncs;

noting all the job syncs covered by the snapshot, and working on the next job sync of the disk volume;

altering the daily record of the snapshot information in the database to point to one of the optimal set of snapshots and for each job sync having a database row not pointing to a noted snapshot, updating the database row to point to the noted snapshot; and

deleting the snapshots considered during the optimization but not in the optimal set of snapshots.

12. The system of claim 11 , comprising instructions for determining a start and end of the time window.

13. The system of claim 11 , comprising instructions for ordering job syncs by the number of snapshots covering the job syncs.

14. The system of claim 11 , comprising instructions for determining job syncs that started or ended during the time window.

15. The system of claim 11 , comprising instructions for matching snapshots to the sync jobs.

16. The system of claim 11 , comprising instructions for each snapshot, to determine the last job sync that ended before the next job sync began and generating a list of which snapshots cover which job syncs.

17. The system of claim 11 , comprising instructions for ordering job syncs by the number of snapshots covering the job syncs.

18. The system of claim 11 , comprising instructions for:

for each unchecked job sync, starting with the least-covered job sync, continuing for all job syncs with the same level of coverage, get all covering snapshots;

recording the snapshot that covers the most job syncs; and

for each job sync that the snapshot covers, removing the job sync from a list.

19. The system of claim 11 , comprising instructions for obtaining available post-sync snapshots created during the time window.

20. The system of claim 11 , comprising instructions for matching snapshots to the sync jobs that triggered the snapshots.

Assignments (11)
MERGER AND CHANGE OF NAME Recorded Aug 9, 2024
From: ZETTA, LLC; ZETTA, LLC
To: ARCZ ACQUISITIONCO LLC
Reel/Frame 068238/0590 →
MERGER AND CHANGE OF NAME Recorded Aug 9, 2024
From: ARCZ ACQUISITIONCO, LLC; ARCZ ACQUISITIONCO, LLC
To: ARCSERVE (USA) LLC
Reel/Frame 068238/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2024
From: MONROE CAPITAL MANAGEMENT ADVISORS, LLC; ARCSTOR MIDCO LLC; ARCSERVE ACQUISITION COMPANY LLC; ARCSERVE (USA) LLC; STORAGECRAFT TECHNOLOGY, LLC
To: ARCSERVE, LLC
Reel/Frame 068238/0669 →
SECURITY INTEREST Recorded Mar 16, 2021
From: ARCSERVE (USA) LLC; STORAGECRAFT TECHNOLOGY LLC; ZETTA, LLC
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS COLLATERAL AGENT
Reel/Frame 055603/0219 →
RELEASE OF SECURITY INTEREST Recorded Mar 16, 2021
From: SUNTRUST BANK, AS FIRST LIEN ADMINISTRATIVE AGENT
To: ZETTA, INC.
Reel/Frame 055611/0740 →
RELEASE OF SECURITY INTEREST Recorded Mar 16, 2021
From: VARAGON CAPITAL PARTNERS AGENT, LLC
To: ARCSERVE (USA) LLC
Reel/Frame 055611/0833 →
RELEASE OF SECURITY INTEREST Recorded Feb 4, 2021
From: SUNTRUST BANK
To: ZETTA, INC.
Reel/Frame 055148/0720 →
CHANGE OF NAME Recorded Jan 6, 2021
From: ZETTA, INC.
To: ZETTA, LLC
Reel/Frame 054912/0333 →
RELEASE OF THE SECURITY INTEREST RECORDED AT REEL/FRAME 043491/0271 Recorded Jan 3, 2020
From: SUNTRUST BANK
To: ZETTA, INC.
Reel/Frame 051464/0298 →
SECURITY INTEREST Recorded Sep 5, 2017
From: ZETTA, INC.
To: SUNTRUST BANK
Reel/Frame 043491/0271 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2017
From: WALLACE, CHARLES MICHAEL
To: ZETTA, INC.
Reel/Frame 042829/0774 →
Continuity (1)
Related Publication 20160147609A1 · May 26, 2016
Cited By (1)
US 12,265,500