Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DYNAMIC INTERNET ADVERTISING
Document Type and Number:
WIPO Patent Application WO/2001/039024
Kind Code:
A2
Abstract:
A facility for presenting dynamic advertising in a client computer system is described. The facility receives a specified sequence for advertising messages that identifies advertising messages by reference. The facility retrieves advertising messages identified in the specified sequence and displays them in accordance with the specified sequence. The facility further collects information describing interaction by a user of the client computer system with the displayed advertising messages. The facility transmits this collected information to a separate information processing computer system.

Inventors:
LIPSKY SCOTT ERIC
BARTLETT JAMES PATRICK
BECK STEVE
SCHUSTER GARY RICHARD
SPINARSKI JOHN BRYAN
Application Number:
PCT/US2000/032250
Publication Date:
May 31, 2001
Filing Date:
November 22, 2000
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
AVENUE A INC (US)
International Classes:
G06Q30/00; (IPC1-7): G06F17/00
Domestic Patent References:
WO1999013423A11999-03-18
WO1997026729A21997-07-24
WO1999060504A11999-11-25
Foreign References:
EP0822535A21998-02-04
Other References:
KOHDA Y ET AL: "Ubiquitous advertising on the WWW: merging advertisement on the browser" FIFTH INTERNATIONAL WORLD WIDE WEB CONFERENCE, PARIS, FRANCE, 6-10 MAY 1996, vol. 28, no. 7-11, pages 1493-1499, XP002037594 Computer Networks and ISDN Systems, May 1996, Elsevier, Netherlands ISSN: 0169-7552
EBERHARDT R ET AL: "ELECTRONIC COMMERCE - A COMPARATIVE STUDY OF WEB BASED DATABASE ACCESS" ISS '97. WORLD TELECOMMUNICATIONS CONGRESS. (INTERNATIONAL SWITCHING SYMPOSIUM). GLOBAL NETWORK EVOLUTION: CONVERGENCE OR COLLISION? TORONTO, SEPT. 21 - 26, 1997, ISS. WORLD TELECOMMUNICATIONS CONGRESS. (INTERNATIONAL SWITCHING SYMPOSIUM), TORONTO, P, vol. 2, 21 September 1997 (1997-09-21), pages 97-104, XP000704460
Attorney, Agent or Firm:
Lawrenz, Steven D. (WA, US)
Download PDF:
Claims:
CLAIMS
1. A method in a client computer system for presenting dynamic advertising, comprising : receiving a specified sequence for advertising messages that identifies advertising messages by reference ; retrieving advertising messages identified in the specified sequence ; displaying advertising messages in accordance with the specified sequence ; collecting information describing interaction by a user of the client computer system with the displayed advertising messages ; and transmitting the collected information to a separate information processing computer system.
2. The method of claim I wherein one of the advertising messages specified in the sequence is a static image.
3. The method of claim 1 wherein one of the advertising messages specified in the sequence is an animation sequence.
4. The method of claim 1 wherein one of the advertising messages specified in the sequence is a video sequence.
5. The method of claim 1 wherein one of the advertising messages specified in the sequence is a rich media element.
6. The method of claim 1, further comprising : receiving a second specified sequence for advertising messages that identifies advertising messages by reference, wherein at least one of the advertising messages identified by the second specified sequence is identified by the specified sequence and has therefore been retrieved ; and displayingadvertising messages in accordance with the second received sequence without reretrieving the advertising messages identified in both the second specified sequence and the specified sequence.
7. The method of claim 1, further comprising determining that a predetermined period of time has passed since collected information was last transmitted to the separate information processing computer system, and wherein the transmitting is performed in response to the determination.
8. The method of claim 1, further comprising determining that the collected information has reached a predetermined size, and wherein the transmitting is performed in response to the determination.
9. The method of claim 1 further comprising determining that the collected information contains information describing a predetermined type of user interaction, and wherein the transmitting is performed in response to the determination.
10. The method of claim 1 wherein the transmitting is performed in response to the first of the following : determining that a predetermined period of time has passed since collected information was last transmitted to the separate information processing computer system ; determining that the collected information has reached a predetermined size ; and determining that the collected information contains information describing a predetermined type of user interaction.
11. The method of claim 1, further comprising, in the information processing computer system : receiving the collected information transmitted from the client computer system ; and analyzing the received information to discern the effect of the specified sequence of advertising messages on the user.
12. The method of claim 11 wherein the results of the analysis characterize the user.
13. The method of claim 11 wherein the results of the analysis characterize the sequence of advertising messages.
14. The method of claim 11 wherein the results of the analysis characterize one or more of the advertising messages of the sequence.
15. The method of claim 1, further comprising displaying a visual transition between the display of two advertising messages that are adjacent in the sequence.
16. The method of claim 15, further comprising receiving with the specified sequence a specified transition time, and wherein the visual transition is displayed for the specified transition time.
17. The method of claim 15, further comprising : during the display of the visual transition, detecting a selected user interaction performed with respect to the displayed visual transition ; in response to so detecting : interrupting the display of the visual transition ; and resuming the display of the first of the adjacent advertising messages.
18. The method of claim 17 wherein the selected user interaction is moving a mouse cursor into the region in which the visual transition is being displayed.
19. The method of claim 1 wherein each of the displayed advertising messages is displayed on behalf of a different advertiser.
20. The method of claim 1 wherein at least two of the advertising messages are displayed on behalf of different advertisers.
21. The method of claim 1 wherein each of the displayed advertising messages is retrieved from a different server.
22. The method of claim 1 wherein the displaying displays multiple advertising messages simultaneously.
23. The method of claim 1, further comprising requesting the received sequence from among a plurality of available sequences.
24. The method of claim 23 wherein retrieval of the sequence is triggered by processing a publisher Web page, and wherein the publisher Web page includes an identifier, the method further comprising selecting the requested sequence based upon the identifier.
25. The method of claim 1 wherein each advertising message having a predecessor in the sequence is retrieved during the display of its predecessor.
26. The method of claim 1 wherein both a first and a second sequence for advertising messages are received, both the first sequence and the second sequence identifying a first advertising message, and wherein advertising messages are displayed in accordance with both the first and second sequences, and wherein the first advertising message is retrieved only once.
27. A computer system for presenting advertising, comprising : a first receiver that receives an advertising message ; a display that displays the received advertising message in an advertising region ; a second receiver that receives a specification specifying a plurality of subregions of the advertising region within which to monitor user interactions ; a user interaction monitoring subsystem that, during the display of the advertising message, monitors user interactions within the specified subregions of the advertising regions ; a user interaction logging subsystem that logs monitored user interactions ; and a transmitter that periodically transmits the logged user interactions to a separate information processing computer system.
28. A computer memory containing a dynamic advertising specification data structure for use by a clientside advertising agent, comprising : a first portion indicating a display sequence of advertising messages ; a second portion indicating one or more regions within the advertising messages of the indicated display sequence in which to monitor user interactions, such that, when the data structure is in the possession of a clientside advertising agent, the advertising agent may access the first portion in order to display the display sequence of advertising messages, and may access the second portion to identify regions within the advertising messages in which to monitor user interactions.
29. The computer memory of claim 28 wherein the data structure is expressed in XML.
30. The computer memory of claim 28 wherein the data structure is expressed in a compressed form of XML.
31. A computerreadable medium whose contents cause a user computer system to advertise, comprising : retrieving advertising instructions ; in accordance with the advertising instructions, retrieving advertising content ; composing an advertising message incorporating the advertising content ; presenting the composed advertising message ; monitoring user behavior in response to the presentation of the composed advertising message ; and periodically transmitting an indication of the monitored user behavior to a destination computer system distinct from the user computer system.
32. The computerreadable medium of claim 31 wherein the advertising instructions include a specification specifying a plurality of subregions of the advertising region within which to monitor user interactions, and wherein the monitoring monitors user interactions within the specified subregions of the advertising regions.
33. The computerreadable medium of claim 32 wherein the received specification further specifies for a selected one of the specified regions a URL to navigate to if the user clicks in the selected region, the contents of the computerreadable medium further causing the user computer system to navigate to the URL specified for the selected region when the user clicks in the selected region.
34. The computerreadable medium of claim 32 wherein the received specification further specifies text to display in a selected one of the specified regions, the contents of the computerreadable media further causing the user computer system to display the specified display text within the selected region.
35. The computerreadable medium of claim 32 wherein the received specification further specifies for a selected one of the specified regions audio to play if the user moves a mouse cursor into the selected region, the contents of the computerreadable media further causing the user computer system to play the audio specified for the selected region when the user moves the mouse cursor into the selected region.
36. The computerreadable medium of claim 32 wherein the received specification further specifies for a selected one of the specified regions cursor text to display in conjunction with a mouse cursor if the user moves the mouse cursor into the selected region, the contents of the computerreadable media further causing the user computer system to display the specified cursor text in conjunction with a mouse cursor when the user moves the mouse cursor into the selected region.
37. The computerreadable medium of claim 32 wherein the received specification further specifies for a selected one of the specified regions an alternative cursor to substitute for a mouse cursor if the user moves the mouse cursor into the selected region, the contents of the computerreadable media further causing the user computer system to substitute the specified alternative cursor for the mouse cursor when the user moves the mouse cursor into the selected region.
38. A generated data signal conveying an advertising data structure, comprising : information specifying an advertising message ; information defining a first region of the advertising message, the defined first region having a first property value of a first property type ; and information defining a second region of the advertising message, the defined second region having a second property value of a second property type, such that, when the data signal is received in a computer system, the computer system may use the contents of the data structure to render the specified advertising message with the defined regions.
39. The data signal of claim 38 wherein the first and second regions are coextensive.
40. The data signal of claim 39 wherein the first and second property types are distinct.
41. The data signal of claim 38 wherein the first and second property types are the same, and wherein the first and second property values are distinct.
42. The data signal of claim 38 wherein the first and second regions are noncoextensive.
43. The data signal of claim 38 wherein the first property type is clickthrough, and wherein the data structure further comprises information specifying a clickthrough target address to which to navigate when the user clicks within the first region.
44. The data signal of claim 38 wherein the first property type is superimposed text, and wherein the data structure further comprises information specifying text that is to be superimposed within the first region.
Description:
DYNAMIC INTERNET ADVERTISING TECHNICAL FIELD The present invention is directed to Internet advertising techniques, and, more particularly, to client-side advertising mechanisms.

