# US 2019/0317826 A1 · Methods and systems for estimating time remaining and right sizing usable capacities of resources of a distributed computing system

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

- Number: US 2019/0317826 A1
- Document ID: US20190317826A1
- Status: Published application
- Kind: A1
- Application number: 16/180,411
- Filed: 2018-11-05
- Published: 2019-10-17
- Earliest claimed: 2018-04-12
- Assignees: VMware, Inc.
- Applicants: VMware, Inc.
- Inventors: Lalit Jain; Rachil Chandran; Keshav Mathur; James Ang; Kien Chiew Wong; Leah Nutman
- Web page: https://patentgrep.com/patent/US20190317826A1

## 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/4856: {resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence)}
- G06F 17/18: for evaluating statistical data {, e.g. average values, frequency distributions, probability functions, regression analysis (forecasting specially adapted for a specific administrative, business or logistic context G06Q10/04)}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45583: {Memory management, e.g. access or allocation}
- 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

Computational methods and systems that estimate time remaining and right size for usable capacities of resources used to run virtual objects of a distributed computing system are described. For each stream of metric data that represents usage of a resource of a distributed computing system, a model for forecasting metric data is determined and used to compute forecasted metric data in a forecast interval. A resource utilization metric is computed from the forecasted metric data and may be used to estimate a time remaining before the usable capacity of the resource is expected to be insufficient and the resource usable capacity is adjusted. The resource utilization metric may be used to determine the capacity remaining is insufficient. A right-size usable capacity for the resource is computed based on the resource utilization metric and the usable capacity of the resource is adjusted to at least the right-size usable capacity.

## Claims

### Claim 1

A process stored in one or more data-storage devices and executed using one or more processors of a computer system to adjust usable capacity of a resource used by virtual objects of a distributed computing system, the process comprising:
computing two or more models for forecasting metric data based on a sequence of metric data that represent usage of the resource in a historical window;
selecting a model of the two or more models that corresponds to the sequence of metric data in the historical window;
computing forecasted metric data in a forecast interval using the model;
computing a resource utilization metric based on the forecasted metric data;
when the resource utilization metric is greater than the usable capacity of the resource, determining an estimated time remaining in the forecast internal that corresponds to an estimated time in the forecast interval when the usable capacity of the resource is expected to be insufficient; and
adjusting the usable capacity of the resource used by the virtual objects when the resource is projected to have insufficient usable capacity in the forecast interval.

### Claim 2 (depends on 1)

The method of claim 1, wherein computing the two or more models for forecasting metric comprises:
detrending a sequence of metric data to obtain a sequence of non-trendy metric data, the sequence of metric data representing latest usage of a resource in the distributed computing system;
computing stochastic process models of the sequence of non-trendy metric data and corresponding accumulated residual errors;
computing a pulse wave model based on changes in averages of metric data in two sliding adjacent time windows of the sequence of non-trendy metric data; and
computing two or more seasonal models for the sequence of non-trendy metric data for two or more sample rates applied to the sequence of non-trendy metric data.

### Claim 3 (depends on 1)

The process of claim 1 wherein computing the sequence of forecasted metric data over the forecast interval comprises computing the sequence of forecasted metric data over the forecast interval at each lead time of the forecast interval based on the model.

### Claim 4 (depends on 1)

The process of claim 1 wherein computing the resource utilization metric comprises:
computing an estimated standard deviation at each lead time of the forecast interval; and
computing the resource utilization metric as an upper confidence value based on the estimated standard deviation and a prediction interval coefficient.

### Claim 5 (depends on 1)

The process of claim 1 wherein computing the resource utilization metric comprises:
computing an estimated standard deviation at each lead time of the forecast interval; and
computing the resource utilization metric as a lower confidence value based on the estimated standard deviation and a prediction interval coefficient.

### Claim 6 (depends on 1)

The process of claim 1 wherein computing the resource utilization metric comprises computing the resource utilization metric as a mean of forecasted metric data.

### Claim 7 (depends on 1)

The process of claim 1 wherein adjusting the usable capacity of the resource comprises executing one or more of
decreasing a reserved capacity of the resource to increases the usable capacity of the resource;
assigning one or more additional resources of the same type to the virtual object;
migrating the virtual object to a different server computer with the same type of resource but with a larger usable capacity than the resource currently used by the virtual object; and
creating one or more additional virtual objects from a template of the virtual object, the additional virtual objects to share the workload of the virtual object.

### Claim 8

A computer system to adjust usable capacity of a resource used by virtual objects of a distributed computing system, the system comprising:
one or more processors;
one or more data-storage devices; and
machine-readable instructions stored in the one or more data-storage devices that when executed using the one or more processors controls the system to carry out
computing two or more models for forecasting metric data based on a sequence of metric data that represents usage of the resource in a historical window;
selecting a model of the two or more models that corresponds to the sequence of metric data in the historical window;
computing forecasted metric data in a forecast interval using the model;
determining a capacity remaining for the resource based on the forecasted metric data; and
when the capacity remaining is less than or equal to zero, computing a right-size usable capacity for the resource and adjusting the usable capacity of the resource to at least the right-size usable capacity.

