# Patent

## Title
Use of browser history file to determine web site reach

## Abstract

Methods and apparatus for using a browser history file to determine web site reach are disclosed. An example method includes accessing Web site access history information stored at a client computer, accessing a user setting corresponding to a duration of time for retention of the Web site access history information, and sending the Web site access history information and the user setting to a collection computer different from the client computer.

## Background
RELATED APPLICATIONS
This patent arises from a Continuation of U.S. patent application Ser. No. 11/094,061, filed Mar. 30, 2005, entitled “USE OF BROWSER HISTORY FILE TO DETERMINE WEB SITE REACH”, which is a Continuation of U.S. patent application Ser. No. 09/103,026, filed Jun. 23, 1998, entitled “USE OF BROWSER HISTORY FILE TO DETERMINE WEB SITE REACH.” U.S. patent application Ser. No. 11/094,061 and U.S. patent application Ser. No. 09/103,026 are hereby incorporated by reference in their entirety.


FIELD OF THE DISCLOSURE
The present disclosure relates to an arrangement whereby Web site reach is determined from the history files of browsers.
BACKGROUND OF THE DISCLOSURE
The Internet has proven to be an efficient and popular mechanism for the dissemination of information from content providers to content recipients. Content providers in many cases are organizations, such as businesses, governmental agencies, educational institutions, and the like, who operate Web sites in order to provide information that can be downloaded by content recipients. The content recipients are often consumers who use computers typically located in their dwellings to access the content provided by content providers. However, content recipients may also be other businesses, governmental agencies, educational institutions, and the like. In many cases, a content provider is also a content recipient.
The operators of Web sites, as well as those who create and place content (such as advertisements) for Web sites, have an interest in measuring the reach of content. Reach is typically determined by the number of unique visitors who visit a Web site. Web site operators, and those who create and place content, may then draw market relevant conclusions from the reach of their content.
Several arrangements have been proposed in order to measure reach. For example, it is known for a Web site to itself measure reach by determining the number of unique visitors who visit a Web site. However, such a measurement is localized in that it provides little information about the reach of content offered by other Web sites, such as competitive Web sites. Also, this measurement provides no information about the demographic information about the reach.
Accordingly, it has been proposed to install software meters on the computers of statistically selected panelists so that reach, and other information related to content, can be measured and extrapolated over the population as a whole, in much the same way that TV ratings are generated. According to this proposal, the software meters track operating system messages in order to detect communications of interest. When the software meters detect communications of interest, the software meters log the titles of the corresponding windows which are displayed to a computer user. However, logging titles of windows containing Internet content is not particularly useful because such titles can be very generic. For example, one such title which is popular with many content providers is simply “Home Page.” This title provides little indication of the information supplied to the content recipient.
Moreover, tagging of Internet content has been broadly suggested. However, the context in which tagging has been suggested requires widespread industry cooperation, and it is unlikely that such widespread industry cooperation is attainable.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other aspects of the present disclosure will become more apparent from a detailed consideration of the disclosure when taken in conjunction with the drawings:
FIG. 1 illustrates a metering system according to the present disclosure in which browser histories are reported to a central facility from a plurality of computers located at corresponding statistically selected sites.
FIG. 2 illustrates an exemplary embodiment of a software routine which may be executed by the central facility in order to obtain the browser histories from the computers of FIG. 1.
FIG. 3 illustrates an alternative metering system according to the present disclosure in which a plurality of meters resident on computers at corresponding statistically selected sites report browser histories to a central facility.
FIG. 4 illustrates an exemplary embodiment of a software routine which may be used for the meters of FIG. 3.
FIG. 5 illustrates an example flowchart of an example method for metering a web site.



