Container Storage Volume Groups with Dynamic Quota Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing containerization technologies face challenges in managing writable storage space and file system locations for containers, particularly when multiple containers share the same User Identifier (UID), leading to difficulties in setting unique quotas and efficiently allocating disk space, especially in limited resource environments.

Innovation Solution

A volume manager plugin is introduced to create volume groups that can be dynamically expanded, allowing for the allocation of varying writeable storage sizes to containers, ensuring that each container operates within predetermined size limitations while enabling multiple containers to share the same UID, including root, by managing storage space through a pluggable component within the Platform-as-a-Service (PaaS) system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a quota system based on UID is used to limit storage allocated to containers, then storage control for containers is achieved, but multiple containers cannot share the same UID and cannot have different quotas

Engineering Contradiction:
Improvecontainer storage allocation flexibilityVSAvoidstorage management system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a volume manager plugin as an intermediary layer between the container runtime and the underlying storage system. This plugin intercepts storage operations from containers and manages them through volume groups, allowing multiple containers with the same UID to have independent storage quotas controlled by the volume manager rather than relying solely on UID-based quotas.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The storage system is segmented into multiple volume groups, each of which can be independently allocated to containers. This segmentation allows the system to provide fine-grained storage control where different volume groups can be assigned to different containers or container groups, enabling flexible quota management that is not limited by UID.

Inventive Principle:
Principle #1Segmentation

2Reliability

If disk space is allocated to containers in a limited resource environment, then container operation is enabled, but system efficiency decreases due to space constraints

Engineering Contradiction:
Improvecontainer operation reliabilityVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The volume manager plugin implements dynamic storage allocation where volume groups can be expanded or contracted based on actual container needs and system resource availability. Rather than statically allocating fixed disk space to containers, the system dynamically adjusts storage capacity, allowing efficient utilization of limited resources while ensuring containers have adequate space to operate reliably.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms where the volume manager monitors storage usage by containers and can trigger volume group expansion when thresholds are reached. This feedback loop ensures that containers maintain reliable operation by automatically obtaining additional space when needed, while the system overall maintains efficiency by only expanding volumes when actually required rather than pre-allocating excess capacity.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If volume groups are created and mapped to containers, then storage space can be controlled and allocated, but the system requires a pluggable volume manager component adding complexity

Engineering Contradiction:
Improvestorage allocation controlVSAvoidsystem architecture complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The volume manager plugin is designed as a universal component that can manage storage for multiple containers through a single interface. Rather than requiring separate storage management mechanisms for each container, the volume manager provides multi-functional capabilities to handle volume creation, mapping, expansion, and quota enforcement across the entire container ecosystem, simplifying operations despite the added architectural layer.

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

Data Source

PatentUS11221780B2Size adjustable volumes for containers
Publication Date: 2022.01.11 RED HAT INC
  • US11221780B2 patent drawing
  • US11221780B2 patent drawing
  • US11221780B2 patent drawing

AI summary

Implementations of the disclosure provide for size adjustable volumes for containers. A method of the disclosure includes determining, by a processing device of a Platform-as-a-Service (PaaS) system, a size limitation of a container, where the size limitation is associated with disk space usage of a storage volume group. The amount of disk space used by applications of the container is monitored in view of the size limitation of the container. Responsive to determining that the amount of the disk space used by the applications of the container satisfies a threshold, a storage volume of the storage volume group is allocated to the container in view of the size limitation of the container.