IP Library Granted Patent US 10,776,397
Granted Patent B2
US 10,776,397 · App. 14/494,524 · Granted Sep 15, 2020

Data interest estimation for n-dimensional cube computations

Inventors: Santosh Kalki (Seattle, WA); Srinivasan Sundar Raghavan (Mercer Island, WA); Timothy Andrew Rath (Des Moines, WA); Mukul Vijay Karnik (Redmond, WA); Amol Devgan (Seattle, WA); Swaminathan Sivasubramanian (Sammamish, WA)
Assignee: AMAZON TECHNOLOGIES, INC.
G06F16/283G06F16/185G06F16/24G06F16/26G06F16/278G06F16/282G06F16/9027G06F21/6236H04L63/10
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 10,776,397
App. No.
14/494,524
Granted
Sep 15, 2020
Kind
B2
Abstract

An online analytical processing system may comprise an n-dimensional cube partitioned into slices, in which each slice may represent data points at the intersections of fixed and variable dimensions. Computation of data points within a slice may be deferred. A dependency graph may be initially constructed, in which the dependency graph is utilized in a subsequent computation. Calculation of data points may be prioritized based on information indicative of a chance that the data points will be accessed.

Claims (54)

1. A system, comprising:

one or more memories having stored thereon computer-readable instructions that, upon execution by a computing device, cause the system at least to:

identify a dependency between a first data point of a plurality of data points and a second data point of the plurality of data points in response to an addition of a new dimension to an n-dimensional cube, the dependency comprising calculation of the second data point based on the first data point;

determine a priority for calculating the second data point, the priority based at least in part on information indicative of a chance of receiving a request to access the second data point;

schedule a calculation of the second data point based at least in part on the priority and on information indicative of a change to the first data point received via a real-time stream of data;

add a new slice to the n-dimensional cube, wherein the new slice includes a fixed dimension that corresponds to the added dimension, and one or more variable dimensions; and

store the second data point based on the scheduled calculation.

2. The system of claim 1 , further comprising one or more memories having stored thereon computer-readable instructions that, upon execution by the computing device, cause the system at least to:

calculate the chance of receiving the request to access the second data point based at least in part on receiving information indicative of interaction with a user interface.

3. The system of claim 1 , further comprising one or more memories having stored thereon computer-readable instructions that, upon execution by the computing device, cause the system at least to:

calculate the chance of receiving the request to access the second data point based at least in part on access patterns implied by queries executed against at least one of the n-dimensional cube comprising the plurality of data points or a transactional data source related to the n-dimensional cube.

4. The system of claim 1 , further comprising one or more memories having stored thereon computer-readable instructions that, upon execution by the computing device, cause the system at least to:

calculate the chance of receiving the request to access the second data point based at least in part on a request to perform at least one of a drill-down, drill-up, or pivot.

5. The system of claim 1 , further comprising one or more memories having stored thereon computer-readable instructions that, upon execution by the computing device, cause the system at least to:

determine the priority for calculating the second data point based at least in part on time elapsed while calculating the second data point.

6. A computer-implemented method, comprising:

adding a dimension to an n-dimensional cube based at least in part on a data stream, wherein a first data point is based at least in part on the added dimension;

adding a new slice to the n-dimensional cube, wherein the new slice includes a fixed dimension that corresponds to the added dimension, and one or more variable dimensions;

identifying a dependency between the first data point and a second data point in response to adding the dimension;

determining a priority for calculating the second data point, the priority based at least in part on information indicative of a chance of receiving a request to access the second data point;

scheduling a calculation of the second data point based at least in part on the priority and on a change to the first data point; and

storing the second data point based on the scheduled calculation.

7. The computer-implemented method of claim 6 , further comprising:

calculating the chance of receiving the request to access the second data point based at least in part on receiving information indicative of interaction with at least one of a drill-down, drill-up, or pivot control.

8. The computer-implemented method of claim 6 , further comprising:

calculating the chance of receiving the request to access the second data point based at least in part on access patterns implied by queries executed against at least one of the n-dimensional cube or a transactional data source related to the n-dimensional cube.

9. The computer-implemented method of claim 8 , wherein the access pattern comprises access to an aggregate value.

10. The computer-implemented method of claim 6 , further comprising:

determining the priority for calculating the second data point based at least in part on a cost of computing the second data point.

11. The computer-implemented method of claim 6 , further comprising:

calculating the second data point based at least in part on receiving the request to access the second data point.

12. The computer-implemented method of claim 6 , further comprising:

determining that the chance of receiving the request to access the second value is increased, based at least in part on the first data point being transmitted to a computing device for display to a user.

13. A non-transitory computer-readable storage medium having stored thereon instructions that, upon execution by one or more computing devices, cause the one or more computing devices at least to:

identify a dependency between a first data point and a second data point in response to an addition of a new dimension to an n-dimensional cube;

add a new slice to the n-dimensional cube, wherein the new slice includes a fixed dimension that corresponds to the added dimension, and one or more variable dimensions;

determine a priority for calculating the second data point, the priority based at least in part on information indicative of a chance of receiving a request to access the second data point;

schedule a calculation of the second data point based at least in part on the priority and on a change to the first data point; and

store the second data point based on the scheduled calculation.

14. The non-transitory computer-readable storage medium of claim 13 , comprising further instructions that, upon execution by the one or more computing devices, cause the one or more computing devices to at least:

calculate the chance of receiving the request to access the second data point based at least in part on receiving information indicative of performing at least one of a drill-down, drill-up, or pivot operation.

15. The non-transitory computer-readable storage medium of claim 13 , comprising further instructions that, upon execution by the one or more computing devices, cause the one or more computing devices to at least:

calculate the chance of receiving the request to access the second data point based at least in part on access patterns implied by queries executed against at least one of the n-dimensional cube comprising the first and second data points or a transactional data source related to the n-dimensional cube.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the access pattern includes a query processed by at least one of the n-dimensional cube or the transactional data source related to the n-dimensional cube, the query comprising an aggregation clause.

17. The non-transitory computer-readable storage medium of claim 13 , comprising further instructions that, upon execution by the one or more computing devices, cause the one or more computing devices to at least:

determine the priority for calculating the second data point based at least in part on a cost of computing the second data point.

18. The non-transitory computer-readable storage medium of claim 13 , comprising further instructions that, upon execution by the one or more computing devices, cause the one or more computing devices to at least:

calculate the second data point based at least in part on receiving the request to access the second data point.

19. The non-transitory computer-readable storage medium of claim 13 , comprising further instructions that, upon execution by the one or more computing devices, cause the one or more computing devices to at least:

determine that the chance of receiving the request to access the second data point is increased, based at least in part on the first data point being transmitted to a computing device for display to a user.

20. The non-transitory computer-readable storage medium of claim 13 , comprising further instructions that, upon execution by the one or more computing devices, cause the one or more computing devices to at least:

determine to calculate the second data point based at least in part on the priority, the priority being relative to priorities for calculating other data points of the first and second data points in an n-dimensional cube.

21. The non-transitory computer-readable storage medium of claim 13 , comprising further instructions that, upon execution by the one or more computing devices, cause the one or more computing devices to at least:

determine to calculate the second data point based at least in part on a security attribute associated with at least one of the second data point, a dimension, a hierarchy, or an n-dimensional cube comprising the first and second data points.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2014
From: KALKI, SANTOSH; RAGHAVAN, SRINIVASAN SUNDAR; RATH, TIMOTHY ANDREW; KARNIK, MUKUL VIJAY; DEVGAN, AMOL; SIVASUBRAMANIAN, SWAMINATHAN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 034272/0597 →
Continuity (2)
Provisional Application 62015312 · Jun 20, 2014
Related Publication 20150370883A1 · Dec 24, 2015