# US 11,307,884 B2 · Adaptive resource management of a cluster of host computers using predicted data

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

- Number: US 11,307,884 B2
- Document ID: US11307884B2
- Status: Granted
- Kind: B2
- Application number: 14/333,213
- Filed: 2014-07-16
- Published: 2016-01-21
- Granted: 2022-04-19
- Earliest claimed: 2014-07-16
- Assignees: VMware, Inc.
- Applicants: VMware, Inc.
- Inventors: Aashish Parikh
- Web page: https://patentgrep.com/patent/US11307884B2

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 2009/45566: {Nested virtual machines}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A resource management system and method for performing resource management operations in a distributed computer system uses predicted resource demands for a specified time in the future to change a resource management option of a resource management analysis algorithm prior to the specified time so that the resource management analysis algorithm can be executed in anticipation of the predicted resource demands at the specified time.

## Claims

### Claim 1

A method for performing resource management operations in a distributed computer system, the method comprising:
receiving resource demand metrics of clients running in the distributed computer system;
analyzing the resource demand metrics of the clients to produce predicted resource demands for a specified future time period;
automatically changing a resource management option of a resource management analysis algorithm from a first option setting to a second option setting at a first time prior to the specified future time period based on the predicted resource demands of the clients for the specified future time period, the resource management analysis algorithm including at least a load balancing operation that is performed in the distributed computer system when executed, the first and second option settings being different settings for a parameter of the resource management analysis algorithm that changes a maximum amount of execution threads that can be used for at least the load balancing operation of the resource management analysis algorithm for the first time, wherein the second option setting comprises an aggressiveness load balancing setting that is based on a proximity of the first time to the specified future time period; and
executing the resource management analysis algorithm with the second option setting in anticipation of the predicted resource demands at the specified future time period.

### Claim 2 (depends on 1)

The method of claim 1, wherein the clients running in the distributed computer system are virtual machines and the resource demand metrics are demand metrics of virtualized resources.

### Claim 3 (depends on 1)

The method of claim 1, wherein the analyzing the resource demand metrics of the clients includes analyzing at least one of processor and memory demands of the clients running in the distributed computer system.

### Claim 4 (depends on 1)

The method of claim 1, wherein the resource management option is a maximum number of moves to be evaluated per thread by the resource management analysis algorithm and wherein the second option setting is a higher value than the first option setting.

### Claim 5 (depends on 1)

The method of claim 1, wherein the resource management option is the maximum number of moves per host returned in each invocation to be used by the resource management analysis algorithm and wherein the second option setting is a higher value than the first option setting.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
changing the resource management option of the resource management analysis algorithm from the second option setting to a third option setting at a second time subsequent to the first time and prior to the specified future time period; and
executing the resource management analysis algorithm with the third option setting.

### Claim 7 (depends on 6)

The method of claim 6, wherein the second option setting of the resource management option is less aggressive with respect to load balancing than the first option setting and wherein the third option setting is less aggressive with respect to load balancing than the second option.

### Claim 8 (depends on 1)

The method of claim 1, wherein the resource management option of the resource management analysis algorithm is related to an amount of computation that is performed by the resource management analysis algorithm to find a solution for load balancing.

### Claim 9 (depends on 1)

The method of claim 1, wherein the resource management option of the resource management analysis algorithm is related to an ability of the resource management analysis algorithm to aggressively perform a load-balance analysis.

### Claim 10

A non-transitory computer-readable storage medium containing program instructions for performing resource management operations in a distributed computer system, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to perform steps comprising:
receiving resource demand metrics of clients running in the distributed computer system;
analyzing the resource demand metrics of the clients to produce predicted resource demands for a specified future time period;
automatically changing a resource management option of a resource management analysis algorithm from a first option setting to a second option setting at a first time prior to the specified future time period based on the predicted resource demands of the clients for the specified future time period, the resource management analysis algorithm including at least a load balancing operation that is performed in the distributed computer system when executed, the first and second option settings being different settings for a parameter of the resource management analysis algorithm that changes a maximum amount of execution threads that can be used for at least the load balancing operation of the resource management analysis algorithm for the first time, wherein the second option setting comprises an aggressiveness load balancing setting that is based on a proximity of the first time to the specified future time period; and
executing the resource management analysis algorithm with the second option setting in anticipation of the predicted resource demands at the specified future time period.

### Claim 11 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the clients running in the distributed computer system are virtual machines and the resource demand metrics are demand metrics of virtualized resources.

### Claim 12 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the analyzing the resource demand metrics of the clients includes analyzing at least one of processor and memory demands of the clients running in the distributed computer system.

### Claim 13 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the resource management option is the maximum number of moves to be evaluated per thread by the resource management analysis algorithm and wherein the second option setting is a higher value than the first option setting.

### Claim 14 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the resource management option is the maximum number of moves per host returned in each invocation to be used by the resource management analysis algorithm and wherein the second option setting is a higher value than the first option setting.

### Claim 15 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, further comprising:
changing the resource management option of the resource management analysis algorithm from the second option setting to a third option setting at a second time subsequent to the first time and prior to the specified future time period; and
executing the resource management analysis algorithm with the third option setting.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the second option setting of the resource management option is less aggressive with respect to load balancing than the first option setting and wherein the third option setting is less aggressive with respect to load balancing than the second option.

### Claim 17 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the resource management option of the resource management analysis algorithm is related to an amount of computation that is performed by the resource management analysis algorithm to find a solution for load balancing.

### Claim 18

A resource management system supported by hardware in a distributed computer system comprising:
an analytics engine configured to receive resource demand metrics of clients running in the distributed computer system and analyze the resource demand metrics to produce predicted resource demands for a specified future time period;
an option setting unit configured to automatically change a resource management option of a resource management analysis algorithm from a first option setting to a second option setting at a first time prior to the specified future time period based on the predicted resource demands of the clients for the specified future time period, the resource management analysis algorithm including at least a load balancing operation that is performed in the distributed computer system when executed, the first and second option settings being different settings for a parameter of the resource management analysis algorithm that changes a maximum amount of execution threads that can be used for at least the load balancing operation of the resource management analysis algorithm, wherein the second option setting comprises an aggressiveness load balancing setting that is based on a proximity of the first time to the specified future time period; and
a resource management module configured to execute the resource management analysis algorithm with the second option setting in anticipation of the predicted resource demands at the specified future time period.

### Claim 19 (depends on 18)

The resource management system of claim 18, wherein the clients running in the distributed computer system are virtual machines and the resource demand metrics are demand metrics of virtualized resources.

### Claim 20 (depends on 18)

The resource management system of claim 18, wherein the analytics engine is configured to analyze at least one of processor and memory demands of the clients running in the distributed computer system.

### Claim 21 (depends on 18)

The resource management system of claim 18, wherein the resource management option is the maximum number of moves to be evaluated per thread by the resource management analysis algorithm and wherein the second option setting is a higher value than the first option setting.

### Claim 22 (depends on 18)

The resource management system of claim 18, wherein the resource management option is the maximum number of moves per host returned in each invocation to be used by the resource management analysis algorithm and wherein the second option setting is a higher value than the first option setting.

### Claim 23 (depends on 18)

The resource management system of claim 18, wherein the option setting unit is further configured to change the resource management option of the resource management analysis algorithm from the second option setting to a third option setting at a second time subsequent to the first time and prior to the specified future time period and wherein the resource management module is configured to execute the resource management analysis algorithm with the third option setting.

### Claim 24 (depends on 18)

The resource management system of claim 18, wherein the first and second option settings being different settings for the parameter of the resource management analysis algorithm further comprises changing an amount of client migrations that are permissible for the first time.