BACKGROUND The World Wide Web ("the Web") is a medium for making content available to requesting users, also known as"publishing"content.

A Web publisher may provide content of various types, including visual Web pages having textual and static visual contents, as well as such other content such as animated images and audio and video sequences. The relatively low cost of publishing content on the Web enables many organizations and individuals to act as Web publishers.

To access content made available on the Web, a user typically directs a Web client program, or"browser,"executing on his or her computer system to obtain and display a particular unit of content.

Units of content are each identified by an address, also called a Uniform Resource Locator, or URL. The user may direct the browser to obtain and display a unit of content by directly entering the URL for the unit of content, or by selecting a link or bookmark with which the URL is associated.

Internet advertising is a practice in which a Web publisher adds an advertising message or other content provided by a third party advertiser to the content provided by the Web publisher in exchange for payment or other consideration from the advertiser. For example, a Web- based travel agency may pay the publisher of a Web site directed to tips for travelers to add a banner advertisement for the Web-based travel agency to some of the Web pages comprising the Web site. Such a

banner advertisement typically presents visual information promoting the advertiser that takes up a portion of the area of the Web page. Some banner advertisements further constitute a link to a Web site associated with the advertiser, so that the user may click anywhere within the banner advertisement to display, or"click through to,"that Web site.

As computer use, and particularly the use of the Web, becomes more and more prevalent, the volume of Internet advertising presented grows larger and larger. As this volume continues to increase, the need to differentiate advertising messages from those of competitors, the need to maximize the number of advertising messages presented in a given amount of advertising space, and the need to collect information about the effectiveness of advertising increases significantly.

