Policy based workload scaler
US-2017300359-A1 · Oct 19, 2017 · US
US11088964B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-11088964-B1 |
| Application number | US-201916588025-A |
| Country | US |
| Kind code | B1 |
| Filing date | Sep 30, 2019 |
| Priority date | Jun 30, 2016 |
| Publication date | Aug 10, 2021 |
| Grant date | Aug 10, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods for scheduling multiple flows in a computing system or for allocating resources to the flows in the computing system. Each flow may be associated with a target priority and a target performance. A current priority can be determined for each flow and resources are allocated based on the highest current priority. Over time, the current priorities change and each flow will receive resources as the flows are scheduled for execution. No flow is starved of resources.
Opening claim text (preview).
What is claimed is: 1. A method for allocating resources in a computing system providing a computing service to one or more clients, the method comprising: allocating, on behalf of the one or more clients, resources to multiple flows, wherein each of the flows is associated with a target priority and a target performance; determining a current performance for each of the multiple flows; determining a current priority for each of the multiple flows executing in the computing system, wherein the current priority is based on the target priority, the target performance and the current performance; scheduling the multiple flows for a schedule block based on the current priorities; allocating resources to the multiple flows based on relative current priorities of the multiple flows for the schedule block; updating the current priority of each of the multiple flows for a next schedule block; and reallocating the resources to the multiple flows for the next schedule block based on the relative updated current priorities, wherein the target priority, the target performance, and the current performance ensure that each of the multiple flows will eventually have a priority high enough to receive sufficient resources to meet the target performance. 2. The method of claim 1 , wherein the target priority comprises a number and wherein the target performance comprises a time period or a rate. 3. The method of claim 1 , further comprising receiving the target priority and/or the target performance for each of the flows from corresponding clients. 4. The method of claim 1 , further comprising ensuring that each of the multiple flows is allocated resources to achieve a corresponding target performance. 5. The method of claim 1 , further comprising setting the target priority for each for the multiple flows, wherein the target priorities are set by evaluating relative priorities to achieve a desired performance. 6. A method for allocating resources in a computing system providing a computing service to one or more clients, the method comprising: allocating, on behalf of the one or more clients, resources to multiple flows for a schedule block, wherein each of the flows is associated with a target priority and a target performance; determining a current performance for each of the multiple flows; periodically determining a current priority for a next schedule block for each of the multiple flows executing in the computing system, wherein the current priority is based on the target priority, the target performance and the current performance, wherein current priority is determined in a manner that all of the multiple flows are eventually allocated sufficient resources to meet their corresponding target performance; periodically reallocating the resources to the multiple flows based on the determined current priorities, wherein the target priority, the target performance, and the current performance ensure that each of the multiple flows will eventually have a priority high enough to receive sufficient resources. 7. The method of claim 6 , wherein the target priority comprises a number and wherein the target performance comprises a time period or a rate. 8. The method of claim 6 , further comprising receiving the target priority and/or the target performance for each of the flows from corresponding clients. 9. The method of claim 6 , further comprising ensuring that each of the multiple flows is allocated resources to achieve a corresponding target performance. 10. The method of claim 6 , further comprising setting the target priority for each for the multiple flows, wherein the target priorities are set by evaluating relative priorities to achieve a desired performance. 11. The method of claim 6 , further comprising receiving parameters for each of the multiple flows, wherein the parameters include the target priority and the target performance and an excess priority. 12. The method of claim 11 , wherein the current priority is defined in terms of the excess priority, wherein the current priority is determined by multiplying the excess priority and the target performance. 13. The method of claim 6 , further comprising determining the current priority by multiplying the target priority by a ratio of the target performance to the current performance. 14. The method of claim 6 , wherein the target priority is determined from input provided by a user. 15. The method of claim 6 , wherein each of the flows comprises a backup flow associated with a backup operation. 16. The method of claim 6 , wherein the target performance is specified in terms of time or data/time and wherein the target priority of each of the flows is relative to the target priorities of the other flows. 17. A non-transitory computer readable medium comprising computer executable instructions configured for performing a method for allocating resources in a computing system providing a computing service to one or more clients, the method comprising: allocating, on behalf of the one or more clients, resources to multiple flows for a schedule block, wherein each of the flows is associated with a target priority and a target performance; determining a current performance for each of the multiple flows; periodically determining a current priority for a next schedule block for each of the multiple flows executing in the computing system, wherein the current priority is based on the target priority, the target performance and the current performance, wherein current priority is determined in a manner that ensures that all of the multiple flows are eventually allocated sufficient resources to meet their corresponding target performance; periodically reallocating the resources to the multiple flows based on the determined current priorities, wherein the target priority, the target performance, and the current performance ensure that each of the multiple flows will eventually have a priority high enough to receive sufficient resources. 18. The non-transitory computer readable medium of claim 17 , wherein the target priority comprises a number and wherein the target performance comprises a time period or a rate, the method further comprising: receiving the target priority and/or the target performance for each of the flows from corresponding clients; ensuring that each of the multiple flows is allocated resources to achieve a corresponding target performance; setting the target priority for each for the multiple flows, wherein the target priorities are set by evaluating relative priorities to achieve a desired performance; receiving parameters for each of the multiple flows, wherein the parameters include the target priority and the target performance and an excess priority; and determining the current priority by multiplying the target priority by a ratio of the target performance to the current performance. 19. The non-transitory computer readable medium of claim 17 , wherein the target priority is determined from input provided by a user, wherein the current priority is defined in terms of the excess priority, wherein the current priority is determined by multiplying the excess priority and the target performance, and wherein the target performance is specified in terms of time or data/time and wherein the target priority of each of the flows is relative to the target priorities of the other flows. 20. The non-transitory computer readable medium of claim 17 , wherein each of the flows comprises a backup flow associated with a backup operation.
Allocation of priorities to traffic types · CPC title
comprising specially adapted graphical user interfaces [GUI] · CPC title
Prioritising resource allocation or reservation requests · CPC title
by giving priorities, e.g. assigning classes of service · CPC title
Modification of priorities while in transit · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.