Patent ID: 8769048

Claim:
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.