throbber
ARTOA
`
`US 20040078812A1
`
`as United States
`a2) Patent Application Publication co) Pub. No.: US 2004/0078812 Al
`
` Calvert (43) Pub. Date: Apr. 22, 2004
`
`
`(54) METHOD AND APPARATUS FOR
`ACQUIRING MEDIA SERVICES AVAILABLE
`FROM CONTENT AGGREGATORS
`
`(76)
`
`Inventor: Kerry Wayne Calvert, Indianapolis, IN
`(US)
`
`Correspondence Address:
`Joseph S Tripoli
`Thomson Multimedia Licensing Inc
`PO Box 5312
`Princeton, NJ 08543-5312 (US)
`
`.
`(21) Appl. No.:
`(22)
`PCTFiled:
`
`10/250,640
`Jan. 4, 2002
`
`(86) PCT No.:
`
`PCT/US02/00008
`
`(30)
`
`Foreign Application Priority Data
`
`Jan. 4, 2001
`
`(US) oon. eect eeeeeeeeteeeeeeereenee 60259713
`
`Publication Classification
`
`(51)
`
`Int. Ch?cee HO4N 5/445; GOOF 3/00;
`HO4N 7/10; HO4N 7/025;
`H04H 9/00; HO4N 7/16; GO6F 15/173;
`HO4N 7/173; GO6F 13/00
`(52) US. Ch ccc 725/46; 725/9: 725/14; 709/224:
`725/37; 725/113; 725/35
`
`(57)
`
`ABSTRACT
`
`A method for generating a unified list of media services
`available from a plurality of content aggregators having
`different data formats. A first list of media services from a
`first content aggregator is transmitted to a playback device.
`A second list of media services from a second content
`aggregator is also transmitted to the playback device, which
`combinesbothlists into a unified list of media services. The
`method optionally details the playback of a media service
`from said plurality of content aggregators via a selection
`made on the unified list to a playback device.
`
`EXECUTING AN lradio.Set_Service CALL AND Iradio_Content_List
`CALL FOR A FIRST HTTP PROCESSOR(404)
`
`EXECUTING AN lradio_Set_Service CALL AND tradio_Content_List
`CALL FOR A SECOND HTTP PROCESSOR(404)
`
`HTTP PROCESSOR (404) PERFORMINGA GET REQUEST
`
`CONTENT AGGREGATORSITE (102) WITH MEDIA SERVICE LIST
`RESPONDING 10 THE GET REQUEST
`
`
`
`
`
`
`
`
`
`
`
`HTTP PROCESSOR(404) COLLECTING RESPONSE FROM THE CONTENT
`AGGREGATOR(102) AND FORWARDING INFORMATION TO CONTENT ADAPTER
`
`CONTENT ADAPTER (406) RECEIVING LIST OF MEDIA SERVICES AND
`INVOKING TRANSFORMATION FOR CREATING THE COMMON DATA
`STRUCTURE CONTAINING GENRES AND SUB-GENRES OF MEDIA SERVICES
`FROM CONTENT AGGREGATOR (102)
`
`CREATING A UNIFIED LIST OF GENRES AND SUB-GENRES FOR DISPLAY
`
`Bose Exhibit 1045
`
`Bose v. Koss
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 1 of 10
`
`US 2004/0078812 Al
`
`106
`
` <=
`
`=o=
`
`1) |
`
`110
`
`rT
`
`C5
`
`LL
`
`S
`
`na
`Ly
`
`|
`
`—
`
`N
`
`tox
`
`.o
`ao
`~
`
`
`
`104
`
`Cl
`
`ss
`
`
`Jf/
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 2 of 10
`
`US 2004/0078812 Al
`
`104
`
`PLAYBACK DEVICE
`
`204
`
`DATA MEMORY
`RECEIVER OE NETWORK
`218
`w||&||a
`
`DATA
`
`
`
`PROGRAM MEMORY
`216
`
` STEREO
`
`
`
`
`QUTPUT
`DEVICE
`
`212
`
`
`DISPLAY
`DEVICE
`222
`
`FIG. 2
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 3 of 10
`
`US 2004/0078812 Al
`
`REQUESTING PARAMETERS FROM
`CONTENT AGGREGATOR VIA
`IRadio_Set_Service CALL
`
`STORING PARAMETERS FROM
`CONTENT AGGREGATOR
`
`FORMATTING CONTENT LIST FROM
`CONTENT AGGREGATOR VIA
`lradio.List_Content CALL
`
`CONTENT LIST VIA STREAM CALL
`
`REQUESTING MEDIA SERVICE FROM
`CONTENT AGGREGATOR DISPLAYED ON
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 4 of 10
`
`US 2004/0078812 Al
`
`CONTENT LIST
`
`
`
`
`
`HTTP
`CONTENT
`
`
`iedAP
`PROCESSOR
`ADAPTER
`CALL
`
`
`
`
`
`4%
`we
`ao
`4
`
`
`
`
`08
`
`
`CONTENT DATA
`
` Radio API
`40
`
`
`42.
`
`XML PARSER
`
`FIG. 4
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 5 of 10
`
`US 2004/0078812 Al
`
`
`
`
`
`BRASS
`
`SUNCOAST SOUND
`TRIOS
`
`COUNTRY
`
`GARTH BROOKS
`
`
`
`HARDCORE
`
`
`
`ACID JAZZ
`
`ROCK AND ROLL
`
`DISCO
`
`ROCK AND ROLL
`
`SYNTH
`
`
`
`
`
`
`
`
`
`
`
`
`COUNTRY
`
`GARTH BROOKS
`CHANNEL
`
`
`
`
`
`
`
`
`ACID JAZZ
`
`BRASS
`
`SUNCOAST SOUND
`
`TRIOS
`
`HARDCORE
`
`ROCK AND ROLL
`
`DISCO
`
`SYNTHTd FIG. 9
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 6 of 10
`
`US 2004/0078812 Al
`
`STREAM
`
`REQUESTCALL
`i
`
`enAP
`wm
`
`HTTP
`
`PROCESSOR
`ine
`
`42
`
`PLAYBACK
`APPLICATION
`608
`
`CONTENT
`ADAPTER
`406
`
`(Radio API
`
`BUFFER
`604
`
`FIG. 6
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 7 of 10
`
`US 2004/0078812 Al
`
`EXECUTING AN Iradio_SetService CALL ANDlradio_Content_List
`CALL FOR A FIRST HTTP PROCESSOR(404)
`
`EXECUTING AN Iradio_Set_Service CALL ANDiradio_Content_List
`CALL FOR A SECOND HTTP PROCESSOR(404)
`
`702
`
`704
`
`HTTP PROCESSOR (404) PERFORMING A GET REQUEST
`
`706
`
`708
`
`
`
`CONTENT AGGREGATORSITE (102) WITH MEDIA SERVICE LIST
`RESPONDING T0 THE GET REQUEST
`
`
`HTTP PROCESSOR (404) COLLECTING RESPONSE FROM THE CONTENT
`AGGREGATOR(102) AND FORWARDING INFORMATION TO CONTENT ADAPTER
`
`
`
`
`CONTENT ADAPTER (406) RECEIVING LIST OF MEDIA SERVICES AND
`INVOKING TRANSFORMATION FOR CREATING THE COMMONDATA
`
`STRUCTURE CONTAINING GENRES AND SUB-GENRES OF MEDIA SERVICES
`FROM CONTENT AGGREGATOR(102)
`
`10
`
`"
`
`CREATING A UNIFIED LIST OF GENRES AND SUB-GENRES FOR DISPLAY
`
`m4
`
`FIG. /
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 8 of 10
`
`US 2004/0078812 Al
`
`TELEVISION
`208
`
`204
`
`|
`HARDWARE SERVICES
`
`
`
`STREAM API
`
`810
`
`USER
`SELECTION
`DEVICE
`826
`
`802=. 82
`
`
`
`
`_[;———POINT
`
`OTHER
`
`SERVICES
`808
`
`
`
`
`
`820 FIG. 8
`
`ANTENNA
`822
`
`—
`
`SERVICES
`816
`
`gtd
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 9 of 10
`
`US 2004/0078812 Al
`
`900
`
`<hmlversion ="1.0°%
`<!--MEDIAMATCH_CONTENT_LIST—>
`<!DOCTYPElist {
`<!ELEMENT mediaservice (location, media_title, player_app, performer, genre, copyright}>
`<ELEMENTlocation (#PCDATA)>
`<ELEMENT media_title (7PCDATA)>
`<IELEMENTplayer_app (FPCDATA)>
`<ELEMENT performer (#PCDATA)>
`<ELEMENT genre (#PCDATA)>
`<ELEMENT copyright (@PCDATA}>
`
`</mediaservice> FG. 9
`
`<mediaservice>
`<location>http://www.musictesters.com/buggy/travoltaswing.MP3</location>
`<media_title>TravoltaSwing</media_title>
`<player_app>MP3</player_app>
`<performer>Travolla_John</pertormer>
`<genre>Bluegrass</genre>
`<copyright>1989</copyrighb
`</mediaservice>
`
`emediaservice>
`<location>121.12.113.331</location>
`<media_title>The_Big_Sleep</media_title>
`<player_app>MPEG_4</player_app>
`<perlormer>Bogart_Humphrey</performer>
`<genre>Mystery</genre>
`<copyright>1946</copyright>
`
`</mediaservice>
`
`<mediaservice>
`
`<location>111.345,44.332</location>
`<media_title>Steve_Dahl</media_title>
`<player_app>RealAudio</player_app>
`<pertormer>Dah!_Steve</performer>
`<genre>Talk_SHows/genre>
`<copyright2001</copyright>
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 10 of 10
`
`US 2004/0078812 Al
`
`
`
`1000
`
`TITLE MEDIA FORMAT|LOCATIONPERFORMER
`
`WwW.musictesters.com/buggy/
`
`
`BLUEGRASS|TRAVOLTA SWING] JOHN TRAVOLTA—|MUSIC SONG travollaswingMP3
`
`
`
`
`
`
`
`
`
`
`
`MYSTERY |THEBIG SLEEP|HUMPHREY BOGART}MOVIE 121.12.133.331
`
`
`
`TALK SHOW|STEVEDAHL|STEVE DAHL DD $11.345.44:332
`
`
`1100
`
`
`
`TITLE
`
`PERFORMER
`
`GENRE
`
`THE BIG SLEEP
`
`HUMPHREY BOGART
`
`MYSTERY
`
`
`
`
`
`o
`oOo
`o
`o
`
`o
`a
`ao
`oa
`
`BLUEGRASS
`JOHNTRAVOLTA
`SH TRAVOLTASWING
`of TO
`
`ECs
`
`
`
`STEVE DAHL STEVE DAHL
`TALK SHOW
`
`FIG. 11
`
`

`

`US 2004/0078812 Al
`
`Apr. 22, 2004
`
`METHOD AND APPARATUS FOR ACQUIRING
`MEDIA SERVICES AVAILABLE FROM CONTENT
`AGGREGATORS
`
`[0001] This invention is related to the field of indexing,
`acquiring, and playing media services, particularly media
`services in the form of streaming media available from a
`plurality of content aggregators.
`
`[0002] Listening to radio broadcast programming, such as
`music, news, and talk shows, is a commonly enjoyed form
`of media entertainment
`that are typically sent as radio
`transmissions through the airwaves.
`
`[0003] Radio transmissions have problemsthat arise due
`to the inherent physical limitations of using radio waves. For
`example, radio waves lose power the further they are from
`their broadcast source, whereby it becomes difficult for a
`receiverto reliably receive and demodulate a broadcast from
`a long distance. This limitation makesit difficult for listeners
`to receive their favorite stations if outside of a geographic
`region (e.g., a person wholives in Boston typically can not
`receive a radio broadcast from Los Angeles). Additionally,
`the frequencies of radio broadcasts have to be ughtly con-
`trolled because the airwaves can only accommodatea finite
`number of electronic-magnetic waves before interference
`results.
`
`[0004] The limitations of broadcasting via radio wavesare
`overcome by using alternative broadcasting techniques. One
`approachtransmits radio station broadcastsas satellite trans-
`missionsthat are received througha satellite dish coupled to
`an audio decoder. Satellite broadcasts have a further geo-
`graphic range than radio wave based transmissions. Also,
`satellite transmissions can accommodate more radio stations
`broadcasts than broadcasted as radio waves, by using tech-
`niques as multiplexing and data compression increasing the
`bandwidth efficiency of a transmission. Satellite broadcasts
`are limited in programming choices available, because the
`radio stations are selected by satellite broadcasters and
`broadcasting via satellite is cost prohibitive, which may
`underrepresent
`the broadcasting choices available from
`small media markets.
`
`available to a user are equally as expansive, as a user can
`select to hear a sub-genre of a music genre(e.g., a rock and
`roll station “music genre” that plays 1980’s new wave music
`“sub-genre’’). The listener also can manipulate the songs
`(media objects) or content heard into a playlist, which is
`organized by the preferences of the listener. These broad-
`casts are accessed choosing a link (uniform resource indi-
`cator URI) to a music file on a website or by using a media
`player that receives streaming feeds of media services.
`Within all of these customizable options, it is difficult for a
`user to find all of the media services available because the
`content on the Internet is chaotically organized.
`
`[0007] One development for organizing media services
`available through the Internet is the use of a tuning service
`or a media subscription servic . These type of services
`(alternatively known as content aggregators),
`such as
`MUSICMATCH™, LIVE365™, and STREAMWAVES™
`bring together a plurality of media services to a common
`pointor interface (e.g., a website, a streaming media player
`with channels) with an architecture where a user selects
`media services trom categories including genre and per-
`former. A tuning service is typically proprietary to protect
`the copyrighted material comprising media services and
`requires an interface to successfully use the tuning service to
`playback an available media service. The restrictions of
`using a proprietary tuning service typically limits a user
`from activating media services available from different
`content aggregators, without switching to an additional
`device.
`
`In accordance with the principles of the present
`[0008]
`invention, a method and apparatusare disclosed that enable
`the indexing and acquisition of media services from a
`plurality of content aggregators. A listing of media services
`is generated by the indexing of available media services
`from the plurality of content aggregators. The method and
`apparatus also describe the retrieval and output of a selected
`media service available from the plurality of content aggre-
`gators to a playback device.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0009] FIG. 1 is a diagram of audio and video based
`media services that are aggregated by a content aggregator.
`
`{0010] FIG. 2 is a diagram of an Internet connection
`between devices using the invention and a plurality of
`content aggregators.
`
`(0011] FIG. 3 is a flowchart of formatting a request to a
`content aggregator.
`
`FIG.4 is a block diagram of requesting a content
`{0012]
`list from a content aggregator.
`
`[0005] The amount of programming choicesavailable to a
`listener (or viewer) has increased since the development of
`radio and video transmissions through a communications
`network such as the Internet. Radio and video services
`(referred to as media services) that were otherwise limited
`by geographic bandwidth or other constraints are broad-
`casted around the world via the Internet. Any user who
`possesses a connection to the Internet and an Internet
`enabled device (computer, cellular phone, MP3 music
`player, Internet appliance, satellite receiver) can receive a
`media service broadcasted in the form of streaming media.
`[0013] FIG.5is a diagram of audio based media services
`The media service is encoded and compressed, typically by
`available from a plurality of content aggregators indexed
`into a unified content list.
`a computer, into packets that conform to a transport proto-
`col, such as TCP/IP. The packets are routed to a listener’s
`device through the Internet, in that software on the listener’s
`decoding device (e.g., a computer with a media player as
`REALPLAYER™, MACROMEDIA PLAYER™,
`and
`MP3PRO™) decompresses and decodes the-packets into an
`audio/video signal for playback on an output device (com-
`puter, receiver, stereo, television set).
`
`[0006] The Internet provides a listener with the ability to
`access thousands of media services. The music genres
`
`[0014] FIG. 6 is a block diagram of requesting and
`acquiring a media service from a content aggregator.
`
`FIG.7 isa flowchart of a synchronous usage model
`{0015]
`requesting and acquiring music services from a content
`aggregator
`
`[0016] FIG. 8 is a diagram of requesting and acquiring
`music services from a plurality of content aggregators by
`using a control point.
`
`

`

`US 2004/0078812 Al
`
`Apr. 22, 2004
`
`[0023] Uniform resource indicators (URIs)are a universal
`set of namesthat refer to existing protocols or name spaces
`that
`identify resources (e.g., website, streaming media
`server,), services (e.g., videos on demand,internet radio),
`devices (e.g., mobile phone, internet enable appliance), and
`data files (e.g., media files and text documents). A URL is a
`form of a URI that expresses an address that maps to an
`access algorithm using network protocols (e.g., TCP/IP or a
`MPEGtransport scheme). When a URLis used, a specific
`resource, service, device, or data file may be accessed and/or
`manipulated. An alternative form of a URI knownas an
`Internet protocol number or address (IP)
`is a series of
`numbers that refers to a specific resource, service, or data
`file. Optionally, a URL is mapped to an IP number, typically
`through a Domain Name Server (DNS), that provides two
`ways lo access a desired resource (¢.g.,
`a resource is
`accessed either by using the domain name www.whitehou-
`se.gov or the IP address 198.137.240.91).
`
`[0017] FIG. 9 is a diagram of a content list of media
`services a playback device receives from a content aggre-
`gator as computer code.
`[0018] FIG. 10 is a diagram of a content list of media
`services formatted to the internal data structure of a play-
`back device by a content adapter.
`[0019] FIG. 11 is a display of a content list of media
`services formatted into a menu by a XMLparser.
`[0020]
`In FIG. 1, a composition of media services avail-
`able to a content aggregator 102 is shown. Audio based
`media services, as audio website 104, radio station 106,
`music service 108, originating as audio based feeds (e.g.,
`music,
`talk radio show, streaming media files, baseball
`game, audio from a television program, audio books), and
`video station 109 (e.g, CNN®, ABC®, DIRECTV®) are
`media services available to content aggregator 102 through
`communications network 110
`(e.g.,
`Internet, Public
`Switched Telephone Network (PSTN), Local Area Network
`(LAN), wireless network, Digital Subscriber Line (DSL),
`peer to peer network). Preferably, the media services are
`coupled to content aggregator 102 via communications
`network 110 with the media services transmitted as packets
`conforming to a TCP/IP protocol. Optionally, content aggre-
`gator 102 receives audio and video feedsthat are transmitted
`through a wireless interface (radio frequency, microwaves,
`infrared) or receives media objects (e.g., audio-video files
`that are pre-recorded or real
`time fecds transmitted as
`streaming media) that are stored locally at the site of the
`content aggregator 102 (such as in a hard disk drive, optical
`storage, removable storage device, or magnetic tape).
`[0021] The mediaservices available for transmission com-
`prise audio and video feeds. Audio website 104 is an Internet
`based website that comprises audio based media services
`that are transmitted in the form of streaming media or are
`computer files partially or completely transmitted. Option-
`ally, the media services may purport to a type of mediafile
`format
`(e.g., REALAUDIO®, REALMEDIA®, APPLE
`QUICKTIME®, MICROSOFT® WINDOWS MEDIA™
`FORMAT, MPEG-2 LAYERIII AUDIO, and MP3®)that is
`played back via
`a media player
`(REALPLAYER®,
`WINAMP®, and MICROSOFT® WINDOWS MEDIA™
`PLAYER). Radio station 106 is a content provider that
`broadcasts radio programs as audio based streamed media
`services. The broadcasts maybe live or prerecorded. Music
`[0026] Playback device 202, as an Internet enable device,
`service 108 is a media service that is subscription based
`contains hardware and software (APIs and program subrou-
`(e.g., MUSAK®, MUSIC CHOICE®)that broadcasts pro-
`tines) for communicating and interacting with content aggre-
`grammingas an audio based media service available through
`gator 102. Preferably, playback device 202 comprises cen-
`the content aggregator 102. Video feed 109 is a media
`tral processing unit (CPU) 214, program memory 216, data
`service that is transmitted from a television station (e.g.,
`memory218, an audio speaker 220, display device 222, and
`CNN, ABC)or as a video service (e.g., a movie on demand)
`input device 224. CPU 214 (a computer processor) pro-
`available to content aggregator 102.
`cesses audio services received from the content aggregator
`[0022]
`In accordance with the principles of the present
`102, received via communications network 110. CPU 214 is
`invention, content aggregator 102, in an alternative embodi-
`coupled to data memory 218 that stores data received from
`ment, exists as a web resource(e.g., website, index, catalog)
`the content congregator 102 and selected media services.
`that comprises Uniform Resource Indicators (URIs)that link
`Program memory 216, connected to CPU 214, stores pro-
`to the location of media services. A playback program (e.g.,
`gramming instructions and APIs used to communicate with
`a strcaming media player) directly accesses a media service
`and process the media services obtained from content aggre-
`at its listed location (by using the listed link) instead of
`gator 102.
`receiving the media service directly from content aggregator
`102. Content aggregator 102 may comprise an indexoflinks
`to the location of media services and may have media
`services that are transmitted directly from content aggrega-
`tor 102.
`
`
`
`[0024] FIG. 2 illustrates a connection between Internet
`enabled devices (a playback device 202, cable set top box
`204, computer, cellular phone, MP3 player, video game
`system) and a plurality of content aggregators. Content
`aggregator 102 receives audio based media services from
`audio website 104 and radio station 106. An Internet enabled
`device, such as playback device 202, accesses content
`aggregator 102 via a communications network 110 (e.g.,
`Internet).
`
`[0025] Playback device 202 communicates with content
`aggregator 102 to request a listing of media services avail-
`able from content aggregator 102 and to receive media
`services selected from the list of media services. Preferably,
`the communications are procedural calls and requests com-
`prising computer commands,for example hypertext markup
`language (HTMT.) or extensible markup language (XMT.)
`based requests,transported as packets adhering to a transport
`structure (e.g., Transmission Control Protocol/Internet Pro-
`tocol (TCP/IP)) through communications network 110. The
`procedural calls are formatted through the use of an appli-
`cation programming interface (API). This interface com-
`prises a series of functions that are used by a program or
`device to initiate a specific action (for example, an Internet
`enabled device uses an audio API to control a soundcard for
`the playback of an audio based media service).
`
`[0027] Display device 222 displays the program genres
`and subgenres of audio based media services available from
`content aggregator 102. Preferably, display device 222 is a
`television display, LED display, or LCD display. The genres
`
`

`

`US 2004/0078812 Al
`
`Apr. 22, 2004
`
`and sub-genres are selected by using input device 224 by
`engaging a button, dial, or touch screen interface, or other
`tactile mechanism available on input device 224. CPU 204
`requests (via a command such as a computer command or a
`procedural call) an audio based media service (in this
`example from a radio station 106) through content aggre-
`gator 102, after the media service was selected via input
`device 224. Content aggregator 102 receives the request
`from playback device 202 and,
`in response, sends the
`selected media service to playback device 202 in the form of
`a packetized transmission. Playback device 202 processes
`the media service and outputs the results through connected
`audio speaker (loudspeaker) 220. In an alternative embodi-
`ment,
`the selected media service is video based and is
`outputted to display device 222.
`
`[0028] Set top box 204 is an Internet enabled device that
`receives audio and video based media services from, for
`example, cable or broadcast television stations. Preferably,
`set top box 204 is a conduit for media services that are
`multi-threaded or multiplexed byset top box 204 to devices
`that are not Internet enabled (e.g., stereo receiver 206 and
`television audio output 208). For example, set top box 204
`receives a classical music based media service, whichset top
`box 204 sends to stereo receiver 206. At the same time, set
`top box 204 receives a newscast media service that
`is
`transmitted to coupled television 208. Optionally, set top
`box 204 transmits audio services to an attached data network
`210 (e.g., Ethernet network, wireless RF network, power
`line based network,or infrared network) that is connected to
`output device 212 (connector or audio speaker) that outputs
`the media services as a signal.
`
`[0029] Multi-threading operates by set top box 204 divid-
`ing up its processing tasks (housekeeping tasks, data
`retrieval, processing data, outputting data) into a number of
`timeslots. Each processing task is allocated a number of
`timeslots. Processing tasks of a high priority (playback of a
`media service) receive a larger number of timeslots than
`other processing tasks (updating the display of available
`media services). The times slots as allocated in accordance
`with a predetermined procedure. In the current example, set
`top box 204 divides each second into ten timeslots: four
`timeslots are allocated for the classical music media service,
`four timeslots are for the newscast media service, and the
`remaining two timeslots are for housekeeping procedures.
`Set top box 204 then processes the media services and
`performs housekeeping tasks
`in accordance with the
`timeslots allocated. An embodiment of the invention sup-
`ports that time slots durations may be unequal or equal
`amounts of time.
`
`[0030] FIG. 3 shows a flowchart of a method of config-
`uring a device (playback device 202 or set top box 204) to
`the same data format as content aggregator 102 for acquiring
`and outputting selected media services.
`In the preferred
`embodiment, playback device 202 communicates with a
`content aggregator 102 through communications network
`110 in accordance with computerinstructions controlling the
`CPU 214. The computer instructions comprising an API
`operating through specific procedural calls. The API
`requests parameters from content aggregator 102 via a
`Set_Service_Call in step 302. The parameters transmitted to
`playback d vice develop a data and communication structure
`used by playback device 202 to communicate with content
`aggregator 102. The communication structure is the format
`
`used to communicate data between playback device 202 and
`content aggregator 102. Preferably, the playback device 202
`conforms with TCP/IP, Open SystemsInterconnection (OSI)
`protocol, 3G, or WAP based transport protocols architec-
`tures. Accordingly, playback device 202 determines the
`communications structure of content aggregator 102 by
`using a handshake process and receiving data back that
`comports to a predetermined communications structure.
`Also, playback device 202 passively receives a data stream
`from content aggregator 102, whereby playback device 202
`determines the communication structure based upon key
`attributes that exist in the data stream. For example, play-
`back device 202 reads a headerof a received data packet and
`determines that the data packet comports to a MPEGtrans-
`port and data scheme.
`
`[0031] For example, a sample data structure comprises
`media service menus,
`the locations (URIs) and types of
`media service formats (Real Audio, Microsoft Media Player,
`MP3)available from the providers of the media servicesthat
`correspondto a style shect Playback device 202 reccives the
`style sheet from content aggregator 102 and formats incom-
`ing and outgoing data accordingly. Preferably, the determi-
`nation of data structure compriscs a document object model
`(DOM) comprising three levels. Level 1 establishes the
`format governing the exchange of data (e.g., XML and
`HMTL). Level 2 controls presentation and manipulation of
`data being transmitted (using style sheets). Level 3 defines
`a content model(e.g., data variables and metadatafields) and
`events used for a document (function key F12 saves a
`document). Optionally, Multipurpose Internet Mail Exten-
`sions (MIME) compliant classes and objecttypesare used to
`define the objects available. Playback device 202 stores data
`structure parameters from content aggregator 102 into the
`program memory 216,
`in step 304, and formats future
`communications with the content aggregator 102 accord-
`ingly.
`
`[0032] The use of a DOM allowsplayback device 202 to
`support new document types and media formats as multi-
`media standards adjust. For example, a new content aggre-
`gator uses a new multimedia player to play back available
`media services. Playback device 202, when requesting a
`media service from the new content aggregator, will read the
`corresponding DOM and locate the new multimedia player
`(either by a embedded locator in the DOM orbyreferring to
`an external database). Playback device 202 then requests a
`codec (update) for the new media player, which is stored
`once the codec is received. The media service is ready to be
`outputted by playback device 202 using the new media
`player.
`
`[0033] With the data structure parameters stored, playback
`device 202 requests a content list of media services from
`content aggregator 102 via a List_Content_Call issued by
`CPU 214, in step 306. As displayed in FIG. 4, the List-
`_Content_Call comprises an Iradio API 412 that initiates an
`Iradio Request API 402 (stored in program memory 216)
`that allocates and manages the internal resources used for
`the content list request. Preferably, CPU 214 designates
`operational cycles for the content list request and designates
`space in the data memory 218 for the storage of a content
`list. Optionally, Request API 402 manages multiple requests
`for content lists from a plurality of content aggregators 102,
`simultaneously.
`
`

`

`US 2004/0078812 Al
`
`Apr. 22, 2004
`
`[0034] CPU 214 then issues a HTTP processor API 404
`subroutine that controlling the communication transmissions
`with content aggregator 102. HTTP processor API 404
`functions in accordance with the parameters stored in step
`302 by managing the connection, communications, and
`HTTPprotocol exchange with the content aggregator 102.
`This includes all processing related to HTTP URIredirec-
`tion, error recognition, and response classification as a
`standard response to a stream comprising a media service.
`HTTPprocessor API 404 transmits the content list requestto
`content aggregator 102 via communications network 110.
`Content aggregator 102 responds by transmitting a content
`list of available media services received through HTTP
`processor API 404.
`
`[0035] After receiving the contentlist, preferably in a pred
`termined format, CPU 214 initiates content adaptcr 406
`routine that formats the received content list to an internal
`format of data and an internal data structure used by play-
`back device 202. For example, CPU 214 uses a XML
`(internal format of data) based document
`type definition
`(DTD)that predefinesthe internal data structure (datafields)
`used for playback device 202. Data received from the
`content aggregator 102,
`in a XML format,
`is directly
`matched to the data fields defined by the DTD. If the data
`received from content aggregator 102 does not comply with
`the internal data format (XML), content adapter 406 formats
`the data into XML, preferably by the use of translation
`tables, and associates the formatted data into the internal
`data structure (DTD)of playback device 202. Optionally, the
`formatted data and data received from content aggregator
`102 are stored in data memory 218. Also,
`the DTD is
`updateable (for example, an update sent as a style sheet via
`the Internet 110 overwrites an existing DTD).
`
`[0036] XML. parser 408 receives the XMT. based data from
`the content adapter 406 (or from the data memory 218), and
`maps the XML baseddata to preselected menu elementsthat
`are displayed and manipulated by a user. The data mapping
`accomplished via a data table that indicates which variables
`from the internal data structure are mapped to preselected
`menu elements.
`
`[0037] FIG. 9 is a diagram of a content list of media
`services 900 Gin XML format) the playback device 202
`receives from content aggregator 102. FIG. 10 is a display
`of a content list of media services 1000 formatted to the
`
`internal data structure of the playback device 202 by the
`content adapter 406. FIG. 11 is a display of a contentlist of
`media services 1100 formatted into a menu by the XML
`parser 408.
`
`[0038] As an exemplary embodiment, data formatted by
`the XMLparser 408, is displayed as a hierarchical menu on
`display device 222. The hierarchical menulists fields that
`are either preselected or designated by a user (sample fields
`are media service,
`title, media type, performer, content
`ageregator source, etc.). For example, a “top” level of the
`menuis displayed by genre (e.g., talk show, music, news,
`sports talk, mystery, soap opcra,ctc.). When a user sclects a
`genre listed on the “top” menu level via input device 224,
`content data procedure 410 initiated by CPU 214 checks
`data memory 218 if there are any sub-genres or available
`media services listed in association with the selected genre.
`Alternatively, content data procedure 410 issues an addi-
`tional content list call 401 to content aggregator 102 for
`
`more information that is associated with the selected genre
`(repeating the steps discussed above). Content data proce-
`dure 410 generates and displays from the associated data a
`“second” level menu listed underneath the “top” level. The
`user then makes a selection from the “second” level, and
`content data procedure 410 continues to issue contentlist
`calls 401, until the user selects a media service for playback.
`
`[0039] After a media service is selected via input device
`224 (e.g., from a hierarchical menuora listing of available
`media services), CPU 214 issues an Iradio_Stream_Con-
`tents_call API, in step 308, to retrieve the selected media
`service from the content aggregator 102. The Iradio_Stream-
`_Contents_call API, as displayed in FIG. 6, begins with a
`Stream Request Call 602 that determines a location of the
`requested media service (preferably the media service’s
`URJ) cither through datareturned from the Iradio_List_Con-
`tent_Call (in data memory 218) or through other means(e.g.,
`as requesting the location of the media service from the
`content aggregator 102). Optionally, Iradio_Stream_Con-
`tents_call API 308 supports
`asynchronous
`(multiple)
`requests for media services via the multithreading capability
`described above.
`
`[0040] Once the location of the selected media service is
`known, the CPU 214 issues an Iradio API 412 that starts with
`the Request API 402 subroutine for allocating and managing
`resources used for the Stream Request Call 602. HTTP
`processor API 404 is issued, as part of Iradio API 412, to
`connectto the location of the selected media service via the
`communications network 110. The connection to the loca-
`tion of the media service is a direct connection (website,
`storage device, cellular network, etc.), a connection made
`through cont nt aggregator 102 to the location of the media
`service, or a connection that is redirected to the location of
`the media service. HTTP processor API 404 also manages
`the details of locating stream data in the response that comes
`from the requested media service’s location. The request for
`a media service is preferably made as a HTTP or MIME
`compliant
`request
`containing information
`about
`the
`resources required to playback the media service (such as a
`media player). Along with standard H'I'l’P

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket