Content display monitoring by a processing system

Abstract
The invention can enable monitoring of the display of content by a computer system. Moreover, the invention can enable monitoring of the displayed content to produce monitoring information from which conclusions may be deduced regarding the observation of the displayed content by an observer. The invention can also enable monitoring of the display at a content display site of content that is provided by a content provider site over a network to the content display site. Additionally, the invention can enable the expeditious provision of updated and/or tailored content over a network from a content provider site to a content display site so that the content provider's current and appropriately tailored content is always displayed at the content display site. Aspects of the invention related to transfer of content over a network are generally applicable to any type of network. However, it is contemplated that the invention can be particularly useful with a computer network, including private computer networks (e.g., America Online™) and public computer networks (e.g., the Internet). In particular, the invention can be advantageously used with computer networks or portions of computer networks over which video and/or audio content are transferred from one network site to another network site for observation, such as the World Wide Web portion of the Internet.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention


This invention relates to monitoring the display of content by a computer system and observation of the content.


The invention also relates to monitoring the display and observation at a content display site of content that is provided by a content provider site over a network to the content display site. The invention further relates to the provision of updated and/or tailored content from a content provider site to a content display site so that the content provider's current content is always displayed at the content display site.


2. Related Art


A large amount of human activity consists of the dissemination of information by information providers (content providers) to information consumers (observers). Recently, computer networks have become a very popular mechanism for accomplishing information dissemination. The use of computer networks for information dissemination has necessitated or enabled new techniques to accomplish particular functions related to the dissemination of information.


For example, information providers of all types have an interest in knowing the extent and nature of observation of the information that they disseminate. Information providers that disseminate information over computer networks also have this interest. However, the use of networked computers for information dissemination can make it difficult to ascertain who is observing the disseminated information and how, since information can be accessed rapidly from a remote location by any of a large number of possible observers whose identity is often not predictable beforehand, and since control over the display of the information once disseminated may not be possible, practical or desirable.


Among information providers, advertisers have particular interest in knowing how and to what extent their advertisements are displayed and/or observed, since such knowledge can be a key element in evaluating the effectiveness of their advertising and can also be the basis for payment for advertising. Mechanisms for obtaining such information have been developed for advertisements disseminated in conventional media, e.g., audiovisual media such as television and radio, and print media such as magazines and newspapers. For example, the well-known Nielsen television ratings enable advertisers to gauge the number of people that likely watched advertisements during a particular television program. As advertising over a computer network becomes more common, the importance of developing mechanisms for enabling advertisers to monitor the display and observation of their advertisements disseminated over a computer network increases.


Previous efforts to monitor the display of advertising (or other content) disseminated over a computer network have been inadequate for a variety of reasons, including the limited scope of the monitoring information obtained, the ambiguous nature of the monitoring information, the incompleteness of the monitoring information, and the susceptibility of the monitoring information to manipulation. Review of some of the techniques that have previously been used to acquire monitoring information regarding the display of content (e.g., advertising) disseminated over a particular computer network—the World Wide Web portion of the Internet computer network—will illustrate the deficiencies of existing techniques for monitoring the display of content disseminated over a computer network.



FIGS. 1A and 1B are simplified diagrams of a network illustrating operation of a previous system for monitoring requests for content over the World Wide Web. In FIGS. 1A and 1B, a content provider site 101 (which can be embodied by, for example, a server computer) can communicate with a content display site 102 (which can be embodied by, for example, a client computer) over the network communication line 103. The server computer at the content provider site 101 can store content colloquially referred to as a “Web page.” The client computer at the content display site 102 executes a software program, called a browser, that enables selection and display of a variety of Web pages stored at different content provider sites. When an observer at the content display site 102 wishes to view a particular Web page, the observer causes the client computer at the content display site 102 to send a request to the appropriate server computer, e.g., the server computer at the content provider site 101, as shown in FIG. 1A. The server computers at content provider sites all include a software program (in the current implementation of the World Wide Web, this is an http daemon) that watches for such incoming communications. Upon receipt of the request, the server computer at the content provider site 101 transfers a file representing the Web page (which, in the current implementation of the World Wide Web, is an html file) to the client computer at the content display site 102, as shown in FIG. 1B. This file can itself reference other files (that may be stored on the server computer at the content provider site 101 and/or on other server computers) that are also transferred to the content display site 102. The browser can use the transferred files to generate a display of the Web page on the client computer at the content display site 102. The http daemon, in addition to initiating the transfer of the appropriate file or files to the content display site 102, also makes a record of requests for files from the server computer on which the daemon resides. The record of such requests is stored on the server computer at the content provider site 101 in a file 104 that is often referred to as a “log file.”


The exact structure and content of log files can vary somewhat from server computer to server computer. However, generally, log files include a list of transactions that each represent a single file request. Each transaction includes multiple fields, each of which are used to store a predefined type of information about the file request. One of the fields can be used to store an identification of the file requested. Additional fields can be used to store the IP (Internet Protocol) address of the client computer that requested the particular file, the type of browser that requested the file, a time stamp for the request (i.e., the date and time that the request was received by the server computer), the amount of time required to transfer the requested file to the client computer, and the size of the file transferred. Other information about file requests can also be stored in a log file.


Previous methods for monitoring the display of content distributed over the World Wide Web have used the information stored in the log file. For example, one previous method has consisted of simply determining the number of transactions in the log file and counting each as a “hit” on a Web page, i.e., a request for a Web page. The number of hits is deemed to approximate the number of times that the Web page has been viewed and, therefore, the degree of exposure of the content of the Web page to information consumers.


There are a number of problems with this approach however. For example, as indicated above, a request for a Web page may cause, in addition to the request for an initial html file, requests for other files that are necessary to generate the Web page. If these other files reside on the same server computer as the initial html file, additional transactions are recorded in the log file. Thus, a request for a single Web page can cause multiple transactions to be recorded in the log file. As can be appreciated, then, the number of times that a Web page is transferred to a content display site can be far less than the number of transactions recorded in the log file. Moreover, without further analysis, there is no way to accurately predict the relationship between the number of transactions in the log file and the number of times that a Web page has been transferred to the content display site. Such inaccuracy can be very important to, for example, advertisers—whose cost of advertising is often proportional to the measured exposure of the advertising—since the measured exposure of their advertising (and, thus, its cost) may be based upon the number of hits on a Web page containing their advertisement.


A method to overcome this problem has been used. By analyzing the contents of the log file to determine which file was requested in each transaction, it may be possible to differentiate transactions in which the initial html file needed to generate a Web page is requested from transactions in which the requested file is one which is itself requested by another file, thus enabling “redundant” transactions to be identified and eliminated from the hit count. While such an approach can increase the accuracy of counting Web page hits, it still suffers from several problems.


For example, log file analysis may result in some undercounting of Web page hits, apart from any overcounting. This is because, once transferred to a client computer at a content display site, the files necessary to generate a Web page can be stored (“cached”) on that client computer, thus enabling an observer at the content display site to view the Web page again without causing the client computer to make another request to the content provider server computer from which the Web page was initially retrieved. Consequently, the observer can view the Web page without causing transactions to be added to the log file, resulting in undercounting of the number of Web page hits.


Additionally, log files are subject to manipulation, either directly or indirectly. For example, an unscrupulous content provider could directly manipulate the log file by retrieving and editing the log file to add phony transactions, thus artificially increasing the number of Web page hits and making the Web page appear to be more popular than it really is. This problem can be ameliorated by causing the log files to be transferred periodically at predetermined times (e.g., each night at 12:00 midnight) from the server computer at the content provider site to a neutral network site; however, the log file can still be manipulated during the time between transfers.


A log file might be manipulated indirectly, for example, by programming one or more computers to continually request a Web page, thereby generating a large number of hits on that Web page. While the log file would contain transactions corresponding to actual file requests associated with the Web page, these requests would be artificial requests that would almost certainly not result in a display of the Web page, and certainly not in the observation of the Web page. Moreover, checking the contents of the log file for an unusually high number of requests from a particular IP address (i.e., client computer) may not enable such manipulation to be detected, since a large number of requests may legitimately come from a client computer that serves many users (for example, the proprietary network America Online™ has a handful of computers that are used by many users of that network to make connection to the Internet and World Wide Web).


It may be possible to identify the real origin of requests for content using “cookies.” A cookie enables assignment of a unique identifier to each computer from which requests really emanate by transferring the identifier to that computer with content transferred to that computer. Future requests for content carry this identifier with them. The identifier can be used, in particular, to aid in identification of indirect log file manipulation, as described above, and, more generally, to enable more robust log file analysis.


Notwithstanding such enhancement, cookies do not overcome a fundamental problem with the use and analysis of log files to ascertain information regarding the display of content provided over the World Wide Web. That is, as highlighted by the overcounting problem associated with the above-described artifice and the undercounting problem associated with caching of content at the content display site, log files only store information about file requests. A log file does not even indicate whether the requested file was actually transferred to the requesting client computer (though, typically, such file transfer would occur). Nor does a log file include any information about how the file was used once transferred to the requesting client computer. In particular, log files do not provide any information regarding whether the content represented by the requested file is actually displayed by the client computer at the content display site, much less information from which conclusions can be deduced regarding whether—and if so, how—the content was observed by an observer. These limitations associated with the content of a log file cannot be overcome by a monitoring approach based on log file analysis. Moreover, log file analysis is calculation intensive, requiring hours in some instances to extract the desired information from the log file.


Another method of monitoring the display of content disseminated over the World Wide Web uses an approach similar to that of the Nielsen ratings system used in monitoring television viewing. In this method, monitoring software is added to the browser implemented on the client computers of a selected number of defined observers (e.g., families) to enable acquisition of data regarding advertising exposure on those computers. This information is then used to project patterns over the general population.


However, this approach also has several disadvantages. First, only a limited amount of data is collected, i.e., data is only obtained regarding a small number of information consumers. As with any polling method, there is no guarantee that the data acquired can be extrapolated to the general population, even if the observers selected for monitoring are chosen carefully and according to accepted sampling practices. Second, as the size of the World Wide Web (or other computer network for which this method is used) grows, i.e., as the number of content provider sites increases, the number of monitored observers necessary to ensure accurate representation of the usage of all content provider sites must increase, since otherwise there may be few or no observer interactions with some content provider sites upon which to base projections. It may not be possible to find an adequate number of appropriate observers to participate in the monitoring process, particularly given concerns with the attendant intrusion into the privacy of the selected observers. Third, installation of the monitoring software on a client computer to be compatible with a browser presents a number of problems. Such installation requires active participation by observers; since observers typically do not reap benefit from operation of the monitoring software, they may be reluctant to expend the effort to effect installation. The monitoring software must continually be revised to be compatible with new browsers and new versions of old browsers. To enable monitoring of a large number of client computers, the software must be tested for compatibility with a wide variety of computing environments. And, as currently implemented, such monitoring software is also dependent upon the computing platform used, making it necessary to revise the monitoring software for use with new computing platforms or risk skewing the demographics of the sample users.


In addition to desiring information regarding the display and observation of the content that they provide, content providers also often desire to provide content to a content display site that is particularly tailored for observation (e.g., according to various demographic characteristics of an expected observer) at that content display site. For example, text content should be expressed in a language that the observer can understand. If appropriate for the content, it is desirable to tailor the content according to, for example, the age, sex or occupation of the observer.


Such tailoring of content has previously been enabled by modifying the http daemon on a computer at the content provider site to cause a particular version of a set of content to be transferred to a requesting content display site based upon the IP address of that content display site. While such tailoring of content is useful, it is desirable to be able to tailor the presentation of content in additional ways not enabled by this approach.


