Genetic Algorithm for Micro-Service Identification Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge in application modernization lies in effectively identifying and prioritizing re-factoring operations to convert monolithic applications into high-quality micro-services with low operation costs and high functional cohesion, especially when migrating to a cloud environment, where existing methods lack efficiency in source code analysis and micro-service identification.

Innovation Solution

A computer system and method utilizing a genetic algorithm to prioritize re-factoring operations by measuring fitness scores based on runtime traces, producing high-quality micro-service candidates through a genetic manager, score manager, and classifier, which apply a genetic algorithm to parent re-factoring operations to generate an offspring population and prioritize them for application to the source code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If traditional methods are used to identify micro-services in monolithic applications, then the process is simpler to implement, but the quality of micro-service identification and functional cohesion is insufficient

Engineering Contradiction:
Improvemicro-service identification qualityVSAvoidre-factoring operation complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent replaces traditional manual or rule-based micro-service identification methods with a machine learning model that uses genetic algorithms and runtime trace analysis. This substitution of mechanical/manual processes with automated intelligent systems enables higher identification quality while managing complexity through algorithmic automation.

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

Solution Approach 2:

The patent introduces runtime traces as an intermediary data structure that captures actual execution behavior of the monolithic application. These traces serve as a bridge between the existing codebase and the micro-service identification process, enabling the ML model to learn optimal service boundaries from actual runtime patterns rather than static code analysis alone.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If re-factoring operations are applied without prioritization, then all operations can be considered, but the time and resources required for modernization increase

Engineering Contradiction:
Improvemodernization efficiencyVSAvoidre-factoring time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary analysis by collecting runtime traces and training the machine learning model before actual re-factoring operations begin. The model prioritizes re-factoring operations in advance based on learned patterns from runtime behavior, allowing the modernization process to proceed systematically with pre-determined operation sequences, reducing both time and resource consumption.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If the design of existing monolithic code is not improved before micro-service identification, then the identification process is faster, but the quality of identified micro-service candidates deteriorates

Engineering Contradiction:
Improvemicro-service candidate qualityVSAvoididentification speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent performs preliminary code quality improvement through re-factoring operations before micro-service identification. By applying genetic algorithms to generate and prioritize re-factoring operations that improve code structure, the system prepares the codebase in advance, making subsequent micro-service identification more accurate without significantly delaying the overall process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11269625B1Method and system to identify and prioritize re-factoring to improve micro-service identification
Publication Date: 2022.03.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11269625B1 patent drawing
  • US11269625B1 patent drawing
  • US11269625B1 patent drawing

AI summary

A computer system, computer program product, and computer-implemented method to identify one or more re-factoring operations directed at micro-service identification for source code. A genetic algorithm is leveraged to produce an offspring population of re-factoring operations from a parent set. The offspring population is subject to an assessment utilizing one or more objective measures. Responsive to the assessment, one or more identified re-factoring operations are selectively applied to the source code to produce one or more corresponding micro-service candidates.