WO2002017591A2 - Data item replacement in a media stream of a streaming media - Google Patents

Data item replacement in a media stream of a streaming media Download PDF

Info

Publication number
WO2002017591A2
WO2002017591A2 PCT/US2001/024918 US0124918W WO0217591A2 WO 2002017591 A2 WO2002017591 A2 WO 2002017591A2 US 0124918 W US0124918 W US 0124918W WO 0217591 A2 WO0217591 A2 WO 0217591A2
Authority
WO
WIPO (PCT)
Prior art keywords
data items
user
computer
ofclaim
article
Prior art date
Application number
PCT/US2001/024918
Other languages
French (fr)
Other versions
WO2002017591A3 (en
Inventor
Mark Duvall
James P. Lambert
Original Assignee
Hiwire, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hiwire, Inc. filed Critical Hiwire, Inc.
Priority to AU2001283206A priority Critical patent/AU2001283206A1/en
Publication of WO2002017591A2 publication Critical patent/WO2002017591A2/en
Publication of WO2002017591A3 publication Critical patent/WO2002017591A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation

Definitions

  • This invention relates in general to communications devices, and, more particularly, to a technique for data item replacement in a media stream (e.g., a particular channel) of a streaming media (e.g., radio or television).
  • a media stream e.g., a particular channel
  • a streaming media e.g., radio or television
  • the Internet is a collection of computer networks that exchange information via Hyper Text Transfer Protocol (HTTP).
  • HTTP Hyper Text Transfer Protocol
  • the use of the Internet computer network for commercial and non-commercial uses is exploding.
  • the Internet computer network enables many users in different locations to access information stored in data sources (e.g., databases) stored in different locations.
  • the World Wide Web (i.e., the "WWW” or the "Web") is a hypertext information and communication system used on the Internet computer network with data communications operating according to a client/server model.
  • a Web client computer will request data stored in data sources from a Web server computer, at which Web server software resides.
  • the Web server software interacts with an interface, which is connected to the data sources.
  • These computer programs residing at the Web server computer will retrieve the data and transmit the data to the client computer.
  • the data can be any type of information, including database data, static data, HTML data, or dynamically generated data.
  • radio stations are beginning to digitally encode their audio signals and transmit them via the Internet, a process known as “streaming” or “webcasting,” in addition to or instead of traditional radio transmission, which involves wireless transmission of electromagnetic radiation within particular frequency ranges into which the sound has been converted.
  • streaming or “webcasting”
  • Some radio stations now make available over the Internet both a live stream containing the same content as the station's simultaneous traditional broadcast, and an archive of previously broadcast material that can be accessed by the listener on demand.
  • advertisements are typically included in the broadcast signal, with a certain number of “spots,” typically of 60 second duration, being reserved for advertising in each 60 minute period.
  • Payments from the advertisers constitute the principal source of revenue for traditional radio stations, and the advertising thus supports the creation and distribution of the programming. Advertisers often attempt to target advertisements to particular demographic groups (e.g., residents of particular geographic locations, or particular genders or age groups).
  • Advertising over traditional radio includes local spot radio advertising and network advertising. In local advertising, the advertiser places advertisements directly with individual stations whose broadcast signal can be received by people in the geographic area that the advertiser wishes to reach.
  • the ads are placed within national network programs that are broadcast by satellite to affiliate stations around the country for re-broadcast to listeners.
  • radio programming can now be heard around the world, rather than being limited to a local area to which the transmitter can deliver the signal.
  • the local spot advertisements from the traditional broadcast are not suited to the remote listeners reached by the webcast.
  • these ads are duplicated, along with the program content, in existing radio station webcasts. It would be useful, then, if the advertisements in the traditional broadcast could be replaced, on a listener-by- listener basis, with advertisements geographically suitable for the listener (for example, an advertisement for a retail store in the locality of the listener).
  • advertisements included in traditional radio broadcast are by their nature heard by anyone listening to that broadcast.
  • Traditional radio advertisers wishing to reach particular demographic groups for example, women rather than men, or persons aged 25-35 rather than children or older adults, must indirectly target these groups by purchasing ad spots during program content that they believe will be listened to by the target group. This is inherently imprecise and results in both under-inclusive and over-inclusive distribution of the ad.
  • the interactive nature of the Internet makes it possible for advertisements to be directly targeted to the individual user based on that user's personal demographic profile. But to date targeting has been used only for visual banner advertisements, or for other advertisements that are placed before or after discrete files that are downloaded by an individual, but not for audio or video advertisements placed in a continuous webcast stream.
  • the present invention discloses a method, apparatus, and article of manufacture for a technique for replacing data items in a media stream.
  • a queue point is located in a media stream received at a computer.
  • the queue point indicates a beginning of one or more specific data items in the media stream.
  • the specific data items in the media stream are replaced with replacement data items.
  • the media stream is an audio stream and specific data items and replacement data items are spots or advertisements.
  • Queue points are placed into the media stream prior to the media stream being received at the computer. Then, as the computer receives the media stream, the queue points are located using a content identification list that identifies a sequential ordering of data items in the media stream.
  • the replacement data items are targeted to users of the computer.
  • registration information e.g., demographic information
  • user usage information is collected from a user.
  • data items are selected by matching demographic information associated with the replacement data items with demographic information associated with a user.
  • the data items may be selected based on zero or more psychometric profiles, zero or more campaign metrics, and zero or more business rules. From these selected data items, replacement data items are chosen using history information about the replacement data items and using content identification list information.
  • a client computer is connected to a server computer via a network. Then, the replacement data items are downloaded to the client computer from the server computer. The data items maybe downloaded based on the amount of activity at the client computer or based on a bandwidth of the network connecting the client computer and server computer. In particular, data items are selected at the server computer by matching demographic information associated with the data items to demographic information associated with a user of the client computer. Then, replacement data items are selected from the selected data items. Additionally, the client computer receives a list of data items from the server computer and then requests data items from the server computer. The replacement data items may be a combination of data items retrieved from a local cache or streamed from another computer. Additionally, periodically, data items may be removed from the local cache. When data items are played for a user, the client computer periodically forwards a data items played notification to the server computer.
  • a user-interface for accessing the media stream.
  • the user-interface comprises access to a database of radio stations, a web button that enables access to a web site associated with a selected radio station, and comprises a chat button that enables access to a web chat site associated with a selected radio station. Additionally, the user- interface comprises pre-set buttons for programming access to radio stations.
  • the data items are advertisements and a user interface is provided for creating a campaign (e.g., an advertisement campaign).
  • the user interface enables creation of advertisements while associating demographic information with the advertisements.
  • FIG. 1 is a schematic diagram illustrating a client/server computer environment of an embodiment of the-invention.
  • FIG.2 is a schematic diagram illustrating a hardware environment used to implement a client computer in one embodiment of the invention.
  • FIG. 3 is a schematic diagram illustrating a hardware environment used to implement a server computer in one embodiment of the invention.
  • FIG. 4 illustrates a registration window that is used to obtain registration information
  • FIG. 5 illustrates a radio window that is displayed after registration information is collected successfully.
  • FIG. 6 illustrates a station selection window that is displayed when a tune-in button is selected.
  • FIG. 7 illustrates a radio window after a station has been selected.
  • FIG. 8 is a schematic diagram illustrating an environment in which an embodiment of the invention is used.
  • FIG. 9 illustrates an Encoder Agent for encoding a media stream.
  • FIG. 10 illustrates a flow of processing for adding queue points to a media stream.
  • FIG. 11 illustrates a campaign window for creating a campaign.
  • FIG. 12 illustrates a first ad definition window for defining an ad.
  • FIG. 13 illustrates a second ad definition window for selecting an ad file.
  • FIG. 14 illustrates a third ad definition window listing an ad that has been defined using first and second ad definition windows.
  • FIG. 15 illustrates a view campaign window listing a campaign that has been created using a campaign window.
  • FIG. 16 illustrates a flight manager window that is displayed upon selection of a New Banner Flight button of FIG. 15.
  • FIG. 17 illustrates a quote window that specifies price information for a campaign flight that has been purchased.
  • FIG. 18 illustrates a view campaign window listing a flight that has been purchased.
  • FIG. 19 illustrates a flight details window that provides information about a selected flight.
  • FIG. 20 illustrates a media stream, which has a commercial break that is replaced by cached spots.
  • FIG. 21 illustrates a media stream for which a commercial break is filled with cached spots and remote spots.
  • FIG. 22 is a flow diagram illustrating a process performed by a Data Item Replacement System. DETAILED DESCRIPTION
  • the invention is comprised of a collection of components, which will be referred to as a "Data Item Replacement System". It is to be understood that these components may be combined in many different ways to form a variety of combinations within the scope of the invention.
  • the Data Item Replacement System obtains "customized" or "user- specific" data items (e.g., ads) for a user at a communications device, such as a client computer, from another communications device, such as a server computer, across a network.
  • the Data Item Replacement System downloads a media stream (e.g., a radio signal from a radio station).
  • the Data Item Replacement System replaces general data items (e.g., ads) in the media stream with customized or user-specific data items (e.g., ads) for the user of the client computer in real time.
  • the Data Item Replacement System provides delivery of rich media (audio and video) data items.
  • the Data Item Replacement System works in conjunction with systems that support media streams (e.g., a radio station that streams audio via the Internet, referred to as an Internet radio).
  • the Data Item Replacement System points to the radio station's stream via a Uniform Resource Location (URL), which identifies the location of a media stream.
  • URL Uniform Resource Location
  • One advantageous feature of the Data Item Replacement System's strategy includes the ability to demographically target data items and provide data item replacement on media streams (e.g., Internet radio channels) of those targeted data items. Additional elements or features of the Data Item Replacement System include:
  • Targeted data item e.g., advertisement
  • Graphical banner such as a rotating graphical advertisement banner
  • Customizable graphical content than enables co-branding 3000-plus station database, searchable and sorted by format, city and country
  • Graphical/visual content e.e., video synchronized with audio
  • FIG. 1 is a schematic diagram illustrating a client/server computer environment of an embodiment of the present invention, and, more particularly, illustrates a typical distributed computer system using the network to connect a communications device, such as, a client computer 100 executing computer programs to a bank of communications devices, such as, server computers, referred to as Data Center servers 110, executing computer programs, and to connect the server computer 110 to data sources that may be geographically distributed.
  • a communications device such as, a client computer 100 executing computer programs to a bank of communications devices, such as, server computers, referred to as Data Center servers 110, executing computer programs, and to connect the server computer 110 to data sources that may be geographically distributed.
  • a typical combination of resources may include a client computer 100 that is a personal computer or workstation, and Data Center servers 110 that are personal computers, workstations, minicomputers, or mainframes. These systems are coupled to one another by various networks, including LANs, WANs, and the Internet.
  • the client computer 100 is bi-directionally coupled with the Data Center servers 110 over a line or via a wireless system.
  • the server computers include a Data Collection server 112, a Data Item server 114, a Data Item Content server 116, and a Data Item Exchange server 118.
  • a Data Collection server 112 a Data Item server 114, a Data Item Content server 116, and a Data Item Exchange server 118.
  • the Data Center servers may comprise many different combinations of servers, including, for example, multiple Data Item Content servers.
  • a user at the client computer invokes a streaming media application 102 that enables the user to access a media stream.
  • the streaming media application is a user interface, referred to as a "Tuner", that enables the user to listen to radio stations.
  • the Tuner is a browser-bound application, and, in other embodiments, the "Tuner” works in conjunction with a browser application.
  • a Data Item Manager 104 works with the streaming media application 102 to replace data items (e.g., ads) in the media stream 120 received by the streaming media application 102.
  • the Data Item Manager 104 includes the following components: a Data Item Agent 106 and a Data Item Scheduler 108.
  • the Data Item Manager 104 requests the user to enter registration data 130.
  • the registration data 130 includes, without limitation, age, gender, and demographic information.
  • the Data Item Manager 104 forwards the registration data 130 to the Data Collection server 112.
  • the Data Collection server 112 returns a user id 132. Periodically, the Data Item Manager collects and transmits usage data 134 to the Data Collection server 112.
  • the usage data 134 includes data on the user's usage of the system, such as which radio stations the user listened to. Additionally, the Data Item Manager 104 periodically forwards a Data Items Played Notification 135 to the Data Collection server 112 to indicate which data items have been played and how frequently each has been played.
  • the Data Item Agent 106 requests data items 136 from the Data Item server 114 that are to be provided to the user.
  • the Data Item server 114 returns a list of data items 138 (i.e., a Data Item list identifying ads or spots) that are selected based on various factors, including, but not limited to, data on a user in the Data Collection server 112 (e.g., a psychometric profile), campaign metrics or business parameters in the Data Item Exchange server 118 or one or more media streams being accessed.
  • the Data Item Agent 106 checks this list of data items 138 against a cache of previously downloaded data items.
  • the Data Item Agent 104 begins downloading the data item, and continues this until all data items in the current list of data items are locally available (i.e., cached data items, such as ads or spots).
  • the Data Item Agent 104 requests data item content 140 from the Data Item Content server 116, which transmits the data item content 142 to the Data Item Agent 106.
  • the Data Item Agent 106 caches the data item content 140.
  • the Data Item Scheduler 108 uses the queue points to determine starting points of, for example, commercial breaks. Additionally, the Data Item Scheduler selects data items from the received list of data items 138 using history information and content identification list information 122.
  • the history information includes, without limitation, a history of particular data items, such as when and how often a particular data item was played, and a history of all data items played, such as what types (e.g, banners or audio) of data items have been played.
  • the content identification list 122 is used to determine information such as the length of the data to be replaced (e.g., the length of a commercial break).
  • the Data Item Scheduler 108 replaces "general" data items in the media stream with "customized” or "user-specific” data items that are cached. That is, when the media stream is played and a queue point is reached, which indicates that, for example, a commercial break of a certain duration is to occur, the Data Item Scheduler 108 intelligently chooses one or more cached data items of that duration to play in lieu of items already embedded in the stream.
  • the Data Item Manager 104 performs cache management.
  • the Data Item Manager 104 removes data items in the cache based on a variety of factors, including the age of a data item, the frequency of selection of the data item, an expiration date specified by for that data item (which is identified using business rules/parameters in the Data Item Exchange server 118), and the size of the cache.
  • low and high watermarks are set for determining when to stop caching data items and when to retrieve additional data items.
  • one embodiment of the invention is comprised of a collection of components, which will be referred to as an "Data Item Replacement System". It is to be understood that the illustration of these components is to provide an example only of one embodiment, and the components may be combined to form a variety of combinations (e.g., the Data Item Exchange and Data Item Content Network servers may be one component) within the scope of the invention. Additionally, rather than having a client/ server architecture, all of the components of the Data Item Replacement System may be located on one computer or in some other architecture (e.g., in a multi-client/multi-server architecture).
  • the computer programs executing at each of the computers are comprised of instructions which, when read and executed by the computers, cause the computers to perform the steps necessary to implement and/or use the present invention.
  • the computer programs are tangibly embodied in and/or readable from a device, carrier, or media, such as memory, data storage devices, and/or data communications devices.
  • the computer programs may be loaded from the memory, data storage devices, and/or data communications devices into the memory of each computer for use during actual operations.
  • the present invention may be implemented as a method, apparatus, system, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof.
  • the Data Item Manager 104 is a "replacer" in an apparatus.
  • FIG. 1 is not intended to limit the present invention. Indeed, those skilled in the art will recognize that other alternative hardware environments may be used without departing from the scope of the present invention.
  • other hardware environments may include, without limitation, communications devices, such as appliances, personal digital assistants (PDAs), wrist watches, stand alone Internet radios, set top boxes, television systems, mainframe computers, minicomputers, or personal computers. These may be used in various configurations, such as in a local area network or in conjunction with the Internet. These other environments may work with each other or may work independently.
  • FIG.2 is a schematic diagram illustrating a hardware environment used to implement a client computer in one embodiment of the invention.
  • the present invention is typically implemented using a client computer 200, which generally includes a processor 202, random access memory (RAM) 204, data storage devices 206 (e.g., flash, CMOS, floppy, CD-ROM disk drives, etc.), data communications devices 208 (e.g., modems, network interfaces, etc.), display devices 210 (e.g., CRT, LCD display, etc.), and input devices 212 (e.g., retinal eye movement, touch screen, voice activation, mouse pointing device, keyboard, CD-ROM drive, etc.).
  • RAM random access memory
  • data storage devices 206 e.g., flash, CMOS, floppy, CD-ROM disk drives, etc.
  • data communications devices 208 e.g., modems, network interfaces, etc.
  • display devices 210 e.g., CRT, LCD display, etc.
  • attached to the client computer 200 may be other devices, such as read only memory (ROM), a video card, bus interface, printers, etc.
  • ROM read only memory
  • video card a video card
  • bus interface a bus interface
  • printers a printer
  • client computer 200 any combination of the above components, or any number of different components, peripherals, and other devices, may be used with the client computer 200.
  • the client computer 200 operates under the control of an operating system (OS) 214.
  • the operating system 214 is booted into the memory 204 of the client computer 200 for execution when the client computer 200 is powered-on or reset.
  • the operating system 214 controls the execution of one or more computer programs 216, such as a Data Item Manager, a Data Item Agent, and a Data Item Scheduler, by the client computer 200.
  • the computer programs 216 may use one or more data item lists or content identification lists stored on a data storage device 206.
  • the present invention is generally implemented in these computer programs 216, which execute under the control of the operating system 214 and cause the client computer 200 to perform the desired functions as described herein.
  • the operating system 214 and computer programs 216 are comprised of instructions which, when read and executed by the client computer 200, causes the client computer 200 to perform the steps necessary to implement and/or use the present invention.
  • the operating system 214 and/or computer programs 216 are tangibly embodied in and/or readable from a device, carrier, or media, such as memory 204, data storage devices 206, and/or data communications devices 208.
  • the computer programs 216 may be loaded from the memory 204, data storage devices 206, and/or data cornmunications devices 208 into the memory 204 of the client computer 200 for use during actual operations.
  • the present invention may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof.
  • article of manufacture (or alternatively, “computer program product”) as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media.
  • FIG. 2 is not intended to limit the present invention. Indeed, those skilled in the art will recognize that other alternative hardware environments may be used without departing from the scope of the present invention.
  • FIG. 3 is a schematic diagram illustrating a hardware environment used to implement a server computer in one embodiment of the invention.
  • the present invention is typically implemented using a server computer 300, which generally includes a processor 302, random access memory (RAM) 304, data storage devices 306 (e.g., hard, floppy, and/or CD-ROM disk drives, etc.), data communications devices 308 (e.g., modems, network interfaces, etc.), display devices 310 (e.g., CRT, LCD display, etc.), and input devices 312 (e.g., mouse pointing device and keyboard).
  • RAM random access memory
  • data storage devices 306 e.g., hard, floppy, and/or CD-ROM disk drives, etc.
  • data communications devices 308 e.g., modems, network interfaces, etc.
  • display devices 310 e.g., CRT, LCD display, etc.
  • input devices 312 e.g., mouse pointing device and keyboard
  • attached to the server computer 300 may
  • the server computer 300 operates under the control of an operating system (OS) 314.
  • OS operating system
  • the operating system 314 is booted into the memory 304 of the server computer 300 for execution when the server computer 300 is powered-on or reset.
  • the operating system 314 then controls the execution of one or more computer programs 316.
  • the present invention is generally implemented in these computer programs 316, which execute under the control of the operating system 314 and cause the server computer 300 to perform the desired functions as described herein.
  • the operating system 314 and computer programs 316 are comprised of instructions which, when read and executed by the server computer 300, causes the server computer 300 to perform the steps necessary to implement and/or use the present invention.
  • the operating system 314 and/or computer programs 316 are tangibly embodied in and/or readable from a device, carrier, or media, such as memory 304, data storage devices 306, and/or data communications devices 308.
  • the computer programs 316 may be loaded from the memory 304, data storage devices 306, and/or data communications devices 308 into the memory 304 of the server computer 300 for use during actual operations.
  • the present invention may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof.
  • article of manufacture (or alternatively, "computer programproduct) as usedherein is intended to encompass acomputer program accessible from any computer-readable device, carrier, or media.
  • FIG. 3 is not intended to limit the present invention. Indeed, those skilled in the art will recognize that other alternative hardware environments may be used without departing from the scope of the present invention.
  • the Data Item Replacement System provides a sfreaming media application comprised of a user interface that resembles a radio tuner.
  • This streaming media application will be referred to as a Tuner.
  • the Tuner executes on various platforms/operating systems and may, instead, be a browser-bound application.
  • the Tuner is a Microsoft Windows ® desktop application that provides users with the ability to easily listen to a large variety of Internet radio stations.
  • the Tuner itself is written in C++ using a component object module (COM) architecture that executes on various Microsoft Windows ® platforms, including, without limitation, Windows NT ® , Windows 95 ® , Windows 98 ® , and Windows 2000 ® platforms.
  • COM component object module
  • Microsoft, Windows NT, Windows 95, Windows 98, Windows 2000 are trademarks or registered trademarks ofMicrosoft Corporation in the United States and/or other countries.
  • the Tuner may be customized for different applications or different companies.
  • a Data Item Manager 104 on the client computer is embedded in the Tuner or works in conjunction with the Tuner.
  • the Tuner may be downloaded via a network, such as the Internet or may be provided on a data storage device. Once downloaded, the Tuner may be invoked and used. The first time the tuner is executed, the user will be prompted for registration information.
  • FIG. 4 illustrates a registration window 400 that is used to obtain registration information.
  • the registration information that is requested includes: Gender 402, Year of Birth 404, City 406, State 408, Country 410, Postal Code 412, and E-mail address (optional). In other embodiments, other information may be requested, mcluding, without limitation, an education level, an income level, hobbies, and interests.
  • the user selects the Register button 416 to continue or the Quit button 418 to terminate.
  • the Tuner will not run unless the registration information is successfully filled out.
  • the user interface is displayed to a user at the client computer.
  • FIG. 5 illustrates a radio window 500 that is displayed after the registration information is collected successfully.
  • a tune-in button 502 When a tune-in button 502 is selected, a user is able to view a database of stations. Once a user selects a station, the user may play music by selecting a play button 504, stop playing music by selecting a stop button 506, and adjust volume by selecting a volume button 508. Additionally, a user may select a web button 510 to access a web site for a selected station or select a chat site button 512 to access a web site used for chatting with others tuning in to the selected station.
  • Pre-set buttons 514 may be used to pre-set 8 station selections by selecting a pre-set button 514 while listening to a radio station until that stations identifier (e.g., KHS) is displayed by the pre-set button 514. Once pre-set, a user may select one of the pre-set buttons to listen to a set station.
  • the radio window 500 also provides additional information, such as Tuner Tips, FAQs (frequently asked questions), and Updates.
  • FIG.6 illustrates a station selection window 600 that is displayed when the tune-in button 502 is selected.
  • the station selection window 600 enables a user to view music categories by COUNTRY, CITY , or FORMAT.
  • FORMAT has been selected by clicking on the tab 602 by the arrow key until FORMAT is displayed.
  • the format category includes: Sports for a sports radio station, Talk for a talk radio station, and Top 40 for a station that plays songs falling in a "Top 40" category, along with many other groups.
  • the Top 40 format has been selected.
  • the stream identifiers airing that format of music are listed 604 (e.g., KDWB, KHS, and KLRS).
  • chcking on a stream identifier once provides additional information about the radio station.
  • the information may include, for example, the broadcasting city of the station along with the location of the station on an AM/FM dial radio.
  • the radio station represented by KQS has been selected to obtain information.
  • information e.g., keywords, such as "jazz" or "KIIS”
  • the user may select a Search button 606, and the invention searches for the specified information. Stations matching the specified information are than displayed for the user. To listen to that radio station, a user would double-click on the stream identifier with a mouse or select the Play button 608.
  • FIG.7 illustrates a radio window 700 after a station has been selected.
  • the radio window 700 contains information about the station 702 that has been selected, along with Author, Title, and Copyright information 704.
  • the Data Item Replacement System provides a hardware device that resembles a radio.
  • This device will be referred to as a Hardware Tuner.
  • the Hardware Tuner is a physical electronic device that provides users with the ability to easily hsten to a large variety of Internet radio stations or other media streams.
  • the Hardware Tuner may be customized for different applications or different companies. For example, it may take the form of what is known as a "set-top box", that is, an electronic controller box which attaches to a television set and/or stereo system in order to enhance the capabilities and functions of that TV/system. It may also take the form of a wireless Internet appliance, resembling a transistor radio that tunes to worldwide signals via a wireless Internet connection.
  • the user is able to view a database of stations. Once a user selects a station, the user may play streams by pressing a play button, stop playing streams by selecting a stop button, and adjust volume by turning a volume knob.
  • Pre-set buttons may be used to pre-set a number of station selections. While hstening to a radio station the user depresses a pre-set button until a beep is heard and that station's identifier (e.g., KITS) is displayed. A user may subsequently press one of the pre-set buttons to hsten to a set station.
  • a Data Item Manager is embedded in the Hardware Tuner. The first time the Hardware Tuner is used, the user will be prompted for registration information similar to that information collected by the Tuner embodiment.
  • the Hardware Tuner may ascertain its current location through use of systems such as GPS (Global Positioning Satellite) and may use this location data to deliver media having local relevance.
  • the Data Item Manager 104 packages the registration information into an Extensible Mark-up Language (XML) stream and transmits this to the Data Collection server 112.
  • the Data Collection server 112 issues a user identification number (userlD) that is sent back to the Data Item Manager 104.
  • the Data Item Manager 104 saves the userlD in a registry or data file and uses the userlD in every transaction with the Data Center servers 110. This uniquely identifies the user.
  • the Data Item Manager 104 also transmits a Tuner identifier (TunerlD) to the Data Center servers 110 to identify the Tuner being used.
  • the Data Item Manager 104 fransmits a stream identifier to the Data Center servers 110 to enable those servers to identify data items to be played for that station.
  • the Data Item Manger 104 communicates with the Data Center servers 110 to:
  • the Data Item Manager 104 intermittently queries the Data Center servers 110 to verify that the user's stations database is current.
  • the Data Item Manager 104 receives an XML stream that describes the operations necessary to update the database. Stations can be individually updated, added or deleted from the database.
  • the station database files reside locally (e.g., on a disk) at the client computer in an encrypted form.
  • a web update component of the Tuner intermittently queries the Data Center servers 110 to insure that the user has the current version of Tuner product components and latest product settings.
  • the web update component issues an XML stream containing the tunerlD to the product update servlet running on one of the Data Center servers 110, which in return sends back an XML stream that describes components and their download locations.
  • the web update component then downloads each component into a temporary download directory.
  • the product update XML schema also defines actions required on each downloaded component, which enables the web update component to run executables (.EXE, .COMand .BAT files), register COM components, and update registry settings for the Tuner.
  • the web update component uploads user-profiling data after every ten tuner events.
  • Tuner events are classified as the following actions on the tuner: tuning into a station, going to the station's website or chat site, setting a preset, or clicking on a displayed item, such as an advertisement.
  • the user profiling data is logged to disk and is flushed after each delivery to the Data Center servers 110.
  • the profiling data is used by the Data Item Content server 116 for generation of specialized Internet radio listenership reports, but more importantly, this data is used by the Data Item server 114 rules engine that generates a near real-time psychometric profile of the user, based on their most recent behaviors).
  • the Data Item server 114 creates a prioritized and targeted data item list (e.g., a spot-list).
  • the Data Item server 114 utilizes a rules engine and dynamic rule base to determine how to both target data items and categorize users.
  • users are classified by their registration information, additional survey information, and their behavior (e.g., ads that they select or radio stations to which they hsten).
  • the rules engine at the Data Item server 114 executes based on events that supply information that contribute to enhancing a user's real-time psychometric profile. This profile is used to identify data items to be targeted to a user when creating a list of data items.
  • the rules engine of the Data Item server 114 also interfaces with a campaign manager that prioritizes data items according to campaign metrics to ensure campaigns are successfully implemented. For example, the Data Item Content server 116 may select data items based on demographics.
  • the Data Item Content server 116 uses the userlD to obtain the user's gender and city and determines whether the user is a male living in Los Angeles and determines whether the user matches the characteristics sought by one or more data items in the campaign.
  • the Data Item Content server 116 may identify data items by the user's past behavior. For example, if the user often clicks on automobile advertisements, the Data Item Content server 116 may show the user other automobile advertisements.
  • the Data Item Content server 116 may also identify data items based on business parameters.
  • the business parameters are based on agreements with advertisers to have their data items placed into media streams. For example, an advertiser may want to specify some split of data items, such as that 60% of the data items should be their data items, and the remaining 40% of the data items would be other advertiser's data items.
  • An advertiser may also want to specify that a specified number of their data items are to be played (e.g., 3000) during a particular period of time (e.g., one or more weeks), and the Data Item Content server 116 monitors the number of data items played for that advertiser and plays the data items with a frequency determined by the number of data items remaining to be played and the duration of the period in which they are to be played.
  • the Data Item Content server 116 identifies data items and creates a data item list (e.g., a spot-list).
  • the data item Ust contains a hst of data items with associated URLs that are used to obtain the content of the data items.
  • the Ust of data items has information, including, without limitation, a length of the advertisement, a name for the advertisement, an expiration period of the advertisement, a flight identifier, and a format (e.g., play on certain stations).
  • the Data Item Agent 106 is responsible for the caching structure of advertisement content on the client computer.
  • the Data Item Agent 106 initially issues a request with the userfi for advertisement material to the Data Item server 114, which processes the request and responds with a prioritized and targeted hst of data items (e.g., a spot-Ust).
  • the Data Item Agent 106 pulls down the actual advertisement content in an unobtrusive and governed manner, in order not to impact the performance of the cUent computer.
  • this "stealth" download process the data items are placed into the caching structure in accordance to their priority and length.
  • the "stealth" download may occur in many different forms.
  • the data items are downloaded when there is little or no user activity.
  • the amount of activity may be determined by determining whether a screen saver is being displayed at the cUent computer or the last time of user input via a keyboard, mouse, or other input device.
  • the Data Item Replacement System determines the bandwidth of the line over which the download will occur and selects a percentage of that bandwidth as the amount of advertisement data that will be downloaded at any given time. For example, if the total bandwidth is 56K, and 10% is to be used for downloading data items, then 5.6K of the bandwidth will be dedicated to downloading data items. This results in minimal intrusion on the user's use of the line.
  • the percentage selected may be predetermined by the Data Item Replacement System based on the amount of bandwidth, may be set by a Data Item Replacement System administrator, or may be customized by a user.
  • the Data Item Replacement System determines the amount ofbandwidth of the line that is to be used for downloading data items by mapping the total bandwidth available to a set amount. For example, a total bandwidth of 56K may map to 8K, which results in 8K of the line being used to download data items.
  • the Data Item Replacement System monitors the line and downloads data items when there is little or no activity on the line.
  • the Data Item Manager 104, Data Item Agent 106, and Data Item Scheduler 108 coordinate with the Data Center servers 110 to deliver near real-time targeted audio advertisements that replace the in-sfream audio advertisements from the radio station.
  • the radio stations that agree to be part of this system will allow the Data Item Replacement System to place queue points in the media stream from the radio station.
  • the queue points are used to locate the portions of the media stream that comprise specific data items, such as ads.
  • a queue point encoding agent which is part of the Data Item Replacement System, is responsible for placing encrypted queue points into the stream to coordinate the placement of data items and other information in a media stream.
  • the Data Item Manager 104 encounters queue points in the media sfream, the Data Item Manager's 104 selection technique chooses one or more data items that are to be played.
  • the Data Item Manager 104 logs all data items that are played and sends this information back to the Data Item Content server 116 to track campaigns.
  • the Data Item Manager 104 inspects the data item cache and, if any low watermark conditions are met, another request for data item material is issued to the Data Item Content server 116.
  • the Data Item Manager 104 also monitors the age of data items, such that dormant data items that are never or no longer played are removed from the cache.
  • FIG. 8 is a schematic that illustrates an environment in which an embodiment of the invention is used.
  • the invention replaces data items (e.g., ads) in Uve streams (e.g., a radio or other signal from a satelhte 801) or archived/on-demand streams (e.g., a movie stored on a data storage device).
  • Uve streams e.g., a radio or other signal from a satelhte 801
  • archived/on-demand streams e.g., a movie stored on a data storage device
  • a Stream Automation System 800 manages a content identification list 804 (i.e., a Usting of items to be played, for example, songs to be played).
  • a Queuing Agent 802 of the invention works with the Stream Automation System 800 to manually insert queue points in the sfream and to manage traffic when frammittingthe content identification Ust 804 and a media stream 806 (i.e., the content of the items in the content identification Ust) to an Encoding System 810.
  • the Queuing Agent 802 fransmits the content identification list 804 and the media stream 806 to a Queue Point Encoding Agent 812.
  • the Queuing Agent 802 creates the content identification Ust 804.
  • queue points are added manually, by, for example, an engineer.
  • the Queue Point Encoding Agent 812 encodes the media sfream 806 with queue points. That is, the Queue Point Encoding Agent 812 inserts queue points into the media stream 806 based on data in the content identification Ust 804.
  • a queue point indicates the points at which data items have been inserted into the audio stream originaUy and provide information on the data item (e.g., whether the data item is a jingle or an emergency broadcast signal, the length of the data item, etc.). These data items are typically directed to listeners in a general geographic area, rather than customized for a particular user.
  • the content identification Ust 804 and media stream 806 with queue points are transmitted across a network, such as the Internet.
  • the transmission is a signal with queue points graphically illustrated as EO, El, and E2.
  • the client computer 820 receives the content identification Ust 804 and media stream 806.
  • the Data Item Manager 822 at the cUent computer obtains data items from one or more Data Item Lists 824 and replaces the original data items in the media stream 806 with data items from the Data Item Lists 824.
  • the data items from the Data Item Lists 824 are customized for the user of the computer, who then accesses (e.g., Ustens to or views) the media stream with customized data items 826 from a media player, such as a speaker and/or display device.
  • FIG. 9 illustrates an Encoder Agent 900 for encoding a media stream (e.g., an audio stream) in more detail.
  • the media stream may be received by the Encoder Agent 900 as analog or digital input. If the media sfream is in analog form, the Encoder Agent 900 converts the analog to digital form.
  • the media sfream includes content such as audio and/or video data and includes other information, such as information about device drivers.
  • a content identification Ust 912 is received by a Communication Interface 912 and forwarded to the Encoder Agent 900.
  • the Encoder Agent 900 identifies queuing information 914 from the content identification Ust 912.
  • the Encoder Agent 900 passes the media stream 906 and the queueing information 914 to an Encoder Interface 920.
  • the Encoder Interface 920 is an interface to an Encoder 922.
  • Example Encoders include, without limitation, RealPlayer ® , QuickTime ® , or Windows ® Media Player. (RealPlayer is a registered trademark of RealNetworks Inc. in the United States and/or other countries. QuickTime is a registered trademark of Apple Computers Inc. in the United States and/or other countries. Windows and Windows Media are trademarks of Microsoft Corp. in the United States and/or other countries.)
  • the Encoder 922 inserts one or more encoded queue points 930 into the media stream, resulting in an encoded media stream 940.
  • FIG. 10 illustrates a flow of processing for adding queue points to a media stream.
  • a content identification list 1000 is input to a Parse Data component 1002 that parses the content identification Ust 1000. This parsed data is forwarded to a Notify Agent component 1004.
  • the Notify Agent component 1004 monitors for events 1006 (i.e., points in the content identification Ust that need to be tagged, such as the start of an ad).
  • the Notify Agent component 1004 forwards the event 1006 to a Tagging component 1010.
  • the Tagging component 1010 receives the event 1006 along with a media stream 1008 (e.g., an audio sfream) and tags the media stream 1008 with event scene information based on the event 1006.
  • An Encoded Media Stream component 1012 encodes the tagged media sfream received from the Tagging component 1010 and forwards the encoded and tagged media stream 1014 to other components.
  • data items are advertisements.
  • the Data Item Exchange 118 enables advertisers to create a campaign. If a particular advertiser desires to deUver one or more data items to a particular demographic, the advertiser can use a user interface provided by the Data Item Replacement System to create a campaign. Each campaign has one or more flights. Each flight may be directed to a different demographic group. Additionally, the information (e.g., demographic information or number of advertisements to play) users input in creating a campaign is used by a business rules component to apply business rules to select advertisements.
  • the data item content is loaded into the Data Item Exchange 118 and then uploaded to the Data Item Server 116.
  • FIG. 11 illustrates a campaign window 1100 for creating a campaign.
  • a user may select an Add New Campaign button 1102 to create a new campaign. When this button 1102 is selected, the user is prompted for a Campaign Name 1104 and a Campaign Description 1106. When this data is entered, a user selects the Add Campaign button 1108. After this, the user may select the Go To Ad Manager button 1110 to continue creating the campaign. Additionally, the user may select the View Campaign button 1112 to view the campaign or select the Delete Campaign button 1114 to delete the campaign.
  • FIG. 12 illustrates a first ad definition window 1200 for defining an ad.
  • FIG. 12 illustrates the ad definition window 1200 after two ads 1202 and 1204 have already been defined for the campaign.
  • a user identifies a Spot Type 1206.
  • a Spot Type 1206 may be a banner ad, a gateway ad, or an audio ad.
  • an Audio Inserted Ad has been selected.
  • the Duration 1208 of the ad is input, which in this example is 5.2 seconds.
  • a Description 1210 of the ad is input.
  • a user may select a Submit Ad Information button 1212 to continue processing.
  • FIG. 13 illustrates a second ad definition window 1300 for selecting an ad file.
  • the second ad definition window 1300 is displayed when a user selects the Submit Ad Information button 1212 of FIG. 12. At this time, the user is prompted to select an ad file in the Select Ad File text area 1302. The user may Browse 1304 for ad files. Once an ad file is selected, the user selects the Submit Ad button 1306.
  • FIG. 14 illustrates a third ad definition window 1400 Usting an ad that has been defined using the first and second ad definition windows 1200 and 1300. The ad definition window 1400 is displayed when a user selects the Submit Ad button 1306 of FIG. 13. In ad definition window 1400, a new audio ad 1402 is Usted for the campaign.
  • a flight - defines the target audience of an ad, the period of time during which a particular ad is to air, and the number of times it is to air.
  • a view campaign window 1500 is displayed, as illustrated in FIG. 15.
  • the view campaign window 1500 displays the selected campaign 1502, which was created as described above using FIGS. 11-14.
  • the view campaign window 1500 displays flight information 1504, but, in this example, this information is blank as a flight has not yet been created.
  • a user may select a New Banner Flight button 1506, a New Gateway FUght button 1508, or a New Audio FUght button 1510.
  • a FUght Details button 1512 provides details about the flight
  • a Get A Quote button 1514 automatically provides a price quote for a selected flight
  • a Buy FUght button 1516 purchases a flight at the quoted price
  • a Terminate Flight button 1518 terminates a flight that has been purchased.
  • FIG. 16 illustrates a flight manager window 1600 that is displayed upon selection of the New Banner Flight button 1506 of FIG. 15.
  • the flight manager window 1600 collects information about the Name 1602 of the flight, the number of Impressions 1604 (i.e., ads) to be displayed for the flight, and the Description 1606 of the flight.
  • the Price 1608 and CPM 1610 wiU be determined after additional information is entered and the Submit and Get Quote button 1612 is selected.
  • the Start Date 1614 and End Date 1614 are used to specify the period of time during which the flight is to run. For each Market 1622, an Age 1618 and a Gender 1620 may be selected.
  • the Age 1618 category provides a drop down Ust box that allows selection of "All Ages” or of a range of years (e.g., 0-4, 5-9, etc.).
  • the Gender 1620 category provides a drop down list box that enables selection of "Male”, “Female”, or “Both”.
  • the Market 1622 category provides a drop down Ust box that lists 250 demographic areas, which have become a standard for use in the broadcasting field.
  • the banner ad 1624 selected for the flight is for the campaign created above, it is a banner ad, with a duration of 5.2 seconds, and its status is Approved. Note that the Status at this time may be Unapproved or Approved.
  • the Approval process is performed by a Data Item Replacement System administrator who ensures that the content of the ad falls within legal guidelines (e.g., is not a threat to harm someone) and is actually the duration that is identified (e.g., is actuaUy 5.2 seconds and not 5.7 seconds).
  • 3000 impressions of a banner ad 1624 are to be displayed between April 10, 2000 and May 10, 2000 to males of aU ages Uving in Colorado Springs - Pueblo, Los Angeles, and New York.
  • the Data Item Replacement System matches a user's registration information to the flight information to select ads for that user.
  • the quote window 1700 is similar to flight manager window 1600, but quote window 1700 specifies a Price 1702, a CPM 1704, and a Purchased AvailabiUty 1706.
  • the revised view campaign window 1800 of FIG. 18 is displayed.
  • the revised view campaign window 1800 now shows a flight 1802 with a status of Committed.
  • the status of a flight may be Priced (if priced but not committed), Committed (if priced and committed), Completed (if the number of impressions purchased have been output), or Terminated (if a flight is terminated after being committed).
  • the FUght Details button 1804 is selected, the flight details window 1900 of FIG. 19 is displayed.
  • the flight details window 1900 provides information about the flight, including the number of Impressions 1902 that have been filled out of the ones that have been bought already.
  • a campaign may have multiple flights, and each flight may have multiple ads.
  • the Data Item Replacement System forwards the collected information (e.g., age, gender, market, duration, type of ad, and total number of ads purchased) to the Data Item server 114.
  • the Data Item server 114 uses this information to identify ads to be output to particular users. Once the requested number of ads have been played, the campaign expires.
  • the Data Item Agent 106 requests data items 136 from the Data Item server 114 that are to be provided to the user.
  • the Data Item server 114 returns a list of data items 138 (i.e., an Ad or Spot Ust) that are selected based on data on the user in the Data Collection server 112.
  • the Data Item Agent 106 checks this Ust of data items against a cache of previously downloaded data items.
  • the Data Item Agent 104 begins downloading the ad, and continues thus until aU data items in the current Ust of data items are locally available (i.e., cached ads or spots).
  • the Data Item Agent 104 requests ad content 140 from the Data Item Content server 116, which transmits the ad content 142 • to the Data Item Agent 106.
  • the Data Item Agent 106 caches the ad content 140.
  • the Data Item Scheduler 108 uses the content identification Ust 122 to determine where to place data items in the mediastream 120. Then, the Data Item Scheduler 108 replaces the "general"data items in the media stream with "user-specific"data items that are cached. That is, when the media stream is played and a queue point is reached, which indicates that a commercial break of a certain duration is to occur, the Data Item Scheduler 108 intelUgently chooses cached data items to play in Ueu of those embedded in the sfream.
  • FIG. 20 illustrates a media sfream 2000, which has a commercial break 2002 that is replaced by cached spots 2004.
  • FIG.21 illustrates a media sfream 2100 for which a commercial break is fiUed with cached spots 2102 and remote spots 2104.
  • the cached spots 2102 play while the remote spots 2104 are downloaded and buffered. Thus, there is no "lost time” due to buffering the remote spots 2104.
  • Rebuffering time 2106 requires only one-third to one-half of the amount of time that it takes to estabhsh the initial connection to the media stream. In one embodiment, this is eliminated by using a second cached spot while rebuffering. Also, in some embodiments, the rebuffering time 2106 may be eliminated when using particular media players, such as Windows ® Media Player.
  • the durations of the two buffering periods are highly variable, being dependent on transient Internet conditions.
  • the Data Item Scheduler 108 would monitor the progress of a commercial break, dynamically predicting the actual duration of the break versus the ideal duration as communicated in the queue point. The Data Item Scheduler 108 would then choose a last spot with the most appropriate length, "stretching" or ''shrinking” it, or dropping it entirely.
  • the remote spot sfream is a file having a .RAM (real audio media) file extension or a .
  • ASX file extension i.e., a textual command file that manages streaming of ASF in a compressed file format that can store audio and video information and is designed to run over the Internet
  • a Ust of the remote spots' URLs followed by the URL of the station sfream For example,
  • This technique is advantageous in that there is considerably less downloading of spots from the Data Item Content server 116. Additionally, this technique opens the possibihty that multistation tuners and Data Item Manager-only situations could present station-specific spots. This could be done without the need to create many different and large spot caches on a user's cUent computer.
  • FIG. 22 is a flow diagram illustrating a process performed by the Data Item Replacement System.
  • the Data Item Replacement System initially enables users (e.g., advertisers) to create one or more campaigns targeting specific demographic groups.
  • a campaign may have one or more flights, each directed to a different group (e.g., one directed to males of all ages in Los Angeles and another directed to females of all ages in Los Angeles).
  • the campaign has associated campaign metrics (e.g., a particular data item should be played 300 times during a three month period).
  • campaign metrics e.g., a particular data item should be played 300 times during a three month period.
  • business metrics e.g., the campaign creators ads are to be played at specified times).
  • the Data Item Replacement System collects registration and user usage information.
  • the registration information is typically collected once, when a user initiaUy uses a sfreaming media appUcation (e.g., the Tuner user interface) that works with the Data Item
  • the user usage information is collected as the user uses the sfreaming media application to access media streams (e.g., listen to music on a radio channel), to view and "click-on"
  • media streams e.g., listen to music on a radio channel
  • the registration information and user usage information is used to create a psychometric profile.
  • the Data Item Replacement System selects a subset of data items from the available data items based on a combination of factors.
  • the Data Item Replacement System matches one or more data items from one or more campaigns to a user's regisfration and user usage mformation. For example, if data items from a campaign are directed to females of all ages in Los Angeles, when a user's regisfration information indicates that the user is female and Uves in Los Angeles, the data items from that campaign will be selected for that user. That is, data items are selected by matching demographic information associated with the data items with demographic information associated with a user. Additionally, the data items may be selected based on zero or more psychometric profiles, zero or more campaign metrics, and zero or more business rules.
  • the Data Item Replacement System downloads one or more data items in the subset of data items using a "stealth" download process.
  • the data items are placed into the caching structure in accordance to their priority and length.
  • the Data Item Replacement System selects one or more replacement data items from the subset of data items to replace data items already in the media stream using history information about the data items and using content identification - Ust information. Then, in block 2210, the Data Item Replacement System replaces general data items (e.g., ads targeted at a general geographic group) in the media sfream with selected data items targeting the user.
  • general data items e.g., ads targeted at a general geographic group
  • the Data Item Replacement System is advantageous in many ways.
  • the Data Item Replacement System enables advertisers to associate demographic information with data items, so that the demographic information may be matched to a user's demographic information.
  • the data items in a particular media stream e.g. , a particular sfream from a radio station
  • the Data Item Replacement System replaces existing data items in a media sfream, rather than just adding appending data items or overwriting a pre-deterrnined portion of the media (e.g., the beginning).
  • the Data Item Replacement System determines the points in the media sfream at which to replace data items, "mutes" the existing data items, and then replaces those data items with ones targeted to the user.

Abstract

A Data Item Replacement System locates a queue point in a media stream received at a communications device. The queue point indicates a beginning of one or more specific data items in the media stream. Next, the Data Item Replacement System replaces the specific data items in the media stream with replacement data items. In particular, the media stream may be an audio stream and specific and replacement data items may be spots or advertisements. The replacement data items are targeted to users of the communications device. In particular, registration information (e.g., demographic information) and user usage information is collected from a user. Then, data items are selected by matching demographic information associated with the replacement data items with demographic information associated with a user. Additionally, the data items may be selected based on zero or more psychometric profiles, zero or more campaign metrics, and zero or more business rules. From these selected data items, replacement data items are chosen using history information about the replacement data items and using content identification list information.

Description

DATA ITEM REPLACEMENT IN A MEDIA STREAM OF A STREAMING MEDIA
BACKGROUND OF THE INVENTION
1. Field of the invention.
This invention relates in general to communications devices, and, more particularly, to a technique for data item replacement in a media stream (e.g., a particular channel) of a streaming media (e.g., radio or television).
2. Description of Related Art.
The Internet is a collection of computer networks that exchange information via Hyper Text Transfer Protocol (HTTP). Currently, the use of the Internet computer network for commercial and non-commercial uses is exploding. Via its networks, the Internet computer network enables many users in different locations to access information stored in data sources (e.g., databases) stored in different locations.
The World Wide Web (i.e., the "WWW" or the "Web") is a hypertext information and communication system used on the Internet computer network with data communications operating according to a client/server model. Typically, a Web client computer will request data stored in data sources from a Web server computer, at which Web server software resides. The Web server software interacts with an interface, which is connected to the data sources. These computer programs residing at the Web server computer will retrieve the data and transmit the data to the client computer. The data can be any type of information, including database data, static data, HTML data, or dynamically generated data.
More and more, computers are being used for "entertainment". In particular, radio stations are beginning to digitally encode their audio signals and transmit them via the Internet, a process known as "streaming" or "webcasting," in addition to or instead of traditional radio transmission, which involves wireless transmission of electromagnetic radiation within particular frequency ranges into which the sound has been converted. Some radio stations now make available over the Internet both a live stream containing the same content as the station's simultaneous traditional broadcast, and an archive of previously broadcast material that can be accessed by the listener on demand.
For traditional radio broadcasts, advertisements (also referred to as "ads") are typically included in the broadcast signal, with a certain number of "spots," typically of 60 second duration, being reserved for advertising in each 60 minute period. Payments from the advertisers constitute the principal source of revenue for traditional radio stations, and the advertising thus supports the creation and distribution of the programming. Advertisers often attempt to target advertisements to particular demographic groups (e.g., residents of particular geographic locations, or particular genders or age groups). Advertising over traditional radio includes local spot radio advertising and network advertising. In local advertising, the advertiser places advertisements directly with individual stations whose broadcast signal can be received by people in the geographic area that the advertiser wishes to reach. In network advertising, the ads are placed within national network programs that are broadcast by satellite to affiliate stations around the country for re-broadcast to listeners. Through Internet distribution, radio programming can now be heard around the world, rather than being limited to a local area to which the transmitter can deliver the signal. But the local spot advertisements from the traditional broadcast are not suited to the remote listeners reached by the webcast. Yet these ads are duplicated, along with the program content, in existing radio station webcasts. It would be useful, then, if the advertisements in the traditional broadcast could be replaced, on a listener-by- listener basis, with advertisements geographically suitable for the listener (for example, an advertisement for a retail store in the locality of the listener).
Also, advertisements included in traditional radio broadcast are by their nature heard by anyone listening to that broadcast. Traditional radio advertisers wishing to reach particular demographic groups (for example, women rather than men, or persons aged 25-35 rather than children or older adults), must indirectly target these groups by purchasing ad spots during program content that they believe will be listened to by the target group. This is inherently imprecise and results in both under-inclusive and over-inclusive distribution of the ad. The interactive nature of the Internet makes it possible for advertisements to be directly targeted to the individual user based on that user's personal demographic profile. But to date targeting has been used only for visual banner advertisements, or for other advertisements that are placed before or after discrete files that are downloaded by an individual, but not for audio or video advertisements placed in a continuous webcast stream. Thus, there is a need for a technique for targeted delivery of audio and video advertisements and other data items, for insertion within continuous media streams, and for replacement of the advertisements in traditional broadcast radio programming with targeted ads for the webcast.
SUMMARY OF THE INVENTION
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method, apparatus, and article of manufacture for a technique for replacing data items in a media stream.
According to one embodiment of the invention, a queue point is located in a media stream received at a computer. The queue point indicates a beginning of one or more specific data items in the media stream. Next, the specific data items in the media stream are replaced with replacement data items. In one embodiment, the media stream is an audio stream and specific data items and replacement data items are spots or advertisements.
Queue points are placed into the media stream prior to the media stream being received at the computer. Then, as the computer receives the media stream, the queue points are located using a content identification list that identifies a sequential ordering of data items in the media stream.
The replacement data items are targeted to users of the computer. In particular, registration information (e.g., demographic information) and user usage information is collected from a user. Then, data items are selected by matching demographic information associated with the replacement data items with demographic information associated with a user. Additionally, the data items may be selected based on zero or more psychometric profiles, zero or more campaign metrics, and zero or more business rules. From these selected data items, replacement data items are chosen using history information about the replacement data items and using content identification list information.
In another embodiment, a client computer is connected to a server computer via a network. Then, the replacement data items are downloaded to the client computer from the server computer. The data items maybe downloaded based on the amount of activity at the client computer or based on a bandwidth of the network connecting the client computer and server computer. In particular, data items are selected at the server computer by matching demographic information associated with the data items to demographic information associated with a user of the client computer. Then, replacement data items are selected from the selected data items. Additionally, the client computer receives a list of data items from the server computer and then requests data items from the server computer. The replacement data items may be a combination of data items retrieved from a local cache or streamed from another computer. Additionally, periodically, data items may be removed from the local cache. When data items are played for a user, the client computer periodically forwards a data items played notification to the server computer.
In yet another embodiment, a user-interface is provided for accessing the media stream. The user-interface comprises access to a database of radio stations, a web button that enables access to a web site associated with a selected radio station, and comprises a chat button that enables access to a web chat site associated with a selected radio station. Additionally, the user- interface comprises pre-set buttons for programming access to radio stations.
In a further embodiment, the data items are advertisements and a user interface is provided for creating a campaign (e.g., an advertisement campaign). The user interface enables creation of advertisements while associating demographic information with the advertisements.
BRIEF DESCRIPTION OF THE DRAWINGS
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
FIG; 1 is a schematic diagram illustrating a client/server computer environment of an embodiment of the-invention.
FIG.2 is a schematic diagram illustrating a hardware environment used to implement a client computer in one embodiment of the invention.
FIG. 3 is a schematic diagram illustrating a hardware environment used to implement a server computer in one embodiment of the invention.
FIG. 4 illustrates a registration window that is used to obtain registration information FIG. 5 illustrates a radio window that is displayed after registration information is collected successfully.
FIG. 6 illustrates a station selection window that is displayed when a tune-in button is selected.
FIG. 7 illustrates a radio window after a station has been selected.
FIG. 8 is a schematic diagram illustrating an environment in which an embodiment of the invention is used.
FIG. 9 illustrates an Encoder Agent for encoding a media stream.
FIG. 10 illustrates a flow of processing for adding queue points to a media stream.
FIG. 11 illustrates a campaign window for creating a campaign.
FIG. 12 illustrates a first ad definition window for defining an ad.
FIG. 13 illustrates a second ad definition window for selecting an ad file.
FIG. 14 illustrates a third ad definition window listing an ad that has been defined using first and second ad definition windows.
FIG. 15 illustrates a view campaign window listing a campaign that has been created using a campaign window.
FIG. 16 illustrates a flight manager window that is displayed upon selection of a New Banner Flight button of FIG. 15.
FIG. 17 illustrates a quote window that specifies price information for a campaign flight that has been purchased.
FIG. 18 illustrates a view campaign window listing a flight that has been purchased.
FIG. 19 illustrates a flight details window that provides information about a selected flight.
FIG. 20 illustrates a media stream, which has a commercial break that is replaced by cached spots.
FIG. 21 illustrates a media stream for which a commercial break is filled with cached spots and remote spots.
FIG. 22 is a flow diagram illustrating a process performed by a Data Item Replacement System. DETAILED DESCRIPTION In the following description of embodiments of the invention, reference is made to the accompanying drawings which form a part hereof, and which are shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized as structural changes may be made without departing from the scope of the present invention.
Data Item Replacement in a Media Stream
The invention is comprised of a collection of components, which will be referred to as a "Data Item Replacement System". It is to be understood that these components may be combined in many different ways to form a variety of combinations within the scope of the invention. Generally, the Data Item Replacement System obtains "customized" or "user- specific" data items (e.g., ads) for a user at a communications device, such as a client computer, from another communications device, such as a server computer, across a network. Additionally, the Data Item Replacement System downloads a media stream (e.g., a radio signal from a radio station). The Data Item Replacement System replaces general data items (e.g., ads) in the media stream with customized or user-specific data items (e.g., ads) for the user of the client computer in real time.
The Data Item Replacement System provides delivery of rich media (audio and video) data items. The Data Item Replacement System works in conjunction with systems that support media streams (e.g., a radio station that streams audio via the Internet, referred to as an Internet radio). In particular, the Data Item Replacement System points to the radio station's stream via a Uniform Resource Location (URL), which identifies the location of a media stream.
One advantageous feature of the Data Item Replacement System's strategy includes the ability to demographically target data items and provide data item replacement on media streams (e.g., Internet radio channels) of those targeted data items. Additional elements or features of the Data Item Replacement System include:
Targeted data item (e.g., advertisement) insertion
Graphical banner, such as a rotating graphical advertisement banner
Customizable graphical content than enables co-branding 3000-plus station database, searchable and sorted by format, city and country
Zero or more radio station presets
Links to each station's website
Links to Data Item Replacement System sponsored chat sites for the station
Online HTML help
Viral tell-a-friend online email form
Graphical/visual content (e.e., video synchronized with audio)
FIG. 1 is a schematic diagram illustrating a client/server computer environment of an embodiment of the present invention, and, more particularly, illustrates a typical distributed computer system using the network to connect a communications device, such as, a client computer 100 executing computer programs to a bank of communications devices, such as, server computers, referred to as Data Center servers 110, executing computer programs, and to connect the server computer 110 to data sources that may be geographically distributed.
A typical combination of resources may include a client computer 100 that is a personal computer or workstation, and Data Center servers 110 that are personal computers, workstations, minicomputers, or mainframes. These systems are coupled to one another by various networks, including LANs, WANs, and the Internet. The client computer 100 is bi-directionally coupled with the Data Center servers 110 over a line or via a wireless system.
The server computers include a Data Collection server 112, a Data Item server 114, a Data Item Content server 116, and a Data Item Exchange server 118. One skilled in the art would recognize that the Data Center servers may comprise many different combinations of servers, including, for example, multiple Data Item Content servers.
Initially, a user at the client computer invokes a streaming media application 102 that enables the user to access a media stream. In one embodiment, the streaming media application is a user interface, referred to as a "Tuner", that enables the user to listen to radio stations. In one embodiment, the Tuner is a browser-bound application, and, in other embodiments, the "Tuner" works in conjunction with a browser application.
A Data Item Manager 104 works with the streaming media application 102 to replace data items (e.g., ads) in the media stream 120 received by the streaming media application 102. The Data Item Manager 104 includes the following components: a Data Item Agent 106 and a Data Item Scheduler 108. When the streaming media application 102 is invoked, the Data Item Manager 104 requests the user to enter registration data 130. The registration data 130 includes, without limitation, age, gender, and demographic information. The Data Item Manager 104 forwards the registration data 130 to the Data Collection server 112. The Data Collection server 112 returns a user id 132. Periodically, the Data Item Manager collects and transmits usage data 134 to the Data Collection server 112. The usage data 134 includes data on the user's usage of the system, such as which radio stations the user listened to. Additionally, the Data Item Manager 104 periodically forwards a Data Items Played Notification 135 to the Data Collection server 112 to indicate which data items have been played and how frequently each has been played.
At the beginning of a session of receiving media (e.g., a session of listening to radio over the Internet), the Data Item Agent 106 requests data items 136 from the Data Item server 114 that are to be provided to the user. The Data Item server 114 returns a list of data items 138 (i.e., a Data Item list identifying ads or spots) that are selected based on various factors, including, but not limited to, data on a user in the Data Collection server 112 (e.g., a psychometric profile), campaign metrics or business parameters in the Data Item Exchange server 118 or one or more media streams being accessed. The Data Item Agent 106 checks this list of data items 138 against a cache of previously downloaded data items. If a data item on the list 138 is not available in the local cache, the Data Item Agent 104 begins downloading the data item, and continues this until all data items in the current list of data items are locally available (i.e., cached data items, such as ads or spots). In particular, the Data Item Agent 104 requests data item content 140 from the Data Item Content server 116, which transmits the data item content 142 to the Data Item Agent 106. The Data Item Agent 106 caches the data item content 140.
As the sfreaming media application 102 is receiving media stream 120, the Data Item Scheduler 108 uses the queue points to determine starting points of, for example, commercial breaks. Additionally, the Data Item Scheduler selects data items from the received list of data items 138 using history information and content identification list information 122. In particular, the history information includes, without limitation, a history of particular data items, such as when and how often a particular data item was played, and a history of all data items played, such as what types (e.g, banners or audio) of data items have been played. The content identification list 122 is used to determine information such as the length of the data to be replaced (e.g., the length of a commercial break). Then, the Data Item Scheduler 108 replaces "general" data items in the media stream with "customized" or "user-specific" data items that are cached. That is, when the media stream is played and a queue point is reached, which indicates that, for example, a commercial break of a certain duration is to occur, the Data Item Scheduler 108 intelligently chooses one or more cached data items of that duration to play in lieu of items already embedded in the stream.
Additionally, the Data Item Manager 104 performs cache management. In particular, the Data Item Manager 104 removes data items in the cache based on a variety of factors, including the age of a data item, the frequency of selection of the data item, an expiration date specified by for that data item (which is identified using business rules/parameters in the Data Item Exchange server 118), and the size of the cache. In one embodiment of the invention, low and high watermarks are set for determining when to stop caching data items and when to retrieve additional data items.
As stated above, one embodiment of the invention is comprised of a collection of components, which will be referred to as an "Data Item Replacement System". It is to be understood that the illustration of these components is to provide an example only of one embodiment, and the components may be combined to form a variety of combinations (e.g., the Data Item Exchange and Data Item Content Network servers may be one component) within the scope of the invention. Additionally, rather than having a client/ server architecture, all of the components of the Data Item Replacement System may be located on one computer or in some other architecture (e.g., in a multi-client/multi-server architecture).
The computer programs executing at each of the computers are comprised of instructions which, when read and executed by the computers, cause the computers to perform the steps necessary to implement and/or use the present invention. Generally, the computer programs are tangibly embodied in and/or readable from a device, carrier, or media, such as memory, data storage devices, and/or data communications devices. Under control of an operating system, the computer programs may be loaded from the memory, data storage devices, and/or data communications devices into the memory of each computer for use during actual operations. Thus, the present invention may be implemented as a method, apparatus, system, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. In one embodiment, the Data Item Manager 104 is a "replacer" in an apparatus. The term "article of manufacture" (or alternatively, "computer program product") as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media, including the internet. Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope of the present invention.
Those skilled in the art will recognize that the environment illustrated in FIG. 1 is not intended to limit the present invention. Indeed, those skilled in the art will recognize that other alternative hardware environments may be used without departing from the scope of the present invention. For example, other hardware environments may include, without limitation, communications devices, such as appliances, personal digital assistants (PDAs), wrist watches, stand alone Internet radios, set top boxes, television systems, mainframe computers, minicomputers, or personal computers. These may be used in various configurations, such as in a local area network or in conjunction with the Internet. These other environments may work with each other or may work independently.
FIG.2 is a schematic diagram illustrating a hardware environment used to implement a client computer in one embodiment of the invention. The present invention is typically implemented using a client computer 200, which generally includes a processor 202, random access memory (RAM) 204, data storage devices 206 (e.g., flash, CMOS, floppy, CD-ROM disk drives, etc.), data communications devices 208 (e.g., modems, network interfaces, etc.), display devices 210 (e.g., CRT, LCD display, etc.), and input devices 212 (e.g., retinal eye movement, touch screen, voice activation, mouse pointing device, keyboard, CD-ROM drive, etc.). It is envisioned that attached to the client computer 200 may be other devices, such as read only memory (ROM), a video card, bus interface, printers, etc. Those skilled in the art will recognize that any combination of the above components, or any number of different components, peripherals, and other devices, may be used with the client computer 200.
The client computer 200 operates under the control of an operating system (OS) 214. The operating system 214 is booted into the memory 204 of the client computer 200 for execution when the client computer 200 is powered-on or reset. In turn, the operating system 214 then controls the execution of one or more computer programs 216, such as a Data Item Manager, a Data Item Agent, and a Data Item Scheduler, by the client computer 200. The computer programs 216 may use one or more data item lists or content identification lists stored on a data storage device 206. The present invention is generally implemented in these computer programs 216, which execute under the control of the operating system 214 and cause the client computer 200 to perform the desired functions as described herein.
The operating system 214 and computer programs 216 are comprised of instructions which, when read and executed by the client computer 200, causes the client computer 200 to perform the steps necessary to implement and/or use the present invention. Generally, the operating system 214 and/or computer programs 216 are tangibly embodied in and/or readable from a device, carrier, or media, such as memory 204, data storage devices 206, and/or data communications devices 208. Under control of the operating system 214, the computer programs 216 may be loaded from the memory 204, data storage devices 206, and/or data cornmunications devices 208 into the memory 204 of the client computer 200 for use during actual operations.
Thus, the present invention may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The term "article of manufacture" (or alternatively, "computer program product") as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope of the present invention.
Those skilled in the art will recognize that the environment illustrated in FIG. 2 is not intended to limit the present invention. Indeed, those skilled in the art will recognize that other alternative hardware environments may be used without departing from the scope of the present invention.
FIG. 3 is a schematic diagram illustrating a hardware environment used to implement a server computer in one embodiment of the invention. The present invention is typically implemented using a server computer 300, which generally includes a processor 302, random access memory (RAM) 304, data storage devices 306 (e.g., hard, floppy, and/or CD-ROM disk drives, etc.), data communications devices 308 (e.g., modems, network interfaces, etc.), display devices 310 (e.g., CRT, LCD display, etc.), and input devices 312 (e.g., mouse pointing device and keyboard). It is envisioned that attached to the server computer 300 may be other devices, such as read only memory (ROM), a video card, bus interface, printers, etc. Those skilled in the art will recognize that any combination of the above components, or any number of different components, peripherals, and other devices, may be used with the server computer 300.
The server computer 300 operates under the control of an operating system (OS) 314. The operating system 314 is booted into the memory 304 of the server computer 300 for execution when the server computer 300 is powered-on or reset. In turn, the operating system 314 then controls the execution of one or more computer programs 316. The present invention is generally implemented in these computer programs 316, which execute under the control of the operating system 314 and cause the server computer 300 to perform the desired functions as described herein.
The operating system 314 and computer programs 316 are comprised of instructions which, when read and executed by the server computer 300, causes the server computer 300 to perform the steps necessary to implement and/or use the present invention. Generally, the operating system 314 and/or computer programs 316 are tangibly embodied in and/or readable from a device, carrier, or media, such as memory 304, data storage devices 306, and/or data communications devices 308. Under control of the operating system 314, the computer programs 316 may be loaded from the memory 304, data storage devices 306, and/or data communications devices 308 into the memory 304 of the server computer 300 for use during actual operations.
Thus, the present invention may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The term "article of manufacture" (or alternatively, "computer programproduct") as usedherein is intended to encompass acomputer program accessible from any computer-readable device, carrier, or media. Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope of the present invention.
Those skilled in the art will recognize that the environment illustrated in FIG. 3 is not intended to limit the present invention. Indeed, those skilled in the art will recognize that other alternative hardware environments may be used without departing from the scope of the present invention.
Sfreaming Media Application (Tuner)
In one embodiment, the Data Item Replacement System provides a sfreaming media application comprised of a user interface that resembles a radio tuner. This streaming media application will be referred to as a Tuner. The Tuner executes on various platforms/operating systems and may, instead, be a browser-bound application. For example, in one embodiment, the Tuner is a Microsoft Windows® desktop application that provides users with the ability to easily listen to a large variety of Internet radio stations. The Tuner itself is written in C++ using a component object module (COM) architecture that executes on various Microsoft Windows® platforms, including, without limitation, Windows NT®, Windows 95®, Windows 98®, and Windows 2000® platforms. (Note that Microsoft, Windows NT, Windows 95, Windows 98, Windows 2000 are trademarks or registered trademarks ofMicrosoft Corporation in the United States and/or other countries.) The Tuner may be customized for different applications or different companies.
In one embodiment, a Data Item Manager 104 on the client computer is embedded in the Tuner or works in conjunction with the Tuner. The Tuner may be downloaded via a network, such as the Internet or may be provided on a data storage device. Once downloaded, the Tuner may be invoked and used. The first time the tuner is executed, the user will be prompted for registration information. FIG. 4 illustrates a registration window 400 that is used to obtain registration information. The registration information that is requested includes: Gender 402, Year of Birth 404, City 406, State 408, Country 410, Postal Code 412, and E-mail address (optional). In other embodiments, other information may be requested, mcluding, without limitation, an education level, an income level, hobbies, and interests. When a user has input this information, the user selects the Register button 416 to continue or the Quit button 418 to terminate. The Tuner will not run unless the registration information is successfully filled out. When the registration information is successfully filled out, the user interface is displayed to a user at the client computer.
In particular, FIG. 5 illustrates a radio window 500 that is displayed after the registration information is collected successfully. When a tune-in button 502 is selected, a user is able to view a database of stations. Once a user selects a station, the user may play music by selecting a play button 504, stop playing music by selecting a stop button 506, and adjust volume by selecting a volume button 508. Additionally, a user may select a web button 510 to access a web site for a selected station or select a chat site button 512 to access a web site used for chatting with others tuning in to the selected station. Pre-set buttons 514 may be used to pre-set 8 station selections by selecting a pre-set button 514 while listening to a radio station until that stations identifier (e.g., KHS) is displayed by the pre-set button 514. Once pre-set, a user may select one of the pre-set buttons to listen to a set station. The radio window 500 also provides additional information, such as Tuner Tips, FAQs (frequently asked questions), and Updates.
FIG.6 illustrates a station selection window 600 that is displayed when the tune-in button 502 is selected. The station selection window 600 enables a user to view music categories by COUNTRY, CITY , or FORMAT. In this example, FORMAT has been selected by clicking on the tab 602 by the arrow key until FORMAT is displayed. The format category includes: Sports for a sports radio station, Talk for a talk radio station, and Top 40 for a station that plays songs falling in a "Top 40" category, along with many other groups. For this example, the Top 40 format has been selected. Once a format is selected, the stream identifiers airing that format of music are listed 604 (e.g., KDWB, KHS, and KLRS). In one embodiment, chcking on a stream identifier once provides additional information about the radio station. The information may include, for example, the broadcasting city of the station along with the location of the station on an AM/FM dial radio. For this example, the radio station represented by KQS has been selected to obtain information. In order to find a particular station or a type of music, a user may enter information (e.g., keywords, such as "jazz" or "KIIS") into data field 605. Then, the user may select a Search button 606, and the invention searches for the specified information. Stations matching the specified information are than displayed for the user. To listen to that radio station, a user would double-click on the stream identifier with a mouse or select the Play button 608.
FIG.7 illustrates a radio window 700 after a station has been selected. The radio window 700 contains information about the station 702 that has been selected, along with Author, Title, and Copyright information 704. Sfreaming Media Tuner Hardware
In one embodiment, the Data Item Replacement System provides a hardware device that resembles a radio. This device will be referred to as a Hardware Tuner. The Hardware Tuner is a physical electronic device that provides users with the ability to easily hsten to a large variety of Internet radio stations or other media streams. The Hardware Tuner may be customized for different applications or different companies. For example, it may take the form of what is known as a "set-top box", that is, an electronic controller box which attaches to a television set and/or stereo system in order to enhance the capabilities and functions of that TV/system. It may also take the form of a wireless Internet appliance, resembling a transistor radio that tunes to worldwide signals via a wireless Internet connection.
The user is able to view a database of stations. Once a user selects a station, the user may play streams by pressing a play button, stop playing streams by selecting a stop button, and adjust volume by turning a volume knob. Pre-set buttons may be used to pre-set a number of station selections. While hstening to a radio station the user depresses a pre-set button until a beep is heard and that station's identifier (e.g., KITS) is displayed. A user may subsequently press one of the pre-set buttons to hsten to a set station.
In one embodiment, a Data Item Manager is embedded in the Hardware Tuner. The first time the Hardware Tuner is used, the user will be prompted for registration information similar to that information collected by the Tuner embodiment. In a wireless embodiment, the Hardware Tuner may ascertain its current location through use of systems such as GPS (Global Positioning Satellite) and may use this location data to deliver media having local relevance.
Client/Server Interaction
Once the registration information is collected with the Tuner user interface, the Data Item Manager 104 at the client computer packages the registration information into an Extensible Mark-up Language (XML) stream and transmits this to the Data Collection server 112. The Data Collection server 112 issues a user identification number (userlD) that is sent back to the Data Item Manager 104. The Data Item Manager 104 saves the userlD in a registry or data file and uses the userlD in every transaction with the Data Center servers 110. This uniquely identifies the user. In embodiments in which different Tuners are available the Data Item Manager 104 also transmits a Tuner identifier (TunerlD) to the Data Center servers 110 to identify the Tuner being used. Furthermore, the Data Item Manager 104 fransmits a stream identifier to the Data Center servers 110 to enable those servers to identify data items to be played for that station.
As a user is using the Tuner to access Internet radio stations, the Data Item Manger 104 communicates with the Data Center servers 110 to:
1. Download station database updates.
2. Download product updates.
3. Upload user-profiling data.
4. Upload data items played notifications.
5. Coordinate the flow of data item content to the client computer.
The Data Item Manager 104 intermittently queries the Data Center servers 110 to verify that the user's stations database is current. The Data Item Manager 104 receives an XML stream that describes the operations necessary to update the database. Stations can be individually updated, added or deleted from the database. The station database files reside locally (e.g., on a disk) at the client computer in an encrypted form.
A web update component of the Tuner intermittently queries the Data Center servers 110 to insure that the user has the current version of Tuner product components and latest product settings. The web update component issues an XML stream containing the tunerlD to the product update servlet running on one of the Data Center servers 110, which in return sends back an XML stream that describes components and their download locations. The web update component then downloads each component into a temporary download directory. The product update XML schema also defines actions required on each downloaded component, which enables the web update component to run executables (.EXE, .COMand .BAT files), register COM components, and update registry settings for the Tuner. The web update component uploads user-profiling data after every ten tuner events. Tuner events are classified as the following actions on the tuner: tuning into a station, going to the station's website or chat site, setting a preset, or clicking on a displayed item, such as an advertisement. The user profiling data is logged to disk and is flushed after each delivery to the Data Center servers 110. The profiling data is used by the Data Item Content server 116 for generation of specialized Internet radio listenership reports, but more importantly, this data is used by the Data Item server 114 rules engine that generates a near real-time psychometric profile of the user, based on their most recent behaviors). The Data Item server 114 creates a prioritized and targeted data item list (e.g., a spot-list). The Data Item server 114 utilizes a rules engine and dynamic rule base to determine how to both target data items and categorize users. In one embodiment, users are classified by their registration information, additional survey information, and their behavior (e.g., ads that they select or radio stations to which they hsten). The rules engine at the Data Item server 114 executes based on events that supply information that contribute to enhancing a user's real-time psychometric profile. This profile is used to identify data items to be targeted to a user when creating a list of data items. The rules engine of the Data Item server 114 also interfaces with a campaign manager that prioritizes data items according to campaign metrics to ensure campaigns are successfully implemented. For example, the Data Item Content server 116 may select data items based on demographics. In this case, if an advertiser wants a particular campaign to be targeted at males living in Los Angeles, then the Data Item Content server 116 uses the userlD to obtain the user's gender and city and determines whether the user is a male living in Los Angeles and determines whether the user matches the characteristics sought by one or more data items in the campaign. The Data Item Content server 116 may identify data items by the user's past behavior. For example, if the user often clicks on automobile advertisements, the Data Item Content server 116 may show the user other automobile advertisements.
The Data Item Content server 116 may also identify data items based on business parameters. In one embodiment, the business parameters are based on agreements with advertisers to have their data items placed into media streams. For example, an advertiser may want to specify some split of data items, such as that 60% of the data items should be their data items, and the remaining 40% of the data items would be other advertiser's data items. An advertiser may also want to specify that a specified number of their data items are to be played (e.g., 3000) during a particular period of time (e.g., one or more weeks), and the Data Item Content server 116 monitors the number of data items played for that advertiser and plays the data items with a frequency determined by the number of data items remaining to be played and the duration of the period in which they are to be played. The Data Item Content server 116 identifies data items and creates a data item list (e.g., a spot-list). The data item Ust contains a hst of data items with associated URLs that are used to obtain the content of the data items. The Ust of data items has information, including, without limitation, a length of the advertisement, a name for the advertisement, an expiration period of the advertisement, a flight identifier, and a format (e.g., play on certain stations).
The Data Item Agent 106 is responsible for the caching structure of advertisement content on the client computer. The Data Item Agent 106 initially issues a request with the userfi for advertisement material to the Data Item server 114, which processes the request and responds with a prioritized and targeted hst of data items (e.g., a spot-Ust). The Data Item Agent 106 pulls down the actual advertisement content in an unobtrusive and governed manner, in order not to impact the performance of the cUent computer. During this "stealth" download process, the data items are placed into the caching structure in accordance to their priority and length.
The "stealth" download may occur in many different forms. In one embodiment, the data items are downloaded when there is little or no user activity. The amount of activity may be determined by determining whether a screen saver is being displayed at the cUent computer or the last time of user input via a keyboard, mouse, or other input device. In another embodiment, the Data Item Replacement System determines the bandwidth of the line over which the download will occur and selects a percentage of that bandwidth as the amount of advertisement data that will be downloaded at any given time. For example, if the total bandwidth is 56K, and 10% is to be used for downloading data items, then 5.6K of the bandwidth will be dedicated to downloading data items. This results in minimal intrusion on the user's use of the line. The percentage selected may be predetermined by the Data Item Replacement System based on the amount of bandwidth, may be set by a Data Item Replacement System administrator, or may be customized by a user. In yet another embodiment, the Data Item Replacement System determines the amount ofbandwidth of the line that is to be used for downloading data items by mapping the total bandwidth available to a set amount. For example, a total bandwidth of 56K may map to 8K, which results in 8K of the line being used to download data items. In a further embodiment, the Data Item Replacement System monitors the line and downloads data items when there is little or no activity on the line.
In one embodiment, the Data Item Manager 104, Data Item Agent 106, and Data Item Scheduler 108 coordinate with the Data Center servers 110 to deliver near real-time targeted audio advertisements that replace the in-sfream audio advertisements from the radio station. In particular, the radio stations that agree to be part of this system will allow the Data Item Replacement System to place queue points in the media stream from the radio station.
The queue points, discussed in more detail below, are used to locate the portions of the media stream that comprise specific data items, such as ads. A queue point encoding agent, which is part of the Data Item Replacement System, is responsible for placing encrypted queue points into the stream to coordinate the placement of data items and other information in a media stream. As the Data Item Manager 104 encounters queue points in the media sfream, the Data Item Manager's 104 selection technique chooses one or more data items that are to be played. The Data Item Manager 104 logs all data items that are played and sends this information back to the Data Item Content server 116 to track campaigns. On a periodic basis, the Data Item Manager 104 inspects the data item cache and, if any low watermark conditions are met, another request for data item material is issued to the Data Item Content server 116. The Data Item Manager 104 also monitors the age of data items, such that dormant data items that are never or no longer played are removed from the cache.
Queue Points
FIG. 8 is a schematic that illustrates an environment in which an embodiment of the invention is used. In one embodiment, the invention replaces data items (e.g., ads) in Uve streams (e.g., a radio or other signal from a satelhte 801) or archived/on-demand streams (e.g., a movie stored on a data storage device). However, one skilled in the art would recognize that the invention could replace data items in other media (e.g., in a television signal). In one embodiment, a Stream Automation System 800 manages a content identification list 804 (i.e., a Usting of items to be played, for example, songs to be played). A Queuing Agent 802 of the invention works with the Stream Automation System 800 to manually insert queue points in the sfream and to manage traffic when frammittingthe content identification Ust 804 and a media stream 806 (i.e., the content of the items in the content identification Ust) to an Encoding System 810. In particular, the Queuing Agent 802 fransmits the content identification list 804 and the media stream 806 to a Queue Point Encoding Agent 812. In another embodiment, the Queuing Agent 802 creates the content identification Ust 804. In an alternative embodiment, queue points are added manually, by, for example, an engineer.
The Queue Point Encoding Agent 812 encodes the media sfream 806 with queue points. That is, the Queue Point Encoding Agent 812 inserts queue points into the media stream 806 based on data in the content identification Ust 804. A queue point indicates the points at which data items have been inserted into the audio stream originaUy and provide information on the data item (e.g., whether the data item is a jingle or an emergency broadcast signal, the length of the data item, etc.). These data items are typically directed to listeners in a general geographic area, rather than customized for a particular user.
Then, the content identification Ust 804 and media stream 806 with queue points are transmitted across a network, such as the Internet. The transmission is a signal with queue points graphically illustrated as EO, El, and E2.
The client computer 820 receives the content identification Ust 804 and media stream 806. The Data Item Manager 822 at the cUent computer obtains data items from one or more Data Item Lists 824 and replaces the original data items in the media stream 806 with data items from the Data Item Lists 824. The data items from the Data Item Lists 824 are customized for the user of the computer, who then accesses (e.g., Ustens to or views) the media stream with customized data items 826 from a media player, such as a speaker and/or display device.
FIG. 9 illustrates an Encoder Agent 900 for encoding a media stream (e.g., an audio stream) in more detail. The media stream may be received by the Encoder Agent 900 as analog or digital input. If the media sfream is in analog form, the Encoder Agent 900 converts the analog to digital form. The media sfream includes content such as audio and/or video data and includes other information, such as information about device drivers.
A content identification Ust 912 is received by a Communication Interface 912 and forwarded to the Encoder Agent 900. The Encoder Agent 900 identifies queuing information 914 from the content identification Ust 912. The Encoder Agent 900 passes the media stream 906 and the queueing information 914 to an Encoder Interface 920. The Encoder Interface 920 is an interface to an Encoder 922. Example Encoders include, without limitation, RealPlayer ®, QuickTime®, or Windows® Media Player. (RealPlayer is a registered trademark of RealNetworks Inc. in the United States and/or other countries. QuickTime is a registered trademark of Apple Computers Inc. in the United States and/or other countries. Windows and Windows Media are trademarks of Microsoft Corp. in the United States and/or other countries.) The Encoder 922 inserts one or more encoded queue points 930 into the media stream, resulting in an encoded media stream 940.
FIG. 10 illustrates a flow of processing for adding queue points to a media stream. Initially, a content identification list 1000 is input to a Parse Data component 1002 that parses the content identification Ust 1000. This parsed data is forwarded to a Notify Agent component 1004. The Notify Agent component 1004 monitors for events 1006 (i.e., points in the content identification Ust that need to be tagged, such as the start of an ad). Upon receiving an event 1006, the Notify Agent component 1004 forwards the event 1006 to a Tagging component 1010. The Tagging component 1010 receives the event 1006 along with a media stream 1008 (e.g., an audio sfream) and tags the media stream 1008 with event scene information based on the event 1006. An Encoded Media Stream component 1012 encodes the tagged media sfream received from the Tagging component 1010 and forwards the encoded and tagged media stream 1014 to other components.
Data Item Creation and Maintenance
In one embodiment of the invention, data items are advertisements. For simpUcity, the following discussion will focus on advertisements. It is to be understood that the techniques to be discussed below are applicable to any type of data item. The Data Item Exchange 118 enables advertisers to create a campaign. If a particular advertiser desires to deUver one or more data items to a particular demographic, the advertiser can use a user interface provided by the Data Item Replacement System to create a campaign. Each campaign has one or more flights. Each flight may be directed to a different demographic group. Additionally, the information (e.g., demographic information or number of advertisements to play) users input in creating a campaign is used by a business rules component to apply business rules to select advertisements. When a data item is created, the data item content is loaded into the Data Item Exchange 118 and then uploaded to the Data Item Server 116.
FIG. 11 illustrates a campaign window 1100 for creating a campaign. A user may select an Add New Campaign button 1102 to create a new campaign. When this button 1102 is selected, the user is prompted for a Campaign Name 1104 and a Campaign Description 1106. When this data is entered, a user selects the Add Campaign button 1108. After this, the user may select the Go To Ad Manager button 1110 to continue creating the campaign. Additionally, the user may select the View Campaign button 1112 to view the campaign or select the Delete Campaign button 1114 to delete the campaign.
FIG. 12 illustrates a first ad definition window 1200 for defining an ad. When the Add
Campaign button 1108 is selected, an ad definition window 1200 is displayed. Note that FIG. 12 illustrates the ad definition window 1200 after two ads 1202 and 1204 have already been defined for the campaign. To define an ad, a user identifies a Spot Type 1206. A Spot Type 1206 may be a banner ad, a gateway ad, or an audio ad. In this example, an Audio Inserted Ad has been selected. Then, the Duration 1208 of the ad is input, which in this example is 5.2 seconds. Then a Description 1210 of the ad is input. Then, a user may select a Submit Ad Information button 1212 to continue processing.
FIG. 13 illustrates a second ad definition window 1300 for selecting an ad file. The second ad definition window 1300 is displayed when a user selects the Submit Ad Information button 1212 of FIG. 12. At this time, the user is prompted to select an ad file in the Select Ad File text area 1302. The user may Browse 1304 for ad files. Once an ad file is selected, the user selects the Submit Ad button 1306. FIG. 14 illustrates a third ad definition window 1400 Usting an ad that has been defined using the first and second ad definition windows 1200 and 1300. The ad definition window 1400 is displayed when a user selects the Submit Ad button 1306 of FIG. 13. In ad definition window 1400, a new audio ad 1402 is Usted for the campaign.
Once a campaign is created with one or more ads, the next step is to create a "flight". A flight - defines the target audience of an ad, the period of time during which a particular ad is to air, and the number of times it is to air. When the View Campaign button 1112 of FIG. 11 is selected, a view campaign window 1500 is displayed, as illustrated in FIG. 15. The view campaign window 1500 displays the selected campaign 1502, which was created as described above using FIGS. 11-14. The view campaign window 1500 displays flight information 1504, but, in this example, this information is blank as a flight has not yet been created. To create a flight, a user may select a New Banner Flight button 1506, a New Gateway FUght button 1508, or a New Audio FUght button 1510. Once a flight has been created, a FUght Details button 1512 provides details about the flight, a Get A Quote button 1514 automatically provides a price quote for a selected flight, a Buy FUght button 1516 purchases a flight at the quoted price, and a Terminate Flight button 1518 terminates a flight that has been purchased. .
For this example, the New Banner FUght button 1506 of FIG. 15 has been selected. FIG. 16 illustrates a flight manager window 1600 that is displayed upon selection of the New Banner Flight button 1506 of FIG. 15. The flight manager window 1600 collects information about the Name 1602 of the flight, the number of Impressions 1604 (i.e., ads) to be displayed for the flight, and the Description 1606 of the flight. At this time, the Price 1608 and CPM 1610 wiU be determined after additional information is entered and the Submit and Get Quote button 1612 is selected. The Start Date 1614 and End Date 1614 are used to specify the period of time during which the flight is to run. For each Market 1622, an Age 1618 and a Gender 1620 may be selected. The Age 1618 category provides a drop down Ust box that allows selection of "All Ages" or of a range of years (e.g., 0-4, 5-9, etc.). The Gender 1620 category provides a drop down list box that enables selection of "Male", "Female", or "Both". The Market 1622 category provides a drop down Ust box that lists 250 demographic areas, which have become a standard for use in the broadcasting field. The banner ad 1624 selected for the flight is for the campaign created above, it is a banner ad, with a duration of 5.2 seconds, and its status is Approved. Note that the Status at this time may be Unapproved or Approved. The Approval process is performed by a Data Item Replacement System administrator who ensures that the content of the ad falls within legal guidelines (e.g., is not a threat to harm someone) and is actually the duration that is identified (e.g., is actuaUy 5.2 seconds and not 5.7 seconds).
In this example, 3000 impressions of a banner ad 1624 are to be displayed between April 10, 2000 and May 10, 2000 to males of aU ages Uving in Colorado Springs - Pueblo, Los Angeles, and New York. In one embodiment, the Data Item Replacement System matches a user's registration information to the flight information to select ads for that user.
Once all of the information is entered into the flight manager window 1600, a user selects the Submit and Get Quote button 1612, which displays quote window 1700 of FIG. 17. The quote window 1700 is similar to flight manager window 1600, but quote window 1700 specifies a Price 1702, a CPM 1704, and a Purchased AvailabiUty 1706.
If the Commit and Buy button 1708 of FIG. 17 is selected, the revised view campaign window 1800 of FIG. 18 is displayed. The revised view campaign window 1800 now shows a flight 1802 with a status of Committed. In this window 1800, the status of a flight may be Priced (if priced but not committed), Committed (if priced and committed), Completed (if the number of impressions purchased have been output), or Terminated (if a flight is terminated after being committed). If the FUght Details button 1804 is selected, the flight details window 1900 of FIG. 19 is displayed. The flight details window 1900 provides information about the flight, including the number of Impressions 1902 that have been filled out of the ones that have been bought already.
A campaign may have multiple flights, and each flight may have multiple ads. Once a campaign and a flight have been defined and purchased, the Data Item Replacement System forwards the collected information (e.g., age, gender, market, duration, type of ad, and total number of ads purchased) to the Data Item server 114. The Data Item server 114 uses this information to identify ads to be output to particular users. Once the requested number of ads have been played, the campaign expires.
An Alternate Technique for Downloading Data Items
In one embodiment of the invention, at the beginning of a session of receiving media (e.g., a session of Ustening to radio over the Internet), the Data Item Agent 106 requests data items 136 from the Data Item server 114 that are to be provided to the user. The Data Item server 114 returns a list of data items 138 (i.e., an Ad or Spot Ust) that are selected based on data on the user in the Data Collection server 112. The Data Item Agent 106 checks this Ust of data items against a cache of previously downloaded data items. If an ad on the Ust is not available in the local cache, the Data Item Agent 104 begins downloading the ad, and continues thus until aU data items in the current Ust of data items are locally available (i.e., cached ads or spots). In particular, the Data Item Agent 104 requests ad content 140 from the Data Item Content server 116, which transmits the ad content 142 to the Data Item Agent 106. The Data Item Agent 106 caches the ad content 140.
As the streaming media appUcation 102 is receiving media stream 120, the Data Item Scheduler 108 uses the content identification Ust 122 to determine where to place data items in the mediastream 120. Then, the Data Item Scheduler 108 replaces the "general"data items in the media stream with "user-specific"data items that are cached. That is, when the media stream is played and a queue point is reached, which indicates that a commercial break of a certain duration is to occur, the Data Item Scheduler 108 intelUgently chooses cached data items to play in Ueu of those embedded in the sfream. FIG. 20 illustrates a media sfream 2000, which has a commercial break 2002 that is replaced by cached spots 2004.
Under some circumstances (e.g., limited bandwidth, limited time), however, it may not be possible to download enough spots, soon enough to fill all available commercial breaks. It is not uncommon for stations to play 15 to 20 minutes of commercials per hour.
One possible solution would be to have no locally-stored cached spots. Instead, all spots would be kept on a remote Data Item server. The cUent computer would simply switch from the station stream to the first remote spot in a commercial break, then to the next, and so on, until finally switching back to the station stream. However, in some systems, switching streams requires connection and buffering time, which can be tens of seconds long. This can create an unacceptable audience experience.
Therefore, another solution is to use a hybrid process melding remote spots with cached spots. The first and last spots in a commercial break are chosen by the Data Item Scheduler 106 from the cached spots. The intervening spots are all remote spots. FIG.21 illustrates a media sfream 2100 for which a commercial break is fiUed with cached spots 2102 and remote spots 2104. The cached spots 2102 play while the remote spots 2104 are downloaded and buffered. Thus, there is no "lost time" due to buffering the remote spots 2104. Once the remote spots 2104 have been played, the media stream resumes 2108. Rebuffering time 2106 requires only one-third to one-half of the amount of time that it takes to estabhsh the initial connection to the media stream. In one embodiment, this is eliminated by using a second cached spot while rebuffering. Also, in some embodiments, the rebuffering time 2106 may be eliminated when using particular media players, such as Windows® Media Player.
It has been shown by experimentation that, when a series of remote spots are all housed on the same server, switching from one to the next is seamless and instant with virtuaUy no re- connection or buffering times. When initially switching from a station's stream to a sfream of remote spots there is a connection/buffering period. Similarly, when switching back from the remote spot stream to the station stream, there can be buffering. During these buffering times the cached spots would play. The first spot in a commercial break is played from the cached spots, thus covering the buffering as the station stream switches to the remote spot sfream. Similarly, the last spot is played locally to mask the buffering on return to the station's sfream.
So, in a situation where there are two 10-minute commercial breaks in a given hour, only 4 spots would need to be downloaded from the Data Item Content server 116, as opposed to 20 or more when using the cached spots without using remote spots. And these downloaded spots need only be 10 to 30 seconds long, further decreasing download times and heft.
The durations of the two buffering periods are highly variable, being dependent on transient Internet conditions. The Data Item Scheduler 108 would monitor the progress of a commercial break, dynamically predicting the actual duration of the break versus the ideal duration as communicated in the queue point. The Data Item Scheduler 108 would then choose a last spot with the most appropriate length, "stretching" or ''shrinking" it, or dropping it entirely.
The remote spot sfream is a file having a .RAM (real audio media) file extension or a . ASX file extension (i.e., a textual command file that manages streaming of ASF in a compressed file format that can store audio and video information and is designed to run over the Internet) composed of a Ust of the remote spots' URLs followed by the URL of the station sfream. For example,
http://www.digitoy.com/spots/spot5690.ra http://www.digitoy.com/spots/spotl423.ra http://www.digitoy.com/spots/spot928577.ra pnm://www.newcastle.edu.au/2nur.ra
This technique is advantageous in that there is considerably less downloading of spots from the Data Item Content server 116. Additionally, this technique opens the possibihty that multistation tuners and Data Item Manager-only situations could present station-specific spots. This could be done without the need to create many different and large spot caches on a user's cUent computer.
Summary
Some of the overall concepts of the invention will be discussed with reference to FIG. 22. In particular, FIG. 22 is a flow diagram illustrating a process performed by the Data Item Replacement System. In block 2200, the Data Item Replacement System initially enables users (e.g., advertisers) to create one or more campaigns targeting specific demographic groups. For example, a campaign may have one or more flights, each directed to a different group (e.g., one directed to males of all ages in Los Angeles and another directed to females of all ages in Los Angeles). The campaign has associated campaign metrics (e.g., a particular data item should be played 300 times during a three month period). Additionally, there are typically agreements with the campaign creators regarding business metrics (e.g., the campaign creators ads are to be played at specified times).
In block 2202, the Data Item Replacement System collects registration and user usage information. The registration information is typically collected once, when a user initiaUy uses a sfreaming media appUcation (e.g., the Tuner user interface) that works with the Data Item
Replacement System. The user usage information is collected as the user uses the sfreaming media application to access media streams (e.g., listen to music on a radio channel), to view and "click-on"
(via an input device, such as a mouse) data items, or to access station web sites. The registration information and user usage information is used to create a psychometric profile.
In block 2204, the Data Item Replacement System selects a subset of data items from the available data items based on a combination of factors. In particular, the Data Item Replacement System matches one or more data items from one or more campaigns to a user's regisfration and user usage mformation. For example, if data items from a campaign are directed to females of all ages in Los Angeles, when a user's regisfration information indicates that the user is female and Uves in Los Angeles, the data items from that campaign will be selected for that user. That is, data items are selected by matching demographic information associated with the data items with demographic information associated with a user. Additionally, the data items may be selected based on zero or more psychometric profiles, zero or more campaign metrics, and zero or more business rules.
In block 2206, the Data Item Replacement System downloads one or more data items in the subset of data items using a "stealth" download process. During this "stealth" download process, the data items are placed into the caching structure in accordance to their priority and length.
As a user is accessing a media sfream, in block 2208, the Data Item Replacement System selects one or more replacement data items from the subset of data items to replace data items already in the media stream using history information about the data items and using content identification - Ust information. Then, in block 2210, the Data Item Replacement System replaces general data items (e.g., ads targeted at a general geographic group) in the media sfream with selected data items targeting the user.
The Data Item Replacement System is advantageous in many ways. For example, the Data Item Replacement System enables advertisers to associate demographic information with data items, so that the demographic information may be matched to a user's demographic information. Thus, the data items in a particular media stream (e.g. , a particular sfream from a radio station) may be targeted specifically to different users, even if they are Uving the same geographic area.
Additionally, the Data Item Replacement System replaces existing data items in a media sfream, rather than just adding appending data items or overwriting a pre-deterrnined portion of the media (e.g., the beginning). The Data Item Replacement System determines the points in the media sfream at which to replace data items, "mutes" the existing data items, and then replaces those data items with ones targeted to the user.
CONCLUSION This concludes the description of the preferred embodiment of the invention. The following describes some alternative embodiments for accompUshing the present invention. For example, other hardware environments may include, without limitation, communications devices, such as appliances, personal digital assistants (PDAs), wrist watches, stand alone Internet radios, set top boxes, television systems, mainframe computers, minicomputers, or personal computers. These may be used in various configurations, such as in a local area network or in conjunction with the Internet. These other environments may work with each other or may work independently. Additionally, although a compact disc was used as an example, the invention is appUcable to other storage media, such as floppy discs. The apparatus on which the invention is implemented need not be a cUent computer, but could be a compact disc player or other appUance.
The foregoing description of the embodiments of the invention have been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in Ught of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto.

Claims

WHAT IS CLAIMED IS:
1. A method of processing a media sfream at a communications device, comprising: locating a queue point in the media sfream, wherein the queue point indicates a beginning of one or more specific data items in the media sfream; and replacing the specific data items in the media sfream with replacement data items.
2. The method of claim 1, wherein the media sfream is an audio sfream.
3. The method of claim 1, wherein the specific data items are spots.
4. The method of claim 1 , wherein the media stream is received via a satelhte.
5. The method of claim 1, further comprising placing queue points into the media - stream.
6. The method of claim 1, wherein locating a queue point comprises using a content identification Ust that identifies a sequential ordering of data items in the media stream.
7. The method of claim 1 , further comprising collecting regisfration information from a user.
8. The method of claim 7, wherein the regisfration information comprises demographic information;
9. The method of claim 1, further comprising collecting user usage information.
10. The method of claim 1, further comprising selecting replacement data items by matching demographic information associated with the data items with demographic information associated with a user.
11. The method of claim 1, further comprising selecting replacement data items based on zero or more psychometric profiles, zero or more campaign metrics, and zero or more business rules.
12. The method of claim 1, further comprising selecting replacement data items using history information about the replacement data items and using content identification Ust information.
13. The method of claim 1, wherein the communications device is a client computer connected to a server computer via a network and further comprising downloading data items to the cUent computer from the server computer.
14. The method of claim 13, wherein the data items are downloaded based on the amount of activity at the client computer.
15. The method of claim 13, wherein the data items are downloaded based on a bandwidth of the network connecting the cUent computer and server computer.
16. The method of claim 13, further comprising selecting data items at the server computer by matching demographic information associated with the data items to demographic information associated with a user of the cUent computer.
17. The method of claim 16, further comprising selecting replacement data items from the selected data items.
18. The method of claim 13, further comprising receiving a Ust of data items at the cUent computer from the server computer.
19. The method of claim 13, further comprising requesting data item content be downloaded from the server computer to the cUent computer.
20. The method of claim 13, further comprising the cUent computer fransrmtting a data item played notification to the server computer.
21. The method of claim 1 , wherein one or more replacement data items is retrieved from a local cache.
22. The method of claim 21 , further comprising deleting data items from the local cache.
23. The method of claim 1, wherein one or more of the replacement data items is streamed from another communications device.
24. The method of claim 1 , wherein the replacement data items are a mix of data items from a local cache and from a remote sfream.
25. The method of claim 1, further comprising providing a user-interface to access the media sfream.
26. The method of claim 25, wherein the user-interface comprises access to a database of radio stations.
27. The method of claim 26, wherein the user-interface comprises a web button that enables access to a web site associated with a selected radio station.
28. The method of claim 26, wherein the user-interface comprises a chat button that enables access to a web chat site associated with a selected radio station.
29. The method of claim 26, wherein the user-interface comprises pre-set buttons for programming access to radio stations.
30. The method of claim 1, wherein the data items are advertisements and further comprising providing a user interface to create a campaign.
31. The method of claim 30, further comprising creating advertisement content.
32. The method of claim 30, wherein the communications device is a client computer connected to a series of server computers, further comprising: receiving the advertisement content at a first server computer; and uploading the advertisement content to a second server computer.
33. The method of claim 30, further comprising associating demographic information with the advertisement.
34. The method of claim 30, further comprising pricing the campaign.
35. The method of claim 30, further comprising cornnfrtting the campaign.
36. The method of claim 30, wherein the campaign expires.
37. An apparatus for processing a media sfream, comprising: a communications device having a locator that locates a queue point in the media sfream, wherein the queue point indicates a beginning of one or more specific data items in the media sfream; and a replacer at the communications device that replaces the specific data items in the media sfream with replacement data items.
38.. The apparatus of claim 37, wherein the media stream is an audio stream.
39. The apparatus of claim 37, wherein the specific data items are spots.
40. The apparatus of claim 37, further comprising a receiver for receiving the media sfream via a satelUte.
41. The apparatus of claim 37, further comprising a queuing system for placing queue points into the media sfream.
42. The apparatus of claim 37, wherein the locator uses a content identification list that identifies a sequential ordering of data items in the media sfream.
43. The apparatus of claim 37, further comprising a collector that collects registration information from a user.
44. The apparatus of claim 43, wherein the regisfration information comprises demographic information.
45. The apparatus of claim 37, further comprising a collector that collects user usage information.
46. The apparatus of claim 37, wherein the replacer selects replacement data items by matching demographic information associated with the data items with demographic information associated with a user.
47. The apparatus of claim 37, wherein the replacer selects replacement data items based on zero or more psychometric profiles, zero or more campaign metrics, and zero or more business rules.
48. The apparatus of claim 37, wherein the replacer selects replacement data items using history information about the replacement data items and using content identification list information.
49. The apparatus of claim 37, wherein the communications device is a cUent computer connected to a server computer via a network and wherein the server computer downloads data items to the cUent computer.
50. The apparatus of claim 49, further comprising the server computer downloading data items based on the amount of activity at the cUent computer.
51. The apparatus of claim 49, further comprising the server computer downloading data items based on a bandwidth of the network connecting the client computer and server computer.
52. The apparatus of claim 49, further comprising the server computer selecting data items by matching demographic information associated with the data items to demographic information associated with a user of the cUent computer.
53. The apparatus of claim 52, further comprising the chent computer selecting replacement data items from the selected data items.
54. The apparatus of claim 49, further comprising the cUent computer receiving a list of - data items from the server computer.
55. The apparatus of claim 49, further comprising the cUent computer requesting data item content be downloaded from the server computer to the cUent computer.
56. Theapparatus ofclaim 49, further comprising the cUent computer transmitting a data item played notification to the server computer.
57. The apparatus ofclaim 37, further comprising the cUent computer retrieving one or more replacement data items from a local cache.
58. The apparatus of claim 57, further comprising deleting data items from the local cache.
59. The apparatus ofclaim 37, further comprising the chent computer sfreaming one or more of the replacement data items from yet another computer.
60. The apparatus ofclaim 37, wherein the replacement data items are amix of data items from a local cache and from a remote sfream.
61. The apparatus of claim 37, further comprising a user-interface to access the media stream.
62. The apparatus ofclaim 61 , wherein the user-interface comprises access to a database of radio stations.
63. The apparatus of claim 62, wherein the user-interface comprises a web button that enables access to a web site associated with a selected radio station.
64. The apparatus ofclaim 62, wherein the user-interface comprises a chat button that enables access to a web chat site associated with a selected radio station.
65. The apparatus ofclaim 62, wherein the user-interface comprises pre-set buttons for programming access to radio stations.
66. The apparatus of claim 37, wherem the data items are advertisements and further comprising a user interface to create a campaign.
67. The apparatus ofclaim 66, further comprising creating advertisement content.
68. The apparatus ofclaim 67, wherein the communications device is a cUent computer connected to a series of server computers, further comprising: receiving the advertisement content at a first server computer; and uploading the advertisement content to a second server computer.
69. The apparatus ofclaim 66, further comprising associating demographic information with the advertisement.
70. The apparatus of claim 66, further comprising pricing the campaign.
71. The apparatus of claim 66, further comprising committing the campaign.
72. The apparatus ofclaim 66, wherein the campaign expires.
73. An article of manufacture comprising a communications device program carrier readable by a communications device and embodying one or more instructions executable by the communications device to perform method steps for processing a media stream, comprising: locating a queue point in the media sfream, wherein the queue point indicates a beginning of one or more specific data items in the media sfream; and replacing the specific data items in the media stream with replacement data items.
74. The article of manufacture ofclaim 73 , wherein the media stream is an audio sfream.
75. The article of manufacture ofclaim 73, wherein the specific data items are spots.
76. The article of manufacture of claim 73, wherein the media sfream is received via a satelhte.
77. The article of manufacture ofclaim 73 , further comprising placing queue points into the media sfream.
78. The article of manufacture ofclaim 73, wherein locating a queue point comprises using a content identification Ust that identifies a sequential ordering of data items in the media sfream.
79. The article of manufacture of claim 73, further comprising collecting regisfration information from a user.
80. The article of manufacture of claim 79, wherein the regisfration information comprises demographic information.
81. The article of manufacture of claim 73, further comprising collecting user usage information.
82. The article of manufacture ofclaim 73, further comprising selecting replacement data items by matching demographic information associated with the data items with demographic information associated with a user.
83. The article ofmanufacture ofclaim 73, further comprising selecting replacement data items based on zero or more psychometric profiles, zero or more campaign metrics, and zero or more business rules.
84. The article ofmanufacture ofclaim 73, further comprising selecting replacement data - items using history information about the replacement data items and using content identification Ust information.
85. The article ofmanufacture ofclaim 73 , wherein the communications device is a client computer connected to a server computer via a network and further comprising downloading data items to the cUent computer from the server computer.
86. The article ofmanufacture ofclaim 85, wherein the data items are downloaded based on the amount of activity at the client computer.
87. The article ofmanufacture ofclaim 85, wherein the data items are downloaded based on a bandwidth of the network connecting the client computer and server computer.
88. The article ofmanufacture ofclaim 85, further comprising selecting data items at the server computer by matching demographic information associated with the data items to demographic information associated with a user of the client computer.
89. The article ofmanufacture ofclaim 88, further comprising selecting replacement data items from the selected data items.
90. The article ofmanufacture ofclaim 85, further comprising receiving a list of data items at the cUent computer from the server computer.
91. The article of manufacture of claim 85, further comprising requesting data item content be downloaded from the server computer to the cUent computer.
92. The article of manufacture of claim 85, further comprising the cUent computer transmitting a data item played notification to the server computer.
93. The article ofmanufacture ofclaim 73, wherein one or more replacement data items are retrieved from a local cache.
94. The article of anufacture ofclaim 93, further comprising deleting data items from the local cache.
95. The article ofmanufacture ofclaim 73, wherein one or more of the replacement data items are streamed from yet another computer.
96. The article ofmanufacture ofclaim 73, wherein the replacement data items are a mix of data items from a local cache and from a remote sfream.
97. The article ofmanufacture ofclaim 73, further comprising providing a user-interface to access the media sfream.
98. The article ofmanufacture of claim 97, wherein the user-interface comprises access to a database of radio stations.
99. The article ofmanufacture ofclaim 98, wherein the user-interface comprises a web button that enables access to a web site associated with a selected radio station.
100. The article ofmanufacture ofclaim 98, wherein the user-interface comprises a chat button that enables access to a web chat site associated with a selected radio station.
101. The article ofmanufacture ofclaim 98, wherem the user-interface comprises pre-set buttons for programming access to radio stations.
102. The article ofmanufacture ofclaim 73 , wherein the data items are advertisements and further comprising providing a user interface to create a campaign.
103. The article of manufacture of claim 102, further comprising creating advertisement content.
104. The article ofmanufacture of claim 103, wherein the communications device is a cUent computer connected to a series of server computers, further comprising: receiving the advertisement content at a first server computer; and uploading the advertisement content to a second server computer.
105. The article ofmanufacture ofclaim 102, further comprising associating demographic information with the advertisement.
106. The article ofmanufacture ofclaim 102, further comprising pricing the campaign.
107. The article of manufacture of claim 102, further comprising coπimitting the campaign.
108. The article ofmanufacture ofclaim 102, wherem the campaign expires.
PCT/US2001/024918 2000-08-08 2001-08-07 Data item replacement in a media stream of a streaming media WO2002017591A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001283206A AU2001283206A1 (en) 2000-08-08 2001-08-07 Data item replacement in a media stream of a streaming media

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US63452800A 2000-08-08 2000-08-08
US09/634,528 2000-08-08

Publications (2)

Publication Number Publication Date
WO2002017591A2 true WO2002017591A2 (en) 2002-02-28
WO2002017591A3 WO2002017591A3 (en) 2002-05-02

Family

ID=24544162

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/024918 WO2002017591A2 (en) 2000-08-08 2001-08-07 Data item replacement in a media stream of a streaming media

Country Status (2)

Country Link
AU (1) AU2001283206A1 (en)
WO (1) WO2002017591A2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2839599A1 (en) * 2002-05-10 2003-11-14 France Telecom Image/sound sequence personalized user advertising having insertion command identified and personalized signals selecting associated user profile selecting signal portion recording after start time
EP1860841A1 (en) * 2006-05-26 2007-11-28 Huawei Technologies Co., Ltd. Method and system for replacing media stream in a communication process of a terminal
EP2009868A1 (en) * 2007-06-29 2008-12-31 Alcatel Lucent Method and system for improving the appearance of a person on the RTP stream coming from a media terminal
WO2011134260A1 (en) * 2010-04-27 2011-11-03 华为技术有限公司 Method, apparatus and system for intercutting advertisement
US9609034B2 (en) 2002-12-27 2017-03-28 The Nielsen Company (Us), Llc Methods and apparatus for transcoding metadata
US9667365B2 (en) 2008-10-24 2017-05-30 The Nielsen Company (Us), Llc Methods and apparatus to perform audio watermarking and watermark detection and extraction
US9681204B2 (en) 2011-04-12 2017-06-13 The Nielsen Company (Us), Llc Methods and apparatus to validate a tag for media
US9699499B2 (en) 2014-04-30 2017-07-04 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US9711153B2 (en) 2002-09-27 2017-07-18 The Nielsen Company (Us), Llc Activating functions in processing devices using encoded audio and detecting audio signatures
US9711152B2 (en) 2013-07-31 2017-07-18 The Nielsen Company (Us), Llc Systems apparatus and methods for encoding/decoding persistent universal media codes to encoded audio
US9762965B2 (en) 2015-05-29 2017-09-12 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US9838288B2 (en) 2014-07-31 2017-12-05 The Nielsen Company (Us), Llc Determining an end time of streaming media
US9838281B2 (en) 2011-06-21 2017-12-05 The Nielsen Company (Us), Llc Monitoring streaming media content
US9948539B2 (en) 2014-08-29 2018-04-17 The Nielsen Company (Us), Llc Methods and apparatus to predict end of streaming media using a prediction model
US10003846B2 (en) 2009-05-01 2018-06-19 The Nielsen Company (Us), Llc Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content
US10467286B2 (en) 2008-10-24 2019-11-05 The Nielsen Company (Us), Llc Methods and apparatus to perform audio watermarking and watermark detection and extraction

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7239981B2 (en) 2002-07-26 2007-07-03 Arbitron Inc. Systems and methods for gathering audience measurement data
US8959016B2 (en) 2002-09-27 2015-02-17 The Nielsen Company (Us), Llc Activating functions in processing devices using start codes embedded in audio
US9209978B2 (en) 2012-05-15 2015-12-08 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US9282366B2 (en) 2012-08-13 2016-03-08 The Nielsen Company (Us), Llc Methods and apparatus to communicate audience measurement information
US9313544B2 (en) 2013-02-14 2016-04-12 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US20150039321A1 (en) 2013-07-31 2015-02-05 Arbitron Inc. Apparatus, System and Method for Reading Codes From Digital Audio on a Processing Device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0822535A2 (en) * 1996-08-01 1998-02-04 AT&T Corp. Interactive multimedia advertising and electronic commerce on a hypertext network
US5778187A (en) * 1996-05-09 1998-07-07 Netcast Communications Corp. Multicasting method and apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778187A (en) * 1996-05-09 1998-07-07 Netcast Communications Corp. Multicasting method and apparatus
EP0822535A2 (en) * 1996-08-01 1998-02-04 AT&T Corp. Interactive multimedia advertising and electronic commerce on a hypertext network

Cited By (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2839599A1 (en) * 2002-05-10 2003-11-14 France Telecom Image/sound sequence personalized user advertising having insertion command identified and personalized signals selecting associated user profile selecting signal portion recording after start time
US9711153B2 (en) 2002-09-27 2017-07-18 The Nielsen Company (Us), Llc Activating functions in processing devices using encoded audio and detecting audio signatures
US9900652B2 (en) 2002-12-27 2018-02-20 The Nielsen Company (Us), Llc Methods and apparatus for transcoding metadata
US9609034B2 (en) 2002-12-27 2017-03-28 The Nielsen Company (Us), Llc Methods and apparatus for transcoding metadata
EP1860841A1 (en) * 2006-05-26 2007-11-28 Huawei Technologies Co., Ltd. Method and system for replacing media stream in a communication process of a terminal
US7996540B2 (en) 2006-05-26 2011-08-09 Huawei Technologies Co., Ltd. Method and system for replacing media stream in a communication process of a terminal
EP2009868A1 (en) * 2007-06-29 2008-12-31 Alcatel Lucent Method and system for improving the appearance of a person on the RTP stream coming from a media terminal
WO2009003758A1 (en) * 2007-06-29 2009-01-08 Alcatel Lucent Method and system for improving the appearance of a person on the rtp stream coming from a media terminal
US7996551B2 (en) 2007-06-29 2011-08-09 Alcatel Lucent Method and system for improving the appearance of a person on the RTP stream coming from a media terminal
US11809489B2 (en) 2008-10-24 2023-11-07 The Nielsen Company (Us), Llc Methods and apparatus to perform audio watermarking and watermark detection and extraction
US9667365B2 (en) 2008-10-24 2017-05-30 The Nielsen Company (Us), Llc Methods and apparatus to perform audio watermarking and watermark detection and extraction
US11386908B2 (en) 2008-10-24 2022-07-12 The Nielsen Company (Us), Llc Methods and apparatus to perform audio watermarking and watermark detection and extraction
US10467286B2 (en) 2008-10-24 2019-11-05 The Nielsen Company (Us), Llc Methods and apparatus to perform audio watermarking and watermark detection and extraction
US11256740B2 (en) 2008-10-24 2022-02-22 The Nielsen Company (Us), Llc Methods and apparatus to perform audio watermarking and watermark detection and extraction
US10134408B2 (en) 2008-10-24 2018-11-20 The Nielsen Company (Us), Llc Methods and apparatus to perform audio watermarking and watermark detection and extraction
US10003846B2 (en) 2009-05-01 2018-06-19 The Nielsen Company (Us), Llc Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content
US11004456B2 (en) 2009-05-01 2021-05-11 The Nielsen Company (Us), Llc Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content
US11948588B2 (en) 2009-05-01 2024-04-02 The Nielsen Company (Us), Llc Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content
US10555048B2 (en) 2009-05-01 2020-02-04 The Nielsen Company (Us), Llc Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content
WO2011134260A1 (en) * 2010-04-27 2011-11-03 华为技术有限公司 Method, apparatus and system for intercutting advertisement
US9167045B2 (en) 2010-04-27 2015-10-20 Huawei Technologies Co., Ltd. Method, apparatus and system for intercutting advertisement
US9681204B2 (en) 2011-04-12 2017-06-13 The Nielsen Company (Us), Llc Methods and apparatus to validate a tag for media
US11252062B2 (en) 2011-06-21 2022-02-15 The Nielsen Company (Us), Llc Monitoring streaming media content
US11296962B2 (en) 2011-06-21 2022-04-05 The Nielsen Company (Us), Llc Monitoring streaming media content
US9838281B2 (en) 2011-06-21 2017-12-05 The Nielsen Company (Us), Llc Monitoring streaming media content
US11784898B2 (en) 2011-06-21 2023-10-10 The Nielsen Company (Us), Llc Monitoring streaming media content
US10791042B2 (en) 2011-06-21 2020-09-29 The Nielsen Company (Us), Llc Monitoring streaming media content
US9711152B2 (en) 2013-07-31 2017-07-18 The Nielsen Company (Us), Llc Systems apparatus and methods for encoding/decoding persistent universal media codes to encoded audio
US10231013B2 (en) 2014-04-30 2019-03-12 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US10721524B2 (en) 2014-04-30 2020-07-21 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US11831950B2 (en) 2014-04-30 2023-11-28 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US9699499B2 (en) 2014-04-30 2017-07-04 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US11277662B2 (en) 2014-04-30 2022-03-15 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US9838288B2 (en) 2014-07-31 2017-12-05 The Nielsen Company (Us), Llc Determining an end time of streaming media
US10153960B2 (en) 2014-07-31 2018-12-11 The Nielsen Company (Us), Llc Determining an end time of streaming media
US10193785B2 (en) 2014-08-29 2019-01-29 The Nielsen Company, LLC Methods and apparatus to predict end of streaming media using a prediction model
US10938704B2 (en) 2014-08-29 2021-03-02 The Nielsen Company (Us), Llc Methods and apparatus to predict end of streaming media using a prediction model
US11316769B2 (en) 2014-08-29 2022-04-26 The Nielsen Company (Us), Llc Methods and apparatus to predict end of streaming media using a prediction model
US11563664B2 (en) 2014-08-29 2023-01-24 The Nielsen Company (Us), Llc Methods and apparatus to predict end of streaming media using a prediction model
US11765061B2 (en) 2014-08-29 2023-09-19 The Nielsen Company (Us), Llc Methods and apparatus to predict end of streaming media using a prediction model
US10547534B2 (en) 2014-08-29 2020-01-28 The Nielsen Company (Us), Llc Methods and apparatus to predict end of streaming media using a prediction model
US9948539B2 (en) 2014-08-29 2018-04-17 The Nielsen Company (Us), Llc Methods and apparatus to predict end of streaming media using a prediction model
US11057680B2 (en) 2015-05-29 2021-07-06 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US10694254B2 (en) 2015-05-29 2020-06-23 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US11689769B2 (en) 2015-05-29 2023-06-27 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US10299002B2 (en) 2015-05-29 2019-05-21 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US9762965B2 (en) 2015-05-29 2017-09-12 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media

Also Published As

Publication number Publication date
WO2002017591A3 (en) 2002-05-02
AU2001283206A1 (en) 2002-03-04

Similar Documents

Publication Publication Date Title
WO2002017591A2 (en) Data item replacement in a media stream of a streaming media
US10580041B2 (en) Server control of multiple media players in a playback page
EP1497994B1 (en) User terminal, media system and method of delivering objects relating to broadcast media stream to user terminal
USRE48579E1 (en) Method and apparatus for internet-based interactive programming
US6237022B1 (en) System and method for distributing preferenced data over a communications network
US20050154599A1 (en) User terminal, media system and method of delivering objects relating to broadcast media stream to user terminal
US6975835B1 (en) Method and apparatus for an interactive Web Radio system that broadcasts a digital markup language
WO2003048948A1 (en) Method and system for providing listener-requested music over a network
US20040133467A1 (en) Method and apparatus for selecting streaming media in real-time
US20020049974A1 (en) Methods for creating a customized program from a variety of sources
US20040039796A1 (en) Personalized cyber disk jockey and Internet radio advertising
US20110202397A1 (en) Systems and Methods to Deliver Event-Driven Content
US20070250775A1 (en) Methods, systems, and computer program products for providing hyperlinked video
JP2009522960A (en) Apparatus and method for selective collection and selective presentation of content
JP2002511973A (en) How to control a computer with audio signals
WO2001016781A1 (en) Search engine to monitor and verify streaming audio sources
JP2007528676A (en) Dynamic data distribution apparatus and method
WO2009029955A1 (en) Tuning/customization
US20050181722A1 (en) Method, system and user terminal for collecting information on audience of broadcast media stream
US8566161B2 (en) Method and system for determining a position of information based on an intention of a party concerned
JP2004078467A (en) Information distribution system for portable communication terminal
EP1646002A1 (en) System, arrangement and method of radio or television programme surveys
JP2002251572A (en) Advertisement distribution system
KR20020003791A (en) A multimedia moving picture advertising service system and a service method on the network
WO2003090014A2 (en) Method and system for internet-based interactive television

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP