PUSH ADVERTISING MODEL USING MULTIPLE DIGITAL STREAMS

Abstract: A method and mechanism for selecting and conveying ads in an interactive television system. An ad stream is conveyed concurrently with a broadcast programming stream in an interactive television system. The ad stream includes multiple streams of ads wherein each stream of ads includes multiple ads. An ad selector mechanism detects programming and ad requests. Requests may be indicated by a viewer, a receiver cue, or by an interactive application. Based on programming and ad selection data, a viewer profile is created which may be used to select targeted ads for display. In response to a detected request, the ad selector mechanism searches the ad stream for an ad to meet the request. An ad is selected according to a viewer profile or a particular viewer action. The selected ad may be used to meet the request by filling an unused avail or by providing further information to a viewer. A particular ad may appear in more than one of the multiple streams and at different start times. Additionally, a particular ad may appear multiple times in a single stream. The multiple appearances of a particular ad offers multiple possible start times for the ad.

Description: PUSH ADVERTISING MODEL USING MULTIPLE DIGITAL STREAMS BACKGROUND OF THE INVENTION 1. Field of the Invention The invention relates generally to broadcast television systems and more particularly to a system and method for delivering and selecting advertising. 2. Description of Related Art Broadcast television systems convey television programming to homes throughout the world. In addition to television programs, broadcasters also convey advertisements and other promotions. Typically, network providers convey programs and advertising to local broadcasters who in turn convey the programs and advertising to a local television audience. In some cases, network providers make a certain amount of time available to the local broadcaster for local advertising. These time slots made available by the network to the local broadcaster are sometimes referred to as "avails". The local broadcaster may then sell this time to advertisers who wish to promote their products or services to the local television viewing audience. Generally, the local broadcaster detects an avail in the network broadcast signal via a tone cue and may then insert their local advertisement in the programming signal which is broadcast to the local audience. If the local advertiser does not sell or give an avail to an alternate advertiser, the advertisement conveyed by the network is broadcast to the local audience. Interactive television systems provide a means to deliver interactive content as well as ordinary television audio and video to a large number of subscribers. Programs broadcast by these systems may incorporate television audio and video, still images, text, interactive graphics and applications, and many other components. The interactive content of the interactive television signal may therefore include application code, data associated with the audio and video, control signals, raw data and many other types of information. Both the interactive content and the audio and video data are delivered to subscribers as "pushed" data. That is, the data is delivered to each of the subscribers, regardless of whether or not the subscribers requested the data. Interactive content such as application code or information relating to television programs is usually broadcast in a repeating format. In other words, each piece of information is broadcast a first time, then each is transmitted a second time, and so on. The cycle is repeated so that each piece of interactive data is transmitted, for example, every ten seconds. The pieces of information which are broadcast in this manner form what is referred to as a "carousel." Frequently, a single carousel is transported as a contiguous data stream. However, it is also possible to multiplex two or more carousels in a single data stream. Broadcast systems (e.g., interactive television systems) transmit information in a carousel format in order to allow receivers in the system to selectively obtain particular pieces of information in the carousel without requiring a return path from the receivers to the server. If a particular receiver needs a particular piece of information, it can simply wait until next time that piece of information is broadcast, and then extract the information from the broadcast data stream. Other receivers in the system can operate in the same manner, each receiver waiting for the information it needs, and then using only that information. By employing carousels to broadcast information, the system eliminates the need to connect each of the receivers with the server and further eliminates the need for the server to process individual requests for information. Generally, a broadcast signal may include a number of programs which in turn may include a number of audio/video streams and/or data streams. Data streams may be used to cany data such as interactive application data, subtitle information, or other data. The pieces of information, or data objects, in a carousel may be intended to be combined in a single object data stream to form a program. This program may also contain streaming data such as audio or video. For example, an interactive television game show may combine television audio and video with interactive content such as application code which allows users to answer questions. Another example would be a news program which combines audio and video with application code that inserts current stock prices in a banner at the bottom of the screen. (It should be noted that many types of programs are possible, and it is not necessary to include either audio, video or interactive content any particular program. A program might contain only audio and interactive data (e.g., an interactive radio program,) or it might contain only interactive data (e.g., an interactive weather program that does not contain audio or video streams.) Typically, each program is associated with a corresponding channel and, when a channel containing a particular program is selected by the interactive television receiver, the data which is being broadcast on that channel is downloaded and the program is started. As discussed above, advertising is also conveyed to the television viewing audience with avails provided by the network to the local broadcaster. Avails which are unused by the local broadcaster may simply convey the network provided advertisements. Consequently, unused avails may be a source of lost revenue for the local broadcaster. Further, because avails begin at a specific time and have a specific duration, the system of providing avails to local broadcasters who then insert local advertising requires veiy strict timing. Consequently, the people and/or equipment required to adhere to these strict timing requirements may be very costly. In addition, in an interactive television environment, viewers may interact with ads or promotions at times which may not correspond to the predetermined timing of the avails. Consequently, advertisers are not able to effectively provide ads to viewers on an interactive basis. Additional complications arise when advertising in the context of interactive television. Frequently, an application provider creates an application which includes a number of viewable pages. If desired, the provider may create "slots" within a page, or pages, which is designed to accommodate an advertisement. Typically, an agreement is made between the application provider and an advertiser to include a particular ad banner in a slot on a particular page of the application. Further, some means of ensuring that particular ads have been run and providing that information to the advertiser is necessary in order to properly manage the financial accounting associated with the agreement. Because an application provider may have a number of such agreements for each application, managing the advertising aspects of an application and their corresponding agreements can quickly become unduly cumbersome. Further, when a viewer uses the same application repeatedly, the same banner ad is seen over and over. In addition to these problems, an efficient method of accounting for which ads have been run and conveying that accounting information to the advertiser is needed. SUMMARY OF THE INVENTION One or more of the problems outlined above may be solved by various embodiments of the invention. One embodiment is a method which includes concurrently receiving a programming stream and an ad stream. Upon detecting a request for an ad, an ad within the ad stream which corresponds to the request is identified Subsequently, the identified ad is selecting and conveyed Also contemplated is a device which includes a signal receiver and an ad selector mechanism The signal receiver is configuied to receive a programming signal and a plurality of ads concurrently The ad selectoi is coupled to the signal leceiver and is configured to detect a request for an ad, identify a fust ad of the plurality of ads in lesponse to detecting said lequest, where the first ad corresponds to detected request, select and convey the identified ad Furthei contemplated is a carrier medium compπsing progiam instructions which aie executable to receive a programming signal and a plurality of ads concurrently, detect a request, identify a first ad of said plurality of ads in lesponse to detecting said request, select said first ad, and convey said Gist ad Still further contemplated is a method compπsmg conveying a programming signal, conveying a plurality of ads, wherein said plurality of ads are conveyed concurrently with said programming signal, receivmg viewer selection data, and creating a viewer profile, wherein said viewer profile is created utilizing received viewer selection data BRIEF DESCRIPTION OF THE DRAWINGS Other objects and advantages of the invention will become appaient upon reading the following detailed description and upon reference to the accompanying drawings in which Fig 1 is a diagram of an ad delivery system Fig 2A is an illustration of ad agreement formation Fig 2B is an illustration of ad brokering Fig 3 is a block diagram of a television system Fig 4A is a diagram illustrating an ad stream Fig 4B is a diagram illustrating an ad stream Fig 5 illustrates one embodiment of a receiver Fig 6 is an illustration of a program guide Fig 7 illustrates one embodiment of an interactive receiver Fig 8 illustrates one embodiment of an mteractive receiver Fig 9 is a flowchart illustrating one embodiment of the invention Fig 10 is a flowchart illustrating one embodiment of viewer profile creation While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the diawmgs and will herein be described in detail It should be understood, however, that the drawings and detailed description thereto aie not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims DETAILED DESCRIPTION Overvie Fig 1 is an overview of one embodiment of a system in which ads are inserted in a television page Included m the system 800 of Fig 1 aie a broadcast station ("headend") 810, content page servei 840, ad seivei 850, page caiousel 820, ad caiousel 830, television page 860, banner ad 870, and return path 880 Content page server 840 includes data which may form a television page 860 Such data may include audio, video, still images, or other material appropriate for piesentation to a viewer In the embodiment of Fig 1, pages 822A-822D are conveyed as a carousel 820 Ad server 850 includes a number of ads which are conveyed and presented in conjunction with television page 860 Ads also may include audio, video, still images, or other material appropπate for presentation to a viewer In the embodiment of Fig 1, ads 832A-832D are conveyed as a carousel 830 Also included in system 800 is a return path 880 for conveying information from the viewer back to the headend 810 In one embodiment, television page 860 is designed to accommodate advertising Foi example, such an accommodation may take the form of a "slot" which may be filled by an ad In an exemplary embodiment of system 800, rather than inserting ads into pages at the headend based on cues, ad insertion is accomplished at the point of final presentation For example, ad insertion may be finally accomplished by a set top box m a viewer's home Further, if ad carousel 830 includes a variety of different types of ads 832A-832D, the ad 870 which is selected for insertion into page 860 may be selected according to a particular viewer profile In one embodiment, viewer programming and ad selections may be stored and used in creating a viewer profile For example, a viewer may have a set top box which contains a storage device such as a hard drive Viewer selection data may be stored in the storage device and periodically conveyed to the headend where a viewer profile is generated The created viewer profile may then be transmitted from the headend to the viewer's set top box where it is downloaded and used to selected ads which are better targeted to that particular viewer Alternatively, viewer selection data which is stored may be used in selectmg ads for display In one embodiment, ads 832A-832D are tagged with information which may matched to particular user profiles Information corresponding to a particular viewer may also be conveyed back to the headend 810 via return path 880 Also, utilizing the information returned via path 880, "ad tracking" may be accomplished where the ads which have been presented may be tracked In this manner, ad server 850 may serve as a central tracking repository Further, information leturned via path 880 may be used to schedule which ads are to be conveyed via ad server 850 Such a system 800 described above presents numerous advantages By moving ad insertion from the headend to the point of presentation and selecting ads based on end user profiles, ad insertion equipment costs may be reduced at the headend and ads may be moie effectively targeted to particular viewers Further, by carefully hacking ads which have been presented and returning that information via return path 880 to a central repository, accounting is better facilitated In addition, by utilizing information returned via path 880, ads conveyed via carousel 830 may be more appropriately scheduled and bettei ad targeting may be achieved Ad Brokering One of the tasks generally required in matching ads to particular applications or television pages is that of foiming agreements between an advertiser and the application provider Generally, an content pi ovider forms an agieement with a particular advertiser to piesent that advertisei 's ad on one or more of the content providei 's pages For example, the producer of a sports oriented television page may form an agreement with an athletic shoe maker to present an ad for the shoe maker on one of its pages. In addition, an agreement may be formed with a sports drink maker to display then ads on a particular page, and so on. In the end, many such agreements may be formed which require management. Fig. 2A is an illustration of agreements which may be made between content providers and advertisers. Fig. 2 A includes two content providers, 902 and 904, and ten advertisers 910. Each content provider makes an agreement with each of the advertisers to include their advertising within their page. Consequently, twenty total agreements are made. In general, assuming each content provider has an agreement with each advertiser, the total number of agreements made will equal the product of the number of providers and advertisers. In the case of Fig. 2A, the total number of agreements is 2 times 10, or 20 agreements. If there are 1000 advertisers and 1000 content providers, then there are potentially 1,000,000 separate agreements which must be made and managed. Frequently, such agreements require the content provider to inform the advertiser when their ads have run. Therefore, each content provider is responsible for tracking and reporting to each individual advertiser with which they have an agreement. Because the number of agreements can quickly become very large, this method of establishing agreements may quickly become unwieldy. In order to facilitate a more efficient method of creating and managing agreements, an "ad broker" may be used. Fig. 2B illustrates how an ad broker may be utilized to improve the way agreements are made and managed between content providers and advertisers. As in Fig. 2A, two content providers, 902 and 904, and ten advertisers, 910, desire to form agreements. Rather than forming agreements directly with each other, a "broker" 1000 is used as an intermediary. Broker 1000 forms an agreement with each advertiser 910 to act as an intermediary for those wishing to form an agreement with one of those advertisers 910. Likewise, broker 1000 forms an agreement with each content provider to act as an intermediary for those wishing to form an agreement with those content providers, 902 or 904. Consequently, the total number of agreements is reduced to the sum of the number of content providers and advertisers. In this case, a total number of twelve agreements are formed, rather than twenty. In one embodiment, ads which are the subject of agreement are made part of an ad server database, such as ad server 850. For example, each of advertisers 910 may desire to advertise on a page corresponding to content provider 902 and may request that broker 1000 contact provider 902 and establish an agreement. Broker 1000 may then contact content provider 902 who may then agree to include the advertising of advertisers 910. Broker may then establish, in communication with provider 902 and advertisers 910, how and when the advertising may be included by provider 902. For example, each run of a particular ad may have a corresponding fee. In one embodiment, provider 902 may simply track which ads are run on its pages and convey that information to broker 1000. Broker may then compile run information for each of the advertisers who then may be required to pay the corresponding fees. Alternatively, an advertiser may pay a fee to have particular ads run more often that others. Clearly, many fee arrangements are possible and are contemplated. Advantageously, the total number of agreements which must be formed is reduced. Further, information related to the tracking of ad runs may be conveyed from the content provider to a single entity, the broker 1000, rather than each advertiser. Likewise, advertisers 910 may obtain information related to the run of their ads from a single source. Turning now to Fig 3, a block diagiam illustrating one embodiment of a television broadcast system 100 is shown The system 100 of Fig 3 includes a lemote network 102 for transmitting a television signal via satellite, a broadcast station 110 which leceives the television signal, and receiver 130 which receives a signal transmitted by bioadcast station 1 10 In the embodiment shown, bioadcast station 1 10 includes cue detection unit 112, ad insertion souice 114, ad stream souice 1 16, and transmittei 120 Receiver 130 includes ad selectoi mechanism 140 Geneially speaking, network 102 provides a programming signal to bioadcast station 110 via satellite The signal conveyed by network 102 typically includes both television programrrung and advertisements ("ads") In addition, the signal conveyed by network 102 includes a cue which indicates that an advertisement is forthcoming Broadcast station 1 10 receives the signal conveyed by netwoik 102 Cue detection unit 1 12 is configured to detect the cues which are piesent m the network signal and convey the information contained m the cue to ad insertion souice 114 Cue detection unit 1 12 further conveys the received television programming signal to transmission unit 120 If ad insertion source 114 has a local advertisement which corresponds to a received cue, it may convey that advertisement to transmission unit 120 Alternatively, if no local advertisement correspondmg to the received cue is available, ad insertion source 1 14 may convey cue information indicating an unused avail to transmission unit 120 Further, ad stream source 116 conveys a stream of advertisements 117 to transmission unit 120 Transmission unit 120 conveys the signals and data received from cue detection unit 112, ad insertion source 114, and ad stream source 116 to receiver 130 via satellite Ad selector mechanism 140 is configured to detect cues within the signal l eceived from broadcast station 110 If ad selector mechanism 140 detects an upcoming unused avail, it selects an advertisement from the ad stream in the received broadcast signal to fill the unused avail Numerous alternative configurations of system 100 are possible as well For example, ad stream source 116 may correspond to ad server 850 and may be located at network 102 or elsewhere in the broadcast cham Additionally, in one embodiment broadcast station 1 10 does not utilize ad insertion source 114 for inserting ads Instead, broadcast station 110 may be configured to convey all cues received from network 102 directly to receiver 130 Receiver 130 would then handle the insertion of all ads, not just those related to unused avails Further, any suitable means of transmitting network and broadcast signals is contemplated as well For example, these signals may be transmitted via microwave, fiber optic cable, or otherwise Ad Streams and Staggered Ads Fig 4A is an illustration of one embodiment of an ad stream 1100 which may be delivered by ad stream source 116 Ad stream 1 100 includes two streams of ads, 1101 and 1 102 Included m streams 1 101 and 1102 are ads corresponding to three advertisers A, B and C Advertisei A has provided ads Al, A2, A3 and A4 Advertiser B has provided ads Bl, B2 and B3 Advertiser C has provided ads CI, C2 and C3 Each of the ads in streams 1101 and 1 102 may be transmitted in a carousel fashion In the example shown in Fig 4 A, a viewer may interact with an ad in a television page at time A 1 120 For example, as illustrated in Fig 1, a banner ad 870 may appear on a page 860 If the viewer is interested in the product or service advertised by the banner ad 870 and wishes further information, the viewer may indicate this interest by selecting the banner ad 870 using a remote control, or other device (e g , point-and-chck on the banner ad 870) As an example, the banner ad 870 may correspond to advertiser B By indicating interest in the banner ad 870, further information related to the advertiser corresponding to banner 870 may be presented to the viewer In one embodiment, the banner ads 870 which are initially displayed aie not dnectly deteiτnined by a viewer selection, but may be determined by the broadcaster Further, if there were more than one upcoming ad which coπesponds to advertiser B, the ad which is selected for display may be selected utilizing a profile of the viewer For example, user piofile information may be stoied in a set top box of the viewer as discussed below Upon displaying a particular ad, information regarding its piesentation may be conveyed back to the headend for tracking and accounting purposes Such information may be conveyed immediately, or may be stored and conveyed at a later time In one embodiment, set top boxes are periodically polled by the headend for stoied infoimation Turning now to Fig 4B, another embodiment of an ad stream 1 17 dehveied by ad stream source 116 is illustrated In the embodiment shown, ad stream 117 includes five streams of advertisements 201-205 Each of streams 201-205 includes a number of advertisements of differmg duiation For example, stream 201 includes ads A with a duiation of 30 seconds, ad B with duiation 15 seconds, ad C with duration 20 seconds, ad D with duration 30 seconds, and ad E with duration 20 seconds Stream 202 includes ads C, T, H, I and B Stream 203 includes ads J, A, K, H and J Stream 204 includes ads L, C, D and E Stream 205 includes ads M, J, K and B As shown in the illustration, time may be seen to progress from right to left In the exemplary embodiment shown in Fig 4, certain ads appear in more than one of streams 201-205 Further, certain ads appear more than once in a given stream For example, ad A appears in stream 201 and stream 203 Also, ad J appears twice m stream 203 and once m stream 205 In general, any sequence or combination of ads may be used in streams 201-205 Certain configurations may have advantages as will be discussed below Further, any number of streams of ads may be mcluded in ad stream 117 In the embodiment of Fig 4, a cue 220 at tune A may be conveyed m the signal broadcast by broadcast station 1 10 In one embodiment, cue 220 may indicate an upcoming unused avail In addition, the cue 220 may include information indicatmg when the unused avail is to occur as well as its duration Ad selector mechanism 140 is configured to detect this cue 220 and search streams 201-205 for ads which begin at approximately the time of the upcoming unused avail In one embodiment, each of the ads in streams 201-205 include information about their respective start times and durations, as well as those of ads which follow them in their respective streams Of those ads which are identified as beginning at the appropriate time, ad selector mechanism 140 examines them to determine whether they are of the appropriate length Ad selector mechanism 140 may then select one or more ads from those identified for filling the upcoming unused avail In one embodiment, the selected ads are extracted from the received ad stream 117 and displayed on the television when the unused avail occurs It should be noted, that by staggering the placement of a particular ad across different streams 201-205 at diffeient start times, the probability of that ad being an appropriate candidate for an unused avail is increased Further, by increasing the frequency of a particular ad in one or more streams, the probability of an ad being selected as an appropriate candidate is inci eased In one embodiment, ad selector mechanism 140 may be configuied to select candidate ads from ad stream 117 based on further criteria For example, leceiver 130 may be configured to store information identifying the user of that receiver 130 as belonging to a particular group or having particular piefeiences In one example, demographic infoimation or other preference information may be obtained from the user of receiver 130 and stored theiem Upon making ad selections for unused avails, ad selector mechanism 140 may then utilize the information stored in leceiver 130 in selecting more suitable ads For example, if the information in receiver 130 indicates the user of that ieceiver 130 rs a sports fan, an ad related to sports may be selected by ad selector mechanism 140 in preference to another ad. Advantageously, ads may be selectively targeted to viewers. As an alternative to filling of unused avails, the streams 201-205 may be used in conjunction with a viewer's interaction as described in Fig. 4A. For example, time A 220 may indicate a viewer's selection of a banner ad corresponding to a particular advertiser. An ad corresponding to that advertiser may then be selected from one of streams 201-205. Utilizing a viewer profile, the most appropriate ad corresponding to that advertiser may chosen. By using a staggering of ads as described above, the probability of having the most appropriate ad available in a timely manner is increased. Advantageously, Improved targeting of ads may be attained. Fig. 5 is one embodiment of a receiver 130 employing the ad selector mechanism 140 described above. In the embodiment shown, receiver 130 includes a signal receiver 302, ad selector mechanism 140, and display unit 304. Ad selector mechanism 140 includes a control unit 142, RAM 144, and ROM 146. Signal receiver 302 is coupled to a signal source such as a satellite broadcast signal, cable, or network connection (e.g., an Internet connection). In one embodiment, receiver 130 may be part of a computing system or other computing device and signal receiver 302 may comprise a network interface card or similar device. Finally, display unit 304 is coupled to- a display device such as a television or computer monitor. In one embodiment, signal receiver 302 is configured to receive a signal from a signal source. Included in the signal received by signal receiver 302 are programs, an ad stream, and cues. Signal receiver 302 is configured to convey received cues and the ad stream to control unit 142, and a programming stream to display unit 304. RAM 144 and ROM 146 contain program instructions which are utilized by control unit 142 to perform ad selection functions. Upon detecting a cue which indicates an upcoming unused avail, its start time and duration, control unit 142 is configured to search the received ad stream for ads as described above and identify one or more ads for display. When the unused avail time occurs, the control unit is configured to convey the selected ads to display unit 304, Display unit 304 is configured to convey the received programs and ads to a display device, such as a television or computer monitor. Numerous embodiments of ad selector mechanism 140 are possible. For example, ad selector mechanism 140 may comprise a general purpose processor executing instruction code, an application specific integrated circuit, a programmable gate array, or combinations of any of the above. Further, instruction code executable for implementing the above described embodiment may be created independently of the hardware upon which it is intended to execute. The created instruction code may then be conveyed to various hardware manufacturers, vendors, or others for use in a hardware device. Ad Selection in an Interactive Television Environment As discussed above, interactive television systems provide a means to deliver interactive content as well as ordinary television audio and video to a large number of subscribers. Because interactive television allows viewers to interact with programming and advertisements at unpredictable times, advertisers have not been able to effectively provide ads at the appropriate times. By utilizing an embodiment of the ad selector mechanism 140 described above, ads may be delivered to viewers at times which better correspond to the actions and desires of the viewer, rather than the predetermined times of the network or broadcaster. Advantageously, in addition to being used to fill unused avails as described above, the ad selector mechanism 140 may be used to provide targeted ads at as described below. To illustrate how the ad selector mechanism may be further used in an interactive television system, Fig. 6 shows an interactive television program guide (IPG) 400. IPG 400 includes a program schedule 430, program description 420, and an advertising window 410. In a interactive television system, viewers may interact with IPG 400 in ways they may not be able to in a non-interactive television environment. For example, advertisement window may display a stream of advertisements. If a viewer finds a particular advertisement interesting, the viewer may wish to receive more information related to that advertisement. The viewer may then wish to select the advertisement with a remote control or other device and receive further information. However, in a prior art system, the timing of advertisements may be predetermined and not coincide with the timing of the viewer's selection. Consequently, the advertiser is not able to meet the viewer's desire for more information at the time the viewer desires the information. By utilizing the ad selector mechanism 140 described above, problems like the above may be solved. Ad selector mechanism 140 may detect the type of ad selected by the viewer, select an ad from ad stream 117 which is received by signal receiver 302 and which corresponds to the selected ad, and provide that ad to the viewer in a timely manner. Advantageously, the viewer is able to receive the information when desired and the advertiser is able provide more information to a viewer who has expressed further interest in their product or service. While a television program guide is described above, numerous examples of providing advertising within an interactive service are possible and are contemplated. Fig. 7 is one embodiment of a receiver 130 which may be used in an interactive television system. Included in the receiver 130 of Fig. 6 is an ad selector mechanism 140, display unit 304, modem 506, and interactive receiving unit 504. As discussed above in the description of Fig. 4, in one embodiment control unit 142 may be configured to detect cues which are received by signal receiver 302. Interactive receiving unit 504 is configured to receive input from a viewer. For example, a viewer may utilize an infrared remote control which is detected by interactive receiving unit 504. Alternatively, a viewer may utilize an input device in a computing system, such as a mouse, writing tablet, voice, or other device which is detected by interactive receiving unit 504. Many other possible viewer input devices are possible and are contemplated. When a viewer interacts with an interactive service, such interaction may be detected by interactive receiving unit 504 and conveyed to control unit 142. Control unit 142 acts upon the conveyed input in a similar manner to cues which are received and conveyed by signal receiver 302. In response to the viewer's input, control unit 142 may then search the ad stream received by signal receiver 302 for an ad which corresponds to the viewer's input. Further, by including corresponding ads in the ad stream at multiple start times and/or across multiple streams, a corresponding ad may be quickly selected and displayed. In one embodiment, control unit 142 may utilize indicators such as the channel currently being viewed, the time of day, and other viewer specific data which may currently exist within RAM 144 in selecting an ad from the ad stream which best suits the particular viewer. For example, selections made by a viewer may be registered and stored by receiver 130 in RAM 144. This stored information may indicate the preferences or demographics of the viewer and be utilized by control unit 142 in selecting an ad from the ad stream. Further, the selections made by the viewer, or stored information, may be conveyed back to a broadcaster via modem 306. The broadcaster may then utilize this information in selecting and scheduling which ads to convey in ad stream 1 17. For example, if vie er selections indicate higher interest in sporting events on Monday nights, more sports related ads may be included in ad stream 117 on Monday nights Advantageously, impioved targeting of ads may be achieved, in addition to meeting the timing needs of the viewer Fig 8 shows an alternative embodiment of the invention In the embodiment of Fig 8, receivei 130 is coupled to a mass storage device 610 Mass storage 610 may include a haid disk, CDROM, DVD, RAM, or other storage In one embodiment, receiver 130 is configuied to store ads from ad stream 1 17 which are selected by ad selector 140 in tesponse to viewei input For example, a viewer may wish to receiver further information related to an ad which is cuπently being displayed However, the viewer may also wish to switch to an alternate channel to view a particular program The viewer may make a selection corresponding to the displayed ad Ad selector 140 may then select an ad from ad stream 117 which corresponds to the viewer's selection However, rather than conveying the selected ad to the viewer's display, the ad is conveyed to mass storage 610 where it is stored Alternatively, the selected may be displayed Upon display the viewer may mdicate with a selection device that they wish the ad to be saved for later view ng Advantageously, the vrewer may later retrreve and vrew the stored ad at a more convenrent time Further, information regarding selections made by the vrewer may be stored on mass storage devrce 610 for later transmissron via the leturn path This returned information may then be used rn further profilmg of viewers, scheduling of ads, and ad tracking accountmg In one embodiment, receiver 130 mcludes a processor configured to execute program instructions in accomplishing the above described invention In one embodiment, the program instructions may comprise an operating system, application progiams, or combinations of both Additionally, the program instructions may be stored rn RAM, other volatile stoiage, or non- volatile storage Fig 9 shows a flow diagram illustrating a method implementing one embodiment of the mvenhon A program stream and an ad stream are received (block 702) If a viewer selection, an application page slot, or a cue is detected (decision block 704), the ad stream is searched for ads which correspond to the selection or cue (block 706) If only one correspondmg ad rs rdentrfred (decrsion block 708), the identified ad is conveyed to a display device or storage device (block 716) However, if more than one correspondmg ad is identified (decision block 708), a determination is made as to whether any viewer specific information is resident (decision block 710) This information may be contamed in the received broadcast signal, in RAM or some other storage device If viewer specific rnformation rs resrdent (decrsron block 710), one of the rdentrfred ads rs selected usmg the vrewer specrfrc information (block 712) For example, if the viewer specific rnformation indicates the viewer is a sports fan, an ad may be selected whrch has a sports related theme The selected ad rs then conveyed (block 716) Alternately, if no viewer specific rnformatron is resident (decision block 710), an ad may be selected from those identified rn a random, or any other surtable manner The selected ad rs then conveyed (block 716) Frg 10 shows a flow dragram illustrating one embodiment of a method to create a viewer profile In the embodiment shown, a programming sheam and ad stream are received (block 1002) If a viewer selection is detected (decision block 1004), the selection is stored (block 1006) In one embodiment, viewer selections may include programming selections and/oi ad selections Viewer selections may be stored in RAM, a hard drive, or any other suitable storage medium In the embodiment shown m Fig 10, the headend periodically polls (decision block 1008) the device contaming the storage medium to determine if selection data has been stored therein Subsequently, the stored data is conveyed to the headend (block 1010) where a viewer profile is created (block 1012) The created viewei profile is then transmitted to the viewer's location (block 1014) where it is downloaded (block 1016). The downloaded viewer profile may then be used for selecting ads for presentation to the viewer. Advantageously, targeting of ads to viewers may be achieved. Virtual Channels In a further embodiment, the above described mechanism may be used to create viewer targeted ad channels. By gathering Information on a viewer as described above, a viewer profile may be developed. This profile may be used to select ads which best suit the particular viewer as described above. However, rather than selecting ads in response to cues or viewer selections, ads may be selected on a continuous basis from the received ad stream 117 and conveyed to a predeteπnined channel, window within a channel, or storage device. Advantageously, a viewer may be able to tune to a predeteπnined channel where advertisements that meet that viewer's profile are continuously displayed. In this manner, the viewer is able to see those ads in which they may have an interest and not those in which they have no interest. Further, advertisers are better able to reach those viewers which have the most interest in their products or services. Alternatively, the viewer specific ads may be streamed to a window within a channel, such as the window 410 of Fig. 5. In addition, multiple viewer profiles may be maintained an utilized to create multiple viewer specific ad channels. In such an embodiment, different viewers may utilize a remote control or other device to indicate who is currently watching television. Multiple viewer profiles may then be created and used to create multiple virtual ad channels. Advantageously, a first viewer may have a particular channel or window which displays ads coπesponding to their profile, while a second channel or window displays ads targeted to a second viewer. In this manner, the ad stream 117 may be viewed as including multiple, targeted channels corresponding to different types of viewers. Various embodiments may further include receiving, sending or storing instructions and/or data implemented in accordance with the foregoing description upon a carrier medium. Generally speaking, a carrier medium may include storage media or memory media such as magnetic or optical media, e.g., disk or CD-ROM, volatile or non-volatile media such as RAM (e.g. SDRAM, RDRAM, SRAM, etc.), ROM, etc. as well as transmission media or signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as network and/or a wireless link. While the present invention has been described with reference to particular embodiments, it will be understood that the embodiments are illustrative and that the invention scope is not limited to these embodiments. For example, while discussed in terms of television systems, the invention may also be used in the context of a device coupled to the Internet, such as a personal computer or video game platform. In such an embodiment, a user may have a broadband connection to the Web, such as via cable modem or DSL, Many variations, modifications, additions and improvements to the embodiments described are possible. These variations, modifications, additions and improvements may fall within the scope of the invention as detailed within the following claims.

Claims: WHAT IS CLAIMED IS: 1 A method of ad selection comprising receiving a piogramming signal and a pluiahty of ads concurrently, detecting a request, identifying a first ad of said pluiahty of ads in response to detecting said request, selecting said fust ad, and conveying said first ad 2 The method of claim 1 , wherem said pluiahty of ads comprise a pluiahty of streams of ads 3 The method of claim 2, wheiem sard plurahty of streams of ads are recerved vra a broadcast srgnal 4 The method of claim 1, wherern detecting said request comprises detecting a slot for an ad in an application page 5 The method of clarm 1 , wherein said detectmg said request comprises detectmg a viewer selection 6 The method of claim 1, wherein said detecting sard request comprrses detecting a cue 7 The method of clarm 6, wherern sard cue corresponds to an unused avail 8 The method of clarm 1, wherem said first ad rs rdentrfred based on a vrewer profile 9 The method of clarm 8, wheiem said first ad is tagged with profile data, and wherem said first ad rs sard rdentrfred by matchrng said profile data with said viewer profile 10 The method of claim 1, wherem said conveying comprises mserting said first ad m an application page to form a combined image and displaying said combined image on a display device 11 The method of claim 1, wherem said conveying comprises displaying said first ad as a full screen rmage on a display device 12 The method of claim 1, wheiem said conveying comprises storing said fust ad on a storage device 13 The method of claim 12, further compnsing retrrevrng sard stored first ad from said storage device 14 The method of claim 1 , further comprising stormg information corresponding to said request on a storage device as a fust data The method of claim 14, furthei comprising conveying said fust data to a remote repository The method of claim 15, further compπsmg utilizing said conveyed first data to create a vrewer profile, wherem said created viewer profile is transmitted to a viewer location and is used in said identifying said first ad at said viewei location The method of claim 1, wherem said first ad coπesponds to an apphcation of a content pi ovider, and wheiem said first ad corresponds to an advertiser The method of claim 17, wheiein said first ad further corresponds to a biokered agieement, wheiem said brokered agreement comprises a first agreement between said content provider and a broker, and a second agreement between said advertiser and said broker The method of claim 3, wherem a first stream of sard pluralrty of streams mcludes a first occurrence of said first ad, and wherem a second stream of said plurality of streams mcludes a second occuπence of said first ad, wherem a position of said first ad m said first stream is not equal to a position of said first ad m said second stream The method of claim 19, wherem said identifymg said first ad comprises identifymg said first ad m sard first stream and sard second stream, and wherern said selecting said first ad comprrses selecting sard first occurrence of said first ad m response to detectmg nerther sard first occurrence nor said second occurrence of sard first ad have begun and said first occuπence of said first ad precedes said second occuπence in time An ad selection device comprising a signal receiver, wherem said signal receiver is configured to receive a programming srgnal and a pluralrty of ads concurrently, and an ad selector mechanrsm coupled to sard recerver, wherern sard ad selector mechanrsm rs configured to detect a request, rdentrfy a fust ad of sard pluralrty of ads m response to detectmg sard request, select sard first ad, and convey said first ad The device of claim 21, where said plurality of ads comprise a plurality of streams of ads The device of claim 22, wherein said plurality of streams of ads are received via a broadcast signal The device of claim 21, wherem detecting said request comprises detecting a slot for an ad m an application page The device of claim 21, wheie said detecting said request comprises detecting a viewer selection The device of claim 21, wheiein said detecting said request comprises detecting a cue The device of claim 26, wheiem said cue coπesponds to an unused avarl The device of claim 21, wheiem said first ad is identified based on a viewer profile The device of claim 28, wheiem said first ad is tagged with profile data, and wherem said first ad is said identified by matchmg said piofile data with said viewer profile The device of claim 21, where said conveying comprises msertmg said fnst ad in an application page to form a combmed image and displaying said combined rmage The device of claim 21, wherein said conveymg comprises displayrng sard first ad as a full screen image on a display device The device of claim 21, wherem said conveymg comprises storing said first ad on a storage device The device of claim 32, wherem said ad selector mechanism is further configured to retrieve said stored first ad from said storage device The device of claim 21, wherem said ad selector mechanism is further configured to store information correspondmg to sard request on a storage device as a first data The device of claim 34, further compnsmg conveying said first data to a remote reposrtory The device of clarm 35, wherem said conveyed first data is uhlrzed to create a vrewer profile, wherem sard created vrewer profile rs transmitted to said ad selection device and is used to said identify said first ad by said ad selection device The device of clarm 21 , whei ein sard first ad coπesponds to an apphcation o f a content provider, and wherein said first ad coπesponds to an advertiser The device of clarm 37, wherem sard first ad further coπesponds to a brokered agreement, wherern said brokered agreement comprises a first agreement between said content provider and a broker, and a second agreement between said advertiser and said bioker The device of clarm 23, where a first stream of said plurality of streams includes a first occuπ ence of said first ad, and wheiem a second stream of said plurality of streams includes a second occuπence of said first ad, where a position of said first ad in said first stream is not equal to a position of said first ad in said second stream. 40. The device of claim 39, wherein said identifying said frrst ad comprises identifying said first ad in said fust stream and said second stream, and wherein said selecting said first ad comprises selecting said first occurrence of said first ad in response to detecting neither said first occurrence nor said second occuπence of said first ad have begun and said first occuπence of said first ad precedes said second occuπence in time. The doviee of ' i-lo-ra--. ' l-;» bw<H->«.idιdaviaa iompπκi a, act top .box. The device of claim 21 5 wherein said device comprises a set top box. jjW. A caπier medium comprising program instructions, wherein the program instructions are executable to : receive a programming signal and a plurality of ads concurrently; detect a request; identify a first ad of said plurality of ads in response to detecting said request; select said first ad; and convey said first ad. ^2. The carrier medium of claim Y, wherein said program instructions are further executable to : store requests as a first data; convey said first data; receive a viewer profile; and utilize said viewer profile in identifying ads. %. A method comprising: conveying a progr-irriming signal; conveying a plurality of ads, wherein said plurality of ads are conveyed concurrently with said progr-Jiirning signal; receiving viewer selection data; and creating a viewer profile, wherein said viewer profile is created utilizing received viewer selection data. A. The method of claim &$, further comprising: polling an end user for said viewer selection data; and conveying said viewer profile to said end user. w. $%. The method of claim 44, further comprising conveymg a signal indicative of an unused avail. 47. 6. The method of claim $ , wherein said plurality of ads comprises a plurality of streams of ads, wherein a first stream of said plurality of streams includes a first occuπence of a first ad, and wherein a second stream of said plurality of streams includes a second occuπence of said first ad, wherein a position of said first ad in said first stream is not equal to a position of said first ad in said second stream.

Inventors: CONRAD CLAY, DELPUCH ALAIN, DUREAU VINCENT, SZYMANSKI STEVEN, ZDEPSKI JOEL, CONRAD, CLAY, DELPUCH, ALAIN, DUREAU, VINCENT, SZYMANSKI, STEVEN, ZDEPSKI, JOEL
Applicants: CONRAD CLAY, DELPUCH ALAIN, DUREAU VINCENT, OPENTV CORP, SZYMANSKI STEVEN, ZDEPSKI JOEL, CONRAD, CLAY, DELPUCH, ALAIN, DUREAU, VINCENT, OPENTV, CORP., SZYMANSKI, STEVEN, ZDEPSKI, JOEL
Application year: 2000
Main classification: H04N7
IPC codes: H04N7