Distributed computing with variable energy source availability

US12136001B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12136001-B2
Application numberUS-202117446821-A
CountryUS
Kind codeB2
Filing dateSep 2, 2021
Priority dateSep 2, 2021
Publication dateNov 5, 2024
Grant dateNov 5, 2024

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.

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

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 US12136001B2 cover?
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 …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/5094. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 05 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).