Derived Table Growth Pattern Inheritance for Memory Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Fixed memory allocation in systems leads to inefficient memory usage, particularly in environments with thousands or millions of tables, resulting in either insufficient or excessive memory allocation.
Innovation Solution
Defining a growth pattern for memory allocation that dynamically increases allocation sizes based on table size or usage patterns, allowing for efficient memory management by inheriting these patterns from a template table, which can include rules for appending data and defragmentation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If fixed memory allocation is used for tables, then memory allocation is simple and predictable, but memory allocation efficiency deteriorates and resource waste increases
Solution Approach 1:
The patent implements dynamic memory allocation by defining growth patterns that automatically adjust memory allocation based on table size and usage. Instead of fixed allocation, the system continuously monitors table growth and allocates additional pages according to predefined growth patterns, transforming the static allocation process into a dynamic one that adapts to actual needs.
Solution Approach 2:
The patent changes the allocation parameter from a fixed value to a variable that depends on table characteristics. Growth patterns define allocation parameters such as page size, allocation threshold, and growth rate, which are adjusted based on the specific needs of each table, allowing optimization of memory usage for different table types and workloads.
2Device complexity
If fixed memory allocation is used for tables, then allocation process is straightforward, but resource waste increases due to insufficient or excessive allocation
Solution Approach 1:
The patent enables tables to effectively manage their own memory allocation through inherited growth patterns. Each table automatically determines its memory needs based on its growth characteristics, and the system allocates memory autonomously according to the defined patterns, reducing the need for manual intervention and optimizing resource utilization.
Solution Approach 2:
The patent pre-defines growth patterns that anticipate future memory needs of tables. By establishing allocation rules in advance based on typical growth behaviors, the system proactively allocates memory before tables actually need it, preventing both insufficient allocation and excessive waste by matching allocation to predicted requirements.
3Productivity
If individual growth patterns are defined for each table, then memory allocation is optimized for each table, but system complexity increases significantly
Solution Approach 1:
The patent creates a universal growth pattern mechanism that serves multiple tables simultaneously. A single growth pattern definition can be applied to many tables with similar characteristics, allowing the system to maintain optimization benefits while reducing complexity through reuse and standardization of allocation patterns across the database system.
Solution Approach 2:
The patent implements inheritance where derived tables copy growth patterns from template tables. Instead of defining unique growth patterns for each table, the system creates template tables with optimized patterns that are then copied and inherited by multiple derived tables, significantly reducing the number of unique pattern definitions needed while maintaining individual optimization capabilities.
Data Source
AI summary
Systems and methods are disclosed in which a derived table can inherit a growth pattern from a template table. A growth pattern is used to define how memory is allocated to a table as the table grows. The derived table can inherit the growth pattern defined by its template table or it can provide an override growth pattern. Inheritance of the growth pattern can be performed by explicit copying or by reference or link. Growth patterns can be edited, and the edits can be applied universally or locally.


