# US 10,937,036 B2 · Dynamic recommendations taken over time for reservations of information technology resources

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

- Number: US 10,937,036 B2
- Document ID: US10937036B2
- Status: Granted
- Kind: B2
- Application number: 13/917,503
- Filed: 2013-06-13
- Published: 2014-05-15
- Granted: 2021-03-02
- Earliest claimed: 2012-11-13
- Assignees: Apptio, Inc.
- Applicants: Apptio, Inc.
- Inventors: Michael Morris Wasser
- Web page: https://patentgrep.com/patent/US10937036B2

## CPC

- G06Q 30/02: Marketing; Price estimation or determination; Fundraising
- G06Q 10/02: Reservations, e.g. for tickets, services or events
- G06Q 10/022: {Reservation systems with overbooking processing}
- G06Q 10/04: Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem" (market predictions or forecasting for commercial activities G06Q30/0202)
- G06Q 10/06312: {Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling}
- G06Q 10/0639: Performance analysis of employees; Performance analysis of enterprise or organisation operations
- 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

## Abstract

Embodiments are directed towards providing dynamic recommendations of reserving information technology resources over time that may be visually displayed over that time. In one embodiment, the recommendations may be determined based on an analysis of actual usage data obtained over a prior time period and used to predict future resource demands. The subject innovations enable a user to dynamically perform various ‘what-if’ analysis to determine optimum purchase times, and configurations. In some embodiments, the user is further provided information about currently purchased resource under-utilizations to enable the user to redistribute work, release resources, or take other actions directed towards improving management of their IT budget. While subject innovations are may be directed towards managing IT resources obtained through one or more cloud computing service providers, some embodiments further allow the user to perform make/buy decisions such as when to use in-house resources versus using cloud-based resources.

## Claims

### Claim 1

A computer implemented method for modifying a recommendation of an optimal reservation number of computing resources, wherein a server computer having one or more processors, a memory, and a network interface executes logic to perform actions, comprising:
instantiating a resource recommender program in the memory that performs actions, including:
tracking historical usage of each of a plurality of the computing resources over time buckets that represent units of time, wherein the tracked historical usage includes: changes in a configuration of the computing resources, up time of the computing resources, down time of the computing resources, and loads placed on the computing resources;
identifying, by machine learning algorithms temporary peaks in the usage of the computing resources using the tracked historical usage, to predict future computing resource usage over the time buckets, wherein the prediction include determinations of: when to release the computing resources, when to reallocate the computing resources, when to move an in-house resource to a cloud resource, and when to move the cloud resource back to the in-house resource;
providing, a trade-off percentage of a reservation for each of the computing resources based on a sum of an upfront cost and a reserved rate multiplied by a time of the reservation, the sum further divided by a mathematical product between an on-demand rate and the time of the reservation;
providing, by using the trade-off percentage, a reservation period of a computing resource, of the plurality of computing resources, wherein the reservation period represents a time before the computing resource costs less to purchase as the reservation when its cost is amortized over the reservation period;
providing, based on the time buckets further ranked from largest to smallest and the trade-off percentage, a trade-off point representing a number of the computing resources where it is cost effective to purchase reserved computing resources over using on-demand computing resources; and
determining a recommendation for an optimum forecast model based on the ranked time buckets, the trade-off percentage, the trade-off point, the optimal reservation number of the computing resources over the reservation period, service level agreements, contracts, and the historical usage, wherein the reserved computing resources cover the computing resources during normal operation and the on-demand computing resources cover the computing resources above the optimal reservation number of the computing resources; and
instantiating a user interface on a client computer to display the recommendation and also display selectable control elements; and
in response to an input provided by a user, immediately and dynamically modifying assumptions of the optimum forecast model for the recommendation to generate a new recommendation that is displayed to the user, wherein the new recommendation is based on the modified assumptions of the optimum forecast model that provide a new estimate of corresponding savings or additional costs when fewer of the computing resources are provided than a previously recommended optimal reservation number of the computing resources over the reservation period from one or more different types of providers for one or more portions of the computing resources to improve an understanding of the new recommendation.

### Claim 2 (depends on 1)

The method of claim 1, wherein the recommendation further comprises an indication of how to manage the computing resources across a plurality of different resource providers.

### Claim 3 (depends on 1)

The method of claim 1, further comprising generating at least one error covariance value for use in determining other recommendations based on a comparison of a predicted usage of the computing resources with an actual usage of the computing resources.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
receiving at least one user input regarding at least one of a time frame in which the resources are to be committed to by the user, a variation in a parameter of the upfront cost, or the recommended optimal reservation number of computing resources; and
as the at least one user input varies, dynamically modifying the recommendation based in part on the at least one user input.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
determining the predicted future usage of the computing resource during a contract; and
modifying the recommendation for a remaining time period of the contract based on the predicted future usage of the computing resource.

### Claim 6