Content providers also often desire to provide their content with the content of other content providers. For example, it is a common practice for content providers (referred to here as “primary content providers”) on the World Wide Web to include advertisements from other entities (referred to here as “secondary content providers”) as part of the content provider's Web page. In such situations, it is desirable for the secondary content provider to be able to easily update and/or appropriately tailor (e.g., according to characteristics of the requester) the content that they supply to the primary content provider. This could be accomplished by causing the primary content provider site to contact the secondary content provider site—each time that the primary content provider receives a request for content that includes the secondary content—to retrieve the secondary content (thus ensuring that updated, appropriately tailored secondary content is used) or check whether updated or tailored secondary content is available (if so, the content is retrieved). (This method could also be modified so that content retrieval or a check for updated and/or tailored content is only performed according to a predetermined schedule.) However, both the primary content provider and the secondary content provider may not want their systems burdened with the extra computational capacity required to handle the multitude of requests that would be needed to effect this operation. Alternatively, the primary content provider could collect and store the updated and tailored content from the secondary content providers at the primary content provider site. However, the burden associated with collecting and managing the content from secondary content providers may be more than the primary content provider wants to shoulder.


One way that this functionality can be achieved without creating an undesirable burden on the primary or secondary content providing systems is by providing a secondary content storage site that can continually store the most recent content provided by a secondary content provider, as well as different sets of content tailored for particular situations (e.g., display by particular observers or at particular times). FIGS. 2A through 2D are simplified diagrams of a network illustrating the operation of such a system. In FIG. 2A, a content display site 202 makes a request over the network communication line 203 to the primary content provider site 201 for content that includes the secondary content. In FIG. 2B, the primary content provider site 201 transfers the file or files stored at the primary content provider site 201 that are necessary to generate a display of the primary content. These files include appropriate reference to a file or files stored at a secondary content storage site 204 that includes the most updated and/or appropriately tailored secondary content for display with the primary content. As shown in FIG. 2C, this reference causes the content display site 202 to request the secondary content from the secondary content storage site 204. In FIG. 2D, the secondary content is transferred from the secondary content storage site 204 to the content display site 202 for display at the content display site 202.


However, while this system can relieve the primary content provider of the burden of managing the acquisition, storage and provision of secondary content (a burden that can become rather onerous when many secondary content providers are providing content to the primary content provider), the system has a characteristic that can make it undesirable for many content providers. The secondary content storage site not only manages the secondary content, it also provides the secondary content when requests for primary content are made to the primary content provider. Moreover, the secondary content is frequently content, such as graphics files used to generate visual images (which frequently dominate advertisements), that has a high bandwidth requirement for transmission over the network. By taking control of the transmission of secondary content to the content display site, the secondary content storage site is also frequently taking control of the most bandwidth sensitive parts of the content provided by the primary content providers. The operator of the secondary content storage site may not provide a system that addresses the bandwidth requirements to the satisfaction of the primary content provider, so that the presentation of the combined primary and secondary content occurs more slowly than desired by the primary content provider. Thus, this approach causes the primary content provider to lose control of a critical aspect of their operation.


SUMMARY OF THE INVENTION

The invention can enable monitoring of the display of content by a computer system. Moreover, the invention can enable monitoring of the content display to produce monitoring information from which conclusions may be deduced regarding the observation of the content display by an observer. The invention can also enable monitoring of the display at a content display site of content that is provided by a content provider site over a network to the content display site. Additionally, the invention can enable the expeditious provision of updated and/or tailored content over a network from a content provider site to a content display site so that the content provider's current and appropriately tailored content is always displayed at the content display site.


Aspects of the invention related to transfer of content over a network are generally applicable to any type of network. However, it is contemplated that the invention can be particularly useful with a computer network, including private computer networks (e.g., America Online™) and public computer networks (e.g., the Internet). In particular, the invention can be advantageously used with computer networks or portions of computer networks over which video and/or audio content are transferred from one network site to another network site for observation, such as the World Wide Web portion of the Internet. Additionally, the invention is particularly useful in monitoring the display of content obtained over such a network using an interactive browser to acquire and view the content in real time.


In one aspect of the invention, the display of content by a computer system can be monitored by monitoring the position of the content display on a display screen of the computer system and evaluating the position of the content display on the display screen to produce monitoring information regarding display of the content. Monitoring of content display according to this aspect of the invention can be further enabled by monitoring the position of one or more other images on the display screen and comparing the position of the content display to the position of the other images to produce the monitoring information. In particular, this aspect of the invention can enable a determination as to whether (and for how long) the content display is hidden by one of the other images, and, further, whether the content display is fully hidden or partially hidden (and for how long the content display is fully and partially hidden, respectively). This information can be useful to, for example, indicate the amount of time that the content display was visible to an observer for observation, or to aid the content provider in determining in which regions of a display screen his content is most likely to be unobstructed. This aspect of the invention can also enable determination of the number of times that an on-screen pointer (e.g., a mouse arrow or a cursor) entered an area defined by the content display. This information may be useful in determining how attentive the observer was to the content, since an observer frequently watches the position of the on-screen pointer when viewing the display screen.


In another aspect of the invention, the display of content by a computer system can be monitored by monitoring the change in time of a characteristic of the content display and evaluating the change in time of the characteristic of the content display to produce monitoring information regarding display of the content. Monitoring of content display according to this aspect of the invention can be further enabled by monitoring the change in time of a characteristic of the computer system and comparing the change in time of the characteristic of the content display to the change in time of the characteristic of the computer system to produce the monitoring information. This aspect of the invention can also enable, as discussed above, determination as to whether (and for how long) the content display is fully or partially hidden by another displayed image, as well as the number of times that an on-screen pointer entered an area defined by the content display.


In still another aspect of the invention, in a computer system in which the content is displayed in response to an instruction that is provided from a source external to the computer system and the system for monitoring (e.g., an instruction provided by a user of the computer system), the beginning and end of a display of the content can be ascertained so that monitoring of the display of content by the computer system can begin at the beginning of the content display and end at the end of the content display. The monitoring can occur in accordance with other aspects of the invention described herein. The monitoring can also determine the duration of the display of the content. Since the occurrence of monitoring according to this aspect of the invention is coincident with the display of the content to be monitored, the monitoring expends processing capability of the computer system only when necessary, while simultaneously assuring that monitoring occurs at all times that the content is displayed.


In yet another aspect of the invention, where content is provided by a content provider site over a network to a content display site for display at the content display site, a mechanism for monitoring the display of the content can be transferred from the content provider site to the content display site in response to (e.g., together with) the transfer of content from the content provider site. The monitoring can occur in accordance with other aspects of the invention described herein. Monitoring information obtained regarding the display of the content at the content display site can be transferred to a remote site that is part of the network. The remote site can, but need not necessarily be, the content provider site from which the content was transferred to the content display site. Where the remote site is such content provider site, the monitoring information can then, in turn, be transferred from the content provider site to a second remote site. Further, where the remote site is such content provider site, the monitoring information can be transferred from the content display site to the content provider site via a communication means that is different from the communication means used to transfer the content from the content provider site to the content display site, a feature that can be useful, for example, when the network is the World Wide Web. This aspect of the invention provides a heretofore unavailable monitoring capability for obtaining information about how content is displayed on a network such as the World Wide Web. In particular, it has not previously been possible to monitor content transferred from a content provider site on the World Wide Web once the content has been transferred to a content display site.


In a still further aspect of the invention, in a network which operates according to a protocol that enables new content to be transferred to a content display site in response to selection of a portion of the content currently being displayed at the content display site, a mechanism for monitoring the display of content can be transferred from a content provider site to a content display site so that the mechanism for monitoring operates at the content provider site. The monitoring can occur in accordance with other aspects of the invention described herein. Monitoring information obtained regarding the display of the content at the content display site can be transferred to a remote site that is part of the network. This aspect of the invention is particularly advantageous when at least some of the content being monitored comprises a graphical display. As discussed above with respect to the immediately preceding aspect of the invention, this aspect of the invention provides a heretofore unavailable monitoring capability for obtaining information about how content is displayed when retrieved over a network in an interactive browsing environment, such as occurs on the World Wide Web.


In yet a further aspect of the invention, the display of content that is provided by a content provider site over a network to the content display site is monitored to produce monitoring information, then the network that is different from the content provider site.


According to this aspect, the monitoring information can first be transferred to the content providing site before eventual transfer to the remote site, so long as the monitoring information cannot be stored at the content provider site, or accessed or manipulated at the content provider site before transfer to the remote site. Access to the monitoring information at the remote site can be allowed to enable interaction with, but not modification of, the monitoring information. This aspect of the invention provides a system configuration that can overcome the problem of possible tampering with the substance of the monitoring information by the content provider. Further, this aspect of the invention can be implemented so that the content and the monitoring instructions are stored at the remote site and transferred to the content display site when requested by an observer at the content display site, thus relieving the content provider of storing and managing the content and monitoring instructions at the content provider site and thereby simplifying use of the invention for the content provider.


In another aspect of the invention, current and/or tailored content can be provided to a content display site from a content provider site. The content can include both primary content (from the content provider site) and secondary content (provided by third parties). The primary and secondary content can be provided from a secondary content provider site to an application manager site. When the application manager site receives new content (in particular, updated and/or tailored content) from any content provider site, that content is transferred to content provider sites that use that content. Updated and/or tailored content is therefore available for transfer to a content display site immediately upon receipt of a request for the content from the content display site.


This aspect of the invention relieves the primary content provider of the need to manage the storage of content, while reserving control over the provision of that content to the primary content provider, thereby enabling the content provider to ensure that the bandwidth requirement of the content provided from the content provider site are met.





BRIEF DESCRIPTION OF THE DRAWINGS


FIGS. 1A and 1B are simplified diagrams of a network illustrating operation of a previous system for monitoring requests for content over the World Wide Web.



FIGS. 2A, 2B, 2C and 2D are simplified diagrams of a network illustrating operation of a previous system for enabling retrieval of updated and/or tailored secondary content for use in primary content provided over the network.



FIGS. 3A, 3B and 3C are simplified diagrams of a network illustrating operation of one embodiment of the invention.



FIGS. 4A, 4B and 4C are simplified views of a display screen including a content display and other images, illustrating an unobstructed, fully hidden, and partially hidden content display, respectively.



FIG. 4D is a simplified view of a display screen including a content display and other images, illustrating a content display that is only partially hidden, but that would be determined to be fully hidden according to a method of the invention. FIG. 4E is a simplified view of the display screen shown in FIG. 4D, illustrating how another method of the invention can correctly determine the content display to be partially hidden.



FIG. 4F is a simplified view of a display screen including a content display and other images, illustrating a display that is partially hidden, but that may be determined to be unobstructed according to a method of the invention.



FIGS. 5A, 5B and 5C are simplified diagrams of a network illustrating operation of another embodiment of the invention.



FIGS. 6A, 6B, 6C and 6D are simplified diagrams of a network illustrating operation of still another embodiment of the invention.



FIG. 7 is a flow chart illustrating a method of monitoring a display of content according to a still further embodiment of the invention.





DETAILED DESCRIPTION OF THE INVENTION

The invention includes several aspects related to the display of content to an observer. For example, the invention can enable monitoring of the display of content by a computer system.


In particular, the invention can enable monitoring of the displayed content in a manner that provides monitoring information from which aspects of the observer's observation of the content can be gleaned.


The invention can also enable monitoring of the display and—using the aforementioned capability—the observation at a content display site of content that is provided by a content provider site over a network to the content display site. Additionally, the invention can enable the expeditious provision of updated and/or tailored content over a network from a content provider site to a content display site so that the content provider's current and appropriately tailored content is always displayed at the content display site.


Herein, “content” refers generally to any sensory images (or data used to produce those sensory images) displayed by a device with which the invention is used. “Observation” refers to the perception of content by an observer. Typically, the content will be visual or aural images produced by the device; observation of such content thus consists of viewing or listening, as appropriate, to the produced images.


Certain aspects of the invention relate to the monitoring of content obtained from, or provision of content over, a network. “Content provider site” refers to a device that is part of the network and that can provide content to another device that is part of the network. “Content display site” refers to a device that is part of the network and that can receive and display content from another device that is part of the network. It is contemplated that the invention can be particularly useful with a computer network that operates in this way. “Computer network” includes any collection of interconnected computer systems. “Computer system” refers to a device or collection of devices which depend upon a computational device (e.g., a general or special purpose processor) for at least some aspects of their operation. In particular, as used herein, a “computer system” can include any type of display device, including a conventional computer display monitor, a television, or one or more audio speakers.



