throbber
as) United States
`a2) Patent Application Publication (10) Pub. No.: US 2004/0078812 Al
`(43) Pub. Date: Apr. 22, 2004
`
`Calvert
`
`US 20040078812A1
`
`(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.:
`
`10/250,640
`
`(22) PCT Filed:
`
`Jan. 4, 2002
`
`(86) PCT No.:
`
`PCT/US02/00008
`
`(30)
`
`Foreign Application Priority Data
`
`Jan. 4, 2001
`
`(US) eee sesesestseseseneeneees 60259713
`
`Publication Classification
`
`(51) Unt. CI? cccccccsecsssesseene HO4N 5/445; GOOF 3/00;
`HO4N 7/10; HO4N 7/025;
`HO4H 9/00; HO4N 7/16; GO6F 15/173;
`HO4N 7/173; GO6F 13/00
`ceeccsscseee 725/46; 725/9; 725/14; 709/224;
`725/37; 725/113; 725/35
`
`(52) U.S. Che
`
`(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.
`
`CREATING A UNIFIED LIST OF GENRES AND SUB-GENRES FOR DISPLAY
`
`CONTENT AGGREGATORSITE (102) WITH MEDIA SERVICE LIST
`RESPONDING10 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)
`
`APPLE 1045
`
`APPLE 1045
`
`1
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 1 of 10
`
`US 2004/0078812 Al
`
`Sean
`
`=r <r
`
`oS=
`
`1 Ml
`
`110
`
`FG.1
`
`_—
`
` ==—
`
`2
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 2 of 10
`
`US 2004/0078812 Al
`
`104
`
`
`PLAYBACKDEVICE
`202
`
`SET TOP BOX
`204
`
`
` STEREO
`
`
`
`
`
`
`RECEIVER Oe NETWORK
`ow||®||20
`
`DATA
`
`QUTPUT
`
`DEVICE 212
`
`
`
`DISPLAY
`DEVICE
`222
`
`3
`
`

`

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

`

`Patent Application Publication Apr. 22,2004 Sheet 4 of 10
`
`US 2004/0078812 Al
`
`CONTENT LIST
`
`
`
`
`
`CONTENT
`HTTP
`
`eeAP
`PROCESSOR
`ADAPTER
`CALL
`
`
`
`
`
`
`rm
`45
`we
`ao
`
`
`
`
`
` XML PARSER
`CONTENT DATA
`
`
`408
`40
` Radio API
`
`42
`
`HG. 4
`
`5
`
`

`

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

`

`Patent Application Publication Apr. 22,2004 Sheet 6 of 10
`
`US 2004/0078812 Al
`
`STREAM
`
`REQUESTCALL
`a
`
`meAP
`we
`
`HTTP
`
`PROCESSOR
`ane
`
`42
`
`PLAYBACK
`APPLICATION
`608
`
`CONTENT
`ADAPTER
`406
`
`[Radio API
`
`BUFFER
`604
`
`FIG. 6
`
`7
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 7 of 10
`
`US 2004/0078812 Al
`
`EXECUTING ANIradio_SetService CALL ANDlradio_Content_List
`CALL FOR A FIRST HITP PROCESSOR(404)
`
`EXECUTING AN Iradio_Set_Service CALL AND Iradio_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 SERVICELIST
`RESPONDING TO 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)
`
`10
`
`"
`
`CREATING A UNIFIED LIST OF GENRES AND SUB-GENRES FOR DISPLAY
`
`74
`
`FIG. 7
`
`8
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 8 of 10
`
`US 2004/0078812 Al
`
`TELEVISION
`208
`
`204
`
`PF
`HARDWARE SERVICES
`802
`
`
`
`STREAM API
`804
`
`CONTENT DIRECTORY
`810
`
`AV TRANSPORT
`82
`
`OTHER
`SERVICES
`808
`
`
`
`
`820 FIG. 8
`
`
`
`
`
`_[;———POINT
`
`
`
`
`ANTENNA
`822
`
`wnowase|[avTRnseon
`=
`SERVICES
`814
`816
`
`9
`
`

`

