Monolithic Application Decomposition via Orthogonal Clustering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for decomposing monolithic applications into microservices often fail to consider architectural patterns and relationships between classes, leading to inaccurate identification of microservices and poor maintainability.

Innovation Solution

The method employs orthogonal clustering, specifically horizontal and vertical clustering, to decompose monolithic applications into functional units, using static code and runtime traces to identify classes and merge them into microservices based on functionality types, ensuring maintainability and complexity considerations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If monolithic applications are decomposed into microservices, then maintainability and adaptability improve, but device complexity and difficulty of decomposition increase

Engineering Contradiction:
ImproveadaptabilityVSAvoiddecomposition complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the monolithic application into multiple microservices based on orthogonal clustering of classes. The system identifies clusters of classes that can be separated into independent services, thereby improving adaptability while managing decomposition complexity through systematic analysis of class relationships and dependencies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces orthogonal clustering as a two-dimensional approach to decomposition. Instead of single-criterion clustering, it uses both horizontal clustering (based on functionality) and vertical clustering (based on layering), creating a multi-dimensional view that resolves decomposition complexity while enhancing adaptability.

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

2Measurement precision

If existing decomposition methods are used, then decomposition speed is maintained, but measurement precision and manufacturing precision of microservice boundaries deteriorate

Engineering Contradiction:
Improvemicroservice boundary identification accuracyVSAvoiddecomposition time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary analysis by computing horizontal and vertical clusters before final microservice boundary determination. This preliminary clustering organizes classes into candidate groups, improving boundary identification accuracy while reducing the time required for final decomposition decisions by pre-processing the complexity of class relationships.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback loops to refine microservice boundary identification. By analyzing class dependencies, call graphs, and cluster intersections, the system iteratively improves boundary accuracy. This feedback mechanism ensures precise identification while managing time loss through automated refinement processes.

Inventive Principle:
Principle #23Feedback

3Manufacturing precision

If orthogonal clustering is performed, then manufacturing precision of functional units improves, but device complexity and computational overhead increase

Engineering Contradiction:
Improvefunctional unit identification accuracyVSAvoidclustering computation complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent segments the clustering computation into two independent dimensions: horizontal clustering based on functionality and vertical clustering based on layering. This segmentation improves functional unit identification accuracy by considering multiple aspects separately, while managing computational complexity by avoiding the need for complex multi-dimensional clustering algorithms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The orthogonal clustering framework serves multiple functions: it identifies functional boundaries, determines service boundaries, and analyzes class relationships. This multi-functionality improves manufacturing precision of functional units while reducing device complexity by using a unified clustering approach for multiple analysis purposes.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11360877B2Forming microservices from monolithic applications
Publication Date: 2022.06.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11360877B2 patent drawing
  • US11360877B2 patent drawing
  • US11360877B2 patent drawing

AI summary

A method, system, and computer program product for decomposing monolithic applications to form microservices are provided. The method identifies a set of classes within a monolithic application. A set of horizontal clusters are generated by performing horizontal clustering to the set of classes to decompose the classes based on a first functionality type. The method generates a set of vertical clusters by performing vertical clustering to the set of classes to decompose the classes based on a second functionality type. A subset of classes occurring in a common horizontal cluster and vertical cluster are identified as a functional unit. The method merges one or more functional units to form a microservice.