FIGS. 3A, 3B and 3C are simplified diagrams of a network according to one aspect of the invention and FIG. 7 illustrates a method 700 of operating the network according to another embodiment of the invention. The method 700 of FIG. 7 may be implemented via computer software instructions executed by any of the devices included in FIGS. 3A, 3B and 3C. A content display site 302 (which can be embodied by a conventional client computer) is linked via a network communication line (or lines) 303 to a content provider site 301 (which can be embodied by a conventional server computer). (Typically, the network links multiple content display sites with multiple content provider sites; a single content display site 302 and a single content provider site 301 are shown in FIGS. 3A, 3B and 3C for simplicity. Additionally, it is to be understood that each site on the network can function as both a content display site and a content provider site.) As shown in FIGS. 3A and 7, the client computer at the content display site 302 requests content from the server computer at the content provider site 301 over the network communication line 303 in a step 702. As shown in FIGS. 3B and 7, and server computer at the content provider site 301 provides content to the client computer at the content display site 302 over the network communication line 303 in a step 704. According to this aspect of the invention, in response to the request for content from the content provider site 301, a set of monitoring instructions (which can be embodied, for example, in a computer program) are also transferred to the content display site 302 in a step 706. Although shown in FIG. 7 as occurring after the transfer of content, the transfer of the monitoring instructions can occur before, with or after the transfer of the content. As explained in more detail below, the monitoring instructions can occur before, with or after the transfer of the content. As explained in more detail below, the monitoring instructions cause the client computer at the content display site 302 to monitor the display of the content to produce monitoring information regarding the manner in which the content is displayed in a set of steps 708 and 710. As shown in FIG. 3C, the monitoring information is transferred from the content display site 302 to the content provider site 301 over the network communication line 303 in a step 712. (The monitoring information could, alternatively or additionally, be transferred to another site that is part of the network.) Review of the monitoring information produced by the monitoring instructions can enable conclusions regarding the user's observation of the content to be deduced, as explained in more detail below in a step 714. (It should be noted, that, more generally, monitoring instructions according to the invention can be used to monitor the display of content on a computer system whether or not the computer system is part of a network and receives content and monitoring instructions over the network. (It should be noted that, more generally, monitoring instructions according to the invention can be used to monitor the display of content on a computer system whether or not the computer system is part of a network and receives content and monitoring instructions over the network.)


The invention can be used with both public computer networks (e.g., the Internet) and private computer networks (e.g., commercial online services such as America Online™, Prodigy™ and CompuServe™, as well as intranets). In particular, the invention can be advantageously used with computer networks or portions of computer networks over which video and/or audio content are transferred from one network site to another network site for display. Further, the invention can advantageously be used with a network in which the network sites can be accessed in real time with a browser. (“Browser” can refer to a computer program which can interpret hypertext files and display the content corresponding to those files, as well as enable transfer from one hypertext file to another via a hyperlink within the hypertext file being transferred from.) The World Wide Web portion of the Internet is a well-known current example of such a network with which the invention can be used. Below, some aspects of the invention are described, for purposes of illustration, as implemented in a manner that is compatible with the World Wide Web, i.e., in accordance with the hypertext markup language (html) and the hypertext transfer protocol (http). However, none of the aspects of the invention are limited to such implementation.


When the invention is used with a computer network or to monitor display of content by a computer system, aspects of the invention can be implemented as one or more computer programs that can be executed by a computer to achieve the functionality of that aspect. Generally, such computer programs can be implemented using any appropriate computer programming language. However, when an aspect of the invention is used with a computer network that includes computers of many different types (such as the Internet), the computer programming language is preferably one that can be executed by any type of computer (i.e., the computer programming language is platform independent). The Java programming language, developed by Sun Microsystems, Inc. of Mountain View, Calif., is one such computer programming language. Below, some aspects of the invention are described, for purposes of illustration, as implemented in the Java programming language. Again, however, none of the aspects of the invention are limited to such implementation.


In one embodiment of the invention, the monitoring instructions are transferred to the content display site 302 together with the content. In a particular embodiment, the monitoring instructions are part of a computer program that also includes instructions for displaying the content. Illustratively, such a computer program can be an applet written in the Java programming language. As will be appreciated by those skilled in the use of html, Example 1 below illustrates a set of instructions in accordance with the html syntax that can be used to cause execution of an applet that both displays content and monitors the display.


EXAMPLE 1



  • <applet code=“AdInsert.class” width=230 height=33>

  • <param name=“image” value=“images/southwest.gif”>

  • <param name=“href” value=“http://www.swa.com/”>

  • </applet>


    The instructions shown in Example 1 are executed by a conventional browser implemented on a computer at a content display site when an observer at the content display site makes a request for (e.g., selects a hyperlink) the content represented by the file “southwest.gif.” The request is received by an http daemon at the appropriate content provider site. The instructions identify the location (“image”) at the content provider site of an applet (a small application program) called “AdInsert” that includes further instructions which, when executed, perform a monitoring method according to the invention, as well as cause the content to be displayed. (The steps that can be implemented in such a monitoring method are discussed further below.) Upon receipt of the request by the http daemon at the content provider site, the AdInsert applet is transferred to the requesting content display site and begins executing. The instructions in Example 1 also establish the size of the area (width and height) in which the content is displayed on a computer display screen, as well as indicate a network site (“href”) to which connection can be made by selecting a hyperlink within the content. Thus, illustratively, in accordance with the invention, content from a content provider site that can be accessed by a browser (such as a network site that is part of the World Wide Web) can be transferred to and displayed at a content display site by transferring an applet to the content display site that can be executed by the browser to both display the content and cause aspects of the display of the content to be monitored. (Note that the content being monitored can comprise all of the content being displayed, or only a part of the content being displayed, e.g., an advertisement present in a Web page.)



In contrast, previously, only content has been transferred to content display sites, using an html syntax as shown in Example 2 below for the content that is displayed by the html syntax shown in Example 1 above.


EXAMPLE 2



  • <a href=“http://www.swa.com/”>

  • <img border=0 src=“/images/southwest.gif” height=33 width=230>

  • </a>


    Thus, previously, it has not been possible to monitor content transferred from a content provider site on the World Wide Web once the content has been transferred to the content display site. As can be appreciated, then, this aspect of the invention provides a powerful tool, not previously available, for obtaining information about how content is displayed on a computer network such as the World Wide Web.



Implementation of a monitoring method as described immediately above means that the operation of the monitoring method is coincident with the display of the content to be monitored. Since the monitoring method does not operate when the content is not being displayed, the monitoring method expends processing capability of the computer system at the content display site only when necessary. At the same time, operation of the monitoring method at all times when the content is displayed is assured.


Further, since the monitoring method can be implemented as part of a broader method according to the invention that also causes the content to be displayed, the problems previously noted with monitoring the display of content that is cached at the content display site are overcome. This is because, unlike the previous use of log files—which require that a request be made to a content provider site in order that any information be recorded—a monitoring method according to the invention can record monitoring information any time that the content is displayed, without regard to the manner in which the display is requested. In particular, the invention can enable the number of times that a particular set of content is displayed to be precisely counted. This is a huge improvement over previous methods as described above, which not only do not count the number of times that the content is displayed (they count requests), but may not even count the number of requests accurately.


The instructions that implement a monitoring method according to the invention can be used to obtain a large variety of monitoring information. For example, the contents of conventional log files (discussed above) can be ascertained by a monitoring method of the invention. An important aspect of the invention, however, is that monitoring information beyond that available in a conventional log file can also be obtained by a monitoring method according to the invention. Instructions for obtaining several types of such monitoring information are described below. However, it is to be understood that the descriptions below are merely illustrative of the types of monitoring information that can be obtained; the obtaining of other types of monitoring information is also contemplated by the invention.


For example, a monitoring method according to the invention can detect each time that the content is displayed. In fact, in one embodiment of a monitoring method according to the invention, the monitoring method does no more than this. A monitoring method that detects the display of the content can be implemented by an applet as described above. The “monitoring instructions” of such an applet may be no more than an instruction that causes an indication that the applet has executed to be stored or transferred to an appropriate network site (discussed further below). A monitoring method that can ascertain whether the content was displayed or not can be a very useful monitoring method that provides important basic information not previously available in an interactive browsing environment for acquiring and viewing content. In particular, undercounting (due to, for example, caching of content at the content display site) and overcounting (due to, for example, submission of artificial requests for content that do not result in the display of content) of the number of times that the content is displayed are avoided.


A monitoring method according to the invention can also determine the duration of the content display. For example, the duration of the content display can be determined as the amount of time that the computer program for displaying the content executed, as indicated by time stamps—ascertainable, for example, using a method that exists as part of the Java language—associated with a predefined beginning and end of execution of the program.


In one embodiment of the invention, a monitoring method monitors the position of the content on a display screen while the content is being displayed. The position is evaluated to produce monitoring information regarding the display of the content. Such evaluation can be accomplished, for example, by further obtaining information regarding the position of one or more other images on the display screen, and comparing the position of the content to the position of the one or more other images.


For example, in accordance with the above embodiment, the monitoring method can determine whether the content is not visible on the display screen, either because the content is occluded by the one or more other images, or because the content has been “scrolled” off of the display screen (hereafter, these two situations will be referred to together by saying that the content is “hidden”). Further, the monitoring method can determine whether the content is partially hidden, i.e., either partially occluded by the one or more other images, or partially scrolled off of the display screen. Moreover, the duration of time of each period during which the content is fully or partially hidden can be determined as such periods occur. The duration of time of unobstructed displays of the content can be determined as times when the view of the content is not either fully or partially hidden. Each of the durations can be reported directly and/or the total duration that the content is fully hidden, partially hidden, fully or partially hidden and/or unobstructed, respectively, can be reported.


Information regarding whether or not the displayed content is hidden can be useful for a variety of reasons. For example, such information indicates the amount of time that the displayed content was visible to the observer for observation. Additionally, this information can be used by the content provider to determine in which regions of a display screen his content is most likely to be unobstructed.


Whether the displayed content is hidden can be determined in any manner that is possible using the tools (e.g., supported programming language, operating system characteristics) associated with the computer network with which the invention is being used. One way of determining whether the displayed content is hidden using the above-described applet is to periodically declare that the content display (or a portion thereof) is invalid, i.e., the operating system is asked to redraw the content display, if necessary. If the operating system then makes a request to the applet to redraw the content display, then the content display is not hidden. However, if the operating system does not make a request to the applet to redraw the content display, then the content display is hidden.


The most complete information regarding whether the content display is hidden can be obtained by invalidating each discrete element of the content display (e.g., pixel) and determining whether the discrete element is hidden, in the manner described above. However, such an approach is computationally expensive and is generally not necessary to obtain useful and sufficiently accurate information regarding whether the content display is hidden. Preferably, then, only a portion of the content display, strategically selected, is evaluated in this manner.


For example, in one embodiment of the invention, each of the corners of the content display are invalidated and monitored for redrawing as described above. If all of the corners are redrawn, then the content display is determined to be unobstructed. If none of the corners are redrawn, then the content display is determined to be fully hidden. If at least one, but not all, of the corners are redrawn, then the display is determined to be partially hidden.



FIGS. 4A, 4B and 4C are simplified views of a display screen 400 including a content display 401 and other images 402, 403 and 404, illustrating an unobstructed, fully hidden, and partially hidden content display, respectively. In FIG. 4A, none of the corners 401a, 401b, 401c or 401d are covered by one of the other images 402, 403 and 404. Thus, after the corners 401a, 401b, 401c and 401d are invalidated, each is redrawn, and the content display 401 is (correctly, in this case) determined to be unobstructed. In FIG. 4B, each of the corners 401a, 401b, 401c and 401d is covered by the image 402. Thus, none of the corners 401a, 401b, 401c and 401d are redrawn after being invalidated, and the content display 401 is (again, correctly) determined to be fully hidden. In FIG. 4C, the corners 401c and 401d are covered by the image 402, but the corners 401a and 401b are not. Thus, only the corners 401a and 401b are redrawn after invalidation of the corners 401a, 401b, 401c and 401d, and the content display 401 is (once again, correctly) determined to be partially hidden.


