Hypercube Cache Versioning With Anchor Pointers for Concurrent Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing query evaluation systems face challenges in efficiently managing large and complex hypercubes with changing data, leading to substantial memory resource consumption and scalability bottlenecks due to the need for data consistency during long-running processes.

Innovation Solution

Implementing a multi-version concurrency control system that snapshots and versions data at the value object level, using anchor objects and snapshot chains to ensure data consistency without blocking reads and writes, 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 resource consumption increases substantially

Engineering Contradiction:
Improvedata consistencyVSAvoidmemory resource consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the hypercube data into individual versioned objects, where only the specific data objects being modified are copied to create new versions, rather than copying the entire hypercube. This segmentation allows processes to access consistent versions of data without requiring full hypercube copies, thereby maintaining data consistency while reducing memory consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements selective copying by creating copies only of the specific data objects that need versioning, rather than copying the entire hypercube. Each data object maintains its own version history, allowing processes to access appropriate versions without requiring full dataset copies, thus reducing memory resource consumption while preserving data consistency.

Inventive Principle:
Principle #26Copying

2Reliability

If full copies of the hypercube are made for versioning, then data consistency is ensured, but the system complexity and overhead increase

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the versioning mechanism into individual data object level, where each object maintains its own version metadata and history. This segmentation simplifies the overall system by avoiding the complexity of managing full hypercube copies, as only specific objects are versioned and tracked independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a version dimension to individual data objects rather than creating separate full hypercube copies for each version. This dimensional approach allows processes to access historical versions by navigating the version dimension of specific objects, reducing system complexity compared to managing multiple full hypercube instances.

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

3Quantity of substance

If the hypercube data is updated in place, then memory usage is efficient, but concurrent read processes may access inconsistent data

Engineering Contradiction:
Improvememory usageVSAvoiddata consistency
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent creates new versioned copies of data objects before in-place updates occur, ensuring that existing processes continue to access the original consistent versions while new processes can access the updated versions. This preliminary versioning action allows efficient in-place updates without compromising data consistency for concurrent readers.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces version metadata as an intermediary layer between the data objects and accessing processes. This metadata tracks version information and guides processes to the appropriate data versions, allowing in-place updates to proceed efficiently while maintaining data consistency through the intermediary version control mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If version information is stored centrally, then data consistency is maintained, but access speed and scalability decrease

Engineering Contradiction:
Improvedata consistencyVSAvoidaccess speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments version information storage to be distributed across individual data objects rather than centralized. Each data object contains its own version metadata, allowing processes to access version information locally without centralized bottlenecks, thereby improving access speed while maintaining data consistency through decentralized version tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local version information storage within each data object, allowing processes to access version metadata locally without querying a central repository. This local quality approach improves access speed by eliminating centralized bottlenecks while maintaining data consistency through locally embedded version control information.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12561307B2Memory efficient multi-versioned concurrency for a hypercube memory cache using anchor object pointers
Publication Date: 2026.02.24 WORKDAY INC
  • US12561307B2 patent drawing
  • US12561307B2 patent drawing
  • US12561307B2 patent drawing

AI summary

A system, method, and device for managing updates to a hypercube is provided. The method includes (i) obtaining a hypercube comprising a plurality of locations, wherein a particular location has an associated anchor object that stores version information for the particular location, (ii) receiving a request to store an updated value for the particular location, and (iii) storing the updated value for the particular location of hypercube, the updated value being stored with associated version information stored in the anchor object for the particular location.