Derived Table Growth Pattern Inheritance for Memory Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvememory allocation simplicityVSAvoidmemory allocation efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveallocation process complexityVSAvoidmemory resource waste
Core Design Contradiction:
Device complexityVSLoss of substance

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If individual growth patterns are defined for each table, then memory allocation is optimized for each table, but system complexity increases significantly

Engineering Contradiction:
Improvememory allocation optimizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

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

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9135158B2Inheritance of growth patterns for derived tables
Publication Date: 2015.09.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9135158B2 patent drawing
  • US9135158B2 patent drawing
  • US9135158B2 patent drawing

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.