The above approach may not be accurate in all cases. FIG. 4D is a simplified view of the display screen 400 including the content display 400 and other images 402, 403 and 404, illustrating a partially hidden content display 401 that would be determined to be fully hidden according to the method of the invention detailed above. In FIG. 4D, the image 402 covers the corners 401c and 401c, the image 403 covers the corner 401a, and the image 404 covers the corner 401b. Thus, since none of the four corners 401a, 401b, 401c and 401d is redrawn after being invalidated, the content display 401 is determined to be fully hidden; however, as can be seen in FIG. 4D, this is not the case.


This problem can be alleviated by evaluating other discrete elements of the content display in addition to the corners. For example, discrete elements at the center of the upper and lower edges, and/or the right and left edges of the content display could be evaluated in addition to the corner pixels. FIG. 4E is a simplified view of the display screen 400 as shown in FIG. 4D, illustrating how another method of the invention can correctly determine the content display 401 to be partially hidden. In FIG. 4E, the upper edge center 401e and the lower edge center 401f of the content display 401 are also evaluated. The lower edge center 401f is covered by the image 402, while the upper edge center 401e is not. Thus, after invalidation of the corners 401a, 401b, 401c and 401d, and the centers 401e and 401f, the upper edge center 401e is redrawn, and the content display 401 is (correctly) determined to be partially hidden.



FIG. 4F is a simplified view of the display screen 400, including the content display 401 and other images 402, 403 and 404, illustrating a partially hidden content display 401 that may be determined to be unobstructed according to a method of the invention. In FIG. 4F, none of the corners 401a, 401b, 401c and 401d, or the centers 401e and 401f are covered by the images 402, 403 and 404. Thus, after invalidation of the corners 401a, 401b, 401c and 401d, and the centers 401e and 401f, each is redrawn, and the content display 401 is determined to be unobstructed. However, as can be seen in FIG. 4F, this is not the case, since the image 403 is positioned in the middle of the content display 401.


As illustrated in FIGS. 4D through 4F, while the evaluation of additional discrete elements of a content display does not eliminate the possibility of an inaccurate determination regarding whether the content display is hidden, it does reduce the likelihood of such occurrence. Generally, any number and configuration of discrete elements of a content display can be evaluated to reduce the possibility of an incorrect determination regarding whether the content display is hidden, so long as the associated computational cost does not become unacceptably high. Further, the above-described method for determining whether a content display is hidden is only one way in which such determination can be made.


As part of determining whether the content display is hidden, a time stamp is recorded each time there is a change in the “hidden state” of the content display. From these time stamps, the duration of each period of time that the content display is unobstructed, partially hidden and fully hidden can be determined. From the duration of each period, total durations of time that the content display is unobstructed, partially hidden and fully hidden can also be determined.


It may also be possible, by appropriately configuring the discrete elements of the content display that are evaluated, to determine (though, typically, approximately), when the content display is partially hidden, the amount of the content display that is visible. It can be possible, too, when the content display is partially hidden, to give a qualitative description of the portion of the content display that is hidden (or visible), e.g., upper right corner, lower left corner.


When the monitoring method operates on a computer system having an event-driven operating environment, the monitoring method can monitor events as transmitted by the operating system to ascertain information regarding the content display. When the monitoring method is implemented as an applet that also displays the content, such monitoring can occur naturally, since only events concerning the content display are transmitted to the monitoring method. For example, the applet can use a pre-existing Java method (e.g., the method named HandleEvent in a current version of Java) to monitor events as transmitted by the operating system. Such event monitoring can be used to, for example, determine the number of times that an on-screen pointer (e.g., a mouse arrow or a cursor) entered an area defined by the content display. (The defined area can be related to the content display in any manner and can be, for example, the area in which the content is displayed, or an area somewhat smaller or larger than the area of the content display.) The operating system of the computer system displaying the content display typically monitors the position of the on-screen pointer and can identify in which region on the display screen the pointer is located. Thus, an applet configured to display content, as described above, can discern whether the pointer is located within the content display by monitoring an event that indicates that the pointer has entered the area defined by the content display. The monitoring method of the invention can use this information provided by the operating system to count the number of times that the on-screen pointer enters the area defined by the content display. The monitoring method can also determine when the on-screen pointer leaves the defined area after each entry, by monitoring another event that indicates that the pointer has exited the area defined by the content display. The time stamps associated with the entry into and exit from the defined area can be used to calculate the duration of time that the pointer was in the defined area for each entry into the defined area, as well as the total duration of time that the pointer was within the defined area. The monitoring method can also determine when the on-screen pointer is moving within the defined area, again by monitoring an event that indicates such pointer movement. The above-described information regarding the on-screen pointer position and movement relative to the content display may be useful in determining how attentive the observer was to the content, since an observer frequently watches the position of the on-screen pointer when viewing the display screen.


In another embodiment of the invention, the monitoring method monitors the change in time of a characteristic of the content display. The change in time of this characteristic is evaluated to produce monitoring information. The evaluation can be accomplished, for example, by further monitoring the change in time of a characteristic of the computer system used to display the content, and comparing the change in time of the characteristic of the content display to the change in time of the characteristic of the computer system. Either of the two examples given immediately above (hiding of the content display and entry of a pointer into a defined area) are also examples of a monitoring method in accordance with this embodiment of the invention.


A monitoring method according to the invention can obtain a variety of other information, as well. For example, the monitoring method can obtain a time stamp (date and time of day) that indicates when the display of the content began. When the monitoring method is implemented by an applet written in Java, the time stamp can be obtained using a method that exists as part of the Java language.


Identifying information regarding the computer on which the content is displayed can also be obtained. The Internet Protocol (IP) address from which the request for the content was made, as well as an identification of the machine to which the content was transferred can be obtained. (There may not be a one-to-one correspondence between these two if, for example, the latter is a client computer of a system for which the former is a server computer.) Again, both the IP address and machine name can be obtained using a pre-existing Java method.


A monitoring method according to the invention can also determine if the user of the computer at the content display site selected (e.g., clicked with a mouse or pressed an appropriate keyboard key) a hyperlink within the area of the content display to end display of the current content display. Similar to the monitoring of the pointer location described above, an applet that implements a monitoring method of the invention can include a standard Java method (e.g., HandleEvent) that accepts events transmitted by the operating system. One of the events is the selection of a hyperlink. When such an event is reported, the monitoring method can so note.


As previously indicated, the above-described examples of monitoring information are merely illustrative of the types of monitoring information that can be obtained by a monitoring method according to the invention. Generally, a monitoring method according to the invention can make use of any method available in the computing environment, e.g., an operating system method, or a method that is part of a software framework, or that can be written in a computer programming language that can be used in the computing environment. For example, when the monitoring method is implemented by an applet written in Java, any existing Java method can be used to obtain information relevant to the display of the content to be monitored, either by using the method to change the state of the computer (e.g., the state of the display) on which the content is being displayed and monitoring the response of the computer (e.g., the method for monitoring whether content display is hidden, discussed above) or by retrieving information about the state of the computer (e.g., the method for monitoring entry of the pointer into the content display, discussed above). In particular, the monitoring of events as discussed above can be useful in discerning information about the content display.


A monitoring method according to the invention can also be used to ascertain information about an audio display. For example, if the content being monitored includes audio content that can only be displayed by selecting an appropriate user interface mechanism (e.g., a graphical pushbutton), a monitoring method according to the invention can determine whether that “event” is transmitted to the window represented by the content, indicating that the audio display was at least begun. Using a method as described above for determining the duration of a content display, together with knowledge of the when the audio display was begun (using a time stamp as described above), the duration of the audio display can also be determined. It may also be possible to determine the volume at which the audio content is displayed, by appropriately monitoring the methods used to operate the audio display devices. These examples are merely illustrative. As can be appreciated, using any other method available in the computing environment, other information regarding an audio display can be determined.


A monitoring method according to the invention can also be used to explicitly (i.e., by presenting questions to observers that they can answer) acquire demographic information regarding the observers of the content being monitored. This could be implemented, for example, by including the instructions for asking such questions, the content of the questions and the instructions for storing the obtained demographic information in a computer program used to implement the monitoring method. Or, such instructions and question content could be stored in a separate file that is called and executed by the computer program that implements the monitoring method. Or, instructions for presenting the questions and storing the answers could be included as part of the computer program for implementing the monitoring method, and the content of the questions could be contained in a separate file that is accessed by the computer program. These latter two possibilities can be particularly advantageous, since they allow multiple sets of demographic questions to be presented to observers by the monitoring method, thus enabling the demographic questions to be tailored to the content being displayed or to the characteristics of the observer likely to view the content.


As described above, in accordance with the invention, monitoring information regarding the display of content can be obtained, then later reviewed and analyzed to enable conclusions to be drawn about how the content was displayed and, possibly, to enable deductions to be made about how the content was observed. In addition, monitoring information can be used to affect the display of a set of content. One way in which this can occur is for a set of content, or the manner in which the set of content is displayed, to be modified based upon review and analysis of monitoring information obtained from previous displays of the set of content (e.g., monitoring information regarding whether or not the content was hidden, or the frequency of display of the content at different times during the day or week, that may be used to determine the best location on a display screen or the best times, respectively, to display the content).


Another way in which monitoring information can be used to affect the display of a set of content is to use certain monitoring information obtained just before or during the display to cause the set of content to be displayed in a particular manner. For example, as discussed above, the IP address from which a request for a set of content emanated can be ascertained when the request is first received. It may be possible to associate characteristics of an observer or observers with an IP address from which a request for content has been received (because, for example, demographic information has previously been obtained as described above when a set of content was previously transferred to that IP address). Based upon the known characteristics associated with the IP address, an appropriate one of multiple versions of the requested set of content can be transferred for display, e.g., if it is known that the IP address corresponds to a content display site that is used by observers that speak a particular language, then text displayed aurally or visually can be displayed in that language. As another example, the duration of time that a set of content has been displayed can be determined, as discussed above, and the portion of the set of content that is being displayed changed as a function of that duration, e.g., the display of a set of content can begin with a particular video display and change to another video display after passage of a specified duration of time. As still another example, the portion of a set of content that is displayed can be varied based upon performance characteristics of the network over which the content is transferred. For example, the amount of time required to transfer data from the content provider site to the content display site can be monitored (by, for example, obtaining information from the log file regarding the size of transferred files and the amount of time required to transfer those files, as discussed above). The display of the content can then be controlled so that a moving video is displayed if the data transfer rate is above a predetermined magnitude and a still video is displayed if the data transfer rate is below the predetermined magnitude, the predetermined magnitude being chosen so that data rates below that magnitude are insufficiently fast to produce moving video of acceptable quality. The above examples are merely illustrative; other ways of using monitoring information to affect the display of a set of content are contemplated by the invention.


As described above, a monitoring method according to the invention can obtain monitoring information regarding the display of content. Of particular interest is the basic question of whether the content was displayed at all. As described above, a monitoring method according to the invention can make this determination. Some observers, however, have developed techniques for suppressing the display of particular content (e.g., advertisements). A monitoring method according to the invention can also increase the likelihood that particular content is displayed by conditioning certain other operation of the computer system that displays the content on the display of that particular content. For example, the content to be monitored can be presented as part of other content. Such presentation is common on, for example, the World Wide Web, where, for example, advertising content is frequently included as part of other content. A monitoring method according to the invention can condition the display of the other content on the display of the to-be-monitored content, e.g., the full content of a Web page cannot be viewed unless an advertisement included on the Web page is viewed. Moreover, the presentation of the other content can be conditioned on the display of the to-be-monitored content for a specified period of time. This can be particularly valuable when the to-be-monitored content does not appear automatically as part of the other content, but, rather, is only displayed in response to selection of an appropriate user interface mechanism (e.g., a graphical pushbutton) that is part of the other content.


In accordance with the above-described forced presentation of specified content, the detection of content suppression can be accomplished in any suitable manner. For example, it may be possible to detect the suppression technique being used.


