IP Library Granted Patent US 11,558,451
Granted Patent B2
US 11,558,451 · App. 17/234,650 · Granted Jan 17, 2023

Machine learning based application deployment

Inventors: Nicolo′ Sgobba (Bratislava, SK); Erik Rueger (Ockenheim, DE); Nadiya Kochura (Bolton, MA); Michal Paluch (Cracow, PL)
Assignee: International Business Machines Corporation
H04L67/10G06N3/04G06N3/08H04L41/16H04L41/5019H04L41/5096H04L43/08
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,558,451
App. No.
17/234,650
Granted
Jan 17, 2023
Kind
B2
Abstract

Aspects of the present invention disclose a method for deploying an application in a computing environment receiving an application module, determining values of a first set of metadata for the received application module, determining a classification of the received application module based at least in part on the values of the first set of metadata, and determining whether the received application is deployable in at least an off-premise system based at least in part on the classification.

Claims (84)

1. A computer-implemented method for deploying an application in a computing environment, the method comprising:

receiving an application module;

determining values of a first set of metadata for the received application module;

creating a first training set comprising a plurality of first sets of metadata corresponding to a plurality of application modules, wherein each first set of metadata of the plurality of first sets of metadata are labelled as being associated with a class, wherein the class is selected from a group consisting of: deployable in the off-premise system and non-deployable in the off-premise system;

training a first machine-learning model on the first training set;

inputting the determined values of the first set of metadata into the first machine learning model;

determining a classification of the received application module based at least in part on the values of the first set of metadata; and

determining whether the received application is deployable in at least an off-premise system based at least in part on the classification.

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

deploying the received application module based at least in part on the classification.

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

receiving a migration request to migrate the received application module from an on-premise system to the off-premise system.

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

in response to determining that the received application is not deployable in at least the off-premise system based at least in part on the classification, performing an off-premise migration technique in order to process the received application module, wherein the off-premise migration technique comprises refactoring the received application module.

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

updating the first training set based at least in part on the received application module and the classification; and

retraining the first machine learning model based on the updated first training set.

6. The computer-implemented method of claim 1 , wherein the first machine learning model is a neural network having an input layer of nodes for receiving the first set of metadata and an output layer of nodes representing classifications of application modules, wherein at least one node of the output layer represents a non-deployable application classification.

7. The computer-implemented method of claim 1 , wherein metadata of the first set of metadata corresponds to a selection from a group consisting of: response time, latency, error rate, saturation, memory usage, whether the received application module is containerized, whether the received application module is microservices oriented, whether the received application module uses data decoupling, and whether the received application module is operating system independent.

8. A computer system for deploying an application in a computing environment, the

computer system comprising:

one or more computer processors;

one or more computer readable storage devices; and

stored program instructions on the one or more computer readable storage devices for execution by the one or more computer processors, the stored program instructions comprising:

program instructions to receive an application module;

program instructions to determine values of a first set of metadata for the received application module;

in response to determining that the application module is deployable in at least an off-premise system, program instructions to determine values of a second set of metadata for the received application module;

program instructions to create a second training set comprising a plurality of second sets of metadata corresponding to a plurality of application modules, wherein each second set of metadata of the plurality of second sets of metadata is associated with a computing environment type of the off-premise system;

program instructions to train a second machine-learning model on the second training set;

program instructions to input the determined values of the second set of metadata into the second machine learning model;

program instructions to determine a type of computing environment of the off-premise system for deploying the application module based at least in part on the values of the second set of metadata; and

program instructions to deploy the application module based at least in part on the determined type.

9. The computer system according to claim 8 , wherein the type of computing environment is selected from a group consisting of: client server computing environment, private cloud computing environment, public cloud computing environment, hybrid cloud computing environment, and cluster computing environment.

10. A computer-implemented method for deploying an application in a computing environment, the method comprising:

receiving an application module;

determining values of a first set of metadata for the received application module;

in response to determining that the received application module is deployable in at least an off-premise system, determining values of a second set of metadata for the received application module;

creating a second training set comprising a plurality of second sets of metadata corresponding to a plurality of application modules, wherein each second set of metadata of the plurality of second sets of metadata is associated with a computing environment type of the off-premise system;

training a second machine-learning model on the second training set;

inputting the determined values of the second set of metadata into the second machine learning model;

determining a type of computing environment of the off-premise system for deploying the application module based at least in part on the values of the second set of metadata; and

