Dynamically generating aggregate tables
First Claim
Patent Images
1. A computer-implemented method for creating aggregate tables for web analytics, the method comprising:
- at a server having one or more processors and memory, performing the following;
receiving a web site selection;
receiving a plurality of aggregate table definitions;
generating respective aggregate tables for the web site according to the received aggregate table definitions;
populating and updating data entries in the generated aggregate tables for the web site based on their corresponding aggregate table definitions and server hit data derived from log files for the web site and stored in a hits table;
providing a user interface for selection of a view of web analytics data;
receiving a view selection from a user utilizing the user interface;
determining whether the selected view includes data in one or more aggregate tables;
when the selected view includes data in at least one aggregate table;
retrieving data from the at least one aggregate table; and
returning the data to the user in a respective view; and
when the selected view includes data that is not stored in any aggregate table;
executing a corresponding query in the hits table;
retrieving the data from the hits table in response to the query; and
returning the data to the user in a respective view.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system dynamically create aggregate tables. An aggregate table manager is instantiated that receives a plurality of aggregate table definitions, and generates aggregate tables based on the received aggregate table definitions. The aggregate table manager creates a view corresponding to each of the aggregate tables. The aggregate table manager creates and updates data entries in the aggregate tables based on their corresponding aggregate table definitions and data extracted from web site log files.
44 Citations
20 Claims
-
1. A computer-implemented method for creating aggregate tables for web analytics, the method comprising:
-
at a server having one or more processors and memory, performing the following; receiving a web site selection; receiving a plurality of aggregate table definitions; generating respective aggregate tables for the web site according to the received aggregate table definitions; populating and updating data entries in the generated aggregate tables for the web site based on their corresponding aggregate table definitions and server hit data derived from log files for the web site and stored in a hits table; providing a user interface for selection of a view of web analytics data; receiving a view selection from a user utilizing the user interface; determining whether the selected view includes data in one or more aggregate tables; when the selected view includes data in at least one aggregate table; retrieving data from the at least one aggregate table; and returning the data to the user in a respective view; and when the selected view includes data that is not stored in any aggregate table; executing a corresponding query in the hits table; retrieving the data from the hits table in response to the query; and returning the data to the user in a respective view. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An analytics data aggregation system, comprising:
-
one or more processors; memory; and one or more programs stored in the memory, the one or more programs comprising instructions for; receiving a web site selection; receiving a plurality of aggregate table definitions; generating respective aggregate tables for the web site according to the received aggregate table definitions; populating and updating data entries in the generated aggregate tables for the web site based on their corresponding aggregate table definitions and server hit data derived from log files for the web site and stored in a hits table; providing a user interface for selection of a view of web analytics data; receiving a view selection from a user utilizing the user interface; determining whether the selected view includes data in one or more aggregate tables; when the selected view includes data in at least one aggregate table; retrieving data from the at least one aggregate table; and returning the data to the user in a respective view; and when the selected view includes data that is not stored in any aggregate table; executing a corresponding query in the hits table; retrieving the data from the hits table in response to the query; and returning the data to the user in a respective view. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-implemented method for creating aggregate tables for web analytics, comprising:
-
at a server computer having one or more processors and memory, performing the following; receiving an aggregate table definition from a user, the aggregate table definition including a description of metrics and dimensions to be included in the aggregate table for a particular web site, data for the metrics and dimensions being stored in a hit table generated from log files for the particular web site; building an executable class definition for the aggregate table based on the aggregate table definition, the class definition including; retriever modules configured to extract data for respective dimensions and metrics from the hit table and to populate the aggregate table with the extracted data; generator modules configured to generate views for an end user corresponding to the data in the aggregate table; executing a class corresponding to the executable class definition, thereby generating and populating an aggregate table according to the aggregate table definition; providing a user interface for selection of a view of web analytics data; receiving a view selection from a user utilizing the user interface; determining whether the selected view includes data in one or more aggregate tables; when the selected view includes data in at least one aggregate table; retrieving data from the at least one aggregate table; and returning the data to the user in a respective view; and when the selected view includes data that is not stored in any aggregate table; executing a corresponding query in the hits table; retrieving the data from the hits table in response to the query; and returning the data to the user in a respective view.
-
Specification