Accordingly, a facility for presenting dynamic Internet advertising that monitors, reports on, and responds to user behavior would have significant utility.

BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a high-level block diagram showing the environment in which the facility preferably operates.

Figure 2 is a screenshot diagram showing the display of a dynamic advertisement displayed by the facility.

Figure 3 is a display diagram showing a first stage of the visual transition.

Figure 4 is a display diagram showing a second stage of the visual transition.

Figure 5 is a display diagram showing complete replacement of the first advertising message by the second advertising message.

Figure 6 is a table diagram showing the definition of subregions within the dynamic advertising region.

Figure 7 is a display diagram showing the display of a Web page in response to the user clicking within a subregion of the first advertising message.

Figure 8 is a flow diagram showing the steps preferably performed by the facility when the user navigates to a publisher Web page on which space has been purchased for dynamic advertising.

Figure 9 is a flow diagram showing the steps preferably performed when the dynamic advertising applet is launched in a separate thread.

Figure 10 is a flow diagram showing the steps preferably performed in an event handler registered by the facility to process user input events occurring in conjunction with the dynamic advertising region.

DETAILED DESCRIPTION A software facility for presenting dynamic Internet advertising that monitors, reports on, and responds to user behavior is provided. The facility uses a client-side component, such as a Java applet executing on the user's computer system in conjunction with the Web browser being used by the user. The client-side component composes advertising messages from multi-media elements including graphics. text. audio, video, and various data entry elements and presents them on the user's computer system based upon the contents of a script retrieved from a dynamic advertising server by the client-side component. The script received by the client-side component specifies such details of the client- side component's operation as the sequence of advertising messages, transitions between advertising messages, mappings from specific subregions defined within the dynamic advertising region to different click-through targets and text superimposed over the advertising messages. By sending the client-side component an altered script, the dynamic advertising server can quickly adjust any aspects of the behavior

of the client-side component, while consuming just the small amount of network/data bandwidth required by the script.

The client-side component is preferably able to autonomously modify or replace such advertising messages, irrespective of whether a particular action is taken by the user. The client-side component preferably also collects and transmits to a central server information about the user's behavior, such as where the user has moved the mouse pointer, the times at which the mouse pointer enters and exits that area, whether the user has clicked on any user interface controls, when the advertising message was first and last viewable in the browser, etc. In accordance with additional aspects of the facility, data received from each client-side component is preferably analyzed by the central server. In some embodiments, the central server sends new instructions based upon the analysis back to the client-side component. The client- side component provides advertising messages that are proactive, dynamic, and adapted to the behavior of the user.

Because it controls the display of advertising messages, the client-side component enables advertising messages for multiple advertisers to be displayed sequentially or simultaneously in the same ad space. In some embodiments, the facility provides real-time or occasional integration with advertiser databases in order to deliver advertising messages based upon information retrieved by the client-side component from advertiser databases, such as current pricing and availability information.

Figure 1 is a high-level block diagram showing the environment in which the facility preferably operates. The diagram shows a client computer system 110. An Internet user preferably uses the client computer system to connect, via the Internet 100, to an Internet publisher computer system, such as Internet publisher computer systems 130 and 140, to retrieve and display a Web page.

In cases where an Internet advertiser, through the Internet advertising service, has purchased advertising space on the Web page provided to the Internet user computer system by the Internet publisher computer system, the Web page contains a reference that causes the client computer system to retrieve from a dynamic advertising server 120 the client side dynamic advertising component and execute it. When executed, the client-side component downloads the appropriate dynamic advertising script from the dynamic advertising server 120, which specifies the sequence of advertising messages to display. The client-side component retrieves and presents these advertising messages within the publisher Web page. The script specifies the server from which the advertising messages are to be downloaded. Different advertising messages may be downloaded from different servers, such as Internet content distributor computer systems 170 and 180. While presenting these advertising messages, the client-side component monitors and stores in a log user interface events that occur with respect to the displayed sequence of advertising messages. The client-side component periodically transmits these events to the dynamic advertising server.

When the user clicks within the dynamic advertising message, the client-side component redirects the Internet user computer system to retrieve a Web page from the appropriate Internet advertiser computer system, such as Internet advertiser computer system 150 or 160.

In visiting the Internet advertiser's Web site, the Internet user may traverse several pages, and may take such actions as purchasing an item or bidding in an auction. Revenue from such actions typically finances, and is often the motivation for, the Internet advertiser's Internet advertising.

The client computer system 110 preferably includes one or more central processing units (CPUs) 111 for executing computer programs such as the facility, a computer memory 112 for storing programs and data, a persistent storage device 113, such as a hard drive, and a computer-readable media drive 114, such as a CD-ROM drive, for

reading programs and data stored on a computer-readable medium. The dynamic advertising sever 120 preferably includes components similar to those described in the client computer system 110.

While preferred embodiments are described in terms of the environment described above, those skilled in the art will appreciate that the facility may be implemented in a variety of other environments. including a single, monolithic computer system, as well as various other combinations of computer systems or similar devices.

In order to more fully describe the implementation of the facility, its operation is described in conjunction with an example.

Figure 2 is a screenshot diagram showing the display of a dynamic advertisement displayed by the facility. The diagram shows a browser window 200, which includes a client area 210 in which is displayed a sample publisher Web page. In addition to other contents, the sample Web page contains a dynamic advertising region 220 managed by the client-side component of the facility. In the dynamic advertising region. the client-side component has displayed a first advertising message 221 for Advertiser A. It can be seen that the first advertisement includes a rectangular image, over which the client-side component has superimposed the following text 231 :"Dynamic Text Here". The client- side component preferably displays this first advertisement for a period of time specified by the script, such as 10 seconds. During this time, the client-side component tracks any user interface events received in the browser that relate to the dynamic advertising regions. The client-side component stores these events in a log for later transmission to the dynamic advertising server.

Figures 3-5 show a visual transition performed by the facility from the display of the first advertising message to the display of the second advertising message. Figure 3 is a display diagram showing a first stage of the visual transition. It can be seen in this diagram that, in dynamic advertising region 320, the client-side component shows a

portion of a second advertising message 322 that replaces the left side of the first advertising message 321.

Figure 4 is a display diagram showing a second stage of the visual transition. It can be seen in this diagram that, in dynamic advertising region 420, the client-side component shows a larger portion of a second advertising message 422 that replaces the left side of the first advertising message 421.

Figure 5 is a display diagram showing complete replacement of the first advertising message by the second advertising message. The facility preferably displays the second advertising message 522 for a period of time specified by the script, such as 10 seconds. continuing to track and record user interface events. After displaying the second advertising message, the facility again displays the first advertising message.

Were the user to perform a user interface event with respect to the dynamic advertising region, such as moving the mouse from outside the dynamic advertising region into the dynamic advertising region while the client-side component is displaying a visual transition from the first advertising message to the second advertising message, such as is shown in Figures 3 and 4, the client-side component preferably reverts to the display of the first advertising message shown in Figure 2 to permit the user to further review and interact with the first advertising message.

Figure 6 is a table diagram showing the definition of subregions within the dynamic advertising region. Table 600 contains two copies of the first advertising message, 610 and 620, each showing one of two subregions defined with the first advertising message by the dynamic advertising script. Rectangle 612 in the first copy of the first advertising message is the border of a first subregion defined in the first advertising message. Rectangle 622 in the second copy of the first advertising message defines the second region within the first advertising message. The table further shows that, when the user clicks within

subregion 612, the client-side component causes the browser to navigate to the following URL 613 :"http ://www. advertisera. com". The table also shows that, when the user clicks within region 622, the client-side component causes the browser to navigate to URL 623 : "http ://www. avenuea. com".

For example, Figure 7 is a display diagram showing the display of the Web page at URL 623 in response to the user clicking within subregion 622 using the mouse pointer 621.

Those operating the dynamic advertising service preferably prepare a number of different scripts, or dynamic advertising specifications, each specifying a particular instance of dynamic advertising. A script preferably identifies the advertising messages that are to be presented, such as image files, preferably by specifying a URL from which each may be retrieved ; the order in which the advertising messages are to be displayed and details of the visual transition to be performed in switching from displaying one advertising message to the next ; definitions of regions within one or more of the advertising messages, and attributes of the regions such as click-through destinations to which to navigate if the user clicks within the region, and text to be displayed within the region. Scripts are preferably small in size, allowing the performance of a particular client-side component to be redefined merely by sending a revised script to the client-side component. Indeed, such a revised script may identify the same advertising messages as the original script, enabling the browser to obtain those creatives from its cache rather than re-retrieving them.

Scripts are preferably prepared in the script language described below in Table 1, though those skilled in the art will appreciate that a variety of other formats could be gainfully used to represent a dynamic advertising specification.

# DynamicAdvertisingScript xmins="x-schema : client-side componentschema.xml">-This tag denotes the beginning of the script as well as what schema (rules) to follow when parsing the script Each script can contain the following elements <HeartBeat TimeValue=10>-Heartbeat is the interval at which the client should report statistics back to the server. TimeValue is the interval in seconds between sending statistics to the server # <TransitionSpeed TimeValue=4>- Denotes the speed of transitioning from one image to another. the lower the number the faster the transition-0 means immediate. This value is the number of milliseconds between updating the coordinates of the image.

# <GraphicText >-Denotes text to display on the Applet, there can be only one graphic text object at the root ofthe script and zero-to-many graphic text objects per image elements. A graphic text element can contain the following elements<DisplayText>-Text to display, there can be many of these per Graphic text element each on will display one line below the prior one # <Font FontName="times" Face="italic" PointSize="14"/>- This is the font to use for the text # <13GColor Red="255"Green="255"Blue="255"/>-Background color for the text # <FGColor Red="0" Green="0" Blue="0"/> - Foreground color for the text . <Rectangle RectX="200"RectY="0"RectW="150"RectH="50"/>-Bounding rcctangle to draw the text in. if there is no bounding rectangle then the entire window space available will he used <Image Location="mtvnews. gif">-Denotes the definition of one Image, must have a location property that tells the client where to load the image tiom. The location can be a relative URL based on the code base ofthe applet, or a fully qualifie URL such as HTTP://www.advertisera.com/webpage.

