IP Library Granted Patent US 11,210,133
Granted Patent B1
US 11,210,133 · App. 16/174,488 · Granted Dec 28, 2021

Workload mobility between disparate execution environments

Inventors: Robert Barker, Jr. (Cupertino, CA); Farhan Abrol (San Francisco, CA)
Assignee: Pure Storage, Inc.
G06F9/4862G06F9/45558G06F9/5088G06F2009/4557G06F2009/45595
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,210,133
App. No.
16/174,488
Filed
Oct 30, 2018
Granted
Dec 28, 2021
Kind
B1
Art Unit
2199
USPC
718/1
Abstract

Providing workload mobility between disparate execution environments, including: identifying, by a workload migration module, a workload executing in a first environment, wherein the workload includes a software application that is being executed and data that is accessed by the software application; identifying, by a workload migration module, a second environment for servicing the workload; and deploying, by a workload migration module, the workload in the second environment.

Claims (30)

1. A method comprising:

predicting, based on available resources on each of a plurality of environments and further based on a load model for each of the plurality of environments, a performance load on each of the plurality of environments that would result from migrating each of a plurality of workloads from a first environment to another of the plurality of environments, wherein the load model comprises a machine learning model trained to identify correlations between an amount of performance load placed on a particular environment given characteristics of workloads executing on the particular environment at the same point in time;

identifying, by a workload migration module, a workload executing in the first environment of a plurality of environments, wherein the workload includes a software application that is being executed and data that is accessed by the software application;

determining a preferred environment for each of the plurality of workloads by determining a placement of each of the plurality of workloads that results in a best fit the plurality of workloads, and

deploying, by the workload migration module, each of the plurality of workloads in the corresponding preferred environment.

2. The method of claim 1 wherein: deploying each of the plurality of workloads includes, wherein the software application is being executed in a first type of execution environment, executing the software application in a second type of execution environment, wherein the first type of execution environment is different than the second type of execution environment.

3. The method of claim 1 wherein deploying each of the plurality of workloads includes migrating the data that is accessed by the software application from a first storage environment to a second storage environment.

4. The method of claim 1 wherein the workload migration module resides in a cloud environment.

5. The method of claim 1 wherein the workload migration module resides in an on-premises environment.

6. The method of claim 1 , further comprising predicting characteristics of each of the plurality of workloads using a time series analysis of each of the plurality of workloads, wherein predicting the performance load on each of the plurality of environments is dependent on the predicted characteristics of each of the plurality of workloads.

7. The method of claim 6 , wherein determining a best fit the plurality of workloads comprises determining a placement of each of the plurality of workloads that results in the longest period of time until the predicted performance load on an environment of the plurality of environments exceeds a capacity of the environment.

8. The method of claim 1 , wherein the load model predicts performance load on each of the plurality of environments based on characteristics of workloads executing on each of the plurality of environments.

9. A computer program product comprising a non-transitory computer readable medium having computer program instructions embodied therewith that, when executed, cause a computer to perform:

predicting, based on available resources on each of a plurality of environments and further based on a load model for each of the plurality of environments, a performance load on each of the plurality of environments that would result from migrating each of a plurality of workloads from a first environment to another of the plurality of environments, wherein the load model comprises a machine learning model trained to identify correlations between an amount of performance load placed on a particular environment given characteristics of workloads executing on the particular environment at the same point in time

identifying, by a workload migration module, a workload executing in the first environment of a plurality of environments, wherein the workload includes a software application that is being executed and data that is accessed by the software application;

determining a preferred environment for each of the plurality of workloads by determining a placement of each of the plurality of workloads that results in a best fit the plurality of workloads; and

deploying, by the workload migration module, each of the plurality of workloads in the corresponding preferred environment.

10. The computer program product of claim 9 wherein deploying each of the plurality of workloads includes, wherein the software application is being executed in a first type of execution environment, executing the software application in a second type of execution environment, wherein the first type of execution environment is different than the second type of execution environment.

11. The computer program product of claim 9 wherein deploying each of the plurality of workloads includes migrating the data that is accessed by the software application from a first storage environment to a second storage environment.

12. The computer program product of claim 9 , wherein the computer is further caused to perform predicting characteristics of each of the plurality of workloads using a time series analysis of each of the plurality of workloads, and wherein predicting the performance load on each of the plurality of environments is dependent on the predicted characteristics of each of the plurality of workloads.

13. The computer program product of claim 9 , wherein the load model predicts performance load on each of the plurality of environments based on characteristics of workloads executing on each of the plurality of environments.

14. A storage system including a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the storage system to perform:

predicting, based on available resources on each of a plurality of environments and further based on a load model for each of the plurality of environments, a performance load on each of the plurality of environments that would result from migrating each of a plurality of workloads from a first environment to another of the plurality of environments, wherein the load model comprises a machine learning model trained to identify correlations between an amount of performance load placed on a particular environment given characteristics of workloads executing on the particular environment at the same point in time;

identifying, by a workload migration module, a workload executing in the first environment of a plurality of environments, wherein the workload includes a software application that is being executed and data that is accessed by the software application;

determining a preferred environment for each of the plurality of workloads by determining a placement of each of the plurality of workloads that results in a best fit the plurality of workloads; and

deploying, by the workload migration module, each of the plurality of workloads in the corresponding preferred environment.

15. The storage system of claim 14 wherein deploying each of the plurality of workloads includes, wherein the software application is being executed in a first type of execution environment, executing the software application in a second type of execution environment, wherein the first type of execution environment is different than the second type of execution environment.

16. The storage system of claim 14 wherein deploying each of the plurality of workloads includes migrating the data that is accessed by the software application from a first storage environment to a second storage environment.

17. The storage system of claim 14 , wherein the storage system is further caused to perform predicting characteristics of each of the plurality of workloads using a time series analysis of each of the plurality of workloads, and wherein predicting the performance load on each of the plurality of environments is dependent on the predicted characteristics of each of the plurality of workloads.

18. The storage system of claim 14 , wherein the load model predicts performance load on each of the plurality of environments based on characteristics of workloads executing on each of the plurality of environments.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2018
From: BARKER, ROBERT, JR.; ABROL, FARHAN
To: PURE STORAGE, INC.
Reel/Frame 047353/0792 →
Cited By (6)
US 12,224,906 US 12,229,405 US 12,229,588 US 12,432,286 US 12,517,499 US 12,669,965