US 7069515 B1
In one embodiment, a client computer receives messages from a server computer over a computer network. The messages are displayed in the client computer based on preference settings that may be configured by end-users. This advantageously gives end-users some control over messages provided to them. In one embodiment, end-users configure the preference settings to specify the number of messages they can be shown within a period time, when to display messages relative to the loading of a web page, and/or where to display messages. Embodiments of the present invention may be used in a variety of applications including in the delivery of advertisements over the Internet.
1. A method of displaying messages in a computer, the method comprising:
delivering a first product advertisement to a computer over a computer network, the first product advertisement being delivered to the computer based on a web site visited by an end-user;
displaying the first product advertisement in a first presentation vehicle, the first presentation vehicle including a first icon for invoking a configuration panel for allowing the end-user to control how product advertisements are presented in the computer by entering a preference setting; and
using the preference setting to determine how to display a second product advertisement in a second presentation vehicle.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
1. Field of the Invention
The present invention relates generally to computer systems, and more particularly to methods and apparatus for displaying messages in computer systems.
2. Description of the Background Art
The general availability of large computer networks such as the Internet has enabled end-users to readily access vast amounts of information. On the Internet, for example, there are web sites that provide news, educational and scientific materials, maps, on-line shopping, voice-over-IP service, music, etc. In fact, the types of information that are available on the Internet are limited only by the imagination of web site operators.
Web site operators can generate revenue by displaying advertisements to end-users who visit their web sites. An advertisement may be displayed on a web page, or on a separate window such as a pop-up or a banner. A window containing advertising typically includes an icon for manually removing the window, and a handle for dragging the window to a desired location on the computer screen. However, for the most part, end-users do not have much control over the window. The web site operator dictates how a window (and its advertisement) is displayed to end-users.
The present invention relates to methods and apparatus for displaying messages in computer systems. The present invention may be used in a variety of applications including in the delivery of advertisements over the Internet.
In one embodiment, a client computer receives messages from a server computer over a computer network. The messages are displayed in the client computer based on preference settings that may be configured by end-users. This advantageously gives end-users some control over messages provided to them.
In one embodiment, end-users configure the preference settings to specify the number of messages they can be shown within a period time, when to display messages relative to the loading of a web page, and/or where to display messages.
These and other features of the present invention will be readily apparent to persons of ordinary skill in the art upon reading the entirety of this disclosure, which includes the accompanying drawings and claims.
The use of the same reference label in different drawings indicates the same or like components.
In the present disclosure, numerous specific details are provided, such as examples of apparatus, components, and methods to provide a thorough understanding of embodiments of the invention. Persons of ordinary skill in the art will recognize, however, that the invention can be practiced without one or more of the specific details. In other instances, well-known details are not shown or described to avoid obscuring aspects of the invention.
The invention is described in the context of advertisement delivery over the Internet. It should be understood, however, that the invention is not so limited and may be generally used in other applications where messages are displayed for viewing by end-users. Furthermore, it is to be noted that as used in the present disclosure, “advertising” or “advertisement” includes any type of message provided to end-users for the purpose of getting their attention on something. Typically but not necessarily, an advertisement is with regards to a product. However, an advertisement may also be related to an election campaign, a cause (e.g., “save the planet”), an announcement, etc.
Referring now to
A client computer 101 is typically, but not necessarily, a personal computer such as those running the Microsoft Windows™, Apple Macintosh™, Linux etc. operating systems. An end-user may employ a suitably equipped client computer 101 to get on network 100 and access computers coupled thereto. For example, a client computer 101 may be used to access web pages from a web server computer 102. It is to be noted that the term “computer” includes any type of information processing device including personal digital assistants, digital telephones, wireless terminals, etc.
A web server computer 102 may be a web site containing information designed to attract end-users surfing on the Internet. A web server computer 102 may also include advertisements, downloadable computer programs, and products available for online purchase. A web server computer 102 may also be an ad server for delivering advertisements to a client computer 101.
A message server computer 103 may include the functionalities of a web server computer 102. Additionally, in one embodiment, a message server computer 103 may also include message units for delivery to a client computer 101. The message units may contain advertisements, for example. A message server computer 103 may also include downloadable computer programs and files for supporting, updating, or maintaining components on a client computer 101.
Web server computers 102 and message server computers 103 are typically, but not necessarily, server computers such as those available from Sun Microsystems, Hewlett-Packard, International Business Machines, etc. A client computer 101 may communicate with a web server computer 102 or a message server computer 103 using client-server protocol. Client-server computing is well known in the art and will not be further described here.
Client computer 101 may include a web browser 201. Web browser 201 may be any web browser or web client running on a client computer 101. For example, the Microsoft Internet Explorer™ web browser may be used as a web browser 201.
In one embodiment, delivery program 200 is downloadable from a message server computer 103. Delivery program 200 may be downloaded in conjunction with the downloading of another computer program. For example, delivery program 200 may be downloaded to a client computer 101 along with a utility program that is provided free of charge or at a reduced cost. The utility program may be provided to an end-user in exchange for the right to deliver messages to the end-user via message delivery program 200. In essence, revenue (e.g., advertising fees) from messages delivered to the end-user helps defray the cost of creating and maintaining the utility program.
Message retriever 202 may include computer-readable program code for requesting message units 301 (see
Message retriever 202 monitors web browser 201 for the uniform resource locator (URL) of web sites visited by an end-user surfing on the Internet. For each % domain visited by an end-user, message retriever 202 may send a request packet to message server computer 103. In one embodiment, a request packet includes:
(a) the end-user's unique identification (ID) number;
(b) the ID number of client computer 101;
(c) the local time;
(d) the domain name of the web site visited by the end-user; and
(e) a list of message units 301 stored in message cache 204.
In one embodiment, personal information such as the actual name of the end-user, credit card information, residence address, etc. is stored solely in client computer 101 to protect the end-user's privacy.
Message server computer 103 checks if there is a corresponding message unit 301 for each request packet received from client computer 101. If so, message server computer 103 sends the corresponding message unit 301 to message retriever 202. For example, message retriever 202 may send a request packet to message server computer 103 as an end-user navigates from “storekeeper.com” to “cars.com.” If a message unit 301 is available for the domain “cars.com”, message server computer 103 will send that message unit 301 to message retriever 202.
Client computer 101 may also include a hash table 206. Hash table 206 may contain information for determining whether a message unit 301 is available for a particular domain. This allows message retriever 202 to first query hash table 206 before sending a request packet to message server computer 103. If hash table 206 indicates that there is a message unit 301 for a domain visited by the end-user, message retriever 202 may proceed to send a request packet to message server computer 103. Otherwise, message retriever 202 may not send a request packet, thereby minimizing the amount of request packets sent to and processed by message server computer 103.
Message displayer 203 may include computer-readable program code for displaying the contents of a message unit 301. Message displayer 203 may display a message content using a variety of presentation vehicles including pop-ups, banners, message boxes, text boxes, sliders, separate windows, windows embedded in a web page, etc. As will be explained further below, message displayer 203 may also include a preference engine 220 for displaying messages based on end-user configurable settings. This provides end-users some control over messages delivered to them.
Each message unit 301 may include display rules 304 (see
As mentioned, message server computer 103 receives request packets from a client computer 101. Each received request packet may include the domain name of the web site visited by an end-user. Message server computer 103 uses the domain name to find all message units 301 available for that web site. For example, a message unit 301 may include an advertisement from a car company that wants to display its advertisement to end-users visiting the “cars.com” web site. When a request packet indicates that an end-user is on “cars.com”, the message unit 301 containing the car company's advertisement will be sent to the requesting client computer 101.
Message server computer 103 may also include a database 310 for keeping track of available message units 301 and end-user activities. Message server computer 103 may query database 310 for all message units 301 available for a particular web site.
As mentioned, in one embodiment, no personal information is sent to message server computer 103 to protect the privacy of end-users. Thus, in that embodiment, end-user activities such as the web sites visited by an end-user are tracked using the unique end-user ID included in each request packet. An end-user ID is not tied to any information that can be used to determine the actual identity of an end-user; thus, end-users may remain anonymous. As can be appreciated, end-user activities may be tracked for targeted advertising purposes.
Still referring to
Vehicle 303 indicates the presentation vehicle to be used in displaying message content 302. For example, vehicle 303 may call for the use of a pop-up, banner, message box, text box, slider, separate window, window embedded in a web page, etc.
Display rules 304 may include one or more rules for displaying message content 302. Display rules 304 may specify to display a message content 302 when an end-user navigates to a specific web page or as soon as the message unit 301 is received in a client computer 101. For example, a car company may contract with the operator of a message server computer 103 to deliver a message unit 301 containing an advertisement for a minivan (hereinafter, “minivan message unit”). The display rules 304 of the minivan message unit specifies that the minivan advertisement is to be displayed to end-users viewing the minivan web page of “cars.com”. In this example, the minivan web page of cars.com has the URL “www.cars.com/minivans”. When an end-user visits the main page (or any web page) of “cars.com”, message retriever 202 (see
Display rules 304 may also include: (a) a list of domain names at which the content of a message unit 301 is to be displayed, (b) URL sub-strings that will trigger displaying of the content of the message unit 301, and (b) time and date information. As can be appreciated, display rules 304 may also be extended to take into account additional information relating to an end-user (as identified by a corresponding end-user ID) such as the end-user's frequent flyer affiliation, club memberships, type of credit card used, hobbies and interests, and basic demographic information. End-user related information may be stored in client computer 101 or database 310 of message server computer 103. End-user related information may be used for targeted advertising purposes, for example.
As shown in
Various presentation vehicles for displaying messages in accordance with embodiments of the present invention are now described beginning with
Pop-up 401 may also include icons 402 and 403, which may be activated by clicking on them with a mouse cursor. In one embodiment, icons 402 and 403 are each assigned a different activation sequence to prevent an end-user from inadvertently clicking on icon 403 when the end-user actually meant to click on icon 402 or vice versa. For example, icon 403 may require two clicks for activation, whereas icon 402 may only require a single click. The two clicks to activate icon 403 may be made one immediately after the other, be separated by any amount of time, be separated by a message or warning telling the end-user that icon 403 requires two clicks, or combinations thereof.
Icon 402 is a remove button, which in this case removes pop-up 401 off the computer screen. Icon 403 is a button for initiating the invocation of a preference setting panel (also referred to as “configuration panel”). Activating icon 403 may directly invoke a preference setting panel like panel 501 shown in
As shown in
As can be appreciated, the capability to set the frequency at which messages are displayed is particularly desirable with presentation vehicles that go in and out of view. Examples of such presentation vehicles include pop-ups, sliders, and banners. For example, a pop-up may be displayed while an end-user is surfing on the Internet. The pop-up may be manually removed by the end-user, or may be automatically removed by message displayer 203 when the pop-up is no longer relevant (e.g., when the end-user leaves the domain that triggered the displaying of the pop-up). Some end-users may find it annoying to continually see pop-ups go in and out of view, while others may not be bothered by them. For those end-users who want to minimize the number of pop-ups that appear, they can simply invoke panel 501 and set a desired frequency using radio buttons 502.
In one embodiment, preference engine 220 (see
As shown in
Turning now to
Slider 601 may include an icon 403 for invoking a preference setting panel such as panel 501 shown in
Slider 601 may also include an icon 402 for removing slider 601 off the computer screen.
Slider 601 is so named because sliding panel 602 slides in and out of fixed panel 603.
In one embodiment, slider 601 is a polite slider. That is, sliding panel 602 automatically retracts out of the way when the message contained in it is no longer relevant. For example, sliding panel 602 may automatically retract when the end-user is no longer on the domain that triggered the displaying of the message. Sliding panel 602 may also automatically retract when the end-user has not placed a cursor on slider 601 for a period of time after sliding panel 602 has been fully extended into view. A polite slider 601 advantageously eliminates the need for end-users to manually remove irrelevant messages out of the way. This makes slider 601 more acceptable to end-users.
As shown in
Panel 901 also includes radio buttons 903 for specifying where to display subsequent banners 701. In the example of
In one embodiment, preference engine 220 (see
Based on the setting of radio buttons 903, preference engine 220 also informs message displayer 203 where to display a banner 701.
Panel 901 may also include a push-button 906 for setting the selections entered in radio buttons 902 and 903, and a push-button 904 for removing panel 901 without changing any setting. An icon 905 may be a button for removing panel 901 off the computer screen. Source indicator 404 identifies the source of panel 901.
As can be appreciated, the selections provided in panel 901 give end-users some control over the messages delivered to them. Instead of giving total control of message delivery to the message provider, end-users can specify when and where to display messages. By giving end-users control over the message delivery process, they are less likely to remove or uninstall the associated message delivery program. This is particularly advantageous in applications where the message delivery program generates revenue by, for example, displaying advertisements.
While specific embodiments of the present invention have been provided, it is to be understood that these embodiments are for illustration purposes and not limiting. Many additional embodiments will be apparent to persons of ordinary skill in the art reading this disclosure. Thus, the present invention is limited only by the following claims.