Specification
A SYSTEM AND METHOD FOR PRESENTING MEDIA OBJECTS ON USER- SELECTED DOCUMENTS OBTAINED FROM A COMPUTER NETWORK
Background of the Invention
Field of the Invention
The present invention relates to advertising on Web documents and more specifically to presenting media objects, such as video clips, on user-selected World Wide Web documents. Description of the Related Art Advertising has become a central source of revenue for publishers providing content on television, newspapers and magazines. Today television and radio are completely supported by advertising. Newspapers and magazines receive about 60 to 80 percent of their support from advertising. However, the World-Wide Web has emerged as a new infrastructure permitting publishers to provide content and services over the Internet. These publishers are seeking advertising as revenue sources beyond the revenue they receive for any goods and services they may sell.
A Web document has characteristics that make it different from television and print media in that the Web document can be interactive and can reach a specific on-line user. In some respects the Web document is like a direct mail advertisement because a specific on-line user has requested to display the Web document but it is also interactive, meaning that the user can react in real time to information on a particular Web document by purchasing an item or service. Furthermore, the user can provide information about him or herself which can be used to build a database of demographic data so that advertisements can be targeted to the right on-line user. Thus, Web documents offer the possibility of being better targeted to market segments that the advertiser wishes to reach.
One problem that exists is the sheer number of Web sites. If a particular advertiser wishes to reach a selected audience, this may involve placing his advertisement on a large number of Web sites and confront the advertiser with a difficult ad management problem. One solution to this problem is the creation of advertising networks (ad networks). An ad network provides a means for the advertiser to buy advertising for a large number of sites while being able to specify one or more target audiences for his advertisement. Thus, the ad network benefits the advertiser by allowing the advertiser to buy advertising space in bulk while targeting his audience and it benefits the many publishers, with possibly low traffic documents, because they need only provide advertising space with the ad network rather than with the multitude of
advertisers wishing to use their space but who require a large reach for their advertising expenditure. The job of the ad network then is to build a client base of publishers and client base of advertisers and put them together in a way that makes the best use of the advertising dollar. To carry out this function, the ad network must come up with a source of demographic data, from either its own Web site services or from another independent source of data. It must receive advertising information from the advertiser and provide access to the publishers Web sites within the ad network. The demographic information is used to determine which advertisements to associate with particular Web documents in order to deliver a targeted ad to the on-line user. Currently, the chief types of advertisements being displayed on Web documents are banners, buttons, and animated graphics. Banners are now a common source of advertising on a Web document. Banners comprise a portion of the Web document space and typically involve an eye-catching graphic that has a hyperlink to the advertiser's Web document pertaining to the product or service the advertiser is selling. Some banners are interactive allowing the on-line user a choice he can make within the advertisement. Many banners cause the on-line user to leave the publisher's Web document and go to the advertiser's Web document but other banners perform their function on the publisher's Web document. Buttons are smaller blocks of graphics, placed anywhere on the publisher's Web document and when selected (clicked on) take the online user directly to the advertiser's document. While banners and buttons have worked well for advertisers, advertisers seek a better way to convey their advertising message. Full-motion video is certainly desirable in this respect and television advertising is the premier medium for employing a full-motion video to convey the message. However, television ads are expensive. A single 30 second commercial in prime time costs about $120,000 and may reach 10 million households. This yields a cost of $12 per thousand households. Thus, while the reach is high and the cost per thousand is lower, the total price the advertiser must pay is quite high. Furthermore, a TV commercial is not as targeted as commercials on a Web document and it is difficult to measure the effectiveness of the TV commercial reaching the target audience. On the other hand, a Web document commercial may only cost about $10,000 per month and have reach of about 0.5 million document views for a cost of about $20/thousand document views, where a document view is defined as the number of requests for a particular Web document successfully delivered by the Web document server. This cost is somewhat higher than a television commercial and the reach is smaller, but the overall expenditure is much lower and the commercial may reach a more targeted audience. For
an advertiser, what counts is reaching the targeted audience with the commercial suited to that audience and with measurable results.
To achieve the desirability of a proven medium such as television's full motion video and to gain the desirable features of an advertising on the world wide Web over its many sites, there is then a need to have a full-motion video advertising network which targets an audience based on demographic data. Brief Summary of the Invention
The present invention is directed to a method and apparatus that satisfies the above needs. The present invention brings full-motion video advertising to the well-targeted Web environment and meets the need to have full-motion video commercials received by a targeted audience based on demographic data. One aspect of the present invention is the playing of full- motion video clips in banner advertisements on a publisher's Web document, wherein the full motion video clip is selected based on demographic data about the on-line user viewing the Web document. A method in accordance with an embodiment the present invention includes receiving a plurality of media objects from a server system connected to a network and storing the objects on a client computer system; receiving a plurality of scaled-down documents on the client computer, each scaled-down document pointing to a related, complete document; receiving a selection indication on one of the scaled down documents from the client to select a related, complete document; obtaining, on the client computer system, the selected, complete document from a server on the network in response to the selection indication, where the complete document has a program for determining the presence of a helper module; and executing the program to discover the presence of the helper module. If the helper module is present, the method further includes the helper module locating one of the plurality of stored media objects based on a unique identifier for the complete document and displaying by the helper module the located media object on the document. If the helper module is not present, the method displays a default media object.
Another method in accordance with an embodiment of the present invention includes selecting and marking one or more headlines as enabled for advertising, where each headline has an excerpt from a related document to interest the client in selecting the document, and where a media object is to be viewed on the related document: selecting a list of media objects to be downloaded to and stored by each of the clients, the list of media objects for each client based on demographic information about each client: at the request of the client, downloading a client software program to the client computer, the client software program for managing the stored
media objects: and. at the request of the client software program, downloading the list of media objects, one or more headlines, and the media objects specified in the list to the client computer. A system in accordance with an embodiment of the present invention includes a viewer program for displaying documents obtained over the computer network; a database for storing a plurality of media objects: client software for accessing the plurality of media objects; at least one helper module for playing or displaying the advertising media objects on the client computer system; and at least one media player for playing the full-motion video clip. In some embodiments of the present invention, the media object is a multimedia clip with video and synchronized audio and, in other embodiments, an audio clip or an animated graphic. The helper module displays or causes the display of the media object on the publisher's Web site along with associated artwork, such as a graphic banner, previously received. If a video clip is played, it is viewed as a full-motion video because the source of the video is the on-line user's database and not a remote Internet server which would cause delays in the viewing of the video frames making up the video clip. Another system in accordance with the present invention includes a plurality of media objects such as video clips and graphic banners which include advertising information regarding one or more advertisers; a demographic database for storing demographic data regarding a plurality of clients on the computer network; and a publishing program for determining, based on the demographic data, a list of media objects for delivery to each of the plurality of clients on the computer network, and for delivering, at the request of each client on the computer network, the media objects in the list of media objects for the client.
An advantage of the present invention is that television-like, full-motion video is delivered to targeted on-line users thus making full-motion video available to advertisers instead of just banners and buttons. Another advantage is that the video clips are received by the on-line user prior to the playing of the video clips, so that the user's internet connection is not tied-up delivering the video stream in real-time. This frees up the user's Internet connection for other activities while viewing the video clip. A further advantage is that the video clip or other advertisement can be selectively associated with the particular Web document and typical viewer of that Web document, thus allowing the advertiser to more precisely target his advertising to reach an intended audience without also having to reach unintended viewers of the advertisement. Thus, the benefits of television-like advertising are achieved on the world wide Web and advertisers receive the benefits of full-motion video advertising over a large number of Web documents by dealing with an advertising network to deliver their message. Brief Description of the Drawings
These and other features, aspects and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:
FIG. 1 shows the system setting of the present invention; FIG. 2 shows a block diagram in accordance with the present invention;
FIG. 3 shows various software components utilized in the present invention;
FIG. 4A and 4B show a flow chart depicting the steps in accordance with the present invention; and
FIG. 5 shows a helper module application and supporting objects. Detailed Description of the Invention
FIG. 1 shows a typical configuration of computer systems connected to a computer network 100 such as the Internet in which the present invention operates. On-line users 102, 104, 106, 108 receive documents from one or more network servers 110, 112 connected to network. Some on-line users 106, 108 are connected directly to the network while others 102, 104 are connected to the network via a proxy server 114 and a local area network 116. The network generally follows the client-server model, where the clients are the on-line users 102, 104, 106, 108 receiving the documents and the servers 110, 112 are the storage points in the network providing one or more documents to the clients. Typically, client machines 102, 104, 106 and 108 have local caches for holding previously loaded documents or the proxy server 114 has a cache for holding these documents. This permits the on-line user to quickly move backward or forward among previously viewed documents. While the computer network of the present invention can be any wide area network, the Internet is preferred.
FIG. 2 shows a block diagram of a system 120 in accordance with the present invention. A computer network 138, such as the Internet, connects Load Server module 130 to a Viewer program 132, which is a typical browser such as Navigator or Explorer. Load Server module 130 has access to media objects 134 such as headline objects, graphic banners, video clips and video stills. Headline objects are simplified documents that contain a small portion of text from a complete document accessible on the computer network. Graphical banners are graphical images comprising advertising artwork for a particular vendor. Video clips are encoded video streams with synchronized audio tracks in one or more media player formats. One such format is the format for RealPlayerG2 media player. Video stills are still frames related to the stored video clips.
Load Server 130 also has access to demographic data 136. In one embodiment, demographic data 136 includes a client's age, gender and zip code. In other embodiments, more
detailed client data, including such as a client's annual income range and level of education is used. A list of media objects to be downloaded to a Load Client module 140 connected to the computer network 138 is assembled according to this data. Load Client 140, helper modules 142 and, if necessary, media players 144 were previously loaded onto a client computer system connected to the network 138 in exchange for demographic data 136 from the client. Load Client for a particular client computer system loads the items in a list for that client computer system into the Client Database 146.
The Client Database 146 occupies a portion of the storage system on the client computer system and is managed by the Load Client module 140. Portions of the Client database 146 can reside in a cache managed by the Viewer Program 132.
Viewer program 132 displays or plays the headline objects, documents, banners, video stills and video clips for the client. The viewer program obtains documents 148 via the computer network 138. The viewer program 132, when interpreting a specially enabled document, hands control over to the helper module 142. Helper module 142 has access to the client database 146 to obtain graphical banners, video stills and video clips for display on the document. In one embodiment, helper module 142 is an ActiveX control. In another embodiment, the helper module 142 is a plug-in program, the plug-in program being a modified ActiveX control.
FIG. 3 shows the various software items involved in the present invention. They include the LOAD Client 160, media object and headline object database 162, headline object 164, complete Web document 166 along with a browser 168 to display the Web document 166 and a helper module 170.
As described above, the LOAD Client 160 is a software program that resides on the client machine, having been installed at the request of the on-line user after receiving demographic information from the user in exchange for download privileges. This demographic information helps the network server build a demographics database of LOAD client on-line users. One function of the LOAD Client software is to manage a database 162 of headline and other media objects such as video clips. Headline objects 164 are scaled-down hypertext documents which can include graphics and text associated with a complete Web document. Media objects, such as video clips, are stored in the database managed by the LOAD Client software program 160 and are encoded in a popular format such as the format for RealPlayerG2 or Netshow/Windows Media Player. This encoding includes both a video track and a synchronized audio track, making the video clip a multimedia object. To service the requests of the LOAD Client in carrying out its database management functions, a particular network server
is called upon. This server, running LOAD Server software, delivers to the LOAD Client a list of media objects, like video clips and headline objects, to be downloaded to the client's computer system. The list, which is sent to the LOAD Client, includes both a standard set of media objects and a set based on demographic information about the on-line user at the client computer system. The LOAD Client then collects the media objects and headline objects according to the received list and places them into a local database on the client machine while running in the background on the client's computer system. Some of the headline objects are specially marked as advertising-enabled headline objects, creating, in effect, two separate database areas. One area, a standard magazine, contains the standard headline objects and standard media objects, and the other area, an advertising magazine, contains the advertising- enabled headline objects and advertising media objects. In one embodiment of the present invention, the database for the downloaded media objects and headline objects is an SQL (Structured Query Language) database.
Downloaded along with the LOAD Client are helper modules, such as plug-ins or ActiveX controls. A media player is downloaded as well if it is determined that the preferred media players are not resident on the client computer system. Otherwise, if the RealPlayerG2 media player is available, it will be used. If a RealPlayerG2 media player is not available but a NetShow/Windows Media Player is present then that media player is used by the helper modules. The helper modules manage and control the proper media player to view the downloaded media objects on the client computer system. Also included in the database management functions of the LOAD client is the retrieving of location information for a media object in the database given an URL (uniform resource locator) for a particular Web document as input, when the network is the Internet.
Headline object 164, in one embodiment, has several sections 164a-d. One section 164a has a still frame from a video clip stored the standard magazine (database) of the LOAD client. A second section 164b is a headline summarizing one or more lead items on a complete Web document to which the headline object points via section 164c. A final section 164d has a control panel for navigating through a plurality of headlines and video clips in the standard magazine. As discussed above, headline objects 164 in the advertising magazine (database) are specially marked as advertising headlines. This special marking appends information to the URL of the headline object to prevent the headline object from playing a standard magazine video clip in its video area if the headline object is selected by the on-line user. Instead, for these objects, an association is maintained in the database between the media object appropriate to the headline object and the complete Web document to which it points. Typically, a headline object employs
a standard helper module to play the video clip from the standard magazine in the video area of the headline object. To play the advertising media object of the present invention, one of the downloaded helper modules is used as discussed below.
Document 166 shown in FIG. 3 contains an in-line program 166a to locate the presence of a particular helper module and, if present, to embed the helper module into the document, a banner section 166b and a publisher's content section 166c. In one version of the present invention, the program that locates the presence of the particular helper module is a JavaScript program. Banner section 166b is a display area within the Web document under the control of the helper module 170. The helper module can be either an embedded ActiveX control or a plug- in program. In one embodiment, the plug-in program is a modified version of the ActiveX control, the modification adapting the ActiveX control to the Navigator browser.
Helper module 170 has the functions of (a) requesting a video clip, video stills, or other media objects from the LOAD Client database 122 by submitting an URL, in the case of the Internet, to the LOAD Client software 120, (b) receiving location information to access the media object, (c) displaying a banner 166b on the complete document; (d) managing the display of the media object 166d in the banner section 166b of complete document 166 and (e) reporting back to the LOAD Server the viewing statistics of the media objects stored on the client machine. In one version of the invention, the helper module is capable of playing a full-motion video clip stored in the database managed by the LOAD Client by invoking a media player for the video clip. As discussed above, one or more helper modules 170 in the form of plug-in programs or ActiveX controls are loaded when the LOAD Client software is established on the client computer system. These modules are then made available to the browser software 168 running on the client computer system as the browser interprets the complete Web document 166. One version of the present invention operates according to the flow of events shown in
FIG. 4A for the client side and FIG. 4B for the server side.
Referring to FIG. 4 A, the flow of events starts at step 200 in which a plurality of media objects are loaded from a network server into the storage system of the client computer. Next, in step 202, a plurality of scaled-down hypertext documents (the headlines) are received by the client computer. In step 204, the client reads through the headlines and selects one of interest. Selection causes the browser on the client system, in step 206. to obtain a document related to the headline and to interpret the document. If the headline is enabled for advertising, the document has an in-line program for determining the type of browser, e.g.. Netscape or Internet Explorer (IE) in the case of the World Wide Web on the Internet, in operation and whether the
helper module appropriate to the browser type is loaded and available on the client system as determined in step 210. If the browser is Netscape and a plug-in is loaded and available, the plug-in is embedded into the document via an EMBED tag. If the browser is IE, then the ActiveX control is embedded into the document via an object tag. In either case the proper helper program is embedded into the document in step 214 and control is passed to the helper module.
The helper module, in step 216, locates one of the stored media objects in the client database on the client computer system. This is accomplished by helper module submitting an URL to the LOAD Client software and receiving location information, e.g., a pointer, for the media object. In step 218, the helper module application displays or plays the located media object, a graphic banner, on the Web document and in step 220 the helper module displays a video clip at a position on the graphic banner. In one embodiment of the present invention the media object is a full-motion video presentation.
The flow of events on the server side is shown in FIG. 4B. The server or server system that runs the LOAD Server software, in step 240, selects and marks one or more of the headline objects as enabled for advertising. Then, in step 242, the server selects a list of media objects, to be downloaded to and stored by each of the client computer systems. In step 244, the LOAD client software is downloaded at the request of the client and upon the request of each LOAD Client, the server delivers, in step 246, a list of media objects, headlines, one or more helper modules and media objects specified in the list, to each client computer system. Finally, in step 248, the server receives reports from each of the client computer systems regarding the viewing statistics of the media objects. The server system of the present invention is not involved in sending video data in real-time over the connection between the server and the client computer system because the video data is stored locally on the client computer system. This permits the Internet connection to be free for other activity while the client is viewing the video clips and assures that the video clips run smoothly creating the effect of a TV-like advertisement.
As discussed above, one version of the present invention employs an ActiveX object for the Internet Explorer browser to play a full-motion video clip on a particular Web document. This ActiveX object 300 is shown in FIG. 5. The object has the methods shown for carrying out the function of displaying a banner on a document and playing a full-motion video clip on the banner. A short description of the important methods of the control follows.
The method UpdateRegistry ( ) registers the ActiveX object with the operating system registry. Method OnDraw ( ) redraws an area on the document controlled by the
ActiveX object. FreeVideoPlayerMemory ( ) de-allocates memory when the object is not needed. OnResetState ( ) initializes properties of the object.
LoadVideoPlayer ( ) loads a particular media player, 302 or 304 into memory. VidSt ill . Create ( ) makes a window for a video still image visible on the document and BannerStill . Create ( ) makes a window for a graphic banner visible on the document. LoadiTanFiles ( ) loads the still image and the graphic banner onto the document and obtains location information for the video clip.
GetBrowserPath ( ) obtains the path for the default browser. SetTimer ( ) is a timer function that causes an event after a given time period. PlayVideo ( ) hides the video still window and plays the video clip and
StopVideo ( ) pauses the play of the video clip. OnEndof Stream ediaPlayer ( ) hides the video clip and makes the video still window visible again. GetBANNERURL ( ) and SetBANNERURL ( ) , respectively, get and set a string containing the URL associated with the graphic banner. ChecklmageMap ( ) operates to play or pause the video clip depending on selections to buttons controlling the play of the video. OnSet Cursor 0 is a method which catches selections to play or pause buttons controlling the play of the video clip.
Finally, OnCreate 0 is a top level method which employs the above methods to display a banner, a video still on the banner, hide the video still, and play the video clip.
When the browser discovers a reference to an ActiveX object in the Web document, it creates an instance of the object in the operating system registry and embeds the instance into the document. The ActiveX control created an entry in the system registry when it was downloaded and installed onto the client computer system. This latter function is performed by the UpdateRegistry ( ) method of the control.
When the control is activated, a set of parameters in the complete web document is used to setup the initial state of the control. An important parameter used by the ActiveX control in this case is the BannerURL, which identifies the source providing the banner, usually the owner of the complete web page document, and a particular media object associated with the banner to be displayed on the complete web document. Activation of the control allocates memory for an instance of the control of the class registered in the Windows registry. This allocation also initializes important internal data in the control. Activation of the control as an event triggers an event handler OnCreate ( ) whose functions are to:
(a) load the proper media player into memory (actually create an instance of the media player object) via LoadVideoPlayer ( ) ;
(b) create a video still window in the banner in which the video clip is to be played via
VidStill . Create 0 ,
(c) create a banner area for the complete web document via BannerStill . Create ( ) , (d) load any needed files or paths to files such as banner images, video stills and video clips via LoadiTanFiles ( ) ;
(e) display the banner image; and
(f) set a timer to play the video clip after short time period via SetTimer ( ) . As stated in (f) when timer's time period ends the video clip is played by calling the PlayVideo ( ) method. This method determines the video clip format and based on that determination initializes and then calls the proper media player. In one embodiment of the present invention, the media clip is a RealPlayerG2 type clip and the G2 media player is initialized and made active. Other video clip types are playable so long as the corresponding media player is available on the LoadClient. Once the play of the video clip is started, it can be paused by a mouse click on a control button of the ActiveX control. The click is caught by another event handler, StopVideo ( ) , which determines how much play time is remaining for the clip, so that the clip resumes where it left off. Restarting the media player is accomplished by the event handler PlayVideo ( ) . When the video clip play ends, another event handler OnEndOf StreamMediaPlayer ( ) , is invoked which updates statistics about the view time of the video clip, hides the media window in which the clip was played and shows the still window which displays the still frame.
The video clip may be played again by clicking on the banner. This invokes an event handler ChecklmageMap ( ) to play the video by calling PlayVideo ( ) . Thus, the advantage of delivering full-motion video to targeted on-line users is accomplished. Full motion video is delivered by storing media objects, such as video clips, on the client computer system so that they are played locally by the helper program and media player without delays or interruption. Targeted on-line users receive the full-motion video advertisements because media objects are delivered to the client computer systems based on the demographics of the user on that system. The advantage that the client computer system network connection is not tied up during the play of a video clip is realized by having the demographically targeted video clips stored on the client computer system. The further advantage that the video clip is selectively associated with a particular Web document and typical viewer of that document is realized by associating a video clip with the URL of the
document. These and other advantages help realize the benefits of television-like targeted advertising on the Word Wide Web.
Although the present invention has been described in considerable detail with reference to certain preferred versions thereof, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein.