Virtual machine load balancing

US9547520B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9547520-B1
Application numberUS-201514865011-A
CountryUS
Kind codeB1
Filing dateSep 25, 2015
Priority dateSep 25, 2015
Publication dateJan 17, 2017
Grant dateJan 17, 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 method includes estimating an amount of unused memory in a memory allocation of one or more virtual machines based on a data associated with one or more applications previously dispatched to the one or more virtual machines. The method includes receiving a request for executing a new application. The method includes estimating an amount of memory utilized by one of the one or more virtual machines to execute the new application. The method includes dispatching the new application to one of the one or more virtual machine having an amount of unused memory exceeding the estimated amount of memory required to execute the new application. The method includes updating the data associated with the one or more applications previously dispatched to the one or more virtual machines by adding an identifier of the new application to the data.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for managing a computer system, the method comprising: estimating, by one or more computer processors, an amount of unused memory in a memory allocation of one or more virtual machines based on a data associated with one or more applications previously dispatched to the one or more virtual machines; receiving, by one or more computer processors, a request for executing a new application; estimating, by one or more computer processors, an amount of memory utilized by one of the one or more virtual machines to execute the new application, wherein estimating the amount of memory utilized by one or more virtual machines to execute the new application comprises: maintaining, by one or more computer processors, a register of one or more previously executed types of applications comprising an indication of an amount of memory required by a virtual machine to execute the one or more application type; identifying, by one or more computer processors, a first application type of the new application, wherein each application in the register is labeled with corresponding application type; accessing, by one or more computer processors, the register to determine that the first application type exists in the register; and utilizing, by one or more computer processors, the amount of memory required by the one or more virtual machines to execute the first application type by averaging the memory usages of all of the one or more application types in the register as estimation for the amount of memory required by the one or more virtual machines to execute the new application; identifying, by one or more computer processors, one or more virtual machines having an amount of unused memory exceeding the estimated amount of required memory to execute the new application; dispatching, by one or more computer processors, the new application to one of the one or more virtual machine having an amount of unused memory exceeding the estimated amount of memory required to execute the new application; and updating, by one or more computer processors, the data associated with the one or more applications previously dispatched to the one or more virtual machines by adding an identifier of the new application to the data. 2. The method of claim 1 , further comprising: estimating, by one or more computer processors, a duration of the executing of the new application by one of the one or more virtual machines; and determining, by one or more computer processors, a further duration before a next scheduled garbage collection. 3. The method of claim 1 , wherein estimating, by one or more computer processors, an amount of unused memory in a memory allocation of one or more virtual machines based on a data associated with one or more applications previously dispatched to the one or more virtual machines comprises: determining, by one or more computer processors, the amount of memory allocated to the one or more virtual machines; predicting, by one or more computer processors, a usage of the memory allocation by the one or more applications previously dispatched to the one or more virtual machines; and subtracting, by one or more computer processors, the predicted usage of the memory allocation by the one or more applications previously dispatched to the one or more virtual machines from the amount of memory allocated to the one or more virtual machines. 4. The method of claim 1 , wherein dispatching, by one or more computer processors, the new application to one of the one or more virtual machine having an amount of unused memory exceeding the estimated amount of memory required to execute the new application comprises: identifying, by one or more computer processors, one virtual machine of the one or more virtual machines with a largest amount of unused memory in the memory allocation of the one virtual machine of the one or more virtual machine; and dispatching, by one or more computer processors, the new application to the identified one virtual machine. 5. The method of claim 1 , further comprising making, by one or more computer processors, one virtual machine of the one or more virtual machines unavailable for the new application execution by assigning the one virtual machine to a garbage collection pool if the estimated amount of unused memory of the one virtual machine in the memory allocation of the one virtual machine is based on a log of applications previously dispatched to the one virtual machine and is below a defined threshold of memory needed for the new application. 6. The method of claim 5 , further comprising: performing, by one or more computer processors, a garbage collection on the one virtual machine in a garbage collection pool; and making, by one or more computer processors, the one virtual machine in the garbage collection pool available for another new application execution by removing the one virtual machines from the garbage collection pool following performing the garbage collection on the one virtual machine in the garbage collection pool. 7. The method of claim 1 , wherein maintaining a register of previously handled types of applications including, for each type, an indication of an amount of memory required by a virtual machine to execute the application type comprises maintaining a register of previously executed types of applications including, for each type, an indication of an amount of memory required by a virtual machine to execute the application type and an estimation of the duration of the execution of the application type by a virtual machine. 8. The method of claim 1 , further comprising: monitoring, by one or more computer processors, the actual amount of memory used by a virtual machine during execution of an application of a particular application type; comparing, by one or more computer processors, the actual amount of memory used by a virtual machine during execution of an application of a particular application type with the indication of the amount of memory required by a virtual machine to execute the application type in the register; and updating, by one or more computer processors, the indication of the amount of memory required by a virtual machine to execute the application type in the register with the actual amount of memory used by a virtual machine during execution of an application of a particular application type if the actual amount of memory used by a virtual machine during execution of an application of a particular application type is different to the indication of the amount of memory required by a virtual machine to execute the application type. 9. The method of claim 1 , further comprising: estimating, by one or more computer processors, an amount of memory required by a virtual machine to execute the application type if the application type does not exist in the register; and adding, by one or more computer processors, the application type including the estimated amount of memory to the register. 10. A computer program product for managing a computer system, the computer program product comprising: one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising: program instructions to estimate an amount of unused memory in a memory allocation of one or more virtual machines based on a data associated with one or more applications previously dispatched to the one or more virtual machines, wherein estimating the amount of memory utilized by one or more virtual machines to execute the new application comprises: program instructions to maintain a register of one or more previously executed types of applications comprising an indication o

Assignees

Inventors

Classifications

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Network integration; Enabling network access in virtual machine instances · CPC title

  • Memory management, e.g. access or allocation · 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 US9547520B1 cover?
The method includes estimating an amount of unused memory in a memory allocation of one or more virtual machines based on a data associated with one or more applications previously dispatched to the one or more virtual machines. The method includes receiving a request for executing a new application. The method includes estimating an amount of memory utilized by one of the one or more virtual m…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 17 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). 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).