In-Memory Database Resource Container Timestamp Eviction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory database systems face challenges in efficiently managing resources, particularly in evicting least recently used resources to optimize memory usage and ensure data consistency during transactions, which can lead to suboptimal performance and increased downtime.

Innovation Solution

Implementing a resource container with timestamp-based eviction policies, where resources are assigned new timestamps upon loading and updated based on access type, allowing for selective eviction of least recently used resources to free memory for new or expanding resources, and optionally modifying resource headers to indicate access relevance for eviction purposes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If resources are kept in memory for extended periods to ensure data consistency and reduce disk I/O, then system performance and availability improve, but memory consumption increases and resources may become stale or unused

Engineering Contradiction:
Improvesystem performanceVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic resource management by introducing timestamp-based eviction policies that automatically adjust which resources remain in memory. Resources are assigned timestamps upon loading and updated on access, enabling the system to dynamically identify and evict least recently used resources when memory pressure occurs, thus balancing performance and memory consumption

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies discarding and recovering by evicting stale or unused resources from memory to disk storage when they are no longer actively needed. The timestamp mechanism identifies candidates for eviction, and when resources are evicted, their memory space is recovered and made available for new or expanding resources, preventing permanent memory allocation for unused data

Inventive Principle:
Principle #34Discarding and recovering

2Speed

If all resources are retained in memory to avoid disk I/O operations, then data access speed improves, but the system becomes vulnerable to failures and recovery complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoidsystem reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements preliminary action by maintaining timestamp records for all resources before potential failures occur. These timestamps serve as pre-computed metadata that enable rapid identification of resources for eviction or recovery without requiring complex analysis during failure scenarios, thus improving both access speed and reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses timestamp feedback to continuously monitor resource usage patterns. When resources are accessed, their timestamps are updated, providing feedback about their relevance. This feedback mechanism enables the system to make informed decisions about which resources to retain in memory for speed and which can be evicted to disk for reliability, creating a balanced approach

Inventive Principle:
Principle #23Feedback

3Reliability

If memory is allocated to ensure data consistency during transactions, then transaction reliability improves, but memory availability for new resources decreases

Engineering Contradiction:
Improvetransaction reliabilityVSAvoidmemory availability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies parameter changes by using timestamps as a key parameter to track resource state and usage. By changing the timestamp parameter on resource access, the system can dynamically adjust memory allocation decisions. Resources with older timestamps are candidates for eviction, allowing memory to be reallocated to new resources while maintaining reliability for actively used resources

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10776165B2Optimized database resource handling
Publication Date: 2020.09.15 SAP SE
  • US10776165B2 patent drawing
  • US10776165B2 patent drawing
  • US10776165B2 patent drawing

AI summary

Resources are loaded into a resource container in an in-memory database system in which pages are loaded into memory and having associated physical disk storage. Each resource is assigned a new time stamp when such resource is loaded into the resource container. At least some of the references are subsequently accessed and time stamps associated with these accesses resources are selectively updated based on the type of access. These time stamps are later used to evict least recently used resources (as indicated by their time stamps) from the resource container.