deploying the application module based at least in part on the determined type.

11. The computer-implemented method of claim 10 , wherein the type of computing environment is selected from a group consisting of: client server computing environment, private cloud computing environment, public cloud computing environment, hybrid cloud computing environment, and cluster computing environment.

12. The computer-implemented method of claim 10 , further comprising:

updating the second training set based at least in part on the application module and the computing environment type; and

retraining the second machine learning model based on the updated second training set.

13. The computer-implemented method of claim 10 , further comprising:

wherein the off-premise system is a cloud;

wherein the type of computing environment of the off-premise system is selected from a group consisting of: private cloud, public cloud, and hybrid cloud; and

wherein the second trained machine learning model is configured to determine a class associated with the type of computing environment of the off-premise system for the deployment of the received application module, wherein the class is selected from a group consisting of: private cloud, public cloud, and hybrid cloud.

14. The computer-implemented method of claim 10 , wherein the second trained machine learning model is a neural network having an input layer of nodes for receiving the second set of metadata and an output layer of nodes representing the computing environment type of the off-premise system.

15. A computer program product for deploying an application in a computing environment, the computer program product comprising one or more computer readable storage devices and collectively stored program instructions on the one or more computer readable storage devices, the stored program instructions comprising:

program instructions to receive an application module;

program instructions to determine values of a first set of metadata for the received application module;

program instructions to create a first training set comprising a plurality of first sets of metadata corresponding to a plurality of application modules, wherein each first set of metadata of the plurality of first sets of metadata are labelled as being associated with a class, wherein the class is selected from a group consisting of: deployable in the off-premise system and nondeployable in the off-premise system;

program instructions to train a first machine-learning model on the first training set;

program instructions to input the determined values of the first set of metadata into the first machine learning model;

program instructions to determine a classification of the received application module based at least in part on the values of the first set of metadata; and

program instructions to determine whether the received application is deployable in at least an off-premise system based at least in part on the classification.

16. The computer program product according to claim 15 , the stored program instructions further comprising:

program instructions to deploy the received application module based at least in part on the classification.

17. A computer program product for deploying an application in a computing environment, the computer program product comprising one or more computer readable storage devices and collectively stored program instructions on the one or more computer readable storage devices, the stored program instructions comprising:

program instructions to receive an application module;

program instructions to determine values of a first set of metadata for the received application module;

in response to determining that the application module is deployable in at least an off-premise system, program instructions to determine values of a second set of metadata for the received application module;

program instructions to create a second training set comprising a plurality of second sets of metadata corresponding to a plurality of application modules, wherein each second set of metadata of the plurality of second sets of metadata is associated with a computing environment type of the off-premise system;

program instructions to train a second machine-learning model on the second training set;

program instructions to input the determined values of the second set of metadata into the second machine learning model;

program instructions to determine a type of computing environment of the off-premise system for deploying the application module based at least in part on the values of the second set of metadata; and

program instructions to deploy the application module based at least in part on the determined type.

18. A computer system for deploying an application in a computing environment, the computer system comprising:

one or more computer processors;

one or more computer readable storage devices; and

stored program instructions on the one or more computer readable storage devices for

execution by the one or more computer processors, the stored program instructions comprising:

program instructions to receive an application module;

program instructions to determine values of a first set of metadata for the received application module;

program instructions to create a first training set comprising a plurality of first sets of metadata corresponding to a plurality of application modules, wherein each first set of metadata of the plurality of first sets of metadata are labelled as being associated with a class, wherein the class is selected from a group consisting of: deployable in the off-premise system and nondeployable in the off-premise system;

program instructions to train a first machine-learning model on the first training set;

program instructions to input the determined values of the first set of metadata into the first machine learning model;

program instructions to determine a classification of the received application module based at least in part on the values of the first set of metadata; and

program instructions to determine whether the received application is deployable in at least an off-premise system based at least in part on the classification.

19. The computer system according to claim 18 , the stored program instructions further comprising:

program instructions to deploy the received application module based at least in part on the classification.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2021
From: SGOBBA, NICOLO'; RUEGER, ERIK; KOCHURA, NADIYA; PALUCH, MICHAL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 055964/0001 →
Continuity (1)
Related Publication 20220345518A1 · Oct 27, 2022
Cited By (4)
US 12,368,503 US 12,587,274 US 12,603,701 US 12,627,372