IP Library › Granted Patent US 10,956,277
Granted Patent B2
US 10,956,277 · App. 16/200,961 · Granted Mar 23, 2021

Optimizing data backup schedules

Inventors: Marci D. Formato (Clintondale, NY); Bernhard J. Klingenberg (Grover Beach, CA); Steven M. Reps (Sandyhook, CT); Kurt A. Rybczyk (Waterbury, CT); Lisa A. Shepard (Newtown, CT)
Assignee: International Business Machines Corporation
G06F11/1461G06F11/1464G06F2201/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,956,277
App. No.
16/200,961
Granted
Mar 23, 2021
Kind
B2
Abstract

Backup schedule optimization is provided. Data describing a first backup schedule for a first backup server is identified. Performance metric data and workload data for a first backup server and a second backup server is collected. If a count of backup windows represented by workload data for the first backup server exceeds a data collection threshold, an updated backup schedule that offloads a pending job from the first backup server to the second backup server can be generated. The updated backup schedule is generated if a maximum average I/O threshold for the first backup server was exceeded while a minimum average I/O threshold for the second backup server was deceeded. The maximum and minimum average I/O thresholds are calculated based on respective target average I/O rates for the first and second backup servers, the target average I/O rates derived from respective perform metric data.

Claims (65)

1. A method for optimizing data backup schedules, comprising:

identifying data representing a first backup schedule for a first backup server;

collecting performance metric data that includes performance metric data of one or more computer data storage devices of the first backup server;

identifying workload data of the first backup server describing one or more backup logs that are associated with a plurality of jobs that were backed up to the first backup server and executed during one or more respective backup windows;

in response to determining that a count of backup windows represented by the workload data of the first backup server data meets or exceeds a data collection threshold:

determining a target average I/O rate of the first backup server based, at least in part, on the performance metric data and the workload data of the first backup server;

determining a maximum average I/O threshold of the first backup server based on the target average I/O rate of the first backup server; and

in response to determining that multiple backup servers exists, receiving from a second backup server (i) performance metric data of the second backup server that includes performance metric data of one or more computer data storage devices of the second backup server and (ii) workload data of the second backup server describing one or more backup logs that are associated with a plurality of jobs that were backed up to the second backup server and executed during one or more respective backup windows of the second backup server;

determining a target average I/O rate of the second backup server based, at least in part, on the performance metric data and the workload data of the second backup server;

determining a minimum average I/O threshold of the second backup server based on the determined target average I/O rate of the second backup server;

in response to determining that an average I/O rate of the first backup server exceeded the maximum average I/O threshold of the first backup server while a first job was executing on the first backup server, identifying a time at which an average I/O rate of the second backup server deceeded the minimum average I/O threshold of the second backup server while a second job was executing on the second backup server;

generating an updated first backup schedule for the first backup server such that a pending job present on the first backup schedule is omitted from the updated first backup schedule; and

generating an updated second backup schedule for the second backup server such that the pending job omitted from the updated first backup schedule for the first backup servers is present on the updated second backup schedule for the second backup server, thereby offloading the pending job from the first backup server to the second back server.

2. The method of claim 1 , wherein each average I/O rate represents respective I/O rates that are averaged over a plurality of backup windows.

3. The method of claim 2 , wherein the average I/O rate of the first backup server and the average I/O rate of the second backup server are averaged over the count of backup windows represented by the data collection threshold.

4. The method of claim 3 , wherein the data collection threshold is a count of thirty backup logs.

5. The method of claim 1 , wherein:

the performance metric data for the first backup server and the performance metric data for the second backup server respectively include performance metric data for one or more respective computer processors, performance metric data for one or more respective memories, and performance metric data for one or more respective network adapters; and

the target average I/O rate for the first backup server and the target average I/O rate for the second backup server are respectively based, at least in part, on the performance metric data for the one or more respective computer processors, the performance metric data for the one or more respective memories, and the performance metric data for the one or more respective network adapters.

6. The method of claim 1 , wherein the target average I/O rate for the first backup server and the target average I/O rate for the second backup server are respective weighted averages including respective weighting coefficients for the respective performance metric data.

7. A computer program product for optimizing data backup schedules, the computer program product comprising:

a computer readable storage medium and program instructions stored on the computer readable storage medium, the program instructions comprising:

program instructions to identify data representing a first backup schedule for a first backup server;

program instructions to collect performance metric data that includes performance metric data of one or more computer data storage devices of the first backup server;

program instructions to identify workload data of the first backup server describing one or more backup logs that are associated with a plurality of jobs that were backed up to the first backup server and executed during one or more respective backup windows; and

program instructions to, in response to determining that a count of backup windows represented by the workload data of the first backup server data meets or exceeds a data collection threshold, execute program instructions to:

determine a target average I/O rate of the first backup server based, at least in part, on the performance metric data and the workload data of the first backup server;

determine a maximum average I/O threshold of the first backup server based on the target average I/O rate of the first backup server;

in response to determining that multiple backup servers exists, receive from a second backup server (i) performance metric data of the second backup server that includes performance metric data of one or more computer data storage devices of the second backup server and (ii) workload data of the second backup server describing one or more backup logs that are associated with a plurality of jobs that were backed up to the second backup server and executed during one or more respective backup windows of the second backup server;