### Claim 9 (depends on 8)

The computer system of claim 8 wherein computing the two or more models for forecasting metric comprises:
detrending a sequence of metric data to obtain a sequence of non-trendy metric data, the sequence of metric data representing latest usage of a resource in the distributed computing system;
computing stochastic process models of the sequence of non-trendy metric data and corresponding accumulated residual errors;
computing a pulse wave model based on changes in averages of metric data in two sliding adjacent time windows of the sequence of non-trendy metric data; and
computing two or more seasonal models for the sequence of non-trendy metric data for two or more sample rates applied to the sequence of non-trendy metric data.

### Claim 10 (depends on 8)

The computer system of claim 8 wherein computing the sequence of forecasted metric data over the forecast interval comprises computing the sequence of forecasted metric data over the forecast interval at each lead time of the forecast interval based on the model.

### Claim 11 (depends on 8)

The computer system of claim 8 wherein computing the resource utilization metric comprises:
computing an estimated standard deviation at each lead time of the forecast interval; and
computing the resource utilization metric as an upper confidence value based on the estimated standard deviation and a prediction interval coefficient.

### Claim 12 (depends on 8)

The computer system of claim 8 wherein computing the resource utilization metric comprises:
computing an estimated standard deviation at each lead time of the forecast interval; and
computing the resource utilization metric as a lower confidence value based on the estimated standard deviation and a prediction interval coefficient.

### Claim 13 (depends on 8)

The computer system of claim 8 wherein computing the resource utilization metric comprises computing the resource utilization metric as a mean of forecasted metric data.

### Claim 14 (depends on 8)

The computer system of claim 8 wherein adjusting the usable capacity of the resource comprises executing one or more of increasing the amount of the usable capacity of the resource to at least the right-size usable capacity,
assigning one or more additional resources of the same type to the virtual object that collectively provide at least the right-size usable capacity,
migrating the virtual object to a different server computer with the same type of resource but with at least the right-size usable capacity, and
creating one or more additional virtual objects from a template of the virtual object, the additional virtual objects to share the workload of the virtual object and provide at least the right-size usable capacity.

### Claim 15

A non-transitory computer-readable medium encoded with machine-readable instructions that implement a method carried out by one or more processors of a computer system to perform the operations of
computing two or more models for forecasting metric data based on a sequence of metric data generated by a resource used to virtual objects in a distributed computing system;
selecting a model of the two or more models that corresponds to the sequence of metric data in the historical window;
computing forecasted metric data in a forecast interval using the model;
determining a capacity remaining for the resource based on the forecasted metric data; and
when the capacity remaining is less than or equal to zero, computing a right-size usable capacity for the resource and adjusting the usable capacity of the resource to at least the right-size usable capacity.

### Claim 16 (depends on 15)

The medium of claim 15 wherein computing the two or more models for forecasting metric comprises:
detrending a sequence of metric data to obtain a sequence of non-trendy metric data, the sequence of metric data representing latest usage of a resource in the distributed computing system;
computing stochastic process models of the sequence of non-trendy metric data and corresponding accumulated residual errors;
computing a pulse wave model based on changes in averages of metric data in two sliding adjacent time windows of the sequence of non-trendy metric data; and
computing two or more seasonal models for the sequence of non-trendy metric data for two or more sample rates applied to the sequence of non-trendy metric data.

### Claim 17 (depends on 15)

The medium of claim 15 wherein computing the sequence of forecasted metric data over the forecast interval comprises computing the sequence of forecasted metric data over the forecast interval at each lead time of the forecast interval based on the model.

### Claim 18 (depends on 15)

The medium of claim 15 wherein computing the resource utilization metric comprises:
computing an estimated standard deviation at each lead time of the forecast interval; and
computing the resource utilization metric as an upper confidence value based on the estimated standard deviation and a prediction interval coefficient.

### Claim 19 (depends on 15)

The medium of claim 15 wherein computing the resource utilization metric comprises:
computing an estimated standard deviation at each lead time of the forecast interval; and
computing the resource utilization metric as a lower confidence value based on the estimated standard deviation and a prediction interval coefficient.

### Claim 20 (depends on 15)

The medium of claim 15 wherein computing the resource utilization metric comprises computing the resource utilization metric as a mean of forecasted metric data.

### Claim 21 (depends on 15)

The medium of claim 15 wherein adjusting the usable capacity of the resource comprises executing one or more of increasing the amount of the usable capacity of the resource to at least the right-size usable capacity,
assigning one or more additional resources of the same type to the virtual object that collectively provide at least the right-size usable capacity,
migrating the virtual object to a different server computer with the same type of resource but with at least the right-size usable capacity, and
creating one or more additional virtual objects from a template of the virtual object, the additional virtual objects to share the workload of the virtual object and provide at least the right-size usable capacity.
