IP Library Granted Patent US 10,552,217
Granted Patent B2
US 10,552,217 · App. 15/237,589 · Granted Feb 4, 2020

Workload placement in a hybrid cloud environment

Inventors: Aaron K. Baughman (Silver Spring, MD); Nicholas A. McCrory (Sacramento, CA); Michelle Welcks (Tampa, FL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/50
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,552,217
App. No.
15/237,589
Granted
Feb 4, 2020
Kind
B2
Abstract

An application is deployed on a first cloud from a set of clouds. A simulator is deployed on each cloud in the set. A vertical relationship function is computed between a time-series of the application and a time-series of the simulator. A first actual value in the time-series of the application is forecasted for a future time. A horizontal relationship function is computed between a first simulator value in the time-series of the simulator on the first cloud and a second simulator value in the time-series of the simulator on a second cloud. A second actual value in the time-series of a hypothetical deployment of the application on the second cloud is forecasted for the future time without deploying the application on the second cloud. The application is placed on the second cloud when the second actual value satisfies a condition.

Claims (52)

1. A method comprising:

deploying an application on a first cloud from a set of clouds in a hybrid cloud environment;

deploying an instance of a simulation on each cloud in the set of clouds;

computing, using a processor and a memory, a vertical relationship function between a time-series of the application on the first cloud and a time-series of the instance of the simulation on the first cloud, the time-series of the application comprising performance data of the application and the time-series of the instance of the simulation comprising performance data of the instance of the simulation;

computing a first function to fit the time-series of the application on the first cloud;

forecasting, for a future time using the first function, using the processor and the memory, a first performance data value in the time-series of the application on the first cloud;

computing a second function to fit the time-series of the instance of the simulation on the first cloud;

computing a third function to fit the time-series of the instance of the simulation on the second cloud;

forecasting, for the future time, the second performance data value in the time-series of the instance of the simulation on the first cloud using the vertical relationship function and the first performance data value;

computing a horizontal relationship function between a second performance data value in the time-series of the instance of the simulation on the first cloud and a third performance data value in the time-series of the instance of the simulation on a second cloud;

forecasting, for the future time, using the processor and the memory, a fourth performance data value in the time-series of a hypothetical deployment of the application on the second cloud without actually deploying the application on the second cloud, wherein the fourth performance data value is output by a prediction function corresponding to the second cloud, the prediction function computed using the vertical relationship function and the horizontal relationship function; and

placing the application on the second cloud responsive to the fourth performance data value satisfying a selection condition.

2. The method of claim 1 , further comprising:

forecasting the third performance data value in the time-series of the instance of the simulation on the second cloud using the second function.

3. The method of claim 1 , further comprising:

configuring the simulation such that a computing cost of deploying the simulation in any cloud is less than a computing cost of deploying the application in the any cloud; and

further configuring the simulation to perform an interaction with the any cloud substantially similarly as an interaction of the application with the any cloud but without performing a function of the application.

4. The method of claim 1 , wherein the first cloud is configured according to a cloud configuration model, and a second cloud in the set of clouds is configured according to a second cloud configuration model.

5. The method of claim 1 , wherein the first cloud and a second cloud in the set of clouds are each a portion of a third cloud in the set of clouds, and wherein the first cloud and the second cloud are each configured according to a common cloud configuration model.

6. A computer usable program product comprising one or more computer-readable storage medium, and program instructions stored on at least one of the one or more storage medium, the stored program instructions comprising:

program instructions to deploy an application on a first cloud from a set of clouds in a hybrid cloud environment;

program instructions to deploy an instance of a simulation on each cloud in the set of clouds;

program instructions to compute, using a processor and a memory, a vertical relationship function between a time-series of the application on the first cloud and a time-series of the instance of the simulation on the first cloud, the time-series of the application comprising performance data of the application and the time-series of the instance of the simulation comprising performance data of the instance of the simulation;

program instructions to compute a first function to fit the time-series of the application on the first cloud;

program instructions to forecast, for a future time using the first function, using the processor and the memory, a first performance data value in the time-series of the application on the first cloud;

program instructions to compute a second function to fit the time-series of the instance of the simulation on the first cloud;

program instructions to compute a third function to fit the time-series of the instance of the simulation on the second cloud;

program instructions to forecast, for the future time, the second performance data value in the time-series of the instance of the simulation on the first cloud using the vertical relationship function and the first performance data value;

program instructions to compute a horizontal relationship function between a second performance data value in the time-series of the instance of the simulation on the first cloud and a third performance data value in the time-series of the instance of the simulation on a second cloud;

program instructions to forecast, for the future time, using the processor and the memory, a fourth performance data value in the time-series of a hypothetical deployment of the application on the second cloud without actually deploying the application on the second cloud, wherein the fourth performance data value is output by a prediction function corresponding to the second cloud, the prediction function computed using the vertical relationship function and the horizontal relationship function; and

program instructions to place the application on the second cloud responsive to the fourth performance data value satisfying a selection condition.

7. The computer usable program product of claim 6 , further comprising:

program instructions to forecast the third performance data value in the time-series of the instance of the simulation on the second cloud using the second function.

8. The computer usable program product of claim 6 , further comprising:

program instructions to configure the simulation such that a computing cost of deploying the simulation in any cloud is less than a computing cost of deploying the application in the any cloud; and

program instructions to further configure the simulation to perform an interaction with the any cloud substantially similarly as an interaction of the application with the any cloud but without performing a function of the application.

9. The computer usable program product of claim 6 , wherein the first cloud is configured according to a cloud configuration model, and a second cloud in the set of clouds is configured according to a second cloud configuration model.

10. The computer usable program product of claim 6 , wherein the first cloud and a second cloud in the set of clouds are each a portion of a third cloud in the set of clouds, and wherein the first cloud and the second cloud are each configured according to a common cloud configuration model.

11. The computer usable program product of claim 6 , wherein the computer usable code is stored in a computer readable storage device in a data processing system, and wherein the computer usable code is transferred over a network from a remote data processing system.

12. The computer usable program product of claim 6 , wherein the computer usable code is stored in a computer readable storage device in a server data processing system, and wherein the computer usable code is downloaded over a network to a remote data processing system for use in a computer readable storage device associated with the remote data processing system.

13. A computer system comprising one or more processors, one or more computer-readable memories, and one or more computer-readable storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, the stored program instructions comprising:

program instructions to deploy an application on a first cloud from a set of clouds in a hybrid cloud environment;

program instructions to deploy an instance of a simulation on each cloud in the set of clouds;

program instructions to compute, using a processor and a memory, a vertical relationship function between a time-series of the application on the first cloud and a time-series of the instance of the simulation on the first cloud, the time-series of the application comprising performance data of the application and the time-series of the instance of the simulation comprising performance data of the instance of the simulation;

program instructions to compute a first function to fit the time-series of the application on the first cloud;

program instructions to forecast, for a future time using the first function, using the processor and the memory, a first performance data value in the time-series of the application on the first cloud;

program instructions to compute a second function to fit the time-series of the instance of the simulation on the first cloud;

program instructions to compute a third function to fit the time-series of the instance of the simulation on the second cloud;

program instructions to forecast, for the future time, the second performance data value in the time-series of the instance of the simulation on the first cloud using the vertical relationship function and the first performance data value;

program instructions to compute a horizontal relationship function between a second performance data value in the time-series of the instance of the simulation on the first cloud and a third performance data value in the time-series of the instance of the simulation on a second cloud;

program instructions to forecast, for the future time, using the processor and the memory, a fourth performance data value in the time-series of a hypothetical deployment of the application on the second cloud without actually deploying the application on the second cloud, wherein the fourth performance data value is output by a prediction function corresponding to the second cloud, the prediction function computed using the vertical relationship function and the horizontal relationship function; and

program instructions to place the application on the second cloud responsive to the fourth performance data value satisfying a selection condition.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2016
From: BAUGHMAN, AARON K.; MCCRORY, NICHOLAS A.; WELCKS, MICHELLE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039438/0772 →
Continuity (1)
Related Publication 20180046476A1 · Feb 15, 2018
Cited By (1)
US 12,541,739