`(12) Patent Application Publication (10) Pub. No.: US 2004/0078812 A1
`(43) Pub. Date:
`Apr. 22, 2004
`Calvert
`
`US 20040078812A1
`
`(54) METHOD AND APPARATUS FOR
`ACQUIRING MEDIASERVICES AVAILABLE
`FROM CONTENTAGGREGATORS
`
`(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)
`Appl. No.:
`10/250,640
`
`(21)
`(22)
`(86)
`(30)
`Jan. 4, 2001 (US).....................................
`- - - - - - 6O259713
`
`PCT Fed:
`
`Jan. 4, 2002
`
`PCT No.:
`PCT/US02/00008
`Foreign Application Priority Data
`
`Publication Classification
`
`(51) Int. Cl." ............................ H04N 5/445; G06F 3/00;
`H04N 7/10; H04N 7/025;
`H04H 9/00; H04N 7/16; G06F 15/173;
`H04N 7/173; G06F 13/00
`(52) U.S. Cl. ................. 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
`combines both lists 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 tradio Set Service CALL AND radio Content List
`CALL FOR AFIRSTHTTPPROCESSOR (404)
`
`
`
`EXECUTINGAN tradio Set Service CALL AND radio Content List
`CALL FOR ASECONDHTTPPROCESSOR (404)
`
`HTTPPROCESSOR (404)PERFORMINGAGET REQUEST
`
`CONTENTAGGREGATORSITE (102) WITH MEDIASERVICELIST
`RESPONDING TO THEGET REQUEST
`
`702
`
`704
`
`7O6
`
`708
`
`HTTPPROCESSOR(4O4)COLLECTINGRESPONSE FROM THE CONTENT
`AGGREGATOR (102) AND FORWARDING INFORMATION TO CONTENT ADAPTER
`
`CONTENTADAPTER (406) RECEIVINGLIST OF MEDIASERVICES AND
`NWOKINGTRANSFORMATION FOR CREATING THE COMMONDATA
`STRUCTURECONTAINING GENRESANDSUB-GENRES OF MEDIASERVICES
`FROMCONTENTAGGREGATOR (102)
`
`710
`
`712
`
`CREATINGAUNIFIEDLIST OF GENRES ANDSUB-GENRESFOR DISPLAY
`
`714
`
`
`
`
`
`
`
`
`
`
`
`
`
`1
`
`Charter Ex. 1111
`
`
`
`Patent Application Publication Apr. 22, 2004 Sheet 1 of 10
`
`US 2004/0078812 A1
`
`A8 & S3 & O
`
`
`
`Se
`
`grad
`o
`rare
`
`
`
`COs
`-
`
`33
`
`i. S. SS
`
`
`
`2
`
`
`
`Patent Application Publication Apr. 22, 2004 Sheet 2 of 10
`
`US 2004/0078812 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`PLAYBACKDEVICE
`202
`
`PROGRAMMEMORY
`
`
`
`
`
`
`
`DATA MEMORY
`
`o
`
`110
`
`SET TOPBOX
`204
`
`
`
`STEREO
`RECEIVER
`206
`
`tags
`
`DISPLAY
`DEVICE
`222
`
`AUDIO
`SPEAKER
`220
`
`FIG.2
`
`DATA
`NETWORK
`210
`
`
`
`OUTPUT
`DEVICE
`212
`
`3
`
`
`
`Patent Application Publication Apr. 22, 2004 Sheet 3 of 10
`
`US 2004/0078812 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`REQUESTING PARAMETERS FROM
`CONTENTAGGREGATORVIA
`Radio Set Service CALL
`
`
`
`STORINGPARAMETERS FROM
`CONTENTAGGREGATOR
`
`
`
`FORMATTING CONTENT LIST FROM
`CONTENTAGGREGATORWA
`radio List Content CALL
`
`
`
`REQUESTING MEDIASERVICEFROM
`CONTENTAGGREGATORDISPLAYEDON
`CONTENT LIST WASTREAMCALL
`
`PLAYING AMEDIASERVICEFROM
`CONTENTAGGREGATOR
`
`
`
`TERMINATION OF MEDIASERVICEVA
`RETURN CODE
`
`FIG. 3
`
`302
`
`304
`
`306
`
`308
`
`310
`
`312
`
`4
`
`
`
`Patent Application Publication Apr. 22, 2004 Sheet 4 of 10
`
`US 2004/0078812 A1
`
`CONTENT LIST
`CALL
`401
`
`
`
`
`
`REQUESTAP
`402
`
`HTTP
`PROCESSOR
`404
`
`
`
`CONTENT
`ADAPTER
`406
`
`
`
`
`
`CONTENT DATA
`410
`
`XMLPARSER
`408
`
`
`
`Radio AP
`412
`
`FIG. 4
`
`5
`
`
`
`Patent Application Publication Apr. 22, 2004 Sheet 5 of 10
`
`US 2004/0078812 A1
`
`BRASS
`SUNCOAST SOUND
`TRIOS
`
`COUNTRY
`GARTHBROOKS
`CHANNEL
`
`
`
`520
`
`
`
`
`
`HARDCORE
`
`ACIDJAZZ
`
`ROCKAND ROLL
`
`ROCKAND ROLL
`
`DISCO
`
`SYNTH
`
`COUNTRY
`GARTH BROOKS
`CHANNEL
`
`530
`
`ACIDJAZZ
`BRASS
`SUNCOAST SOUND
`TRIOS
`
`HARDCORE
`
`ROCKAND ROLL
`
`DISCO
`SYNTH
`
`FIG.5
`
`6
`
`
`
`Patent Application Publication Apr. 22, 2004 Sheet 6 of 10
`
`US 2004/0078812 A1
`
`
`
`STREAM
`REQUEST CALL
`602
`
`PLAYBACK
`APPLICATION
`608
`
`Rog AP
`ap-
`
`HTTP
`PROCESSOR
`404
`
`BUFFER
`604
`
`Radio AP
`412
`
`FIG. 6
`
`CONTENT
`ADAPTER
`406
`
`7
`
`
`
`Patent Application Publication Apr. 22, 2004 Sheet 7 of 10
`
`US 2004/0078812 A1
`
`EXECUTINGAN radio Set Service CALL AND radio Content List
`CALL FOR AFIRSTHTTPPROCESSOR (404)
`
`EXECUTING AN tradio Set Service CALL AND radio Content List
`CALL FOR ASECONDHTTPPROCESSOR (404)
`
`HTTPPROCESSOR (404)PERFORMINGAGET REQUEST
`
`CONTENTAGGREGATORSITE (102) WITH MEDIASERVICELIST
`RESPONDING TO THE GET REQUEST
`
`702
`
`704
`
`706
`
`708
`
`
`
`
`
`
`
`
`
`
`
`
`
`HTTPPROCESSOR (404) COLLECTINGRESPONSEFROM THE CONTENT
`AGGREGATOR (102) AND FORWARDING INFORMATION TO CONTENT ADAPTER
`
`CONTENT ADAPTER (406)RECEIVINGLIST OF MEDIASERVICES AND
`NWOKINGTRANSFORMATION FOR CREATING THE COMMONDATA
`STRUCTURECONTAINING GENRES ANDSUB-GENRES OF MEDIASERVICES
`FROMCONTENTAGGREGATOR (102)
`
`710
`
`712
`
`CREATINGAUNIFIEDLIST OF GENRES ANDSUB-GENRESFOR DISPLAY
`
`714
`
`FIG.7
`
`8
`
`
`
`Patent Application Publication Apr. 22, 2004 Sheet 8 of 10
`
`US 2004/0078812 A1
`
`USER
`SELECTION
`DEVICE
`826
`
`OTHER
`SERVICES
`
`
`
`NTR
`CO s POINT
`
`HARDWARE
`SERVICES
`816
`
`820
`
`FIG. 8
`
`AUDIO
`SPEAKER
`818
`
`9
`
`
`
`Patent Application Publication Apr. 22, 2004 Sheet 9 of 10
`
`US 2004/0078812 A1
`
`900
`
`
`
`<xml Version='10">
`<!--MEDIAMATCH CONTENT LIST->
`<DOCTYPE list
`<ELEMENT mediaService (location, Media title, player app, performer, genre, Copyright)>
`<ELEMENT location (FPCDATA)>
`<!ELEMENT media title (FPCDATA)
`<!ELEMENT player app (FPCDATA)>
`<ELEMENT performer (FPCDATA)
`<ELEMENT genre (FPCDATA)
`<ELEMENT copyright (PCDATA)>
`
`<!MediaService>
`<location>http://www.musictesters.com/buggyltraVoltaSwing MP3klocation>
`<Media title>TravoltaSwing</media title>
`<player app>MP3k/player app>
`<performerTravolta Johnk/performer)
`genre)BluegraSSkgenre>
`{Copyrighb1989klcopyrights
`gimediaService>
`(mediaService>
`<location>121.12.113331k/location>
`<Media title>The Big Sleepkimedia title>
`<player app>MPEG 4kiplayer app>
`<performer-Bogart Humphreyk/performer)
`<genre>Mysteryggenre>
`<Copyrighb1946</copyrighb
`gimediaService>
`<MediaService>
`<location>111.345.44.332k/location>
`gMedia title>Steve Dahkimedia title>
`<player appealAudiokplayer app>
`<performer)0ah Stevexperformer)
`<genre>Talk ShoWklgenres
`<Copyright)2001</copyright)
`</mediaService>
`
`FIG. 9
`
`10
`
`
`
`Patent Application Publication Apr. 22, 2004 Sheet 10 of 10 US 2004/0078812 A1
`
`GERE TITLE
`
`PERFORMER
`
`BLUEGRASSTRAVOLTASWING JOHNTRAVOLTA
`
`MEDIA FORMAT LOCATION
`www.musictesterSCOm/buggyl
`travoltaSwing MP3
`
`MUSIC SONG
`
`1000
`
`MYSTERY THEBIGSLEEP
`TALKSHOWSTEVEDAHL
`
`HUMPHREYBOGART MOVIE
`STEVEDAHL
`ir
`FIG 10
`
`
`
`121.12.133,331
`111.345.44,332
`
`TITLE
`
`PERFORMER
`
`GENRE
`
`TRAVOLTASWING
`
`JOHN TRAVOLTA
`
`BLUEGRASS
`
`ON-1
`EOE THE BIG SLEEP
`- No
`
`HUMPHREYBOGART
`
`MYSTERY
`
`STEVEDAHL
`
`STEVEDAHL
`
`TALKSHOW
`
`FIG 11
`
`11
`
`
`
`US 2004/0078812 A1
`
`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.
`0.003
`Radio transmissions have problems that 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
`receiver to reliably receive and demodulate a broadcast from
`a long distance. This limitation makes it difficult for listeners
`to receive their favorite Stations if outside of a geographic
`region (e.g., a person who lives in Boston typically can not
`receive a radio broadcast from Los Angeles). Additionally,
`the frequencies of radio broadcasts have to be tightly con
`trolled because the airwaves can only accommodate a finite
`number of electronic-magnetic waves before interference
`results.
`0004. The limitations of broadcasting via radio waves are
`overcome by using alternative broadcasting techniques. One
`approach transmits radio Station broadcasts as Satellite trans
`missions that are received through a 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.
`0005 The amount of programming choices available 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.
`The media Service is encoded and compressed, typically by
`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
`REALPLAYERTM, MACROMEDIA PLAYERTM, and
`MP3PROTM) 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
`
`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 1980s 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
`MUSICMATCHTM, LIVE365TM, and STREAMWAVESTM
`bring together a plurality of media Services to a common
`point or interface (e.g., a website, a streaming media player
`with channels) with an architecture where a user Selects
`media Services from 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.
`0008. In accordance with the principles of the present
`invention, a method and apparatus are 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.
`0012 FIG. 4 is a block diagram of requesting a content
`list from a content aggregator.
`0013 FIG. 5 is a diagram of audio based media services
`available from a plurality of content aggregators indexed
`into a unified content list.
`0014 FIG. 6 is a block diagram of requesting and
`acquiring a media Service from a content aggregator.
`0015 FIG. 7 is a flowchart of a synchronous usage model
`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.
`
`12
`
`
`
`US 2004/0078812 A1
`
`Apr. 22, 2004
`
`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 XML parser.
`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., CNNGR, ABC(R), DIRECTV(R) 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 feeds that 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 feeds 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 media services 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 media file
`format (e.g., REALAUDIO(E), REALMEDIA(E), APPLE
`QUICKTIME(R), MICROSOFTR WINDOWS MEDIATM
`FORMAT, MPEG-2 LAYER III AUDIO, and MP3(R) that is
`played back via a media player (REALPLAYER(R),
`WINAMP(R), and MICROSOFT(R) WINDOWS MEDIATM
`PLAYER). Radio station 106 is a content provider that
`broadcasts radio programs as audio based Streamed media
`services. The broadcasts may be live or prerecorded. Music
`service 108 is a media service that is subscription based
`(e.g., MUSAKCR), MUSIC CHOICE(R) that broadcasts pro
`gramming as an audio based media Service available through
`the content aggregator 102. Video feed 109 is a media
`Service that is transmitted from a television station (e.g.,
`CNN, ABC) or as a video service (e.g., a movie on demand)
`available to content aggregator 102.
`0022. In accordance with the principles of the present
`invention, content aggregator 102, in an alternative embodi
`ment, exists as a web resource (e.g., website, index, catalog)
`that comprises Uniform Resource Indicators (URIs) that link
`to the location of media Services. A playback program (e.g.,
`a streaming media player) directly accesses a media Service
`at its listed location (by using the listed link) instead of
`receiving the media Service directly from content aggregator
`102. Content aggregator 102 may comprise an index of links
`to the location of media Services and may have media
`Services that are transmitted directly from content aggrega
`tor 102.
`
`0023 Uniform resource indicators (URIs) are a universal
`Set of names that 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
`MPEG transport scheme). When a URL is used, a specific
`resource, Service, device, or data file may be accessed and/or
`manipulated. An alternative form of a URI known as 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 to access a desired resource (e.g., a resource is
`accessed either by using the domain name www.whitehou
`se.gov or the IP address 198.137.240.91).
`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 (HTML) or extensible markup language (XML)
`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).
`0026 Playback device 202, as an Internet enable device,
`contains hardware and Software (APIs and program Subrou
`tines) for communicating and interacting with content aggre
`gator 102. Preferably, playback device 202 comprises cen
`tral processing unit (CPU) 214, program memory 216, data
`memory 218, an audio Speaker 220, display device 222, and
`input device 224. CPU 214 (a computer processor) pro
`ceSSes audio Services received from the content aggregator
`102, received via communications network 110. CPU 214 is
`coupled to data memory 218 that stores data received from
`the content congregator 102 and Selected media Services.
`Program memory 216, connected to CPU 214, stores pro
`gramming instructions and APIs used to communicate with
`and process the media Services obtained from content aggre
`gator 102.
`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
`
`13
`
`
`
`US 2004/0078812 A1
`
`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 by set 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, which Set 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 computer instructions 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 Systems Interconnection (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 header of a received data packet and
`determines that the data packet comports to a MPEG trans
`port and data Scheme.
`0031. For example, a sample data structure comprises
`media Service menus, the locations (URIs) and types of
`media service formats (RealAudio, Microsoft Media Player,
`MP3) available from the providers of the media services that
`correspond to a style sheet Playback device 202 receives the
`Style sheet from content aggregator 102 and formats incom
`ing and outgoing data accordingly. Preferably, the determi
`nation of data Structure comprises 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 metadata fields) and
`events used for a document (function key F12 Saves a
`document). Optionally, Multipurpose Internet Mail Exten
`Sions (MIME) compliant classes and object types are 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 allows playback 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 or by referring 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.
`
`14
`
`
`
`US 2004/0078812 A1
`
`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
`HTTP protocol exchange with the content aggregator 102.
`This includes all processing related to HTTP URI redirec
`tion, error recognition, and response classification as a
`Standard response to a stream comprising a media Service.
`HTTP processor API 404 transmits the content list request to
`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 content list, preferably in a pred
`termined format, CPU 214 initiates content adapter 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 predefines the internal data structure (data fields)
`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 XML based data from
`the content adapter 406 (or from the data memory 218), and
`maps the XML based data to preselected menu elements that
`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 (in 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 content list of
`media services 1100 formatted into a menu by the XML
`parser 408.
`0.038. As an exemplary embodiment, data formatted by
`the XML parser 408, is displayed as a hierarchical menu on
`display device 222. The hierarchical menu lists fields that
`are either preselected or designated by a user (sample fields
`are media Service, title, media type, performer, content
`aggregator Source, etc.). For example, a “top” level of the
`menu is displayed by genre (e.g., talk show, music, news,
`Sports talk, mystery, Soap opera, etc.). When a user Selects 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 content list
`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 menu or a 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 Services
`URI) either through data returned 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 CPU214 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