Concurrency Reduction Service for Microservices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In microservices architecture, multiple instances of a service concurrently requesting the same data from a back-end service lead to redundant requests, causing unnecessary stress and delays, which existing caching and proxy technologies do not adequately address, especially for initial requests.

Innovation Solution

Implementing a concurrency reduction service that maps incoming requests to keys, groups matching requests, and sends a single request to the back-end service, ensuring only one response is received and reused for all matching requests, thereby reducing redundant traffic before the first response is received.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple service instances concurrently request the same data from a back-end service, then each service instance can obtain the required data, but redundant requests cause unnecessary stress and delays on the back-end service

Engineering Contradiction:
Improvedata retrieval reliabilityVSAvoidback-end service performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a concurrency reduction service as an intermediary component between service instances and the back-end service. This mediator intercepts concurrent requests, identifies duplicates through key mapping, and consolidates them into single requests before forwarding to the back-end service, thereby reducing stress while ensuring data retrieval reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent merges multiple identical concurrent requests into a single request by mapping them to the same key. When the concurrency reduction service detects that multiple requests share the same key, it consolidates them and sends only one request to the back-end service, eliminating redundant traffic and improving back-end performance

Inventive Principle:
Principle #5Merging (Combining)

2Speed

If caching is used to store retrieved data, then subsequent requests can be served faster, but caching does not prevent redundant requests from reaching the back-end service for initial data retrieval

Engineering Contradiction:
Improveresponse speedVSAvoidback-end service load
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent performs preliminary action by consolidating concurrent requests before they reach the back-end service. The concurrency reduction service proactively identifies and merges duplicate requests using key mapping, preventing redundant requests from being generated in the first place, rather than merely caching responses after retrieval

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9973573B2Concurrency reduction service
Publication Date: 2018.05.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9973573B2 patent drawing
  • US9973573B2 patent drawing
  • US9973573B2 patent drawing

AI summary

Reducing concurrency in a system comprising a plurality of services sending a plurality of concurrent requests to a back-end service through a concurrency reduction service. The concurrency reduction service maps each concurrent incoming request to a key; and determines if the key to which the concurrent incoming request is mapped matches a key mapped from another concurrent incoming request from the plurality of concurrent requests. If the key to which the concurrent incoming request is mapped matches a key mapped from at least one other concurrent incoming request from the plurality of concurrent requests, then the service groups the concurrent incoming request with the at least one other concurrent incoming request to be sent to the back-end service. The concurrency reduction service sends one outgoing request to the back-end service for each of the keys to which the plurality of concurrent incoming requests were mapped.