Multi-tiered system for receiving and reporting web site traffic data
First Claim
1. A multi-tiered system for receiving and reporting web site traffic data with low latency, the system comprising:
- a collecting server configured to receive and forward an event tracking data communication, wherein the event tracking data communication includes event tracking data for tracking an activity associated with a source of the event tracking data communication;
a logging server configured to receive the event tracking data communication from the collecting server; and
a real-time server configured to receive one or more event tracking data communications for temporary storage,wherein the logging server is further configured to route the received event tracking data communication to both a long-term storage server for persistent storage and the real-time server for temporary storage, andwherein the real-time server is configured to process the event tracking data for reporting to a publisher with low latency, determine whether the event tracking data can be processed within a specified period of time to meet a real-time constraint, and discard the event tracking data in response to determining that the event tracking data will fail to be processed within the specified period of time,wherein, for a same predetermined time period, the logging server routes one or more event tracking data communications to the real-time server at a greater frequency than routing one or more event tracking data communications to the long-term storage server, andfor the same predetermined time period, an aggregate number of event tracking data communications routed to the long-term storage server is greater than an aggregate number of event tracking data communications routed to the real-time server.
2 Assignments
0 Petitions
Accused Products
Abstract
Configurations of a multi-tiered system for receiving and reporting web site traffic data with low latency are described. The multi-tiered system can include a tier of collecting servers for receiving incoming event tracking data communications (e.g., HTTP requests for logging web page requests at corresponding web sites). A collecting server receiving an incoming communication determines a particular logging server in a lower tier to route the incoming communication. Upon receiving the incoming communication, the logging server processes the communication by 1) logging the communication to persistent storage, and 2) routing the communication to i) a tier of long-term storage servers and ii) a tier of short term storage and low-latency servers (i.e., real-time servers) for aggregating and reporting web site traffic data. Each real-time server can be configured to aggregate the web site tracking data for reporting to a publisher with low latency.
-
Citations
22 Claims
-
1. A multi-tiered system for receiving and reporting web site traffic data with low latency, the system comprising:
-
a collecting server configured to receive and forward an event tracking data communication, wherein the event tracking data communication includes event tracking data for tracking an activity associated with a source of the event tracking data communication; a logging server configured to receive the event tracking data communication from the collecting server; and a real-time server configured to receive one or more event tracking data communications for temporary storage, wherein the logging server is further configured to route the received event tracking data communication to both a long-term storage server for persistent storage and the real-time server for temporary storage, and wherein the real-time server is configured to process the event tracking data for reporting to a publisher with low latency, determine whether the event tracking data can be processed within a specified period of time to meet a real-time constraint, and discard the event tracking data in response to determining that the event tracking data will fail to be processed within the specified period of time, wherein, for a same predetermined time period, the logging server routes one or more event tracking data communications to the real-time server at a greater frequency than routing one or more event tracking data communications to the long-term storage server, and for the same predetermined time period, an aggregate number of event tracking data communications routed to the long-term storage server is greater than an aggregate number of event tracking data communications routed to the real-time server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A machine-implemented method for receiving and reporting web site traffic data with low latency, the method comprising:
-
receiving an event tracking data communication, wherein the event tracking data communication includes event tracking data for tracking an activity associated with a source of the event tracking data communication; routing the event tracking data communication to a long-term storage server for persistent storage; selecting a real-time server for routing the event tracking data communication; and routing the event tracking data communication to the selected real-time server for temporary storage, wherein the selected real-time server is configured to process the event tracking data for reporting to a publisher, determine whether the event tracking data can be processed within a specified period of time to meet a real-time constraint, and discard the event tracking data in response to determining that the event tracking data will fail to be processed within the specified period of time, wherein, for a same predetermined time period, routing one or more event tracking data communications to the selected real-time server occurs at a greater frequency than routing one or more event tracking data communications to the long-term storage server, and for the same predetermined time period, an aggregate number of event tracking data communications routed to the long-term storage server is greater than an aggregate number of event tracking data communications routed to the selected real-time server. - View Dependent Claims (12, 13, 14)
-
-
15. A machine-implemented method for receiving and storing real-time web site traffic data with low latency at a real-time server, the method comprising:
-
receiving, at a first real-time server, an event tracking data communication, wherein the event tracking data communication includes event tracking data for tracking an activity associated with a source of the event tracking data communication; determining, at the first real-time server, at least one real-time server associated with the received event tracking data communication, wherein the at least one real-time server is configured to process the event tracking data within a specified period of time to meet a real-time constraint for processing the event tracking data, determine whether the event tracking data can be processed within the specified period of time to meet a real-time constraint, and discard the event tracking data in response to determining that the event tracking data will fail to be processed within the specified period of time; storing, at the first real-time server, real-time analytics data based on the received event tracking data communication in response to determining that the first real-time server is associated with the received event tracking data communication; and routing the event tracking data communication to a second real-time server in response to determining that the second real-time server, instead of the first real-time server, is associated with the received event tracking data communication, wherein the first and second real-time servers are both included in a group of real-time servers, wherein, for a same predetermined time period, routing one or more event tracking data communications to the second real-time server occurs at a greater frequency than routing one or more event tracking data communications to a long-term storage server, and for the same predetermined time period, an aggregate number of event tracking data communications routed to the long-term storage server is greater than an aggregate number of event tracking data communications routed to the second real-time server. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A non-transitory machine-readable medium comprising instructions stored therein, which when executed by a machine, cause the machine to perform operations comprising:
-
receiving one or more event tracking data communications, wherein the event tracking data communication includes event tracking data for tracking an activity associated with a source of the event tracking data communication; routing the one or more event tracking data communications to a long-term storage server for persistent storage, wherein the one or more event tracking data communications are stored in non-volatile storage on the long-term storage server; selecting a real-time server among a plurality of real-time servers for routing the one or more event tracking data communications, wherein the real-time server is arbitrarily selected; and routing the one or more event tracking data communications to the selected real-time server for temporary storage, wherein the selected real-time server is configured to process the event tracking data for reporting to a publisher, determine whether the event tracking data can be processed within a specified period of time to meet a real-time constraint, and discard the event tracking data in response to determining that the event tracking data will fail to be processed within the specified period of time, wherein, for a same predetermined time period, routing one or more event tracking data communications to the selected real-time server occurs at a greater frequency than routing one or more event tracking data communications to the long-term storage server, and for the same predetermined time period, an aggregate number of event tracking data communications routed to the long-term storage server is greater than an aggregate number of event tracking data communications routed to the selected real-time server. - View Dependent Claims (21, 22)
-
Specification