Microservice Coordinator for Request Capacity Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments, primary services often experience degraded performance due to overwhelming requests on secondary or tertiary services, leading to resource consumption imbalances and potential service failures.

Innovation Solution

A method is introduced to coordinate execution among multiple instances of a service by monitoring execution requests, calculating available capacity based on performance metrics and resource consumption levels, and selecting requests to execute based on this capacity, thereby preventing service overload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple primary services simultaneously access the secondary service, then the system can handle more requests and improve productivity, but the secondary service becomes overwhelmed leading to degraded performance and reliability

Engineering Contradiction:
Improverequest handling capacityVSAvoidservice performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a coordinator service as an intermediary between primary services and the secondary service. This coordinator monitors the capacity of the secondary service and manages request routing, preventing direct overwhelming of the secondary service while still allowing multiple primary services to access it. The coordinator acts as a buffer that balances load based on real-time capacity assessment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the coordinator continuously monitors the capacity metrics of the secondary service and adjusts request routing decisions accordingly. When the secondary service shows signs of being overwhelmed, the coordinator receives feedback about degraded performance and responds by throttling or redistributing requests to maintain reliability.

Inventive Principle:
Principle #23Feedback

2Productivity

If the system allows all execution requests to be processed, then productivity is maximized, but resource consumption becomes unbalanced causing service failures

Engineering Contradiction:
Improverequest processing volumeVSAvoidresource consumption balance
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts request processing based on real-time resource consumption levels. The coordinator monitors resource usage metrics and adaptively changes which requests are allowed to proceed, ensuring that resource consumption remains balanced across all services. This dynamic control prevents any single service from consuming excessive resources while maintaining overall productivity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The coordinator changes operational parameters such as request throughput rates and priority levels based on monitored resource consumption patterns. When resource consumption becomes unbalanced, the system adjusts parameters like request acceptance thresholds and service weightings to restore balance, thereby preventing service failures while maintaining optimal productivity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12314770B2Coordinated microservices
Publication Date: 2025.05.27 CITRIX SYSTEMS INC
  • US12314770B2 patent drawing
  • US12314770B2 patent drawing
  • US12314770B2 patent drawing

AI summary

Techniques are provided for a coordinated microservice system including a coordinator and multiple services, which interact with each other. Each of the services can have multiple execution instances, which run independently of each other. In operation, each instance of each service can use, or otherwise depend upon, one or more of the other services to perform at least some of its respective function(s). The coordinator monitors execution requests from each instance of the services to other services and calculates an available capacity of the other services upon which the requesting services depend to execute each of the execution requests based on the monitored performance metrics of the other services and level(s) of resource consumption associated with each of the execution requests. The coordinator then selects one of the execution requests based on the available capacity of the other services to service the execution requests without degrading the other services.