Parallel Microservice Request Management via Conditional Cancellation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cloud computing environments lack flexibility in managing parallel microservices, leading to inefficiencies in resource usage and execution time, as they require serial request processing and cannot invoke multiple target microservices in parallel from an architectural level.

Innovation Solution

A method that identifies available target microservices, sends requests based on predefined conditions, and executes actions when those conditions are met, allowing for parallel invocation and cancellation of requests to optimize resource usage and execution time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If serial request processing is used, then system simplicity is maintained, but execution time and resource usage increase

Engineering Contradiction:
Improvesystem simplicityVSAvoidexecution time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system segments the request processing into independent parallel tasks that can be executed simultaneously across multiple microservices. Each microservice instance processes a specific portion of the workload independently, enabling concurrent execution and reducing overall execution time while maintaining manageable system complexity through structured task division.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the number of parallel microservice instances and request distribution based on real-time availability and system conditions. This dynamic scaling allows the system to optimize execution time by launching more parallel tasks when resources are available while maintaining simplicity through automated management of complexity.

Inventive Principle:
Principle #15Dynamics

2Productivity

If parallel microservice invocation is enabled, then productivity increases, but device complexity increases

Engineering Contradiction:
Improveresource usage efficiencyVSAvoidarchitectural complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces a mediator component that manages the complexity of parallel microservice invocation by handling task distribution, availability checking, and coordination. This intermediary layer abstracts the complexity from the main system logic, enabling high productivity through parallel processing while keeping the overall architecture manageable through centralized coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system employs a universal microservice framework that handles multiple functions including request routing, availability management, parallel task coordination, and result aggregation. This multi-functional approach increases productivity by consolidating various management functions into a single scalable platform, reducing the need for separate complex management systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Loss of time

If multiple target microservices are invoked in parallel, then execution time decreases, but reliability challenges increase

Engineering Contradiction:
Improveexecution timeVSAvoidrequest processing reliability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system implements feedback mechanisms that continuously monitor microservice availability and response status. Based on this feedback, the system dynamically adjusts which microservices are invoked in parallel and handles failures by redirecting requests to available services. This feedback-driven approach maintains reliability while enabling parallel processing to reduce execution time.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs availability checking of target microservices before initiating parallel requests. This preliminary verification acts as a cushion against potential failures, ensuring that only available and reliable services are invoked in parallel. By filtering out unavailable services upfront, the system maintains high reliability while still benefiting from parallel execution speedups.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11397577B2Managing parallel microservice requests
Publication Date: 2022.07.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11397577B2 patent drawing
  • US11397577B2 patent drawing
  • US11397577B2 patent drawing

AI summary

A method, computer program product, and system for managing parallel microservices are provided. The method may include identifying information pertaining to each of a plurality of target microservices to be invoked by an issuer microservice, a predefined condition associated with the plurality of target microservices, and an action to be executed by the issuer microservice in response to the predefined condition being satisfied. The method may also include sending a first request to available target microservices of the plurality of target microservices based on the information pertaining to the respective available target microservices. The method may also include, in response to receiving a response to the first request from an available target microservice of the available target microservices, determining whether the predefined condition is satisfied, and in response to determining that the predefined condition is satisfied, causing the action to be executed by the issuer microservice.