Container Management Module for Storage System Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing resource allocation and load balancing across multiple processing components in a distributed data storage system is challenging, especially for containerized applications, as it requires real-time management of computing, memory, and networking resources to ensure efficient execution and performance.

Innovation Solution

A method is implemented where a primary control module determines resource availability across multiple processing components, reserves necessary resources, creates and manages containers, and monitors activity to adjust resource allocation dynamically, ensuring that applications receive the required resources and that load balancing is maintained across the system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If resources are allocated statically to processing components, then system stability is improved, but resource utilization efficiency deteriorates when demands change

Engineering Contradiction:
Improvesystem stabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic resource allocation by allowing containers to be created, moved, and deleted across processing components based on real-time resource availability and application demands. The system continuously monitors resource usage and automatically adjusts container placement, transforming the static resource allocation into a dynamic system that adapts to changing conditions while maintaining stability through controlled orchestration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes resource allocation parameters dynamically by modifying which processing components host which containers based on current system state. The resource manager adjusts allocation parameters such as CPU, memory, and storage assignments in real-time, allowing the system to optimize resource utilization while maintaining operational stability through parameter adaptation rather than structural changes.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If containers are created on multiple processing components, then load balancing is improved, but system complexity increases

Engineering Contradiction:
Improveload balancingVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a container management module as an intermediary that handles the complexity of distributing containers across multiple processing components. This intermediary layer abstracts the complexity from the underlying system by providing a unified interface for container deployment, migration, and management, allowing load balancing to be achieved without directly increasing system complexity through the use of this mediating software layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments container management functions into discrete, manageable operations handled by the container management module. By dividing the complex task of multi-component container orchestration into smaller sub-tasks (container creation, placement, migration, deletion), the system achieves load balancing across processing components while managing complexity through functional segmentation rather than monolithic control.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If resource allocation is managed manually, then control precision is improved, but time consumption increases

Engineering Contradiction:
Improvecontrol precisionVSAvoidtime consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements self-service resource allocation through an automated container management module that monitors system state and automatically makes allocation decisions without manual intervention. The system independently evaluates resource availability, determines optimal container placement, and executes allocation actions, maintaining control precision through algorithmic decision-making while eliminating the time consumption associated with manual resource management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system employs feedback mechanisms where the container management module continuously monitors resource usage and container performance, then uses this information to automatically adjust resource allocation. This closed-loop feedback system maintains control precision by making allocation decisions based on real-time system state while reducing time consumption through automated response to changing conditions rather than manual reassessment.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11789840B2Managing containers on a data storage system
Publication Date: 2023.10.17 EMC IP HLDG CO LLC
  • US11789840B2 patent drawing
  • US11789840B2 patent drawing
  • US11789840B2 patent drawing

AI summary

Mechanisms and techniques are employed for managing the allocation and load balancing of storage system resources for the containerized, distributed execution of applications on a storage system. A control component executing on a processing component of the storage system may control reserving the necessary resources on one or more processing components to implement an application, and control a container management module to create, deploy and/or modify one or more containers on one or more processing components of the storage system. The one or more containers then may be executed to implement the application. Multiple processing components of the storage system may have a resource management module executing thereon. The control component may exchange communications with the one or more resource management modules of each processing component to determine the resources available within the processing component; e.g., to determine whether the processing component can satisfy the resource requirements of the application.