A system for modifying a recommendation of an optimal reservation number of computing resources, the system comprising:
a server computer that includes:
a network interface for communicating over one or more of a wired network or a wireless network with a client computer;
a memory for storing a resource recommender software program; and one or more hardware processors that instantiate and execute the resource recommender software program that is programmed to perform actions, including:
tracking historical usage of each of a plurality of the computing resources over time buckets that represent units of time, wherein the tracked historical usage includes: changes in a configuration of the computing resources, up time of the computing resources, down time of the computing resources, and loads placed on the computing resources;
identifying, by machine learning algorithms temporary peaks in the usage of the computing resources using the tracked historical usage, to predict future computing resource usage over the time buckets, wherein the prediction include determinations of: when to release the computing resources, when to reallocate the computing resources, when to move an in-house resource to a cloud resource, and when to move the cloud resource back to the in-house resource;
providing a trade-off percentage of a reservation for each of the computing resources based on a sum of an upfront cost and a reserved rate multiplied by a time of the reservation, the sum further divided by a mathematical product between an on-demand rate and the time of the reservation;
providing, by using the trade-off percentage, a reservation period of a computing resource, of the plurality of computing resources, wherein the reservation period represents a time before the computing resource costs less to purchase as the reservation when its cost is amortized over the reservation period;
providing, based on the time buckets further ranked from largest to smallest and the trade-off percentage, a trade-off point representing a number of the computing resources where it is cost effective to purchase reserved computing resources over using on-demand computing resources; and
determining a recommendation for an optimum forecast model based on the ranked time buckets, the trade-off percentage, the trade-off point, the optimal reservation number of the computing resources over the reservation period, service level agreements, contracts, and the historical usage, wherein the reserved computing resources cover the computing resources during normal operation and the on-demand computing resources cover the computing resources above the optimal reservation number of the computing resources; and
instantiating a user interface on a client computer to display the recommendation and also display selectable control elements; and
in response to an input provided by a user, immediately and dynamically modifying assumptions of the optimum forecast model for the recommendation to generate a new recommendation that is displayed to the user, wherein the new recommendation is based on the modified assumptions of the optimum forecast model that provide a new estimate of corresponding savings or additional costs when fewer of the computing resources are provided than a previously recommended optimal reservation number of the computing resources over the reservation period from one or more different types of providers for one or more portions of the computing resources to improve an understanding of the new recommendation.

### Claim 7 (depends on 6)

The system of claim 6, wherein the recommendation further comprises an indication of how to manage the computing resources across a plurality of different resource providers.

### Claim 8 (depends on 6)

The system of claim 6, further comprising generating at least one error covariance value for use in determining other recommendations based on a comparison of a predicted usage of the computing resources with an actual usage of the computing resources.

### Claim 9 (depends on 6)

The system of claim 6, further comprising:
receiving at least one user input regarding at least one of a time frame in which the resources are to be committed to by the user, a variation in a parameter of the upfront cost, or the recommended optimal reservation number of computing resources; and
as the at least one user input varies, dynamically modifying the recommendation based in part on the at least one input.

### Claim 10 (depends on 6)

The system of claim 6, further comprising:
determining the predicted future usage of the computing resource during a contract; and
modifying the recommendation for a remaining time period of the contract based on the predicted future usage of the computing resource.

### Claim 11

A non-transitory computer readable storage medium for modifying a recommendation of an optimal reservation number of computing resources, on which is recorded computer executable instructions that, when executed by a server computer that includes a memory, a network interface, and one or more processors, cause the one or more processors to instantiate and execute a resource recommender software program that performs actions, comprising:
tracking historical usage of each of a plurality of the computing resources over time buckets that represent units of time, wherein the tracked historical usage includes: changes in a configuration of the computing resources, up time of the computing resources, down time of the computing resources, and loads placed on the computing resources;
identifying, by machine learning algorithms temporary peaks in the usage of the computing resources using the tracked historical usage to predict future computing resource usage over the time buckets, wherein the prediction include determinations of: when to release the computing resources, when to reallocate the computing resources, when to move an in-house resource to a cloud resource, and when to move the cloud resource back to the in-house resource;
providing, by the one or more processors, a trade-off percentage of a reservation for each of the computing resources based on a sum of an upfront cost and a reserved rate multiplied by a time of the reservation, the sum further divided by a mathematical product between an on-demand rate and the time of the reservation;
providing, by using the trade-off percentage, a reservation period of a computing resource, of the plurality of computing resources, wherein the reservation period represents a time before the computing resource costs less to purchase as the reservation when its cost is amortized over the reservation period;
providing, based on the time buckets further ranked from largest to smallest and the trade-off percentage, a trade-off point representing a number of the computing resources where it is cost effective to purchase reserved computing resources over using on-demand computing resources; and
determining a recommendation for an optimum forecast model based on the ranked time buckets, the trade-off percentage, the trade-off point, the optimal reservation number of the computing resources over the reservation period, service level agreements, contracts, and the historical usage, wherein the reserved computing resources cover the computing resources during normal operation and the on-demand computing resources cover the computing resources above the optimal reservation number of the computing resources; and
instantiating a user interface on a client computer to display the recommendation and also display selectable control elements; and
in response to an input provided by a user, immediately and dynamically modifying assumptions of the optimum forecast model for the recommendation to generate a new recommendation that is displayed to the user, wherein the new recommendation is based on the modified assumptions of the optimum forecast model that provide a new estimate of corresponding savings or additional costs when fewer of the computing resources are provided than a previously recommended optimal reservation number of the computing resources over the reservation period from one or more different types of providers for one or more portions of the computing resources to improve an understanding of the new recommendation.

### Claim 12 (depends on 11)

The non-transitory computer readable storage medium of claim 11, further comprising:
receiving at least one user input regarding at least one of a time frame in which the resources are to be committed to by the user, a variation in an upfront cost parameter, or a number of recommended resources to be reserved; and
as the at least one user input varies, dynamically modifying the recommendation for reserving the plurality of resources based in part on the at least one user input.

### Claim 13 (depends on 11)

The non-transitory computer readable storage medium of claim 11, further comprising:
determining the predicted future usage of the computing resource during a contract; and
modifying the recommendation for a remaining time period of the contract based on the predicted future usage of the computing resource.

### Claim 14 (depends on 11)

The non-transitory computer readable storage medium of claim 11, further comprising:
generating at least one error covariance value for use in determining other recommendations based on a comparison of a predicted usage of the computing resources with an actual usage of the computing resources.

### Claim 15 (depends on 11)

The non-transitory computer readable storage medium of claim 11, wherein the recommendation further comprises an indication of how to manage the computing resources across a plurality of different resource providers.