DETAILED DESCRIPTION
A metering system 10 is shown in FIG. 1 as an exemplary application of the present disclosure. The metering system 10 includes a plurality of computers 12 each of which is located at a corresponding panelist location 14. The computers 12 may be referred to herein as metered computers. The panelist locations 14 are statistically selected, such as by a central facility 16, in order to participate in a Web site reach survey. For example, personnel at the central facility 16 or elsewhere may implement random digit dialing in order to find the users of the computers 12 for participation in the Web site reach survey.
The purpose of the Web site reach survey is to determine the reach of one or more Web sites 18 to the users of the computers 12. The Web site reach survey may provide such information as the number of users reached by the Web sites 18, the demographics of the users reached by the Web sites 18, and the like.
As shown in FIG. 1, one or more of the Web sites 18 may be reached through an Internet Service Provider 20. The users of the computers 12 reach the Web sites 18 through browsers 22 operating on the computers 12. The computers 12, the central-facility 16, the Web sites 18, and the Internet Service Provider 20 are interconnected by a network 24 which, for example, may be a public telephone system, an internal network, or the like.
Many browsers, such as the Netscape Navigator RTM browser and the Internet Explorer browser, store the URLs and other information of the Web pages which are accessed by surfers whenever the surfers go to Web pages, either by clicking on hyperlinks or by typing in URLs directly. The Netscape Navigator RTM browser stores the URLs in a flat database history file, while the Internet Explorer browser stores the URLs and other information in a directory as a structured historical hierarchy according to date and week of access. Surfers use the data stored in these histories to allow them to return to pages which they recently visited.
Therefore, in order to conduct the Web site reach survey, the users of the computers 12, who have been statistically selected as discussed above and who have agreed to participate in the survey, are directed to a Web page residing on a server of the central facility 16. The Web page at the central facility 16 contains a history file retrieval program which the server at the central facility 16 downloads to the computers 12 of those users who have accessed that Web page. The history file retrieval program retrieves the information stored by the browsers 22 in the history files and causes this information to be uploaded to the server of the central facility 16. It should be noted that the server of the central facility 16 preferably stores multiple history file retrieval programs, one for each of the different types of browsers of the panelists participating in the Web site reach survey. Thus, once the server at the central facility 16 has identified the type of browser a panelist accessing its Web page is using, it may download the correct history file retrieval program.
A browser does not necessarily retain the information in its history file indefinitely. For example, some browsers allow the user to set the length of time that history file information is retained. Such browsers may also time stamp each entry in the history file with the time of the last visit. Accordingly, if a user returns to a page that the user has seen before, the time stamp is overwritten with the latest time, such that entries in the history file are not duplicated on repeat visits.
Other browsers store the history information with time stamps in directories according to the week in which the Web pages are visited. These browsers may also permit the user to set the number of days that the historical information is retained. Thus, for example, if the user sets the number of retention days to twenty, these browsers will maintain three directories, one for two weeks ago, one for one week ago, and one for the current week. Therefore, if a user is running such a browser on a Wednesday, there will be subdirectories for Monday, Tuesday, and Wednesday under the Current Week directory in the history file. With this approach, many entries may be duplicated when the same page is visited more than once. For example, a page may appear in each weekday subdirectory and in each prior week directory depending on the user's use of the browser. However, as duplicate entries in the current week directory age (e.g., from Sunday to Monday), many of the entries are deleted or merged into one entry for the week. Duplicate entries across week boundaries are not merged.
Even though the information in these history files in not retained indefinitely, this information is still useful to indicate the number and demographics of people who reach the Web sites 18. Also, the information acquired by the server of the central facility 16 can be improved by the frequency with which the information is uploaded to the server of the central facility 16.
Accordingly, the server at the central facility 16 may execute a software routine 30 shown in FIG. 2 whenever a user accesses its home page. The user may access this home page on the user's own initiative, or the software routine 30 may prompt the user to initiate access by sending a message, such as an e-mail, to the user requesting the user to access this home page. However access is initiated, the server at the central facility 16 waits for a Web message at a block 32. When the server at the central facility 16 receives a Web message at the block 32, the server at the central facility 16 determines at a block 34 whether the user sending the current Web message is a panelist who has been selected for participation in the Web site reach survey. For example, the server at the central facility 16 may refer to a list of panelists who have agreed to participate in the Web site reach survey. If the user is not a panelist (e.g., the user is not on the list), the server at the central facility 16 at a block 36 hands off the received message to other software for appropriate processing. (Alternatively, program flow may simply return to the block 32 to await the next message.)
However, if the user is a panelist, an application is sent at a block 38 to the user's computer 12. This application may be a Java applet, JavaScript, or an ActiveX control. The user's permission is required to access information on the hard disk of the user's computer. In Java and JavaScript, permission is obtained in the form of a signed application (as opposed to an unprivileged application that runs in a sand-box environment). An ActiveX application requires the user's authorization even if the application does not need to access the hard disk of the user's computer. The latest versions of many browsers allow a programmer to automate the download and subsequent execution of a signed application on a single Web page. All the panelist may be required to do is to go to the specified Web page and click the “Okay” or similar icon or button in response to a security override request.
The application downloaded to the panelist's computer is arranged to access the history file stored by the computer's browser, to insert the appropriate information stored in the history file into a message, and to communicate the message to the server at the central facility 16. For example, the application may be arranged to open a regular socket back to the server, or the application may be arranged to post the information back to the server through an HTTP daemon, or the application may be arranged to simply e-mail the information back to the server. Alternatively, the application may be arranged to access the history file, to store appropriate information from the history file in a log, and to later communicate the logged information to the server at the central facility 16.
The server at the central facility 16 determines at a block 40 whether the central facility 16 has received information in response to the application downloaded at the block 38. If the server of the central facility 16 has not received the information, the server determines at a block 42 whether it should again send the application down to the user's computer. If the application can be resent, the processing at the blocks 38 and 40 is repeated. In this manner, a predetermined number of attempts may be made to retrieve history data from each panelist. If the application should not be resent, program flow returns to the block 32 to await another message.
If the server at the central facility 16 has received the history information as determined at the block 40, the server at a block 44 suitably processes the history information and then logs the history information in a database along with history information received from other panelists. The history information can be assembled into reports as directed by the customers of the central facility 16.
In processing the history information, the server at the central facility 16 preferably arranges the history information from different browsers into a common format. For example, because some browsers may contain duplicate data and some may not, it may be preferable to eliminate duplicate data. It should be noted that some or all of the processing required to transform the data to a common format may be effected on the panelist's computer.
Also, the data from all weeks and days should be merged and any entry that is a duplicate may be discarded in favor of the most recent entry. The parameter that controls the length of time that the history information is maintained is an integral part of the history information and should preferably be maintained in the server database so that reach data is given the proper time line. For example, data from a browser with an expiration time of ten days cannot be used to measure reach over a period extending to before that interval.
A metering system 50 shown in FIG. 3 represents an alternative embodiment of the present disclosure. The metering system 50 includes a plurality of computers 52 each of which is located at a corresponding panelist location 54. The computers 52 may be referred to herein as metered computers. The panelist locations 54 are statistically selected to participate in a Web site reach survey. As before, the purpose of the Web site reach survey is to determine the reach of one or more Web sites 58 to the users of the computers 52. As shown in FIG. 3, one or more of the Web sites 58 are reached through an Internet Service Provider 60. The users of the computers 52 reach the Web sites 58 through browsers (not shown) operating on the computers 52. The computers 52, the central facility 56, the Web sites 58, and the Internet Service Provider 60 are interconnected by a network 64 which, for example, may be a public telephone system, an internal network, or the like.
In the metering system 50, a software meter 66 acquires the history information which is accumulated by the browsers running on corresponding ones of the computers 52. The software meter 66, as shown in FIG. 4, determines when a corresponding browser makes an entry into a history file at a block 70. When the software meter 66 determines that the browser is making an entry into the history file, the entry at a block 72 is intercepted, is copied to a separate log file, and is then passed to the history file. In parallel, the software meter 66 determines at a block 74 whether it is time to transmit the contents of the log file to the central facility 56. If it is time to transmit the contents of the log file to the central facility 56, the log file is tested at a block 76 to determine whether it has accumulated any history information since the time for the last transmission to the central facility 56. If history information has been accumulated in the log file since this time, the software meter 66 packages the history information with the address of the central facility 56 in a message at a block 78 and transmits the message at a block 80. After a new entry in the history file is logged at the block 72, or if it is not time to transmit the contents of the log file as determined at the block 74, or if the log file contains no data since the time for the last transmission to the central facility 56 as determined at a block 76, or after the contents of the log file are transmitted to the central facility 56 at the block 80, program flow then returns to the blocks 70 and 74.
Certain modifications of the present disclosure have been discussed above. Other modifications will occur to those practicing in the art of the present disclosure. For example, the software routine 30 is arranged as described above to determine at the block 34 whether a user accessing the central facility is a panelist. Instead, the software routine 30 may be associated with a dedicated survey Web page that can be accessed only by a panelist. If so, the block 34 may be unnecessary, but may be provided as a filter to filter out non-panelists who accidentally access this dedicated Web page.
Also, the software meter 66 is arranged to intercept information being stored in a history file by a corresponding browser. However, the software meter 66 may instead be arranged to access information from this history file on a periodic basis, such as once a day, once a week, or the like.
Moreover, the software meter 66 is described above as being resident on a corresponding computer 52. Instead, the functions performed by the software meter 66 may be performed by a hardware and/or software unit connected to the corresponding computer 52.
Furthermore, the software meter 66 as described above transmits accumulated logged history information. Instead, the software meter 66 may be arranged to transmit the history information as soon as it is detected at the block 70. That is, the software meter 66 copies the history information for immediate transmission to the central facility or other destination. Alternatively, the history information may be simply copied to a disk for posting back to the central facility or other destination.
Additionally, the computers 12 and 52 may be provided with mechanisms to determine the identities of their users and to transmit such identities to the central facilities 16 and 56. For example, the computers 12 and 52 may implement face recognition or other recognition techniques in order to identify the users, or the computers 12 and 52 may require the users to identify themselves. These identifications, together with demographic data about the panelists stored at the computers 12 and 52 or at the central facilities 16 and 56, provide information which is useful in generating reports for the customers of the central facilities 16 and 56.
FIG. 5 illustrates an example flowchart of an example method for metering a web site. According to the example method, a user input including a reference to a Web site is received at a first computer (block 502). In response, the first computer accesses the website (block 504). The method further comprises, maintaining a browser history stored on the first computer (block 506). The browser history stores a reference to the Web site in response to the browser accessing the Web site. The browser history is maintained by browser functionality native to the browser and the browser history has a first format. A message instructing the first computer to send the message to a second computer is received at the first computer (block 508). A message is then sent from the first computer to the second computer after the browser history is populated with information (block 510). The first computer receives an application from the second computer in response to the message (block 512). The application is executed at the first computer (block 514). Next, the reference to the Web site is stored at a third computer (block 516). Then, the method of FIG. 5 terminates.
Accordingly, the description of the present disclosure is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the best mode of carrying out the disclosure. The details may be varied substantially without departing from the spirit of the disclosure, and the exclusive use of all modifications which are within the scope of the appended claims is reserved.

