`(12) Patent Application Publication (10) Pub. No.: US 2004/0133467 A1
`Siler
`(43) Pub. Date:
`Jul. 8, 2004
`
`US 2004O133467A1
`
`(54) METHOD AND APPARATUS FOR
`SELECTING STREAMING MEDIA IN
`REAL-TIME
`
`(76) Inventor: Gregory Aaron Siler, Garland, TX
`(US)
`Correspondence Address:
`ROBERTS ABOKHAIR & MARDULA
`SUTE 1000
`11800 SUNRISE WALLEY DRIVE
`RESTON, VA 20191 (US)
`(21) Appl. No.:
`10/463,120
`(22) Filed:
`Jun. 17, 2003
`
`Related U.S. Application Data
`
`(63) Continuation of application No. 09/642,037, filed on
`Aug. 18, 2000, now abandoned, which is a continu-
`
`ation-in-part of application No. 09/625,443, filed on
`Jul. 26, 2000, now abandoned.
`
`Publication Classification
`(51) Int. Cl. ................................................. G06F 17/60
`(52) U.S. Cl. .............................................. 705/14; 709/218
`
`(57)
`
`ABSTRACT
`
`Streaming media over a packet Switched network includes
`processes for tracking which users are receiving a particular
`media Stream and how long each of the users receives in
`order to collect time line information. Advertisements are
`preferably Selected in real-time based on predefined criteria
`and Switched, in response to a trigger, in place of a Source
`Signal during a streaming Session.
`
`User requests
`stream by
`selecting hyperlink
`on web page
`20
`
`ls Walid user)
`stored in user file on
`client computer?
`23
`
`yes
`
`Send registration
`page to client
`205
`
`Cient receives
`registration page
`2O7
`
`Client transmits
`user registration
`informatio
`209
`
`Server receives
`registration
`infortation
`211
`
`Server stores
`registration
`information in user
`database and
`creates userID
`23
`
`Seryer sends user
`ID for storage in
`user file on client
`215
`
`
`
`
`
`Client sends
`request for
`selected stream to
`server specified in
`link with stream
`identifying
`information
`217
`
`Server receives
`request and sends
`file with streaming
`information to
`client
`29
`
`Cliet receives
`streaming
`information file
`and stores it
`221
`
`request session
`
`223
`
`Server creates
`record for session
`225
`
`Client requests
`stream from URL
`entified in
`streaming
`information file
`231
`
`Streaming server
`transmits stream
`with
`that
`identtreat
`
`Client stores
`streaml)
`235
`
`Client plays
`stream
`237
`
`Streat
`terminated
`239
`
`ew stream lo
`received?
`241
`
`yes
`
`
`
`
`
`
`
`
`
`Server returns
`sessionio to client
`227
`
`Store new stream
`O
`243
`
`no
`
`Client stores
`session D
`229
`
`Remove streamid
`245
`
`NETFLIX, INC. EXHIBIT 1005
`
`
`
`Patent Application Publication
`
`Jul. 8, 2004 Sheet 1 of 8
`
`US 2004/0133467 A1
`
`FG. A
`
`USER TRACKING
`REPORT 1
`
`USER TRACKING
`REPORT 2
`
`5
`
`53
`
`59
`
`AD SCHEDULING
`INTERFACE
`
`O
`
`PLAYER APPLICATION
`SESSION TRACKING LOGIC
`
`AD DISPLAY LOGIC
`
`STREAM CONTROL LOGIC
`
`45
`
`
`
`
`
`47
`
`57
`
`
`
`22
`
`27
`
`33
`
`29
`
`RCH MEDIA AD DISPLAY
`35
`WINDOW
`n STREAMING MEDIA PLAYER
`
`3.
`
`FIG. A FIG. B. F.G.
`
`PACKET
`NETWORK
`IO3
`
`NETFLIX, INC. EXHIBIT 1005
`
`
`
`Patent Application Publication Jul. 8, 2004 Sheet 2 of 8
`
`US 2004/0133467 A1
`
`/ OO
`
`WEB
`SERVER
`
`
`
`ADVERTSNG
`SCHEDULING
`LOGIC
`
`ADVERTISING
`PUSH
`LOGIC
`
`155
`
`FIG. B
`
`39
`
`AD
`SCHEDULING
`DATABASE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a
`
`-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`-
`
`
`
`
`
`
`
`
`
`4 (a
`
`
`
`
`
`USER
`REPORTNG
`LOGIC O
`USER
`6
`DATABASE
`
`REGISTRATIONA
`LOG ON LOGIC
`
`SESSION
`TRACKING
`LOGIC
`
`SESSION
`RECORDS
`DATABASE
`
`25
`
`STriMING
`
`NFORMATION
`LOGC
`
`STREAMING
`INFORMATION
`FILES
`
`GSH
`ADVERTIS NG
`LOGC
`
`RCH MEDIA
`AD CONTENT
`FILES
`
`2
`
`43
`
`STREAMING
`SERVER
`
`STREAMING
`ADVERTISEMENTS
`
`AUDIO
`AUTOMATION
`SYSTEM
`
`
`
`O8
`
`TRIGGER FROM
`CONTER SOURCE
`CONTENT
`
`Ior?
`
`NETFLIX, INC. EXHIBIT 1005
`
`
`
`Patent Application Publication Jul. 8, 2004
`
`Sheet 3 of 8
`
`US 2004/0133467 A1
`
`User requests
`stream by
`selecting hyperlink
`on web page
`2O1
`
`is valid user D
`stored in user file on
`client computer?
`2O3
`
`Send registration
`page to client
`205
`
`Client receives
`registration page
`2O7
`
`Client transmits
`user registration
`information
`209
`
`Server receives
`registration
`information
`211
`
`
`
`Server stores
`registration
`information in user
`database and
`Creates userID
`213
`
`Sever sends user
`ID for storage in
`user file on client
`215
`
`FIGURE 2
`
`
`
`Client sends
`request for
`selected stream to
`server specified in
`link with stream
`identifying
`information
`217
`
`Server receives
`request and sends
`file with streaming
`information to
`client
`219
`
`Client receives
`streaming
`information file
`and stores it
`22
`
`Request session
`D
`223
`
`Server creates
`record for Session
`225
`
`Client requests
`stream from URL
`identified in
`streaming
`infortation file
`231
`
`Streaming server
`transmits stream
`with ID that
`identifies stream
`233
`
`Client stores
`stream D
`235
`
`Client plays
`stream
`237
`
`Stream
`terminated?
`239
`
`
`
`
`
`
`
`
`
`
`
`
`
`New stream D.
`received?
`241
`
`yes
`
`Server returns
`session ID to client
`227
`
`Store new strean
`D
`243
`
`O
`
`Client stores
`session D
`229
`
`Remove stream D.
`245
`
`
`
`NETFLIX, INC. EXHIBIT 1005
`
`
`
`Patent Application Publication Jul. 8, 2004 Sheet 4 of 8
`
`US 2004/0133467 A1
`
`
`
`Send periodic
`information of
`streaming to
`Sewer
`301
`
`Request updated
`URL for rich media
`ad from Srever
`303
`
`Receive URL for
`rich media ad
`305
`
`Request rich
`media ad from
`received URL
`307
`
`Display rich media
`advertisement
`309
`
`Wait prescribed
`time
`311
`
`FIGURE 3
`
`NETFLIX, INC. EXHIBIT 1005
`
`
`
`Patent Application Publication
`
`Jul. 8, 2004 Sheet 5 of 8
`
`US 2004/0133467 A1
`
`nO
`
`
`
`
`
`
`
`
`
`
`
`
`
`Received period
`information update
`from user?
`401
`
`yes
`
`Update session
`record from user
`403
`
`S user playing a
`streaming
`advertisement?
`405
`
`yes
`
`Determine identity
`of streaming
`advertisement
`based on stream
`D
`4O7
`
`Update advertising
`database to
`transmit rich
`media ad
`. Corresponding to
`Streamind ad
`409
`
`TRansmit URL Of
`rich media ad to
`client
`413
`
`
`
`Poll advertising
`database for rich
`media ad for user
`411
`
`
`
`O
`
`Was user playing streaming
`ad on last update?
`415
`
`O
`
`yes
`
`Update advertising
`dtatbase to
`transmit Scheduled
`rich media ad to
`USe
`417
`
`Figure 4
`
`NETFLIX, INC. EXHIBIT 1005
`
`
`
`Patent Application Publication Jul. 8, 2004 Sheet 6 of 8
`
`US 2004/0133467 A1
`
`Trigger
`signal
`received?
`501
`
`
`
`Select streaming
`advertisment based on
`predefined criteria
`
`
`
`
`
`
`
`
`
`
`
`indicate Selected
`advertisement for playing
`503
`
`FIGURE 5
`
`NETFLIX, INC. EXHIBIT 1005
`
`
`
`Patent Application Publication Jul. 8, 2004 Sheet 7 of 8
`
`US 2004/0133467 A1
`
`5
`
`53
`
`59
`
`F.G. 6A
`
`USER TRACKING
`REPORT 1
`
`USER TRACKING
`REPORT 2
`
`AD SCHEDULING
`INTERFACE
`
`O
`
`45
`
`
`
`
`
`47
`
`57
`
`
`
`as a
`
`m
`
`WEB BROWSER
`
`
`
`
`
`PLAYER APPLICATION
`
`SESSION TRACKING LOGIC
`
`AD DISPLAY LOGIC
`STREAM CONTROL LOGIC H
`RICH MEDIA AD DISPLAY
`
`22
`
`27
`
`33
`29
`35
`
`3.
`
`STREAMING MEDIA PLAYER
`
`O. ab o
`
`FIG.6A FIG.6B FG6
`
`PACKET
`NETWORK
`O3
`
`NETFLIX, INC. EXHIBIT 1005
`
`
`
`Patent Application Publication Jul. 8, 2004 Sheet 8 of 8
`
`US 2004/0133467 A1
`
`s
`
`666
`
`OO
`/ ADVERTESING
`SCHEDULINGs
`WEB
`LOGIC
`SERVER
`
`
`
`5
`5
`
`3
`
`sm
`
`
`
`
`
`
`
`ADVERTSNG
`
`
`
`
`
`
`
`USER
`REPORTNG
`
`LOGIC
`
`REGISTRATIONA
`LOG ON LOGIC
`
`AD
`SCHEDULING
`DATABASE
`
`USER
`DATABASE
`
`
`
`SESSION
`TRACKING
`LOGIC
`
`
`
`
`
`SESSION
`RECORDS
`DATABASE
`
`GET
`STREAMING
`INFORMATION
`LOGIC
`
`GET RCH
`MEDIA
`ADVERTIS NG
`LOGC
`
`STREAMING
`INFORMATION
`FILES
`
`RCH MEDA
`AD CONTENT
`FILES
`
`
`
`
`
`STREAMING
`SERVER
`
`O5
`STREAMING
`ADVERTISEMENTS
`
`
`
`
`
`TRAFFIC
`MANAGEMENT
`SYSTEM
`
`O
`
`663
`
`D D
`
`a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`O9
`
`STREAMNG
`ENCODER
`
`F.G. 6B
`
`SY
`
`665
`
`O6
`TRGGER SIGNAL
`coNTENT
`DECODER FE
`664 O7
`
`6O8
`
`NETFLIX, INC. EXHIBIT 1005
`
`
`
`US 2004/O133467 A1
`
`Jul. 8, 2004
`
`METHOD AND APPARATUS FOR SELECTING
`STREAMING MEDIA IN REAL-TIME
`
`RELATED APPLICATIONS
`0001. The present application is a continuation-in-part of
`commonly assigned and copending U.S. patent application
`Ser. No. 09/625,443, entitled “Method and Apparatus for
`Streaming Media', filed on Jul. 26, 2000, the disclosure of
`which is hereby incorporated herein by reference.
`
`FIELD OF THE INVENTION
`0002 The invention pertains to streaming media over
`packet Switched data networks, and more particularly to
`Selecting in real-time advertising to be inserted into media
`Streams based on predefined criteria.
`
`BACKGROUND OF THE INVENTION
`0.003 Streaming is a process for transmitting audio,
`Video, audio/video and other types of continuous signals,
`which have been digitized, over packetized data networks
`Such as the Internet for nearly contemporaneous playback. A
`Signal is streamed by encoding the Signal as a Series of data
`packets and Sending the data packets over a packet Switched
`data network in a manner that Supports contemporaneous or
`nearly contemporaneous playback on a host computer using
`a player application. Because there are no quality of Service
`or deliver guarantees provided by currently adopted Internet
`protocols, Streaming applications must provide mechanisms
`for dealing with lost and delayed packets, flow control and
`encoding and compression, among other problems. Pres
`ently, there are Several Streaming Standards and approaches,
`including those used by the RealPlayer(R) of RealNetworks,
`Inc, the Windows Media PlayerTM of Microsoft Corporation,
`and the QuickTime(R) player of Apple Computer, Inc., for
`encoding and controlling the Stream. Prerecorded content,
`Such as Sound recordings and Video tapes, and “live” con
`tent, Such as retransmission of radio and television broad
`casts, are presently being transmitted over the Internet using
`Streaming. Graphical advertisements are also transmitted for
`displaying on a computer Screen in connection with the
`playing of the media Stream on the computer. In addition,
`audio, Video or other Streaming media advertisements are
`Sometimes transmitted prior to transmission of the content.
`
`SUMMARY OF THE INVENTION
`0004. The invention has as a general objective improved
`methods and apparatus for a System of Streaming audio
`and/or Video signals, and in particular improvements con
`cerning the use of advertising in connection with Such
`Streaming.
`0005 According to one feature of an embodiment of a
`System for Streaming audio and/or Video signals described
`below, audio advertisements are inserted into a third party
`content Signal, Such as a terrestrial radio broadcast, at a point
`at which the Signal is being turned into a data Stream for
`transmission acroSS, at least in part, a packet Switched
`network, Such as the Internet, to a user's computer for
`contemporaneous playback. The insertion takes place during
`the Streaming, not just at the beginning of the Streaming as
`prior art methods have done. Thus, advertising may be
`inserted, for example, in place of advertising contained in
`the original signal. Advertising in a terrestrial radio broad
`
`cast, which is targeted to a local audience, can be replaced
`in real time, during Streaming, with advertising targeted for
`a different audience, Such as a national audience or an
`audience with a different demographic profile. To enable
`insertion or overlaying of advertisements, a trigger Signal
`received from a content provider causes the Streaming to
`Switch between a third party content Signal and a local Signal
`containing an audio or audio/video insert. In the preferred
`embodiment, a first trigger Signal is received indicating that
`a Second trigger Signal will Soon be received. In the pre
`ferred embodiment, it is the receipt of the Second trigger
`Signal that causes the Streaming to Switch between the third
`party content Signal and the local Signal containing an audio
`or audio/video insert. Furthermore, according to another
`inventive feature, graphical advertising files can also be
`transmitted for display on the user's computer, for example
`in a web browser application and/or Streaming media player,
`in conjunction with the Streaming advertisement.
`0006 According to another feature of the embodiment of
`the System for the Streaming audio and/or Video signals
`described below, users of media Streams are tracked as the
`Stream is being played, thereby enabling real-time collection
`of “time-line' information on a stream's audience, including
`exposure to any advertisements placed in the Stream and any
`non-streaming advertisements displayed on a computer in
`connection with the media Stream. This information may
`include how many people are listening or viewing a stream
`at any given time, and how long they have been listening.
`The invention thus is able to provide information on users
`that is more accurate than Sampling methods like those
`employed in traditional media. It is also more accurate than
`tracking only the commencement of a stream or a user
`"clicking through a graphical advertisement displayed
`Simultaneously with the Stream. Pricing for the advertising
`inserted into a media Stream can thus be determined based
`on the actual number of users who hear and/or see the
`advertisements. Real time reporting on users may also be
`made available to content providers and advertisers. By
`further obtaining demographic information from a user, the
`invention may be further used to generate real-time infor
`mation on the demographic composition of an audience.
`Such real time demographic information may be used to
`Select in real-time advertising for insertion into the Stream or
`display of graphical advertising at the host computer, or
`both. Such information may also be used to determine
`pricing for the advertising. Furthermore, Selection of adver
`tising in real-time may additionally or alternatively be based
`on other predefined criteria Such as product code Separation,
`frequency of play of a particular advertisement, the interests
`of the audience and/or the like.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0007 Following is a detailed description of a method and
`apparatus for Streaming audio and/or Video Signals, made in
`reference to the accompanying drawings, of which:
`0008 FIG. 1 is a block schematic diagram of a client
`Server System for Streaming audio and Video, tracking users
`and pushing rich media advertising;
`0009 FIG. 2 is a flow diagram representing a set up
`process for a streaming Service provided with the System of
`FIG. 1;
`
`NETFLIX, INC. EXHIBIT 1005
`
`
`
`US 2004/O133467 A1
`
`Jul. 8, 2004
`
`FIG. 3 is a flow chart representing a process of a
`0.010
`user client for updating advertising displayed in connection
`with playing of the Stream;
`0.011
`FIG. 4 is a preferred embodiment flow chart rep
`resenting a process by which a Server updates advertising
`displayed in connection with the playing of the Stream;
`0012 FIG. 5 is a flow chart for selecting and playing
`advertisements in real-time based on predefined criteria; and
`0013 FIG. 6 is a block schematic diagram of a client
`Server System for Streaming audio and Video, tracking users,
`Selecting advertisements in real time and pushing rich media
`advertising.
`
`DETAILED DESCRIPTION
`In the following description, like numbers refer to
`0.014.
`like parts.
`0015. When used herein, the term “computer” refers to
`any device capable of communicating over a data network
`and decoding for nearly Simultaneous playback of an incom
`ing data Stream that is encoded with audio and/or video
`Signals. Such a stream is referred to herein as a media
`Stream. The audio and/or Video signals, once decoded, may
`be played back on the computer or another device for
`reproducing the Sound and/or Video represented by the
`Signals. A computer may further include or be associated
`with a visual display. In the preferred embodiments
`described herein, a computer takes the form of a micropro
`cessor-based personal computer, that includes a general
`purpose microprocessor, temporary program and data Stor
`age, Such as random acceSS memory, permanent program
`and data Storage, Such as a disk drive, a monitor or other
`Visual display for displaying graphics, a Sound card for
`decoding and converting digital signals to analog signals,
`and a keyboard and/or mouse for receiving data from a user.
`However, computerS may also include limited function
`“Internet appliances having limited display, data, data input,
`and user programming capabilities, Such as personal orga
`nizers, telephones and other limited or Special purpose
`devices.
`0016. The term “packet network” refers generally to one
`or more interconnected public and/or private networks that
`route packets or frames of data, as opposed to circuit
`Switched networks and television or radio broadcast net
`works. Packet Network includes the system of intercon
`nected computer networks known as the “Internet” that route
`data packets using the Internet Protocol (IP) as it exists
`presently or in the future.
`0017 Referring now to FIG. 1, streaming system 100
`provides a streaming Service in which it transmits, or causes
`transmission of, audio, and/or audio/video signals as a data
`Stream. A client computer 101 functions as a device for a
`user to enjoy the Streaming Service. Client computer 101 is
`connected directly or indirectly, Such as through a dial up
`connection, a wireleSS gateway, a cable modem, a xDSL
`modem, or local area network, to packet network 103. The
`data stream is transmitted by a streaming server 105 through
`packet network 103 to the client computer. Although only
`one client computer 101 is illustrated for purposes of expla
`nation, the same media Stream may be transmitted to a large
`number of client computers or the Server may be transmit
`ting media Streams with differing content to different com
`puters.
`
`0018. The streaming server receives a content signal 107
`from a Source and transmits the Signal as a stream to packet
`network 103. The signal source may be a terrestrial radio
`Station or television Station, or other Service that provides
`audio and/or Video programming content. For reasons
`explained below, the system 100, in its preferred embodi
`ment, may be used to best advantage in transmitting live
`radio broadcasts. Streaming encoder 109 digitizes, and if
`desirable, formats and encodes the Signal as a stream. Any
`type of data transport mechanism may be used to transmit
`the content signal to system 100, including those that
`transmit the Signal in a digital format. Other processes, not
`represented on the figure, handle the transport of the media
`Stream over the connection of the Streaming Server to the
`packet network.
`0019 Content for a media stream, meaning an audio
`and/or video signal, is in the preferred embodiment provided
`in real time from a Source. In the preferred embodiment, if
`the source of content signal 107 is a broadcast radio station
`or radio network, the Signal that is broadcast is also being
`provided in real time for immediate Streaming. Once the
`Signal arrives, an audio automation System immediately
`connects it to the streaming encoder 109. The streaming
`encoder is in a preferred embodiment, an instance of a Server
`component of any Streaming application, Such as Real
`Player(R), QuickTime(R) or Windows Media PlayerTM. In
`order to insert advertising into the Stream, in real time, a
`trigger Signal 106 from the Source is also received. The
`trigger Signal can be sent from the Source Separately, Such as
`on a different channel, Sent on the same channel as or
`otherwise encoded in the content Signal from the Source. The
`trigger Signal indicates the Start of a time period in which a
`message, Such as an advertisement, a news item, Stock alerts,
`an email message, a weather update, a voice mail message
`and/or the like may be inserted into the content. For
`example, the message may be an audio advertisement for a
`radio signal, or an audio/video advertisement for a television
`Signal.
`0020. In the preferred embodiment, when audio automa
`tion System 108 receives a trigger Signal, it plays an adver
`tisement that has been queued according to a Schedule or a
`predetermined order. In an alternative embodiment, the
`advertisements may be Selected in real-time based on a Set
`of one or more predefined criteria as discussed in more detail
`with reference to FIG. 5. The advertisements are stored in
`storage system 110. The playback of the advertisement is
`Switched by the audio automation System to Streaming
`encoder 109 in place of content signal 107. Thus, it is sent
`to all users receiving a stream from the URL that identifies
`the Source of the Stream. Once the advertisement is finished,
`audio automation system 108 Switches back to the content
`signal 107 to provide a signal to the streaming encoder 109,
`or plays additional advertisements. A Second trigger Signal
`can be sent to indicate conclusion of the time period for
`advertisements, or the periods can be set to have a prede
`termined duration. In the event that the content signal is
`provided by a third party Subscription Service, the trigger can
`be used to Signal the Start of a new program that may permit
`insertion of an advertisement. An identifier included in the
`Stream is changed to indicate that a different Stream, namely
`the advertisement, is being Sent.
`0021 Although not shown, streaming server 105 may
`communicate the media Stream to other Servers and/or one
`
`NETFLIX, INC. EXHIBIT 1005
`
`
`
`US 2004/O133467 A1
`
`Jul. 8, 2004
`
`or more distribution networks that are connected to, or part
`of, packet network 103, in order to cache and/or geographi
`cally distribute the Stream over high Speed networks for
`purposes of enhancing delivery of the Signal to each client
`computer 101. The stream may also be cached by these other
`Services or networks.
`0022. The streaming server 105 may also receive signals
`from more than one Source and concurrently transmit more
`than one media Stream. Furthermore, more than one Stream
`ing Server may be used to transmit additional media Streams.
`0023 Referring now to FIGS. 1 and 2, to begin use of
`the Streaming Service, a client-Server application Such as the
`WorldWide Web (or “web”) is used to exchange information
`with the user for setting up the service. The following
`description will be made in reference to a web server and a
`web browser as an example of a client-Server application
`used to obtain information about Streaming Services and to
`Setup Streaming Services. The Web has an advantage of
`being available for almost every type of computer. However,
`other client-Server applications can be used to exchange
`Set-up information for Streaming Services. Therefore, the
`web browser and web server can be replaced by other types
`of applications capable of displaying text and/or graphic
`information, Such as those that may be required for com
`puters with limited display or computing capabilities. Client
`computer 101 therefore includes a web browser 111. The
`user obtains a web page, Such as an HTML encoded file, on
`which one or more links to streaming Services content are
`included. At step 201 of the process illustrated by the flow
`diagram of FIG. 2, the user requests a Stream by, for
`example, Selecting a hyperlink on a web page. The web
`browser sends to web server 113 a user identifier, if there is
`one Stored in a special user file on the client computer. Web
`Server 113 passes the information to registration/log on logic
`115, which then validates the user identifier. If no valid user
`identifier, or no user identifier at all, is sent, the registration
`proceSS causes, as represented by decision Step 203, the web
`server 113 to transmit at step 205 a registration page to web
`browser 111. At step 207, the web browser on the client
`computer displays the registration page. The registration
`page requests certain information and includes a form into
`which information is entered. Preferably, it includes infor
`mation with which to identify the user, Such as an Email
`address, a telephone number, a credit card number, a digital
`signature and/or other like information. With such identify
`ing information, the opportunity for duplicate registrations
`can be reduced. Furthermore, the identifying information,
`Such as the Email address can be, if desired, authenticated.
`The registration page or proceSS may also, if desired, Seek
`from the user certain demographic information, Such as age,
`gender, income, place of residence, ethnicity, languages
`spoken, interests and/or the like.
`0024.
`In the preferred embodiment in step 209, the user
`sends the registration information to web server 113. Upon
`receiving the registration information in Step 211, Server 113
`passes at least a portion of the received information to
`registration/log on logic 115 to be Stored in user record
`database 116 in Step 213. The database generates a unique
`user identifier that is sent to the client computer 101 in step
`215.
`0.025. Once a user identifier is stored on the client com
`puter, the web browser continues with the process at Step
`
`217 of setting up the selected media stream for the user. The
`web browser sends a request to a second web server 117,
`using information associated with the link Selected by the
`user at step 201, for information with which to set up the
`media stream. Included is information with which to identify
`the stream. When, as represented by step 219, this request is
`received by web server 117, the stream identifying infor
`mation is passed to get Streaming information logic 119,
`which then obtains the appropriate file Stored in Streaming
`information file directory or database 121. This file is
`transmitted by web server 117 to client computer 101. At
`Step 221, the client receives and Stores the file. In the
`preferred embodiment, this file includes a locator, Such as a
`Universal Resource Locator (URL), from which the particu
`lar Stream is available. Receiving this file causes, in the
`preferred embodiment, a player application 122 to be
`launched on client computer 101.
`0026. As represented by steps 223 and 225, once a user
`identifier is obtained, Session tracking logic 123 creates a
`record in Session records database 125 to track the user's
`Session with the Selected media Stream. This Session record
`includes, but is not limited to, fields for the user identifier,
`the time the media Stream was set up, and/or information
`that identifies the media stream (e.g. the radio station
`broadcast including for example the particular advertise
`ment) sent to the user. A session identifier that uniquely
`identifies the Session is also generated and Sent by Session
`tracking logic 123 to client computer 101 in step 227 for
`storage by the client computer in Step 229. The client
`computer 101 preferably stores the session identified in
`client Session tracking logic 127.
`0027. Beginning with step 231 the client requests the
`stream from the URL provided in the file received at step
`221. For purposes of this description, the URL points to a
`Streaming Service on Streaming Server 105, which is trans
`mitting the stream from source 107. The streaming server
`begins transmitting the Stream to client computer 101 in Step
`233, which preferably includes a stream identifier that is
`Stored by the Stream control logic 129 of player application
`122 on client computer 101 in step 235. Player application
`122 has embedded in or linked to it a streaming media client
`131, such as Windows Media Player'TM, that actually con
`trols the Streaming and processes and decodes the Stream in
`step 237 for playback on client computer 101 using its sound
`System and/or a connected Sound System. If, as represented
`by decision steps 239 and 241, the stream terminates, the
`stream identifier is deleted at step 245. If a new stream
`identifier is received, it is Stored in Step 243 and the playing
`process continues at Step 237. A Session identifier for a
`Streaming Session can be used in place of the Stream ID to
`identify the Stream that the user is then currently receiving.
`0028 Referring now to FIGS. 1 and 3 in step 301, player
`application 122 sends information to web server 113. This
`information may be automatically Sent on a periodic basis.
`This information preferably includes the user identifier, the
`session identifier and the stream identifier. This information
`is used by ad display logic 133 as part of a request Sent to
`tracking web server 113 for an updated URL at step 303 for
`a rich media message, Such as an advertisement. This rich
`media advertisement may include text, Static graphic com
`ponents, and/or active components, and may come from any
`third party. For example, Such components may be for
`example a video component in MPEG, QT, MOV or other
`
`NETFLIX, INC. EXHIBIT 1005
`
`
`
`US 2004/O133467 A1
`
`Jul. 8, 2004
`
`format, a presentation in Flash, an animated GIF and/or the
`like. It is preferably displayed in a rich media advertising
`window 135, which is in the preferred embodiment a web
`browser window that is displayed adjacent a window con
`taining controls (such as Volume controls) for player appli
`cation 122 on the monitor of the client computer. Thus, when
`a user is receiving a media Stream, the user is also viewing
`an advertisement. The ad display logic 133 can be imple
`mented either as a periodic web page refresh or through
`client/server Software. Once the URL for the rich media
`advertisement is received in step 305, the rich media adver
`tisement is requested in step 307. In step 309, at least a
`portion of the received rich media advertisement is dis
`played. The player application waits for a prescribed time
`before repeating the process, as indicated by Step 311.
`0029. The preferred embodiment flow diagram of FIG. 4
`represents the process on tracking Server 113 that corre
`sponds to the process represented by the flowchart of FIG.
`3 that takes place on the client computer 101. This process
`will be described in connection with web server 113. How
`ever, as previously explained, other client/server Software
`can be used to implement this process. Web server 113 waits,
`as indicated by decision Step 401, to receive updated infor
`mation from the computer of each user that uses the Stream
`ing Services. When it receives updated information, web
`Server 113 passes the information to Session tracking logic
`123, for updating the Session record for the particular user in
`step 403. Advertising push logic 137 also receives informa
`tion about the Stream that is being played. If, as represented
`by Step 405, the user is playing a message, Such as an
`advertisement, that has been inserted into the Stream accord
`ing to a process that will be described below, the identity of
`the Streaming advertisement is available as a stream or
`session identifier, as indicated at step 407. Preferably the
`Stream identifier is used to look up in the advertising
`scheduling database 139 or some other database the URL of
`a rich media advertisement that is to be shown at the same
`time streaming advertisement is played. In step 409, the
`advertising scheduling database 139 is updated with this
`information so that, when the advertising push logic 137
`polls the database at step 411 for the URL of the advertise
`ment to be shown, the URL for this rich media advertisement
`is transmitted to the client at step 413. If the user was not
`playing a Streaming advertisement at Step 405, but was
`playing Such an advertisement during the last update, then it
`updates advertising Schedule database to transmit the rich
`media advertisement when the advertising push logic polls
`the advertising Schedule database, as indicated by StepS 415
`and 417. In a preferred embodiment the advertising schedule
`database is updated with a previously Scheduled advertise
`ment. However, if desired, in alternative embodiments the
`advertising Schedule database may be updated with an
`advertisement Selected in real-time based on one or more
`predefined criteria as discussed in more detail with reference
`to FIG. 5. If no streaming advertisement was being played
`on the prior update, then step 417 is skipped. Web server 117
`is illustrated as providing the rich media advertising files. If
`the URL provided by the process of FIG. 4 points to a rich
`media advertising file stored in database or file system 143,
`then get rich media ad logic 141 retrieves the files for the
`advertisement and provides them to web server 117 to send.
`However, the URL may also point to any other resource on
`packet network 103.
`
`0030) Referring now only to FIG. 1, clie