Hypercube Version Propagation for Memory-Efficient Scenario Planning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing query evaluation systems face challenges in efficiently managing large and complex hypercubes due to memory resource constraints and scalability issues when dealing with changing data, particularly in ensuring data consistency during long-running processes.

Innovation Solution

Implementing a multiversion concurrency control system that uses anchor objects and snapshot chains to efficiently store and manage hypercube versions, allowing for localized storage and reduced overhead by referencing base version values for scenario versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complete copies of hypercube versions are stored in memory to ensure data consistency, then data consistency is improved, but memory resource consumption increases substantially

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

Solution Approach 1:

The patent implements version nesting where scenario versions are embedded within a base version structure. Instead of storing complete independent copies, each version contains only the specific data elements that differ from its parent version, creating a nested hierarchy that reduces overall memory consumption while maintaining version integrity and data consistency.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent segments hypercube data into discrete data elements that can be independently versioned. By dividing the hypercube into manageable segments rather than treating it as a monolithic structure, the system can store and manage individual data elements across multiple versions, significantly reducing the memory footprint required to maintain version history and ensure data consistency.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the entire hypercube is copied when data changes to ensure consistency, then data consistency is maintained, but processing time and system overhead increase

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts and stores only the changed data elements when version updates occur, rather than copying the entire hypercube. This extraction approach isolates the minimal necessary data for versioning, reducing processing time and system overhead while maintaining data consistency through selective copying of only the modified segments.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If complete hypercube versions are stored for each scenario, then scenario independence is improved, but device complexity increases

Engineering Contradiction:
Improvescenario independenceVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a nested version hierarchy where scenario versions are structurally embedded within a base version, establishing clear parent-child relationships. This nested structure provides scenario independence through version isolation while reducing system complexity by eliminating redundant data storage and simplifying the version management architecture through hierarchical organization.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS20260023730A1What if scenario planning - updating a base plan version
Publication Date: 2026.01.22 WORKDAY INC
  • US20260023730A1 patent drawing
  • US20260023730A1 patent drawing
  • US20260023730A1 patent drawing

AI summary

A system, method, and device for updating a base version of a hypercube are provided. The method includes (i) obtaining a request for a planning session with respect to a hypercube; and (ii) in response to obtaining the request: (a) determining that the planning session uses a base version of the hypercube, (b) receiving a value input to update a particular location in the hypercube, (c) storing the value for the particular location in the base version of the hypercube, and (d) propagating an update to the particular location of the base version of the hypercube to one or more scenario versions having a dependency on the base version.