Cost optimized workload placement

US11567810B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11567810-B1
Application numberUS-202017078392-A
CountryUS
Kind codeB1
Filing dateOct 23, 2020
Priority dateJun 12, 2017
Publication dateJan 31, 2023
Grant dateJan 31, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Migrating workloads between a plurality of execution environments, including: identifying, in dependence upon on characteristics of a workload, one or more execution environments that can support the workload; determining, for each execution environment, costs associated with supporting the workload on the execution environment; selecting, in dependence upon the costs associated with supporting the workload on each the execution environments, a target execution environment for supporting the workload; and executing the workload on the target execution environment.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: identifying, for a plurality of workloads, one or more execution environments that can support the workload based on characteristics of a workload; determining, for a plurality of workload placement scenarios, cumulative costs associated with supporting each workload in accordance with each of the workload placement scenarios; selecting, in dependence upon the cumulative costs associated with supporting each workload in accordance with each of the workload placement scenarios, a target execution environment for supporting each workload; and executing each workload on its selected target execution environment. 2. The method of claim 1 further comprising: detecting a change to a particular workload; and migrating the particular workload from its selected target execution environment to a new target execution environment. 3. The method of claim 1 further comprising: predicting a change to a particular workload; and migrating the particular workload from its selected target execution environment to a new target execution environment. 4. The method of claim 1 further comprising: detecting a change to the costs associated with supporting a particular workload on a particular execution environment; and migrating the particular workload from its selected target execution environment to a new target execution environment. 5. The method of claim 1 wherein identifying one or more execution environments that can support each workload further comprises identifying one or more execution environments that can meet predetermined performance requirements associated with each workload. 6. The method of claim 1 wherein: identifying one or more execution environments that can support each workload further comprises identifying one or more execution environments that can support the workload in dependence upon on a workload fingerprint; and determining, for each execution environment, costs associated with supporting the workload on the execution environment further comprises determining, for each execution environment, the costs associated with supporting the workload in dependence upon on the workload fingerprint. 7. The method of claim 6 further comprising generating, for one or more workloads, predicted characteristics of the one or more workloads. 8. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: identifying, for a plurality of workloads, one or more execution environments that can support the workload based on characteristics of a workload; determining, for a plurality of workload placement scenarios, cumulative costs associated with supporting each workload in accordance with each of the workload placement scenarios; selecting, in dependence upon the cumulative costs associated with supporting each workload in accordance with each of the workload placement scenarios, a target execution environment for supporting each workload; and executing a workload on its selected target execution environment. 9. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: detecting a change to a particular workload; and migrating the particular workload from its selected target execution environment to a new target execution environment. 10. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: predicting a change to a particular workload; and migrating the particular workload from its selected target execution environment to a new target execution environment. 11. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: detecting a change to the costs associated with supporting a particular workload on a particular execution environment; and migrating the particular workload from its selected target execution environment to a new target execution environment. 12. The apparatus of claim 8 wherein identifying one or more execution environments that can support each workload further comprises identifying one or more execution environments that can meet predetermined performance requirements associated with each workload. 13. The apparatus of claim 8 wherein: identifying one or more execution environments that can support each workload further comprises identifying one or more execution environments that can support the workload in dependence upon on a workload fingerprint; and determining, for each execution environment, costs associated with supporting the workload on the execution environment further comprises determining, for each execution environment, the costs associated with supporting the workload in dependence upon on the workload fingerprint. 14. The apparatus of claim 13 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of further comprising generating, for one or more of workloads, predicted characteristics of the one or more workloads. 15. A storage system comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the storage system to carry out the steps of: identifying, for a plurality of workloads, one or more execution environments that can support the workload based on characteristics of a workload; determining, for a plurality of workload placement scenarios, cumulative costs associated with supporting each workload in accordance with each of the workload placement scenarios; selecting, in dependence upon the cumulative costs associated with supporting each workload in accordance with each of the workload placement scenarios, a target execution environment for supporting each workload; and executing a workload on its selected target execution environment. 16. The storage system of claim 15 further comprising computer program instructions that, when executed by the computer processor, cause the storage system to carry out the steps of: detecting a change to a particular workload; and migrating the particular workload from its selected target execution environment to a new target execution environment. 17. The storage system of claim 15 further comprising computer program instructions that, when executed by the computer processor, cause the storage system to carry out the steps of: predicting a change to a particular workload; and migrating the particular workload from its selected target execution environment to a new target execution environment. 18. The storage system of claim 15 further comprising computer program instructions that, when executed by the computer processor, cause the storage system to carry out the steps of: detecting a change to the costs associated with supporting a particular workload on a particular execution environment; and migrating the particular workload from its selected target execution environment to a new target execution environment.

Assignees

Inventors

Classifications

  • Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • G06F9/5088Primary

    involving task migration · CPC title

  • in block erasable memory, e.g. flash memory · CPC title

  • Cleaning, compaction, garbage collection, erase control · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11567810B1 cover?
Migrating workloads between a plurality of execution environments, including: identifying, in dependence upon on characteristics of a workload, one or more execution environments that can support the workload; determining, for each execution environment, costs associated with supporting the workload on the execution environment; selecting, in dependence upon the costs associated with supporting…
Who is the assignee on this patent?
Pure Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5088. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 31 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).