Real time web usage reporter using RAM
First Claim
Patent Images
1. A method for tracking web usage data, comprising:
- collecting, in a server system, data corresponding to monitored actions on at least one web site for a predetermined period of time, wherein each of the at least one web sites is identified by a client ID;
pre-processing said data to perform a first level of aggregation indexed by at least the client ID, said first level of aggregation including current sessions, completed sessions, and a snapshot of current activity, for the predetermined period of time, and calculating a plurality of metrics for said first level of aggregation;
streaming said data to a RAM server;
aggregating said data into multiple aggregate groups desired for display, said aggregate groups including the first level aggregation, further including a second level aggregation within each client ID for a plurality of time periods, further including a third level of aggregation within each time period, the third level of aggregation including current session data and complete session data, wherein said aggregating said data into multiple aggregate groups occurs prior to a request to display said data;
storing said aggregated data in a hierarchical structure in a RAM in said server system;
calculating the plurality of metrics for each of the multiple aggregate groups;
repeating the steps of collecting, pre-processing, streaming, aggregating, storing, and calculating; and
providing said plurality of metrics from said RAM to a client at a client computer.
6 Assignments
0 Petitions
Accused Products
Abstract
A system that improves the real time presentation of web analytics data to clients. Real time data is improved in one embodiment by using a messaging system that directs the data stream to RAM memory, before it is sent to the database. A separate path is provided for presenting the real time data, which does not require going through the main database. The data is serialized and streamed in batches at an interval which can be set from the order of seconds to minutes. Additionally, the data is aggregated in RAM according to the desired groupings of data, so that the aggregation is pre-computed.
38 Citations
21 Claims
-
1. A method for tracking web usage data, comprising:
-
collecting, in a server system, data corresponding to monitored actions on at least one web site for a predetermined period of time, wherein each of the at least one web sites is identified by a client ID; pre-processing said data to perform a first level of aggregation indexed by at least the client ID, said first level of aggregation including current sessions, completed sessions, and a snapshot of current activity, for the predetermined period of time, and calculating a plurality of metrics for said first level of aggregation; streaming said data to a RAM server; aggregating said data into multiple aggregate groups desired for display, said aggregate groups including the first level aggregation, further including a second level aggregation within each client ID for a plurality of time periods, further including a third level of aggregation within each time period, the third level of aggregation including current session data and complete session data, wherein said aggregating said data into multiple aggregate groups occurs prior to a request to display said data; storing said aggregated data in a hierarchical structure in a RAM in said server system; calculating the plurality of metrics for each of the multiple aggregate groups; repeating the steps of collecting, pre-processing, streaming, aggregating, storing, and calculating; and providing said plurality of metrics from said RAM to a client at a client computer. - View Dependent Claims (2, 3, 4, 5, 6, 8, 9)
-
-
7. A method for tracking web usage data, comprising:
-
collecting, in a server system, data corresponding to monitored actions on a web site; aggregating said data into aggregate groups desired for display; storing said aggregated data in a hierarchical structure in a RAM in said server system; providing said data from said RAM to a client at a client computer; and mirroring said data in said RAM in a fail-over RAM.
-
-
10. A method for tracking web usage data, comprising:
-
collecting, in a server system, data corresponding to monitored actions on at least one web site, wherein each of the at least one web sites is identified by a client ID; pre-processing said data to calculate a plurality of metrics and to perform a first level of aggregation, and indexing said data by at least the client ID; streaming said data to a RAM server; aggregating said data into multiple aggregate groups desired for display, wherein said aggregating occurs prior to a request to display said data; storing said aggregated data in a hierarchical structure in a RAM in said RAM server system; calculating a plurality of metrics for the multiple aggregate groups; storing the plurality of metrics in the RAM; providing a plurality of report modules on a client computer; and asynchronously retrieving said plurality of metrics from said RAM for a plurality of said report modules. - View Dependent Claims (11)
-
-
12. A system for tracking web usage data, comprising:
-
a collector server configured to collect data corresponding to monitored actions on at least one web site, wherein each of the at least one web sites is identified by a client ID; a RAM server including an aggregation service to aggregate said data into aggregate groups desired for display, wherein said aggregation occurs prior to a request to display said data, wherein said data is indexed by at least the client ID and a time period aggregation; a RAM for storing said aggregated data in a hierarchical structure; and a remote client computer for displaying said data from said RAM. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for tracking web usage data, comprising:
-
a collector server configured to collect data corresponding to monitored actions on at least one web site, wherein each of the at least one web sites is identified by a client ID; a transformer server in communication with said collector server to pre-process said data to calculate a plurality of metrics and to perform a first level of aggregation, said first level of aggregation indexed by at least said client ID; a messaging system in communication with said transformer for transmitting processed data from said transformer; a RAM server in communication with said messaging system and including an aggregation service to aggregate said data into multiple aggregate groups, said aggregate groups including the first level aggregation, further including a second level aggregation for a plurality of time periods, further including a third level of aggregation within each time period, the third level of aggregation including current session data and complete session data desired for display, wherein said aggregating said data into multiple aggregate groups occurs prior to a request to display said data; a RAM coupled to said RAM server for storing said aggregated data in a hierarchical structure; a remote client computer for displaying said data from said RAM; and a plurality of report modules on said client computer, said report modules being configured to asynchronously retrieve data from said RAM for a plurality of said report modules.
-
Specification