IP Library › Granted Patent US 9,619,548
Granted Patent B2
US 9,619,548 · App. 14/282,739 · Granted Apr 11, 2017

Dimension widening aggregate data

Inventors: Niranjan Heddese Sitaram Shastry (Mountain View, CA); Jieyan Fan (Mountain View, CA); Yuan Zhuge (Mountain View, CA); Sze Chit Ho (Mountain View, CA); Richard Maher (Mountain View, CA); Timothy John Wright (Mountain View, CA)
Assignee: Google Inc.
G06F17/30592G06F17/30292G06F17/30297G06F17/30424
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 9,619,548
App. No.
14/282,739
Filed
May 20, 2014
Granted
Apr 11, 2017
Kind
B2
Art Unit
2159
USPC
707/722
Abstract

A request for aggregate data stored in an aggregates database is received from a client device. A key-to-value dimension widening rule that applies to an aggregated data element of the requested data is identified. The key-to-value dimension widening rule includes a value dimension. A quantity of data elements that combined to form the aggregated data element is determined. A widened value dimension for the aggregated data element is calculated using the determined quantity and the value dimension. The widened value dimension is reported to the client device in response to the request.

Claims (64)

1. A method for applying dimension widening rules to aggregate data, the method comprising:

receiving, at a processing circuit, a request from a client device for aggregate data stored in an aggregates database;

identifying, by the processing circuit, a key-to-value dimension widening rule that applies to an aggregated data element of the requested data, the key-to-value dimension widening rule comprising a non-aggregated value dimension;

determining, by the processing circuit, a quantity of non-aggregated data elements that combined to form the aggregated data element;

calculating, by the processing circuit, a widened value dimension for the aggregated data element using the determined quantity and the non-aggregated value dimension;

reporting the widened value dimension to the client device in response to the request;

modifying, by the processing circuit, the request for aggregate data using a dimension widening schema associated with the client device; and

extracting the aggregated data element from the aggregates database in response to a determination that the aggregated data element satisfies the modified request.

2. The method of claim 1 , wherein the key-to-value dimension widening rule comprises a condition key, the method further comprising:

determining that the key-to-value dimension widening rule applies to the aggregated data element in response to a determination that the condition key matches a key of the aggregated data element.

3. The method of claim 1 , wherein modifying the request for aggregate data comprises:

using the dimension widening schema to identify a key-to-key dimension widening rule comprising a condition key and an action key; and

adding the condition key to a list of scan keys for the request for aggregate data in response to a determination that the list of scan keys includes the action key.

4. The method of claim 3 , wherein modifying the request for aggregate data further comprises:

adding to the request a mapping from the condition key to the action key.

5. The method of claim 1 , wherein determining whether the aggregated data element satisfies the modified request comprises:

identifying one or more scan keys of the modified request; and

determining whether a key of the aggregated data element matches one or more of the scan keys.

6. The method of claim 1 , wherein calculating the widened value dimension for the aggregated data element comprises multiplying the non-aggregated value dimension by the determined quantity.

7. The method of claim 1 , wherein determining the quantity of non-aggregated data elements that combined to form the aggregated data element comprises:

prior to aggregating the data, adding a quantity value dimension to the non-aggregated data elements; and

aggregating the quantity value dimension to calculate the quantity of non-aggregated data elements.

8. The method of claim 1 , wherein determining the quantity of non-aggregated data elements that combined to form the aggregated data element comprises:

prior to aggregating the data, generating metadata comprising an indication of the quantity of non-aggregated data elements; and

storing the generated metadata in conjunction with the aggregate data.

9. An analytics system comprising:

a processing circuit having a processor and memory, the memory storing executable instructions that, when executed by the processor, configure the processing circuit to:

receive a request from a client device for aggregate data stored in an aggregates database;

identify a key-to-value dimension widening rule that applies to an aggregated data element of the requested data, the key-to-value dimension widening rule comprising a non-aggregated value dimension;

determine a quantity of non-aggregated data elements that combined to form the aggregated data element;

