Microservice Call Graph Timing for Fault Propagation Estimation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing fault injection methods in microservice architectures are inefficient due to manual decision-making and assumptions about immediate fault propagation, leading to inaccurate data representation and insufficient understanding of application behavior.
Innovation Solution
A system and method that estimates fault propagation time by modeling service and network execution times, using statistical methods from Extreme Value Theory, and accounting for parallel processing, to generate a comprehensive propagation time estimation based on a call graph analysis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If manual decision-making and immediate fault propagation assumptions are used in fault injection testing, then the testing process is simpler to implement, but the accuracy of fault propagation time estimation deteriorates
Solution Approach 1:
The system performs preliminary analysis of service dependency graphs and execution paths before fault injection testing. By pre-calculating propagation paths and timing characteristics, the system eliminates manual decision-making during actual testing while maintaining accurate propagation time estimates based on pre-analyzed service relationships and execution metrics.
2Measurement precision
If comprehensive service and network execution time modeling is performed to accurately estimate fault propagation time, then the precision of propagation time measurement is improved, but the complexity of the testing system increases
Solution Approach 1:
The system segments the fault propagation analysis into distinct components: service execution time modeling, network communication time modeling, and dependency graph analysis. Each component is handled independently and systematically, allowing comprehensive modeling without overwhelming system complexity. The segmentation enables modular processing of execution times for different services and network paths.
Solution Approach 2:
The system changes parameters by collecting and analyzing multiple execution time measurements for each service under normal conditions. By statistically analyzing these parameters (execution times, network latencies), the system builds accurate propagation time models without requiring complex real-time monitoring infrastructure during fault injection testing.
3Productivity
If fault propagation time estimation is performed without considering service dependency relationships, then the analysis process is faster and simpler, but the reliability of the propagation time prediction deteriorates
Solution Approach 1:
The system performs preliminary construction and analysis of service dependency graphs before fault propagation estimation. By pre-establishing the relationships between services, networks, and data flows, the system can quickly query propagation paths during testing without performing complex real-time analysis, thus maintaining both speed and reliability of predictions.
Data Source
AI summary
A method, system, and computer program product for estimating propagation time for an injected fault are configured to: determine normal execution times of respective services in a call graph of an application; determine normal execution times of respective network communications between ones of the services; determine faulty execution times of respective ones of the services; and generate a propagation time for a particular type of fault injected at a particular fault injection location in the call graph based on the determined normal execution times of respective services, the determined normal execution times of respective network communications, and the determined faulty execution times of respective ones of the services.


