Method and system for anticipating demand for a computational resource by containers running above guest operating systems within a distributed, virtualized computer system

US9619261B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9619261-B2
Application numberUS-201514879141-A
CountryUS
Kind codeB2
Filing dateOct 9, 2015
Priority dateJun 29, 2015
Publication dateApr 11, 2017
Grant dateApr 11, 2017

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.

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.

First claim

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

Assignees

Inventors

Classifications

  • G06F9/5077Primary

    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

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 US9619261B2 cover?
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 mee…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5077. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 11 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).