# US 2020/0401456 A1 · Managing virtual machine memory balloon using time series predictive data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0401456 A1
- Document ID: US20200401456A1
- Status: Published application
- Kind: A1
- Application number: 16/450,558
- Filed: 2019-06-24
- Published: 2020-12-24
- Earliest claimed: 2019-06-24
- Assignees: Red Hat, Inc.
- Applicants: Red Hat, Inc.
- Inventors: Martin Sivak; Andrej Krejcir
- Web page: https://patentgrep.com/patent/US20200401456A1

## CPC

- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5016: {the resource being the memory}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45583: {Memory management, e.g. access or allocation}
- G06F 2009/45591: {Monitoring or debugging support}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F 2209/5011: Pool
- G06F 2209/5019: Workload prediction
- G06F 2209/508: Monitor
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A virtual machine's (VM's) usage of a resource over a first time period may be monitored to determine a load pattern for the VM. A time series analysis of the load pattern may be performed to generate a predictive resource usage model, the predictive resource usage model indicating one or more predicted variations in the usage of the resource by the VM over a second time period. A predicted resource usage of the VM at a future time that is within the second time period may be determined based, at least in part, on the predictive resource usage model. An amount of the resource to allocate to the VM at a current time may be determined based, at least in part, on the predicted resource usage of the VM at the future time and the actual resource usage of the VM at the current time.

## Claims

### Claim 1

A method comprising:
monitoring a resource usage by a virtual machine (VM) over a first time period to obtain a load pattern for the VM;
performing a time series analysis of the load pattern to generate a predictive resource usage model, the predictive resource usage model indicating one or more predicted variations in the resource usage of the VM over a second time period;
determining, at least partially in view of the predictive resource usage model, a predicted resource usage of the VM at a future time that is within the second time period; and
determining, using a processing device, an amount of the resource to allocate to the VM at a current time at least partially in view of the predicted resource usage of the VM at the future time.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
detecting a difference between an actual resource usage and a predicted resource usage of the VM over a third time period; and
adjusting the predictive resource usage model in view of the difference.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining an amount of the resource to allocate to the VM comprises:
comparing the predicted resource usage of the VM at the future time to an actual resource usage of the VM at the current time; and
multiplying the larger of the predicted resource usage of the VM at the future time and the actual resource usage of the VM at the current time with a resource reserve.

### Claim 4 (depends on 1)

The method of claim 1, wherein the resource usage of the VM includes one of: memory usage of the VM, processor usage of the VM, input/output operation usage of the VM, storage bandwidth usage of the VM and network bandwidth usage of the VM.

### Claim 5 (depends on 2)

The method of claim 2, wherein the detecting a difference between an actual resource usage and a predicted resource usage of the VM and the adjusting the predictive resource usage model in view of the difference are performed periodically.

### Claim 6 (depends on 3)

The method of claim 3, wherein the resource reserve comprises a minimum amount by which the amount of the resource allocated to the VM at the current time must exceed the actual resource usage of the VM at the current time.

### Claim 7 (depends on 1)

The method of claim 1, wherein the determining a predicted resource usage of the VM at a future time and the determining an amount of the resource to allocate to the VM at a current time are performed periodically to account for the one or more predicted variations in the resource usage of the VM over the second time period.

### Claim 8

A system comprising:
a memory to store one or more load patterns; and
a processing device to:
monitor a resource usage by a virtual machine (VM) over a first time period to obtain a load pattern for the VM;
perform a time series analysis of the load pattern to generate a predictive resource usage model, the predictive resource usage model indicating one or more predicted variations in the resource usage of the VM over a second time period;
determine, at least partially in view of the predictive resource usage model, a predicted resource usage of the VM at a future time that is within the second time period; and
determine, using a processing device, an amount of the resource to allocate to the VM at a current time at least partially in view of the predicted resource usage of the VM at the future time.

### Claim 9 (depends on 8)

The system of claim 8, wherein the processor is further to:
detect a difference between an actual resource usage and a predicted resource usage of the VM over a third time period; and
adjust the predictive resource usage model in view of the difference.

### Claim 10 (depends on 8)

The system of claim 8, wherein to determine an amount of the resource to allocate to the VM, the processing device is to:
compare the predicted resource usage of the VM at the future time to an actual resource usage of the VM at the current time; and
multiply the larger of the predicted resource usage of the VM at the future time and the actual resource usage of the VM at the current time with a resource reserve.

### Claim 11 (depends on 8)

The system of claim 8, wherein the resource usage of the VM includes one of: memory usage of the VM, processor usage of the VM, input/output operation usage of the VM, storage bandwidth usage of the VM and network bandwidth usage of the VM.

### Claim 12 (depends on 9)

The system of claim 9, wherein the processing device detects a difference between an actual resource usage and a predicted resource usage of the VM and adjusts the predictive resource usage model in view of the difference periodically.

### Claim 13 (depends on 10)

The system of claim 10, wherein the resource reserve comprises a minimum amount by which the amount of the resource allocated to the VM at the current time must exceed the actual resource usage of the VM at the current time.

### Claim 14 (depends on 8)

The system of claim 8, wherein the processing device determines a predicted resource usage of the VM at a future time and determines an amount of the resource to allocate to the VM at a current time periodically to account for the one or more predicted variations in the resource usage of the VM over the second time period.

### Claim 15

A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:
monitor a resource usage by a virtual machine (VM) over a first time period to obtain a load pattern for the VM;
perform a time series analysis of the load pattern to generate a predictive resource usage model, the predictive resource usage model indicating one or more predicted variations in the resource usage of the VM over a second time period;
determine, at least partially in view of the predictive resource usage model, a predicted resource usage of the VM at a future time that is within the second time period; and
determine, using the processing device, an amount of the resource to allocate to the VM at a current time at least partially in view of the predicted resource usage of the VM at the future time.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the processor is further to:
detect a difference between an actual resource usage and a predicted resource usage of the VM over a third time period; and
adjust the predictive resource usage model in view of the difference.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein to determine an amount of the resource to allocate to the VM, the processing device is to:
compare the predicted resource usage of the VM at the future time to an actual resource usage of the VM at the current time; and
multiply the larger of the predicted resource usage of the VM at the future time and the actual resource usage of the VM at the current time with a resource reserve.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the resource usage of the VM includes one of: memory usage of the VM, processor usage of the VM, input/output operation usage of the VM, storage bandwidth usage of the VM and network bandwidth usage of the VM.

### Claim 19 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein the processing device detects a difference between an actual resource usage and a predicted resource usage of the VM and adjusts the predictive resource usage model in view of the difference periodically.

### Claim 20 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein the resource reserve comprises a minimum amount by which the amount of the resource allocated to the VM at the current time must exceed the actual resource usage of the VM at the current time.
