Database Storage Allocation Using Cost Penalty Function

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage allocation methods in database management systems face challenges in efficiently allocating storage for new records while minimizing fragmentation and maintaining related data proximity, especially with variable-length records and the need to compress data, leading to impractical fixed-sized block approaches and ineffective search methods considering only one attribute at a time.

Innovation Solution

The method identifies an ideal location for a data record based on its attributes and selects it if available, or uses a cost penalty function to evaluate alternative locations, maintaining lists of free blocks for different sizes and key values to achieve better clustering and lower fragmentation by considering both record key value and free block size, and employing a penalty function to guide the search for optimal placement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If fixed-sized blocks are used for storage allocation, then allocation speed is improved and internal fragmentation is reduced, but external fragmentation increases and storage utilization deteriorates

Engineering Contradiction:
Improveallocation speedVSAvoidstorage utilization
Core Design Contradiction:
SpeedVSLoss of substance

Solution Approach 1:

The patent segments the storage allocation problem into two distinct phases: (1) identifying an ideal location based on record attributes and clustering requirements, and (2) if no ideal location exists, identifying an alternative location using a cost penalty function. This segmentation allows the system to first attempt optimal placement for clustering, then fall back to penalty-based placement to minimize fragmentation, thereby resolving the contradiction between allocation speed and storage utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of block size from fixed to variable by maintaining lists of free blocks for different sizes and using a cost penalty function that considers both record key value and free block size. This allows the system to adapt block sizes to actual record needs, improving storage utilization while maintaining reasonable allocation speed through the two-phase approach.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If related data is placed on the same storage block, then query time is improved, but storage flexibility deteriorates and unused storage increases

Engineering Contradiction:
Improvequery timeVSAvoidstorage flexibility
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamics into the storage allocation process by using a cost penalty function that can adapt to different scenarios. The penalty function dynamically evaluates alternative locations based on clustering quality and storage efficiency, allowing the system to balance between placing related records together (for fast queries) and utilizing storage flexibly (to avoid unused space). This dynamic approach resolves the contradiction by making clustering optional rather than rigid.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The cost penalty function acts as a feedback mechanism that evaluates the quality of alternative storage locations. By computing penalties based on deviations in key values and block sizes, the system receives feedback on how well alternative placements satisfy clustering requirements, and uses this feedback to select the best compromise location, thereby balancing query performance with storage flexibility.

Inventive Principle:
Principle #23Feedback

3Loss of substance

If variable-length records are supported, then storage efficiency is improved, but allocation complexity increases and fixed block approaches become impractical

Engineering Contradiction:
Improvestorage efficiencyVSAvoidallocation complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent creates a universal storage allocation framework that handles both fixed and variable-length records through the same two-phase process. The cost penalty function serves as a multi-functional tool that evaluates locations based on record attributes regardless of whether records are fixed or variable length. This universality allows the system to support variable-length records efficiently without requiring separate allocation mechanisms, thereby improving storage efficiency while managing complexity through a unified approach.

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

4Ease of operation

If one-dimensional search is used (considering only size or key value), then search simplicity is maintained, but allocation optimality deteriorates

Engineering Contradiction:
Improvesearch simplicityVSAvoidallocation optimality
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The patent transitions from one-dimensional search (considering only size or only key value) to two-dimensional search by maintaining lists of free blocks indexed by both size and key value, and by using a cost penalty function that evaluates both dimensions simultaneously. This dimensional expansion allows the system to consider multiple attributes (record size, key value, clustering requirements, block availability) in the allocation decision, significantly improving allocation optimality while maintaining search simplicity through the structured two-phase process.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS8122219B2Storage allocation
Publication Date: 2012.02.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8122219B2 patent drawing
  • US8122219B2 patent drawing
  • US8122219B2 patent drawing

AI summary

Techniques for storage allocation of a data record are provided. The techniques include attempting to identify a first location for storing a data record, wherein the data record comprises one or more data record attributes, if the first location is identified, selecting the first location for storing the data record, and if the first location is not identified, identifying a second location for storing the data record using a cost penalty function and selecting the second location for storing the data record based on the cost penalty function.