Dynamic Microservice Resource Allocation in Multi-Cluster Platforms

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cloud-based computing systems face challenges in efficiently managing computer resources, leading to suboptimal performance, responsiveness, and resource allocation due to the lack of automated scaling and migration capabilities.

Innovation Solution

The implementation of a resource allocation manager that determines dependency relationships between computer resources and adjusts resource allocation by adding, removing, or migrating resources based on cost information, enabling dynamic scaling and fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual resource allocation is used in cloud-based computing systems, then system complexity is reduced, but performance and resource allocation efficiency deteriorate

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The resource allocation manager automatically discovers microservices, monitors their performance metrics, and dynamically allocates resources without human intervention. The system self-adjusts by adding, removing, or migrating computer resources based on real-time dependency information and cost analysis, enabling autonomous resource optimization while maintaining system efficiency

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements dynamic resource allocation by continuously monitoring microservice dependencies and adjusting resource distribution in real-time. The resource allocation manager adapts to changing system conditions by automatically scaling resources up or down based on actual workload demands and dependency relationships, transforming static resource management into a dynamic, responsive system

Inventive Principle:
Principle #15Dynamics

2Speed

If automated scaling capabilities are implemented, then performance and responsiveness are improved, but system complexity increases

Engineering Contradiction:
ImproveresponsivenessVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The resource allocation manager implements continuous feedback loops by monitoring microservice performance metrics, dependency relationships, and system costs. This feedback mechanism enables the system to automatically adjust resource allocation in real-time, improving responsiveness by detecting and reacting to performance changes while managing complexity through automated control algorithms

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by pre-establishing dependency relationships between microservices and pre-calculating resource allocation strategies. The resource allocation manager proactively prepares resource scaling plans based on predicted workload patterns and dependency analysis, enabling faster response times when actual scaling events occur

Inventive Principle:
Principle #10Preliminary action

3Productivity

If dynamic resource migration is implemented, then resource efficiency is improved, but reliability requirements increase

Engineering Contradiction:
Improveresource efficiencyVSAvoidfault tolerance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The resource allocation manager implements fault tolerance by maintaining redundant resource allocations and preparing backup configurations before migration events. The system cushions against potential failures by ensuring dependency relationships are properly established and resources are available before initiating dynamic migration, thus protecting system reliability while enabling resource efficiency improvements

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

Data Source

PatentUS10178045B2Dynamic discovery and management of microservices for multi-cluster computing platforms
Publication Date: 2019.01.08 SAP SE
  • US10178045B2 patent drawing
  • US10178045B2 patent drawing
  • US10178045B2 patent drawing

AI summary

Computer-implemented systems and methods for processing a request from a client are provided. A request for a computer-implemented process to be performed is received from a client. A group of computer resources responsible for performing the computer-implemented process is identified. Dependency information indicating dependency relationships between pairs of computer resources of the identified group is determined. For pairs of computer resources determined to have a dependency relationship, a cost incurred when a first computer resource of the pair invokes a second computer resource of the pair is determined at multiple points in time. It is determined whether to add, remove, or migrate additional computer resources to the group based on the cost information.