1 CONTENT ENHANCEMENT SYSTEM
FIELD AND BACKGROUND OF THE INVENTION
The present invention relates to a system for content enhancement and, in particular, to a system which enables various types of content, such as information, to be presented to a computer user according to specific criteria, preferably through a Web browser. The information is optionally in the form of advertisements or other messages, for example, and preferably includes rich media such as audio samples and video clips. The system of the present invention is able to inject such content as a third party, such that the content is preferably provided to the computer user directly at substantially any convenient time, such as during a waiting period, and in a manner which is preferably substantially transparent to the computer user.
Many consumers are connected to the World Wide Web (WWW) on the Internet through a computer connection at home. For the vast majority of consumers, such a connection to the Internet is obtained by purchasing services from an ISP (Internet Service Provider), which charges monthly fees for such access. These consumers can then view Web pages on the World Wide Web for news, entertainment or information. Viewing Web pages, or "surfing the Web", is a popular leisure activity for many consumers.
Since many Web pages can be viewed without a separate access charge from the provider of the Web page itself, other sources of revenue have been sought by providers of commercial Web pages. Advertisements incorporated into the Web page itself are frequently sold by these Web page providers as a source of revenue. One drawback of such advertisements is the difficulty of determining how many computer users actually view these advertisements, let alone the demographic characteristics of these users. Without such information, the value and efficacy of the advertisements is difficult to ascertain. Other media, such as television and radio, have developed ratings systems for determining how many consumers typically watch or listen to a given program and/or a given time slot, as well as the demographic characteristics of such consumers. Such ratings information enables the value of the advertisements to be more easily determined.
Ratings information is more difficult to obtain from the World Wide Web because of its diffuse, non-localized and non-controlled nature. First, monitoring viewing of advertisements to determine the number of users who actually see a particular advertisement is very difficult, and must currently be performed only as a measure of past performance. Furthermore, Web pages can be viewed all over the world, without regard to the physical
2 location of the computer user. However, many advertisers are only interested in reaching a particular segment of the population. For example, a restaurant owner in London does not necessarily want to advertise to consumers in Tokyo, and so forth. Therefore, determining the ratings information for a Web page, in order to determine the value of advertisements on this page, is not as simple as counting the number of computer users who view the Web page.
In addition, it is very difficult to gauge the number of computer users who not only view the Web page, but for whom the advertisement has any relevance. Such relevance may be geographical, as in the example of the restaurant, and/or demographic, as for advertisements aimed at parents of young children. Currently, proper targeting of the advertisement to the intended audience cannot be guaranteed.
Furthermore, the exposure of advertisements to computer users is part of a more general characteristic of the World Wide Web. The World Wide Web is structured as a "two-party" system, in which a first party, the computer user, receives content from a second party, the Web server. Client-server systems are also "two-party" systems. However, these systems do not enable a third party to inject content directly to the screen of the computer user, for example through a Web browser or other computer software on the computer of the user, in a manner which is substantially transparent to the user. Thus, current "two-party systems" have limitations for the transparent, controlled exposure of rich media content to the computer user.
Clearly, a system is required which would enable a third party to inject such content and to control exposure of the content to the computer user. For example, such a system would enable advertisers to target a particular audience of computer users, according to geographical and/or demographic information about the users, such that the advertisement would be displayed substantially only to members of that audience and such that the number of exposures of an advertisement could be sold in advance. Furthermore, such a system could advantageously load such content onto the computer of the user during waiting periods and other "down" times. Unfortunately, such a system does not currently exist.
Therefore, there is an unmet need for, and it would be highly useful to have, a system and a method for delivering content, including rich media content such as audio samples and video clips, to a targeted audience according to a controlled exposure in a manner which is preferably substantially transparent to the computer user, such that the content could be presented to each user in the audience optionally without being tied to the Web page or other
3 "two-party system" content being examined by the user.
SUMMARY OF THE INVENTION
The present invention is of a system and a method for delivering content, including rich media content, to a particular audience of computer users, preferably according to characteristics of these users, such that the content is exposed in a controlled manner and such that the content is delivered by a third party into a "two-party" system such as the World Wide Web. For example, rather than delivering the content, such as an advertisement, as part of a Web page at a Web site which is remote to the computer user, the present invention delivers the advertisement through the ISP (Internet Service Provider) of the user on the screen of the user's computer, for example. The advertisement or other content is therefore optionally displayed to the user regardless of the Web page being displayed on the screen of the computer of the user, in a manner which is substantially transparent to the user. Thus, the content is targeted specifically to the user rather than being generally displayed on the Web page or otherwise delivered through generic "two-party" channels such as a generic Web server.
According to the present invention, there is provided a method for displaying an added content on a GUI (graphical user interface) of a first client of a first user being served by a general server, the general server serving a substantially similar general content to a plurality of clients of a plurality of users, the method comprising the steps of: (a) providing an added content server for serving an added content; (b) receiving a request for the general content from the first client by the general server; (c) selecting the added content according to a selection characteristic by the added content server; (d) sending the added content by the added content server to the first client for being displayed on the GUI of the first client; (e) sending the general content to the first client for being displayed on the GUI of the first client; and (f) displaying the added content and the general content on the GUI of the first client, such that a display of the added content is controlled according to the selection characteristic.
According to another embodiment of the present invention, there is provided a method for displaying an added content to a Web page on a Web browser of a user, the Web page being served by a remote Web server, the method comprising the steps of: (a) providing an added content server for serving the added content; (b) receiving a request for the Web page from the Web browser; (c) transmitting the request to the remote Web server; (d)
4 receiving the Web page from the remote Web server; (e) selecting the added content according to at least one user characteristic by the added content server, such that the added content is targeted to the user; (f) adding the added content to the Web page to form a content-added Web page by the added content server; (g) sending the content-added Web page from the added content server to the Web browser; and (h) displaying the content-added Web page by the Web browser.
According to yet another embodiment of the present invention, there is provided a system for delivering a content to a Web browser of a computer user when the user requests a Web page, the system comprising: (a) a content distribution center for storing, distributing and managing the content; (b) an content enhancement module for receiving the content from the content distribution center and for delivering the content to the Web browser upon receiving the request for the Web page, such that the content is specifically targeted to the computer user; and (c) a service provider for providing a connection between the Web browser and the content enhancement module. According to still another embodiment of the present invention, there is provided a system for delivering a content to a Web browser of a user computer when a user requests a Web page, the system comprising: (a) a content distribution center for storing, distributing and managing the content; (b) an content enhancement module for receiving the content from the content distribution center; (c) a client module for requesting the content from one of the content enhancement module or the content distribution center, and for providing the content to the Web browser, such that the content is specifically targeted to the computer user; and (d) a service provider for providing a connection between the client module and the content enhancement module.
According to still another embodiment of the present invention, there is provided a method for transparently installing a client module on a Web browser of a user computer, the Web browser being operated by a user computer, the method comprising the steps of: (a) starting to operate the Web browser by the user computer; (b) detecting the start of operation of the Web browser; and (c) installing the client module on the user computer when the user computer is connected to the Internet substantially without any intervention by the user, such that the client module operates in a manner which is substantially transparent to the user.
Hereinafter, the term "computing platform" refers to a particular computer hardware system or to a particular software operating system. Examples of such hardware systems include, but are not limited to, personal computers (PC), Macintosh ^computers,
5 mainframes, minicomputers and workstations. Examples of such software operating systems include, but are not limited to, UNIX, VMS, Linux, MacOS™, DOS, one of the Windows™ operating systems by Microsoft Inc. (Seattle, Washington, USA), including Windows NT™, Windows 3.x™ (in which "x" is a version number, such as "Windows 3.1™"), Windows CE™, Windows95™ and Windows98™. For the present invention, a software application could be written in substantially suitable programming language, which could easily be selected by one of ordinary skill in the art. The programming language chosen should be compatible with the computing platform according to which the software application is executed. Examples of suitable programming languages include, but are not limited to, C, C++ and Java.
Hereinafter, the term "Web browser" refers to any software program for displaying a GUI (graphical user interface), and in particular for any software program which can be used to view a document written at least partially with at least one instruction taken from HTML (HyperText Mark-up Language), DHTML (Dynamic HyperText Mark-up Language) or VRML (Virtual Reality Modeling Language), or any other equivalent computer document language, hereinafter collectively and generally referred to as "document mark-up language". Examples of Web browsers include, but are not limited to, Mosaic™, Netscape Navigator™ and Microsoft™ Internet Explorer™.
Hereinafter, the term "two-party system" refers to any system, such as a client-server system or a Web browser- Web server system, in which content is normally delivered from a first party (the server) to a second party (the client).
BRIEF DESCRIPTION OF THE DRAWINGS
The invention is herein described, by way of example only, with reference to the accompanying drawings, wherein:
FIG. 1 is a flowchart of an exemplary method for adding content by a third party into a two-party system according to the present invention;
FIG. 2 is a schematic block diagram illustrating an exemplary system according to the present invention; FIG. 3 is a schematic block diagram showing the system of Figure 2 in greater detail;
FIG. 4 is a schematic block diagram illustrating an exemplary display screen according to the present invention;
6 FIG. 5 is a flowchart of an exemplary method for the operation of Promo according to the present invention;
FIG. 6 is a schematic block diagram of an illustrative embodiment of a system for collecting a charge for added content according to the present invention; FIG. 7 is a schematic block diagram of an illustrative but preferred embodiment of a portion of the system of Figure 2; and
FIG. 8 is a schematic block diagram of an illustrative but preferred embodiment of the system of Figure 7.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention is of a system and a method for presenting various types of content, such as information, to a computer user according to specific criteria, preferably through a Web browser. The information is optionally in the form of advertisements or other messages, for example, and preferably includes rich media such as audio samples and video clips. The system of the present invention is able to inject such content as a third party, such that the content is provided to the computer user directly at substantially any convenient time, such as during a waiting period, and in a manner which is substantially transparent to the computer user.
For example, if the content is in the form of advertising, rather than delivering the advertisement as part of a Web page at a Web site which is remote to the computer user, the present invention delivers the advertisement through the ISP (Internet Service Provider) of the user on the screen of the user's computer. The advertisement is therefore optionally displayed to the user regardless of the Web page being displayed on the screen of the computer of the user. Thus, the advertisement is targeted specifically to the user rather than being generally displayed on the Web page, and is delivered to the user in a transparent, controlled manner.
The principles and operation of the system and method according to the present invention may be better understood with reference to the drawings and the accompanying description. Referring now to the drawings, Figure 1 is a flowchart of an example of a method for operating a general system for injecting content as a third party into a two-party system. The method displays an added content on a GUI (graphical user interface) of a user. The GUI is connected to, and is served by, a general server. This general server serves a plurality of
7 such users as part of a "two-party system". The method of the present invention, as shown in Figure 1, is capable of injecting specific, tailored content to the user through the GUI in a controlled manner, preferably according to at least one characteristic of the user. Preferably, this additional content is served by an added content server, which could be a separate server computer from the general server computer, or alternatively could be a separate function of the general server computer, for example as a separate software module. Thus, the method of the present invention generally controls the exposure of the added content to the user from a third party into the two-party system.
In step 1, the general server receives a request for the general content from the GUI. In step 2, preferably at least one user characteristic of the user is determined. In step 3, the added content is selected according to some criteria by the added content server, preferably according to the at least one user characteristic, such that the added content is preferably targeted to the at least one user. In step 4, the added content and the general content are sent to the client for being displayed on the GUI, such that the added content is injected into the client GUI-server relationship, either by the added content server or by the general content server. Preferably, the added content is sent to the client in a controlled manner, such that the added content is sent during a period when the client is idle or otherwise has capacity for receiving the content for example. More preferably, the added content is to the client in a substantially transparent manner to the user, such that the user does not need to interact with the GUI specifically in order to receive the content.
Preferably, the method also includes two more steps. In step 5, first the added content is displayed on the GUI. In step 6, more preferably the general content is displayed on the GUI, such that the added content is displayed substantially before the general content. This preferred embodiment might be suitable for Web advertising, for example if the added content is an advertisement, the GUI is a Web browser, the general content is a Web page and the general server is a Web server. Most preferably, the added content could be removed from the GUI substantially before the general content is displayed. Alternatively, the added content and the general content could be displayed substantially simultaneously. For example, if the added content was an advertisement and the general content was a Web page, the advertisement could be displayed as an overlay to the Web page, either static or moving. Alternatively, the general server and the GUI of the client are optionally connected through an intranet of a corporation, and the user is an employee of the corporation, such that the added content is targeted to the employee.
8 In any case various types of added content are possible. For example, the added content could feature information of a type selected from the group consisting of customer support, news, entertainment and instruction.
Figure 2 is a schematic block diagram illustrating a specific example of a system according to the present invention for delivering targeted advertising and other messages. Although the following description centers upon targeted advertising, it is understood that this is for the purposes of discussion only and is not meant to be limiting in any way, since the present invention could be used for delivering substantially any type of targeted content to the user, including but not limited to, advertisements, messages, software objects, audio and video clips and other rich content.
As shown in Figure 2, in a general system 10, a computer user interacts with a Web browser 12. As used herein, the term "Web browser" can apply to substantially any type of GUI (graphical user interface) being displayed by the display device of the computer user, and not only to software which is capable of rendering mark-up documents for display. However, the following description is directed toward software programs which render mark-up documents for display only for the purposes of clarity and without intending to be limiting in any way.
Web browser 12 receives content from, and sends commands to, a remote Web server 14, according to the HTTP (HyperText Transfer Protocol) protocol. Web browser 12 is not directly connected to remote Web server 14, however. Rather, Web browser 12 is connected to an content enhancement module 16. Content enhancement module 16 is also connected to remote Web server 14. In this embodiment of the present invention, substantially all interactions between Web browser 12 and remote Web server 14 therefore pass through content enhancement module 16, such that content enhancement module 16 is an intermediary layer between Web browser 12 and remote Web server 14. Optionally, content enhancement module 16 may also connect to remote Web server 14 indirectly, through one or more additional proxy servers (not shown).
Content enhancement module 16 accesses the data streams transmitted according to the HTTP protocol between Web browser 12 and remote Web server 14, and is able to inject additional data according to the HTTP protocol for display by Web browser 12. For example, content enhancement module 16 can send data to Web browser 12 which causes Web browser 12 to display an advertisement, such that the Web page displayed by Web browser 12 is a "content-added Web page". The advertisement optionally features a static
9 graphic, with or without text, preferably including sound data. More preferably, the advertisement features animation. The advertisement can be static, but alternatively and preferably moves within the display of Web browser 12 in order to more effectively catch the attention of the computer user. Most preferably, additional rich content, such as audio and/or video clips, or optionally streaming audio and/or video data, is included.
In order to more effectively use the period of time required for Web browser 12 to load a particular Web page requested from remote Web server 14, preferably content enhancement module 16 displays the content, such as the advertisement, within the display of Web browser 12 as the requested Web page loads into Web browser 12. More preferably, the content is displayed in the context of a display Web page, which is optionally a completely separate Web page with separate Web content from the requested Web page. Thus, the time which is required for the requested Web page to load can now be used for displaying an advertisement or other content. The advertisement or other content, such as the display Web page, then preferably disappears from the display of Web browser 12 after the requested Web page has been loaded.
Alternatively, the advertisement or other content could appear at substantially any time during the operation of Web browser 12, and not only when a requested Web page was being loaded, such that the display Web page could be built from a combination of the content and the requested Web page, for example. Other preferred features and embodiments of the content itself and of the display of the content are discussed in greater detail below with reference to Figures 5 and 6. According to one particularly preferred embodiment of the present invention, the content itself is quite rich, including for example video data in the form of video clips. This rich content is optionally and preferably supported by a pre-fetch method of the present invention, described in greater detail below. In either case, the content is preferably displayed as an overlay to the Web page display, even if the Web page itself is in the process of being downloaded.
In order to provide external control over the advertisements, the type of display and the timing of the display, content enhancement module 16 is optionally connected to a system administrator Web browser interface 18. System administrator Web browser interface 18 provides a management interface which enables the administrator of the service provider to control the type of advertisement shown, the type and timing of the display, and the identity of the user or users to whom the advertisement is shown. System administrator Web browser interface 18 controls the management functions of content enhancement
10 module 16.
The exact identity of the administrator depends upon the type of connection provided between Web browser 12 and remote Web server 14. For example, if this connection is provided by an ISP (Internet service provider), then the administrator could be an employee of the ISP. Alternatively, if the connection was an intranet connection provided by a company to employees of that company, then the administrator could be an employee of that company. Of course, the administrator could be substantially any individual charged with administering system 10.
According to preferred embodiments of the present invention, general system 10 also features a content management system 20 for enabling the content provider to transmit content. Preferably, the content provider can also receive statistics concerning the number of users to whom the content was made available, as well as an analysis of the characteristics of these users. Such characteristics optionally and preferably include the types of Web pages visited by the users, as well as demographic and/or geographic characteristics. More preferably, the content provider is also able to request users with certain demographic and/or geographic characteristics through content management system 20.
The identity of the content provider, as well as the type of information requested or required by that content provider in order to determine which content is to be served to each user or groups of users, can vary depending upon the implementation of general system 10. Such variations could easily be determined according to one of ordinary skill in the art for the particular implementation of general system 10. For example, if the content is advertisements, then the content provider could optionally be an advertisement agency or vendor of products and/or services to be advertised. On the other hand, if the content is corporate information being provided to employees of a corporation, then the content provider could optionally be the corporation itself.
Content management system 20 is connected to a content distribution center 22. Content distribution center 22 is directly associated with, and interacts with, content enhancement module 16, such that collectively content distribution center 22 and content enhancement module 16 form a content enhancement system 24 according to the present invention.
Content distribution center 22 preferably receives content from content management system 20, in the form of graphics, sounds, video, text or other data to be displayed by Web browser 12. Content distribution center 22 then relays the content to content enhancement
11 module 16, which actually performs the necessary steps for preparing the content to be sent to Web browser 12 for display.
Preferably, content distribution center 22 features a plurality of databases for storing different types of information. These databases preferably include a user database 26, for storing demographic and/or geographic information about the computer users; and a content database 28 for storing the content such as advertisements. User database 26 preferably contains demographic information about the computer user, such as age, family size, profession, hobbies and interests, and other potentially useful information for the content provider such as an advertiser. Such information could be provided voluntarily by the computer user. Optionally, the information could be gathered by an analysis of the Web pages requested through Web browser 12. Also optionally, the information could be provided by the content provider, such as the ISP. Preferably, all of these sources of information are gathered for storage in user database 26.
Preferably, the demographic information includes such personal information as the name of the user, age, gender, marital status, occupation, hobbies or other interests. The geographic information preferably enables the user to be located within a fairly precise geographical area. For example, in the United States of America, such geographic information would optionally and preferably include the zip code, state and city of the user. The information preferably also includes the language preference of the user, which is not necessarily determined according to the country in which the user physically resides. The language preference is particularly preferred for displaying advertisements which include text, and enables the advertisements to be adjusted according to the language of the user, rather than using only one language for all advertisements throughout the World Wide Web. Also, user database 26 preferably stores user profile information, such as the history of Web page browsing, or "surfing" and the ratings of the user in various categories which might be of interest to advertisers. All of this information, including the classification of the requested Web page and the user information, is preferably accessible as a "request factor" to enable a particular type of content, such as a particular advertisement, to be selected. In addition, user database 26 preferably also stores such information as the permissions which the user has given for access by content enhancement module 16. For example, the user is preferably able to determine whether advertisements from content enhancement module 16 can be blocked, or whether content enhancement module 16 is
12 allowed to construct a dynamic history of the Web page browsing by a user.
Optionally and preferably, content distribution center 22 also includes an URL (universal resource locator) database 30 for storing the Web page addresses (URL's) for any Web pages associated with the advertisement content stored in content database 28. More preferably, these URL's are classified by an URL classifier module 32. Distribution module 28 preferably receives information concerning the type of Web page being requested from URL classifier module 32. URL classifier module 32 could include information about different types of Web pages which is manually entered through system administrator Web browser interface 18, for example. Alternatively and preferably, the Web pages could be classified automatically according to keywords.
Within content distribution center 22, distribution module 34 determines which content is selected from content database 28 for being served by content enhancement module 16. The selection of content is preferably performed according to the profile of the computer user, and more preferably is also performed according to the type of Web page being displayed. The selection according to the type of Web page being displayed is particularly important for computer users in the home environment, in which more than one user may share Web browser 12. Under these circumstances, the content, such as an advertisement, is preferably tailored according to the type of Web page being displayed. Figure 3 shows a more detailed view of an illustrative, preferred embodiment of general system 10. In this preferred embodiment, again Web browser 12 requests Web pages from remote Web server 14 through content enhancement system 24. Content enhancement system 24 includes content enhancement module 16, which serves both the Web page and the added content to Web browser 12. Content enhancement module 16 receives the added content from distribution module 34 of content distribution center 22. The operation of these components of general system 10 is explained in greater detail below.
Content enhancement module 16 features a proxy server 36, which is an HTTP server. Proxy server 36 receives a request for a particular Web page from Web browser 12. If proxy server 36 already has the Web page stored, then proxy server 36 can serve the Web page directly, without transmitting the request to remote Web server 14. Otherwise, proxy server 36 must transmit the request to remote Web server 14 and wait to receive the Web page from remote Web server 14.
Proxy server 36 also serves the advertisement or other content to Web browser 12, for example while the computer user waits for Web browser 12 to load the Web page. Proxy
13 server 36 receives the content from a Core module 38.
Core module 38 preferably communicates with proxy server 36 according to the HTTP protocol, or alternatively through another type of software-based interface. Core module 38 receives HTTP events from proxy server 36, such as requests for a particular Web page. Preferably, Core module 38 filters the event according to a preconfigured event filter. Core module 38 then passes the event to a Brain module 40.
Brain module 40 then receives the event from Core module 38. Brain module 40 preferably controls the session with Web browser 12, including initiating communication with Web browser 12 and terminating such communication. Brain module 40 also preferably can alter the event filter in Core module 38. Brain module 40 preferably communicates with URL classifier 32 to classify the Web page being requested according to site-related information. The site-related information describes the Web site holding the requested Web page. The site-related information can be important for displaying the advertisement, as described in further detail below. URL classifier 32 communicates with distribution module 34 and URL database 30 to receive this information.
After receiving the site-related information from URL classifier 32, Brain module 40 then decides which plug-in module should handle the event and passes the event to that plug- in module. Brain module 40 preferably also passes the site-related information to that plug-in module. Preferably, there is a plurality of plug-in modules, although for the purposes of illustration, only one such module is shown in Figure 3, a Promo module 42.
Once Promo module 42 has received the event, Promo module 42 performs a number of functions. First, Promo module 42 decides whether to serve the content, such as the advertisement, to Web browser 12. Preferably, the decision is made by Promo module 42 at least partially according to information received from content management system 20. Such information could include criteria for deciding when the content should be displayed, for example.
Next, if Promo module 42 decides to serve the content, Promo module 42 retrieves the framework for the content. For example, if the content is an advertisement which is to be displayed on an HTML page, Promo module 42 first retrieves a framework for that page. Promo module 42 then requests at least one advertisement from content management system 20. Promo module 42 adds the at least one advertisement to the framework, as well as causing distribution module 34 to serve the advertisement to proxy server 36 for serving to Web browser 12. The framework is then given to Brain module 40.
14 Brain module 40 receives the framework from Promo module 42. Brain module 40 then passes the framework to Core module 38, which also receives the original requested Web page from proxy server 36. Core module 38 first passes the framework to Web browser 12, preferably either while the Web page is being received by proxy server 36 or while the Web page is being served to Web browser 12.
Web browser 12 then displays the framework with the advertisement. For example, as noted previously, preferably an advertisement can be displayed on Web browser 12 in several ways. The advertisement could be seamlessly integrated onto the displayed Web page, such that the advertisement appeared to be another banner advertisement, for example. Banner advertisements are a common feature of advertising on the World Wide Web, and are displayed at the top or side of a Web page. Alternatively and preferably, the advertisement could be a "fly-by*' advertisement, which moves across the Web page and then disappears. Also preferably, the user might specify "audio only" advertisements, in which only sounds would be produced for the advertisement. Brain module 40 is preferably able to receive a request for a particular type of advertising from Web browser 12 and to transmit the request to Promo module 42, such that proxy server 36 then delivers the correct type of advertisement to Web browser 12.
In addition, preferably Brain module 40 is able to support various criteria which determine the length of time for displaying the advertisement. For example, the advertisement could disappear after a fixed length of time has elapsed. Alternatively and preferably, the advertisement could disappear after some positive action by the user, for example clicking a button on the advertisement with the mouse or other pointing device. The advertisement could also disappear when the requested Web page has finished loading, assuming that the advertisement is displayed while the Web page is being loaded. Alternatively, the advertisement could disappear only after the content of the advertisement, such as video or animation, has finished being displayed. All of these different display modes, as well as the control over the display of the advertisement, is preferably handled by Brain module 40.
An example of the displayed framework with the content is shown in Figure 4. A display 44 of Web browser 12 is shown, with content in the form of a banner 46. Banner 46 could include text or graphic images, for example.
The implementation of the display of the advertisements on Web browser 12 is optionally performed in a number of ways. For example, a Web page produced by Brain
15 module 40 could be substituted for the requested Web page, preferably adding a refresh tag to the original request for the Web page. Alternatively and preferably, the requested Web page could be changed into a Web page with at least two style sheets or layers. One layer would contain the original requested Web page, while the other layer would display the Web page with the additional advertising. The latter option is particularly preferred because the delay for loading the Web page is substantially reduced or eliminated. In addition, with the latter option the user is able to request that the advertisement disappear after a period of time has elapsed or some other criterion has been fulfilled, leaving only the originally requested Web page being displayed by Web browser 12. Web browser 12 displays the framework with the advertisement until the Web page has been received from proxy server 36. Preferably, Web browser 12 then removes the advertisement from the display and displays the requested Web page.
Promo module 42 preferably also gathers data related to the content which is served. For example, Promo module 42 preferably records which content was displayed to the user through Web browser 12. In addition, Promo module 42 preferably gathers content-specific data. For example, if the content is an advertisement, Promo module 42 preferably determines the advertisement(s) which were "clicked through" by the user. More preferably, Promo module 42 determines which users purchased a product from a vendor after "clicking through" or otherwise interacting with an advertisement. All of this gathered data can be used to assess the efficacy of the content which is served. For example, in the case of advertisements, the gathered data could be used to determine the cost for serving the advertisement.
According to a preferred embodiment of the present invention, a slightly different protocol is optionally followed for initiating a session between Web browser 12 and content enhancement module 16. Web browser 12 initiates the session by requesting an initial Web page in order to start the session. Core module 38 receives the request for the Web page through proxy server 36. As for the previous embodiment, Core module 38 then passes the event to a Brain module 40, as well as requesting the original Web page from remote Web server 14. Brain module 40 receives the event from Core module 38, and decides which plug-in module should handle the event and passes the event to that plug-in module, in this case Promo module 42.
Web browser 12 receives the requested Web page from remote Web server 14
16 through proxy server 36. Once Web browser 12 requests the next Web page, apart from the home page, Brain module 40 initializes Promo module 42. Such initialization preferably includes obtaining user data from user database 26, as well as "pre-fetching" content, as described with regard to Figure 5 below. Figure 5 is a flowchart of an exemplary method for "pre-fetching" content such as advertisements, in order to more rapidly display such content to the user through Web browser 12. Web browser 12 and Promo module 42 each has a storage area for storing the pre-fetched content: Web browser 12 has a cache, and Promo module 42 has a prefetch FLFO (first in first out) storage. At the beginning of the process, both storage areas are empty. In step 1, Web browser 12 connects to Promo module 42. In step 2, Promo module
42 requests at least one, and preferably two, prefetched content parcels such as advertisements from content management system 20. In step 3, content management system 20 sends the advertisement(s) to Promo module 42, which stores these advertisement(s) in the pre-fetch storage FIFO. In step 4, Web browser 12 requests a Web page. In step 5, Promo module 42 sends the framework with at least one advertisement to Web browser 12. In addition, in step 6, Promo module 42 also sends at least one, and preferably two, additional advertisements to Web browser 12. In step 7, Web browser 12 preferably stores the advertisement(s) in the cache. More preferably, if the file, such as the advertisement, is relatively large, such that the period of time required to load it into the cache of Web browser 12 is undesirably long, the file is broken into more than two portions, and each portion is loaded separately. The advertisement(s) are now optionally available for future display, such that the amount of time required for Web browser 12 to display the next advertisement is much shorter, since the advertisement is stored locally. Steps 2-7 could optionally be repeated during the session with Web browser 12. Figure 6 shows yet another preferred embodiment of the present invention, featuring another plug-in module, the Meter module. In this embodiment, an content enhancement system 48 again features an content enhancement module 50 and a content delivery center 52. Now, however, content enhancement module 52 also includes a Meter module 54. In addition, content delivery center 52 also includes a billing module 56. Components which have the same numbering as for Figure 3 retain their previously described function, unless otherwise specified.
Meter module 54 enables the user to pay for content obtained from remote Web server 14 or from content database 28, or from a combination thereof. For example, if the
17 user requests a Web page from a Web site for which payment is required, remote Web server 14 communicates with Meter module 54 to request payment. If such payment is authorized, manually for example by having the user click on a button displayed by Web browser 12, or automatically, Meter module 54 communicates with billing module 56. Billing module 56 then records the payment. The service provider is then able to request remuneration from the user. The service provider also sends payment to the holder of the Web site, possibly after subtracting a commission or other handling fee. Thus, Meter module 54 enables users to purchase content through regular billing, such as part of a monthly bill from an ISP, without entering a credit card number. As noted previously, the system and method of the present invention are useful for many types of content, such as advertisements, messages, customer support, announcements and educational materials. Furthermore, control over the type of content and the display of the content would depend upon the service provider. For example, if the service provider was an ISP, then the ISP could optionally control the content in order to generate advertising revenue. Alternatively, if the service provider was a corporation, the corporation could optionally control the content in order to inform or instruct its employees, for example.
Figure 7 shows a preferred, illustrative embodiment of the system of Figure 2. In this embodiment, a system 58 again includes a Web browser 60 for interacting with a computer user, as described for Web browser 12 of Figure 2. However, in system 58, Web browser 60 is alternately connected to a content enhancement module 62 and to a remote Web server 64 for serving a Web page 66. Content enhancement module 62 is also connected to remote Web server 64. In addition, as for Figure 2, a content distribution center 22 is connected to content enhancement module 62. Thus, Web browser 60 is either connected directly to remote Web server 64 or alternately is connected indirectly, through content enhancement module 62.
When Web browser 60 is connected to content enhancement module 62, substantially all interactions between Web browser 60 and remote Web server 64 therefore pass through content enhancement module 62, such that content enhancement module 62 is an intermediary layer between Web browser 60 and remote Web server 64, as described for system 10 of Figure 2. However, such a connection can place a heavy load on content enhancement module 62, which effectively acts a proxy server. Therefore, as shown in Figure 7, preferably Web browser 60 can also connect directly to remote Web server 64, thereby by-passing content enhancement module 62 such that content enhancement module
18 62 is not able to send data to Web browser 60 in this mode.
More preferably, system 58 alternates between these two different modes, with Web browser 60 either connected directly to remote Web server 64, or alternately connected indirectly through content enhancement module 62, most preferably according to either a predetermined schedule or alternatively according to a dynamic schedule. For example, Web browser 60 could be connected to content enhancement module 62 only when the user first "logs on" and connects to the Internet. Alternatively, Web browser 60 could periodically connect to content enhancement module 62 in order for content enhancement module 62 to be able to more effectively track the activity of the user on the Internet. For example, Web browser 60 could periodically connect to content enhancement module 62 every n minutes for such tracking, in which n is an integer. In any case, such a periodic connection significantly reduces the burden on content enhancement module 62, such that the amount of traffic flowing through content enhancement module 62 is significantly reduced.
In the other, alternative and optional embodiment of system 58, Web browser 60 connects to content enhancement module 62 dynamically, preferably according to the traffic between Web browser 60 and remote Web server 64, such that as the amount of traffic is increased, Web browser 60 connects to content enhancement module 62 more frequently. Such detection of the amount of traffic could be performed by a client module 68 as shown, which could be an applet being operated by Web browser 60 for example. In either embodiment, as for Figure 2, in order to more effectively use the period of time required for Web browser 60 to load a particular Web page 66 requested from remote Web server 64, preferably content enhancement module 62 causes the content, such as the advertisement, to be displayed within the display of Web browser 60 as the requested Web page 66 loads into Web browser 60. More preferably, the content is displayed in the context of an additional displayed Web page. Thus, the time which is required for Web page 66 to load can now be used for displaying an advertisement or other content. The advertisement or other content, such as the displayed Web page, then preferably disappears from the display of Web browser 60 after the Web page has been loaded.
Alternatively, the advertisement or other content could appear at substantially any time during the operation of Web browser 60, and not only when a Web page was being loaded, such that the display Web page could be built from a combination of the content and the requested Web page 66, for example. Other preferred features and embodiments of the content itself and of the display of the content were previously discussed. More preferably,
19 the rich content is supported by a pre-fetch method of the present invention.
Figure 8 shows a preferred, illustrative embodiment of the system of Figure 7. In this embodiment, system 58 again features a Web browser 60 connected to a client module 68. Both Web browser 60 and client module 68 are installed on, and are operated by, a user computer 70. In addition, a service provider 72 for providing a connection to the Internet, which could be an ISP (Internet Service Provider) for example, is shown for clarity. User computer 70 could be connected to service provider 72 through substantially any type of suitable connection, such as a modem connection to the telephone network for example, which could easily be selected by one of ordinary skill in the art. However, Web browser 60 now connects directly to Web server 64 in order to request and download Web page 66. Client module 68 now connects directly to content enhancement module 62 and requests the additional content, such as the advertisement or other media content, directly from content enhancement module 62. Thus, this embodiment of the present invention can be distinguished in that client module 68 now "pulls" content from content enhancement module 62, rather than having content enhancement module 62 push this content. Alternatively, client module 68 could retrieve content from content distribution center 22.
Preferably, client module 68 is automatically installed on user computer 70, in a manner which is transparent to the user, such that client module 68 is able to cause the additional content to be displayed by Web browser 60 as previously discussed, without intervention by the user. Client module 68 would therefore be a "hidden" client software module. For example, client module 68 could be installed on user computer 70 by content enhancement module 62 only when the user first "logs on" and connects to the Internet, particularly for a non-permanent connection, such that user computer 70 is alternately connected to, and disconnected from, the Internet. Optionally, content enhancement module 62 could detect when client module 68 was no longer operating on user computer 70, and could then install client module 68 on user computer 70 again.
More preferably, content enhancement module 62 is employed as a proxy server at certain times, and most preferably is employed as such a server when the user first "logs on", or first activates Web browser 60 and/or first connects to the Internet, for example through service provider 72, thereby enabling client module 68 to be installed on user computer 70. For example, either Web browser 60 or service provider 72 could be configured such that when Web browser 60 first connects to service provider 72, Web browser 60 initially
20 connects to content enhancement module 62 as a proxy server. Content enhancement module 62 would then install client module 68.
Optionally and most preferably, client module 68 is implemented as an applet, which is installed on user computer 70 in a non-permanent, transient installation, such that client module 68 is not installed on the hard disk or other permanent storage medium of user computer 70. Rather, client module 68 is preferably only stored in the RAM (random access memory) or other volatile memory of user computer 70. Thus, client module 68 preferably does not consume any permanent resources of user computer 70.
While the invention has been described with respect to a limited number of embodiments, it will be appreciated that many variations, modifications and other applications of the invention may be made.