## Claims

1. A method comprising:
accessing, with a processor, Web site access history information stored at a client computer, the Web site access history information including access history information for at least a first Web site of a first internet domain and a second Web site of a second internet domain different than the first internet domain;
accessing a user setting corresponding to a duration of time for retention of the Web site access history information, the user setting stored at the client computer for a browser executed by the client computer, wherein Web site access history information that exceeds the duration is removed from the Web site access history information while the user setting and Web site access history information that does not exceed the duration set by the user setting are retained;
sending the user setting to a collection computer different from the client computer; and
repeatedly sending the Web site access history information to the collection computer, wherein the collection computer receives Web site access history information from a plurality of client computers for a plurality of users, the Web site access history information from the plurality of client computers arranged in a common format.

2. The method of claim 1, further comprising transmitting a data collection application from a server computer to the client computer and copying the Web site access history information through execution of the data collection application on the client computer.

3. The method of claim 2, wherein the server computer is the collection computer.

4. The method of claim 1, further comprising storing in the collection computer the Web site access history information from the client computer together with Web site access history information from other computers.

5. The method of claim 1, wherein accessing the Web site access history information, accessing the user setting, and sending the Web site access history information and the user setting to the collection computer are performed by a meter located at the client computer.

6. The method of claim 1, further comprising storing in the collection computer the Web site access history information from the client computer together with Web site access history information from a second computer different from the client computer and different from the collection computer.

