Cognitive method to split monolithic architecture into microservice architecture

US11860980B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11860980-B2
Application numberUS-202217647075-A
CountryUS
Kind codeB2
Filing dateJan 5, 2022
Priority dateJan 5, 2022
Publication dateJan 2, 2024
Grant dateJan 2, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method and related system detail a split of an architecture of a monolithic application into an architecture of a micro service application. The method receives source code for the monolithic application, and maps the source code into a directed graph. The graph is split into subgraphs and optimized. The method further provides the detailing of the micro service application split, based on the subgraphs.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for detailing a split of an architecture of a monolithic application into an architecture of a micro service application comprising: receiving source code for the monolithic application; mapping the source code into a directed graph; splitting the graph into subgraphs and optimizing the subgraph; providing the detailing of the micro service application split, based on the subgraphs; and performing multiple iterations to optimize a subgraph of the subgraphs; wherein: the splitting of the graph further comprises utilizing a discovery algorithm and a label classification model for the splitting of the directed graph into the subgraphs; the iterative optimization comprises verifying each iterative result based on predefined constraints; the predefined constraints comprise: different sub graphs can only be called one-way and not in a loop; and a division of subgraphs follows a horizontal split according to a level label, and not on a vertical; and the label classification model performs labelling each class node, wherein the label for each class node is selectable from the hierarchical group comprising “basic service layer”, “composite service layer”, and “controller layer”. 2. The method of claim 1 , wherein the discovery algorithm is a Community Overlap PRopagation Algorithm (COPRA). 3. The method of claim 1 , wherein the mapping comprises traversing a source file, and, based on the traversing: designating identified classes and methods as respective vertices of the directed graph; and designating an include relationship between classes and methods to connect them. 4. The method of claim 3 , wherein the mapping further comprises: designating an implements relationship between classes and interfaces; and designating an extends relationship between classes. 5. The method of claim 4 , wherein the extend relationship is an inheritance relationship. 6. The method of claim 1 , wherein the providing of the detailing comprises: generating a recommendation for the micro services application split; and communicating the recommendation to developers via a network interface. 7. The method of claim 1 , wherein the providing of the detailing comprises modifying the source code using the micro service application split to enable a generation of the micro service application from the source code. 8. A system, the system comprising: a memory, the memory containing one or more instructions; and a processor, the processor communicatively coupled to the memory, the processor, in response to reading the one or more instructions, configured to: receive source code for the monolithic application; map the source code into a directed graph; split the graph into subgraphs and optimizing the subgraph; provide the detailing of the micro service application split, based on the subgraphs; and perform multiple iterations to optimize a subgraph of the subgraphs; wherein: the split of the graph further comprises the processor being configured to utilize a discovery algorithm and a label classification model for the split of the directed graph into the subgraphs; the iterative optimization comprises the processor being configured to verify each iterative result based on predefined constraints; the predefined constraints comprise: different sub graphs can only be called one-way and not in a loop; and a division of subgraphs follows a horizontal split according to a level label, and not on a vertical; and the label classification model causes the processor to label each class node, wherein the label for each class node is selectable from the hierarchical group comprising “basic service layer”, “composite service layer”, and “controller layer”. 9. The system of claim 8 , wherein the processor is configured to, for the mapping, traverse a source file, and, based on the traversal: designate identified classes and methods as respective vertices of the directed graph; and designate an include relationship between classes and methods to connect them; designate an implements relationship between classes and interfaces; and designate an extends relationship between classes. 10. The system of claim 8 , wherein the processor is configured to, for the providing of the detailing: generate a recommendation for the micro services application split; communicate the recommendation to developers via a network interface; and modify the source code using the micro service application split to enable a generation of the micro service application from the source code. 11. A computer program product, the computer program product comprising: one or more computer readable storage media; and program instructions collectively stored on the one or more computer readable storage media, the program instructions configured to, when run on a processor: receive source code for the monolithic application; map the source code into a directed graph; split the graph into subgraphs and optimizing the subgraph; provide the detailing of the micro service application split, based on the subgraphs; and perform multiple iterations to optimize a subgraph of the subgraphs, wherein: the split of the graph further comprises the processor being configured to utilize a discovery algorithm and a label classification model for the split of the directed graph into the subgraphs; the iterative optimization comprises the processor being configured to verify each iterative result based on predefined constraints; the predefined constraints comprise: different sub graphs can only be called one-way and not in a loop; and a division of subgraphs follows a horizontal split according to a level label, and not on a vertical; and the label classification model causes the processor to label each class node, wherein the label for each class node is selectable from the hierarchical group comprising “basic service layer”, “composite service layer”, and “controller layer”.

Assignees

Inventors

Classifications

  • G06F18/29Primary

    Graphical models, e.g. Bayesian networks · CPC title

  • Dependency analysis; Data or control flow analysis · CPC title

  • Semantic checking · CPC title

  • G06F8/43Primary

    Checking; Contextual analysis · CPC title

  • Classification techniques · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11860980B2 cover?
A method and related system detail a split of an architecture of a monolithic application into an architecture of a micro service application. The method receives source code for the monolithic application, and maps the source code into a directed graph. The graph is split into subgraphs and optimized. The method further provides the detailing of the micro service application split, based on th…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F18/29. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 02 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).