API Dependency Analysis for Microservice Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In microservice architectures, the costs and development complexities associated with making multiple API calls, such as CPU processing time, network bandwidth usage, and setup costs, are not efficiently optimized due to the lack of understanding of dependencies between API calls.

Innovation Solution

A method and system that analyze API call data to identify relationships and dependencies between API requests and responses, allowing for the determination of how data from one API call is used in subsequent calls, thereby optimizing API interactions and inter-operability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple API calls are made to retrieve and enrich customer records, then data completeness is improved, but CPU processing time and network bandwidth usage increase

Engineering Contradiction:
Improvedata completenessVSAvoidCPU processing time
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary analysis of API call patterns and dependencies before execution. By pre-identifying which API calls are necessary and their dependency relationships, the system can optimize the execution sequence and avoid redundant calls, thereby reducing CPU processing time while maintaining data completeness

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors and analyzes API call patterns, responses, and dependencies to provide feedback for optimizing future calls. This feedback mechanism enables the system to learn from actual usage patterns and adjust API call strategies to minimize processing time while ensuring complete data retrieval

Inventive Principle:
Principle #23Feedback

2Quantity of substance

If multiple API calls are made to retrieve and enrich customer records, then data completeness is improved, but network bandwidth usage increases

Engineering Contradiction:
Improvedata completenessVSAvoidnetwork bandwidth usage
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The system extracts and analyzes only the essential information from API responses to identify true data dependencies. By extracting only the necessary data fields and their relationships, the system can minimize the amount of data transferred over the network while still achieving complete customer record enrichment

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system merges multiple API calls into optimized sequences by identifying when calls can be batched or when responses can be reused. This combining approach reduces the total network bandwidth consumption by eliminating redundant data transfers while maintaining data completeness

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If API call dependencies are not analyzed, then development speed is maintained, but system optimization is limited

Engineering Contradiction:
Improvedevelopment speedVSAvoidsystem optimization
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The system performs self-analysis of API call patterns and dependencies without requiring manual intervention or complex development processes. By automatically analyzing call sequences and identifying dependencies, the system enables optimization while maintaining simple development workflows and high development speed

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11550640B2Analysis of application programming interface usage for improving a computer system
Publication Date: 2023.01.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11550640B2 patent drawing
  • US11550640B2 patent drawing
  • US11550640B2 patent drawing

AI summary

A method and system. Application programming interface (API) call data is analyzed for a user to identify a relationship between API input data and API output data of two or more API calls. API usage information is generated by utilizing a dependency between the two or more API calls. The API usage information includes information pertaining to how data flows between the two or more API calls. API provision is improved with respect to execution of a process, based on utilization of the API usage information. Improving API provision includes: receiving a specification of an improvement to be achieved for the process, selecting at least two APIs from the two or more APIs for achieving the improvement, generating a new API that combines the at least two APIs, and modifying the process by including the new API in the process and removing the at least two APIs from the process.