calculate a widened value dimension for the aggregated data element using the determined quantity and the non-aggregated value dimension;

report the widened value dimension to the client device in response to the request;

modify the request for aggregate data using a dimension widening schema associated with the client device; and

extract the aggregated data element from the aggregates database in response to a determination that the aggregated data element satisfies the modified request.

10. The analytics system of claim 9 , wherein the key-to-value dimension widening rule comprises a condition key;

wherein the processing circuit is configured to determine that the key-to-value dimension widening rule applies to the aggregated data element in response to a determination that the condition key matches a key of the aggregated data element.

11. The analytics system of claim 9 , wherein modifying the request for aggregate data comprises:

using the dimension widening schema to identify a key-to-key dimension widening rule comprising a condition key and an action key; and

adding the condition key to a list of scan keys for the request for aggregate data in response to a determination that the list of scan keys includes the action key.

12. The analytics system of claim 11 , wherein modifying the request for aggregate data further comprises:

adding to the request a mapping from the condition key to the action key.

13. The analytics system of claim 9 , wherein determining whether the aggregated data element satisfies the modified request comprises:

identifying one or more scan keys of the modified request; and

determining whether a key of the aggregated data element matches one or more of the scan keys.

14. The analytics system of claim 9 , wherein calculating the widened value dimension for the aggregated data element comprises multiplying the non-aggregated value dimension by the determined quantity.

15. The analytics system of claim 9 , wherein determining the quantity of non-aggregated data elements that combined to form the aggregated data element comprises:

prior to aggregating the data, adding a quantity value dimension to the non-aggregated data elements; and

aggregating the quantity value dimension to calculate the quantity of non-aggregated data elements.

16. The analytics system of claim 9 , wherein determining the quantity of non-aggregated data elements that combined to form the aggregated data element comprises:

prior to aggregating the data, generating metadata comprising an indication of the quantity of non-aggregated data elements; and

storing the generated metadata in conjunction with the aggregate data.

17. A method for applying dimension widening rules to aggregate data, the method comprising:

receiving, at a processing circuit, a request from a client device for aggregate data corresponding to an aggregated data element using data stored in an aggregates database;

determining, based on the request, that the aggregate data is to be determined as a widened value dimension using a dimension widening schema defining dimensions of the aggregate data element to which dimension widening rules apply;

identifying, by the processing circuit, responsive to the determination, a key-to-value dimension widening rule using the dimension widening schema that is used to determine the requested aggregated data, the key-to-value dimension widening rule comprising a non-aggregated value dimension and mapping the non-aggregated value dimension to the widened value dimension;

determining, by the processing circuit, a quantity of non-aggregated data elements that combine to form the aggregated data element;

calculating, by the processing circuit, the widened value dimension using the determined quantity and the non-aggregated value dimension; and

reporting the widened value dimension as the requested aggregate data to the client device in response to the request.

18. The method of claim 17 , wherein the key-to-value dimension widening rule comprises a condition key, the method further comprising:

determining that the key-to-value dimension widening rule applies to the aggregated data element in response to a determination that the condition key matches a key of the aggregated data element.

19. The method of claim 17 , wherein determining the quantity of non-aggregated data elements that combined to form the aggregated data element comprises:

prior to aggregating the data, adding a quantity value dimension to the non-aggregated data elements; and

aggregating the quantity value dimension to calculate the quantity of non-aggregated data elements.

20. The method of claim 17 , wherein calculating the widened value dimension for the aggregated data element comprises multiplying the non-aggregated value dimension by the determined quantity.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044097/0658 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2014
From: SHASTRY, NIRANJAN HEDDESE SITARAM; FAN, JIEYAN; ZHUGE, YUAN; HO, SZE CHIT; MAHER, RICHARD; WRIGHT, TIMOTHY JOHN
To: GOOGLE INC.
Reel/Frame 032940/0912 →
Continuity (1)
Related Publication 20150370852A1 · Dec 24, 2015