7. The method of claim 1, wherein the Web site access history information is stored by the browser.

8. A method comprising:
accessing, with a processor, Web site access history information stored at a client computer, the Web site access history information including access history information for at least a first Web site of a first internet domain and a second Web site of a second internet domain different than the first internet domain;
accessing a user setting corresponding to a duration of time for retention of the Web site access history information, the user setting stored at the client computer for a browser executed by the client computer, wherein Web site access history information that exceeds the duration is removed from the Web site access history information while the user setting and Web site access history information that does not exceed the duration set by the user setting are retained; and
sending the user setting to a collection computer different from the client computer; and
repeatedly sending the Web site access history information to the collection computer, wherein accessing the Web site access history information stored at the client computer, accessing the user setting corresponding to the duration of time for retention of the Web site access history information, and sending the Web site access history information and the user setting to the collection computer different from the client computer are performed by an application different than the browser, wherein the collection computer receives Web site access history information from a plurality of client computers for a plurality of users, the Web site access history information from the plurality of client computers arranged in a common format.

9. A method comprising:
monitoring, with a processor, a Web site browser at a first computer to determine when the Web site browser stores Web site access history information in a history file, the Web site access history information including access history information for at least a first Web site of a first internet domain and a second Web site of a second internet domain different than the first internet domain;
intercepting the Web site access history information when it is determined that the Web site access history information is being stored in the history file;
accessing a user setting corresponding to a duration of time for retention of the Web site access history information, the user setting stored at the first computer for the Web site browser executing on the first computer, wherein Web site access history information that exceeds the duration is removed from the Web site access history information while the user setting and Web site access history information that does not exceed the duration set by the user setting are retained;
communicating the user setting to a second computer different from the first computer; and

