# US 12,008,408 B2 · Automatically identifying and right sizing instances

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

- Number: US 12,008,408 B2
- Document ID: US12008408B2
- Status: Granted
- Kind: B2
- Application number: 17/854,695
- Filed: 2022-06-30
- Published: 2022-11-03
- Granted: 2024-06-11
- Earliest claimed: 2019-09-10
- Assignees: Salesforce, Inc.
- Applicants: Salesforce, Inc.
- Inventors: Brian Toal; Manpreet Singh
- Web page: https://patentgrep.com/patent/US12008408B2

## CPC

- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/5072: {Grid computing}
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- G06F 2209/501: Performance criteria
- G06F 2209/5011: Pool
- G06F 2209/505: Clust
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system is disclosed. The system includes a resource monitor to monitor a resource utilization of a set of resources of one or more instances, the resource utilization corresponding to a first level of performance and cost and an instance type determiner to, based on the resource utilization, determine if there is an instance type for at least one of the one or more instances, with a resource profile, that will provide a second level of performance and cost that is closer to a default level of performance and cost than the first level of performance and cost. In addition, the system also includes an instance type recommender to, based on the determining, perform one of making and not making a recommendation to replace the instance type of the at least one of the one or more instances.

## Claims

### Claim 1

A system to provide a cloud platform advisory service for a cloud computing service, the system comprising:
memory circuitry to store program code of a resource analyzer, a resource configuration determiner, and a resource type recommender; and
processor circuitry connected to the memory circuitry, wherein:
the processor circuitry is to operate the resource analyzer to analyze a resource usage of a resource group, the resource usage corresponding to a first level of performance or cost;
the processor circuitry is to operate the resource configuration determiner to determine, based on the resource usage, a recommended resource configuration for the resource group that is estimated to provide at least a second cost that is closer to a default cost than the first cost; and
the processor circuitry is to operate the resource configuration recommender to:
cause evaluation of the recommended resource configuration when the recommended resource configuration is different from a current resource configuration of the resource, wherein the evaluation includes identification of how the recommended resource configuration can service work associated with an application service, and
provide a recommendation to facilitate a replacement or resizing of the current resource configuration of the resource group with the recommended resource group based on the evaluation,
wherein the processor circuitry is configured to cause evaluation by the resource configuration determiner based on the resource usage to determine workload patterns of the current resource configuration of the resource group,
wherein the resource configuration determiner further determines the recommendation based on a current workload data of the current resource configuration of the resource group, the determined workload patterns, and a range of desired performances and costs,
wherein, based on the recommendation, the current resource configuration of the resource group is replaced with or resized based on the recommended resource configuration of the resource group, and
wherein one or more workloads of the resource group are executed using the recommended resource configuration.

### Claim 2 (depends on 1)

The system of claim 1, wherein:
the recommended resource configuration includes one or more identified right-sized resource configurations; and
the recommendation to replace the current resource configuration with the recommended resource configuration includes one or more workload changes to meet performance characteristics of the application service or having a lowest cost.

### Claim 3 (depends on 1)

The system of claim 1, wherein:
the memory circuitry is to store program code of an instance manager; and
the processor circuitry is to operate the instance manager to:
automatically right-size one or more resources in the resource group to have the recommended resource configuration; or
right-size the one or more resources to have the recommended resource configuration in response to receipt of a request to right-size the one or more resources in accordance with the recommended resource configuration.

### Claim 4 (depends on 1)

The system of claim 1, wherein the resource configuration determiner is to compare the first level of performance or cost to the second level of performance or cost.

### Claim 5 (depends on 4)

The system of claim 4, wherein a decision to replace the current resource configuration is made based on the comparison.

### Claim 6 (depends on 1)

The system of claim 1, wherein the second level of performance or cost that is closer to the default level of performance or cost is identified from a specified range of performances and a specified cost.

### Claim 7 (depends on 1)

The system of claim 1, wherein the second level of performance or cost that is closer to the default level of performance or cost is identified from a specified performance and a specified range of costs.

### Claim 8 (depends on 1)

The system of claim 1, wherein the recommended resource configuration includes a specified amount of resources that are allocated for an individual application or service.

### Claim 9

