Method and system that anticipates deleterious virtual-machine state changes within a virtualization layer
US-9378044-B1 · Jun 28, 2016 · US
US9619261B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9619261-B2 |
| Application number | US-201514879141-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 9, 2015 |
| Priority date | Jun 29, 2015 |
| Publication date | Apr 11, 2017 |
| Grant date | Apr 11, 2017 |
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.
The current document is directed to methods and systems for efficiently executing OSL-virtualization containers within the execution environments provided by virtual machines that execute above traditional virtualization layers within large, virtualized, distributed computing systems. The currently disclosed methods and systems anticipate the need for additional virtual machines in order to meet anticipated demands for one or more computational resources by the containers. In addition, the methods and systems provision and launch virtual machines with computational-resource allocations that minimize overhead and computational-resource wastage. In one implementation, computational-resource utilization of ATMs and containers within the virtualized, distributed computer system are periodically monitored in order to estimate future demand for the computational resource and, when necessary, to launch additional virtual machines to meet the estimated future demand for the computational resource.
Opening claim text (preview).
The invention claimed is: 1. A hybrid virtualized distributed computing system comprising: multiple host computers, each including a hardware layer that includes one or more processors and one or more memories, and a virtualization layer that provides an execution environment for one or more virtual machines that each run a guest operating system which in turn, provides an execution environment for an operating-system-level virtualization layer that supports one or more containers, each of which provides an execution environment for one or more applications; and an elastic scheduling subsystem that monitors, for each type of guest operating system running within one or more virtual machines, utilization and allocation of a computational resource, extrapolates a future demand for the computational resource by the containers running within the execution environments pi vided by the guest operating systems of the type of guest operating system based on the utilization and allocation of the computational resource, and when the extrapolated demand exceeds a fraction of a remaining available amount of the computational resource allocated to the virtual machines running guest operating. systems of the type of guest operating system, provisions and launches one or more additional virtual machines running guest operating systems of the type of operating system to anticipate the extrapolated demand for the computational resource. 2. The hybrid virtualized distributed computing system of claim 1 wherein the utilization and allocation of a computational resource for a type of guest operating system, monitored by the elastic scheduling subsystem, includes: the amount of the computational resource configured to currently executing virtual machines running guest operating systems of the type of guest operating system; the amount of the computational resource currently utilized by the currently executing virtual machines running guest operating systems of the type of guest operating system; and the amount of the computational resource currently utilized by the containers running within the currently executing virtual machines running guest operating systems of the type of guest operating system. 3. The hybrid virtualized distributed computing system of claim 2 wherein the elastic scheduling subsystem determines, for each type of guest operating system, the amount of the computational resource currently utilized by the containers running within the currently executing virtual machines running guest operating systems of the type of guest operating system at a number of time points from the current time back in time to produce a time series of data points. 4. The hybrid virtualized distributed computing system of claim 3 wherein the time series of data points contains data-point values computed only for containers launched within an interval of time corresponding to the data point. 5. The hybrid virtualized distributed computing system of claim 3 wherein the elastic scheduling subsystem extrapolates a future demand for the computational resource by employing a data-point extrapolation method to estimate a next data point in the time series of data points. 6. The hybrid virtualized distributed computing system of claim 5 wherein the data-point extrapolation method is selected from among: linear-regression-based data-point extrapolation methods; curve-fitting data-point extrapolation methods; piecewise linear-regression-based data-point extrapolation methods; and piecewise curve-fitting data-point extrapolation methods. 7. The hybrid virtualized distributed computing system of claim 2 wherein the elastic scheduling subsystem determines that the extrapolated demand exceeds a fraction of a remaining available amount of the computational resource allocated to the virtual machines running guest operating systems of the type of guest operating system by: computing the availability of the computational resource as the difference between the amount of the computational resource configured to currently executing virtual machines running guest operating systems of the type of guest operating system and the amount of the computational resource currently utilized by the currently executing virtual machines running guest operating systems of the type of guest operating system; multiplying the computed availability by a factor; and comparing the computed availability to the extrapolated future demand for the computational resource. 8. The hybrid virtualized distributed computing system of claim 2 wherein the elastic scheduling subsystem provisions and launches one or more additional virtual machines running guest operating systems of the type of operating system to anticipate the extrapolated demand for the computational resource by: computing a need for the computational resource as the computed availability minus the extrapolated future demand; when the computed need is less than a minimum amount of the computational resource that can be provisioned for a. new virtual machine, provisioning a new virtual machine with the minimum amount of the computational resource and launching the new virtual machine; and otherwise provisioning one or more new virtual machines with more than the minimum amount of the computational resource and launching the one or more new virtual machines. 9. The hybrid virtualized distributed computing system of claim 8 wherein otherwise provisioning one or more new virtual machines with more than the minimum amount of the computational resource and launching the one or more new virtual machines further comprises: computing a number of virtual machines to launch as the need divided by the maximum amount of the computational resource that can be provisioned for a. new virtual machine, when the product of the computed number of virtual machines and the maximum amount of the computational resource is less than the computed need, incrementing the computed number of virtual machines, computing an allocation size as the computed need divided by the computed number of virtual machines, and launching a number of new virtual machines equal to the computed number of virtual machines, each configured with an amount of the computational resource equal to the computed allocation size. 10. A method that elastically schedules execution of virtual machines in hybrid virtualized distributed computing system that includes multiple host computers, each including a hardware layer that includes one or more processors and one or more memories and a virtualization layer that provides an execution environment for one or more virtual machines that each run a guest operating system which, in turn, provides an execution environment for an operating-system-level virtualization layer that supports one or more containers, each of which provides an execution environment for one or more applications, the method comprising: monitoring, for each type of guest operating system running within one or more virtual machines, utilization and allocation of a computational resource, extrapolating a future demand for the computational resource by the containers running within the execution environments provided by the guest operating systems of the type of guest operating system based on the utilization and allocation of the computational resource, and when the extrapolated demand exceeds a fraction of a remaining available amount of the computational resource allocated to the virtual machines running guest operating systems of the type of guest operating system, provisioning and launching one or more additional virtual machines running guest operating systems of the type of operating system to anticipate the extrapolated demand for
Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title
Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox · CPC title
Distribution of virtual machine instances; Migration and load balancing · CPC title
Hypervisor-specific management and integration aspects · CPC title
considering the load · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.