repeatedly communicating the intercepted Web site access history information to the second computer, wherein the second computer receives Web site access history information from a plurality of client computers for a plurality of users, the Web site access history information from the plurality of client computers arranged in a common format.

10. The method of claim 9, further comprising transmitting a data collection application from a third computer to the first computer, wherein intercepting the Web site access history information is performed through execution of the data collection application on the processor of the first computer.

11. The method of claim 10, further comprising storing in the second computer the Web site access history information from the first computer together with Web site access history information from a third computer networked to the first computer.

12. The method of claim 9, wherein monitoring the Web site browser at the first computer to determine when the Web site browser stores Web site access history information in the history file and intercepting the Web site access history information when it is determined that the Web site access history information is being stored in the history file are performed by a meter located at the first computer.

13. The method of claim 9, further comprising transmitting a data collection application from a second computer to the first computer, and collecting the Web site access history information through execution of the data collection application on the first computer.

14. The method of claim 9, further comprising storing in the second computer the Web site access history information from the first computer together with Web site access history information from a third computer.

15. A tangible machine readable storage disk or storage device comprising instructions that, when executed, cause a computer to at least:
access Web site access history information stored at a client computer, the Web site access history information including access history information for at least a first Web site of a first internet domain and a second Web site of a second internet domain different than the first internet domain;
access a user setting corresponding to a duration of time for retention of the Web site access history information, the user setting stored at the client computer for a browser executing on the client computer, wherein Web site access history information that exceeds the duration is removed from the Web site access history information while Web site access history information that does not exceed the duration is retained;
transmit the user setting to a central facility; and

repeatedly transmit the Web site access history information to the central facility, wherein the central facility receives Web site access history information from a plurality of client computers for a plurality of users, the Web site access history information from the plurality of client computers arranged in a common format.

16. The tangible machine readable storage disk or storage device as defined in claim 15, wherein the instructions are received from a server via a network.

17. The tangible machine readable storage disk or storage device as defined in claim 15, wherein the Web site access history information is to be stored together with Web site access history information from a second client computer.

18. The tangible machine readable storage disk or storage device as defined in claim 15, wherein the Web site access history information is stored by the browser executed by the client computer.

19. The tangible machine readable storage disk or storage device as defined in claim 15, wherein the instructions are a part of an application different than the browser.