System and method for memory resizing in a virtual computing environment

US10929165B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10929165-B2
Application numberUS-201816051242-A
CountryUS
Kind codeB2
Filing dateJul 31, 2018
Priority dateJul 31, 2018
Publication dateFeb 23, 2021
Grant dateFeb 23, 2021

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 system and method for dynamically adjusting the amount of memory allocated to a virtual machine includes generating, by a memory resizing system, a current memory usage profile for the virtual machine. The memory resizing system and the virtual machine are part of a virtual computing system and the current memory usage profile is generated by mapping, as a function of time, memory usage information from the virtual machine. The system and method also include computing an upper baseline based upon a peak memory usage in the current memory profile, updating an initial memory allocation of the virtual machine based upon the upper baseline and a predetermined threshold for obtaining an initial revised memory allocation, determining a moving average of memory usage from a historical memory usage profile, and updating the initial revised memory allocation based upon the moving average of memory usage for obtaining a final revised memory allocation.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: generating, by a memory resizing system, a current memory usage profile for a virtual machine by mapping memory usage information of the virtual machine as a function of time, wherein the memory usage information is collected from a counter associated with the virtual machine, wherein the current memory usage profile is determined from a first past predetermined time period, computing, by the memory resizing system, an upper baseline based upon a peak memory usage in the current memory usage profile; updating, by the memory resizing system, an initial memory allocation of the virtual machine based upon the upper baseline and a predetermined threshold for obtaining an initial revised memory allocation; updating, by the memory resizing system, the initial revised memory allocation based upon a moving average of memory usage for obtaining a final revised memory allocation; determining the moving average of memory usage from a second past predetermined time period; and determining the current memory usage profile from the second past determined time period, wherein the first past predetermined time period is greater than the second past predetermined time period. 2. The method of claim 1 , further comprising determining, a lower baseline from the current memory usage profile for memory ballooning. 3. The method of claim 1 , wherein determining the moving average of memory usage from the second past predetermined time period of the virtual machine is based on a historical memory usage profile. 4. The method of claim 1 , further comprising updating the initial memory allocation of the virtual machine with the final revised memory allocation. 5. The method of claim 1 , wherein the initial revised memory allocation and the final revised memory allocation are based on an amount of random access memory allocated to the virtual machine. 6. The method of claim 1 , further comprising determining that the virtual machine is constrained for memory based upon the upper baseline being equal to or exceeding the initial memory allocation. 7. The method of claim 1 , further comprising determining that the virtual machine is not constrained for memory based upon the upper baseline being less than the initial memory allocation. 8. The method of claim 1 , further comprising revising the final revised memory allocation periodically based upon a predetermined period. 9. The method of claim 1 , further comprising updating the final revised memory allocation using future memory usage profiles. 10. The method of claim 1 , further comprising predicting future memory usage profiles based on past memory consumption patterns. 11. The method of claim 10 , further comprising updating the final revised memory allocation using future memory usage profiles. 12. A method comprising: generating, by a memory resizing system, a current memory usage profile for a virtual machine, wherein the current memory usage profile is determined from a first past predetermined time period, computing, by the memory resizing system, an upper baseline based upon a peak memory usage in the current memory usage profile; updating, by the memory resizing system, an initial memory allocation of the virtual machine based upon the upper baseline and a predetermined threshold for obtaining an initial revised memory allocation; updating, by the memory resizing system, the initial revised memory allocation based upon a moving average of memory usage for obtaining a final revised memory allocation, wherein an agent of the memory resizing system collects memory usage information from a counter within a guest operating system of the virtual machine for generating the current memory usage profile; determining the moving average of memory usage from a second past predetermined time period; and determining the current memory usage profile from the second past determined time period, wherein the first past predetermined time period is greater than the second past predetermined time period. 13. The method of claim 12 , further comprising updating the initial memory allocation of the virtual machine with the final revised memory allocation. 14. A method comprising: generating, by a memory resizing system, a current memory usage profile for a virtual machine by plotting memory usage information of the virtual machine as a function of time, wherein the function of time comprises equally spaced points in time, wherein the current memory usage profile is determined from a first past predetermined time period; computing, by the memory resizing system, an upper baseline based upon a peak memory usage in the current memory usage profile; updating, by the memory resizing system, an initial memory allocation of the virtual machine based upon the upper baseline and a predetermined threshold for obtaining an initial revised memory allocation; updating, by the memory resizing system, the initial revised memory allocation based upon a moving average of memory usage for obtaining a final revised memory allocation; determining the moving average of memory usage from a second past predetermined time period; and determining the current memory usage profile from the second past determined time period, wherein the first past predetermined time period is greater than the second past predetermined time period. 15. The method of claim 14 , wherein the initial revised memory allocation and the final revised memory allocation are based on an amount of random access memory allocated to the virtual machine. 16. A method comprising: generating, by a memory resizing system, a current memory usage profile for a virtual machine, wherein the current memory usage profile is determined from a first past predetermined time period; computing, by the memory resizing system, an upper baseline based upon a peak memory usage in the current memory usage profile; updating, by the memory resizing system, an initial memory allocation of the virtual machine based upon the upper baseline and a predetermined threshold for obtaining an initial revised memory allocation; adding the upper baseline to the predetermined threshold for obtaining the initial revised memory allocation; updating, by the memory resizing system, the initial revised memory allocation based upon a moving average of memory usage for obtaining a final revised memory allocation; determining the moving average of memory usage from a second past predetermined time period; and determining the current memory usage profile from the second past determined time period, wherein the first past predetermined time period is greater than the second past predetermined time period. 17. The method of claim 16 , further comprising determining that the virtual machine is constrained for memory based upon the upper baseline being equal to or exceeding the initial memory allocation. 18. The method of claim 16 , further comprising determining that the virtual machine is not constrained for memory based upon the upper baseline being less than the initial memory allocation. 19. An apparatus comprising programmed instructions to: dynamically adjust an initial memory allocation of a virtual machine by generating a current memory usage profile of the virtual machine by mapping memory usage information of the virtual machine as a function of time, wherein the memory usage information is collected from a counter associated with the virtual machine, wherein the current memory usage profile is determined from a first past predetermined time period; c

Assignees

Inventors

Classifications

  • Management of space entities, e.g. partitions, extents, pools · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Space efficiency improvement · CPC title

  • Memory management, e.g. access or allocation · CPC title

  • in hierarchically structured memory systems, e.g. virtual memory systems · 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 US10929165B2 cover?
A system and method for dynamically adjusting the amount of memory allocated to a virtual machine includes generating, by a memory resizing system, a current memory usage profile for the virtual machine. The memory resizing system and the virtual machine are part of a virtual computing system and the current memory usage profile is generated by mapping, as a function of time, memory usage infor…
Who is the assignee on this patent?
Nutanix Inc
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 Feb 23 2021 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).