IP Library Granted Patent US 11,689,613
Granted Patent B2
US 11,689,613 · App. 17/155,269 · Granted Jun 27, 2023

Systems, apparatus and methods for cost and performance-based management of resources in a cloud environment

Inventors: Apostolos Dailianas (Athens, GR); Wei Duan (Cupertino, CA); Shravan Sriram (Secaucus, NJ)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L67/1023G06F9/45558G06F9/505G06F9/5088G06Q30/0283G06F2009/4557
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,689,613
App. No.
17/155,269
Granted
Jun 27, 2023
Kind
B2
Abstract

Systems, methods and apparatus, including computer program products, are disclosed for regulating access of consumers (e.g., applications, containers, or VMs) to resources and services (e.g., storage). In one embodiment, this regulation occurs through the movement of consumers between different providers of a resource or service, such as a cloud service provider. Moving consumers includes, for example, determining the cost of moving the consumer from a first provider to a second provider. According to various embodiments, the cost of moving the consumer is compared to cost and performance criteria associated with moving the consumer from the first provider to the second provider. Cloud-based services may be priced as templates, reserved instances, or a combination.

Claims (44)

1. A computer-implemented method, comprising:

determining, by a consumer manager running on a data processor in a computer system, a set of resources for running a workload required by a component of the computer system, the resources including a needed quantity of one or more of CPUs, memory, databases, network bandwidth, and/or input-output capacity;

identifying, by the consumer manager, a first resource offering by a first provider including the needed quantity of resources individually on an on-demand basis and determining a cost for provisioning the needed quantity of resources to the computer system on the on-demand basis;

identifying, by the consumer manager, a second resource offering by a second provider different from the first resource offering and consisting of a reserved instance, the reserved instance specifying a quantity of one or more resources selected from CPUs, memory, databases, network bandwidth, and/or input-output capacity for a fixed time period and exceeding the needed quantity of resources, the reserved instance having a utilization level including a need by one or more other components of the computer system for an excess portion of the reserved instance beyond the needed quantity of resources;

determining a cost charged for the reserved instance;

selecting to utilize the reserved instance to run the workload based at least in part on a comparison of the determined cost for running the workload on the first provider given the utilization level with the determined cost of the reserved instance;

determining, after passage of a predetermined period of time no greater than the fixed time period associated with the reserved instance, a cost for running the workload on a third provider;

determining a cost of moving the workload to the third provider;

computing a utilization value for running the workload on the third provider based at least in part on the determined cost for running the workload on the third provider, the determined cost of moving the workload to the third provider, and a need by one or more other components of the computer system for the remainder of the reserved instance; and

moving the workload to the third provider based at least in part on the utilization value after the utilization value has surpassed a predetermined value.

2. The method of claim 1 , wherein the first provider is a cloud-based provider.

3. The method of claim 1 , wherein the first provider is an on-premises provider.

4. The method of claim 1 , wherein the second provider is a cloud-based provider.

5. The method of claim 1 , wherein the third provider is a cloud-based provider.

6. The method of claim 1 , wherein the third provider is an on-premises provider.

7. The method of claim 1 , wherein the reserved instance exceeds the needed quantity of resources and the computing step accounts for any restriction on moving an excess portion of the reserved instance to another component of the computer system.

8. The method of claim 1 , wherein the cost of running the workload on the second provider is based at least in part on the utilization of one or more resources of the first provider.

9. The method of claim 1 , wherein the cost of running the workload on the second provider is based at least in part on a determined performance characteristic of the first or second provider.

10. The method of claim 1 , wherein the cost of running the workload on the third provider is a dynamic, on-demand price based on one or more characteristics of the computer system.

11. The method of claim 1 , wherein the determined cost for running the workload on the second provider is based at least in part on one or more of an actual or anticipated environmental impact, a contractual clause associated with the reserved instance, a preferred vendor status, a quality of service (QoS) requirement, or a compliance or regulatory requirement.

12. The method of claim 1 , wherein the determined cost for running the workload on the second provider is based on one or more of: a cost of facilities, a capital amortization, or an operations cost.

13. A computer system for managing allocation of computational workloads in a computer system, comprising:

a processor;

a computer memory including stored instructions, executable by the processor, for causing the processor to:

determine a set of resources for running a workload required by a component of the computer system, the resources including a needed quantity of one or more of CPUs, memory, databases, network bandwidth, and/or input-output capacity;

identify a first resource offering by a first provider including the needed quantity of resources individually on an on-demand basis and determining a cost for provisioning the needed quantity of resources to the computer system on the on-demand basis;

identify a second resource offering by a second provider different from the first resource offering and consisting of a reserved instance, the reserved instance specifying a quantity of one or more resources selected from CPUs, memory, databases, network bandwidth, and/or input-output capacity for a fixed time period and exceeding the needed quantity of resources, the reserved instance having a utilization level including a need by one or more other components of the computer system for an excess portion of the reserved instance beyond the needed quantity of resources;

determine a cost charged for the reserved instance;

select to utilize the reserved instance to run the workload based at least in part on a comparison of the determined cost for running the workload on the first provider given the utilization level with the determined cost of the reserved instance;

determine, after passage of a predetermined period of time no greater than the fixed time period associated with the reserved instance, a cost for running the workload on a third provider;

determine a cost of moving the workload to the third provider;

compute a utilization value for running the workload on the third provider based at least in part on the determined cost for running the workload on the third provider, the determined cost of moving the workload to the third provider, and a need by one or more other components of the computer system for the remainder of the reserved instance; and

cause the workload to the third provider based at least in part on the utilization value after the utilization value has surpassed a predetermined value.

14. The system of claim 13 , wherein the first provider is a cloud-based provider.

15. The system of claim 13 , wherein the first provider is an on-premises provider.

16. The system of claim 13 , wherein the second provider is a cloud-based provider.

17. The system of claim 13 , wherein the third provider is a cloud-based provider.

18. The system of claim 13 , wherein the third provider is an on-premises provider.

19. The system of claim 13 , wherein the reserved instance exceeds the needed quantity of resources, the processor being configured to account for any restriction on moving an excess portion of the reserved instance to another component of the computer system.

20. The system of claim 13 , wherein the processor is configured to compute cost of running the workload on the second provider based at least in part on the utilization of one or more resources of the first provider.

21. The system of claim 13 , wherein the processor is configured to compute cost of running the workload on the second provider based at least in part on a determined performance characteristic of the first or second provider.

22. The system of claim 13 , wherein the processor is configured to compute the cost of running the workload on the third provider as a dynamic, on-demand price based on one or more characteristics of the computer system.

23. The system of claim 13 , wherein the processor is configured to determine the cost for running the workload on the second provider based at least in part on one or more of an actual or anticipated environmental impact, a contractual clause associated with the reserved instance, a preferred vendor status, a quality of service (QoS) requirement, or a compliance or regulatory requirement.

24. The system of claim 13 , wherein the processor is configured to determine the cost for running the workload on the second provider based on one or more of: a cost of facilities, a capital amortization, or an operations cost.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2022
From: TURBONOMIC, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 062202/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2021
From: DAILIANAS, APOSTOLOS; DUAN, WEI; SRIRAM, SHRAVAN
To: TURBONOMIC, INC.
Reel/Frame 054995/0160 →
Continuity (2)
Continuation 16363140 · Mar 25, 2019
Related Publication 20210176303A1 · Jun 10, 2021
Cited By (1)
US 12,632,802