# US 11,907,767 B2 · Cost estimation for a cloud-based infrastructure provisioning system

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

- Number: US 11,907,767 B2
- Document ID: US11907767B2
- Status: Granted
- Kind: B2
- Application number: 17/828,804
- Filed: 2022-05-31
- Published: 2022-12-22
- Granted: 2024-02-20
- Earliest claimed: 2020-04-08
- Assignees: HashiCorp
- Applicants: HashiCorp
- Inventors: Mitchell Hashimoto; Armon Dadgar; Matthew Hooker; Paul Thrasher
- Web page: https://patentgrep.com/patent/US11907767B2

## CPC

- G06F 9/5072: {Grid computing}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06Q 30/0283: Price estimation or determination
- H04L 41/0813: characterised by the conditions triggering a change of settings
- H04L 41/0826: for reduction of network costs (H04L41/0833 takes precedence)
- H04L 41/5045: {Making service definitions prior to deployment}
- H04L 41/5048: {Automatic or semi-automatic definitions, e.g. definition templates}
- H04L 41/5096: {wherein the managed service relates to distributed or central networked applications}
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A cost estimator system receives a plan, a configuration or proposed changes for a cloud-based infrastructure, and which include data representing one or more computing resources needed for a cloud-based application. A new configuration is generated for the cloud-based infrastructure incorporating the plan, configuration or proposed changes. A price resolver resolves a price of the resources that are part of the new configuration, and requests, from one or more cloud providers associated with the new configuration, price data for the resolved resources. The cost estimator system then generates, based on the price data received by the price resolver, a cost estimate for the new configuration of the cloud-based infrastructure.

## Claims

### Claim 1

A method comprising:
receiving, by a cost estimator system, a plan, a first configuration and proposed changes to the first configuration for a cloud-based infrastructure, the first configuration and proposed changes comprising data representing one or more computing resources needed for a cloud-based application;
generating, by the cost estimator system, a new configuration for the cloud-based infrastructure, the new configuration incorporating the plan, configuration or proposed changes to the first configuration, the new configuration being modeled as a graph having a root level node representing a launch configuration, and prices being mapped to the launch configuration;
determining, by a price resolver of the cost estimator system, resources that are part of the new configuration, the resources comprising one or more of cloud resources and on-premise resources that support the cloud-based infrastructure to determine resolved resources;
requesting, by the price resolver from one or more cloud providers associated with the new configuration, price data for the resolved resources; and
generating, by the cost estimator system based on the price data received by the price resolver, a cost estimate for the new configuration of the cloud-based infrastructure.

### Claim 2 (depends on 1)

The method in accordance with claim 1, further comprising transforming, by the price resolver, resource attributes to cloud provider-specific attributes to map one or more resources to a stock keeping unit price provided by a cloud provider.

### Claim 3 (depends on 1)

The method in accordance with claim 1, further comprising: determining, by a policy module that stores at least one cost policy for the cloud-based infrastructure, whether the cost estimate for the new configuration is in accordance with the at least one cost policy.

### Claim 4 (depends on 1)

The method in accordance with claim 1, further comprising delivering, by a computer communication interface associated with the cost estimator system, the cost estimate in an electronic form to one or more client computers connected with the computer communication interface.

### Claim 5 (depends on 3)

The method in accordance with claim 3, where the at least one cost policy stored by the policy module includes a spend quota for one or more teams using the cloud-based infrastructure.

### Claim 6 (depends on 5)

The method in accordance with claim 5, wherein determining whether the cost estimate for the new configuration is in accordance with the at least one cost policy includes calculating a cost of the first configuration of the cloud-based infrastructure and the cost estimate for the new configuration of the cloud-based infrastructure.

### Claim 7

A computer program product for estimating a cost for cloud based infrastructure, the computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
receive a first configuration and proposed changes to the first configuration for the cloud-based infrastructure, the first configuration and proposed changes comprising data representing one or more computing resources needed for a cloud-based application;
generate a new configuration for the cloud-based infrastructure, the new configuration incorporating the first configuration and the proposed changes, the new configuration being modeled as a graph having a root level node representing a launch configuration, and prices being mapped to the launch configuration;
determine resources that are part of the new configuration;
request, from one or more cloud providers associated with the new configuration, price data for the resolved resources; and
generate, based on the price data received, a cost estimate for the new configuration of the cloud-based infrastructure.

### Claim 8 (depends on 7)

The computer program product in accordance with claim 7, wherein the operations further comprise an operation to transform resource attributes to cloud provider-specific attributes to map one or more resources to a stock keeping unit price provided by a cloud provider.

### Claim 9 (depends on 7)

The computer program product in accordance with claim 7, wherein the operations further comprise an operation to determine, based on at least one cost policy for the cloud-based infrastructure, whether the cost estimate for the new configuration is in accordance with the at least one cost policy.

### Claim 10 (depends on 7)

The computer program product in accordance with claim 7, wherein the operations further comprise operations to format and deliver, by a computer communication interface, the cost estimate in an electronic format to one or more client computers connected with the computer communication interface.

### Claim 11 (depends on 9)

The computer program product in accordance with claim 9, where the at least one cost policy stored by the policy module includes a spend quota for one or more teams using the cloud-based infrastructure.

### Claim 12 (depends on 11)

The computer program product in accordance with claim 11, wherein determining whether the cost estimate for the new configuration is in accordance with the at least one cost policy includes calculating a cost of the first configuration of the cloud-based infrastructure and the cost estimate for the new configuration of the cloud-based infrastructure.

### Claim 13

A system for estimating a cost for cloud-based infrastructure, the system comprising:
one or more processors; and
a non-transitory machine-readable medium storing instructions that are executable by the one or more processors to:
generate a first configuration and proposed changes to the first configuration for a cloud-based infrastructure, the first configuration and proposed changes comprising data representing one or more computing resources needed for a cloud-based application hosted by the cloud-based infrastructure;
receive the configuration and the proposed changes for the cloud-based infrastructure to generate a new configuration for the cloud-based infrastructure, the new configuration incorporating the first configuration and the proposed changes, the new configuration being modeled as a graph having a root level node representing a launch configuration, and prices being mapped to the launch configuration;
resolve resources that are part of the new configuration;
and
request, from one or more cloud providers associated with the new configuration, price data for the resolved resources to generate a cost estimate for the new configuration of the cloud-based infrastructure.

### Claim 14 (depends on 13)

A system in accordance with claim 13, wherein the instructions are further executable by the one or more processors to store, in a memory, at least one cost policy for the cloud-based infrastructure, and to determine whether the cost estimate for the new configuration is in accordance with the at least one cost policy.
