System and method of dynamically adjusting virtual machines for a workload

US12423160B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12423160-B2
Application numberUS-202217806191-A
CountryUS
Kind codeB2
Filing dateJun 9, 2022
Priority dateJun 9, 2022
Publication dateSep 23, 2025
Grant dateSep 23, 2025

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 method for dynamically adjusting a number of virtual machines for a workload, includes: receiving a probability indicator for each of a plurality of N sequential stages, where N is a natural number greater than 1, of a likelihood that a virtual machine assigned to a workload will be evicted during the N sequential stages; predicting a target number of virtual machines to configure in a current stage for a subsequent stage from among the plurality of N sequential stages based on the probability indicator, a target capacity for the workload, and a current price for maintaining a virtual machine; and configuring a number of virtual machines for the workload during the current stage based on the target number to be loaded for the workload for the subsequent stage.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for dynamically adjusting a number of virtual machines for a workload, comprising: receiving a set of probability indicators for a plurality of N sequential stages of a likelihood that a virtual machine assigned to a workload will be evicted during the N sequential stages, wherein the plurality of N sequential stages comprises a current stage, an (N−1)-th stage after the current stage as the subsequent stage, and an N-th stage after the (N−1)-th stage as a last stage from among the plurality of N sequential stages, and wherein the set of probability indicators comprises: a first probability indicator of a likelihood that a virtual machine assigned to the workload will be evicted during the current stage; an (N−1)-th probability indicator of a likelihood that a virtual machine assigned to the workload will be evicted during the subsequent stage; and an N-th probability indicator of a likelihood that a virtual machine assigned to the workload will be evicted during the last stage; predicting a target number of virtual machines to configure in the current stage for the subsequent stage from among the plurality of N sequential stages based on the set of probability indicators, a target capacity for the workload, and a current price for maintaining a virtual machine; and configuring a number of virtual machines for the workload during the current stage based on the target number to be loaded for the workload for the subsequent stage. 2. The method of claim 1 , wherein the N sequential stages correspond to different time horizons from each other. 3. The method of claim 2 , wherein a length of each of the N sequential stages corresponds to a configuration time of a virtual machine, and the configuring of the number of virtual machines for the workload takes a length of one stage to complete. 4. The method of claim 1 , wherein the predicting of the target number comprises: constraining, based on a target capacity for the workload, the target number based on an anticipated changed capacity estimated for each of the plurality of N sequential stages; constraining, based on a budget allocated for the workload, the target number based on a cost associated with the anticipated changed capacity of each of the current stage and the subsequent stage; and calculating, based on a cost function, a final value for the target number that minimizes the cost function, while satisfying at least the constraints based on the target capacity and the budget. 5. The method of claim 4 , wherein the final value for the target number is determined according to an integer linear program, and the constraints based on the target capacity and the budget are inputs constraining the target number in the cost function. 6. The method of claim 4 , wherein to estimate the anticipated changed capacity for each of the plurality of N sequential stages, the method comprises: determining a current number of virtual machines assigned to the workload at a start of the current stage; estimating the anticipated changed capacity for the current stage that satisfy the target capacity, the anticipated changed capacity for the current stage corresponding to a change in the current number of virtual machines at an end of the current stage based on the first probability indicator and a value of the target number that is constrained by the target capacity; estimating an anticipated changed capacity for the subsequent stage that satisfy the target capacity based on the anticipated changed capacity for the current stage, the (N−1)-th probability indicator, and a value of a potential number of virtual machines to configure during the subsequent stage that is constrained by the target capacity; and estimating an anticipated changed capacity for the last stage that satisfy the target capacity based on the anticipated changed capacity of the current stage, the anticipated changed capacity of the subsequent stage, and the N-th probability indicator, wherein the anticipated changed capacity for the last stage further constrains the values of the target number and the potential number based on the target capacity. 7. The method of claim 6 , wherein to determine the cost associated with the anticipated changed capacity of each of the current stage and the subsequent stage, the method comprises: determining a current price for maintaining a virtual machine for the workload; calculating a current cost associated with the anticipated changed capacity of the current stage based on the current price, and constrained by the budget; and calculating a current cost associated with the anticipated changed capacity of the subsequent stage based on the current price, and constrained by the budget. 8. The method of claim 7 , wherein the target number of virtual machines comprises a first virtual machine, and a second virtual machine having a higher cost than that of the first virtual machine, and wherein the budget corresponds to the target capacity multiplied by the higher cost of the second virtual machine. 9. The method of claim 4 , wherein the final value for the target number is further constrained according to a threshold limit of a maximum number of virtual machines that may be added in one stage, and a threshold limit of a total number of virtual machines that may be assigned to the workload at any given time. 10. A system for dynamically adjusting a number of virtual machines assigned to a workload, comprising: a processor; and memory comprising instructions that, when executed by the processor, cause the processor to: receive a set of probability indicators for a plurality of N sequential stages of a likelihood that a virtual machine assigned to a workload will be evicted during the N sequential stages, wherein the plurality of N sequential stages comprises a current stage, an (N−1)-th stage after the current stage as the subsequent stage, and an N-th stage after the (N−1)-th stage as a last stage from among the plurality of N sequential stages, and wherein the set of probability indicators comprises: a first probability indicator of a likelihood that a virtual machine assigned to the workload will be evicted during the current stage; an (N−1)-th probability indicator of a likelihood that a virtual machine assigned to the workload will be evicted during the subsequent stage; and an N-th probability indicator of a likelihood that a virtual machine assigned to the workload will be evicted during the last stage; predict a target number of virtual machines to configure in the current stage for the subsequent stage from among the plurality of N sequential stages based on set of the probability indicators, a target capacity for the workload, and a current price for maintaining a virtual machine; and configure a number of virtual machines for the workload during the current stage based on the target number to be loaded for the workload for the subsequent stage. 11. The system of claim 10 , wherein the N sequential stages correspond to different time horizons from each other. 12. The system of claim 11 , wherein a length of each of the N sequential stages corresponds to a configuration time of a virtual machine, and the configuring of the number of virtual machines for the workload takes a length of one stage to complete. 13. The system of claim 10 , wherein to predict the target number, the instructions further cause the processor to: constrain, based on a target capacity for the workload, the target number based on an anticipated changed capacity estimated for each of the plurality of N sequential stages; constrain, based on a budget allocated for the workload, the targe

Assignees

Inventors

Classifications

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 US12423160B2 cover?
A method for dynamically adjusting a number of virtual machines for a workload, includes: receiving a probability indicator for each of a plurality of N sequential stages, where N is a natural number greater than 1, of a likelihood that a virtual machine assigned to a workload will be evicted during the N sequential stages; predicting a target number of virtual machines to configure in a curren…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/505. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 23 2025 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).