IP Library Granted Patent US 12,192,067
Granted Patent B2
US 12,192,067 · App. 17/506,095 · Granted Jan 7, 2025

Cloud architecture interpretation and recommendation engine for multi-cloud implementation

Inventors: Nader M. Nassar (Yorktown Heights, NY); Chris Dotson (Lexington, KY); Annuschka Bork (New York City, NY); Todd D. Deloach (Bethel, CT); Samuel S. Grummons (Newtown, CT)
Assignee: International Business Machines Corporation
H04L41/22G06F3/0482H04L67/10G06F8/60
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,192,067
App. No.
17/506,095
Granted
Jan 7, 2025
Kind
B2
Abstract

Examples described herein provide a computer-implemented method that includes receiving source code to implement on the cloud infrastructure. The method includes receiving user-defined requirements. The method further includes determining, based on the source code and the user-defined requirements, multiple suitable cloud architectures from a plurality of cloud providers to operate the source code on the cloud infrastructure. The method further includes presenting, to a user, the multiple suitable cloud architectures. The method further includes implementing a selected cloud architecture for the cloud infrastructure based on a selection by the user.

Claims (66)

1. A computer-implemented method of creating a cloud infrastructure comprising:

receiving declarative code and source code for implementation on the cloud infrastructure, wherein the source code is part of a code base;

receiving user-defined requirements;

generating a list of instantiations by reading the source code and the declarative code;

selecting an instantiation from the list of instantiations;

collecting instantiation information relating to at least one of billing, accounts, environment variables and specifications of the instantiation;

retrieving cloud provider capabilities for a plurality of cloud providers, wherein the cloud provider capabilities include one or more of available processing resources, available memory resources, available data storage resources, available bandwidth resources, geographical location information of resources and service costs;

comparing the code base, the declarative code, the instantiation information and the user-defined requirements with the cloud provider capabilities to determine multiple suitable cloud architectures from the plurality of cloud providers to operate the source code on the cloud infrastructure;

modeling different combinations of component implementation options based on the user-defined requirements and a user-defined rating preference, wherein the user-defined rating preference is weighted based on importance to the user;

prior to presenting the multiple suitable cloud architectures, ranking the multiple suitable cloud architectures as a ranked list of the multiple suitable cloud architectures;

presenting, to a user, the multiple suitable cloud architectures, wherein presenting the multiple suitable cloud architectures comprises presenting the ranked list of the multiple suitable cloud architectures;

implementing a selected cloud architecture for the cloud infrastructure based on a selection by the user; and

deploying the instantiation on the selected cloud architecture.

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

prior to presenting the multiple suitable cloud architectures, ranking the multiple suitable cloud architectures as a ranked list, wherein presenting the multiple suitable cloud architectures comprises presenting the ranked list.

3. The computer-implemented method of claim 1 , wherein the ranking is based at least in part on the user-defined rating preference, wherein the user-defined rating preference includes at least one of a cost, an availability, a performance, a location, and/or a global coverage is of greater importance based on the user-defined requirements.

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

monitoring the user-defined requirements and the plurality of cloud providers to detect a change to at least one of the user-defined requirements or the plurality of cloud providers.

5. The computer-implemented method of claim 4 , further comprising:

responsive to detecting a change to the at least one of the user-defined requirements or the plurality of cloud providers, presenting an updated multiple suitable cloud architectures for selection by the user.

6. The computer-implemented method of claim 5 , further comprising:

responsive to receiving a new selection from the user selecting from the updated multiple suitable cloud, implementing an updated selected cloud architecture for the cloud infrastructure based on the new selection by the user.

7. The computer-implemented method of claim 1 , wherein the user-defined requirements are selected from the group consisting of a cost requirement, a location requirement, a performance requirement, a diversity requirement, and an availability requirement.

8. A system comprising:

a memory comprising computer readable instructions; and

a processing device for executing the computer readable instructions, the computer readable instructions controlling the processing device to perform operations for creating a cloud infrastructure comprising:

receiving declarative code and source code for implementation on the cloud infrastructure, wherein the source code is part of a code base;

receiving user-defined requirements;

generating a list of instantiations by reading the source code and the declarative code;

selecting an instantiation from the list of instantiations;

collecting instantiation information relating to at least one of billing, accounts, environment variables and specifications of the instantiation;

retrieving cloud provider capabilities for a plurality of cloud providers, wherein the cloud provider capabilities include one or more of available processing resources, available memory resources, available data storage resources, available bandwidth resources, geographical location information of resources and service costs;

identifying, based on the code base, the declarative code, the instantiation information, the user-defined requirements and cloud provider capabilities, multiple suitable cloud architectures from the plurality of cloud providers to operate the source code and the declarative code on the cloud infrastructure;

modeling different combinations of component implementation options based on the user-defined requirements and a user-defined rating preference, wherein the user-defined rating preference is weighted based on importance to the user;

prior to presenting the multiple suitable cloud architectures, ranking the multiple suitable cloud architectures as a ranked list of the multiple suitable cloud architectures;

