IP Library › Granted Patent US 12,271,284
Granted Patent B2
US 12,271,284 · App. 18/520,692 · Granted Apr 8, 2025

Unification of disparate cloud resources using machine learning

Inventors: Leonid Kuperman (Toronto, CA); Laurent Gil (Miami, FL)
Assignee: CAST AI Group, Inc.
G06F11/3428G06F11/3006G06F11/3075G06F11/328G06N20/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,271,284
App. No.
18/520,692
Granted
Apr 8, 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 (53)

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:

receive a request from a user to rank cloud service provider (CSP) shapes from different CSPs based on a user-input parameter;

responsive to receiving the request, re-rank from a default ranking the CSP shapes based on the user-input parameter, wherein the CSP shapes are grouped by:

inputting performance benchmark data for each cloud service provider (CSP) shape running on a plurality of CSPs into a model, the plurality of CSPs including two or more distinct CSPs; and

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

provide for display to a user a recommended CSP shape based on the output from the model and based on the user-input parameter, the recommended CSP shape implemented using one of the two or more distinct CSPs.

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 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 the instructions when executed further cause the at least one processor to:

launch a respective testing instance on each respective cloud service provider (CSP) of the plurality of CSPs; and

generate at least a portion of the performance benchmark data using the respective testing instances.

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 to the user 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 instructions to provide for display the recommended CSP shape further comprises instructions that when executed causes the at least one processor to provide for display a ranked list of CSP shapes corresponding to the given parameter, the recommended CSP shape being at a top of the ranked list.

8. A method comprising:

receiving a request from a user to rank cloud service provider (CSP) shapes from different CSPs based on a user-input parameter;

responsive to receiving the request, re-ranking from a default ranking the CSP shapes based on the user-input parameter, wherein the CSP shapes are grouped by:

inputting performance benchmark data for each cloud service provider (CSP) shape running on a plurality of CSPs into a model, the plurality of CSPs including two or more distinct CSPs; and

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

providing for display to a user a recommended CSP shape based on the output from the model and based on the user-input parameter, the recommended CSP shape implemented using one of the two or more distinct CSPs.

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 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 , the method further comprising:

launching a respective testing instance on each respective cloud service provider (CSP) of the plurality of CSPs; and

generating at least a portion of the performance benchmark data using the respective testing instances.

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 providing for display the recommended CSP shape further comprises providing for display a ranked list of CSP shapes corresponding to the given parameter, the recommended CSP shape being at a top of the ranked list.

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:

receiving a request from a user to rank cloud service provider (CSP) shapes from different CSPs based on a user-input parameter;

responsive to receiving the request, re-ranking from a default ranking the CSP shapes based on the user-input parameter, wherein the CSP shapes are grouped by:

inputting performance benchmark data for each cloud service provider (CSP) shape running on a plurality of CSPs into a model, the plurality of CSPs including two or more distinct CSPs; and

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

providing for display to a user a recommended CSP shape based on the output from the model and based on the user-input parameter, the recommended CSP shape implemented using one of the two or more distinct CSPs.

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 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 , the operations further comprising:

launching a respective testing instance on each respective cloud service provider (CSP) of the plurality of CSPs; and

generating at least a portion of the performance benchmark data using the respective testing instances.

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 (3)
Continuation 17321856 · May 17, 2021
Provisional Application 63029104 · May 22, 2020
Related Publication 20240134770A1 · Apr 25, 2024
References Cited (11)
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]
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]