Microservice Data Prioritization to Reduce Processing Delay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In service meshes like Istio, microservices have to wait for all data to arrive before executing application logic, leading to inefficiencies as they process large data packages, even if only a subset of data is needed.

Innovation Solution

Prioritizing data transmission based on usage patterns across the service mesh, allowing destination microservices to receive and process needed data early by determining a priority order for data parameters based on historic usage information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all data is transmitted to destination microservices before processing can begin, then data completeness is ensured, but processing delay increases

Engineering Contradiction:
Improvedata completenessVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by transmitting data in a pre-determined priority order before the destination microservice is fully ready to process it. The originator microservice sends high-priority data parameters first based on historical usage patterns, allowing the destination microservice to begin processing as soon as critical data arrives, rather than waiting for all data. This resolves the contradiction by preparing and sending data in an optimized sequence in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The data transmission is segmented into priority-based batches rather than sending all data as a single unit. High-priority data parameters that are historically most needed are transmitted first, followed by lower-priority parameters. This segmentation allows the destination microservice to process critical data immediately while receiving remaining data in the background, thus reducing processing delay while maintaining data completeness.

Inventive Principle:
Principle #1Segmentation

2Loss of information

If large data packages are transmitted between microservices, then information completeness is improved, but transmission overhead and processing time increase

Engineering Contradiction:
Improveinformation completenessVSAvoidtask completion efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The system applies local quality by customizing data transmission for each destination microservice based on its specific historical usage patterns. Instead of sending identical complete data packages to all microservices, the originator analyzes which data parameters each destination microservice has historically accessed and prioritizes those specific parameters. This ensures each microservice receives information completeness tailored to its local needs while reducing overall transmission overhead.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameter of data transmission by dynamically adjusting the priority order of data parameters based on historical usage information. Rather than transmitting data in a fixed sequence or as a complete package, the system modifies the transmission parameters to send the most historically relevant data parameters first, thereby improving productivity while maintaining the information completeness that each specific destination microservice requires.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If microservices wait for complete data before executing application logic, then processing accuracy is ensured, but system responsiveness deteriorates

Engineering Contradiction:
Improveprocessing accuracyVSAvoidsystem responsiveness
Core Design Contradiction:
Manufacturing precisionVSSpeed

Solution Approach 1:

The system performs preliminary action by pre-determining and transmitting data in priority order based on historical usage patterns before the destination microservice needs it. This allows the microservice to begin executing application logic immediately when critical data arrives, improving system responsiveness while maintaining processing accuracy through the pre-calculated optimal data sequence.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces dynamics by making the data transmission order adaptive and flexible rather than static. The priority order of data parameters is dynamically determined based on historical usage information specific to each destination microservice, allowing the system to respond efficiently to different processing needs while ensuring accuracy through data-driven prioritization.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10805213B2Controlling data communication between microservices
Publication Date: 2020.10.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10805213B2 patent drawing
  • US10805213B2 patent drawing
  • US10805213B2 patent drawing

AI summary

In a cluster of microservice nodes, each microservice node comprises a microservice and microservices form a service mesh. Data communications across the service mesh are controlled to prioritize sequence in which various data parameters are sent to destination nodes, so that data needs of a destination microservice are met as quickly as possible. An originator program receives, from a destination, data usage information relating to access of the data parameters received by a destination program from the originator program. The originator program determines, for the destination microservice, a priority order of the data parameters based on the historic data usage information, and transmits input data in the priority order to the destination program.