Dynamic Memory Allocation Between Overlapping Containers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems using multiple containers face limitations in dynamic memory allocation, leading to inefficient thrashing or downtime due to fixed memory assignments at initialization time.

Innovation Solution

Implementing a method where multiple containers share an overlapping memory area, allowing dynamic claiming and releasing of memory portions through page assignment metadata and indirect page mapping, with cooperative budgeting to adjust memory allocation based on needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If memory resources are assigned at initialization time in conventional container implementations, then container isolation and reduced overhead are achieved, but dynamic memory allocation capability is lost

Engineering Contradiction:
Improvecontainer overheadVSAvoiddynamic memory allocation capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic memory allocation by allowing containers to claim and release memory pages at runtime through a host-mediated mechanism. The memory assignment is no longer static but changes dynamically based on container needs, resolving the contradiction between fixed assignment simplicity and dynamic allocation flexibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The host system acts as an intermediary between containers and physical memory resources. The host manages the shared memory space and mediates container claims and releases, enabling dynamic allocation while maintaining isolation. This intermediary mechanism allows containers to benefit from both reduced overhead and dynamic adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If one container requires more memory than initially assigned, then memory efficiency improves, but system stability deteriorates due to virtual memory thrashing

Engineering Contradiction:
Improvememory utilization efficiencyVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Containers can dynamically claim additional memory pages from the shared pool when needed and release them when no longer required. This dynamic adjustment prevents virtual memory thrashing while improving memory utilization efficiency, as containers can adapt their memory usage to actual needs without system instability.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If memory allocation is updated by restarting containers, then proper memory amounts are assigned, but service continuity is interrupted causing downtime

Engineering Contradiction:
Improvememory allocation accuracyVSAvoidservice downtime
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent enables memory allocation updates without container restart by implementing runtime claim and release operations. Containers can adjust their memory assignments dynamically while running, eliminating service downtime while achieving proper memory allocation accuracy.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The host pre-allocates a shared memory space that containers can claim as needed. This preliminary preparation of memory resources allows containers to obtain proper memory amounts on-demand without restart, preventing service interruption while ensuring adequate memory allocation.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If fixed memory portions are assigned to containers, then memory isolation is maintained, but memory sharing and dynamic allocation are prevented

Engineering Contradiction:
Improvememory isolationVSAvoidmemory sharing capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The host system serves as an intermediary that maintains memory isolation between containers while enabling sharing through a controlled claim-release mechanism. The host manages the shared memory space and enforces isolation boundaries, allowing containers to share memory resources dynamically without compromising security or stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms fixed memory assignments into dynamic, controllable sharing. Containers can claim memory pages from the shared pool and release them when done, with the host mediating access. This dynamic mechanism maintains isolation through controlled access while enabling efficient memory sharing and allocation.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11126553B2Dynamic allocation of memory between containers
Publication Date: 2021.09.21 EMC IP HLDG CO LLC
  • US11126553B2 patent drawing
  • US11126553B2 patent drawing
  • US11126553B2 patent drawing

AI summary

Techniques are presented for dynamically allocating memory between containers. These techniques include (a) assigning a first portion of memory to a first container and a second portion of memory to a second container, the first and second portions overlapping to form a shared portion of memory assigned to both containers; (b) during a first interval, caching first data in a particular page of the shared portion by first data storage software executing within the first container; (c) during a second interval, caching second data in the particular page of the shared portion by second data storage software executing within the second container; (d) during the first interval, selectively enabling the first data storage software to access the particular page and blocking the second data storage software from accessing the particular page; and (e) during the second interval, selectively enabling the second data storage software to access the particular page and blocking the first data storage software from accessing the particular page.