`Patent Application Publication Apr. 22,2004 Sheet 9 of 10
`
`US 2004/0078812 Al
`
`900
`
`<xmlversion ="1.0°%
`<!--MEDIAMATCH_CONTENT_LIST—>
`<!DOCTYPElist
`<ELEMENT mediaservice (location, media_title, player_app, performer, genre, copyright}>
`<ELEMENTlocation (#PCDATA)>
`<ELEMENT media_title (#PCDATA)>
`<!ELEMENTplayer_app (#PCDATA)>
`<ELEMENTperformer (#PCDATA)>
`<!ELEMENT genre (#PCDATA)>
`<!ELEMENT copyright (@PCDATA}>
`
`</mediaservice> FIG. 9
`
`<mediaservice>
`<location>http://www.musictesters.com/buggy/travoltaswingMP3</location>
`<media_title>TravoltaSwing</media_title>
`<player_app>MP3</player_app>
`<perlormer>Travolta_John</performer>
`<genre>Bluegrass</genre>
`<copyright>1989</copyright>
`</mediaservice>
`
`emediaservice>
`<location>121.12.113.331</location>
`<media_title>The_Big_Sleep</media_title>
`<player_app>MPEG_4</player_app>
`<performer>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>Dahi_Steve</pertormer>
`<genre>Talk_SHow</genre>
`<copyright>2001</copyright>
`
`10
`
`10
`
`

`

`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 DO $11.345,44.332
`
`
`
`TALK SHOW
`
`TITLE
`
`PERFORMER
`
`GENRE
`
`TRAVOLTA SWING
`
`JOHN TRAVOLTA
`
`BLUEGRASS
`
`THEBIG SLEEP
`
`HUMPHREY BOGART
`
`MYSTERY
`
`STEVE DAHL
`
`STEVE DAHL
`
`FIG. 11
`
`11
`
`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.
`
`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 URD 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
`[0003] Radio transmissions have problems that arise due
`available through the Internet is the use of a tuning service
`to the inherent physical limitations of using radio waves. For
`or a media subscription servic . These type of services
`example, radio waves lose power the further they are from
`(alternatively known as content aggregators),
`such as
`their broadcast source, whereby it becomes difficult for a
`MUSICMATCH™, LIVE365™, and STREAMWAVES™
`receiver to reliably receive and demodulate a broadcast from
`bring together a plurality of media services to a common
`a long distance. This limitation makesit difficult for listeners
`pointor interface (e.g., a website, a streaming media player
`to receive their favorite stations if outside of a geographic
`with channels) with an architecture where a user selects
`region (e.g., a person wholives in Boston typically can not
`media services from categories including genre and per-
`receive a radio broadcast from Los Angeles). Additionally,
`former. A tuning service is typically proprietary to protect
`the frequencies of radio broadcasts have to be tightly con-
`the copyrighted material comprising media services and
`trolled because the airwaves can only accommodateafinite
`requires an interface to successfully use the tuning service to
`number of electronic-magnetic waves before interference
`results.
`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.
`
`Thelimitations of broadcasting via radio wavesare
`[0004]
`overcomebyusing alternative broadcasting techniques. One
`approach transmits radio station broadcasts assatellite 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 moreradio 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
`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
`
`12
`
`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.
`
`[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 contentlist.
`
`[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.
`
`12
`
`

`

`US 2004/0078812 Al
`
`Apr. 22, 2004
`
`[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).
`
`[0023] Uniform resource indicators (URIs) are a universal
`[0017] FIG. 9 is a diagram of a content list of media
`set of namesthat refer to existing protocols or name spaces
`services a playback device receives from a content aggre-
`that
`identify resources (e.g., website, streaming media
`gator as computer code.
`server,), services (e.g., videos on demand, internet radio),
`[0018] FIG. 10 is a diagram of a content list of media
`devices (e.g., mobile phone, internet enable appliance), and
`services formatted to the internal data structure of a play-
`data files (e.g., media files and text documents). A URLis a
`back device by a content adapter.
`form of a URI that expresses an address that maps to an
`[0019] FIG. 11 is a display of a content list of media
`access algorithm using network protocols (e.g., TCP/IP or a
`services formatted into a menu by a XMLparser.
`MPEGtransport scheme). When a URLis used, a specific
`[0020]
`In FIG. 1, a composition of media services avail-
`resource, service, device, or data file may be accessed and/or
`manipulated. An alternative form of a URI known as an
`able to a content aggregator 102 is shown. Audio based
`media services, as audio website 104, radio station 106,
`Internet protocol number or address (IP) is a series of
`music service 108, originating as audio based feeds (e.g.,
`numbers that refers to a specific resource, service, or data
`music,
`talk radio show, streaming media files, baseball
`file. Optionally, a URL is mapped to an IP number,typically
`
`game, audio fromatelevision program, audio books), and through a Domain Name Server (DNS), that provides two
`video station 109 (e.g., CNN®, ABC®, DIRECTV®) are
`ways to access a desired resource (e.g., a resource is
`media services available to content aggregator 102 through
`accessed either by using the domain name www.whitehou-
`communications network 110
`(e.g.
`Internet, Public
`se.gov or the IP address 198.137.240.91).
`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 feeds transmitted as
`streaming media) that are stored locally at the site of the
`content aggregator 102 (such asin 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 may be live or prerecorded. Music
`service 108 is a media service that is subscription based
`(e.g., MUSAK®, MUSIC CHOICE®) that broadcasts pro-
`grammingas 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 ) oras 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.
`
`[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
`
`13
`
`

`

`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 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, 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 showsa 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 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 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
`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 metadatafields) 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 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 andlocate 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 contentlists from a plurality of content aggregators 102,
`simultaneously.
`
`14
`
`14
`
`

`

`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 contentlist 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 adapter 406
`routine that formats the received contentlist 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 (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).
`
`XMLparser 408 receives the XML based data from
`[0036]
`the content adapter 406 (or from the data memory 218), and
`maps the XML based data 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 (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 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
`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 userselects 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 makesa 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 ora 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
`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 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 HTTPredirect process-
`ing, HTTP processor API 404 analyzes the HTTP response
`header to determine whether the response is a stream, media
`file, or other type of multimedia format (e.g. a REAL-
`PLAYER® based stream, a non-streamed MP3file, or a
`video signal). Once the determin

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