Patent Document ID: 20110167424
Application ID: 12683512
Patent Flag: 0

Claim One:
1. A computer-implemented method of throttling a plurality of operations of a plurality of applications that share a plurality of resources, said method comprising: receiving an observed workload that is observed on a data storage system and a predicted workload that is predicted to be on said data storage system; computing a difference between said observed workload and said predicted workload; determining whether or not said difference exceeds a predefined threshold for distinguishing between a first mode (normal mode) of a multi-strategy finder and a second mode (unexpected mode) of said multi-strategy finder; a processor of a computer system determining a final schedule of one or more actions that improve a utility of said data storage system, wherein, in response to a result of said determining being said difference does not exceed said predefined threshold, said determining said final schedule includes applying a recursive greedy pruning-lookback-lookforward process to construct and prune each tree of a plurality of trees, wherein a result of said recursive greedy pruning-lookback-lookforward process applied to a tree of said plurality of trees is a first set of one or more actions occurring in a sub-window of a window of time for improving said utility, and wherein said first set of one or more actions is included in said final schedule, wherein, in response to said result of said determining being said difference exceeds said predefined threshold, said determining said final schedule includes applying a defensive action selection process that includes selecting and invoking a first action based on said first action being a least costly action of a plurality of candidate actions until a cumulative utility loss for continuing said first action exceeds a cost of invoking a next action, wherein said next action is a next least costly action of said plurality of candidate actions, and wherein said first action is included in said final schedule; and performing said one or more actions according to said final schedule, wherein said one or more actions includes a throttling action selected from the group consisting of: throttling a server, throttling a network, throttling a data storage device, and combinations thereof.