Dynamic application placement based on cost and availability of energy in datacenters
US-9207993-B2 · Dec 8, 2015 · US
US12136001B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12136001-B2 |
| Application number | US-202117446821-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 2, 2021 |
| Priority date | Sep 2, 2021 |
| Publication date | Nov 5, 2024 |
| Grant date | Nov 5, 2024 |
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.
A computer system that includes a plurality of compute clusters that are located at different geographical locations. Each compute cluster is powered by a local energy source at a geographical location of that compute cluster. Each local energy source has a pattern of energy supply that is variable over time based on an environmental factor. The computer system further includes a server system that executes a global scheduler that distributes virtual machines that perform compute tasks for server-executed software programs to the plurality of compute clusters of the distributed compute platform. To distribute virtual machines for a target server-executed software program, the global scheduler is configured to select a subset of compute clusters that have different complementary patterns of energy supply such that the subset of compute clusters aggregately provide a target compute resource availability for virtual machines for the target server-executed software program.
Opening claim text (preview).
The invention claimed is: 1. A computer system comprising: a distributed compute platform comprising a plurality of compute clusters that are located at different geographical locations, each compute cluster being powered by a local energy source at a geographical location of that compute cluster, each local energy source having a pattern of energy supply that is variable over time based on an environmental factor; and a server system comprising at least one processor configured to execute a global scheduler that distributes virtual machines that perform compute tasks for server-executed software programs to the plurality of compute clusters of the distributed compute platform, wherein to distribute virtual machines for a target server-executed software program, the global scheduler is configured to: select a subset of compute clusters from the plurality of compute clusters for the target server-executed software program, wherein respective compute clusters of the subset of compute clusters are powered by local energy sources that have different complementary patterns of energy supply, wherein the subset of compute clusters for the target server-executed software program is further selected based on a software implemented renewable energy policy associated with the target server-executed software program, the software implemented renewable energy policy indicating a software service degradation tolerance factor and a target renewable energy usage for the target server-executed software program; and distribute virtual machines for the target server-executed software program to one or more compute clusters of the selected subset of compute clusters, wherein distributing the virtual machines includes migrating one or more of the virtual machines to one or more other compute clusters of the subset of compute clusters based at least in part on the software service degradation tolerance factor and the target renewable energy usage. 2. The computer system of claim 1 , wherein the local energy sources include a type of renewable energy source selected from the group consisting of a wind energy source, a solar energy source, a geothermal energy source, and a hydropower energy source. 3. The computer system of claim 2 , wherein the environmental factor includes a weather condition selected from the group consisting of a solar condition, a wind condition, a water condition, and a cloud condition. 4. The computer system of claim 1 , wherein the one or more processors of the server system are further configured to receive user input from an authorized user associated with the target server-executed software program, the user input indicating one or more of the software service degradation tolerance factor and the target renewable energy usage for the target server-executed software program. 5. The computer system of claim 1 , wherein the subset of compute clusters for the target server-executed software program is further selected based on a networking cost for sending data between compute clusters of the subset being lower than a threshold networking cost value. 6. The computer system of claim 1 , wherein to distribute virtual machines for the target server-executed software program, the global scheduler is further configured to distribute separate instances of the virtual machines for the target server-executed software program to each compute cluster of the subset of compute clusters, wherein the separate instances of the virtual machines are configured to be powered up or powered down based on a local energy supply provided to each compute cluster of the subset of compute clusters. 7. The computer system of claim 1 , wherein each compute cluster of the subset of compute clusters is configured to execute a local scheduler that increases or decreases a compute resource availability provided to virtual machines by that compute cluster based on an estimation of an energy supply that will be provided to that compute cluster by the local energy source in the future. 8. The computer system of claim 7 , wherein each compute cluster of the subset of compute clusters is further configured to execute a time series forecaster that estimates an energy supply that will be provided to that compute cluster by the local energy source in the future based on a historical pattern of energy that have been provided by the local energy source. 9. The computer system of claim 8 , wherein the local scheduler executed by a first compute cluster of the subset of compute clusters is further configured to: determine that the energy supply that will be provided to that compute cluster by the local energy source in the future is below a threshold energy supply level; and migrate data for the target server-executed software program to one or more other compute clusters of the subset of compute clusters. 10. The computer system of claim 9 , wherein to select the subset of compute clusters from the plurality of compute clusters for the target server-executed software program, the global scheduler is further configured to: estimate a trend of energy supply that will be provided to each compute cluster of the plurality of compute clusters; estimate a data migration overhead for different subsets of compute clusters based on the estimated trend of energy supply for compute clusters of each different subset of compute clusters; and select the subset of compute clusters for the target server-executed software program that has an estimated data migration overhead that is below a threshold value. 11. The computer system of claim 1 , wherein the global scheduler is configured to receive the software service degradation tolerance factor and the target renewable energy usage associated with the target server-executed software program via user input to a graphical user interface (GUI). 12. A method comprising: providing a distributed compute platform comprising a plurality of compute clusters that are located at different geographical locations, each compute cluster being powered by a local energy source at a geographical location of that compute cluster, each local energy source having a pattern of energy supply that is variable over time based on an environmental factor; executing a global scheduler for distributing virtual machines that perform compute tasks for server-executed software programs to the plurality of compute clusters of the distributed compute platform; selecting a subset of compute clusters from the plurality of compute clusters for a target server-executed software program, wherein respective compute clusters of the subset of compute clusters are powered by local energy sources that have different complementary patterns of energy supply, wherein the subset of compute clusters for the target server-executed software program is further selected based on a software implemented renewable energy policy associated with the target server-executed software program, the software implemented renewable energy policy indicating a software service degradation tolerance factor and a target renewable energy usage for the target server-executed software program; and distributing virtual machines for the target server-executed software program to one or more compute clusters of the selected subset of compute clusters, wherein distributing the virtual machines includes migrating one or more of the virtual machines to one or more other compute clusters of the subset of compute clusters based at least in part on the software service degradation tolerance factor and the target renewable energy usage. 13. The method of claim 12 , further comprising receiving user input from an authorized user associated with th
Clust · CPC title
Resource availability · CPC title
Distribution of virtual machine instances; Migration and load balancing · CPC title
Techniques for rebalancing the load in a distributed system · CPC title
Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.