IP Library Granted Patent US 10,942,814
Granted Patent B2
US 10,942,814 · App. 16/051,294 · Granted Mar 9, 2021

Method for discovering database backups for a centralized backup system

Inventors: Wei Chu (Oakville, CA); Xinyan Zhang (Oakville, CA); Kenneth Owens (Burlington, CA); Adrian Dobrean (Oakville, CA); Daniel Wolski (Mississauga, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1451G06F11/1464G06F11/3466G06F16/2445G06F16/24552G06F16/128
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,942,814
App. No.
16/051,294
Granted
Mar 9, 2021
Kind
B2
Abstract

In an embodiment, described herein is a system and method for discovering backups of a database running on a database host, for use by a centralized backup system to validate backup compliance. A report agent executing on the database host can implement a discovery process configured to gather metadata for the backups of the database from a number of dynamic performance views of the database. The metadata is recorded in a control file of the database, and can include one or more commands used by the backup tool to create the backups. The report agent can categorize the metadata into one or more groups based on the backup commands, map backup files associated with each backup to that backup, create a backup report to describe the mapping information and additional information for each backup, and send the backup report to the centralized backup system.

Claims (46)

1. A computer-implemented method for discovering database backups, the method comprising:

implementing a report agent executing on a database host, the report agent collecting metadata of backups and generating a backup report by the steps of:

receiving, at the report agent, a request for backup information on a database running on the database host;

retrieving, by the report agent, information describing a plurality of backup files from a plurality of dynamic performance views of the database, wherein the plurality of backup files are generated by a backup tool when creating one or more backups of the database, wherein the information includes attributes of one or more backup commands used by the backup tool to create the one or more backups;

categorizing by the report agent, based on the one or more backup commands, the plurality of backup files into one or more groups;

generating by the report agent a backup report based on the categorized backup files and predefined rules, for use by a backup manager for backup compliance validation of whether a particular backup plan or policy has been satisfied, wherein the backup report maps the plurality of backup files to the one or more backups.

2. The method of claim 1 , wherein the plurality of backup files are categorized into the one or more groups based on a session key, a start time or end time of a sub job, and a copy number, wherein the sub job includes a plurality of backup commands in a backup session identified by the session key, wherein the plurality of backup commands share at least one attribute.

3. The method of claim 1 , wherein each of the plurality of backup files is a binary file that is in a format proprietary to the database.

4. The method of claim 1 , wherein the information describing the plurality of backup files is retrieved using a structured query language (SQL), statement and stored in a cache for analysis by the report agent.

5. The method of claim 1 , wherein the report agent further performs one or more of the following operations when generating the backup report:

determining backup types of backup pieces in each of the one or more backups, determining backup levels of the backup pieces in the backup,

determining a backup type of the backup based on the backup type of each backup piece in the backup,

determining a backup level of the backup based on the backup level of each backup piece in the backup,

determining a start system change number (SCN) and an end SCN of each backup piece in the backup, and determining a start SCN and an end SCN of the backup.

6. The method of claim 5 , wherein the backup report includes one or more of the backup type, the backup level, the start SCN or the end SCN of the backup, wherein the start SCN of the backup is the minimum SCN in the backup and the end SCN is the maximum SCN in the backup.

7. The method of claim 5 , wherein the backup report is a JavaScript Object Notation (JSON) or extensible markup language (XML), file that includes one or more of the backup type, the backup level, the start SCN or the end SCN of the backup.

8. The method of claim 5 , wherein the backup type of the backup represents the granularity of the backup, and enables the backup manager to validate the backup compliance at different granularities.

9. The method of claim 5 , wherein the backup type and backup level of the backup provides interdependency information of the backup on one or more other backups, wherein the interdependency information enables the backup manager to validate backup compliance without simulating restore operations.

10. The method of claim 5 , wherein the backup level of the backup is an incomplete type if it cannot be determined, wherein the incomplete backup level is ignored for backup compliance validation.

11. A system for discovering database backups, comprising:

a processor; and

a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform the steps comprising:

implementing a report agent executing on a database host, the report agent collecting metadata of backups and generating a backup report by the steps of:

receiving, at the report agent, a request for backup information on a database running on the database host,

retrieving, by the report agent, information describing a plurality of backup files from a plurality of dynamic performance views of the database, wherein the plurality of backup files are generated by a backup tool when creating one or more backups of the database, wherein the information includes attributes of one or more backup commands used by the backup tool to create the one or more backups,

categorizing, by the report agent, based on the one or more backup commands, the plurality of backup files into one or more groups, and

generating by the report agent a backup report based on the categorized backup files, for use by a backup manager for backup compliance validation of whether a particular backup plan or policy has been satisfied, wherein the backup report maps the plurality of backup files to the one or more backups.

12. The system of claim 11 , wherein the plurality of backup files are categorized into the one or more groups based on a session key, a start time or end time of a sub job, and a copy number, wherein the sub job includes a plurality of backup commands in a backup session identified by the session key, wherein the plurality of backup commands share at least one attribute.

13. The system of claim 11 , wherein each of the plurality of backup files is a binary file that is in a format proprietary to the database.

14. The system of claim 11 , wherein the information describing the plurality of backup files is retrieved using a structured query language (SQL) statement and stored in a cache for analysis by the report agent.

15. The system of claim 11 , wherein the report agent further performs one or more of the following operations when generating the backup report:

determining backup types of backup pieces in each of the one or more backups, determining backup levels of the backup pieces in the backup,

determining a backup type of the backup based on the backup type of each backup piece in the backup,

determining a backup level of the backup based on the backup level of each backup piece in the backup, and

determine a start system change number (SCN) and an end SCN of the backup.

16. The system of claim 15 , wherein the backup report is a JavaScript Object Notation (JSON) or extensible markup language (XML) file that includes one or more of the backup type, the backup level, the start SCN or the end SCN of the backup.

17. The system of claim 15 , wherein the backup type of the backup represents the granularity of the backup, and enables the backup manager to validate the backup compliance at different granularities.

18. The system of claim 15 , wherein the backup type and backup level of the backup provides interdependency information of the backup on one or more other backups, wherein the interdependency information enables the backup manager to validate backup compliance without simulating restore operations.

19. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations for discovering database backups, the operations comprising:

implementing a report agent executing on a database host, the report agent collecting metadata of backups and generating a backup report by the steps of:

receiving, at the report agent, a request for backup information on a database running on the database host;

retrieving, by the report agent, information describing a plurality of backup files from a plurality of dynamic performance views of the database, wherein the plurality of backup files are generated by a backup tool when creating one or more backups of the database, wherein the information includes attributes of one or more backup commands used by the backup tool to create the one or more backups;

categorizing by the report agent, based on the one or more backup commands, the plurality of backup files into one or more groups;

generating by the report agent a backup report based on the categorized backup files and predefined rules, for use by a backup manager for backup compliance validation of whether a particular backup plan or policy has been satisfied, wherein the backup report maps the plurality of backup files to the one or more backups.

20. The non-transitory machine-readable medium of claim 19 , wherein the plurality of backup files are categorized into the one or more groups based on a session key, a start time or an end time of a sub job, and a copy number, wherein the sub job includes a plurality of backup commands in a backup session identified by the session key, wherein the plurality of backup commands share at least one attribute.

21. The non-transitory machine-readable medium of claim 19 , wherein each of the plurality of backup files is a binary file that is in a format proprietary to the database.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2018
From: CHU, WEI; ZHANG, XINYAN; OWENS, KENNETH; DOBREAN, ADRIAN; WOLSKI, DANIEL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046519/0147 →
Continuity (1)
Related Publication 20200042395A1 · Feb 6, 2020
Cited By (1)
US 12,405,948