presenting, to a user, the multiple suitable cloud architectures, wherein presenting the multiple suitable cloud architectures comprises presenting the ranked list of the multiple suitable cloud architectures;

implementing a selected cloud architecture for the cloud infrastructure based on a selection by the user; and

deploying the instantiation on the selected cloud architecture.

9. The system of claim 8 , wherein the ranking is based at least in part on the user-defined rating preference, wherein the user-defined rating preference includes at least one of a cost, an availability, a performance, a location, and/or a global coverage is of greater importance based on the user-defined requirements.

10. The system of claim 8 , the processing device to perform operations further comprising:

monitoring the user-defined requirements and the plurality of cloud providers to detect a change to at least one of the user-defined requirements or the plurality of cloud providers.

11. The system of claim 10 , the processing device to perform operations further comprising:

responsive to detecting a change to the at least one of the user-defined requirements or the plurality of cloud providers, presenting an updated multiple suitable cloud architectures for selection by the user.

12. The system of claim 11 , the processing device to perform operations further comprising:

responsive to receiving a new selection from the user selecting from the updated multiple suitable cloud, implementing an updated selected cloud architecture for the cloud infrastructure based on the new selection by the user.

13. The system of claim 8 , wherein the user-defined requirements are selected from the group consisting of a cost requirement, a location requirement, a performance requirement, a diversity requirement, and an availability requirement.

14. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processing device to cause the processing device to perform operations creating a cloud infrastructure comprising:

receiving declarative code and source code for implementation on the cloud infrastructure, wherein the source code is part of a code base;

receiving user-defined requirements;

generating a list of instantiations by reading the source code and the declarative code;

selecting an instantiation from the list of instantiations;

collecting instantiation information relating to at least one of billing, accounts, environment variables and specifications of the instantiation;

retrieving cloud provider capabilities for a plurality of cloud providers, wherein the cloud provider capabilities include one or more of available processing resources, available memory resources, available data storage resources, available bandwidth resources, geographical location information of resources and service costs;

identifying, based on the code base, the declarative code, the instantiation information, the user-defined requirements and cloud provider capabilities, multiple suitable cloud architectures from the plurality of cloud providers to operate the source code and the declarative code on the cloud infrastructure;

modeling different combinations of component implementation options based on the user-defined requirements and a user-defined rating preference, wherein the user-defined rating preference is weighted based on importance to the user;

prior to presenting the multiple suitable cloud architectures, ranking the multiple suitable cloud architectures as a ranked list of the multiple suitable cloud architectures;

presenting, to a user, the multiple suitable cloud architectures, wherein presenting the multiple suitable cloud architectures comprises presenting the ranked list of the multiple suitable cloud architectures;

implementing a selected cloud architecture for the cloud infrastructure based on a selection by the user; and

deploying the instantiation on the selected cloud architecture.

15. The computer program product of claim 14 , wherein the ranking is based at least in part on the user-defined rating preference, wherein the user-defined rating preference includes at least one of a cost, an availability, a performance, a location, and/or a global coverage is of greater importance based on the user-defined requirements.

16. The computer program product of claim 14 , the processing device to perform operations further comprising:

monitoring the user-defined requirements and the plurality of cloud providers to detect a change to at least one of the user-defined requirements or the plurality of cloud providers.

17. The computer program product of claim 16 , the processing device to perform operations further comprising:

responsive to detecting a change to the at least one of the user-defined requirements or the plurality of cloud providers, presenting an updated multiple suitable cloud architectures for selection by the user.

18. The computer program product of claim 17 , the processing device to perform operations further comprising:

responsive to receiving a new selection from the user selecting from the updated multiple suitable cloud, implementing an updated selected cloud architecture for the cloud infrastructure based on the new selection by the user.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2021
From: NASSAR, NADER M.; DOTSON, CHRIS; BORK, ANNUSCHKA; DELOACH, TODD D.; GRUMMONS, SAMUEL S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057849/0646 →
Continuity (1)
Related Publication 20230120379A1 · Apr 20, 2023
References Cited (9)
US 10089082B2 · Douglas · 2018 [cited by examiner]
US 10693805B2 · Povolny · 2020 [cited by examiner]
US 10884732B1 · Zolotow et al. · 2021 [cited by applicant]
US 10956242B1 · Kumar · 2021 [cited by examiner]
US 10970135B2 · Luck et al. · 2021 [cited by applicant]
Artac et al.; “Infrastructure-as-Code for Data-Intensive Architectures: A Model-Driven Development Approach”; 2018 IEEE International Conference on Software Architecture; 2018; pp. 156-165. [cited by applicant]
Bhattacharhee; MDE-based Automated Provisioning and Management of Cloud Applications; 4 Pages. [cited by applicant]
Bhattacharjee et al.; “CloudCAMP: Automating Cloud Services Deployment & Management”; Retrieved Online from arXiv:1904.02184v2 [cs.SE]; Apr. 9, 2019; 12 Pages. [cited by applicant]
Nitto et al.; “An Approach to Support Automated Deployment of Applications on Heterogeneous Cloud-HPC Infrastructures”; 2020 22nd International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNA… [cited by applicant]
Cited By (1)
US 12,717,608