Monolithic Application Microservice Transformation via Binary Instrumentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methodologies for transforming monolithic applications into microservices face challenges such as statelessness, object serialization issues, performance overhead, and the lack of semantic equivalence, leading to significant rewrites and risks.

Innovation Solution

A method and system that generate semantically equivalent microservices from monolithic object-oriented applications by partitioning the application, using machine logic to create REST API-style microservices that preserve runtime semantics and minimize source code changes, with distributed object management and garbage collection to ensure equivalence and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If current methodologies are used to transform monolithic applications into microservices, then the application can be divided into smaller services, but significant source code rewrites and semantic equivalence loss occur

Engineering Contradiction:
Improvemicroservice transformation capabilityVSAvoidsemantic equivalence
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The patent uses binary instrumentation to create a copy of the original application's execution behavior. The instrumentation layer captures runtime semantics and object state transitions, replicating the monolith's behavior in the microservice environment without requiring source code modifications. This copying approach preserves semantic equivalence while enabling microservice transformation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical process of source code rewriting with an automated binary instrumentation system. Instead of manually or semi-automatically modifying source code, the system instruments the compiled binary to automatically generate microservice deployment configurations and maintain semantic equivalence through runtime analysis.

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

2Adaptability or versatility

If manual source code rewriting is performed to create microservices, then microservice architecture can be implemented, but time consumption and error risks increase

Engineering Contradiction:
Improvemicroservice architecture implementationVSAvoidtransformation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements a self-service transformation system where the application instrumented version automatically analyzes its own runtime behavior and generates the necessary microservice configurations. The system performs self-analysis of execution patterns, object lifecycles, and service boundaries, eliminating the need for external manual intervention and significantly reducing transformation time.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent performs preliminary binary instrumentation before the actual microservice transformation process. By instrumenting the binary early in the development cycle, the system captures all runtime semantics upfront, allowing subsequent microservice generation to proceed automatically without time-consuming manual analysis or iterative rewriting.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If object serialization is used in microservices, then distributed object management is enabled, but performance overhead increases

Engineering Contradiction:
Improvedistributed object management capabilityVSAvoidperformance overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent changes the state management parameters of distributed objects by implementing a lifecycle management system that tracks object creation, activation, passivation, and destruction events. Instead of serializing complete object states, the system uses parameter changes to record only the necessary state transitions, reducing the data processing overhead while maintaining distributed object management capabilities.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11550571B2Generation of equivalent microservices to replace existing object-oriented application
Publication Date: 2023.01.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11550571B2 patent drawing
  • US11550571B2 patent drawing
  • US11550571B2 patent drawing

AI summary

Technology for dividing a monolith computer program into a plurality of functions and creating a microservice for each function of the model's computer program. The micro-services are semantically and functionally equivalent, taken collectively, to the model's computer program from which they came. In some embodiments, the monolith computer program is written in an object oriented programming language suitable for execution by a virtual machine (VM). In some embodiments, the microservices are in representational state transfer (REST) form and respectively corresponding application programming interface (API).