IP Library Granted Patent US 12,253,927
Granted Patent B2
US 12,253,927 · App. 18/416,682 · Granted Mar 18, 2025

Unification of disparate cloud resources using machine learning

Inventors: Leonid Kuperman (Toronto, CA); Laurent Gil (Miami, FL)
Assignee: CAST AI Group, Inc.
G06F11/3075G06F11/3006G06F11/328G06F11/3428G06N20/00
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 12,253,927
App. No.
18/416,682
Granted
Mar 18, 2025
Kind
B2
Abstract

A device launches a respective instance on each respective cloud service provider (CSP) of a plurality of CSPs. The device receives, from each respective instance, performance benchmark data for each CSP shape of the respective CSP on which the respective instance is launched. The device inputs the performance benchmark data from each respective instance into a model and receives, as output from the model, a determination of, for each CSP shape, group of a plurality of groups to which the CSP shape belongs. The device ranks each group based on a parameter, and provides for display to a user a recommended CSP shape based on the ranking.

Claims (55)

1. A non-transitory computer-readable medium comprising instructions encoded thereon that, when executed by at least one processor, cause the at least one processor to:

launch a plurality of instances on a cloud service provider (CSP);

receive, from each respective instance, performance benchmark data for a corresponding CSP shape of the CSP, wherein, for a given performance attribute, receiving its respective performance benchmark data comprises:

determining that an additional testing instance is required; and

using the respective instance and the additional testing instance to determine the respective performance benchmark data for the given performance attribute;

input the performance benchmark data from each respective instance into a model;

receive, as output from the model, a determination of, for each CSP shape, a group of a plurality of groups to which the CSP shape belongs; and

rank each group based on a parameter, wherein a CSP shape is selected for a task based on the ranking.

2. The non-transitory computer-readable medium of claim 1 , wherein the model is an unsupervised machine learning model or a statistical model.

3. The non-transitory computer-readable medium of claim 1 , wherein the performance benchmark data is normalized prior to being input into the model.

4. The non-transitory computer-readable medium of claim 1 , wherein instructions to input the performance benchmark data from each respective instance into the model comprise instructions to:

reduce the performance benchmark data into a reduced data set having fewer dimensions than the performance benchmark data; and

input the reduced data set into the model.

5. The non-transitory computer-readable medium of claim 4 , wherein instructions to reduce the performance benchmark data into a reduced data set comprise instructions to perform a principal component analysis on the performance benchmark data.

6. The non-transitory computer-readable medium of claim 1 , wherein each respective instance is launched on a different CSP shape of the CSP.

7. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, further cause the at least one processor to:

generate for display a plurality of selectable options, each selectable option corresponding to a parameter; and

receive a selection of a selectable option corresponding to a given parameter, wherein a CSP shape is recommended based on the selectable option and based on the ranking.

8. A method comprising:

launching a plurality of instances on a cloud service provider (CSP);

receive, from each respective instance, performance benchmark data for a corresponding CSP shape of the CSP, wherein, for a given performance attribute, receiving its respective performance benchmark data comprises:

determining that an additional testing instance is required; and

using the respective instance and the additional testing instance to determine the respective performance benchmark data for the given performance attribute;

inputting the performance benchmark data from each respective instance into a model;

receiving, as output from the model, a determination of, for each CSP shape, a group of a plurality of groups to which the CSP shape belongs;

ranking each group based on a parameter; and

providing for display to a user a recommended CSP shape.

9. The method of claim 8 , wherein the model is an unsupervised machine learning model or a statistical model.

10. The method of claim 8 , wherein the performance benchmark data is normalized prior to being input into the model.

11. The method of claim 8 , wherein inputting the performance benchmark data from each respective instance into the model comprises:

reducing the performance benchmark data into a reduced data set having fewer dimensions than the performance benchmark data; and

inputting the reduced data set into the model.

12. The method of claim 11 , wherein reducing the performance benchmark data into a reduced data set comprises performing a principal component analysis on the performance benchmark data.

13. The method of claim 8 , wherein each respective instance is launched on a different CSP shape of the CSP.

14. The method of claim 8 , further comprising:

generating for display to the user a plurality of selectable options, each selectable option corresponding to a parameter; and

receiving a selection of a selectable option corresponding to a given parameter, wherein a CSP shape is recommended based on the selectable option and based on the ranking.

15. A system comprising:

memory with instructions encoded thereon; and

one or more processors that, when executing the instructions, are caused to perform operations comprising:

launching a plurality of instances on a cloud service provider (CSP);

receive, from each respective instance, performance benchmark data for a corresponding CSP shape of the CSP, wherein, for a given performance attribute, receiving its respective performance benchmark data comprises:

determining that an additional testing instance is required; and

using the respective instance and the additional testing instance to determine the respective performance benchmark data for the given performance attribute;

inputting the performance benchmark data from each respective instance into a model;

receiving, as output from the model, a determination of, for each CSP shape, a group of a plurality of groups to which the CSP shape belongs;

ranking each group based on a parameter; and

providing for display to a user a recommended CSP shape.

16. The system of claim 15 , wherein the model is an unsupervised machine learning model or a statistical model.

17. The system of claim 15 , wherein the performance benchmark data is normalized prior to being input into the model.

18. The system of claim 15 , wherein inputting the performance benchmark data from each respective instance into the model comprises:

reducing the performance benchmark data into a reduced data set having fewer dimensions than the performance benchmark data; and

inputting the reduced data set into the model.

19. The system of claim 18 , wherein reducing the performance benchmark data into a reduced data set comprises performing a principal component analysis on the performance benchmark data.

20. The system of claim 15 , wherein each respective instance is launched on a different CSP shape of the CSP.

Assignments (2)
SECURITY INTEREST Recorded Sep 26, 2025
From: CAST AI GROUP, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 072393/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2024
From: KUPERMAN, LEONID; GIL, LAURENT
To: CAST AI GROUP, INC.
Reel/Frame 066587/0734 →
Continuity (4)
Continuation 18520692 · Nov 28, 2023
Continuation 17321856 · May 17, 2021
Provisional Application 63029104 · May 22, 2020
Related Publication 20250028615A1 · Jan 23, 2025
References Cited (12)
US 11868227B2 · Kuperman · 2024 [cited by examiner]
US 20150341229A1 · Richter et al. · 2015 [cited by applicant]
US 20170261949A1 · Hoffmann et al. · 2017 [cited by applicant]
US 20180137027A1 · Breitgand et al. · 2018 [cited by applicant]
US 20190149424A1 · O'Neill et al. · 2019 [cited by applicant]
US 20210150411A1 · Coenders et al. · 2021 [cited by applicant]
US 20240134770A1 · Kuperman · 2024 [cited by examiner]
International Search Report and Written Opinion, Patent Cooperation Treaty Application No. PCT/US2021/033121, Aug. 16, 2021, 18 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/321,856, dated May 17, 2023, 18 pages. [cited by applicant]
Alipourfard, O. et al., “CherryPick: Adaptively Unearthing the Best Cloud Configurations for Big Data Analytics,” Proceedings of the 14th USENIX Symposium on Networked Systems Design and Implementation (NSDI '17), Mar. … [cited by applicant]
European Patent Office, Extended European Search Report and Opinion, EP Patent Application No. 21809504.0, May 31, 2024, ten pages. [cited by applicant]
Yadwadkar, N.J. et al., “Selecting the Best VM across Multiple Public Clouds: A Data-Driven Performance Modeling Approach,” Proceedings of SoCC, Sep. 2017, pp. 452-465. [cited by applicant]