Or, the display of the content can be ordered so that the content that must be displayed (“required content”) is displayed first; if the monitoring method detects that the content display site is displaying the other content without first having displayed the required content, then suppression of the required content has been detected.


Upon detection of suppression of the required content, display of the other content is prevented and, if desired, a message indicating that fact can be displayed.


As indicated above, after monitoring information is obtained by a monitoring method according to the invention, the monitoring information is transferred from the content display site 302 to a remote site. The remote site can be the content provider site 301 or another site that is part of the network. When a monitoring method according to the invention is implemented by a Java applet, the remote site is the content provider site 301, since, currently, such applets can only communicate information to the network site from which they were transferred. However, in the future, such constraint may not exist; in that event, the remote site need not necessarily be the content provider site 301 even when a Java applet is used to implement a monitoring method according to the invention.


Generally, the monitoring information can be transferred to the remote site at any time. It may be desirable, for example, to cause the monitoring information to be transferred to the remote site immediately after the monitoring information is obtained, so that the monitoring information is accessible as quickly as possible. It may, alternatively, be desirable to store the monitoring information at the content display site, then transfer the monitoring information at a time when communication over the network communication line 303 is fastest and/or least expensive, e.g., at night.


The monitoring information can be communicated to a communication port that is different than the port from which the content and the monitoring instructions were transmitted to the content display site 302. In that event, a special daemon that monitors such communication port for receipt of monitoring information is installed on the server computer at the content provider site. The daemon can be implemented as a conventional server daemon for monitoring data received by a server computer on a designated communication port. Communication of the monitoring information to a specially designated port can be useful to enable the monitoring data to sent in any desired format in accordance with any desired protocol. For example, the monitoring data can be encrypted, as described below.


When the invention is implemented with the World Wide Web, it is also possible to transmit the monitoring data over the network using the communication channel monitored by the http daemon, i.e., by transmitting a request to the http daemon. Such transmission may be desirable for several reasons. For example, transmission of monitoring data to the http daemon eliminates the need to create, and supply to operators of the remote site to which the monitoring data is to be transferred (e.g., a Web page operator or, as described below, an application manager site operator), special software for receiving the monitoring data. Additionally, transmission of monitoring data by transmitting a request to the http daemon may be the only way to transfer the monitoring data to the remote site. This can be true, for example, when one or more client computers are served by a “proxy server” which mediates communication between the client computers and other sites on the network. The proxy server may not allow communication over a channel specially designated for transmitting monitoring data, but allow communication to the http daemon.


Transmission of monitoring data by making a request to the http daemon can be accomplished in a variety of ways. For example, an http request can be submitted for a file having a “name” that denotes the monitoring data in some way. Notwithstanding the spurious nature of the file request, the request is recorded in the http log file, from which the “name” can be retrieved to enable extraction of the monitoring data. Or, a request for execution of a CGI script can be transmitted, with the parameter of the CGI script request that specifies input to the script being specified to denote the monitoring data in some way. A computer program resident on the computer system at the remote site can then implement a method that extracts the value of the input from the CGI script, and the monitoring data can be extracted from the value of the input. Other methods of using CGI scripts or http requests to transmit monitoring data to an http daemon are possible.


For security, it may be desirable to encrypt the monitoring data before it is transferred from the content display site 302 to a remote site. Any suitable encryption method can be used. For example, a public key encryption method, such as the well known RSA algorithm, can be used to encrypt the monitoring data. In general, the monitoring data (or other data transferred over a network in accordance with the invention) can be encrypted before any transmission of the data over a network (other examples of such data transmission are described below as part of the systems illustrated in FIGS. 5A, 5B and 5C, and FIGS. 6A, 6B, 6C and 6D).


Once communicated to the remote site, the monitoring information can be stored in any appropriate database, as known to those skilled in the art of constructing and managing databases. The monitoring information can be presented for observation through a suitable user interface, such as a graphical user interface (GUI), in any desired format, e.g., graphs, bar charts, pie charts. The monitoring information stored in the database can also be subjected to further analysis if desired. For example, the total time that a content display is available to be viewed can be broken down into percentages of time that the content display was unobstructed, partially hidden and fully hidden. Or, the percentage of observers of a set of content that select a particular hyperlink while observing the content can be identified.


The monitoring information may be of interest not only to the content provider that provides the content for display, but to third parties as well. For example, if the content provided by the content provider includes an advertisement, the advertiser may be interested in the monitoring information regarding display of the content. The third party and the content provider may have conflicting interests in the substance of the monitoring information. For example, if the third party is paying the content provider to include the third party's content with the content provider's content, and the payment is based upon the amount of exposure of the third party's content to observers, the content provider has an interest in the monitoring information showing a large amount of exposure of the content, while the third party has an interest in the monitoring information showing a small amount of exposure. (Both parties, of course, can be simultaneously motivated by other interests, as well: for example, the third party may simply want the monitoring information to reflect accurately the amount of exposure of the content, so that they can use that information in assessing the effects of providing their content through the content provider.) If the monitoring information is transferred from the content display site to the content provider site, and unrestricted access to the monitoring information allowed at the content provider site, there may be no foolproof way to prevent the content provider from tampering with the substance of the monitoring information. This problem is particularly acute when a monitoring method according to the invention is embodied in a manner (e.g., by a Java applet), as discussed above, that necessitates that the monitoring information be transferred back to the content provider site.



FIGS. 5A, 5B and 5C are simplified diagrams of a network illustrating operation of another embodiment of the invention. This embodiment of the invention provides a system configuration that can overcome the problem of possible tampering with the substance of the monitoring information by the content provider. As in the system illustrated in FIGS. 3A, 3B and 3C, a content display site 302 is linked over a network to a content provider site 301. The network also includes an application manager site 501. The content display site 302 and content provider site 301 can communicate with each other via the network communication line 303, as described above, to enable transfer of content and monitoring instructions from the content provider site 301 to the content display site 302. Alternatively, the content and monitoring instructions can be transferred to the content display site 302 from the application manager site 501 in response to a request received from the content provider site 301 upon receipt of the request from the content display site 302. This latter implementation is illustrated in FIGS. 5A, 5B and 5C. In such an implementation, the content provider site 301 needn't have either a computer program for implementing the monitoring method or a program for receiving monitoring data installed at the content provider site 301, thus simplifying use of the invention for the content provider. Rather, the content provider need only have an open account (as discussed below) at the application manager site 501.


In this embodiment of the invention, the monitoring information obtained at the content display site 302 is transferred to the application manager site 501, either directly from the content display site 302 or indirectly via the content provider site 301. If the latter, then the monitoring information can be received by the content provider site 301 and transferred to the application manager site 501 in a way that prevents access to the monitoring information at the content provider site 301. For example, the monitoring information could be encrypted at the content display site 302 before transfer to the content provider site 301, the decryption method being available only at the application manager site 501. Or, the monitoring information could be immediately transferred to the application manager site 501 after being received at the content provider site 301. Once received at the application manager site 501, access to the monitoring information can be administered by the (neutral) application manager so that the monitoring information can not be modified by any of the parties having an interest in the information, thus ensuring the integrity of the monitoring information.


In a typical implementation, multiple sets of content will be provided from multiple content provider sites, and each set of content will be displayed by multiple content display sites. A set of monitoring information will be recorded for each display of each of the multiple sets of content and transferred to the application manager site for storage in a database that is implemented on a computer at the application manager site. Each set of monitoring information must be identified as corresponding to the set of content for which the monitoring information was obtained, so that monitoring information can be appropriately stored in a database to enable later retrieval of the monitoring information for that set of content. When a monitoring method according to the invention is implemented for use with the World Wide Web, this can be accomplished by appropriate specification of a parameter included in a computer program written in html used to implement a monitoring method, as discussed above. Example 3 below illustrates how Example 1 discussed above can be modified to make such specification (the “Account” parameter).


EXAMPLE 3



  • <applet code=“//AppMgr.com/AdInsert.class” width=230 height=33>

  • <param name=“image” value=“images/southwest.gif”>

  • <param name=“href” value=“http://www.swa.com/”>

  • <param name=“Account” value=“9004560093”>

  • </applet>


    The database residing on the computer at the application manager site can also be used, for example, to store account information about the content provider site from which the content display is provided.



In the embodiment of the invention illustrated in FIGS. 5A, 5B, and 5C, a user interface (e.g., GUI) can be provided on the content provider site computer to enable the owner (or representative) of the content provider site to access monitoring information stored at the application manager site regarding content displays provided by the content provider site.


Such an interface can also be configured to enable the content provider to create a new account on the application manager computer, authorize payments for use of the monitoring system of the invention, and request particular analysis or presentation of obtained monitoring information. Other functions can also be provided in such an interface, as desirable.


It is also possible that there be multiple application manager sites. Typically, monitoring information for each content display will be designated for storage on a particular one of the application manager sites. Such designation can be included as a parameter specification in a computer program used to implement the monitoring information as discussed above.


As discussed above, the content provided by a content provider can be tailored according to any specified criteria. Further, the content provider may periodically update the content. Additionally, third parties may want to provide their content with that of a content provider. These third parties may also have multiple sets of specially tailored content that are updated periodically. The management of such multiple sets of content by a content provider at the content provider site can become undesirably complex and may overtax the available bandwidth for transmission of data to and from the content provider site.



FIGS. 6A, 6B, 6C and 6D are simplified diagrams of a network illustrating operation of still another embodiment of the invention. This embodiment of the invention provides a system configuration that can enable updated and/or tailored secondary content provided by a secondary content provider to be transferred to a primary content display site for use with primary content supplied by a primary content provider without the problems identified above with existing such systems, as discussed in more detail below.


This embodiment of the invention also can enable all of the functionality described above for the system illustrated in FIGS. 5A, 5B and 5C. In the embodiment of the invention shown in FIGS. 6A, 6B, 6C and 6D, a content display site 302, a primary content provider site 602 and an application manager site 501 are linked to each other over a network and can communicate with each other as described above. The network also includes a secondary content provider site 601. As shown in FIG. 6A, in this embodiment of the invention, secondary content can be provided from the secondary content provider site 601 to the application manager site 501 and stored thereat. As shown in FIG. 6B, whenever secondary content is provided to the application manager site 501, the application manager causes the content to both be stored at the application manager site 501 and transferred to all content provider sites, e.g., content provider site 602, that provide that secondary content with their primary content. When a request for the primary content that includes such secondary content is received by the primary content provider site 602 from the content display site 302 (FIG. 6C), the primary content provider site 602 is able to immediately (i.e., without necessity to retrieve the content from another network site or request that the content be provided to the content display site from another network site) provide both the primary and secondary content to the content display site 302, as shown in FIG. 6D.


As can be appreciated, the management of both primary and secondary content can become quite burdensome when many sets, and/or many versions of sets, of secondary content and/or primary content are being provided from the primary content provider site. Management of continual updates to these sets of content data exacerbates this burden. By storing secondary content (and, if desired, primary content) at the application manager site 501, the system of FIGS. 6A, 6B, 6C and 6D relieves the primary content provider of the burden of managing such content. However, because the application manager causes the content to be stored at the content provider site 602, the content can be provided to the content display site 302 from the content provider site 602, rather than the application manager site 501, thus leaving control of bandwidth management with the primary content provider so that the primary content provider can ensure that a system that adequately addresses the bandwidth requirements of the content provided from the primary content provider site 602 is in place. This is an important consideration for the primary content provider since requesters of content from the primary content provider will hold the primary content provider responsible for the performance characteristics (e.g., speed) associated with the provision of that content. The system of FIGS. 6A, 6B, 6C and 6D, then, relieves the primary content provider of the need to manage the storage of content, while reserving control over the provision of that content to the content provider.


In this embodiment of the invention a user interface (e.g., GUI) can be provided at both the primary content provider site 602 and the application manager site 501.


The primary content provider user interface can provide the same functionality as described above with respect to FIGS. 5A, 5B, and 5C.


