IP Library Granted Patent US 11,281,696
Granted Patent B1
US 11,281,696 · App. 16/397,600 · Granted Mar 22, 2022

Systems and methods for improving computational speed of planning by tracking dependencies in hypercubes

Inventors: Ngoc Nguyen (Cupertino, CA); Darren Kermit Lee (Sunnyvale, CA); Shuyuan Chen (Palo Alto, CA); Ritu Jain (Fremont, CA); Francis Wang (Foster City, CA)
Assignee: Workday, Inc.
G06F16/283G06F9/3838G06F12/0891G06F16/2264G06F16/248
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,281,696
App. No.
16/397,600
Granted
Mar 22, 2022
Kind
B1
Abstract

A system for updating a hypercube includes an interface and a processor. The interface is configured to receive an indication to update a cell of the hypercube. The processor is configured to determine a primary dimension value associated with the cell; determine a group of dependencies based at least in part on the primary dimension value, wherein a dependency of the group of dependencies comprises one or more primary dimension values and a pattern; for the dependency of the group of dependencies, determine a set of source locations based at least in part on the one or more primary dimension values and the pattern; and mark the set of source locations as invalid.

Claims (46)

1. A system for updating a hypercube, comprising:

an interface configured to:

receive an indication to update a cell of the hypercube;

a hardware processor; and

a memory coupled with the processor, wherein the memory is configured to provide the hardware processor with instructions which when executed cause the hardware processor to:

update the cell of the hypercube;

determine a primary dimension value associated with the cell;

map the primary dimension value to a group of dependencies, wherein a dependency of the group of dependencies is associated with a dependency pattern;

retrieve the dependency pattern associated with the dependency;

determine a set of source locations based at least in part on the dependency pattern;

determine whether a source location of the set of source locations is marked as invalid; and

in response to a determination that the source location is not marked as invalid, mark the source location as invalid, wherein a value of the source location marked as invalid is to be recalculated.

2. The system of claim 1 , wherein the processor is further to determine a primary dimension associated with the cell.

3. The system of claim 2 , wherein the processor is further to determine a set of primary dimension values associated with the primary dimension.

4. The system of claim 1 , wherein the dependency pattern is one of a plurality of available dependency patterns.

5. The system of claim 1 , wherein the set of source locations is determined by aggregating source locations identified using the dependency pattern.

6. The system of claim 1 , wherein a source location of the set of source locations comprises a second source location of a second set of source locations based at least in part on a second group of one more primary dimension values and a second dependency pattern associated with a second dependency of the group of dependencies.

7. The system of claim 1 , wherein the processor is further to:

after the source location is marked as invalid, use a location of the set of source locations to determine a subsequent set of source locations associated with the location.

8. The system of claim 1 , wherein the dependency pattern indicates that all non-primary dimensions are specified by inheritance based on a location of the cell.

9. The system of claim 1 , wherein the dependency pattern indicates that a level dimension value is specified by inheritance based on a location of the cell.

10. The system of claim 1 , wherein the dependency pattern indicates that no dimension values are specified by inheritance based on a location of the cell.

11. The system of claim 1 , wherein the dependency pattern indicates that a set of dimension values are specified using qualifiers associated with the cell.

12. The system of claim 1 , wherein the dependency pattern comprises a cross version pattern.

13. The system of claim 1 , wherein the dependency pattern comprises a version-specific pattern.

14. The system of claim 1 , wherein the hypercube includes a source subcube and a destination subcube, and wherein a source subcube data structure is mapped to a destination subcube data structure enabling faster access to data between the source subcube and the destination subcube.

15. A method for updating the hypercube, comprising:

receiving an indication to update a cell of the hypercube;

updating, using a processor, the cell of the hypercube;

determining a primary dimension value associated with the cell;

mapping the primary dimension value to a group of dependencies, wherein a dependency of the group of dependencies is associated with a dependency pattern;

retrieving the dependency pattern associated with the dependency;

determining a set of source locations based at least in part on the dependency pattern;

determining whether a source location of the set of source locations is marked as invalid; and

in response to a determination that the source location is not marked as invalid, marking the source location invalid, wherein a value of the source location marked as invalid is to be recalculated.

16. A computer program product for updating the hypercube, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving an indication to update a cell of the hypercube;

updating the cell of the hypercube;

determining a primary dimension value associated with the cell;

mapping the primary dimension value to a group of dependencies, wherein a dependency of the group of dependencies is associated with a dependency pattern;

retrieving the dependency pattern associated with the dependency;

determining a set of source locations based at least in part on the dependency pattern;

determining whether a source location of the set of source locations is marked as invalid; and

in response to a determination that the source location is not marked as invalid, marking the source location as invalid, wherein a value of the source location marked as invalid is to be recalculated.

17. The system of claim 1 , wherein in response to a determination that the source location is marked as invalid, not marking the source location as invalid, wherein the value of the source location marked as invalid is to be recalculated.

18. The system of claim 1 , wherein the memory is further configured to provide the hardware processor with instructions to recalculate the source location in response to the source location being marked as invalid.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2019
From: NGUYEN, NGOC; LEE, DARREN KERMIT; CHEN, SHUYUAN; JAIN, RITU; WANG, FRANCIS
To: WORKDAY, INC.
Reel/Frame 050514/0631 →
Continuity (1)
Provisional Application 62664429 · Apr 30, 2018
Cited By (7)
US 12,204,519 US 12,248,403 US 12,468,678 US 12,561,307 US 12,632,430 US 12,632,435 US 12,632,438