IP Library Granted Patent US 11,573,859
Granted Patent B2
US 11,573,859 · App. 17/080,569 · Granted Feb 7, 2023

Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology

Inventor: Paramasivam Kumarasamy (Morganville, NJ)
Assignee: Commvault Systems, Inc.
G06F11/1435G06F11/00G06F11/1451G06F2201/80G06F2201/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,573,859
App. No.
17/080,569
Granted
Feb 7, 2023
Kind
B2
Abstract

The illustrative storage management system uses snapshot technologies and performs block-level analysis thereof and to synthesize full backups of a database, regardless of the database management system (DBMS) and content of the database and without involving native DBMS utilities. Synthetic full copies are created efficiently and use network transport resources sparingly. Successive snapshots of the database may be hardware snapshots and/or software snapshots. The illustrative storage management system tracks which data blocks in the database change over time after a baseline full copy is saved to secondary storage. Only the changed blocks are subsequently moved to secondary storage as incremental backups and are indexed for future reference. A synthetic full backup of the database, at a given point in time, may be created by synthesizing the original full backup with changed blocks from any number of later incremental backups. The synthetic full backup comprises pointers to appropriate data blocks, ignoring intermediate changes, and pointing to the most current data block in secondary storage relative to the given point in time chosen for the synthetic full backup. The illustrative storage management system may restore the synthetic full backup without native DBMS utilities.

Claims (46)

1. A computer-implemented method comprising:

by a storage management system, generating a synthetic full backup copy of a database, wherein the synthetic full backup copy represents the database at a first point in time, wherein the database is maintained by a database management system, and wherein the generating comprises:

generating a first snapshot of the database and storing one of: (i) the first snapshot, and (ii) a copy of the first snapshot, into secondary storage, as a full backup copy of the database, wherein the full backup copy comprises first data blocks,

after the first snapshot, generating second snapshots of the database wherein each second snapshot comprises second data blocks,

after a given second snapshot, identifying changed second data blocks in the given second snapshot, which have changed compared to an immediately preceding one of: (i) the first snapshot and (ii) another second snapshot,

storing the changed second data blocks identified in the given second snapshot, into the secondary storage, as an incremental backup copy of the database, wherein the changed second data blocks in the incremental backup copy are associated with a second point in time of the given second snapshot, and

synthesizing a plurality of pointers,

wherein each pointer in the plurality of pointers points to a corresponding data block, among the first data blocks and the second data blocks, that is most current in time to the first point in time,

wherein pointers to changed second data blocks that are not most current in time to the first point in time are excluded from the plurality of pointers,

wherein the corresponding data block is in one of: (i) the full backup copy of the database and (ii) an incremental backup copy of the database, and

constructing the synthetic full backup copy based on the plurality of pointers,

wherein the synthetic full backup copy comprises, for each pointer in the plurality of pointers, the corresponding data block that is most current in time to the first point in time.

2. The method of claim 1 , wherein intermediate changes to data blocks, among the first data blocks and the second data blocks, that are not most current in time to the first point in time are not included in the synthetic full backup copy.

3. The method of claim 1 , wherein a second synthetic full backup copy of the database at a second point in time is based on a second plurality of pointers, wherein each pointer in the second plurality of pointers points to a corresponding data block, among the first data blocks and the second data blocks, that is most current in time to the second point in time, and which is in one of: (a) the full backup copy of the database and (b) an incremental backup copy of the database, wherein pointers to intermediate changed second data blocks that are not most current in time to the second point in time are excluded from the second plurality of pointers.

4. The method of claim 1 , further comprising:

restoring the database to the database management system from the synthetic full backup copy without using native utilities of the database management system to perform the restoring, wherein the restored database comprises the corresponding data block for each pointer in the plurality of pointers, and wherein the database management system natively accesses the database as it was restored from the synthetic full backup copy.

5. The method of claim 4 , wherein intermediate changes to data blocks, among the first data blocks and the second data blocks, that are not most current in time to the first point in time are not restored.

6. The method of claim 1 , wherein a computer-implemented media agent component of the storage management system stores each snapshot to the secondary storage and extracts the changed second data blocks from the given second snapshot to form an incremental backup copy of the database, which is associated with the second point in time of the given second snapshot.

7. The method of claim 1 , wherein a computer-implemented media agent component of the storage management system tracks, in an index of the media agent, the changed second data blocks in a given incremental backup copy.

