Object Pool Memory Management for Storage GUI

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage area network management systems face challenges in efficiently managing memory resources while displaying data storage system information, leading to performance issues and increased memory usage due to the lack of fine-grained control over garbage collection processes.

Innovation Solution

Implementing an object pool with configurable memory management options, such as hard, soft, and weak references, to allow for the reuse and recycling of software objects, enabling better control over memory usage and performance optimization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional memory management is used without object pooling, then memory allocation is simple, but memory usage increases and performance degrades due to lack of object reuse

Engineering Contradiction:
Improvememory management efficiencyVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system pre-allocates and pools software objects in memory before they are needed. The object pool maintains ready-to-use objects that can be immediately assigned to GUI components, eliminating the need for frequent allocation and deallocation operations during runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

When GUI components are no longer needed, their associated software objects are not immediately destroyed but are instead returned to the object pool for reuse. This recovering process allows the same objects to be reused by future GUI components, reducing overall memory consumption.

Inventive Principle:
Principle #34Discarding and recovering

2Quantity of substance

If software objects are created and destroyed frequently, then memory is freed for reuse, but performance decreases due to continuous allocation/deallocation overhead

Engineering Contradiction:
Improvememory availabilityVSAvoidprocessing speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

Objects are created in advance and stored in the pool, so when needed they can be immediately assigned to GUI components without allocation overhead. This preliminary creation eliminates continuous memory allocation during runtime operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The object pool maintains a continuous supply of ready-to-use objects, ensuring that GUI component creation and updates can proceed without interruption. The pool continuously provides objects as they are needed, maintaining steady processing flow.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If all software objects are retained in memory, then object reuse is maximized, but memory consumption increases

Engineering Contradiction:
Improveobject reuse efficiencyVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The object pool dynamically adjusts which objects are retained in memory based on current system needs and available memory resources. Objects are kept in the pool when memory is abundant and can be discarded or removed when memory pressure increases, providing flexible adaptation to changing conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the state of software objects from active use to pooled standby, and can further change to discarded when no longer needed. These parameter changes allow the same physical objects to serve multiple purposes across different GUI components over time.

Inventive Principle:
Principle #35Parameter changes

4Quantity of substance

If garbage collection is performed frequently, then memory is cleaned up, but system performance suffers due to collection overhead

Engineering Contradiction:
Improvememory cleanlinessVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The object pool extracts commonly used software objects from the general garbage collection process and manages them separately. By maintaining a dedicated pool of reusable objects, the system removes these objects from the regular allocation and garbage collection cycle, reducing the burden on the garbage collector.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The object pool implements its own internal management mechanism that handles object reuse without requiring external garbage collection intervention. Objects are automatically returned to and retrieved from the pool based on GUI component lifecycle events, making the system self-sufficient for these objects.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9110790B1Managing memory in displaying data storage system information
Publication Date: 2015.08.18 EMC IP HLDG CO LLC
  • US9110790B1 patent drawing
  • US9110790B1 patent drawing
  • US9110790B1 patent drawing

AI summary

A method is used in managing memory in displaying data storage system information. A graphical user interface (GUI) is provided that includes a GUI component representative of a logical object in a data storage system. In an object pool, a software object is stored corresponding to the GUI component. In the object pool, the software object is made available for garbage collection when the GUI releases a reference to the software object.