US2016335162A1PendingUtilityA1

Optimizing the number and type of database backups to achieve a given recovery time objective (rto)

52
Assignee: IBMPriority: Sep 18, 2013Filed: Jul 28, 2016Published: Nov 17, 2016
Est. expirySep 18, 2033(~7.2 yrs left)· nominal 20-yr term from priority
G06F 11/1461G06F 2201/80G06F 2201/84G06F 11/1451G06F 11/1464G06F 11/1474
52
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method of optimizing the number and type of database backups to achieve a given RTO is provided and may include receiving a RTO and receiving a heuristic for determining an amount of unencumbered processing time. A type of next backup, (i.e., a next backup), is determined wherein the type of next backup is an incremental backup when the sum of the heuristic, and the times to: restore the latest full backup, restore zero or more incremental backups, complete a current incremental backup, and perform a full backup is less than the received RTO, else the type of the next backup is a full backup. A time to schedule the next backup is scheduled based on the received RTO being a total of an amount of time to: complete the type of next backup; rollforward zero or more transaction log records; and to restore at least one backup.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer program product for optimizing the number and type of database backups to achieve a given recovery time objective (RTO), the computer program product including a DBMS embodied on a computer readable storage medium, the DBMS including code executable by a processor to perform a method comprising:
 receiving, by the DBMS, a heuristic for determining an amount of unencumbered processing time and an RTO;   determining a type of next backup corresponding to a next backup, wherein the type of next backup is an incremental backup when a sum of recovery times totals less than the received RTO, else the type of the next backup is a full backup; and   scheduling a time for the next backup based on the received RTO being a total of:
 an amount of time to complete the type of next backup; 
 an amount of time to rollforward zero or more transaction log records wherein the amount of time to rollforward is calculated as: tracking and storing, in a persistent storage, a count and type of recoverable operations as they occur during database execution; extracting from the persistent store a recovery cost associated with each of the recoverable operations; and for each of the recoverable operations, multiplying the count by the associated recovery cost; and 
 an amount of time to restore at least one backup. 
   
     
     
         2 . The computer program product of  claim 1 , wherein the sum of recovery times further comprises a total of:
 an amount of time required to restore a latest full backup;   an amount of time to restore zero or more incremental backups;   an amount time to complete a current incremental backup;   an amount of time corresponding to the heuristic; and   an amount of time to complete a full backup.   
     
     
         3 . The computer program product of  claim 1 , wherein determining the type of next backup further comprises:
 calculating a total amount of time by aggregating:
 an amount of time to restore a full backup; 
 the amount of time to restore zero or more incremental backups; 
 the amount of time to complete an incremental backup; 
 the amount of time to complete a full backup; and 
   determining the type of next backup based on the calculated total amount of time and the received RTO.   
     
     
         4 . The computer program product of  claim 1 , wherein determining a time to schedule the next backup further comprises:
 when the received RTO is less than the total of:
 the amount of time to complete the type of the next backup; 
   the amount of time to rollforward the zero or more transaction log records; and
 the amount of time to restore the at least one backup; 
   issuing a message that the database is out of compliance with the received RTO; and   determining to start the next backup immediately.   
     
     
         5 . The computer program product of  claim 1 , wherein the amount of unencumbered processing time is an amount of processing time during which a transaction executes without competing for resources with an active concurrent backup process. 
     
     
         6 . The computer program product of  claim 1 , wherein the recovery cost comprises a number of units wherein each of the number of units is a multiple of base operations, and wherein the base operation is a least resource-intensive operation in the DBMS. 
     
     
         7 . The computer program product of  claim 1 , further comprising:
 grouping recoverable operations into a plurality of recovery classes, wherein each of the plurality of recovery classes includes:
 a class identifier; 
 a class name, wherein the class name corresponds to a grouping of recoverable operations by recovery cost; 
 a cost range, wherein a range of the cost range begins at a low and ends at a high value; and 
 an operation count, wherein the operation count is an accumulated count of recoverable operations in a class. 
   
     
     
         8 . The computer program product of  claim 7 , wherein a content and a number of the plurality of recovery classes is customizable. 
     
     
         9 . A computer system for optimizing the number and type of database backups to achieve a given recovery time objective (RTO), the computer system comprising one or more processors, one or more computer-readable storage devices, and a plurality of program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors, the plurality of program instructions comprising:
 receiving, by the DBMS, a heuristic for determining an amount of unencumbered processing time and an RTO; 
 determining a type of next backup corresponding to a next backup, wherein the type of next backup is an incremental backup when a sum of recovery times totals less than the received RTO, else the type of the next backup is a full backup; and 
 scheduling a time for the next backup based on the received RTO being a total of:
 an amount of time to complete the type of next backup; 
 an amount of time to rollforward zero or more transaction log records wherein the amount of time to rollforward is calculated as: tracking and storing, in a persistent storage, a count and type of recoverable operations as they occur during database execution; extracting from the persistent store a recovery cost associated with each of the recoverable operations; and for each of the recoverable operations, multiplying the count by the associated recovery cost; and 
 an amount of time to restore at least one backup. 
 
 
     
     
         10 . The computer system of  claim 9 , wherein the sum of recovery times further comprises a total of:
 an amount of time required to restore a latest full backup;   an amount of time to restore zero or more incremental backups;   an amount of time to complete a current incremental backup;   an amount of time corresponding to the heuristic; and   an amount time to perform a full backup.   
     
     
         11 . The computer system of  claim 9 , wherein determining the type of next backup further comprises:
 calculating a total amount of time by aggregating:
 an amount of time to restore a full backup; 
 the amount of time to restore the zero or more incremental backups; 
 the amount of time to complete the current incremental backup; 
 the amount of time to complete the full backup; and 
   determining the type of next backup based on the calculated total amount of time and the received RTO.   
     
     
         12 . The computer system of  claim 9 , wherein determining a time to schedule the next backup further comprises:
 when the received RTO is less than the total of:
 the amount of time to complete the type of the next backup; 
 the amount of time to rollforward the zero or more transaction log records; and 
 the amount of time to restore the at least one backup; 
   issuing a message that the database is out of compliance with the received RTO; and   determining to start the next backup immediately.   
     
     
         13 . The computer system of  claim 9 , wherein the amount of unencumbered processing time is an amount of processing time during which a transaction executes without competing for resources with an active concurrent backup process. 
     
     
         14 . The computer system of  claim 9 , wherein the recovery cost comprises a number of units wherein each of the number of units is a multiple of base operations, and wherein a base operation is a least resource-intensive operation in the DBMS. 
     
     
         15 . The computer system of  claim 9 , further comprising:
 grouping recoverable operations into a plurality of recovery classes, wherein each of the plurality of recovery classes includes:
 a class identifier; 
 a class name, wherein the class name corresponds to a grouping of recoverable operations by recovery cost; 
 a cost range, wherein a range of the cost range begins at a low and ends at a high value; and 
 an operation count, wherein the operation count is an accumulated count of recoverable operations in a class. 
   
     
     
         17 . The computer system of  claim 9 , wherein the amount of time to restore the at least one backup further comprises:
 a sum of times to restore each of the zero or more incremental backups created since a last full backup; or   an estimated time to restore a full backup.   
     
     
         18 . The computer system of  claim 9 , wherein calculating the amount of time to restore the zero or more incremental backups further comprises a sum of times to restore each of the zero or more incremental backups created since the last full backup. 
     
     
         19 . The computer system of  claim 15 , wherein a content and a number of the plurality of recovery classes is customizable.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.