An image can contain the following elements * <DefaultClick Location="HTTP://www.advertisera.com/addefault"/>-This is the URL that will be browsed to if a user clicks on the client but is not in a defined region. One DefaultClick element is allowed per Image.

# <DisplayTime>- How long to Displav each image.'Ihis value is represented in seconds.

# <Region>- Defines a region for the current image, a region contains the following elements # <Rectangel RectX="0" RectY="0" RectW="234" RectH="30"/>- Defines the upper left corner, width, and height for the region, in pixels.

# <URL Location="HTTP://www.advertisera.com/adtarget"/> - Defines the URL to browse to when the region is clicked on Table 1 An example script expressed in the script language shown in Table 1 above is shown below in Table 2.

1. version="1. 0"'.) > 2. <Client-side componentScript xmlns="x-schema : clien-side componentschema.xml".

3. <HeartBeat TimeValue="10"/> 4. <TransitionSpeed TimeValue="10"/> 5. <Image Location="AdImagel_export.gif"> 6. <DefaultClick Location="http://www.avenuea.com"/> 7. <Region> 8. <Rectangie RectX="400" RectY="0" RectW="168" RectH="60"/> 9. <URL Location="http ://www. advertisera. com"/> 10. </Region> 11. <OraphicText> 12. <DisplayText>Dynamic Text Here</DisplayText> 13. <Font FontName="time" Face="BoldItalic" PointSize="12"/> 14. <FGColor Red="0"Green="0"Blue="0"/> 15. <Rectangle RectX="130' RectY="0" RectW="200" RectH="30"/> <BR> <BR> 16. </GraphicText><BR> <BR> <BR> 17. <DisplayTime TimeValue="2"/><BR> <BR> <BR> Is. </Image> 19. <Image Location="AdImage2_export_gif"> 20. <DefaultClick Location="http://www.avenuea.com"/> 21 <Region> 22. <Rectangle RectX="130" RectY="0" RectW="200" RectH="30"/> 23 <URL Location="http ://www. advertiserb. com"/> 24. </Region> 25. <GraphicText> 26. <DisplayText>Different Dynamic Text Here</DisplayText> 27. <Font FontName="times" Face="BoldItalic" PointSize="12"/>

28. <FGColor Red="0"Green="0"Blue="0"/> 29. RectX="130"RectY="0"RectW="200"RectH="30"/> 30. </GraphicText> 31. <DisplayTime TimeValue="2"/> 32. </Image> 33. </Client-side componentScript> Table 2 Line 3 specifies that the client-side component should send feedback to the dynamic advertising server every ten seconds. Line 4 specifies that, when transitioning from one advertising message to the next, ten milliseconds should elapse between updating the coordinates of the advertising message. By specifying various values for the TimeValue property of the TransitionTime tag, the script author can specify how long it takes to transition from one advertising message to the next, or, by specifying zero, can specify that transitions are to be instantaneous. Lines 5-18 specify details of a first advertising message, while lines 19-30 specify details of a second advertising message. With respect to the first advertising message, line 5 specifies the URL of a graphics file containing the image for the advertising message. Line 6 contains the click-through URL for positions within the dynamic advertising region that are not within any defined sub-regions. Lines 7-10 define one sub-region within the dynamic advertising region. Line 8 specifies its boundaries. while 9 specifies it click-through URL. Lines 11-16 specify the display of the text"Dynamic Text Here"in the first advertising message. Lines 19-30 have similar contents with respect to the second advertising message.

Thus, it can be seen that different regions may be defined within an advertising message for different purposes.

Once a script such as the script shown in Table 2 has been generated, the facility preferably checks the script for compliance with an XML schema defining the proper syntax for a dynamic advertising script.

One such preferred schema is shown below in Table 3.

I. <Schema xmlns="urn : schemas-microsoft-com : tata" 2. xmlns : dt="um : schemas-microsoft-com : datatypes">

