WO2001002932A2 - User activity reporting browser - Google Patents

User activity reporting browser Download PDF

Info

Publication number
WO2001002932A2
WO2001002932A2 PCT/US2000/018708 US0018708W WO0102932A2 WO 2001002932 A2 WO2001002932 A2 WO 2001002932A2 US 0018708 W US0018708 W US 0018708W WO 0102932 A2 WO0102932 A2 WO 0102932A2
Authority
WO
WIPO (PCT)
Prior art keywords
browser
server
reporting
request
native
Prior art date
Application number
PCT/US2000/018708
Other languages
French (fr)
Other versions
WO2001002932A3 (en
Inventor
Alan S. Ellman
Brian C. Mcguinty
Original Assignee
Screamingmedia Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Screamingmedia Inc. filed Critical Screamingmedia Inc.
Priority to AU57890/00A priority Critical patent/AU5789000A/en
Publication of WO2001002932A2 publication Critical patent/WO2001002932A2/en
Publication of WO2001002932A3 publication Critical patent/WO2001002932A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Definitions

  • the present invention relates to tracking activity of a user of the Internet, and, more particularly, is directed to a browser downloaded to a user, which reports activity of the user to a log located outside the user's computer, in addition to providing browser functions to the user.
  • the referring web site receives compensation from the vending web site for purchases made by traffic sent from the referring web site to the vending
  • the referring web site has no practical way to determine whether the vending web site is properly reporting the number of purchases made by referred traffic, and the corresponding commissions due to the referring web site from the vending web site.
  • a client sends an HTTP request to a server for a Web page containing text, embedded URLs pointing to images, and embedded URLs pointing to two resources on another server.
  • the first resource is a CGI program on the other server; in
  • the client forces execution of the CGI program on the other server, which results in transmission of information from the other server to the client.
  • the second resource is a JAVA applet, the tracking program, automatically fetched by the client when it renders the Web page.
  • the tracking program computes
  • the tracking program may also inform the other server which links are selected by the user.
  • tracking program could be an added module to the client application or Web browser running on the client, and that the tracking program need not be embedded within an existing Web page, but could be embedded within a Web browser or supported elsewhere within the client.
  • the tracking program would be initiated whenever a call to a Web page or network resource is made, such as when a search to a particular URL is initiated, or when a previously-stored URL is launched.
  • Davis proposed to download a limited functionality program each time a web page is accessed, or to modify the client's browser to include the limited functionality program.
  • a 25 method for and an apparatus for tracking user activity at a web site A reporting browser prepares a request for a responding server and sends the request to a redirect server, and receives information from the redirect server including a response from the responding server. Q The reporting browser is requested and received from the redirect server. The requesting is performed by a native browser.
  • the reporting browser is a JAVA applet and is displayed as a free-floating window or frame.
  • reporting browser prepares a request for a responding server and sends the request to the responding server, and prepares a corresponding report for a logging server and sends the corresponding report to the logging server.
  • the reporting browser also receives a response from the responding server.
  • the reporting browser is downloaded in response to a request from a native browser.
  • the corresponding report includes activity information in common log format.
  • the reporting browser is displayed as a free-floating window or frame.
  • the information is stored in common log format.
  • a request is sent to a responding server based on the user activity information from the reporting 15 browser.
  • a response from the responding server is forwarded to the reporting browser.
  • the reporting browser is downloaded to the client executing the native browser in response to a request from the native browser.
  • FIG. 1 is a block diagram of a system in which the present invention is embodied
  • Fig. 2 is a block diagram illustrating a set-up phase of the present invention
  • Q Fig. 3 is a chart depicting a display to a user
  • Figs. 4 and 5 are block diagrams illustrating embodiments of an operational phase of the present invention. DET AILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • the user's native browser when a user accesses an Internet resource, such as a page, the user's native browser causes a reporting browser program to be downloaded into the client while the native browser is rendering the page. Because 5 of the nature of the display, the user is aware that his or her Internet navigation is being conducted through the reporting browser, rather than the underlying, native browser.
  • the reporting browser is a JAVA applet which ⁇ Q sends all HTTP requests to the redirect server from which it was downloaded.
  • the redirect server makes the HTTP request to the intended web site, and logs the request.
  • the redirect server also forwards responses from the intended web site to the reporting browser.
  • the reporting browser performs in the conventional HTTP request/response manner, and additionally sends a record corresponding to each HTTP request to a logging server for storage and subsequent analysis.
  • the record represents an activity by the user, such as requesting an Internet page or providing data entered through a form on the web page.
  • a subsequent analysis program detects purchases based on the sequence of pages viewed by the user. Most electronic commerce web sites require a user to navigate through at least a few order placement and confirmation pages to place an order. The analysis program simply gathers records for one user, and, if the analysis program detects the proper page sequence, then the analysis program decides a purchase occurred. Other analysis methods for purchase detection will be apparent to those of ordinary skill in the art.
  • the reporting browser performs broad data collection functions, as it is reporting everything that the user does. ⁇ ⁇ Another advantage of the present technique is that since the user's native browser continues to display the page from which the reporting browser was launched, the user has a feeling of remaining connected to the web site of the underlying page.
  • Fig. 1 shows Internet 10, client 20 and servers 30. 40. 50.
  • Client 20 is typically a personal computer executing native browser software 21 , such as Netscape Navigator or Microsoft Internet Explorer.
  • Client 20 includes a modem (not shown) for communicating via Internet 10.
  • client 20 may include a network interface card, frame relay card or other suitable communications interface.
  • Servers 30, 40, 50 each are typically a personal computer or server hardware executing server software 31, 41, 51, such as Apache or Netscape server software. Servers 40, 50 also run web site specific programs (not shown) for operating respective web sites.
  • Redirect server 30 does not operate a web site.
  • Redirect server 30 is operative to, in response to a request, download reporting browser software 34.
  • Redirect server 30 also functions to execute redirect software 33, which accepts messages from clients, converts the message to a standard HTTP request, sends the HTTP request to the destination server, sends a log record corresponding to the HTTP request to logging software 32, accepts an HTTP response from the destination server, and returns the response to the requesting client.
  • redirect software 33 which accepts messages from clients, converts the message to a standard HTTP request, sends the HTTP request to the destination server, sends a log record corresponding to the HTTP request to logging software 32, accepts an HTTP response from the destination server, and returns the response to the requesting client.
  • redirect server 30 is further operative to execute logging software 32, which accepts log records from redirect software 33 and stores the log records for subsequent analysis.
  • redirect server 30 also runs web site specific programs for operating a web site.
  • Fig. 2 is a block diagram illustrating a set-up phase of the present invention. Let it be assumed that client 20 has requested a web page from server 40 which functions as a referring server. As indicated by arrow 101, referring server 40 returns a web page incorporating a link to the network address of reporting browser software 34 in its HTML, such as (assuming the URL of redirect server 30 is 11 1.222.333.444):
  • reporting browser 24 The first web page displayed by reporting browser 24 is the web page from referring server 40, although reporting browser 24 ignores the link to itself described above.
  • Fig. 3 is a chart depicting a display to a user of client 20.
  • Native browser 21 occupies display screen area 61, also referred to as window or frame 61.
  • Reporting browser 24 occupies display screen area 64, also referred to as window or frame 64.
  • Frame 64 is displayed so as to be free-floating relative to frame 61. This display arrangement alerts the user to the applet status of reporting browser 24, that is, the user knows that native browser 21 is still displaying the web page from referring server 40.
  • reporting browser 24 As discussed below.
  • Fig. 4 is a block diagram illustrating an embodiment of an operational phase of the present invention.
  • reporting browser 24 is a JAVA applet. Accordingly, reporting browser 24 can communicate with only redirect server 30, that is, the host from which reporting browser 24 was downloaded.
  • reporting browser 24 sends a message to redirect server 30 including an HTTP request which would ordinarily be generated by a browser in response to a user action, such as clicking on a link displayed by reporting browser 24 or typing information into a form and clicking on a "submit" button. It will be appreciated that reporting browser 24 can readily prepare the HTTP request, but can send messages only to redirect server 30.
  • reporting browser 24 embeds the HTTP request in a message to redirect server 30; the message itself is preferably in HTTP request format, although it may be in another format.
  • Redirect software 33 receives the message from client 20, reflects it and logs it.
  • redirect software 33 strips the message's header leaving the embedded HTTP request, and sends the HTTP request to the destination specified therein, such as server 50, as indicated by arrow 1 11.
  • a reflecting server is disclosed in G. Georgia and C. Horstmann, Core Java, Second Ed., Sunsoft Press, pages 591-595. It will be appreciated that client 20 has become
  • redirect software 33 simply sends a copy of the message to logging software 32, as indicated by arrow 112.
  • Logging software 32 then writes the message to a logging file on disk 37.
  • 15 logging software 32 formats the message before writing it to a disk file.
  • logging software 32 analyzes the message before storing it to, for example, increment a counter of traffic referred from server 40 to server 50.
  • the conventional format used by servers for web log files is called j .
  • the common log format Because of the availability of third party tools to analyze data in this format, it is preferred that logging software 32 write records to its logging file in common log format.
  • the common log format is as follows:
  • %h indicates the name of the remote host
  • %1 indicates the remote username
  • %u indicates the HTTP authenticated username, if any
  • %t indicates the time in common-log format
  • %b indicates the number of bytes in the document served
  • the logging file enables tracking a user during his or her Internet session.
  • server 50 sends a response to redirect server 30, as indicated by arrow 1 13.
  • Redirect software 33 receives the response from redirect server 30 and forwards it to client 20.
  • Reporting browser 24 receives the forwarded response and takes appropriate action, such as rendering a web page.
  • reporting browser 24 may need to get images or applets from other servers, and does this via the same mechanism illustrated in Fig. 4.
  • referring server 40 can download a web page to client 20, causing client 20 to retrieve and execute a reporting browser.
  • client 20 When a user goes from a web site at referring server 40 to a web site at vending server 50, this can readily be tracked from the logging file maintained at redirect server 30.
  • referring server 40 can better estimate the compensation due from vending server 50 for traffic sent from referring server 40 to vending server 50.
  • Fig. 5 is a block diagram illustrating another embodiment of an operational phase of the present invention.
  • the system of Fig. 5 operates in a generally similar manner as the system of Fig. 4, except as described below.
  • server 55 also includes reporting browser software 55 for downloading to client 25.
  • Client 25 includes reporting browser 28, which is a JAVA applet downloaded from server 55.
  • reporting browser 28 is not downloaded from server 55 via Internet 10, but is instead delivered via disk or telecommunications other than Internet 10 to client 25.
  • Reporting browser 28 is adapted to perform most of its communication with server 55. Importantly, reporting browser 28 is adapted to report each of its actions to server 35 using an HTTP POST request. Such reporting using an HTTP POST request to a server other than the server from which an applet was downloaded is not a JAVA applet security violation.
  • Logging server 35 is somewhat similar to redirect server 30, except that logging server 35 lacks reporting browser software for downloading, and further lacks redirect software 33.
  • Logging software 36 functions to receive HTTP POST requests from client 25 and to log them to disk 37. Logging software 36 is a common gateway interface (CGI) script. In a modification, logging server 35 relies on the logging functions in server software 39 for logging the HTTP POST requests from client 25 to disk 37. It will be recalled that server software 39 is a third party product.
  • CGI common gateway interface
  • client 25 has already received a web page including a link to reporting browser software 54, and has downloaded and executed reporting browser software 54 while rendering the web page, thus commencing execution of reporting browser 28.
  • reporting browser 28 sends an HTTP request to server 55 such as would ordinarily be generated by a browser in response to a user action, such as clicking on a link displayed by reporting browser 28 or typing information into a form and clicking on a "submit" button.
  • reporting browser 28 also prepares and sends a report corresponding to the HTTP request sent to server 55, and sends the report to logging server 35.
  • the report itself is formatted as an HTTP POST request with the posted information in common log format.
  • Logging software 36 receives the report and writes the report to a file on disk 37. In another embodiment, logging
  • 25 software 36 formats the message before writing it to a disk file.
  • logging software 36 analyzes the message before storing it to, for example, increment a counter of traffic referred from server 40 to server 55.
  • server 55 sends a response to client 25, as 30 indicated by arrow 123.
  • Reporting browser 28 receives the response and takes appropriate action, such as rendering a web page.

Abstract

When a user accesses an Internet resource, such as a page, the user's native browser (21) causes a reporting browser program (24, 34) to be downloaded into the client (20) while the native browser (21) is rendering the page. Because of the nature of the display, the user is unaware that his or her Internet navigation is being conducted through the reporting browser (24), rather than the underlying, native browser (21). The reporting browser (24) may be a JAVA applet which sends all HTTP requests to the redirect server (30) from which it was downloaded. The redirect server (30, 33), in turn, makes the HTTP request to the intended web site and logs the request, and forwards responses from the intended web site to the reporting browser (24). Alternatively, the reporting browser (24) performs in the conventional HTTP request/response manner, and additionally sends a record corresponding to each HTTP request, representing an activity of the user such as requestingd ata or form submission, to a logging server (32) for storage and subsequent analysis.

Description

USER ACTIVITY REPORTING BROWSER
BACKGROUND OF THE INVENTION
The present invention relates to tracking activity of a user of the Internet, and, more particularly, is directed to a browser downloaded to a user, which reports activity of the user to a log located outside the user's computer, in addition to providing browser functions to the user.
Monitoring the activity of users of web sites is important to electronic commerce which uses the Internet. It is common for a vending web site
10 to pay a referring web site for traffic sent from the referring web site to the vending web site, usually based on the amount of traffic so sent. In some payment arrangements, the referring web site receives compensation from the vending web site for purchases made by traffic sent from the referring web site to the vending
* * web site. At present, the referring web site has no practical way to determine whether the vending web site is properly reporting the number of purchases made by referred traffic, and the corresponding commissions due to the referring web site from the vending web site.
2Q Tracking client interaction with network resources has been proposed in U.S. Patent No. 5,796,952 (Davis et al.). Davis proposed embedding a tracking program in a resource, such as an HTML document sent from a server to a client based on a TCP/IP request. The tracking program monitors the length of time the user remains at a Web page, and some or all mouse and keyboard events to provide
25 data to the server concerning the user's interaction with the Web page. Specifically, a client sends an HTTP request to a server for a Web page containing text, embedded URLs pointing to images, and embedded URLs pointing to two resources on another server. The first resource is a CGI program on the other server; in
30 rendering the Web page, the client forces execution of the CGI program on the other server, which results in transmission of information from the other server to the client. The second resource is a JAVA applet, the tracking program, automatically fetched by the client when it renders the Web page. The tracking program computes
„ the time spent by the user at the Web page, and sends the computed time to the other server for storage and analysis. The tracking program may also inform the other server which links are selected by the user.
Davis noted that its tracking program could be an added module to the client application or Web browser running on the client, and that the tracking program need not be embedded within an existing Web page, but could be embedded within a Web browser or supported elsewhere within the client. The tracking program would be initiated whenever a call to a Web page or network resource is made, such as when a search to a particular URL is initiated, or when a previously-stored URL is launched.
10
In short, Davis proposed to download a limited functionality program each time a web page is accessed, or to modify the client's browser to include the limited functionality program.
Unfortunately, a limited functionality program is not able to provide 15 the breadth of reporting needed to fully track client activity. Modifying the client's browser is not a practical solution, since browsers can easily be configured by users to refuse such modifications and some browsers are not designed to support such modifications. ~~ Accordingly, there is a need for a way to broadly track activity of an
Internet user.
SUMMARY OF THE INVENTION
In accordance with an aspect of this invention, there are provided a 25 method for and an apparatus for tracking user activity at a web site. A reporting browser prepares a request for a responding server and sends the request to a redirect server, and receives information from the redirect server including a response from the responding server. Q The reporting browser is requested and received from the redirect server. The requesting is performed by a native browser. The reporting browser is a JAVA applet and is displayed as a free-floating window or frame.
According to a further aspect of the invention, there is provide a method for and an apparatus for tracking user activity at a web site in which a
35 reporting browser prepares a request for a responding server and sends the request to the responding server, and prepares a corresponding report for a logging server and sends the corresponding report to the logging server. The reporting browser also receives a response from the responding server.
The reporting browser is downloaded in response to a request from a native browser. The corresponding report includes activity information in common log format. The reporting browser is displayed as a free-floating window or frame.
According to another aspect of the invention, there is provided a method for and an apparatus for tracking user activity at a web site. Information representing the user activity is received from a reporting browser which has been
10 activated by a native browser executing on a client used by the user, and the information is stored.
The information is stored in common log format. A request is sent to a responding server based on the user activity information from the reporting 15 browser. A response from the responding server is forwarded to the reporting browser. The reporting browser is downloaded to the client executing the native browser in response to a request from the native browser.
It is not intended that the invention be summarized here in its jr. entirety. Rather, further features, aspects and advantages of the invention are set forth in or are apparent from the following description and drawings, in which the same element is indicated by the same reference number in different drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
25 Fig. 1 is a block diagram of a system in which the present invention is embodied;
Fig. 2 is a block diagram illustrating a set-up phase of the present invention; Q Fig. 3 is a chart depicting a display to a user; and
Figs. 4 and 5 are block diagrams illustrating embodiments of an operational phase of the present invention. DET AILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
In the present invention, when a user accesses an Internet resource, such as a page, the user's native browser causes a reporting browser program to be downloaded into the client while the native browser is rendering the page. Because 5 of the nature of the display, the user is aware that his or her Internet navigation is being conducted through the reporting browser, rather than the underlying, native browser.
In one embodiment, the reporting browser is a JAVA applet which ι Q sends all HTTP requests to the redirect server from which it was downloaded. The redirect server, in turn, makes the HTTP request to the intended web site, and logs the request. The redirect server also forwards responses from the intended web site to the reporting browser.
In another embodiment, the reporting browser performs in the conventional HTTP request/response manner, and additionally sends a record corresponding to each HTTP request to a logging server for storage and subsequent analysis. The record represents an activity by the user, such as requesting an Internet page or providing data entered through a form on the web page. 20 A subsequent analysis program detects purchases based on the sequence of pages viewed by the user. Most electronic commerce web sites require a user to navigate through at least a few order placement and confirmation pages to place an order. The analysis program simply gathers records for one user, and, if the analysis program detects the proper page sequence, then the analysis program decides a purchase occurred. Other analysis methods for purchase detection will be apparent to those of ordinary skill in the art.
Advantageously, the reporting browser performs broad data collection functions, as it is reporting everything that the user does. ^ Another advantage of the present technique is that since the user's native browser continues to display the page from which the reporting browser was launched, the user has a feeling of remaining connected to the web site of the underlying page.
35 Referring now to the drawings, and in particular to Fig. 1, there is illustrated a system according to the present invention. Fig. 1 shows Internet 10, client 20 and servers 30. 40. 50. Client 20 is typically a personal computer executing native browser software 21 , such as Netscape Navigator or Microsoft Internet Explorer. Client 20 includes a modem (not shown) for communicating via Internet 10. Alternatively, client 20 may include a network interface card, frame relay card or other suitable communications interface.
Servers 30, 40, 50 each are typically a personal computer or server hardware executing server software 31, 41, 51, such as Apache or Netscape server software. Servers 40, 50 also run web site specific programs (not shown) for operating respective web sites.
Redirect server 30 does not operate a web site. Redirect server 30 is operative to, in response to a request, download reporting browser software 34. Redirect server 30 also functions to execute redirect software 33, which accepts messages from clients, converts the message to a standard HTTP request, sends the HTTP request to the destination server, sends a log record corresponding to the HTTP request to logging software 32, accepts an HTTP response from the destination server, and returns the response to the requesting client. Redirect server
30 is further operative to execute logging software 32, which accepts log records from redirect software 33 and stores the log records for subsequent analysis. In another embodiment, redirect server 30 also runs web site specific programs for operating a web site.
Operation of the system depicted in Fig. 1 will now be described.
Fig. 2 is a block diagram illustrating a set-up phase of the present invention. Let it be assumed that client 20 has requested a web page from server 40 which functions as a referring server. As indicated by arrow 101, referring server 40 returns a web page incorporating a link to the network address of reporting browser software 34 in its HTML, such as (assuming the URL of redirect server 30 is 11 1.222.333.444):
<APPLET CODE="ReportingBrowser.class" WIDTH=100 HEIGHTS 00> http://l 1 1.222.333.444/ReportingBrowser.class </APPLET> When native browser 21 attempts to render the page including the above-described link, native browser 21 automatically sends an HTTP request, indicated by arrow 102, to redirect server 30 for the applet at the specified HTTP address. Server software 31 receives this request, prepares an HTTP response including a copy of reporting browser software 34, and sends the response to client 20, as indicated by arrow 103. Native browser 21 receives the copy of reporting browser software 34, and automatically executes it locally to create reporting browser software 24.
The first web page displayed by reporting browser 24 is the web page from referring server 40, although reporting browser 24 ignores the link to itself described above.
Fig. 3 is a chart depicting a display to a user of client 20. Native browser 21 occupies display screen area 61, also referred to as window or frame 61. Reporting browser 24 occupies display screen area 64, also referred to as window or frame 64. Frame 64 is displayed so as to be free-floating relative to frame 61. This display arrangement alerts the user to the applet status of reporting browser 24, that is, the user knows that native browser 21 is still displaying the web page from referring server 40.
The user then operates reporting browser 24, as discussed below.
Fig. 4 is a block diagram illustrating an embodiment of an operational phase of the present invention. In the embodiment shown in Fig. 4, reporting browser 24 is a JAVA applet. Accordingly, reporting browser 24 can communicate with only redirect server 30, that is, the host from which reporting browser 24 was downloaded.
Assume that, as indicated by arrow 1 10, reporting browser 24 sends a message to redirect server 30 including an HTTP request which would ordinarily be generated by a browser in response to a user action, such as clicking on a link displayed by reporting browser 24 or typing information into a form and clicking on a "submit" button. It will be appreciated that reporting browser 24 can readily prepare the HTTP request, but can send messages only to redirect server 30.
Accordingly, reporting browser 24 embeds the HTTP request in a message to redirect server 30; the message itself is preferably in HTTP request format, although it may be in another format.
Redirect software 33 receives the message from client 20, reflects it and logs it.
To reflect the message, redirect software 33 strips the message's header leaving the embedded HTTP request, and sends the HTTP request to the destination specified therein, such as server 50, as indicated by arrow 1 11. A reflecting server is disclosed in G. Cornell and C. Horstmann, Core Java, Second Ed., Sunsoft Press, pages 591-595. It will be appreciated that client 20 has become
10 referral traffic from server 40 to server 50.
To log the message, redirect software 33 simply sends a copy of the message to logging software 32, as indicated by arrow 112. Logging software 32 then writes the message to a logging file on disk 37. In another embodiment, 15 logging software 32 formats the message before writing it to a disk file. In yet another embodiment, logging software 32 analyzes the message before storing it to, for example, increment a counter of traffic referred from server 40 to server 50.
The conventional format used by servers for web log files is called j . the common log format. Because of the availability of third party tools to analyze data in this format, it is preferred that logging software 32 write records to its logging file in common log format. The common log format is as follows:
%h %1 %u %t "%r" %s %b where
25
%h indicates the name of the remote host
%1 indicates the remote username
%u indicates the HTTP authenticated username, if any
%t indicates the time in common-log format
30 %r indicates the request
%s indicates the returned status
%b indicates the number of bytes in the document served
An example of a record in common log format, with unknown usernames indicated by "-" is:
35 jupiter.ukweb.com - - [03/Feb/l 997:00:07:00 +0000] "GET /img/awlogo.gif HTTP/1.0" 200 12706 Advantageously, the logging file enables tracking a user during his or her Internet session.
At a subsequent time, server 50 sends a response to redirect server 30, as indicated by arrow 1 13. Redirect software 33 receives the response from redirect server 30 and forwards it to client 20. Reporting browser 24 receives the forwarded response and takes appropriate action, such as rendering a web page.
It will be appreciated that, to render the web page, reporting browser 24 may need to get images or applets from other servers, and does this via the same mechanism illustrated in Fig. 4.
Advantageously, referring server 40 can download a web page to client 20, causing client 20 to retrieve and execute a reporting browser. When a user goes from a web site at referring server 40 to a web site at vending server 50, this can readily be tracked from the logging file maintained at redirect server 30.
When a user purchases something at the web site at server 50, the purchase event can be detected by the sequence of web pages the user navigates through, and/or by examination of the actions taken at web pages from which a purchase is possible. Accordingly, referring server 40 can better estimate the compensation due from vending server 50 for traffic sent from referring server 40 to vending server 50.
Fig. 5 is a block diagram illustrating another embodiment of an operational phase of the present invention. The system of Fig. 5 operates in a generally similar manner as the system of Fig. 4, except as described below.
In the embodiment shown in Fig. 5, server 55 also includes reporting browser software 55 for downloading to client 25. Client 25 includes reporting browser 28, which is a JAVA applet downloaded from server 55. In a modification, reporting browser 28 is not downloaded from server 55 via Internet 10, but is instead delivered via disk or telecommunications other than Internet 10 to client 25.
Reporting browser 28 is adapted to perform most of its communication with server 55. Importantly, reporting browser 28 is adapted to report each of its actions to server 35 using an HTTP POST request. Such reporting using an HTTP POST request to a server other than the server from which an applet was downloaded is not a JAVA applet security violation. Logging server 35 is somewhat similar to redirect server 30, except that logging server 35 lacks reporting browser software for downloading, and further lacks redirect software 33. Logging software 36 functions to receive HTTP POST requests from client 25 and to log them to disk 37. Logging software 36 is a common gateway interface (CGI) script. In a modification, logging server 35 relies on the logging functions in server software 39 for logging the HTTP POST requests from client 25 to disk 37. It will be recalled that server software 39 is a third party product.
Operation of the system shown in Fig. 5 will now be described. Let
10 it be assumed that client 25 has already received a web page including a link to reporting browser software 54, and has downloaded and executed reporting browser software 54 while rendering the web page, thus commencing execution of reporting browser 28.
15 Assume that, as indicated by arrow 121, reporting browser 28 sends an HTTP request to server 55 such as would ordinarily be generated by a browser in response to a user action, such as clicking on a link displayed by reporting browser 28 or typing information into a form and clicking on a "submit" button.
^r. As indicated by arrow 122, reporting browser 28 also prepares and sends a report corresponding to the HTTP request sent to server 55, and sends the report to logging server 35. The report itself is formatted as an HTTP POST request with the posted information in common log format. Logging software 36 receives the report and writes the report to a file on disk 37. In another embodiment, logging
25 software 36 formats the message before writing it to a disk file. In yet another embodiment, logging software 36 analyzes the message before storing it to, for example, increment a counter of traffic referred from server 40 to server 55.
At a subsequent time, server 55 sends a response to client 25, as 30 indicated by arrow 123. Reporting browser 28 receives the response and takes appropriate action, such as rendering a web page.
It will be appreciated that, to render the web page, reporting browser
28 may need to get images or applets from other servers, and does this via the same mechanism illustrated in Fig. 4. 35 fe Although illustrative embodiments of the present invention, and various modifications thereof, have been described in detail herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to these precise embodiment and the described modifications, and that various changes and further modifications may be effected therein by one skilled in the art without departing from the scope or spirit of the invention as defined in the appended claims.

Claims

o What is claimed is:
1. A method for tracking user activity at a web site, comprising: executing a reporting browser which prepares a request for a responding server and sends the request to a redirect server; and receiving information from the redirect server including a response from the responding server.
2. The method of claim 1, further comprising requesting the
10 reporting browser from the redirect server, and receiving the reporting browser from the redirect server.
3. The method of claim 2, wherein the requesting is performed , , by a native browser.
4. The method of claim 1, wherein the reporting browser is a JAVA applet.
0 5. The method of claim 1, wherein the reporting browser is displayed as a free-floating window or frame.
6. A method for tracking user activity at a web site, comprising: executing a reporting browser which prepares a request for a 5 responding server and sends the request to the responding server, and prepares a corresponding report for a logging server and sends the corresponding report to the logging server; and receiving a response from the responding server.
30
7. The method of claim 6, wherein the reporting browser is downloaded in response to a request from a native browser.
8. The method of claim 6. wherein the corresponding report 5 includes activity information in common log format.
9. The method of claim 6, wherein the reporting browser is displayed as a free-floating window or frame.
10. A method for tracking user activity at a web site, comprising:
5 receiving information representing the user activity from a reporting browser which has been activated by a native browser executing on a client used by the user, and storing the information.
10 11. The method of claim 10, wherein the storing stores the information in common log format.
12. The method of claim 10, further comprising sending a request , , to a responding server based on the user activity information from the reporting browser.
13. The method of claim 12, further comprising forwarding a response from the responding server to the reporting browser.
20
14. The method of claim 10, further comprising downloading the reporting browser to the client executing the native browser.
15. The method of claim 14, wherein the downloading is in
25 response to a request from the native browser.
16. A reporting browser for tracking user activity at a web site, comprising: 30 a computer programmed for preparing a request for a responding server and for sending the request to a redirect server; and means for receiving information from the redirect server including a response from the responding server. 5
17. The apparatus of claim 16, wherein the computer is further programmed for requesting a reporting browser program from the redirect server, and for receiving the reporting browser program from the redirect server.
18. The apparatus of claim 17, wherein the computer is further programmed for executing a native browser program which generates a request for the reporting browser program.
19. The apparatus of claim 16, wherein the reporting browser 0 program is a JAVA applet.
20. The apparatus of claim 16, wherein the reporting browser is displayed as a free-floating window or frame. 5
21. An apparatus for tracking user activity at a web site, comprising: a computer programmed for executing a reporting browser program for preparing a request for a responding server and for preparing a corresponding ^ report for a logging server; means for sending the request to the responding server for sending the corresponding report to the logging server; and means for receiving a response from the responding server. 5
22. The apparatus of claim 21 , wherein the computer is also programmed to execute a native browser program, and wherein the reporting browser program is downloaded in response to a request from the native browser.
v 23. The apparatus of claim 21 , wherein the corresponding report includes activity information in common log format.
24. The apparatus of claim 21 , wherein a window for the reporting browser program is displayed as a free-floating window or frame. 5 o
25. An apparatus for tracking user activity at a web site, comprising: a computer programmed for receiving information representing the user activity from a reporting browser program which has been activated by a native browser program executing on a client computer used by the user, and means for storing the information.
26. The apparatus of claim 25, wherein the means for storing stores the information in common log format. 0
27. The apparatus of claim 25, wherein the computer is further programmed for sending a request to a responding server based on the user activity information from the reporting browser. 5
28. The apparatus of claim 27, wherein the computer is further programmed for forwarding a response from the responding server to the reporting browser.
0 29. The apparatus of claim 25, wherein the computer is further programmed for downloading the reporting browser to the client computer executing the native browser.
30. The apparatus of claim 29, wherein computer is programmed 5 for downloading in response to a request from the native browser program.
0
5
PCT/US2000/018708 1999-07-07 2000-07-07 User activity reporting browser WO2001002932A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU57890/00A AU5789000A (en) 1999-07-07 2000-07-07 User activity reporting browser

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US34930299A 1999-07-07 1999-07-07
US09/349,302 1999-07-07

Publications (2)

Publication Number Publication Date
WO2001002932A2 true WO2001002932A2 (en) 2001-01-11
WO2001002932A3 WO2001002932A3 (en) 2001-09-07

Family

ID=23371788

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/018708 WO2001002932A2 (en) 1999-07-07 2000-07-07 User activity reporting browser

Country Status (2)

Country Link
AU (1) AU5789000A (en)
WO (1) WO2001002932A2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100497811B1 (en) * 2001-12-27 2005-07-01 삼성에스디에스 주식회사 Reporting system linked with web environment
EP1265145A3 (en) * 2001-06-04 2006-01-18 Sony Computer Entertainment Inc. Log collecting/analyzing system with separated functions of collecting log information and analyzing the same
EP2056571A3 (en) * 2007-10-29 2009-07-15 Kevin Hutchinson System for measuring web traffic
US7752308B2 (en) 2007-10-30 2010-07-06 Hutchinson Kevin P System for measuring web traffic
US20120284113A1 (en) * 2007-03-16 2012-11-08 Autotrader.Com, Inc. System and Method for Providing Competitive Pricing for Automobiles
US8910187B2 (en) * 2006-08-22 2014-12-09 International Business Machines Corporation Method and apparatus for non-intrusive web application integration to streamline enterprise business process
US20160142507A1 (en) * 2013-07-02 2016-05-19 Telefonaktiebolaget L M Ericsson (Publ) Caching content

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732218A (en) * 1997-01-02 1998-03-24 Lucent Technologies Inc. Management-data-gathering system for gathering on clients and servers data regarding interactions between the servers, the clients, and users of the clients during real use of a network of clients and servers
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US5987523A (en) * 1997-06-04 1999-11-16 International Business Machines Corporation Applet redirection for controlled access to non-orginating hosts
US6018619A (en) * 1996-05-24 2000-01-25 Microsoft Corporation Method, system and apparatus for client-side usage tracking of information server systems
US6052730A (en) * 1997-01-10 2000-04-18 The Board Of Trustees Of The Leland Stanford Junior University Method for monitoring and/or modifying web browsing sessions
US6112240A (en) * 1997-09-03 2000-08-29 International Business Machines Corporation Web site client information tracker

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018619A (en) * 1996-05-24 2000-01-25 Microsoft Corporation Method, system and apparatus for client-side usage tracking of information server systems
US5732218A (en) * 1997-01-02 1998-03-24 Lucent Technologies Inc. Management-data-gathering system for gathering on clients and servers data regarding interactions between the servers, the clients, and users of the clients during real use of a network of clients and servers
US6052730A (en) * 1997-01-10 2000-04-18 The Board Of Trustees Of The Leland Stanford Junior University Method for monitoring and/or modifying web browsing sessions
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US5987523A (en) * 1997-06-04 1999-11-16 International Business Machines Corporation Applet redirection for controlled access to non-orginating hosts
US6112240A (en) * 1997-09-03 2000-08-29 International Business Machines Corporation Web site client information tracker

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1265145A3 (en) * 2001-06-04 2006-01-18 Sony Computer Entertainment Inc. Log collecting/analyzing system with separated functions of collecting log information and analyzing the same
US7558820B2 (en) 2001-06-04 2009-07-07 Sony Computer Entertainment Inc. Log collecting/analyzing system with separated functions of collecting log information and analyzing the same
US8090771B2 (en) 2001-06-04 2012-01-03 Sony Computer Entertainment Inc. Log collecting/analyzing system with separated functions of collecting log information and analyzing the same
KR100497811B1 (en) * 2001-12-27 2005-07-01 삼성에스디에스 주식회사 Reporting system linked with web environment
US8910187B2 (en) * 2006-08-22 2014-12-09 International Business Machines Corporation Method and apparatus for non-intrusive web application integration to streamline enterprise business process
US20120284113A1 (en) * 2007-03-16 2012-11-08 Autotrader.Com, Inc. System and Method for Providing Competitive Pricing for Automobiles
EP2056571A3 (en) * 2007-10-29 2009-07-15 Kevin Hutchinson System for measuring web traffic
US7752308B2 (en) 2007-10-30 2010-07-06 Hutchinson Kevin P System for measuring web traffic
US20160142507A1 (en) * 2013-07-02 2016-05-19 Telefonaktiebolaget L M Ericsson (Publ) Caching content

Also Published As

Publication number Publication date
WO2001002932A3 (en) 2001-09-07
AU5789000A (en) 2001-01-22

Similar Documents

Publication Publication Date Title
US11258870B1 (en) Method and system for monitoring an activity of a user
US6112240A (en) Web site client information tracker
US6366947B1 (en) System and method for accelerating network interaction
US8032626B1 (en) Method and system for monitoring the performance of a distributed application
EP0993726B1 (en) Method and apparatus for redirection of server external hyper-link references
JP4334232B2 (en) Method for measuring client-side performance, computer-readable medium holding instructions therefor, and method for responding to client-side performance
US6877007B1 (en) Method and apparatus for tracking a user&#39;s interaction with a resource supplied by a server computer
US7870254B2 (en) Method and apparatus for measuring web site performance
US7765295B2 (en) Methods and apparatus for real user monitoring
US6973490B1 (en) Method and system for object-level web performance and analysis
US7502994B2 (en) Web page link-tracking system
US6601098B1 (en) Technique for measuring round-trip latency to computing devices requiring no client-side proxy presence
WO2001002932A2 (en) User activity reporting browser
JP4391766B2 (en) Browser session mobility system for multi-platform applications
JP2000194636A (en) Method for providing information over internet and program recording medium
JP3842696B2 (en) Screen transition control system, client, web server, screen transition control method, and computer program
JPH11203153A (en) Interface system and recording medium
WO2001090966A1 (en) Monitoring system
WO2002035409A2 (en) Joint form-filling

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP