Dynamic Container Service Grouping for Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed computing systems face inefficiencies in resource allocation and scaling for container-based applications, as they rely on static methods like scaling up or out, which can lead to suboptimal resource utilization and increased costs due to the need for additional nodes.

Innovation Solution

A method that dynamically adjusts the number of services within containers by splitting or consolidating them based on utilization levels, using a service optimizer engine to manage container deployment and rearrangement across nodes, thereby optimizing resource usage and reducing the number of required nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If static scaling methods (scaling up or out) are used to adjust container resources, then resource allocation can be achieved, but system efficiency deteriorates due to suboptimal resource utilization and increased costs

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidresource utilization waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements dynamic service grouping that automatically adjusts container configurations based on real-time workload conditions. The system transitions from static pre-defined container setups to dynamic reconfiguration where services are continuously grouped and ungrouped based on utilization metrics, enabling the system to adapt optimally to changing demands without manual intervention

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms that monitor container utilization levels and trigger automatic reconfiguration actions. When utilization exceeds or falls below defined thresholds, the system receives feedback and executes corresponding service grouping or ungrouping operations, creating a closed-loop control system that continuously optimizes resource allocation based on actual performance data

Inventive Principle:
Principle #23Feedback

2Productivity

If additional nodes are provisioned to handle increased load, then system capacity is improved, but system complexity and cost increase

Engineering Contradiction:
Improvesystem capacityVSAvoidnumber of nodes
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies merging by consolidating multiple services into single containers through dynamic service grouping. When workload conditions permit, the system combines services that can share resources efficiently, reducing the total number of containers and nodes required to maintain system capacity, thereby simplifying the distributed system architecture

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If services are packaged in separate containers for independent deployment, then deployment flexibility is improved, but resource utilization deteriorates due to duplication and fragmentation

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidresource utilization
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system enables containers to serve multiple functions by dynamically grouping multiple services within single containers based on workload conditions. A container can transition between hosting different service combinations, making it a universal resource that adapts to various deployment scenarios without requiring separate dedicated containers for each service

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

Data Source

PatentUS11726758B2Efficient scaling of a container-based application in a distributed computing system
Publication Date: 2023.08.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11726758B2 patent drawing
  • US11726758B2 patent drawing
  • US11726758B2 patent drawing

AI summary

A method for efficiently scaling a container-based application that provides a plurality of services includes deploying the container-based application in a distributed computing system. The plurality of services may be deployed using at least one container. The method may additionally include monitoring a utilization level associated with the at least one container. In response to detecting a trigger condition that is based at least in part on the utilization level, the method may additionally include modifying how many containers are deployed for the plurality of services.