3 <AttributeType name="TimeValue" dt : tvpe="int"/> 4. <ElementType name="DisplayTime" content="empty"> 5. <attribute type="TimeValue" required="yes"/> 6. </ElementType> 7. <. AttributeType name="Red"dt : type="int"/> 8. <Attribute'rype name="Green"dt : type="int"/> 9. <AttributeType name="Blue" dt : type="int"/> 10. <ElementType name="BGColor" content="empty"> 11. <attribute type="Red" required="yes"/> 12. <-attribute tiv="Green"required="Yes"/> 13. <attribute type="Blue" required="yes"/> 14. </ElementType> <BR> <BR> 15.-Elemenffype name="FCColor"content="eltOnly"><BR> <BR> <BR> <BR> 16. <attribute type="Red"required="yes"/> 17. <attribute type="Green" required="yes"/> 18. <attribute type="Blue"required="yes"h 19. </ElementType> 20. <AttributeType name="FontName" dt : type="string"/> 21. <AttVibuteType name--"Face"dt : type="enumeration" dt : values="Bold Normal Italic BoldItalic"/> 22. <AttributeType name="PointSize" dt : type="int"/> 23. <ElementType name="Font" content="empty"> 24. <attribute type="FontName" required="yes"/> 25. typc="Face"required="'es"/> 26. <attribute type="PointSize" required="yes"/> 27. </ElementType> 28 @ <ElementType name="DisplayText" conten="textOnly"/> 29. <AltnbuteType name="RectX"dt : type="int"/> 30 i ttribute l ype name='RectY"dt : typez 31. <AttributeType name="RectH" dt : type="int"/> 32. <AttributeType name="RectW" dt : type="int"/> 33. <ElementType name="Rectangle" content="empty"> 34. <attribute type="RectX" required="yes"/> 35. <attribute type="RectY" required="yes"/> 36. <attribute type="RectH" required="yes"/> 37. <attribute type="RectW" required="yes"/> 38. </ElementType> 39. : Element I ypc name-"GraphicText"content="eltOnly"ordcr="manv'-> 40. <element type="DisplayTime" minOccurs="0" maxOccurs="1"/> 41. <element type="DisplayTime" minOccurs="1" maxOccurs="*"/> 42. <element type="Font" minOccurs="0" maxOccurs="1"/> 43.-clement <element type="BGColor" minOccurs="0" maxOccurs="1"/> 44. <element type="FGColor" minOccurs="0" maxOccurs="1"/>] 45. <element type="Rectangle" minOccurs="0" maxOccurs="1"/> 46. </ElementType> 47 <AttributeType name="Location" dt : type="string"/> 48. <ElementType name="URL" content="empty"> 49.-attribute typc="Location"required='",, 50. </ElementType> 51. <ElementType name="DefaultClick" content="empty"> 52. <attribute type="Location" required="yes"/> 53. </ElementType> 54. <ElementType name="Region" content="eltOnly" order="many"> 55. <element type="Rectangle" minOccurs="1" maxOccurs="1"/> 56. <element ty[e="URL" minOccurs="1" maxOccurs="1'/> 57./l ElementType> 58. <ElementType name="Image" content="eltOnly" order="many"> 59. <attribute type="Location" required="yes"/> G0. <element type="DefaultClick" minOccurs="1" maxOccurs="1"/> 61. <element type="Region" minOccurs="0" maxOccurs="*"/> 62. <element type="DisplayTime" minOccurs="1" maxOccurs="1"/> 63. <element type="GraphicText" minOccurs="0" maxOccurs="*"/> <BR> <BR> 64 </EtementType><BR> <BR> <BR> <BR> 65. <ElemenfFype name="HeartBeat"content"empty"> 66. <attribute type="TimeValue" required="yes"/> 67. </ElementType> 68. iemenf ElementType name="TransitionSpeed" content="empty"> 69. <attribute type="TimeValue"required="yes"/> 70. < ElementType> 71. <ElementType name="Client-side componentScript" content="eltOnly" order="many"> 72 <element type="DefaultClick" minOcurs="1" maxOccurs="1"/> 73. <element type="HeartBeat" minOccurs="1" maxOccurs="1"/> 74. <element type="TransitionSpeed minOccurs="1" maxOccurs="1:/> 75. <element type="Image" minOccurs="1" maxOccurs="*"/> 76. <element type="GraphicText" minOccurs="0" maxOccurs="1"/>

77. <element type="BGColor" minOccurs="0" maxOccurs="1"/> 78. <element type="FGColor" minOccurs="0" maxOccurs="1"/> 79. </ElementType> SO. </Schema> Table 3 After insuring that the dynamic advertising script conforms to the XML schema for advertising scripts, the facility preferably compresses the dynamic advertising script, employing a numerical substitution scheme such as the one detailed below in Table 4. Element/Attribute name Biritary Representation of Value ITmamicAdvcrtisingScript"I" HeartBeat"2"+ < I byte for ii of seconds- image "3"+ <2 bytes for length> + <Character string for location, Region"4" Rectangle"5"+ <2 bytes for X> + <2 bytes for Y> + 2 bytes for H> + <2 bytes for W> URL "6" + <2 bytes for tength> + <Character string for location Display ime"7"+ <1 byte for # of seonds> I'ransitionSpeed"8"+ <I byte for # of milliseconds> DefĂ ultClick'S"+ <2 bytes for length> + <Character string for location> GraphicText "10" I) isplay l'ext"I I"+ <2 bytes for length> + <Character string to display Font "12" + <2 bytes for length> + <font name> + <1 byte for face> + <1 byte for point size> FGColor "13" + <2 bytes for red> + <2 bytes for blue> + <2 bytes for green> BGColor "14" + <2 types for red> + <2 bytes for blue> + <2 bytes for green> Each element is delimited by the negative value of its binary representation to signify the"end"of'that element, for example DefaultClick element would look as follows '9"+ <2 bytes for length> + < : Character suing for location>-9 Table 4 Table 5 below shows the compressed, or"binary"form of the sample script shown in Table 2 generated by applying the substitution scheme described in Table 4.

1. 01 02 0A FE 08 0A F8 03-00 13 41 64 49 6D 61 67 ..........AdImag . 65 31 5F 65 78 70 6F 72-74 2E 67 69 66 09 00 16 el export.gif...

3. 74 74 70 3A 2F 2F 77-77 77 2E 61 76 65 6E 75 http://www.avenu 4. 61 2E 63 6F 6D F7 04-05 01 90 00 00 00 AB 00 ea. com..........

5. 3CFB06001A6874 74-703A2F2F7777772E <.... http ://www.

6. 6i 64 76 65 72 74 69 73-65 72 61 2E 63 6F 6D FA advertisera. com.

FC OA OB 00 11 44 79 6E-61 6D 69 63 20 54 65 78..... Dynamic Tex 74 20 48 65 72 65 F5 0C-00 05 74 69 6D 65 73 03 t Here.... times.

. )C F4 OD 00 00 00 00 00-00 F3 05 00 82 00 00 00................

C8 00 1E FB F6 07 02 F9-FD 03 00 13 41 64 49 6D ............AdIm ;-. 6'67 65 32 5F 65 78 70-6F 72 74 2E 67 69 66 09 age2 export. aif.

16 68 74 74 70 3A 2F-2F 77 77 77 2E 61 76 65 http://www. ave 13. 6E 75 65 61 2E 63 6F 6D-F7 04 05 00 82 00 00 00 nuea.com........

