Monolithic Application Decomposition for Runtime-Aware Distributed Deployment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Decomposing monolithic applications into modular, distributed software architectures is costly and impractical due to cohesive nature and data dependencies, with existing methods failing to account for real-time critical behavior and dynamic deployment conditions.

Innovation Solution

A method involving deploying a monolithic application on a data processing device, generating a behavior profile through runtime and static analysis, determining possible decompositions, and iteratively optimizing deployment on a distributed system to maximize similarity and meet real-time and state consistency requirements, using bytecode representation like WASM for analysis and instrumentation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual decomposition of monolithic applications is performed, then deployment flexibility is improved, but cost and complexity increase significantly

Engineering Contradiction:
Improvedeployment flexibilityVSAvoiddecomposition complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically analyzing the monolithic application's code structure, data dependencies, and execution patterns to generate decomposition proposals without requiring manual intervention. The automated analysis engine examines bytecode, identifies module boundaries based on cohesion metrics, and suggests decompositions that maintain data consistency, thereby reducing both cost and complexity while achieving deployment flexibility.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical decomposition processes with automated computational analysis. Instead of manually reviewing code and making decomposition decisions, the system uses bytecode analysis, static analysis tools, and machine learning algorithms to automatically identify decomposition opportunities, evaluate data dependencies, and generate deployment configurations, significantly reducing the complexity and cost of the decomposition process.

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

2Adaptability or versatility

If decomposition into fine-grained modules is performed, then deployment flexibility is improved, but network traffic and coordination overhead increase

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidnetwork traffic overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system applies local quality by analyzing data dependency patterns and identifying which modules have strong local couplings versus weak couplings. Modules with strong data dependencies are kept together or placed on the same host, while modules with weak dependencies can be independently deployed. This localized optimization reduces unnecessary network traffic between tightly-coupled modules while maintaining deployment flexibility for loosely-coupled modules.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements skipping by identifying and inlining small, frequently-called functions or methods that cross module boundaries. Instead of making separate network calls for these small operations, the system inlines the code locally, eliminating unnecessary network traffic for routine operations while maintaining the modular architecture for larger, more significant decomposition units.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Speed

If static analysis is used for decomposition, then analysis speed is improved, but accuracy in capturing dynamic behavior is reduced

Engineering Contradiction:
Improveanalysis speedVSAvoidbehavior analysis accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The system performs preliminary static analysis to quickly identify potential decomposition points and data dependency patterns in the monolithic application's code structure. This fast initial analysis provides a baseline decomposition proposal that captures the majority of decomposition opportunities. Subsequently, dynamic analysis is applied to refine these proposals by observing actual runtime behavior, ensuring both speed and accuracy in the final decomposition.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a continuous analysis approach where static analysis is performed first to establish a baseline decomposition, followed by dynamic analysis during runtime to capture actual behavior patterns. The system continuously refines the decomposition proposal by combining insights from both static and dynamic analyses, maintaining an ongoing optimization process that improves accuracy while managing analysis time through iterative refinement rather than exhaustive analysis.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20260023611A1Method for decomposing and distributing a monolithic application
Publication Date: 2026.01.22 ROBERT BOSCH GMBH
  • US20260023611A1 patent drawing
  • US20260023611A1 patent drawing
  • US20260023611A1 patent drawing

AI summary

A method for decomposing and distributing a monolithic application. The method includes: deploying the monolithic application on a data processing device; generating a behavior profile of the monolithic application based on an analysis of the monolithic application during a runtime thereof; determining at least one possible decomposition of the monolithic application into modules based on the generated behavior profile; initiating a deployment of the modules on a distributed system to provide a distributed application; initiating monitoring of a runtime behavior of the distributed application; initiating an optimization of the decomposition and of the deployment of the modules by maximizing a similarity between the monolithic application and the distributed application. A computer program, a device, and a storage medium are also described.