IP Library Granted Patent US 9,185,016
Granted Patent B2
US 9,185,016 · App. 13/966,433 · Granted Nov 10, 2015

System and method for monitoring and analyzing internet traffic

Inventors: Paul N. Muret (Los Altos, CA); Hui Sok Moon (Campbell, CA)
Assignee: Google Inc.
H04L43/0888C07K14/705G06Q30/06A61K38/00G06F17/30067G06F17/30286G06F17/30595G06Q10/10Y10S707/99943
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,185,016
App. No.
13/966,433
Granted
Nov 10, 2015
Kind
B2
Abstract

Systems, methods and apparatus for analyzing Internet traffic. In an aspect, a method receives at a server from a client device a report request for a report related to web site traffic; in response to the report request, sends from the server web site traffic data and application code to the client device. The application code has instructions that cause the client device to: generate a report to display the web site traffic data, time the display of the web site traffic data, periodically request updated web site traffic data according to the time of the display, and update the report with the updated web site traffic data; and the method sends from the server to the client device the updated web site traffic data in response to the request for updated web site traffic data.

Claims (50)

1. A computer-implemented method, comprising:

accessing visitor data from a log file that is separate from a persistent database storing visitor data content describing web traffic activity for a web server, the visitor data comprising log lines, each log line including data specifying a particular web page requested by a visitor, a time stamp associated with the request, and a visitor identifier;

for each log line:

determining, from the time stamp, whether the time stamp corresponds to a current period defining a first time period during which visitors visited the website and for which visitor data is stored in a buffer or a new period defining a second time period during which visitors visited the website and for which visitor data is not stored in the buffer, wherein the first time period is different from the second time period, and only in response to the time stamp corresponding to the new period, loading, from the persistent database, the buffer with all visitor data content for the new period;

accessing a visitor record that corresponds to the visitor identifier, the visitor record stored in the buffer; and

updating the visitor record corresponding to the visitor identifier with the data specifying the particular web page requested by a visitor, the time stamp associated with the request;

wherein the data specifying the particular web page requested by a visitor is inserted into the visitor record at an ordinal position based on the time stamp for the particular web page requested relative to time stamps of other web pages requested specified by other log lines for the visitor identifier.

2. The computer-implemented method of claim 1 , wherein the visitor record defines visitor footprint data related to the visitor, the visitor footprint data including one or more of browser data, referral data, domain data and visitor path data.

3. The computer-implemented method of claim 1 , further comprising:

for each log line, determining the visitor identifier; and

for each visitor identifier, generating a corresponding hash value in hash table for the visitor identifier; and

wherein accessing a visitor record that corresponds to the visitor identifier comprises accessing the hash table with a hash value corresponding to the visitor identifier.

4. The computer-implemented method of claim 3 , further comprising:

periodically determining whether the hash table meets a predetermined fullness threshold, the fullness threshold defining a partially empty measure for the hash table;

in response to determining the hash table meets the predetermined fullness threshold, increasing the size of the hash table.

5. The computer-implemented method of claim 1 , further comprising, in response to determining a completion of processing of log lines in the visitor data, persisting data stored in the buffer to a persistent database.

6. A system, comprising:

one or more server computers; and

a memory subsystem storing instructions executable by one or more server computers that upon such execution cause the one or more server computers to perform operations comprising:

accessing visitor data from a log file that is separate from a persistent database storing visitor data content describing web traffic activity for a web server, the visitor data comprising log lines, each log line including data specifying a particular web page requested by a visitor, a time stamp associated with the request, and a visitor identifier;

for each log line:

determining, from the time stamp, whether the time stamp corresponds to a current period defining a first time period during which visitors visited the website and for which visitor data is stored in a buffer or a new period defining a second time period during which visitors visited the website and for which visitor data is not stored in the buffer, wherein the first time period is different from the second time period, and only in response to the time stamp corresponding to the new period, loading, from the persistent database, the buffer with all visitor data content for the new period;

accessing a visitor record that corresponds to the visitor identifier, the visitor record stored in the buffer; and

updating the visitor record corresponding to the visitor identifier with the data specifying the particular web page requested by a visitor, the time stamp associated with the request;

