Patent Document ID: 7640231
Application ID: 11280012
Patent Flag: 1

Claim One:
1. A computer-implemented method of allocating shared resources in a computer network-based storage system, said method comprising: taking, using a computer, periodic performance samples on a component of a plurality of components comprising said computer network-based storage system, said computer network-based storage system running an underperforming workload, and each of said periodic performance samples including a component average latency and a component I/O request rate for said component, wherein said underperforming workload is characterized by exceeding an upper bound on an average latency for a workload, specified by a Service Level Agreement (SLA), when said underperforming workload's request rate does not exceed an I/O request rate, also specified by said SLA; evaluating, using said computer, a set of functions of said computer network-based storage system using said periodic performance samples as input, said models comprising: a component function for said component that predicts said component average latency based on other workloads running on said component; a workload function for said component that predicts a load on said component based on I/O request rates of said other workloads; and an action function for said component that predicts an effect of a throttling action on each other workload's I/O request rate; quantitatively optimizing, using said computer, a second function for said underperforming workload and each of said other workloads that predicts a current I/O request rate and a current average latency for each component of said plurality of components, based on said effect of said throttling action on said each other workloads' I/O request rate; and throttling, using said computer, one or more of said other workload's request rates, based on said quantitatively optimizing said second function, to free components of said computer network-based storage system, such that, said underperforming workload is transformed into a workload that satisfies said SLA.