8. The method of claim 1 , wherein a computer-implemented media agent component of the storage management system consolidates into the synthetic full backup copy, for each pointer in the plurality of pointers, the corresponding data block, among the first data blocks and the second data blocks, that is most current in time to the first point in time and stores the synthetic full backup copy into the secondary storage.

9. The method of claim 8 , wherein the media agent uses an index that tracks changed second data blocks, which have changed between snapshots, to consolidate data blocks, among the first data blocks and the second data blocks, that are most current in time to the first point in time into the synthetic full backup copy of the database.

10. The method of claim 8 , wherein after storing the synthetic full backup copy into the secondary storage, the media agent reports completion of a synthetic full backup job to a computer-implemented storage manager component of the storage management system, wherein the storage manager is configured to manage storage operations in the storage management system.

11. The method of claim 1 , wherein a computer-implemented data agent of the storage management system uses a block filter to monitor changes to the database made by the database management system.

12. The method of claim 11 , wherein the data agent identifies the changed second data blocks in the given second snapshot, which have changed compared to an immediately preceding one of: the first snapshot and another second snapshot.

13. A storage management system for generating a synthetic full backup copy of a database, wherein the synthetic full backup copy represents the database at a first point in time, wherein the database is maintained by a database management system, the storage management system comprising:

at least one computing device comprising one or more hardware processors; and

wherein one or more of the at least one computing device is configured to:

cause a first snapshot of the database to be generated,

store one of: (i) the first snapshot, and (ii) a copy of the first snapshot, into secondary storage as a full backup copy of the database, wherein the full backup copy of the database comprises first data blocks,

after the first snapshot, cause additional second snapshots of the database to be generated, wherein each second snapshot comprises second data blocks,

after a given second snapshot, identify changed second data blocks in the given second snapshot, which have changed compared to an immediately preceding one of: (i) the first snapshot and (ii) another second snapshot, and

store the changed second data blocks identified in the given second snapshot, into the secondary storage, as an incremental backup copy of the database, wherein the changed second data blocks in the incremental backup copy are associated with a second point in time of the given second snapshot,

synthesize a plurality of pointers,

wherein pointers to changed second data blocks that are not most current in time to the first point in time are excluded from the plurality of pointers,

wherein each pointer in the plurality of pointers points to a corresponding data block, among the first data blocks and the second data blocks, that is most current in time to the first point in time, and

wherein the corresponding data block is in one of: (i) the full backup copy of the database and (ii) an incremental backup copy of the database, and

construct the synthetic full backup copy based on the plurality of pointers,

wherein the synthetic full backup copy comprises, for each pointer in the plurality of pointers, the corresponding data block that is most current in time to the first point in time.

14. The system of claim 13 , wherein intermediate changes to data blocks, among the first data blocks and the second data blocks, that are not most current in time to the first point in time are excluded from the synthetic full backup copy.

15. The system of claim 13 , wherein one or more of the at least one computing device is further configured to:

restore the database to the database management system from the synthetic full backup copy, without using native utilities of the database management system to perform the restoring, wherein the restored database comprises the corresponding data block for each pointer in the plurality of pointers, and wherein the database management system natively accesses the database as it was restored from the synthetic full backup copy.

16. The system of claim 15 , wherein intermediate changes to data blocks, among the first data blocks and the second data blocks, that are not most current in time to the first point in time are not restored.

17. The system of claim 13 , wherein one or more of the at least one computing device is configured to execute a media agent that extracts the changed second data blocks from the given second snapshot to form an incremental backup copy of the database, which is associated with the second point in time of the given second snapshot.

18. The system of claim 13 , wherein one or more of the at least one computing device is configured to execute a media agent that: consolidates into the synthetic full backup copy, for each pointer in the plurality of pointers, the corresponding data block, among the first data blocks and the second data blocks, that is most current in time to the first point in time, and stores the synthetic full backup copy into the secondary storage.

19. The system of claim 18 , wherein the media agent uses an index that tracks changed second data blocks, which have changed between snapshots, to consolidate data blocks, among the first data blocks and the second data blocks, that are most current in time to the first point in time into the synthetic full backup copy of the database.

20. The system of claim 18 , wherein the media agent, after storing the synthetic full backup copy into the secondary storage, reports completion of a synthetic full backup job to a storage manager component of the storage management system that manages storage operations in the storage management system.

Assignments (3)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: KUMARASAMY, PARAMASIVAM
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 054247/0229 →