Monolithic to Microservice Split via Graph Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Transitioning from a monolithic to a microservice architecture is time-consuming and costly when done manually, as developers spend significant time and resources sorting out and splitting the code structure.

Innovation Solution

A computer-implemented method that maps the source code of a monolithic application into a directed graph, splits it into subgraphs using a Community Overlap PRopagation Algorithm (COPRA) and label classification model, and optimizes these subgraphs to recommend a microservice splitting scheme, automating the process of converting the architecture.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual code splitting is performed to transition from monolithic to microservice architecture, then the architecture can be successfully transformed, but the process becomes time-consuming and resource-intensive

Engineering Contradiction:
Improvearchitecture transformation capabilityVSAvoidtransition time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs self-service by automatically analyzing the monolithic codebase, generating service boundary recommendations, and creating the microservice architecture without requiring manual developer intervention for the splitting process itself

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the manual mechanical process of code analysis and splitting with an automated computational system that uses graph theory algorithms and machine learning models to perform the same function

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If manual code splitting is performed to transition from monolithic to microservice architecture, then the architecture can be successfully transformed, but significant developer resources are required

Engineering Contradiction:
Improvearchitecture transformation capabilityVSAvoiddeveloper efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs self-service by automatically analyzing the monolithic codebase, generating service boundary recommendations, and creating the microservice architecture without requiring manual developer intervention for the splitting process itself

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary automated system that acts as a mediator between the monolithic architecture and the desired microservice architecture, handling the complex transformation work that would otherwise require significant developer resources

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If the monolithic architecture is split into multiple microservices, then the system becomes more manageable and scalable, but the complexity of the system increases

Engineering Contradiction:
Improvearchitecture manageabilityVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the monolithic codebase into distinct service modules based on graph analysis of code dependencies and relationships, creating naturally-bound microservice boundaries that reduce operational complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of analysis by mapping code relationships into a graph structure with nodes and edges, enabling the system to understand and optimize service boundaries in a multi-dimensional space rather than simple linear code organization

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11860980B2Cognitive method to split monolithic architecture into microservice architecture
Publication Date: 2024.01.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11860980B2 patent drawing
  • US11860980B2 patent drawing
  • US11860980B2 patent drawing

AI summary

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.