Additionally, the primary content provider user interface can enable the content provider to select available secondary content for possible inclusion with that content provider's primary content. Such selection can also include specification of terms upon which the primary content provider wishes to include the secondary content. Selection of secondary content does not automatically cause the secondary content to be included with the primary content provider's content, but, rather, causes a request for such inclusion to be made (e.g., via the secondary content provider user interface, described below) to the secondary content provider. Upon acceptance by the secondary content provider, the secondary content can be included with the primary content. The secondary content provider user interface can enable the secondary content provider to select a primary content provider site with which to include the secondary content provider's content. Again, such selection can be made together with specification of the terms of such inclusion; the selection causes a request for inclusion to be made (e.g., via the primary content provider user interface) to the primary content provider.


The secondary content user interface can also provide functionality similar to that described above with respect to FIGS. 5A, 5B, and 5C. As will be readily appreciated by those skilled in the art, other functions can also be provided in the primary content provider and secondary content provider user interfaces, as desirable.


As described above, monitoring instructions and content can be embodied by an applet that executes at the content display site. In the system of FIGS. 5A, 5B and 5C or the system of FIGS. 6A, 6B, 6C and 6D, the use of such an applet can advantageously dovetail with an implementation of those systems in which the applet is transferred to the content display site from the application manager site. This is because an applet must return the monitoring information to the network site from which the applet was transferred: thus, the monitoring information is transferred directly to the neutral application manager site. Too, when the monitoring instructions and content are transferred from the application manager site to the content display site, the use of monitoring information to tailor the content provided to the content display site, as discussed above, can also be easily implemented.


Various embodiments of the invention have been described. The descriptions are intended to be illustrative, not limitative. Thus, it will be apparent to one skilled in the art that certain modifications may be made to the invention as described above without departing from the scope of the claims set out below. For example, though the invention has been described above as it particularly applies to monitoring the display of content disseminated over the World Wide Web, the invention can generally be used to monitor the display of content disseminated over any computer network. Additionally, though an implementation of the invention has been described in which aspects of the Java programming language are used, it is to be understood that invention is not limited to such implementation; other programming languages could be used having other features and characteristics (e.g., the language need not be an object-oriented language as is Java).

Claims
  • 1. A system in a computer networked environment for generating monitoring information about a display of content, comprising: a content provider site that stores a content file, wherein the content file has embedded therein at least one computer executable monitoring instruction to cause generation of monitoring information about the display of content associated with the content file;a content display site to receive the content file from the content provider site, to display the content associated with the content file, and to execute the monitoring instruction, wherein the content display site executes the at least one embedded monitoring instruction when the content file is accessed, thereby causing monitoring information about the display of the content to be generated; anda remote site which did not transfer the content file from the content provider site to the content display site, which is different from the content provider site, and which is adapted to receive the generated monitoring information.
  • 2. The system of claim 1, wherein the at least one embedded computer executable monitoring instruction comprises at least one computer executable monitoring instruction that is located in the content file and that causes generation of the monitoring information about the display of the content.
  • 3. The system of claim 1, wherein the at least one embedded computer executable monitoring instruction comprises a link to at least one computer executable monitoring instruction that resides external to the content file and that causes generation of the monitoring information about the display of the content.
  • 4. The system of claim 1, wherein the generated monitoring information indicates that the content was displayed.
  • 5. The system of claim 1, wherein the generated monitoring information about the display of the content is stored on the remote site.
  • 6. The system of claim 5, wherein the remote site performs analysis on the generated monitoring information about the display of the content.
  • 7. The system of claim 1, wherein the content file is provided by a content provider with an assigned account number, and wherein the generated monitoring information about the display of the content contains the account number of the content provider.
  • 8. The system of claim 1, wherein the generated monitoring information about the display of the content includes a time stamp.
  • 9. The system of claim 1, wherein the generated monitoring information about the display of the content includes identifying information about the content display site.
  • 10. The system of claim 1, wherein the generated monitoring information about the display of the content includes demographic information.
  • 11. The system of claim 1, wherein the monitoring information about the display of the content generated at the content display site includes information concerning a user input relating to the content displayed at the content display site.
  • 12. The system of claim 11, wherein the user input comprises a mouse click.
  • 13. The system of claim 11, wherein the user input comprises a keyboard input.
  • 14. The system of claim 11, wherein the user input is monitored by monitoring events transmitted by an operating system of the content display site.
  • 15. The system of claim 1, wherein the monitoring information about the display of the content generated at the content display site includes information concerning a user selection relating to the content displayed at the content display site.
  • 16. The system of claim 15, wherein the user selection comprises a hyperlink selection.
  • 17. The system of claim 15, wherein the user selection comprises selection of a user interface mechanism.
  • 18. The system of claim 15, wherein the user selection comprises selection of a graphical pushbutton.
  • 19. The system of claim 15, wherein the user selection is monitored by monitoring events transmitted by an operating system of the content display site.
  • 20. The system of claim 1, wherein the monitoring information about the display of the content generated at the content display site includes information concerning a user event relating to the content displayed at the content display site.
  • 21. The system of claim 20, wherein the user event is an event transmitted by an operating system of the content display site.
  • 22. A system in a computer networked environment for detecting each time content is displayed at a content display site, comprising: a content provider site that stores a content file, wherein the content file has embedded therein at least one computer executable monitoring instruction to cause detection of display of content associated with the content file;a content display site to receive the content file from the content provider site, to display the content associated with the content file, and to execute the monitoring instruction, wherein when the content display site reads the content file, the at least one embedded computer executable monitoring instruction associated with the content file is executed at the content display site, thereby causing display of the content to be detected and causing generation of a data signal encoded with data indicating that the content was displayed; anda remote site which did not deliver the content file to the content display site, which is different from the content provider site, and which is adapted to receive the generated data signal.
  • 23. The system of claim 22, wherein the at least one embedded computer executable monitoring instruction comprises at least one computer executable monitoring instruction that is located in the content file and that detects the display of the content and generates the data signal.
  • 24. The system of claim 22, wherein the at least one embedded computer executable monitoring instruction comprises a link to at least one computer executable monitoring instruction that resides external to the content file and that causes detection of the display of the content and generation of the data signal.
  • 25. The system of claim 22, wherein the remote site extracts the encoded data from the data signal and stores the data.
  • 26. The system of claim 25, wherein the remote site performs analysis on the stored data.
  • 27. The system of claim 22, wherein the content file is provided by a content provider with an assigned account number, and wherein the encoded data of the data signal includes the account number of the content provider.
  • 28. The system of claim 22, wherein the encoded data of the data signal includes a time stamp.
  • 29. The system of claim 22, wherein the encoded data of the data signal includes identifying information about the content display site.
  • 30. The system of claim 22, wherein the encoded data of the data signal includes demographic information.
  • 31. The system of claim 22, wherein the data indicating that the content was displayed comprises information identifying a user input relating to the content displayed at the content display site.
  • 32. The system of claim 31, wherein the user input comprises a mouse click.
  • 33. The system of claim 31, wherein the user input comprises a keyboard input.
  • 34. The system of claim 31, wherein the user input is monitored by monitoring events transmitted by an operating system of the content display site.
  • 35. The system of claim 22, wherein the data indicating that the content was displayed comprises information identifying a user selection relating to the content displayed at the content display site.
  • 36. The system of claim 35, wherein the user selection comprises a hyperlink selection.
  • 37. The system of claim 35, wherein the user selection comprises selection of a user interface mechanism.
  • 38. The system of claim 35, wherein the user selection comprises selection of a graphical pushbutton.
  • 39. The system of claim 35, wherein the user selection is monitored by monitoring events transmitted by an operating system of the content display site.
  • 40. The system of claim 22, wherein the data indicating that the content was displayed comprises information identifying a user event relating to the content displayed at the content display site.
  • 41. The system of claim 40, wherein the user event is an event transmitted by an operating system of the content display site.
  • 42. A system in a computer networked environment for detecting each time content is displayed at a content display site, comprising: a computer readable medium having a content file originally provided by a content provider stored thereon, wherein the content file has embedded therein at least one computer executable monitoring instruction to cause detection of display of content associated with the content file;a content display site to display the content associated with the content file and to execute the computer executable monitoring instruction, wherein the content display site only executes the at least one embedded computer executable monitoring instruction if the content file provided by the content provider is accessed, thereby causing the display of the content to be detected and causing generation of a data signal encoded with data indicating that the content was displayed; anda remote site which did not provide the content file to the content display site and adapted to receive the generated data signal.
  • 43. The system of claim 42, wherein the computer readable medium is resident on a content provider site.
  • 44. The system of claim 42, wherein the computer readable medium is resident on the content display site.
  • 45. The system of claim 42, wherein the at least one embedded computer executable monitoring instruction comprises at least one computer executable monitoring instruction that is located in the content file and that detects the display of the content and generates the data signal.
  • 46. The system of claim 42, wherein the at least one embedded computer executable monitoring instruction comprises a link to at least one computer executable monitoring instruction that resides external to the content file and that causes detection of the display of the content and generation of the data signal.
  • 47. The system of claim 42, wherein the remote site extracts the encoded data from the data signal and stores the data.
  • 48. The system of claim 47, wherein the remote site performs analysis on the stored data.
  • 49. The system of claim 42, wherein the content file is provided by a content provider with an assigned account number, and wherein the encoded data of the data signal includes the account number of the content provider.
  • 50. The system of claim 42, wherein the encoded data of the data signal includes a time stamp.
  • 51. The system of claim 42, wherein the encoded data of the data signal includes identifying information about the content display site.
  • 52. The system of claim 42, wherein the encoded data of the data signal includes demographic information.
  • 53. The system of claim 42, wherein the data indicating that the content was displayed includes information concerning a user input relating to the content displayed at the content display site.
  • 54. The system of claim 53, wherein the user input comprises a mouse click.
  • 55. The system of claim 53, wherein the user input comprises a keyboard input.
  • 56. The system of claim 53, wherein the user input is monitored by monitoring events transmitted by an operating system of the content display site.
  • 57. The system of claim 42, wherein the data indicating that the content was displayed includes information concerning a user selection relating to the content displayed at the content display site.
  • 58. The system of claim 57, wherein the user selection comprises a hyperlink selection.
  • 59. The system of claim 57, wherein the user selection comprises selection of a user interface mechanism.
  • 60. The system of claim 57, wherein the user selection comprises selection of a graphical pushbutton.
  • 61. The system of claim 57, wherein the user selection is monitored by monitoring events transmitted by an operating system of the content display site.
  • 62. The system of claim 42, wherein the data indicating that the content was displayed includes information concerning a user event relating to the content displayed at the content display site.
  • 63. The system of claim 62, wherein the user event is an event transmitted by an operating system of the content display site.
  • 64. A method for detecting each time content is displayed at a content display site, comprising: receiving a content file from a content provider site at a content display site, the content file having embedded therein at least one computer executable monitoring instruction that causes display of content associated with the content file to be detected;accessing the content file at the content display site to cause display of the content and execution of the at least one embedded computer executable monitoring instruction to cause generation of a data signal encoded with data indicating that the content was displayed; andtransmitting the data signal to a remote site which did not transfer the content file from the content provider site to the content display site and which is different from the content provider site.
  • 65. The method of claim 64, wherein the at least one embedded computer executable monitoring instruction comprises at least one computer executable monitoring instruction that is located in the content file to detect the display of the content and to generate the data signal.
  • 66. The method of claim 64, wherein the at least one embedded computer executable monitoring instruction comprises a link to at least one computer executable monitoring instruction that resides external to the content file to cause detection of the display of the content and generation of the data signal.
  • 67. The method of claim 64, wherein the content file is provided by a content provider with an assigned account number, and wherein the encoded data of the data signal includes the account number of the content provider.
  • 68. The method of claim 64, wherein the encoded data of the data signal includes a time stamp.
  • 69. The method of claim 64, wherein the encoded data of the data signal includes identifying information about the content display site.
  • 70. The method of claim 64, wherein the encoded data of the data signal includes demographic information.
  • 71. The method of claim 64, further comprising: extracting the encoded data from the data signal; andstoring the extracted data at the remote site.
  • 72. The method of claim 71, further comprising analyzing the stored data.
  • 73. The method of claim 64, further comprising storing the content file at the content display site, wherein accessing the content file at the content display site comprises accessing the stored content file.
  • 74. The method of claim 64, wherein the data indicating that the content was displayed comprises information identifying a user input relating to the content displayed at the content display site.
  • 75. The method of claim 74, wherein the user input comprises a mouse click.
  • 76. The method of claim 74, wherein the user input comprises a keyboard input.
  • 77. The method of claim 74, wherein the user input is monitored by monitoring events transmitted by an operating system of the content display site.
  • 78. The method of claim 64, wherein the data indicating that the content was displayed includes information concerning a user selection relating to the content displayed at the content display site.
  • 79. The method of claim 78, wherein the user selection comprises a hyperlink selection.
  • 80. The method of claim 78, wherein the user selection comprises selection of a user interface mechanism.
  • 81. The method of claim 78, wherein the user selection comprises selection of a graphical pushbutton.
  • 82. The method of claim 78, wherein the user selection is monitored by monitoring events transmitted by an operating system of the content display site.
  • 83. The method of claim 64, wherein the data indicating that the content was displayed includes information concerning a user event relating to the content displayed at the content display site.
  • 84. The method of claim 83, wherein the user event is an event transmitted by an operating system of the content display site.
  • 85. A computer readable medium comprising a file containing content for display and having embedded therein at least one computer executable monitoring instruction that, when executed, causes display of the content associated with the file to be detected, and at least one computer executable instruction that, when executed, causes data indicating the content was displayed to be transmitted to a remote site which did not supply the file.
  • 86. The computer readable medium of claim 85, wherein the computer readable medium is resident on a content provider site.
  • 87. The computer readable medium of claim 85, wherein the computer readable medium is resident on a content display site.
  • 88. The computer readable medium of claim 85, wherein the at least one embedded computer executable monitoring instruction comprises at least one computer executable monitoring instruction that is located in the file to detect the display of the content associated with the file.
  • 89. The computer readable medium of claim 85, wherein the at least one embedded computer executable monitoring instruction comprises a link to at least one computer executable monitoring instruction that resides external to the file to cause detection of the display of the content associated with the file.
  • 90. The computer readable medium of claim 85, wherein the data indicating that the content was displayed includes information reflecting a user input.
  • 91. The computer readable medium of claim 90, wherein the user input comprises a mouse click.
  • 92. The computer readable medium of claim 90, wherein the user input comprises a keyboard input.
  • 93. The computer readable medium of claim 90, wherein the user input is monitored by monitoring events transmitted by an operating system.
  • 94. The computer readable medium of claim 85, wherein the data indicating that the content was displayed includes information reflecting a user selection.
  • 95. The computer readable medium of claim 94, wherein the user selection comprises a hyperlink selection.
  • 96. The computer readable medium of claim 94, wherein the user selection comprises selection of a user interface mechanism.
  • 97. The computer readable medium of claim 94, wherein the user selection comprises selection of a graphical pushbutton.
  • 98. The computer readable medium of claim 94, wherein the user selection is monitored by monitoring events transmitted by an operating system.
  • 99. The computer readable medium of claim 85, wherein the data indicating that the content was displayed includes information concerning a user event.
  • 100. The computer readable medium of claim 99, wherein the user event is an event transmitted by an operating system.
  • 101. An article of manufacture comprising a tangible medium storing executable machine readable instructions comprising: a computer executable display instruction which, when executed, causes an image originally provided by a content provider to be displayed on a display device;a computer executable monitoring instruction associated with the display instruction such that the monitoring instruction is executed to monitor the display when the image is displayed and such that the monitoring instruction is not executed when the image is not displayed; anda computer executable transmit instruction which, when executed, causes data indicating the image was displayed to be transmitted to a remote site which did not supply the image.
  • 102. The article of manufacture of claim 101, wherein the data indicating that the image was displayed is information identifying a user input relating to the image.
  • 103. The article of manufacture of claim 102, wherein the user input comprises a mouse click.
  • 104. The article of manufacture of claim 102, wherein the user input comprises a keyboard input.
  • 105. The article of manufacture of claim 102, wherein the user input is monitored by monitoring events transmitted by an operating system.
  • 106. The article of manufacture of claim 101, wherein the data indicating that the image was displayed is information identifying a user selection relating to the image.
  • 107. The article of manufacture of claim 106, wherein the user selection comprises a hyperlink selection.
  • 108. The article of manufacture of claim 106, wherein the user selection comprises selection of a user interface mechanism.
  • 109. The article of manufacture of claim 106, wherein the user selection comprises selection of a graphical pushbutton.
  • 110. The article of manufacture of claim 106, wherein the user selection is monitored by monitoring events transmitted by an operating system.
  • 111. The article of manufacture of claim 101, wherein the data indicating that the image was displayed includes information concerning a user event relating to the image.
  • 112. The article of manufacture of claim 111, wherein the user event is an event transmitted by an operating system.
  • 113. An article of manufacture comprising a tangible medium storing executable machine readable instructions comprising: a computer executable display instruction which, when executed, causes an image originally provided by a content provider to be displayed on a display device;a computer executable monitoring instruction which, when executed, gathers monitoring information concerning display of the image; anda computer executable transmit instruction which, when executed, causes the monitoring information to be transmitted to a remote site which did not supply the image, wherein the monitoring instruction and the display instruction are embedded in an HTML file such that the monitoring instruction is only executed when the HTML file is executed to display the image.
  • 114. The article of manufacture of claim 113, wherein the monitoring information concerning display of the image includes information reflecting a user input relating to the image.
  • 115. The article of manufacture of claim 114, wherein the user input comprises a mouse click.
  • 116. The article of manufacture of claim 114, wherein the user input comprises a keyboard input.
  • 117. The article of manufacture of claim 114, wherein the user input is monitored by monitoring events transmitted by an operating system.
  • 118. The article of manufacture of claim 113, wherein the monitoring information concerning display of the image includes information reflecting a user selection relating to the image.
  • 119. The article of manufacture of claim 118, wherein the user selection comprises a hyperlink selection.
  • 120. The article of manufacture of claim 118, wherein the user selection comprises selection of a user interface mechanism.
  • 121. The article of manufacture of claim 118, wherein the user selection comprises selection of a graphical pushbutton.
  • 122. The article of manufacture of claim 118, wherein the user selection is monitored by monitoring events transmitted by an operating system.
  • 123. The article of manufacture of claim 118, wherein the user event is an event transmitted by an operating system.
  • 124. The article of manufacture of claim 113, wherein the data indicating that the image was displayed includes information concerning a user event relating to the image.
  • 125. An article of manufacture comprising a tangible medium storing executable machine readable instructions comprising: a computer executable display instruction which, when executed, causes an image originally provided by a content provider to be displayed on a display device;a computer executable monitoring instruction which, when executed, gathers monitoring information concerning display of the image; anda computer executable transmit instruction which, when executed, causes the monitoring information to be transmitted to a remote site which did not supply the image, wherein the display instruction is embedded in an HTML file and the monitoring instruction is referenced by the HTML file such that the monitoring instruction is only executed when the HTML file is executed to display the image.
  • 126. The article of manufacture of claim 125, wherein the monitoring information concerning display of the image reflects at least one user input.
  • 127. The article of manufacture of claim 126, wherein the user input comprises a mouse click.
  • 128. The article of manufacture of claim 126, wherein the user input comprises a keyboard input.
  • 129. The article of manufacture of claim 126, wherein the user input is monitored by monitoring events transmitted by an operating system.
  • 130. The article of manufacture of claim 125, wherein the monitoring information concerning display of the image reflects at least one user selection.
  • 131. The article of manufacture of claim 130, wherein the user selection comprises a hyperlink selection.
  • 132. The article of manufacture of claim 130, wherein the user selection comprises selection of a user interface mechanism.
  • 133. The article of manufacture of claim 130, wherein the user selection comprises selection of a graphical pushbutton.
  • 134. The article of manufacture of claim 130, wherein the user selection is monitored by monitoring events transmitted by an operating system.
  • 135. The article of manufacture of claim 125, wherein the monitoring information concerning display of the image reflects at least one user event.
  • 136. The article of manufacture of claim 135, wherein the user event is an event transmitted by an operating system.
