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

US9904598B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9904598-B2
Application numberUS-201514692357-A
CountryUS
Kind codeB2
Filing dateApr 21, 2015
Priority dateApr 21, 2015
Publication dateFeb 27, 2018
Grant dateFeb 27, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for synthesizing a block-level backup copy of a database in a storage management system based on snapshots of the database, the method comprising executing on one or more computing devices the steps of: generating a first snapshot of the database, which includes associated metadata, wherein the first snapshot is stored to a first storage device, wherein a database management system (DBMS) that executes on a client computing device component of the storage management system performs operations that change data in the database; storing, by a media agent component of the storage management system, a copy of the first snapshot to a second storage device; after the first snapshot is generated, generating a plurality of successive snapshots of the database; after each snapshot in the plurality of successive snapshots is generated, identifying, by a data agent that is associated with the database management system, a respective set of data blocks which changed in the database relative to corresponding data blocks in an immediately preceding snapshot, which set of identified data blocks are designated changed data blocks for the respective snapshot, and maintaining, by the data agent, a respective list of the changed data blocks for the respective snapshot; extracting, by the media agent, the identified changed data blocks from the respective snapshot; storing and indexing to the second storage device, by the media agent, a plurality of incremental backups of the database corresponding to respective snapshots in the plurality of successive snapshots, wherein a respective incremental backup comprises the changed data blocks extracted from the respective snapshot; generating, based on the indexing, by the media agent, a synthetic full block-level backup of the database represented at a given point in time, wherein the synthetic full block-level backup is independent of database content and DBMS type, and comprises pointers to most-current data blocks relative to the given point in time, including pointers to changed data blocks and skipping over intermediate changed data blocks, as found by the media agent in the second storage device from: (a) the copy of the first snapshot and (b) the plurality of incremental backups, thereby resulting in the synthetic full block-level backup which represents the database at the given point in time; storing, by the media agent to the second storage device, the synthetic full backup of the database; reporting, by the media agent, completion of the synthetic full block-level backup of the database to a storage manager that maintains records thereof; and restoring the database from the synthetic full block-level backup in the second storage device without using a native restore feature of the DBMS. 2. The method of claim 1 wherein the copy of the first snapshot stored by the media agent to the second storage device comprises all data blocks in the first snapshot. 3. The method of claim 1 wherein the restored database comprises all data blocks of the database at the time the most recent snapshot was generated in the plurality of successive snapshots; and wherein the restoring of the database is performed at least in part by the media agent. 4. The method of claim 1 wherein the generating of the plurality of successive snapshots of the database is performed by the first storage device. 5. The method of claim 1 wherein the generating of the plurality of successive snapshots of the database is performed by the client computing device. 6. The method of claim 1 wherein the snapshots are hardware snapshots created by the first storage device. 7. The method of claim 1 wherein the snapshots are software snapshots created by the client computing device. 8. A data storage management system useful for synthesizing a block-level backup copy of a database based on snapshots of the database, the system comprising: a client computing device that (i) executes a database management system (DBMS), which operates upon a database that includes associated metadata, and (ii) also executes a data agent associated with the DBMS; a storage array in communication with the client computing device, wherein the storage array stores the database and a plurality of successive snapshots of the database; a secondary storage computing device that executes a media agent; a secondary storage device in communication with the media agent, wherein the secondary storage device comprises a full backup of a first snapshot of the database taken at a first time, wherein the full backup and the first snapshot each comprises a first set of data blocks; wherein the client computing device, when executing the data agent, is programmed to identify, after each snapshot is taken, data blocks that changed in the database relative to corresponding data blocks in the respective snapshot; and wherein the secondary storage computing device, when executing the media agent, is programmed to: index, into a first index, storage locations in the secondary storage device of the first set of data blocks of the full backup, store a plurality of incremental backups of the database to the secondary storage device, wherein each respective incremental backup comprises a corresponding set of changed data blocks extracted by the media agent from a respective snapshot in the plurality of successive snapshots on the storage array, wherein the extracted data blocks are data blocks that changed relative to an immediately preceding snapshot of the database, and wherein the changed data blocks are identified by the data agent into a respective list maintained by the data agent for the respective incremental backup, generate, for each incremental backup, a corresponding index of the storage locations in the secondary storage device of the data blocks of the respective incremental backup, generate, based on one or more corresponding index, a synthetic full block-level backup of the database, which represents the database at the time of the most recent snapshot in the plurality of successive snapshots, wherein the synthetic full block-level backup is independent of database content and DBMS type, and comprises pointers to most most-current data blocks relative to the time of the most recent snapshot, including pointers to changed data blocks and skipping over intermediate changed data blocks, as found by the media agent in: (a) the full backup of the database, and (b) the plurality of incremental backups; store the synthetic full backup of the database to the secondary storage device; report completion of the synthetic full block-level backup of the database to a storage manager that maintains records thereof; and restore the database from the synthetic full block-level backup in the secondary storage device without using a native restore feature of the DBMS. 9. The storage management system of claim 8 wherein the synthetic full block-level backup is based on the indexes corresponding to the incremental backups. 10. The storage management system of claim 8 wherein the restored database comprises all data blocks of the database at the time of the most recent snapshot in the plurality of successive snapshots. 11. A non-transitory computer-readable medium storing instructions that, when executed by at least one secondary storage computing device, which comprises one or more processors and computer memory, cause the secondary storage computing device to perform operations comprising: storing a copy of a first snapshot of a database, which includes associated metadata, to a secondary storage device, which copy is designated a full backup of the databa

Assignees

Inventors

Classifications

  • Database-specific techniques · CPC title

  • Backup restoration techniques · CPC title

  • Management of the data involved in backup or backup restore · CPC title

  • by selection of backup contents · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9904598B2 cover?
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 …
Who is the assignee on this patent?
Commvault Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1451. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 27 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).