# US 12,192,067 B2 · Cloud architecture interpretation and recommendation engine for multi-cloud implementation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,192,067 B2
- Document ID: US12192067B2
- Status: Granted
- Kind: B2
- Application number: 17/506,095
- Filed: 2021-10-20
- Published: 2023-04-20
- Granted: 2025-01-07
- Earliest claimed: 2021-10-20
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Nader M. Nassar; Chris Dotson; Annuschka Bork; Todd D. Deloach; Samuel S. Grummons
- Web page: https://patentgrep.com/patent/US12192067B2

## CPC

- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 41/5096: {wherein the managed service relates to distributed or central networked applications}
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F 8/60: Software deployment
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 4)

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.

### Claim 6 (depends on 5)

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.

### Claim 7 (depends on 1)

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.

### Claim 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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 8)

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.

### Claim 11 (depends on 10)

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.

### Claim 12 (depends on 11)

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.

### Claim 13 (depends on 8)

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.

### Claim 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.

### Claim 15 (depends on 14)

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.

### Claim 16 (depends on 14)

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.

### Claim 17 (depends on 16)

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.

### Claim 18 (depends on 17)

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.