wherein the data specifying the particular web page requested by a visitor is inserted into the visitor record at an ordinal position based on the time stamp for the particular web page requested relative to time stamps of other web pages requested specified by other log lines for the visitor identifier.

7. The system of claim 6 , wherein the visitor record defines visitor footprint data related to the visitor, the visitor footprint data including one or more of browser data, referral data, domain data and visitor path data.

8. The system of claim 6 , the operations further comprising:

for each log line, determining the visitor identifier; and

for each visitor identifier, generating a corresponding hash value in hash table for the visitor identifier; and

wherein accessing a visitor record that corresponds to the visitor identifier comprises accessing the hash table with a hash value corresponding to the visitor identifier.

9. The system of claim 8 , the operations further comprising:

periodically determining whether the hash table meets a predetermined fullness threshold, the fullness threshold defining a partially empty measure for the hash table;

in response to determining the hash table meets the predetermined fullness threshold, increasing the size of the hash table.

10. The system of claim 6 , the operations further comprising, in response to determining a completion of processing of log lines in the visitor data, persisting data stored in the buffer to a persistent database.

11. A non-transitory computer readable storage device and including instructions that cause a computer to perform operations comprising:

accessing visitor data from a log file that is separate from a persistent database storing visitor data content describing web traffic activity for a web server, the visitor data comprising log lines, each log line including data specifying a particular web page requested by a visitor, a time stamp associated with the request, and a visitor identifier;

for each log line:

determining, from the time stamp, whether the time stamp corresponds to a current period defining a first time period during which visitors visited the website and for which visitor data is stored in a buffer or a new period defining a second time period during which visitors visited the website and for which visitor data is not stored in the buffer, wherein the first time period is different from the second time period, and only in response to the time stamp corresponding to the new period, loading, from the persistent database, the buffer with all visitor data content for the new period;

accessing a visitor record that corresponds to the visitor identifier, the visitor record stored in the buffer; and

updating the visitor record corresponding to the visitor identifier with the data specifying the particular web page requested by a visitor, the time stamp associated with the request;

wherein the data specifying the particular web page requested by a visitor is inserted into the visitor record at an ordinal position based on the time stamp for the particular web page requested relative to time stamps of other web pages requested specified by other log lines for the visitor identifier.

12. The non-transitory computer readable storage device of claim 11 , wherein the visitor record defines visitor footprint data related to the visitor, the visitor footprint data including one or more of browser data, referral data, domain data and visitor path data.

13. The non-transitory computer readable storage device of claim 11 , the operations further comprising:

for each log line, determining the visitor identifier; and

for each visitor identifier, generating a corresponding hash value in hash table for the visitor identifier; and

wherein accessing a visitor record that corresponds to the visitor identifier comprises accessing the hash table with a hash value corresponding to the visitor identifier.

14. The non-transitory computer readable storage device of claim 13 , the operations further comprising:

periodically determining whether the hash table meets a predetermined fullness threshold, the fullness threshold defining a partially empty measure for the hash table;

in response to determining the hash table meets the predetermined fullness threshold, increasing the size of the hash table.

15. The non-transitory computer readable storage device of claim 11 , the operations further comprising, in response to determining a completion of processing of log lines in the visitor data, persisting data stored in the buffer to a persistent database.

Assignments (4)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2014
From: MURET, PAUL N.; MOON, HUI SOK
To: QUANTIFIED SYSTEMS, INC.
Reel/Frame 032451/0647 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2014
From: URCHIN SOFTWARE CORPORATION
To: GOOGLE INC.
Reel/Frame 032451/0731 →
CHANGE OF NAME Recorded Mar 17, 2014
From: QUANTIFIED SYSTEMS, INC.
To: URCHIN SOFTWARE CORPORATION
Reel/Frame 032457/0075 →
Continuity (6)
Continuation 13233698 · Sep 15, 2011
Continuation 12606683 · Oct 27, 2009
Continuation 10799738 · Mar 15, 2004
Continuation 09679297 · Oct 4, 2000
Provisional Application 60157649 · Oct 4, 1999
Related Publication 20140025814A1 · Jan 23, 2014