Parent Case Info

This is a Continuation of U.S. application Ser. No. 08/707,279, filed Sep. 3, 1996 now U.S. Pat. No. 6,108,637.

US Referenced Citations (317)
Number Name Date Kind
3540003 Murphy Nov 1970 A
3696297 Otero Oct 1972 A
3818458 Deese Jun 1974 A
3906454 Martin Sep 1975 A
4034351 Takezoe Jul 1977 A
4058829 Thompson Nov 1977 A
4084262 Lloyd et al. Apr 1978 A
4125892 Fukuda et al. Nov 1978 A
4166290 Furtman et al. Aug 1979 A
4236209 Lombardo, Jr. et al. Nov 1980 A
4283709 Lucero et al. Aug 1981 A
4315330 Brickman et al. Feb 1982 A
4355372 Johnson et al. Oct 1982 A
4356545 West Oct 1982 A
4473824 Claytor Sep 1984 A
4516216 Armstrong May 1985 A
4546382 McKenna et al. Oct 1985 A
4566030 Nickerson et al. Jan 1986 A
4603232 Kurland et al. Jul 1986 A
4658290 McKenna et al. Apr 1987 A
4677552 Sibley, Jr. Jun 1987 A
4695880 Johnson et al. Sep 1987 A
4700378 Brown Oct 1987 A
4706121 Young Nov 1987 A
4713791 Saluski Dec 1987 A
4718025 Minor et al. Jan 1988 A
4725886 Galumbeck et al. Feb 1988 A
4740912 Whitaker Apr 1988 A
4745559 Willis et al. May 1988 A
4751578 Reiter et al. Jun 1988 A
4757456 Benghiat Jul 1988 A
4758947 Levendel et al. Jul 1988 A
4774658 Lewin Sep 1988 A
4783648 Homma et al. Nov 1988 A
4792921 Corwin Dec 1988 A
4817080 Soha Mar 1989 A
4823290 Fasack et al. Apr 1989 A
4827508 Shear May 1989 A
4831582 Miller et al. May 1989 A
4849879 Chinnaswamy et al. Jul 1989 A
4862268 Campbell et al. Aug 1989 A
4868866 Williams, Jr. Sep 1989 A
4887308 Dutton Dec 1989 A
4907188 Suzuki et al. Mar 1990 A
4912466 Call Mar 1990 A
4912522 Oates et al. Mar 1990 A
4924488 Kosich May 1990 A
4935870 Burk, Jr. et al. Jun 1990 A
4941084 Terada et al. Jul 1990 A
4954699 Coffey et al. Sep 1990 A
4954969 Tsumura Sep 1990 A
4958284 Bishop et al. Sep 1990 A
4961132 Uehara Oct 1990 A
4972367 Burke Nov 1990 A
4972504 Daniel, Jr. et al. Nov 1990 A
4977455 Young Dec 1990 A
4977594 Shear Dec 1990 A
4989230 Gillig et al. Jan 1991 A
5006978 Neches Apr 1991 A
5007017 Kobayashi Apr 1991 A
5008929 Olsen et al. Apr 1991 A
5019963 Alderson et al. May 1991 A
5023907 Johnson et al. Jun 1991 A
5023929 Call Jun 1991 A
5025395 Nose et al. Jun 1991 A
5032979 Hecht et al. Jul 1991 A
5036518 Tseung Jul 1991 A
5038211 Hallenbeck Aug 1991 A
5038374 Kaufman et al. Aug 1991 A
5042027 Takase et al. Aug 1991 A
5047867 Strubbe et al. Sep 1991 A
5049873 Robins et al. Sep 1991 A
5062147 Pickett et al. Oct 1991 A
5063523 Vrenjak Nov 1991 A
5063610 Alwadish Nov 1991 A
5088108 Uddenfeldt et al. Feb 1992 A
5101402 Chiu et al. Mar 1992 A
5109350 Henwood et al. Apr 1992 A
5140419 Galumbeck et al. Aug 1992 A
5146591 Bachman et al. Sep 1992 A
5150116 West Sep 1992 A
5155857 Kunisaki et al. Oct 1992 A
5159685 Kung Oct 1992 A
5161109 Keating et al. Nov 1992 A
5166866 Kim et al. Nov 1992 A
5181113 Chang Jan 1993 A
5201048 Coulter et al. Apr 1993 A
5202985 Goyal Apr 1993 A
5204947 Bernstein et al. Apr 1993 A
5208588 Nishiyama May 1993 A
5210530 Kammerer et al. May 1993 A
5212684 MacNamee et al. May 1993 A
5214792 Alwadish May 1993 A
5220522 Wilson Jun 1993 A
5220655 Tsutsui Jun 1993 A
5223827 Bell Jun 1993 A
5223924 Strubbe Jun 1993 A
5226120 Brown et al. Jul 1993 A
5231593 Notess Jul 1993 A
5235680 Bijnagte Aug 1993 A
5237677 Hirosawa et al. Aug 1993 A
5237681 Kagan et al. Aug 1993 A
5237684 Record et al. Aug 1993 A
5239540 Rovira et al. Aug 1993 A
5241625 Epard et al. Aug 1993 A
5241671 Reed et al. Aug 1993 A
5245429 Virginio et al. Sep 1993 A
5247517 Ross et al. Sep 1993 A
5247575 Sprague et al. Sep 1993 A
5247697 Ban Sep 1993 A
5249260 Nigawara et al. Sep 1993 A
5249300 Bachman et al. Sep 1993 A
5253346 Okabayashi et al. Oct 1993 A
5260878 Luppy Nov 1993 A
5261091 Yuyama Nov 1993 A
5262860 Fitzpatrick et al. Nov 1993 A
5267314 Stambler Nov 1993 A
5267351 Reber et al. Nov 1993 A
5276458 Sawdon Jan 1994 A
5276789 Besaw Jan 1994 A
5281962 Vanden Heuvel et al. Jan 1994 A
5283639 Esch et al. Feb 1994 A
5287363 Wolf et al. Feb 1994 A
5297249 Bernstein et al. Mar 1994 A
5301287 Herrell et al. Apr 1994 A
5301350 Rogan et al. Apr 1994 A
5309243 Tsai May 1994 A
5315093 Stewart May 1994 A
5315580 Phaal May 1994 A
5317140 Dunthorn May 1994 A
5321831 Hirose Jun 1994 A
5321838 Hensley et al. Jun 1994 A
5327237 Gerdes et al. Jul 1994 A
5327554 Palazzi et al. Jul 1994 A
5329619 Page et al. Jul 1994 A
5331544 Lu et al. Jul 1994 A
5333302 Hensley et al. Jul 1994 A
5339239 Manabe et al. Aug 1994 A
5339409 Sakuragi Aug 1994 A
5339412 Fueki Aug 1994 A
5339433 Frid-Nielsen Aug 1994 A
5347632 Filepp et al. Sep 1994 A
5349662 Johnson et al. Sep 1994 A
5351278 Koshishiba et al. Sep 1994 A
5351293 Michener et al. Sep 1994 A
5353399 Kuwamoto et al. Oct 1994 A
5355327 Stent Oct 1994 A
5355484 Record et al. Oct 1994 A
5359367 Stockill Oct 1994 A
5361359 Tajalli et al. Nov 1994 A
5367673 Goldsmith et al. Nov 1994 A
5367677 Stanfill Nov 1994 A
5371846 Bates Dec 1994 A
5374951 Welsh Dec 1994 A
5375070 Hershey et al. Dec 1994 A
5375237 Tanaka et al. Dec 1994 A
5379380 Mori et al. Jan 1995 A
5386516 Monahan et al. Jan 1995 A
5386558 Maudlin et al. Jan 1995 A
5388211 Hornbuckle Feb 1995 A
5388252 Dreste et al. Feb 1995 A
5388258 Larsson et al. Feb 1995 A
5390281 Luciw et al. Feb 1995 A
5398336 Tantry et al. Mar 1995 A
5406269 Baran Apr 1995 A
5406555 Yoshida Apr 1995 A
5408607 Nishikawa et al. Apr 1995 A
5410598 Shear Apr 1995 A
5410690 Kawata Apr 1995 A
5412778 Andres May 1995 A
5414809 Hogan et al. May 1995 A
5418728 Yada May 1995 A
5461708 Kahn Oct 1995 A
5483658 Grube et al. Jan 1996 A
5485897 Matsumoto et al. Jan 1996 A
5491820 Belove et al. Feb 1996 A
5495581 Tsai Feb 1996 A
5499340 Barritz Mar 1996 A
5524073 Stambler Jun 1996 A
5555303 Stambler Sep 1996 A
5557333 Jungo et al. Sep 1996 A
5560038 Haddock Sep 1996 A
5568471 Hershey et al. Oct 1996 A
5572643 Judson Nov 1996 A
5590056 Barritz Dec 1996 A
5594911 Cruz et al. Jan 1997 A
5604867 Harwood Feb 1997 A
5615264 Kazmierczak et al. Mar 1997 A
5623652 Vora et al. Apr 1997 A
5634100 Capps May 1997 A
5638443 Stefik et al. Jun 1997 A
5646998 Stambler Jul 1997 A
5648965 Thadani et al. Jul 1997 A
5671283 Michener et al. Sep 1997 A
5673382 Cannon et al. Sep 1997 A
5675510 Coffey et al. Oct 1997 A
5682525 Bouve et al. Oct 1997 A
5696702 Skinner et al. Dec 1997 A
5706502 Foley et al. Jan 1998 A
5708709 Rose Jan 1998 A
5708780 Levergood et al. Jan 1998 A
5710915 McElhiney Jan 1998 A
5710918 Lagarde et al. Jan 1998 A
5712979 Graber et al. Jan 1998 A
5715453 Stewart Feb 1998 A
5717860 Graber et al. Feb 1998 A
5717923 Dedrick Feb 1998 A
5724521 Dedrick Mar 1998 A
5732218 Bland et al. Mar 1998 A
5737619 Judson Apr 1998 A
5740549 Reilly et al. Apr 1998 A
5751956 Kirsch May 1998 A
5787253 McCreery et al. Jul 1998 A
5793302 Stambler Aug 1998 A
5796952 Davis et al. Aug 1998 A
5799292 Hekmatpour Aug 1998 A
5819156 Belmont Oct 1998 A
5819285 Damico et al. Oct 1998 A
5823879 Goldberg et al. Oct 1998 A
5829001 Li et al. Oct 1998 A
5835923 Shibata et al. Nov 1998 A
5838919 Schwaller et al. Nov 1998 A
5848396 Gerace Dec 1998 A
5870546 Kirsch Feb 1999 A
5878384 Johnson et al. Mar 1999 A
5918014 Robinson Jun 1999 A
5926168 Fan Jul 1999 A
5931912 Wu et al. Aug 1999 A
5933811 Angles et al. Aug 1999 A
5935207 Logue et al. Aug 1999 A
5936541 Stambler Aug 1999 A
5948061 Merriman et al. Sep 1999 A
5951643 Shelton et al. Sep 1999 A
5956483 Grate et al. Sep 1999 A
5958010 Agarwal et al. Sep 1999 A
5963914 Skinner et al. Oct 1999 A
5964839 Johnson et al. Oct 1999 A
5974148 Stambler Oct 1999 A
5982917 Clarke et al. Nov 1999 A
5986653 Phathayakorn et al. Nov 1999 A
5999178 Hwang et al. Dec 1999 A
6014638 Burge et al. Jan 2000 A
6018619 Allard et al. Jan 2000 A
6052730 Felciano et al. Apr 2000 A
6070145 Pinsley et al. May 2000 A
6078324 Phathayakorn et al. Jun 2000 A
6108637 Blumenau Aug 2000 A
6112238 Boyd et al. Aug 2000 A
6112240 Pogue et al. Aug 2000 A
6115608 Duran et al. Sep 2000 A
6115680 Coffee et al. Sep 2000 A
6138155 Davis et al. Oct 2000 A
6167358 Othmer et al. Dec 2000 A
6173311 Hassett Jan 2001 B1
6180030 Hirai et al. Jan 2001 B1
6182097 Hansen et al. Jan 2001 B1
6183366 Goldberg et al. Feb 2001 B1
6185586 Judson Feb 2001 B1
6189030 Kirsch et al. Feb 2001 B1
6250930 Mintz Jun 2001 B1
6264560 Goldberg et al. Jul 2001 B1
6275854 Himmel et al. Aug 2001 B1
6279036 Himmel et al. Aug 2001 B1
6279112 O'Toole, Jr. et al. Aug 2001 B1
6317787 Boyd et al. Nov 2001 B1
6324546 Ka et al. Nov 2001 B1
6360261 Boyd et al. Mar 2002 B1
6393479 Glommen et al. May 2002 B1
6397359 Chandra et al. May 2002 B1
6408335 Schwaller et al. Jun 2002 B1
6418470 Blumenau Jul 2002 B2
6434532 Goldband et al. Aug 2002 B2
6449604 Hansen et al. Sep 2002 B1
6457025 Judson Sep 2002 B2
6466966 Kirsch et al. Oct 2002 B1
6466970 Lee et al. Oct 2002 B1
6569095 Eggers May 2003 B2
6601100 Lee et al. Jul 2003 B2
6609239 Xavier Aug 2003 B1
6621881 Srinivasan Sep 2003 B2
6625648 Schwaller et al. Sep 2003 B1
6643696 Davis et al. Nov 2003 B2
6662195 Langseth et al. Dec 2003 B1
6662227 Boyd et al. Dec 2003 B2
6671715 Langseth et al. Dec 2003 B1
6712702 Goldberg et al. Mar 2004 B2
6719660 Palazzolo Apr 2004 B2
6753280 Seto et al. Jun 2004 B2
6766370 Glommen et al. Jul 2004 B2
6807558 Hassett et al. Oct 2004 B1
6826565 Ritchie et al. Nov 2004 B2
6859833 Kirsch et al. Feb 2005 B2
7017143 Andrew et al. Mar 2006 B1
20020040394 Shapira Apr 2002 A1
20020040395 Davis et al. Apr 2002 A1
20020062223 Waugh May 2002 A1
20020077787 Rappaport et al. Jun 2002 A1
20020078191 Lorenz Jun 2002 A1
20020083188 Hericy et al. Jun 2002 A1
20020099812 Davis et al. Jul 2002 A1
20020099818 Russell et al. Jul 2002 A1
20020099819 Hattori et al. Jul 2002 A1
20020103664 Olsson et al. Aug 2002 A1
20020112048 Gruyer et al. Aug 2002 A1
20020143933 Hind et al. Oct 2002 A1
20020156836 Hanosik et al. Oct 2002 A1
20020161673 Lee et al. Oct 2002 A1
20030046303 Chen et al. Mar 2003 A1
20030046385 Vincent Mar 2003 A1
20030062223 Coyle et al. Apr 2003 A1
20030065770 Davis et al. Apr 2003 A1
20030144868 MacIntyre et al. Jul 2003 A1
20030163563 Bean Aug 2003 A1
20030187677 Malireddy et al. Oct 2003 A1
20030208578 Taraborelli et al. Nov 2003 A1
20030231203 Gallella Dec 2003 A1
20040221033 Davis et al. Nov 2004 A1
Foreign Referenced Citations (16)
Number Date Country
0228242 Jul 1987 EP
0228242 Jul 1987 EP
0388658 Sep 1990 EP
0228458 Oct 1991 EP
0451384 Oct 1991 EP
0632382 Jan 1995 EP
0747841 Dec 1996 EP
0228458 Oct 1997 EP
2250112 May 1992 GB
07200364 Aug 1995 JP
WO 9626529 Aug 1996 WO
WO 9641495 Dec 1996 WO
WO 9726729 Jul 1997 WO
WO 9826529 Jun 1998 WO
WO 9843380 Oct 1998 WO
WO0111506 Feb 2001 WO
Related Publications (1)
Number Date Country
20040078292 A1 Apr 2004 US
Continuations (1)
Number Date Country
Parent 08707279 Sep 1996 US
Child 09490495 US