Variable Size Entry Container Free Space Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In-memory database systems face inefficiencies in allocating entries due to fragmentation caused by variable-sized entries, leading to gaps and overhead in managing free space within pages.
Innovation Solution
A method is introduced where entries are allocated in existing pages with free space, and if none is found, a new page is created and appended to the chain, optimizing allocation by measuring fragmentation and usage patterns to manage space effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If entries are allocated in variable size containers with gaps, then flexibility in entry sizing is improved, but fragmentation and free space management overhead increase
Solution Approach 1:
The patent changes the parameter of page utilization from variable to fixed by introducing a utilization threshold (e.g., 80%). When a page reaches this threshold, it is marked as full and new pages are allocated, eliminating the need to manage fragmented free space within pages. This resolves the contradiction by maintaining entry size flexibility while simplifying space management through a fixed utilization parameter.
Solution Approach 2:
The patent segments the container into multiple fixed-size pages, each independently managed with a clear boundary defined by the utilization threshold. This segmentation allows the system to treat each page as a discrete unit, avoiding cross-page fragmentation issues and simplifying free space management while preserving overall flexibility through page-level allocation.
2Productivity
If new pages are created frequently to avoid fragmentation, then allocation efficiency is improved, but memory usage and chain complexity increase
Solution Approach 1:
The patent applies preliminary action by pre-defining page utilization thresholds before allocation occurs. When a page reaches the threshold, it is proactively marked as full and new pages are pre-allocated, preventing fragmentation before it occurs. This preliminary threshold-based action improves allocation efficiency while controlling memory usage through predictable page lifecycle management.
Solution Approach 2:
The patent introduces dynamic page utilization thresholds that can be adjusted based on system conditions. The threshold parameter allows the system to adapt between more conservative (lower threshold, fewer pages) and more aggressive (higher threshold, more pages) allocation strategies, balancing allocation efficiency against memory usage dynamically.
3Loss of substance
If free space is tracked and reused within pages, then space utilization is improved, but processor overhead for managing free space increases
Solution Approach 1:
The patent extracts the free space management problem from the page level by introducing a threshold-based approach. Instead of tracking and reusing free space within pages, the system extracts unused capacity by creating new pages when thresholds are reached, eliminating the need for complex free space tracking and reducing processor overhead while maintaining reasonable space utilization.
Solution Approach 2:
The patent treats pages as disposable units with a defined lifecycle based on utilization thresholds. Rather than investing significant processor overhead in reclaiming and reusing free space within pages, the system allows pages to become full and are replaced with new pages, using a simpler, less computationally expensive approach to maintain space utilization.
Data Source
AI summary
Allocation of an entry in a variable size entry container is initiated in an in-memory database system. The variable size entry container includes a plurality of pages forming a chain. Thereafter, it is determined whether free space is found within the pre-existing pages. If free space is found, the entry is allocated in the free space. Otherwise, a new page is created and appended to the chain so that the entry can be allocated on such new page.


