Container API Flow Visualization via Unique ID Annotation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current container monitoring approaches fail to provide a clear visualization of end-to-end microservice invocations from coarse-granular APIs in containerized environments, lacking detailed insights into the flow and metrics across multiple microservices and containers.

Innovation Solution

A method and system that intercept coarse-granular API requests, annotate them with unique IDs, and sequence numbers, and monitor invocations to generate an end-to-end flow visualization, utilizing an interceptor within the container environment and a state database to track and store the flow and metrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If existing container monitoring approaches are used, then basic metrics (health, I/O, network, memory) can be obtained, but end-to-end visualization of microservice invocations from coarse-granular APIs is not provided

Engineering Contradiction:
Improveinformation about microservice invocation flowVSAvoidmonitoring system complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments the monitoring system into distinct components: an ingress module that intercepts API requests, annotation modules that add unique identifiers and sequence numbers, a monitoring module that tracks invocations, and a visualization module that generates flow representations. This segmentation allows comprehensive tracking without creating a monolithic complex system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary elements (unique identifiers and sequence numbers) that mediate between the coarse-granular API requests and the microservice invocations. These intermediaries enable tracking and correlation of API requests with their corresponding microservice calls without requiring direct integration between monitoring and microservice components.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If detailed tracking of all microservice invocations is implemented, then comprehensive flow visualization is achieved, but system overhead and complexity increase

Engineering Contradiction:
Improveprecision of invocation flow trackingVSAvoidmonitoring infrastructure complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by annotating API requests with unique identifiers before they are routed to microservices. This pre-annotation enables seamless tracking throughout the invocation flow without requiring modifications to the microservices themselves, thereby reducing system complexity while maintaining high measurement precision.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a virtual copy of the invocation flow through annotations and metadata rather than physically intercepting or duplicating the actual microservice executions. This copying approach enables comprehensive tracking with minimal system overhead.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11875202B2Visualizing API invocation flows in containerized environments
Publication Date: 2024.01.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11875202B2 patent drawing
  • US11875202B2 patent drawing
  • US11875202B2 patent drawing

AI summary

An approach to generating end-to-end visualizations of invocations from coarse granular application programming interface (API) requests within a containerized environment may be presented. A coarse-granular API request may be intercepted. The coarse-granular API request may receive a unique identifier, which will be assigned to all invocations associated with the coarse-granular API request. Any invocations associated with the coarse-granular API within the containerized environment may be monitored. Detected invocations resulting from the coarse-granular API request may be annotated with a sequence number and the unique ID of the associated coarse-granular API request. An invocation flow for the coarse-granular API request may be generated based on the unique ID, relationship between the invocations and microservices, and the sequence number of the invocations.