Data protection scheduling, such as providing a flexible backup window in a data protection system
First Claim
Patent Images
1. A method for dynamically determining a schedule for performing a data storage operation, the method comprising:
- receiving a request to perform a storage operation;
determining whether the storage operation is exempt from dynamically determined scheduling, andwhen the storage operation is not exempt from dynamically determined scheduling, then;
applying one or more performance criteria to dynamically determine a time to perform the storage operation,wherein the applying one or more performance criteria includes adding weighting to the storage operation to change a previously determined schedule of operations, if the storage operation did not get processed previously;
scheduling the data storage operation based on the one or more applied performance criteria, andmonitoring usage of resources after starting the storage operation for dynamically altering the schedule for performing the storage operation;
wherein one or more of the applied performance criteria are unassociated with an amount of data to store under the storage operations, andwherein at least one of the one or more applied performance criteria relate to a predicted usage of computing resources in performing the storage operation;
wherein scheduling the data storage operation comprises;
determining a storage window at least partly based on a future network load;
determining a schedule for completing multiple requested data storage operations within the storage window,comparing, during execution of the schedule, the storage window with an estimated time remaining to complete data storage operations;
delaying, based on the comparison, storage of some types of data in order to store other types of data within the storage window; and
sending some data storage jobs to other data storage systems;
when the storage operation is exempt from dynamically determined scheduling, then;
performing the storage operation in an order in which hard coded storage operations to be completed within a time window are performed first, followed byperforming storage operations having a deadline of completion less than a threshold deadline.
4 Assignments
0 Petitions
Accused Products
Abstract
A data protection scheduling system provides a flexible or rolling data protection window that analyzes various criteria to determine an optimal or near optimal time for performing data protection or secondary copy operations. While prior systems may have scheduled backups at an exact time (e.g., 2:00 a.m.), the system described herein dynamically determines when to perform the backups and other data protection storage operations, such as based on network load, CPU load, expected duration of the storage operation, rate of change of user activities, frequency of use of affected computer systems, trends, and so on.
401 Citations
30 Claims
-
1. A method for dynamically determining a schedule for performing a data storage operation, the method comprising:
-
receiving a request to perform a storage operation; determining whether the storage operation is exempt from dynamically determined scheduling, and when the storage operation is not exempt from dynamically determined scheduling, then; applying one or more performance criteria to dynamically determine a time to perform the storage operation, wherein the applying one or more performance criteria includes adding weighting to the storage operation to change a previously determined schedule of operations, if the storage operation did not get processed previously; scheduling the data storage operation based on the one or more applied performance criteria, and monitoring usage of resources after starting the storage operation for dynamically altering the schedule for performing the storage operation; wherein one or more of the applied performance criteria are unassociated with an amount of data to store under the storage operations, and wherein at least one of the one or more applied performance criteria relate to a predicted usage of computing resources in performing the storage operation; wherein scheduling the data storage operation comprises; determining a storage window at least partly based on a future network load; determining a schedule for completing multiple requested data storage operations within the storage window, comparing, during execution of the schedule, the storage window with an estimated time remaining to complete data storage operations; delaying, based on the comparison, storage of some types of data in order to store other types of data within the storage window; and sending some data storage jobs to other data storage systems; when the storage operation is exempt from dynamically determined scheduling, then; performing the storage operation in an order in which hard coded storage operations to be completed within a time window are performed first, followed by performing storage operations having a deadline of completion less than a threshold deadline. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory, computer-readable medium storing instructions, which, when executed by at least one computing device, performs a method for dynamically determining a schedule for performing a data storage operation, the method comprising:
-
receiving a request to perform a storage operation; determining if the storage operation is exempt from dynamically determined scheduling, and when the storage operation is not exempt from dynamically determined scheduling, then; applying one or more performance criteria to dynamically determine a time to perform the storage operation, wherein the applying one or more performance criteria includes adding weighting to the storage operation to change a previously determined schedule of operations, if the storage operation did not get processed previously; scheduling the data storage operation based on the one or more applied performance criteria, and monitoring usage of resources after starting the data storage operation for dynamically altering the schedule for performing the storage operation; wherein one or more of the applied performance criteria are unassociated with an amount of data to store under the storage operations, and wherein one or more applied performance criteria relate to a predicted usage of computing resources in performing the storage operation; wherein scheduling the data storage operation comprises; determining a storage window at least partly based on a future network load; determining a schedule that is sufficient to complete multiple requested data storage operations within the storage window, comparing, during execution of the schedule, the storage window with an estimated time remaining to complete data storage operations; delaying, based on the comparison, storage of some types of data in order to store other types of data within the storage window; and sending some data storage jobs to other data storage systems; when the storage operation is exempt from dynamically determined scheduling, then; performing the storage operation in an order in which hard coded storage operations to be completed within a time window are performed first, followed by performing storage operations having a deadline of completion less than a threshold deadline. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A system to dynamically determine a schedule for performing a data storage operation, the system comprising:
-
a processor; and a memory for storing computer-executable instructions, said instructions, when executed by the processor, causing the processor to implement a method comprising; receiving a request to perform a storage operation; determining if the storage operation is exempt from dynamically determined scheduling, and when the storage operation is not exempt from dynamically determined scheduling, then; applying one or more performance criteria to dynamically determine a time to perform the storage operation, wherein the applying one or more performance criteria includes adding weighting to the storage operation to change a previously determined schedule of operations, if the storage operation did not get processed previously; scheduling the data storage operation based on the one or more applied performance criteria, and monitoring usage of resources after starting the data storage operation for dynamically altering the schedule for performing the storage operation; wherein one or more applied performance criteria are unassociated with an amount of data to store under the storage operations, and wherein one or more applied performance criteria relate to a predicted usage of computing resources in performing the storage operation; wherein the scheduling the data storage operation comprises; determining a storage window at least partly based on a future network load; determining a schedule for completing multiple requested data storage operations within the storage window, comparing, during execution of the schedule, the storage window with an estimated time remaining to complete data storage operations; delaying, based on the comparison, storage of some types of data in order to store other types of data within the storage window; and sending some data storage jobs to other data storage systems; when the storage operation is exempt from dynamically determined scheduling, then; performing the storage operation in an order in which hard coded storage operations to be completed within a time window are performed first, followed by performing storage operations having a deadline of completion less than a threshold deadline. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification