IP Library Granted Patent US 11,068,313
Granted Patent B2
US 11,068,313 · App. 16/269,659 · Granted Jul 20, 2021

Cloud brokerage application decomposition and migration

Inventors: Pedro Fontanari Filho (Sao Paulo, BR); Sergio Varga (Campinas, BR); Ronaldo Pires (Americana, BR); Thiago Rodrigues de Souza Costa (Belem, BR)
Assignee: International Business Machines Corporation
G06F9/5066G06F9/45558G06F16/901G06F30/20G06F2009/4557G06F2009/45591
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,068,313
App. No.
16/269,659
Filed
Feb 7, 2019
Granted
Jul 20, 2021
Kind
B2
Art Unit
2195
USPC
718/102
Abstract

Decomposing and migrating applications by receiving a candidate application, identifying components of the candidate application, analyzing the granularity of components, decomposing a component into sub-components; identifying cloud service provider offerings, mapping the cloud service provider offerings to a technology mapping database, collecting performance information on the cloud service provider offerings, estimating performance associated with deploying sub-components across cloud service provider offerings; and ranking the performance of different deployment scenarios.

Claims (56)

1. A computer implemented method for cloud brokerage application decomposition and migration, the method comprising:

receiving, by one or more computer processors, a candidate application;

identifying, by the one or more computer processors, components of the candidate application;

identifying, by the one or more computer processors, cloud service provider offerings;

mapping, by the one or more computer processors, the cloud service provider offerings to technology categories of a technology offering database;

analyzing, by the one or more computer processors, component granularity of one or more components according to the technology categories of the technology offering database;

decomposing, by the one or more computer processors, a component into sub-components according to the component granularity;

collecting, by the one or more computer processors, performance information on the cloud service provider offerings;

generating, by the one or more computer processors, a plurality of simulated performance scenarios associated with deploying sub-components across the cloud service provider offerings;

calculating, by the one or more computer processors, a score associated with a degree of matching between service provider offerings and sub-component needs;

estimating, by the one or more computer processors, a cost associated with each simulated performance scenario of the plurality of simulated performance scenarios;

ranking, by the one or more computer processors, the plurality of performance scenarios according to the performance information, the score, and the cost, yielding a ranked set of performance scenarios; and

deploying, by the one or more computer processors, sub-components according to an automated decision tree and the ranked set of performance scenarios, wherein the automated decision tree is based on a user's specified thresholds and precedence selections.

2. The computer implemented method according to claim 1 , wherein identifying components of the candidate application is based, at least in part, upon information associated with candidate application virtual machine usage.

3. The computer implemented method according to claim 1 , wherein identifying cloud service provider offerings comprises identifying, by one or more computer processors, information selected from the group consisting of: changes in current available services, costs and changes in costs, availability of cloud service provider(s), and combinations thereof.

4. The computer implemented method according to claim 1 , wherein analyzing component granularity is based, at least in part, upon information selected from the group consisting of: application transactions, database interactions, service functions, containers, storage aspects, and combinations thereof.

5. The computer implemented method according to claim 1 , wherein decomposing a component into sub-components according to component granularity is based, at least in part, upon information in the technology offering database.

6. The computer implemented method according to claim 1 , wherein generating a plurality of simulated performance scenarios associated with deploying sub-components across cloud service provider offerings is based, at least in part, upon cloud service provider information and cloud service provider user feedback.

7. A computer program product for application decomposition and migration, the computer program product comprising one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:

programmed instructions for receiving a candidate application;

programmed instructions for identifying components of the candidate application;

programmed instructions for identifying cloud service provider offerings;

programmed instructions for mapping the cloud service provider offerings to a technology offering database;

programmed instructions for analyzing component granularity according to the technology categories of the technology offering database;

programmed instructions for decomposing a component into sub-components according to component granularity;

programmed instructions for collecting performance information on the cloud service provider offerings;

programmed instructions for generating a plurality of simulated performance scenarios associated with deploying sub-components across the cloud service provider offerings;

program instructions for calculating a score associated with the degree of matching between service provider offerings and sub-component needs;

program instructions for estimating a cost associated with each simulated performance scenario of the plurality of simulated performance scenarios;

programmed instructions for ranking the plurality of simulated performance scenarios according to the performance information, the score, and the cost, yielding a ranked set of performance scenarios; and

deploying sub-components according to an automated decision tree and the ranked set of performance scenarios, wherein the automated decision tree is based on a user's specified thresholds and precedence selections.

8. The computer program product according to claim 7 , wherein identifying components of the candidate application is based, at least in part, upon candidate application virtual machine usage.

9. The computer program product according to claim 7 , wherein identifying cloud service provider offerings comprises identifying information selected from the group consisting of: changes in current available services, costs and changes in costs, availability of cloud service provider(s), and combinations thereof.

10. The computer program product according to claim 7 , wherein analyzing component granularity is based, at least in part, upon information selected from the group consisting of: application transactions, database interactions, service functions, containers, storage aspects, and combinations thereof.

11. The computer program product according to claim 7 , wherein decomposing a component into sub-components according to component granularity is based, at last in part, upon information in the technology offering database.

12. The computer program product according to claim 7 , wherein generating a plurality of simulated performance scenarios associated with deploying sub-components across cloud service is based, at least in part, upon cloud service provider information and cloud service provider user feedback.

13. A computer system for application decomposition and migration, the computer system comprising:

one or more computer processors;

one or more computer readable storage devices;

program instructions stored on the one or more computer readable storage devices for execution by the at least one computer processor, the program instructions comprising: programmed instructions for receiving a candidate application;

programmed instructions for receiving a candidate application;

programmed instructions for identifying components of the candidate application;

programmed instructions for identifying cloud service provider offerings;

programmed instructions for mapping the cloud service provider offerings to a technology offering database;

programmed instructions for analyzing component granularity according to the technology categories of the technology offering database;

programmed instructions for decomposing a component into sub-components according to component granularity;

programmed instructions for collecting performance information on the cloud service provider offerings;

programmed instructions for generating a plurality of simulated performance scenarios associated with deploying sub-components across the cloud service provider offerings;

program instructions for calculating a score associated with the degree of matching between service provider offerings and sub-component needs;

program instructions for estimating a cost associated with each simulated performance scenario of the plurality of simulated performance scenarios;

programmed instructions for ranking the plurality of simulated performance scenarios according to the performance information, the score, and the cost, yielding a ranked set of performance scenarios; and

deploying sub-components according to an automated decision tree and the ranked set of performance scenarios, wherein the automated decision tree is based on a user's specified thresholds and precedence selections.

14. The computer system according to claim 13 , wherein identifying components of the candidate application is based, at least in part, upon information associated with candidate application virtual machine usage.

15. The computer system according to claim 13 , wherein identifying cloud service provider offerings is based, at least in part, upon information selected from the group consisting of: changes in current available services, changes in costs, availability of cloud service provider(s), and combinations thereof.

16. The computer system according to claim 13 , wherein analyzing component granularity is based, at least in part, upon information selected from the group consisting of: application transactions, database interactions, service functions, containers, storage aspects, and combinations thereof.

17. The computer system according to claim 13 , wherein decomposing a component into sub-components according to component granularity is based, at least in part, upon information in the technology offering database.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2019
From: FONTANARI FILHO, PEDRO; VARGA, SERGIO; PIRES, RONALDO; COSTA, THIAGO RODRIGUES DE SOUZA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048263/0215 →
Continuity (1)
Related Publication 20200257567A1 · Aug 13, 2020
Cited By (1)
US 12,666,415