Memory-Efficient Hypercube Cache Versioning With Virtual Tuples

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing query evaluation systems face challenges in efficiently managing large and complex hypercube data with changing data over time, requiring substantial memory resources and causing scalability bottlenecks due to read and write locks, especially when dealing with long-running read sessions.

Innovation Solution

Implementing a multi-versioned concurrency control system that snapshots and versions data at the value object level, using snapshot chains and anchor objects to ensure data consistency without blocking, and efficiently managing memory usage through localized storage and cleanup operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire hypercube is copied to ensure data consistency during updates, then data consistency is maintained, but memory resources are substantially consumed

Engineering Contradiction:
Improvedata consistencyVSAvoidmemory resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the hypercube data into individual value objects, each with its own version history. Instead of copying the entire hypercube, only specific value objects that need updates are versioned independently. This segmentation allows the system to maintain data consistency for updated objects while avoiding the memory overhead of full hypercube copies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements selective copying by creating snapshots only for specific value objects that are being updated, rather than copying the entire hypercube. Each value object maintains its own snapshot chain, allowing the system to copy minimal data necessary for consistency while dramatically reducing memory consumption compared to full hypercube replication.

Inventive Principle:
Principle #26Copying

2Reliability

If read and write locks are used to manage concurrent access, then data consistency is ensured, but scalability is bottlenecked especially for long-running read sessions

Engineering Contradiction:
Improvedata consistencyVSAvoidscalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic versioning where each value object maintains a chain of snapshots with associated validity periods. Readers can dynamically select appropriate snapshots based on their transaction timestamps, allowing long-running read sessions to access historical data without blocking writers. Writers dynamically create new snapshots and update validity periods, enabling concurrent access without traditional locks.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces snapshot chains and validity period metadata as intermediaries between readers and writers. Instead of direct locked access, readers query the anchor object to determine which snapshots are valid for their transaction time, and writers update the anchor object with new snapshot references. This intermediary mechanism eliminates blocking while maintaining consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If full hypercube copies are stored for versioning, then data consistency across time is maintained, but memory usage increases substantially

Engineering Contradiction:
Improvedata consistency over timeVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments versioning storage at the value object level rather than at the hypercube level. Each value object maintains its own snapshot chain, allowing the system to store only the specific versions needed for each data element. This segmentation reduces total memory usage compared to storing full hypercube copies for each version point.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies versioning with different retention characteristics to different value objects through their individual snapshot chains. Each value object can maintain its own history independently, allowing the system to optimize memory usage by keeping only necessary historical versions locally at each value object rather than maintaining global hypercube-wide version copies.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250321894A1Memory efficient multi-versioned concurrency for a hypercube memory cache using virtual tuples
Publication Date: 2025.10.16 WORKDAY INC
  • US20250321894A1 patent drawing
  • US20250321894A1 patent drawing
  • US20250321894A1 patent drawing

AI summary

A system, method, and device for indexing to a hypercube is provided. The method includes (i) obtaining an index that maps dimensional values to a collection of locations within a hypercube, (ii) determining that one or more tuples of the hypercube is updated along a particular dimension, and (iii) in response to determining that the one or more tuples of hypercube is updated along a particular dimension, creating a new virtual tuple for each updated row and updating the index to store a pointer to the new virtual tuple for a new particular dimension value, the virtual tuple comprising a pointer to a tuple in the index and a validity period for the tuple.