A non-transitory computer-readable memory (NTCRM) comprising instructions stored thereon, wherein execution of the instructions by a processor of a cloud computing service is to cause the cloud computing service to:
analyze a resource usage of a resource group, the resource usage corresponding to a first level of performance or cost;
determine, based on the resource usage, a recommended resource configuration for the resource group that is estimated to provide at least a second cost that is closer to a default cost than the first cost;
cause an evaluation of the recommended resource configuration when the recommended resource configuration is different from a current resource configuration of the resource group, wherein the evaluation includes identification of how the recommended resource configuration can service work associated with an application service;
provide, based on the evaluation, a recommendation to facilitate a replacement or resizing of the current resource configuration with the recommended resource configuration for the resource group;
cause evaluation by the resource configuration determiner based on the resource usage to determine workload patterns of the current resource configuration of the resource group;
determine, at the resource configuration determiner, the recommendation based on a current workload data of the current resource configuration of the resource group, the determined workload patterns, and a range of desired performances and costs;
replace or resize, based on the recommendation, the current resource configuration of the resource group based on the recommended resource configuration of the resource group; and
execute one or more workloads of the resource group using the recommended resource configuration.

### Claim 10 (depends on 9)

The NTCRM of claim 9, wherein execution of the instructions is to cause the cloud computing service to perform one or more actions based on the provided recommendation.

### Claim 11 (depends on 9)

The NTCRM of claim 9, wherein:
the recommended resource configuration includes one or more identified right-sized resource configurations; and
the recommendation to replace the current resource configuration with the recommended resource configuration includes one or more workload changes to meet performance characteristics of the application service or having a lowest cost.

### Claim 12 (depends on 9)

The NTCRM of claim 9, wherein execution of the instructions is to cause the cloud computing service to compare the first level of performance or cost to the second level of performance or cost.

### Claim 13 (depends on 12)

The NTCRM of claim 12, wherein a decision to replace the current resource configuration is made based on the comparison.

### Claim 14 (depends on 9)

The NTCRM of claim 9, wherein the second level of performance or cost that is closer to the default level of performance or cost is identified from a specified range of performances and a specified cost.

### Claim 15 (depends on 9)

The NTCRM of claim 9, wherein the second level of performance or cost that is closer to the default level of performance or cost is identified from a specified performance and a specified range of costs.

### Claim 16 (depends on 9)

The NTCRM of claim 9, wherein the recommended resource configuration includes a specified amount of resources to be allocated to the resource group.

### Claim 17

A computer-implemented method for providing a cloud platform advisory service for a cloud computing service, the method comprising:
analyzing a resource usage of a resource group, the resource usage corresponding to a first level of performance or cost;
determining, based on the resource usage, a recommended resource configuration for the resource group that is estimated to provide at least a second cost that is closer to a default cost than the first cost;
causing an evaluation of the recommended resource configuration when the recommended resource configuration is different from a current resource configuration of the resource, wherein the evaluation includes identification of how the recommended resource configuration can service work associated with an application service;
provide a recommendation to facilitate a replacement or resizing of the current resource configuration of the resource group with the recommended resource group based on the evaluation;
cause evaluation by the resource configuration determiner based on the resource usage to determine workload patterns of the current resource configuration of the resource group;
determine, at the resource configuration determiner, the recommendation based on a current workload data of the current resource configuration of the resource group, the determined workload patterns, and a range of desired performances and costs;
replace or resize, based on the recommendation, the current resource configuration of the resource group based on the recommended resource configuration of the resource group; and
execute one or more workloads of the resource group using the recommended resource configuration.

### Claim 18 (depends on 17)

The method of claim 17, further comprising performing one or more configured actions based on the recommendation.

### Claim 19 (depends on 17)

The method of claim 17, further comprising:
automatically right-sizing one or more resources in the resource group to have the recommended resource configuration; or
right-sizing the one or more resources to have the recommended resource configuration in response to receipt of a request to right-size the one or more resources in accordance with the recommended resource configuration.

### Claim 20 (depends on 18)

The method of claim 18, further comprising comparing the first level of performance or cost with the second level of performance or cost.

### Claim 21 (depends on 20)

The method of claim 20, wherein a decision to replace the current resource configuration is made based on the comparing.

### Claim 22 (depends on 17)

The method of claim 17, wherein the second level of performance or cost that is closer to the default level of performance or cost is identified from a specified range of performances and a specified cost.

### Claim 23 (depends on 17)

The method of claim 17, wherein the second level of performance or cost that is closer to the default level of performance or cost is identified from a specified performance and a specified range of costs.

### Claim 24 (depends on 17)

The method of claim 17, wherein the recommended resource configuration includes a specified amount of resources to be allocated to the resource group.
