Microservice Clustering via Runtime Metadata Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing monolithic architectures face challenges in managing interdependent processes, adding features, and scaling, leading to data access issues when transitioning to a microservices architecture.

Innovation Solution

A computer-implemented method that uses runtime metadata to cluster programs and data structures into groups, creating a design for microservices that optimizes data access and reduces friction issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If a monolithic architecture is used, then the application is self-contained and independent, but it becomes difficult to manage interdependent processes and adding features becomes complicated

Engineering Contradiction:
Improveapplication independenceVSAvoidmanagement complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The patent segments the monolithic application into multiple independent microservices based on runtime metadata analysis. Programs and data structures are clustered into separate microservice groups, allowing independent deployment and management while maintaining application functionality. This resolves the contradiction by dividing the monolith into manageable units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses runtime metadata to dynamically determine clustering parameters for microservice creation. By analyzing runtime behavior, data access patterns, and program interactions, the system optimizes the segmentation parameters to balance independence and manageability, resolving the complexity issue.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If the application is divided into microservices, then deployment and updating become less complex, but data access issues arise during transition

Engineering Contradiction:
Improvedeployment complexityVSAvoiddata access reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent performs preliminary analysis of runtime metadata before creating microservices. By examining data access patterns, program dependencies, and interaction frequencies during runtime, the system pre-determines optimal clustering configurations that minimize data access issues, ensuring reliability from the start of microservices deployment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses runtime metadata as feedback to continuously optimize microservice clustering. By monitoring actual runtime behavior and data access patterns, the system adjusts clustering decisions to maintain data access reliability while preserving deployment simplicity.

Inventive Principle:
Principle #23Feedback

3Ease of manufacture

If programs and data structures are clustered without runtime metadata, then the process is simpler, but data access issues and friction problems increase

Engineering Contradiction:
Improveclustering process simplicityVSAvoiddata access reliability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system enables the application to self-analyze its own runtime behavior and automatically generate optimal clustering configurations. By collecting runtime metadata during normal operation and using it to drive microservice creation decisions, the system maintains simplicity while improving data access reliability through informed clustering.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12288044B2Microservice creation using runtime metadata
Publication Date: 2025.04.29 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12288044B2 patent drawing
  • US12288044B2 patent drawing
  • US12288044B2 patent drawing

AI summary

A computer implemented method creates microservices for an application. A number of processor units clusters programs and data structures for the application using runtime metadata to form groups of the programs and data structures. The runtime metadata is obtained from running the application. The number of processor units creates a design for the microservices for the application using the groups of the programs and the data structures.