Database Memory Allocation Dynamic Adjustment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems face challenges in efficiently managing memory allocation, leading to memory shortages or wastage, especially when dealing with large objects, which complicates software applications and reduces database reliability.

Innovation Solution

A method that dynamically adjusts memory allocation by determining the actual size of objects during runtime and selecting a preferred statement with alternative sizes that match the actual sizes, allowing for efficient memory use without increasing application complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If dynamic memory allocation is used to efficiently manage memory, then memory efficiency is improved, but software application complexity increases

Engineering Contradiction:
Improvememory efficiencyVSAvoidsoftware application complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (the database system's memory management mechanism) that automatically handles the complexity of dynamic memory allocation. The system monitors actual memory usage and selects appropriate memory allocation strategies without requiring software applications to directly manage or understand memory allocation complexity, thus maintaining memory efficiency while shielding applications from complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The database system performs self-service by automatically monitoring its own memory usage patterns and dynamically adjusting memory allocation for stored statements. The system uses feedback from actual runtime memory consumption to autonomously optimize memory allocation, eliminating the need for complex application-level memory management while maintaining efficiency.

Inventive Principle:
Principle #25Self-service

2Device complexity

If static memory allocation is used to simplify software applications, then software application complexity is reduced, but memory efficiency deteriorates due to shortages or wastage

Engineering Contradiction:
Improvesoftware application complexityVSAvoidmemory efficiency
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The patent implements a dynamic memory allocation system where the database automatically adjusts memory allocation for stored statements based on actual runtime needs. The system monitors memory consumption patterns and dynamically selects allocation strategies, transforming the static allocation approach into a dynamic one that maintains both simplicity for applications and efficiency for memory usage.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of memory allocation from fixed static values to dynamically adjusted values based on actual usage. The database monitors runtime memory consumption and adjusts allocation parameters automatically, allowing software applications to remain simple while memory efficiency is optimized through parameter changes at the system level.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If large objects are allocated with maximum size in static memory allocation, then object size capacity is improved, but memory availability deteriorates due to shortages

Engineering Contradiction:
Improveobject size capacityVSAvoidmemory availability
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent applies partial action by allocating memory for large objects based on actual usage needs rather than maximum capacity. The system monitors runtime memory consumption and allocates only the necessary portion of memory required for each object, avoiding the excessive allocation of maximum size that leads to memory shortages while still supporting large object capabilities.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The database system implements feedback mechanisms to monitor actual memory consumption of large objects during runtime. Based on this feedback, the system dynamically adjusts memory allocation for subsequent operations, ensuring that memory is allocated according to actual needs rather than maximum potential requirements, thus maintaining object size capacity while preserving memory availability.

Inventive Principle:
Principle #23Feedback

4Reliability

If software applications are designed according to specific database memory allocation, then database compatibility is improved, but adaptability deteriorates when porting to different databases

Engineering Contradiction:
Improvedatabase compatibilityVSAvoidsoftware application portability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal memory management interface at the database level that handles different memory allocation strategies. This universal layer allows software applications to interact with a standardized interface regardless of the underlying database's memory allocation mechanism, enabling applications to maintain compatibility with their original database while adapting to different databases without significant redesign.

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

Data Source

PatentUS20180165030A1Dynamic management of memory allocation in a database
Publication Date: 2018.06.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20180165030A1 patent drawing
  • US20180165030A1 patent drawing
  • US20180165030A1 patent drawing

AI summary

A method for managing memory allocation in a database receives an invocation of a stored statement defined to allocate objects, each with a stored size. The method determines an actual size relating to the invocation and determines a preferred statement among defined statements with defined object sizes. The defined statements include the stored statement and alternative stored statements that provide an alternative implementation of the stored statement defined to allocate the objects with alternative sizes lower than stored sizes. The preferred statement has defined sizes compliant to actual sizes according to preference criterion based on comparing defined and actual sizes. The method invokes the preferred statement for execution in place of the stored statement when different. The method stores a new statement, having new sizes compliant to actual sizes according to alternate criterion, responsive to unfulfilling a condition based on comparing defined sizes of the preferred statement with actual sizes.