Abstract:
A method and system to identify an ability of a computer system to playback media content locally. The system progresses through media content playback applications by querying the computer system over a computer network. The system progresses through the applications to assess an ability of the computer system to playback the media content locally. Finally, the system provides the computer system with a version of the media content appropriate for the ability of the computer system to playback the media content locally. The version of the media content is a media file.

Description:
RELATED APPLICATIONS 
     The present patent application is a continuation of U.S. patent application Ser. No. 11/184,774 filed Jul. 20, 2005 now U.S. Pat. No. 7,721,482 and entitled “METHOD AND SYSTEM FOR PROVIDING RICH MEDIA CONTENT OVER A COMPUTER NETWORK”, which is a continuation of U.S. patent application Ser. No. 09/693,867 filed Oct. 23, 2000 and entitled “METHOD AND SYSTEM FOR PROVIDING RICH MEDIA CONTENT OVER A COMPUTER NETWORK,” which issued as U.S. Pat. No. 6,985,934, and which applications are incorporated herein by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention is directed to a method and system for providing rich media content over a computer network and more particularly to a highly reliable, transparent process for displaying high-quality online advertising imagery. 
     2. Related Art 
     Computer networks, including the Internet, are a new and rapidly growing means of communication. There are currently over 300 million network users worldwide, and that number is expected to double in less than five years according to the Computer Industry Almanac (www.c-i-a.com). Because of their numbers, and because they are believed to be high-end consumers, users of the Internet and other computer networks are an attractive audience for advertising messages. According to figures from the Internet Advertising Bureau (“IAB”; www.iab.net), expenditures for Internet advertising are growing even faster than the number of network users—at almost 25 percent per quarter—and currently total over $7 billion per year. 
     The current standard for Internet advertising is the banner ad, a cartoon-like color image that occupies a fixed part of a web page. Banner ads usually come in one of a small number of standard sizes, and they sometimes include crude animation created by rapidly and repeatedly superposing a small number of images in the same space. Banner ads comprise the majority of Internet advertising-historically over half of total expenditures and around three-quarters of that on discrete ads (as opposed to sponsorships) according to the IAB. 
     The content of a banner ad image is contained in a computer file that is interpreted and displayed by a network user&#39;s web-browser program (e.g., Netscape Navigator, Microsoft Internet Explorer). Almost all banner ad files use the GIF89a format, which can be interpreted and displayed by all major web-browser programs currently on the market. 
     Each banner ad&#39;s file, plus the file containing the content of the host web page itself, must be transmitted to, and stored on, a network user&#39;s computer before the complete web page (ads and content) can be displayed. There may be many—sometimes dozens—of banner ads on a page, and advertisers often demand that the page be configured to display the ads first. To keep network users from waiting too long to see the content of their pages, web page owners frequently impose limits on the size of the banner ad files they will accept. These limits, in turn, sharply constrain the appearance of banner ads, e.g., by reducing the number of images per ad or the number of items per image, or by restricting the variety of colors or level of detail in an item or image. 
     Such limitations have combined to reduce the effectiveness of banner ads in two ways. First, they are—and because of file size limitations must remain—crude. Because banner ads are typically simple cartoons in an environment of increasingly rich and complex media, the viewing audience is becoming less responsive to the ads. The average “click-through” rate, the rate at which viewers respond to a banner ad by “clicking” on it and being transferred to the web site advertised by the banner, is falling rapidly—by almost an order of magnitude during the past five years, according to contemporary estimates in  Advertising Age  magazine. Secondly, despite limitations on their file sizes, banner ads often delay viewing of web page content to the point that users routinely redirect their browsers away in frustration; the very presence of the ads lowers their own viewership. Dwell-time, a measure of the time an average network user spends looking at a single page, is also declining. 
     In brief, banner ads, though they dominate advertising on the Internet and are so much the standard that they are directly interpretable by every major web-browser program, are an obsolete and increasingly self-defeating technology. 
     Advertisers, aware of the limitations of banner ads, have tried two approaches to improve upon them. The first approach is to replace the cartoon-like banner ad images with video ads, i.e., online ads that use moving, photographic-quality images rather than simple single images or series of a few simple single images. The second approach, referred to generally as interstitial ads, sometimes called pop-up ads, avoids some of the technical problems of banner ads and video ads by effectively separating the interstitial ads from their host web pages. Both approaches, though, like the banner ad approach, have run into technical and consumer-response barriers. 
     Video ads, unlike GIF89a-format images, cannot be displayed directly by web-browser programs. Instead, they are encoded in one of several specialized formats (e.g., MPEG, QTF, AVI) and are displayed by separate—and similarly specialized—video replay programs. Such video replay programs are separate from the web-browser programs, but they are compatible with the browsers and sometimes are referred to as plug-ins to the browsers. Some replay programs are distributed with computer operating systems, while others are available separately, either for free or at a cost. Some replay programs can interpret more than one format, although none can interpret even a large minority of the existing variety of formats, and file formats are different enough that any multi-format program is essentially a package of single-format programs. Because of the multiplicity of formats and distribution methods, and because many formats are in fairly wide use, it is unlikely that any single standard will emerge in the near future. In other words, unlike GIF image technology, the technology of computer video replay is non-standardized and is functionally complicated, and it is likely to remain so. 
     To view a video, a user&#39;s computer must receive at least part of the file and then activate and run a compatible replay program. This process frequently includes one or more “dialogues” between the computer and the user. For example, if the file is to be stored and then replayed, the user must specify a storage name (or approve the computer&#39;s choice) and then activate the replay. If the computer cannot determine which replay program to use, the user must specify it. And if there is no compatible replay program on the computer, the user must either cancel the replay or spend time (and possibly money) identifying, locating, and obtaining one. The complexity and time requirements of this process can be daunting even if the user actively seeks to view the video; for advertising, which needs to be entirely passive and nearly instantaneous, these are major barriers. 
     Another barrier to the use of video ads is imposed by the sheer size of most video files. Video images, like any other computer data, are stored and transmitted as computer files. Because of the complexity of the images (color, resolution, etc.) and the number of images in a file (usually thousands), video files typically are very large. For example, a word-processing document file may be on the order of a few dozen kilobytes (KB), and a typical web page file may be around a hundred KB, but even a thirty-second video will require a file size of thousands of KB (i.e., several megabytes, or MB). Using a standard telephone modem connection, whose transmission rate is limited by telephone technology and federal regulation, not by computer modem technology, a file of even a few megabytes can require many minutes to receive and store. For example, with a 56K modem and an effective transmission rate of over 50K, transmission requires at least three minutes per megabyte. Faster connections (e.g., via DSL or institutional intra-net) reduce this time substantially, but not so much that the file transmission does not cause a noticeable interruption. Further, those types of connections are available to only a portion of the user population. As noted above, computer users are becoming increasingly impatient with any delay, especially for the sake of advertising, and in any case most advertisers are unwilling to limit their messages to only a portion of the population. 
     To address the problem of file size, specialized protocols were developed that allow near-real-time playback. Sometimes called streaming, these protocols begin playback when only a portion of the file has been transmitted and stored on the user&#39;s computer (i.e., buffered). Later portions of the file are transmitted as earlier ones play back, and the parameters of the process are calibrated so that, if transmission is not interrupted, playback is continuous. The practical flaw in this approach is that transmission, particularly of large files, frequently is interrupted. Net congestion, transmission errors requiring retransmission, competing demands on the transmitting computer, and other causes, can interrupt the transmission flow long enough that the buffer is completely played out, and then playback stops until enough new data have been received. The effect on the user is that streaming video (or audio) either is occasionally interrupted by long pauses or has a jerky quality caused by frequent micro-pauses (the former with a large buffer size and the latter with a small one). These types of interruptions are unacceptable to advertisers, whose imagery requires seamless replay. Further, streaming video is subject to the same requirements as non-streaming video for identifying, obtaining, and/or activating a compatible replay program. 
     U.S. Pat. No. 6,029,200 to Beckerman et al. discloses a process that uses streaming video and provides a more automated approach to selecting a replay program. The “client” computer (e.g., the network user&#39;s computer) is offered a list of multiple versions of a video file, each in a different format, in a predetermined order, until a compatible format—if any—is found. This makes it more likely that the video eventually can be viewed by the user, but it requires the user&#39;s computer to know how to interpret and choose among the list of “offers,” which presumably requires specialized software. It is not clear how noticeable the process would be to the user (e.g., delay, “dialogues”), and because it applies only to streaming video, the process does not address the problem of interruptions in playback. It thus can be considered another format, albeit a somewhat generalized one, but with questionable application to advertising. 
     Processes developed more recently by bluestreak.com, Inc. (www.bluestreak.com) and AudioBase, Inc. (www.audiobase.com) also use streaming, and they circumvent the replay compatibility issue by transmitting their own replay programs along with the data files. These are examples of the usage of “push” technology, as used, e.g., in U.S. Pat. No. 5,740,549, issued Apr. 14, 1998 to Reilly et al. These processes are reasonably rapid—although still noticeable to the user—because neither handles full video; bluestreak offers audio, GIF-like animation, and other cartoon-like special effects, and AudioBase handles strictly audio. Both also are subject to the problems of streaming, such as “stuttering” and interruptions in playback. They thus are suitable for certain narrow, specialized forms of advertising, but their transmission delays are still non-negligible, and like other uses of streaming, their unreliable replay renders them problematic for advertising. 
     In summary, attempts to date to put video advertising onto Internet web pages have largely failed because of two fundamental technical characteristics of computer video—lack of standardization and very large file size—and their implications. Computer users are generally unwilling either to wait for large files to be transmitted or to take active steps to ensure a smooth replay, especially for the sake of viewing an advertisement. Advertisers are unwilling to spend money and effort on technologies that cannot reliably deliver uninterrupted imagery to a wide audience. What would satisfy both users and advertisers, but is lacking in the prior art, is a means for reliably delivering video ads without any interruption of the user&#39;s viewing experience. As a consequence, video advertising has been and remains a small and static fraction of all Internet advertising; expenditures on video have consistently been just a few percent of the total. 
     Interstitial advertisements—sometimes called pop-up ads—bypass some of the technical problems of on-page banner ads and video ads by effectively separating the online ads from their host web pages. The content of an interstitial ad is transmitted separately from those of its host web page. Transmission begins immediately after the host web page has been fully transmitted and while it is being displayed (i.e., during the “interstices” between other web page transmissions), and it may continue once the ad itself has begun displaying. The ad is displayed in a new “window” or other dedicated display area, either immediately after the host page is fully displayed (thus “popping up” in front of the host page) or when the user signals that he/she has finished reading the host page by closing it or activating a link to a new page. Interstitial ads can include GIF images, video, audio, or any other web page elements; they are essentially specialized web pages comprised entirely of advertising. Because they are transmitted separately, they do not delay the display of the host web page, and because the user presumably is occupied for some time reading the host web page, the ads can take much longer to transmit than on-page ads without seriously annoying the user. 
     Interstitial transmission of advertising is taught in U.S. Pat. No. 5,305,195, issued Apr. 19, 1994 to Murphy, for use on specialized computer terminals such as bank ATMs and school registration stations. More recent applications include U.S. Pat. No. 5,913,040, issued Jun. 15, 1999 to Rakavy et al.; U.S. Pat. No. 5,737,619, issued Apr. 7, 1998 and U.S. Pat. No. 5,572,643, issued Nov. 5, 1996, to Judson; and U.S. Pat. No. 5,604,542, issued Feb. 18, 1997 to Dedrick. 
     The principal problem with interstitial ads is that, as dwell time statistics show, users&#39; patience still limits the time available for transmission. While a user is reading the host page, there typically is sufficient download time for banner ads, other GIF images, other static images, simple animations, a streaming video buffer, and usually audio and other animated elements and associated programs such as those produced by the bluestreak and AudioBase processes. However, there is not sufficient time to transmit more than one buffer worth of a video file, and there is no opportunity to create a “dialogue” with the user until the interstitial ad is displayed. Consequently, both the number and the type of elements in an interstitial ad are constrained. Additionally, interstital video ads are also subject to the same problems of non-standardization and display reliability as with on-page video ads. 
     A process developed by Unicast Communications Corp., disclosed in International Publication No. WO 99/60504, published Nov. 25, 1999, partially addresses these problems by installing a program on the user&#39;s computer that ensures that transmission of ads (and accompanying playback programs if any) is as “polite” as possible. The concept of “polite” transmission—i.e., file transmission minimally noticeable to the user—avoids some of the problems associated with streaming by fully storing (or caching) ads on the user&#39;s computer before displaying them. The Unicast program also checks that any necessary playback programs are available on the user&#39;s computer before the ad is displayed. However, such a process is not practically applicable to video ads, because large files take a long time to transmit no matter how politely, and video replay programs are even larger than video ads and are seldom available for transmission along with them. It is also as yet unclear whether such a powerful program will be fully compatible with most network users&#39; operating systems and browser programs, or whether privacy concerns will limit its functionality or popularity. 
     Overalls while interstitial ads solve some of the problems of computer network advertising, they as yet have shown only partial success at dealing with the non-standardization and file size issues associated with video ads, or with file sizes in general. Attempts to create a “smart” solution have only added new problems. At least partially as a result, interstitials historically have accounted for less than a tenth of Internet advertising expenditures, and that share has shrunk by almost half in the last year according to the IAB. 
     In summary, what is needed but is missing in the prior art, is a highly reliable, entirely transparent process for displaying high-quality rich media content over a computer network. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         FIGS. 1A-1E  show a computer network according to the present invention at various steps during a method for providing rich media content across a computer network according to the present invention. 
         FIGS. 2A-2C  are various embodiments of a client display area according to the present invention. 
         FIG. 3  is a process diagram of the method for providing rich media content across a computer network according to the present invention. 
         FIG. 4  is a block diagram of an example computer system useful for implementing the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     A preferred embodiment of the present invention is now described with reference to the figures, where like reference numbers indicate identical or functionally similar elements. Also in the figures, the left most digit of each reference number corresponds to the figure in which the reference number is first used. While specific configurations and arrangements are discussed, it should be understood that this is done for illustrative purposes only. A person skilled in the relevant art will recognize that other configurations and arrangements can be used without departing from the spirit and scope of the invention. It will be apparent to a person skilled in the relevant art that this invention can also be employed in a variety of other devices and applications. 
       FIG. 1A  shows a computer network  101  according to the present invention, consisting of a system of electronic devices connected either physically or wirelessly, wherein digital information is transmitted from one device to another. Such devices may include, but are not limited to, a desktop computer, a laptop computer, a handheld device, a telephone, a set top box, or an Internet appliance.  FIG. 1A  shows a client  102 , defined as a computer program resident on a computer system, an item of hardware, or an electronic appliance that sends and receives digital information via computer network  101 . Also shown is a server  103 , defined as a computer program resident on a computer system, an item of hardware, or an electronic appliance that sends and receives digital information via computer network  101 . The role of server  103  shown in  FIG. 1A  may in some cases be played by more than one actual server, as would be apparent to those skilled in the relevant art. 
     Server  103  also includes a memory  110  which stores digital files, including but not limited to software and data files. Specifically, memory  110  may contain one or more rich media files  105 , defined as any electronic media content that includes moving images, video with or without audio, a sequence of images captured from frames of film, frames of video, or animated shapes. “Rich”, in general, denotes electronic media information that includes more than only text or audio. Rich media files  105  are stored in the form of digital computer files. In the preferred embodiment, rich media file  105  is a 5-10 second video advertisement in the form of a highly compressed electronic file. Rich media files  105  can be stored, transmitted or displayed using a variety of proprietary and nonproprietary electronic file formats, such as QuickTime, Windows Media Player, GIF89a, Flash, AIFF, WAV, RealAudio, RealVideo, or any of a number of file formats now emerging for wireless devices, such as HDML, WML, BMP, or formats associated with WCA, and other formats known to those skilled in the relevant art appropriate to various software, hardware, and electronic appliance display systems. The particular file format does not substantially affect the content of rich media file  105 . Rich media files  105  may be previously created and stored in memory  110 , or may be created “on-the-fly” in response to the requirements of client  102 . As discussed below, the same rich media file  105  is stored in a number of different file formats ( 106 -A,  106 -B . . .  106 -X) in memory  110  to facilitate the transfer and display of rich media file  105  across computer network  101  according to the present invention. 
     Client  102  also includes a memory  104 , that is entirely contained within, or is entirely a part of client  102 , which stores digital files, including, but not limited to, software and data files. A subset of client memory  104 , local cache  107 , is defined as that portion of client memory  104  that is used for temporary storage of data files received over computer network  101 . 
     The process according to the present invention is initiated at a step  301 , as shown in  FIGS. 1A and 3 , by client  102  becoming connected to server  103 , for example a desktop computer user being connected to a web site using a web browser. 
     Next, at a step  302 , as shown in  FIGS. 1B and 3 , server  103  sends a query  108  to client  102 . Query  108  is a communication wherein server  103  requests data from client  102  regarding the presence or absence of specific software and/or hardware that are required to display rich media file  105 , that has been prepared in specific file formats  106 -A,  106 -B . . .  106 -X. In one embodiment, query  108  is performed by progressing, via one or more connections with client  102 , through a set of preferred rich media content playback applications to assess the local playback capabilities of client  102 . In the preferred embodiment, this procedure is transparent to the user, meaning that the user is not required to take action to initiate this step, and the process is not noticeable to the user. 
     At a step  303 , as shown in  FIGS. 1C and 3 , client  102  responds to query  108  with response  108   b , indicating, for example, in the example shown in  FIGS. 1A-1E , that software and/or hardware required to display rich media file  105  prepared in formats  106 -C and  106 -E are available. In the preferred embodiment, this procedure is transparent to the user, such that the user is not required to take action to initiate this step, and the process is not noticeable to the user. 
     Determining the ability of client  102  to playback rich media file  105  may, in an alternative embodiment, be implicitly accomplished, by sending rich media file  105  via a particular computer network  101 , or in a particular file format, or toward a particular device or electronic appliance, where the ability of client  102  to playback rich media file  105  could be assumed. For example, in one embodiment, information about the technical environment of client  102  may be known by virtue of the connection established between client  102  and server  103  over computer network  101  (e.g. it may be known that client  102  is connected to server  103  from a computer, using a browser, over the internet, or that client  102  is connected to server  103  from a handheld device, such as a Palm VII device, over a wireless network.) If such information about the technical environment of client  102  is sufficient to make a determination of the appropriate file format in which to send rich media file  105  to client  102 , steps  302  and  303  may be skipped. 
     At a step  304 , as shown in  FIGS. 1D and 3 , server  103  compares response  108   b  to a predefined schedule  109  of rich media file formats  106 -A,  106 -B . . .  106 -X. Schedule  109  contains a predefined preference ranking of the various available rich media file formats  106 -A,  106 -B . . .  106 -X. The reason a preference may exist for one file format over another is that one file format may offer the client  102  higher video quality, audio quality, speed of download, or other features, than another format. In the preferred embodiment, this procedure is transparent to the user, such that the user is not required to take action to initiate this step, and the process is not noticeable to the user. As an alternative to step  304 , an appropriate format of rich media file  105  can be created “on-the-fly” by generating a script for rich media content  105  compatible with the local playback capabilities of client  102 . 
     Based on the comparison at step  304 , rich media file  105  is sent to client  102  in the preferred file format at a step  305 . As shown in  FIG. 1D , for example, rich media file  105  in file format  106 -C is downloaded from server  103  to client  102 . In the example shown in  FIGS. 1A-1E , while both file format  106 -C and file format  106 -E were determined to be suitable for playback on client  102 , because file format  106 -C is ranked higher than file format  106 -E in schedule  109 , server  103  transfers rich media  105  in file format  106 -C from memory  110  of server  103  to memory  104  of client  102 . In the preferred embodiment, this procedure is transparent to the user, such that the user is not required to take action to initiate this step, and the process is not noticeable to the user. 
     In the preferred embodiment, in the event that response  108 B from client  102  did not match any of the file formats  106 -A,  106 -B . . .  106 -X available in schedule  109 , or if response  108 B from client  102  did not match any of the file formats  106 -A,  106 -B . . .  106 -X ranked above a certain preference level, server  103  will not send rich media file  105  to client  102 , as shown at a step  305   a . Since the process according to the present invention, in the preferred embodiment, is transparent to the user, the user would not be aware that the transfer of rich media file  105  was unsuccessful. 
     At a step  307 , as shown in  FIGS. 1E and 3 , after the entirety of rich media file  105 , in preferred file format  106 -C, has been completely loaded into local cache  107  of client  102 , as shown in a step  306 , rich media file  105  may be displayed. For example, as shown in  FIGS. 2A-2C , rich media file  105  may be displayed in a designated display area  202  of a physical display area  200  of client  102 . 
     Designated display area  202  is defined as a region, screen, or application window that is used for displaying rich media content  105 , and is distinct from content display area  201 , previously being viewed by a user in physical display area  200 . Physical display area  200  is the total area of an electronic device which is dedicated to and available for displaying information, such as a computer&#39;s monitor or a cellular phone&#39;s LCD display screen, whereas content display area  201  is defined as the part of physical display area  200  actually being used to display content at a given moment. In the case of a small handheld device, display areas  201  and  202  may occupy the same physical space (e.g. the entirety of physical display area  200 ) as shown in  FIG. 2A , or all or part of a “layer” of visual content within physical display area  200 , as shown in  FIGS. 2B and 2C , superimposed over a portion of a preexisting content display area  201  (e.g. a main browser window) of client  102 . 
     Regardless of the physical space occupied by rich media content  105 , the designated display area  202  is separate in the sense that it can be manipulated (replayed, dismissed, forwarded to another user, etc.), as described below, without affecting the remainder of the content being viewed by the user. As shown in  FIGS. 2A-2C , controls  203  may be provided for manipulating rich media content  105  at a step  308 . Controls  203  may be implemented in a variety of manners, including but not limited to, mechanical buttons, onscreen representations of buttons, onscreen menus, keystrokes, pen-based input methods, voice commands, ocular movements, a menu bar, navigation bar, or toolbar. Types of manipulation that might be performed may include the ability to replay; to turn any associated sound on or off; to turn any associated video on or off; to close or dismiss rich media content  105 ; to respond to rich media content  105  by redirecting the software, hardware, or electronic appliance to another source for electronic information on computer network  101 ; to respond to rich media content  105  by acknowledging receipt; to respond to rich media content  105  by answering a question; and/or to store rich media content  105  or a reference to rich media content  105  for future viewing by user. Additionally, rich media content  105  or a reference to rich media content  105  may be forwarded to another user by entering the email address, location, address, or other contact information for such other user, either manually or through referencing a list of predetermined recipients. Forwarding may mean simply including the sending of a reference to rich media content  105  (such as a URL, an alias, a pointer, or other means of locating files on a computer network), or the actual transfer of rich media file  105  to the other user. In the context of online advertising, forwarding to additional users increases the overall exposure to the advertisement&#39;s message. Therefore, a user may be encouraged to forward rich media content  105 , for example, by the amusing or entertaining nature of rich media content  105 , or through incentives, premiums or discounts offered for forwarding. Additionally, the address or coordinates of recipients of rich media  105  may be stored on computer network  101  (e.g. in a database on server  103 ), for future use by advertisers to target specific groups of individuals. 
     The present invention may be implemented using hardware, software or a combination thereof and may be implemented in one or more computer systems or other processing systems. An example computer system  400  useful in implementing the present invention is shown in  FIG. 4 . The computer system  400  includes one or more processors  404 . Processor  404  is connected to a communication infrastructure  406  (e.g., a communications bus, cross-over bar, or network). Various software embodiments are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures. 
     Computer system  400  may include a display interface  402  that forwards graphics, text, and other data from the communication infrastructure  406  (or from a frame buffer, not shown) for display on a display unit  430 . 
     Computer system  400  also includes a main memory  408 , preferably random access memory (RAM), and may also include a secondary memory  410 . The secondary memory  410  may include, for example, a hard disk drive  412  and/or a removable storage drive  414 , representing, for example, a floppy disk drive, a magnetic tape drive, or an optical disk drive. Removable storage drive  414  reads from and/or writes to a removable storage unit  418  in a well-known manner. Removable storage unit  418 , for example a floppy disk, magnetic tape, or optical disk, is read by and written to by removable storage drive  414 . As will be appreciated, removable storage unit  418  includes a computer usable storage medium having stored therein computer software and/or data. 
     In alternative embodiments, secondary memory  410  may include other similar means for allowing computer programs or other instructions to be loaded into computer system  400 . Such means may include, for example, a removable storage unit  422  and an interface  420 . Examples of such may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units  422  and interfaces  420  which allow software and data to be transferred from removable storage unit  422  to computer system  400 . 
     Computer system  400  may also include a communications interface  424 . Communications interface  424  allows software and data to be transferred between computer system  400  and external devices. Examples of communications interface  424  may include a modem, a network interface (such as an Ethernet card), a communications port, and a PCMCIA slot and card. Software and data transferred via communications interface  424  are in the form of signals  428  which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface  424 . These signals  428  are provided to communications interface  424  via a communications path (i.e., channel)  426 . This channel  426  carries signals  428  and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels. 
     In this document, the terms “computer program medium” and “computer usable medium” are used to generally refer to media such as removable storage drive  414 , a hard disk installed in hard disk drive  412 , and signals  428 . These computer program products are means for providing software to computer system  400 . The invention is directed to such computer program products. 
     Computer programs (also called computer control logic) are stored in main memory  408  and/or secondary memory  410 . Computer programs may also be received via communications interface  424 . Such computer programs, when executed, enable the computer system  400  to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor  404  to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system  400 . 
     In an embodiment where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system  400  using removable storage drive  414 , hard drive  412  or communications interface  424 . The control logic (software), when executed by the processor  404 , causes the processor  404  to perform the functions of the invention as described herein. 
     In another embodiment, the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art. 
     In yet another embodiment, the invention is implemented using a combination of both hardware and software. 
     The method according to the present invention allows for a highly reliable, entirely transparent process for displaying high-quality online advertising imagery. While a number of embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. For example, while the above embodiments have focused on the application of the method according to the present invention to the display of online advertisements, the method according to the present invention also can be used to provide other forms of rich media content to a user over a computer network, as would be apparent to those of skill in the relevant art. Thus the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.