IP Library Granted Patent US 10,346,775
Granted Patent B1
US 10,346,775 · App. 15/351,356 · Granted Jul 9, 2019

Systems, apparatus and methods for cost and performance-based movement of applications and workloads in a multiple-provider system

Inventors: Enlin Xu (New York, NY); Endre Sara (Briarcliff Manor, NY); David Olshefski (New York, NY); Ariel Tal (New York, NY); Mor Cohen (New York, NY)
Assignee: TURBONOMIC, INC.
G06Q10/06315G06Q20/065H04L67/10
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 10,346,775
App. No.
15/351,356
Granted
Jul 9, 2019
Kind
B1
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 performance criteria associated with moving the consumer from the first provider to the second provider.

Claims (47)

1. A computer-implemented method, comprising:

determining, by a consumer manager running on a data processor in a computer system, a cost in virtual currency units for running a workload on a first provider in the computer system, wherein the first provider is a private datacenter service provider;

selecting to run the workload on the first provider based at least in part on a comparison of the determined cost for running the workload on the first provider with a budget capacity of the workload;

determining, after a predetermined period of time has passed since the selection or after the determined cost for running the workload has increased by at least a predetermined amount, a cost for running the workload on a second provider in the computer system, wherein the second provider is a cloud-based service provider;

determining a cost of moving the workload to the second provider in the computer system;

determining the remaining budget capacity of the workload for running on the second provider;

computing a utilization value for running the workload on the second provider based at least in part on the determined cost for running the workload on the second provider, the determined cost of moving the workload to the second provider, and the determined remaining budget capacity; and

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

wherein the cost of running the workload on the second provider is determined by computing the square of the ratio of 1 to (1-X), wherein X is determined by computing the ratio of the sum of an established cost to run the workload and the budget spent by the workload over a predetermined period of time, to the total budget available to the workload over a second predetermined period of time.

2. The computer-implemented method of claim 1 , further comprising:

computing a second utilization value for running the workload on a 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 second determined remaining budget capacity, wherein the third provider is another cloud-based service provider; and

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

3. The computer-implemented 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.

4. The computer-implemented 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.

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

6. A computer-implemented method, comprising:

determining, by a consumer manager running on a data processor in a computer system, a cost in virtual currency units for running a workload on a first provider in the computer system, wherein the first provider is a private datacenter service provider;

selecting to run the workload on the first provider based at least in part on a comparison of the determined cost for running the workload on the first provider with a budget capacity of the workload;

determining, after a predetermined period of time has passed since the selection or after the determined cost for running the workload has increased by at least a predetermined amount, a cost for running the workload on a second provider in the computer system, wherein the second provider is a cloud-based service provider;

determining a cost of moving the workload to the second provider in the computer system;

determining the remaining budget capacity of the workload for running on the second provider;

computing a utilization value for running the workload on the second provider based at least in part on the determined cost for running the workload on the second provider, the determined cost of moving the workload to the second provider, and the determined remaining budget capacity;

moving the workload to the second provider based at least in part on the utilization value after the utilization value has surpassed a predetermined value; and

establishing the terms of continued running of the workload on the second provider for a predetermined length of time after the workload has moved to the second provider.

7. The computer-implemented method of claim 1 , wherein the determined cost for running the workload on the second provider is based on one or more of: an actual or anticipated environmental impact, a contractual clause, a quality of service (QoS) requirement, or a compliance or regulatory requirement.

8. The computer-implemented 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.

9. The computer-implemented method of claim 1 , wherein the cost for running the workload on the second provider increases as the remaining budget for the workload decreases.

10. The computer-implemented method of claim 1 , wherein the remaining budget for the workload is adjusted based at least in part on a determined service level agreement (SLA) performance metric.

11. The computer-implemented method of claim 1 , further comprising provisioning a new cloud-based provider based at least in part on the computed utilization value.

12. The computer-implemented method of claim 1 , further comprising exchanging virtual currency units used for running the workload to a government-backed currency.

13. A computer-implemented method, comprising:

determining, by a consumer manager running on a data processor in a computer system, a first cost in virtual currency units for running a workload on a first provider in the computer system, wherein the first provider is a cloud-based service provider;

determining, by the consumer manager, a second cost in virtual currency units for running the workload on a second provider in the computer system, wherein the second provider is a cloud-based service provider;

selecting to run the workload on either the first or second provider based at least in part on a comparison of the determined costs;

determining a cost for running the workload on a third provider in the computer system, wherein the third provider is a private datacenter service provider;

determining a cost of moving the workload to the third provider in the computer system;

determining the remaining budget capacity of the workload for running on 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 the determined remaining budget capacity;

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; and

further comprising establishing the terms of continued running of the workload on the first, second or third provider for a predetermined length of time.

14. The computer-implemented method of claim 1 , wherein the computing step includes determining a ratio of: the sum of the determined costs for running the workload on the second provider and moving the workload, to the determined remaining budget capacity.

15. The computer-implemented method of claim 13 , wherein the computing step includes determining a ratio of: the sum of the determined costs for running the workload on the second provider and moving the workload, to the determined remaining budget capacity.

16. The computer-implemented method of claim 13 , further comprising:

computing a second utilization value for running the workload on a fourth provider based at least in part on the determined cost for running the workload on the fourth provider, the determined cost of moving the workload to the fourth provider, and a second determined remaining budget capacity, wherein the fourth provider is another cloud-based service provider; and

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

17. The computer-implemented method of claim 13 , wherein the cost of running the workload on the third provider is based at least in part on the utilization of one or more resources of the first or second provider.

18. The computer-implemented method of claim 13 , 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.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2022
From: TURBONOMIC, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 062202/0030 →
RELEASE OF SECURITY INTEREST Recorded Jul 5, 2022
From: SILICON VALLEY BANK
To: TURBONOMIC, INC.
Reel/Frame 060396/0411 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 23, 2019
From: TURBONOMIC, INC.
To: SILICON VALLEY BANK
Reel/Frame 050156/0150 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 23, 2019
From: TURBONOMIC, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 050156/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2016
From: XU, ENLIN; ENDRE, SARA; OLSHEFSKI, DAVID; TAL, ARIEL; COHEN, MOR
To: TURBONOMIC, INC.
Reel/Frame 040679/0800 →
Continuity (5)
Continuation In Part 15152459 · May 11, 2016
Provisional Application 62255859 · Nov 16, 2015
Provisional Application 62256559 · Nov 17, 2015
Provisional Application 62256645 · Nov 17, 2015
Provisional Application 62316340 · Mar 31, 2016
Cited By (3)
US 12,254,019 US 12,417,210 US 12,619,465