_4. C8 00 1E FB 06 00 1A 68-74 74 70 3A 2F 2F 77 77 .......http ://ww 7'7 6i 64 76 65 72 74-69 73 65 72 62 2E 63 6F w. advemserb. cc 16. 6D FA FC OA OB 00 1B 44-69 66 66 65 72 65 6E 74 m...... Different . 20 44 79 6E 61 6D 69 63-20 54 65 78 74 20 48 65 Dynamic Text 72 OC 00 05 74 69-6D 65 73 03 0C F4 0D 00 re....times.....

9. 00 00 C8 00 1E FB................

E0. F6 07 02 F9 FD FF B0 00-AA 81 CD 00 40 EB CE E8 ............@...

Table 5 Figures 8-10 are flow diagrams showing steps preferably performed in the client computer system to display dynamic advertisements using the facility. Figure 8 is a flow diagram showing the steps preferably performed by the facility when the user navigates to a publisher Web page on which space has been purchased for dynamic advertising. In step 801, the user issues an HTTP request for such a publisher Web page.

In step 802, the facility receives the requested Web page.

The received Web page contains a reference to a conditional dynamic advertisement inclusion that will determine whether it is possible to perform dynamic advertising in the client computer system, or whether, inversely, conventional banner advertising should be substituted for dynamic advertising. Table 6 below shows the HTML code preferably included in the publisher Web page for this purpose.

1. clFRAME MARGINHEIGHT=0 MARGINWIDTH=0 HEIGHT="60"WIDTH="468" SCROLLING="NO" 2. SRC="http ://client-side component. avenuea. com/coho/cohoframe. html"> 3. <a href="http ://view. avenuea. com/go/test/direct/01"><img 4. src="http ://view. avenuea. com/view/test/direct/01" width=468 height=60> </a> 5. </IFRAME> Table 6

It can be seen that the HTML code shown in Table 6 determines whether the browser in which it is processed supports the IFRAME established by the HTML code shown in Table 6 tags. If so, the browser interprets lines 1-2 in order to retrieve the conditional dynamic advertising inclusion from the URL http ://client-side component. avenuea. com/coho/cohoframe. html. If the browser interpreting this HTML code does not support the IFRAME tag, it interprets line 3-4 to retrieve a conventional banner advertisement from the URL http ://view. avenuea. com/view/test/direct/01. In an alternative embodiment, the IFRAME tag is omitted from the publisher HTML code, which instead unconditionally includes the conditional dynamic advertising inclusion.

In step 803, in browsers that support the IFRAME tag, the facility retrieves the conditional dynamic advertisement inclusion using the reference contained in the requested Web page. Table 7 below shows an example of the conditional dynamic advertisement inclusion.

1. <html> 2. <SCRIPT LANGUAGE="JavaSCRIPT"> 3. if (window. navigator. javaEnabled() == true) 4. { 5. document. write ("<applet code=\"Adlet\"archive=\"Adlet. jar\" 6. codebase=\"http ://client-side component. avenuea. com/coho/\" id=\"Adlet\" width=\"468\" 7. height=\"60\">") 8. document. write ("<param name=S ! teiD 9. value=\"client-side component\"></applet>") <BR> <BR> 10.}<BR> <BR> <BR> <BR> 11. else 12. {document. write ("<a 13. href=\"http ://view. avenuea. com/go/test/direct/01\"target=_top> <img 14. src=\"http ://view. avenuea. com/view/test/direct/01\" width=\"468\" 15. height=\"60\"> </a>") <BR> <BR> 16.}<BR> <BR> <BR> 17. </SCRIPT><BR> <BR> <BR> 18. </html> Table 7

The conditional dynamic advertisement inclusion contains a JavaScript script. The script in line 3 tests whether Java applets are supported by the current browser and have been enabled. If so, lines 5-9 add to the IFRAME established in the HTML code shown in Table 6 an inclusion reference for the dynamic advertising applet. Otherwise, lines 12-15 add a reference to a traditional banner ad to the IFRAME. In additional embodiments, the conditional dynamic advertising inclusion includes additional tests regarding the suitability of the browser and/or the client computer system for supporting dynamic advertising. For example, in one such embodiment, the conditional dynamic advertisement inclusion includes tests for browser versions whose Java virtual machine implementations properly execute the dynamic advertising Java Applet.

In step 804, the facility executes the script in the dynamic advertisement inclusion to determine whether a dynamic advertisement can be presented on the client system, that is, whether the client system supports Java applets. In step 805, if a dynamic advertisement can be presented, then the facility continues in step 807, else the facility continues in step 806. In step 806, the facility retrieves and displays a conventional banner advertisement. After step 806, the steps conclude.

In step 807, the facility retrieves the dynamic advertising applet, also called the client-side component, from the dvnamic advertising server. In step 808, the facility launches the retrieved applet in a separate applet thread. When it executes, the applet displays advertising messages and registers event handlers for user interface events that occur in conjunction with the dynamic advertising region. Execution of the applet is discussed in greater detail below in conjunction with Figure 9. After step 808, the facility, in the browser thread, processes user interface events. In step 809, the facility receives a user interface event. In step 810, the facility identifies an event handler registered to receive the user interface event. For user interface events occurring in conjunction with the dynamic advertising region--that is, for those

events occurring within the boundaries of this region--the facility has registered an event handler for recording the user interface event. In step 811, the facility invokes the event handler identified in step 810. After step 811, the facility continues in step 809 to receive and process the next user interface event.

