IP Library Granted Patent US 8,954,454
Granted Patent B2
US 8,954,454 · App. 13/651,183 · Granted Feb 10, 2015

Aggregation of data from disparate sources into an efficiently accessible format

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 8,954,454
App. No.
13/651,183
Granted
Feb 10, 2015
Kind
B2
Abstract

Methods and apparatus are presented for aggregating data from disparate sources into an efficiently accessible format. For example, an aggregation tool may receive attribute-based data from one source and metrics-based data from another source. Given this data, the aggregation tool may store attribute data from the attribute-based data into a data object, where the data object includes multiple time slots corresponding to defined time ranges. The aggregation tool may then determine from the metrics-based data, respective metrics data for each of the multiple time slots of the data object, where each time slot is associated with the attribute data. The aggregation tool may store the respective metrics data into each of the multiple time slots of the data object. In this way, the data object may serve to efficiently provide an answer to a query requiring data from multiple data sources.

Claims (77)

1. A computer implemented method, comprising:

aggregating data from at least two different data sources, the aggregating comprising:

receiving attribute-based data from a transactional data source;

receiving analytics data from an analytics data source, the analytics data being organized according to time and comprising metrics data associated with interaction with a web site;

storing attribute data from the received attribute-based data in a data object-comprising a plurality of time slots, each time slot corresponding to a defined time range;

determining, based on the received analytics data, respective metrics data for each of the plurality of time slots of the data object, each time slot of the plurality of time slots being associated with the attribute data; and

storing the respective metrics data into respective ones of the plurality of time slots of the data object;

receiving a query, wherein data satisfying the query is stored in the transactional data source, the analytics data source, and the data object; and

generating a query response based on:

the attribute data of the data object; and

metrics data from one time slot of the plurality of time slots of the data object.

2. The method of claim 1 , further comprising:

receiving other attribute-based data from the transactional data source;

storing other attribute data from the received other attribute-based data into another data object, wherein the another data object comprises the plurality of time slots;

determining, based on the received analytics data, other respective metrics data for each of the plurality of time slots of the another data object, wherein each time slot of the plurality of time slots is associated with the other attribute data; and

storing the respective other metrics data into each of the plurality of time slots of the another data object.

3. The method of claim 1 , further comprising:

receiving updated attribute-based data from the transactional data source without receiving updated analytics data from the analytics data source; and

updating the attribute data stored in the data object with attribute data from the updated attribute-based data without updating the respective metrics data within the data object.

4. The method of claim 1 , further comprising:

creating a new time slot within the data object with a date range provided via a user interface;

querying the analytics data source for additional based analytics data corresponding to the date range of the new time slot;

receiving the additional analytics data from the analytics data source; and

storing the received additional analytics data into the new time slot of the data object.

5. The method of claim 1 , wherein the data object is structured differently than either the attribute-based data or the analytics data.

6. The method of claim 1 , wherein the data object is stored in a schema-less database.

7. A non-transitory computer-readable storage medium having instructions stored thereon, which when executed by a computing device, cause the computing device to perform operations comprising:

aggregating data from at least two different data sources, the aggregating comprising:

receiving attribute-based data from a transactional data source;

receiving analytics data from an analytics data source, the analytics data being organized according to time and comprising metrics data associated with interaction with a web site;

storing attribute data from the received attribute-based data in a data object comprising a plurality of time slots, each time slot corresponding to a defined time range;

determining, based on the received analytics data, respective metrics data for each of the plurality of time slots of the data object, each time slot of the plurality of time slots being associated with the attribute data; and

storing the respective metrics data into respective ones of the plurality of time slots of the data object;

receiving a query, wherein data satisfying the query is stored in the transactional data source, the analytics data source, and the data object; and

generating a query response based on:

the attribute data of the data object; and

metrics data from one time slot of the plurality of time slots of the data object.

8. The non-transitory computer-readable storage medium of claim 7 , wherein the program instructions are further computer executable to implement:

receiving other attribute-based data from the transactional data source;

storing other attribute data from the received other attribute-based data into another data object, wherein the another data object comprises the plurality of time slots;

determining, based on the received analytics data, other respective metrics data for each of the plurality of time slots of the another data object, wherein each time slot of the plurality of time slots is associated with the other attribute data; and

storing the respective other metrics data into each of the plurality of time slots of the another data object.

9. The non-transitory computer-readable storage medium of claim 7 , wherein the program instructions are further computer executable to implement:

receiving updated attribute-based data from the transactional data source without receiving updated analytics data from the analytics data source; and

updating the attribute data stored in the data object with attribute data from the updated attribute-based data without updating the respective metrics data within the data object.

10. The non-transitory computer-readable storage medium of claim 7 , wherein the program instructions are further computer executable to implement:

creating a new time slot within the data object with a date range provided via a user interface;

querying the analytics data source for additional analytics data corresponding to the date range of the new time slot;

receiving the additional metrics analytics data from the analytics data source; and

storing the received additional analytics data into the new time slot of the data object.

11. The non-transitory computer-readable storage medium of claim 7 , wherein the data object is structured differently than either the attribute-based data or the analytics data.

12. The non-transitory computer-readable storage medium of claim 7 , wherein the data object is stored in a schema-less database.

13. A system, comprising:

at least one processor; and

a memory having instructions stored thereon which, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

aggregating data from at least two different data sources, the aggregating comprising:

receiving attribute-based data from a transactional data source;

receiving analytics data from an analytics data source, the analytics data being organized according to time and comprising metrics data associated with interaction with a web site;

storing attribute data from the received attribute-based data in a data object-comprising a plurality of time slots, each time slot corresponding to a defined time range;

determining, based on the received analytics data, respective metrics data for each of the plurality of time slots of the data object, each time slot of the plurality of time slots being associated with the attribute data; and

storing the respective metrics data into respective ones of the plurality of time slots of the data object;

receiving a query, wherein data satisfying the query is stored in the transactional data source, the analytics data source, and the data object; and

generating a query response based on:

the attribute data of the data object; and

metrics data from one time slot of the plurality of time slots of the data object.

14. The system of claim 13 , wherein the execution of the program instructions further cause the at least one processor to perform:

receiving other attribute-based data from the transactional data source;

storing other attribute data from the received other attribute-based data into another data object, wherein the another data object comprises the plurality of time slots;

determining, based on the received analytics data, other respective metrics data for each of the plurality of time slots of the another data object, wherein each time slot of the plurality of time slots is associated with the other attribute data; and

storing the respective other metrics data into each of the plurality of time slots of the another data object.

15. The system of claim 13 , wherein the execution of the program instructions further cause the at least one processor to perform:

creating a new time slot within the data object with a date range provided via a user interface;

querying the analytics data source for additional analytics data corresponding to the date range of the new time slot;

receiving the additional based analytics data from the analytics data source; and

storing the received additional analytics data into the new time slot of the data object.

16. The system of claim 13 , wherein the data object is structured differently than either the attribute-based data or the analytics data.

17. The system of claim 13 , wherein the data object is stored in a schema-less database.

Assignments (2)
CHANGE OF NAME Recorded Mar 6, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048525/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2012
From: BROWN, NICHOLAS J.; CARDON, DAVID L.; CARTER, JASON A.
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 029129/0114 →