determine a target average I/O rate of the second backup server based, at least in part, on the performance metric data and the workload data of the second backup server;

determine a minimum average I/O threshold of the second backup server based on the determined target average I/O rate of the second backup server;

identify a time at which an average I/O rate of the second backup server deceeded the minimum average I/O threshold of the second backup server while a second job was executing on the second backup server in response to determining that an average I/O rate of the first backup server exceeded the maximum average I/O threshold of the first backup server while a first job was executing on the first backup server;

generate an updated first backup schedule for the first backup server such that a pending job present on the first backup schedule is omitted from the updated first backup schedule; and

generate an updated second backup schedule for the second backup server such that the pending job omitted from the updated first backup schedule for the first backup servers is present on the updated second backup schedule for the second backup server, thereby offloading the pending job from the first backup server to the second back server.

8. The computer program product of claim 7 , wherein each average I/O rate represents respective I/O rates that are averaged over a plurality of backup windows.

9. The computer program product of claim 8 , wherein the average I/O rate of the first backup server and the average I/O rate of the second backup server are averaged over the count of backup windows represented by the data collection threshold.

10. The computer program product of claim 9 , wherein the data collection threshold is a count of thirty backup logs.

11. The computer program product of claim 7 , wherein:

the performance metric data for the first backup server and the performance metric data for the second backup server respectively include performance metric data for one or more respective computer processors, performance metric data for one or more respective memories, and performance metric data for one or more respective network adapters; and

the target average I/O rate for the first backup server and the target average I/O rate for the second backup server are respectively based, at least in part, on the performance metric data for the one or more respective computer processors, the performance metric data for the one or more respective memories, and the performance metric data for the one or more respective network adapters.

12. The computer program product of claim 7 , wherein the target average I/O rate for the first backup server and the target average I/O rate for the second backup server are respective weighted averages including respective weighting coefficients for the respective performance metric data.

13. A computer system for optimizing data backup schedules, the computer system comprising:

one or more computer processors;

one or more computer readable storage media;

program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to identify data representing a first backup schedule for a first backup server;

program instructions to collect performance metric data that includes performance metric data of one or more computer data storage devices of the first backup server;

program instructions to identify workload data of the first backup server describing one or more backup logs that are associated with a plurality of jobs that were backed up to the first backup server and executed during one or more respective backup windows; and

program instructions to, in response to determining that a count of backup windows represented by the workload data of the first backup server data meets or exceeds a data collection threshold, execute program instructions to:

determine a target average I/O rate of the first backup server based, at least in part, on the performance metric data and the workload data of the first backup server;

determine a maximum average I/O threshold of the first backup server based on the target average I/O rate of the first backup server;

in response to determining that multiple backup servers exists, receive from a second backup server (i) performance metric data of the second backup server that includes performance metric data of one or more computer data storage devices of the second backup server and (ii) workload data of the second backup server describing one or more backup logs that are associated with a plurality of jobs that were backed up to the second backup server and executed during one or more respective backup windows of the second backup server;

determine a target average I/O rate of the second backup server based, at least in part, on the performance metric data and the workload data of the second backup server;

determine a minimum average I/O threshold of the second backup server based on the determined target average I/O rate of the second backup server;

identify a time at which an average I/O rate of the second backup server deceeded the minimum average I/O threshold of the second backup server while a second job was executing on the second backup server in response to determining that an average I/O rate of the first backup server exceeded the maximum average I/O threshold of the first backup server while a first job was executing on the first backup server;

generate an updated first backup schedule for the first backup server such that a pending job present on the first backup schedule is omitted from the updated first backup schedule; and

generate an updated second backup schedule for the second backup server such that the pending job omitted from the updated first backup schedule for the first backup servers is present on the updated second backup schedule for the second backup server, thereby offloading the pending job from the first backup server to the second back server.

14. The computer system of claim 13 , wherein each average I/O rate represents respective I/O rates that are averaged over a plurality of backup windows.

15. The computer system of claim 14 , wherein the average I/O rate of the first backup server and the average I/O rate of the second backup server are averaged over the count of backup windows represented by the data collection threshold.

16. The computer system of claim 15 , wherein the data collection threshold is a count of thirty backup logs.

17. The computer system of claim 13 , wherein:

the performance metric data for the first backup server and the performance metric data for the second backup server respectively include performance metric data for one or more respective computer processors, performance metric data for one or more respective memories, and performance metric data for one or more respective network adapters; and

the target average I/O rate for the first backup server and the target average I/O rate for the second backup server are respectively based, at least in part, on the performance metric data for the one or more respective computer processors, the performance metric data for the one or more respective memories, and the performance metric data for the one or more respective network adapters.

18. The computer system of claim 13 , wherein

the target average I/O rate for the first backup server and the target average I/O rate for the second backup server are respective weighted averages including respective weighting coefficients for the respective performance metric data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2018
From: FORMATO, MARCI D.; KLINGENBERG, BERNHARD J.; REPS, STEVEN M.; RYBCZYK, KURT A.; SHEPARD, LISA A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047591/0043 →
Continuity (2)
Continuation 15188435 · Jun 21, 2016
Related Publication 20190095288A1 · Mar 28, 2019
Cited By (1)
US 12,712,949