Figure 9 is a flow diagram showing the steps preferably performed when the dynamic advertising applet is launched in a separate thread in step 808. In step 901, the facility obtains a dynamic advertising script from the dynamic advertising server. The facility preferably uses a script identifier included in the publisher Web page or other similar indicia in order to select one dynamic advertising script from a number of different dynamic advertising scripts available from the dynamic advertising server. In step 902, the facility constructs an internal representation of the script obtained in step 901. In step 903, the facility registers user interface event handlers for subregions of the dynamic advertising region specified in the script. In step 904, the facility retrieves and presents in the dynamic advertising region the initial contents specified by the script. In step 905, the facility initiates retrieval of the next advertising message contents specified by the script. In step 906, the facility sleeps for a display interval period specified by the script, which indicates the amount of time each advertising message in the sequence of advertising messages is to be displayed. In step 907, after awakening at the end of the display interval period, the facility displays the next advertising message content specified by the script, applying any visual transitions specified by the script. In step 908, if the time since the last log upload exceeds a reporting interval specifying how frequently such upload should occur, then the facility continues in step 909, else the facility continues in step 905. In step 909, the facility transmits log entries to the dynamic advertising server. In step 910, the facility deletes the transmitted log entries from the log. After step 910, the facility continues in step 905.

In additional embodiments, in addition to or in place of the test shown in step 908 for determining whether to transmit log entries to the dynamic advertising server, the facility utilizes other tests, including whether the size of the log has exceeded a particular size, such as the size of a packet used to transmit the log entries, or a multiple thereof ; whether the log contains a particular type of entry, such as a mouse-click entry in a particular region ; or any combination of these or other factors.

Figure 10 is a flow diagram showing the steps preferably performed in an event handler registered by the facility to process user input events occurring in conjunction with the dynamic advertising region. In step 1001, the facility adds to the event log an entry describing the current user interface event. Log entry formatting is described in greater detail below in conjunctions with Tables 8 and 9. In step 1002, the facility processes the event if any processing is required for the event.

For example, for mouse-click events, the facility preferably identifies the subregion containing the coordinates of the click, and causes the browser to navigate to a URL specified by the script for that subregion. After step 1002, the steps conclude.

In one embodiment, the event handlers provided by the facility write four different types of log entries, which are described below in Table 8.

Entry Type I-Impression Request ScriptID <tab> Sequence # <tab> Cookie <tab> Entry Type <tab> Time of Impression' Entry Type 2-Image Display Time ScriptID <tab> Sequence # <tab> Cookie <tab> Entry Type <tab> Start Time'<tab> Stop Time'<tab> Image Number from script Entry Type 3-Click ScriptID <tab> Sequence &num <tab> Cookie <tab> Entry Type <tab> Time of Click'<tab> Image Number from script <tab> Region number within image <tab> Click-through URL Entry Type 4-Mouse Over Image Time ScriptID <tab> Sequence # <tab> Cookie <tab> Entry Type <tab> Start Time'<tab> Stop Time'<tab> Image Number from script <tab> Region number within image

'&num of milliseconds since 1/1/1970 Table 8 A sample log corresponding to the example is shown below in Table 9.

1. {3595209E-1558-11D4-934F-OOC04F08320A} 1 949013076-280132 1 956090465522 2. {3595209E-1558-11D4-934F-OOC04F08320A} 2 949013076-280132 2 956090465662 956090467745 0 3. {3595209E-1558-11D4-934F-OOC04F08320A} 3 949013076-280132 2 956090467745 956090470629 1 4. {3595209E-1558-11D4-934F-OOC04F08320A} 4 949013076-280132 2 956090470629 956090477649 0 5. {3595209E-1558-11D4-934F-OOC04F08320A} 5 949013076-280132 4 956090480233 956090480603 1 1 6. {3595209E-1558-11D4-934F-OOC04F08320A} 6 949013076-280132 4 956090480604 956090481595 1 0 7. {3595209E-1558-11D4-934F-OOC04F08320A} 7 949013076-280132 2 956090477649 956090481599 1 8. {3595209E-1558-11D4-934F-OOC04F08320A} 8 949013076-280132 3 956090481600 1 0 httpy/vfww. avenuea. com Table 9 Log entry 1 indicates the retrieval of the binary script from the dynamic advertising server. Log entries 2, 3, 4, and 7 indicate the display of advertising messages. Log entry 8 indicates a click within an advertising message. Log entries 5 and 6 indicate that the user has "moused-over"an advertising message.

It will be understood by those skilled in the art that the above-described facility could be adapted or extended in various ways.

For example, various types of client-side components could be used other than Java applets. Also, the facility may collect a variety of different types of information relating to the user's viewing of an interaction with advertising messages or incident thereto. Further, the dynamic advertising server may do a variety of types of analysis on the data returned by the client-side component, and may, based on such analysis, adjust the performance of dynamic advertising by the client-side component, either by providing a revised script or by issuing other types of instructions.

Also, the facility may present a wide variety of types of advertising messages, including static images ; video sequences ; animation sequences

such as animated GIFs, SHOCKWAVETM animation sequences, FLASHTM animation sequences ; streaming sequences ; and Java- implemented advertising messages, either homogeneously or heterogeneously. While various embodiments of the client-side component that execute in conjunction with a Web browser on a general- purpose computer system are discussed above, various additional embodiments of the client-side component execute in different environments, including such electronically-addressable special-purpose devices as cellular phones, pagers, personal digital assistants, automatic teller machines, televisions and devices connected thereto, and other home and auto appliances, as well as in various additional environments.

While the foregoing description makes reference to preferred embodiments, the scope of the invention is defined solely by the claims that follow and the elements recited therein.