throbber
US007529806B1
`
`US 7,529,806 B1
`(10) Patent No.:
`a2) United States Patent
`Shteyn
`(45) Date of Patent:
`*May 5, 2009
`
`
`(54) PARTITIONING OF MP3 CONTENTFILE
`FOR EMULATING STREAMING
`
`(75)
`
`Inventor: Yevgeniy Eugene Shteyn, Cupertino,
`CA (US)
`(73) Assignee: Koninklijke Philips Electronics N.V.,
`Eindhoven (NL)
`
`3/2001 Loganetal.
`6,199,076 B1*
`........... 715/501.1
`7/2001 Geaganetal.
`6,263,371 BL*
`
`.....
`6,311,058 B1* 10/2001 Wecker etal. we. 455/418
`6,356,933 B2*
`3/2002 Mitchell et al.
`......-..0 709/203
`6/2002 Linetal. we 709/231
`6,405,256 BI*
`
`9/2002 Wecker etal... 709/217
`6,449,638 BL*
`6,493,758 BL* 12/2002 McLain .......eee 709/227
`FOREIGN PATENT DOCUMENTS
`
`(*) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`US.C. 154(b) by 0 days.
`
`This patent is subject to a terminal dis-
`claimer.
`
`(21) Appl. No.: 09/433,257
`
`(56)
`
`Mare Girardot, et al. “Efficient Representation and Streaming of
`XMLcontent over the Internet Medium”, IEEE Conference on Mul-
`timedia and Expo., pp. 67-70, 2000.*
`“RealNetworks Streaming Media Leadership”article on the webat:
`http://www.real.com/company/pressroom/rnleadership/index.html.
`“Download tunes to a walkman”article on the webat: http://enn.com/
`TECH/computing/9909/28/walkman.tunes.idg/index.html.
`(22)
`Filed:
`Nov. 4, 1999
`
`
`
`
`Java platform API__specification,2 “java.io Class
`
`SequencelnputStream” at—http://java.sun.com/products/jdk/1.2/
`docs/api/java/io/SequenceInputStreams.html.
`(S51)
`Int. Cl.
`GO6F 15/16
`(2006.01)
`HOAN 7/173
`(2006.01)
`HO4K 1/00
`(2006.01)
`(52) US. Ch.
`cecccsscccsseeresee 709/217; 709/231; 709/203;
`725/114; 705/50
`(58) Field of Classification Search......... 709/217-219,
`is partitioned into a
`An electronic file, e.g., an MP3 file,
`709/23 1-234, 227; 725/90-100, 112; 345/718;
`sequence of segments at the server side. The first segmentis
`455/418
`played out upon downloading. While the first segment is
`See application file for complete search history.
`being played out, the second is being downloaded and buff-
`References Cited
`ered so that it is available when the play out of the first
`segmentis completed. While playing out a current one of the
`U.S. PATENT DOCUMENTS
`segments, next one(s) of the segments are being downloaded
`ohay300 ‘ : ae Helmanefat rieteesen
`sees ee and buffered. This partitioning and sequential play out
`
`5/1908 Cohen _.eee500/201
`5751968 A *
`enables to emulate streamingofa file and to minimize latency
`
`3/1999 Bormanetal. ......... 715/501.1
`5,890,172 A *
`While downloadingan electronicfile.
`
`
`.....0000.00. 345/718
`6,005,563 A * 12/1999 Whiteetal.
`1/2000 Bayehetal. ....... 709/246
`6,012,098 A *
`
`EP
`
`6/1999
`0923033 Al
`OTHER PUBLICATIONS
`
`(Continued)
`esq:
`.
`:
`.
`{nary Hxaminer—Wen-tai Lin
`(57)
`ABSTRACT
`
`16 Claims, 2 Drawing Sheets
`
`
`
`
`
`SELECT CONTENT AND CONTACT SERVER FOR DOWNLOADING CONTROL
`INFORMATION IN XML
`
`PARSE XML AND DETERMINE PARAMETERS, DESCRIBING FILE SEGMENTS,
`INCLUDING THEIR LOCATIONS
`
`
`
`
`
`
`
`
` DOWNLOAD NEXT FILE SEGMENT & BUFFER WHILE PRECEDING SEGMENT
`-
`(SBEINGPLAYEDOUT
`
`
`DOWNLOAD FIRSTFILE SEGMENT FORPLAY-OUT
`
`START PLAY-QUT OF FIRST FILE SEGMENT
`
`Y
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1008 - PAGE 0001
`EXHIBIT 1008 - PAGE 0001
`
`

`

`US 7,529,806 B1
`Page 2
`
`OTHER PUBLICATIONS
`
`Java 2 platform API specification, “java.io Class InputStream” at
`http://java.sun.com/products/jdk/1.2/docs/api/java/io/InputStreams.
`html.
`Java 2 platform API specification, “Interface Enumeration”at http://
`java.sun.com/products/jdk/1.2/docs/api/java/io/FileInputStreams.
`html.
`Java 2 platform API specification, “java.io Class FileInputStreams”
`at http://java.sun.com/products/jdk/1.2/docs/api/java/util/Enumera-
`tion html.
`
`Java 2 platform API specification, Java (TM) 2 Platform, Standard.
`Edition, v1.2.2 API Specification on the Webathttp://java.sun.com/
`products/jdk/1.2/docs/api/overview__summary.html.
`“Efficient Representation and Streaming of XML Content Over the
`Internet Medium” XP002 160596, 2000 IEEE Conf. On Multimedia
`and Expo.
`
`* cited by examiner
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1008 - PAGE 0002
`EXHIBIT 1008 - PAGE 0002
`
`

`

`U.S. Patent
`
`May5, 2009
`
`Sheet 1 of 2
`
`US 7,529,806 B1
`
`SELECT CONTENT AND CONTACT SERVER FOR DOWNLOADING CONTROL
`INFORMATION IN XML
`
`PARSE XML AND DETERMINE PARAMETERS, DESCRIBING FILE SEGMENTS,
`
`INCLUDING THEIR LOCATIONS
`
`START PLAY-OUT OFFIRST FILE SEGMENT
`
` DOWNLOAD NEXT FILE SEGMENT & BUFFER WHILE PRECEDING SEGMENT
`
`
`
`DOWNLOAD FIRST FILE SEGMENT FOR PLAY-OUT
`
`I$ BEING PLAYED QUT
`
`Y
`
`FIG. 1
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1008 - PAGE 0003
`EXHIBIT 1008 - PAGE 0003
`
`

`

`U.S. Patent
`
`May5, 2009
`
`Sheet 2 of 2
`
`US 7,529,806 B1
`
`<XML>
`ctitle>
`The best ever music
`</titles
`<artist>
`V.R. Famous
`<fartist>
`<parts>
`<partl>
`
`(Preferred format)
`
`<length> 1024 </length>
`<format> MP3 </format>
`<location> ftp://137.27.52.87 </location>
`<min_bandwidth> 10,000 </min_bandwidth>
`</part>
`
`(Alternative format)
`
`</partl_alb
`<length> 512 </lenath>
`<format> OTHER </format>
`<location> http:// yevgeniynel/ .... </location>
`<min_bandwidih> 8,000 </min_bandwidth>
`</part_altl>
`
`eraqannrnes
`
`FIG. 2
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1008 - PAGE 0004
`EXHIBIT 1008 - PAGE 0004
`
`

`

`US 7,529,806 Bl
`
`1
`PARTITIONING OF MP3 CONTENTFILE
`FOR EMULATING STREAMING
`
`FIELD OF THE INVENTION
`
`The invention relates to content and/or control communi-
`cations between multiple computer systems, or to such com-
`munications between computer systems and consumer
`devices. Specifically, the invention relates to communication
`constrained by bandwidth or limited by data processing
`resources available to the receiving system or device, espe-
`cially if the communicationsare received by the userin real
`time. The type of communications can be, e.g., broadcast,
`multi-cast or point-to-point.
`
`BACKGROUND ART
`
`Consider current major technologies for delivering digital
`content, such as audio, video, etc. The streaming method for
`audio, e.g., RealAudio by RealNetworks, consists ofplaying-
`out audio at a client device, while constantly sending data
`from the server to the client. The technology provided by
`RealNetworks comprises an encoder, a server, a splitter/cache
`and a player system with two-wayintelligence to resolve
`network congestion, lost packet conditions and negotiate
`complex internet protocols. More specifically, the known
`technology comprises an automatic, variable bit-rate encod-
`ing and delivery system for audio and video. The system
`scales to megabit connection rates and dynamically adjust the
`transmission rate as delivery rate varies due to network con-
`gestion. The format and the encoding/decoding methods of
`the data are proprietary. The server and theclient synchronize
`receiving and playing in a way pre-defined by the particular
`architecture. The communication stack software is tightly
`coupled to the interpretation layer (application anduserinter-
`face (UI)). Manufacturers of such technology promote high
`level of integration between client and server software, as a
`complete vertical solution. This approach mostly excludes
`third parties from developing custom server software (e.g.,
`advertizing, services) and/or client applications (UI, special
`effects, etc.).
`Another known method is downloading of a contentfile
`from a remote computer with subsequent play-out on the
`client. MP3 is a widely known audio data format used within
`the downloading context. There are other data formats, e.g.,
`MP4for video data ete. The major advantage of the above
`mentioned methodis its open data standard approach.As long
`as the right format of the content file is observed during
`encoding,client and server software/hardware manufacturers
`are free to develop their own solutions/products.
`A major problem with the complete download approachis
`the inherentlatency: there is a delay between the beginning of
`the download andthestart of the play-out. The larger thefile
`and or smaller the communication bandwidth, the longerit
`takes to transfer the content from the server to the client. This
`is particularly undesirable in consumerelectronics systems,
`where perceived delay is detrimental to market acceptance of
`an open architecture.
`
`SUMMARYOF THE INVENTION
`
`15
`
`40
`
`45
`
`50
`
`55
`
`60
`
`Tt is an object of the invention to provide an open architec-
`ture solution for content delivery in a download approachthat
`allows for a low or negligible play-out latency.
`To this end the contentfile is split into multiple parts. Each
`part or segment requires a relatively short download time.
`Therefore, the play-out latency is determined by the down-
`
`2
`load timeofthe first part. The size of the individual part can
`be determined by the communications bandwidth, e.g.,
`through pinging for a latency-check. The client device/appli-
`cation receives control information about the content. This
`control
`information comprises, for example,
`information
`relating to the size and memory location of the wholefile as
`well as ofit parts at the server. If the client is not capable of
`processing split data,
`it proceeds with the traditional
`approach,i.e., downloads the wholefile and thenplaysit out.
`In case theclient is capable ofprocessing parts ofthe content,
`it uses the relevant control information abouttheparts in order
`to continue downloading data, while playing. Data play-out,
`also called “rendering”, is computation-intensive, since it
`requires a plurality of decoding operations. Data downloadis
`bandwidth-intensive. Accordingly, simultaneous play-out
`and downloading do notsignificantly compete for the same
`system resources. This separation between downloading and
`processing can be efficiently used in a multi-process and/or
`multi-thread environment.
`
`Preferably, the information contains references to thefile
`location as well as referencesto the locations ofthe parts. The
`intended bandwidth information is associated with the parts.
`The client may make its own decisions regarding how many
`parts to downloadbeforethe start of the play out (execution).
`The parts can have different data formats. The format of
`someofthe parts can be proprietary. Information aboutalter-
`native content parts, regarding bandwidth, format, location
`access options, etc., can be provided. Content parts can physi-
`cally reside on different servers. Content can be split into
`parts consistent within the semantics of the content, e.g., end
`of musical phrase, paragraph, target control device, etc. A
`third party mayinsert its own content parts in between the
`original content parts. The third party parts contain, for
`example,
`advertisements,
`commentary,
`customization
`options. The format of parts for play-out may be chosen
`according to user-related information, e.g., personal prefer-
`ences, level of access to premium services, quality of the
`equipment, bandwidth sharing/fiuctuation conditions, etc.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The invention is explained in further detail and by way of
`example with reference to the accompanying drawing
`wherein:
`
`FIG. 1 is a flow diagram illustrating the various steps in a
`method according to the invention; and
`FIG. 2 gives an example of control code.
`Throughout the Figures, same reference labels indicate
`similar or corresponding features.
`
`PREFERRED EMBODIMENTS
`
`The invention enables emulating the streaming offiles
`while using a download approach. FIG. 1 illustrates a flow
`diagram 100 with various steps involvedin the playing-out of
`a segmentedfile at the client.
`In step 102, the client contacts the server selects the par-
`ticular contentfile and downloads the controlinformationthat
`
`enables the retrieving and playing out of the segmentedfile.
`The control information describes the locations, e.g., URL’s,
`and size of the various file segments, and provides, e.g., UI
`functionalities at the client. In this example, the controlinfor-
`mation is coded in XML.
`
`In step 104 the XML code is parsed. Parsing of XML is
`well knownin the art. A person skilled in the art can download
`an XMLinterpreter, including source code, from the Internet,
`see e.g. www.ibm.com/xml. Thus,the client is enabled to get
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1008 - PAGE 0005
`EXHIBIT 1008 - PAGE 0005
`
`

`

`US 7,529,806 Bl
`
`3
`information about the content information and the URLs of
`the first and subsequentfile segments.
`In step 106, the first file segment is downloaded for play-
`out. Communicating with a remote server is a well known
`technology. For example, Java 2.0 provides a set of standard
`classes that enable retrieving a remotefile into a buffer or as
`a stream.
`
`In step 108, the renderingofthe first segmentis started. The
`buffered contentofthe first segment is forwarded to a decod-
`ing/playing module. The decoding/playing module decodes
`the file format, e.g., MP3. The playing of the supplied stream
`ofbits involves a numberof standard operating system calls to
`its drivers a technique well known intheart.
`In step 110, the next file segment is downloaded at the
`client and stored in a buffer while the previous file segment,
`herethefirst file segment, is being played out. One option is
`to have the downloadedfiles buffered in a sequenceor linked
`list of buffers. This functionality is typically provided by the
`operating system of the client. For example, MS Windows
`family of products creates a memory buffer associated with
`the file every time an API call opensthe file. Alternatively, in
`a thread- and/or process-rich environment, several threads
`and/or processes can be organized to independently retrieve
`file segments, while playing out the content of other seg-
`ments. Working with threads is a skill common for software
`engineers. For example, Java 2.0 from Sun Microsystems
`provides classes supporting multiple threads. Similarly,
`Microsoft SDK for the Windowsfamily of products makes
`thread- or process-related functionalities available to pro-
`grammers.
`Upon completion of playing outthe first segment, the sec-
`ond segment is passed on from the buffer to the decoding/
`playing module. This can be implemented by meansof, e.g.,
`a linked list. As known,a linkedlist is a data structure wherein
`each element(here: segment) has content data and a pointer to
`a next element (here: next segment).
`The decoding/playing module has to decodethefile for-
`mat. The decoding program represents a standard task to a
`person skilled in the art to program a decoding procedure
`according to a widely published standard (MP3, etc.). The
`playing of the supplied stream of bits involves a number of
`standard operating system calls to its drivers—a technique
`well knownintheart.
`
`FIG.2 gives an example of information-describing content
`coded in XML. The code fragment labels the segments as
`having a title “The best ever music” performed by “V. R.
`Famous” and having several parts. The segment labeled
`“part1” is in a preferred formatand described the length ofthe
`part, e.g.,
`in bytes, the format,
`the minimum bandwidth
`required for a connection, and the location on the Internet. An
`alternative first part is labeled “part1 alt” having a different
`length, different
`format, different minimum bandwidth
`requirement, and a different location. The XML code can be
`combined with XSL for generating a user level UI at the
`user’s client. The client thus can automatically choose the
`format compatible with the client’s play-out capabilities.
`Whenthe client has selected the properfile, either the one
`of which thefirst part is represented here as in the preferred
`formator the one in the alternative format, the content of the
`first part is downloaded from the location specified and play-
`ing out is started automatically under application control.
`Combining multiple sequenced inputs is well understood in
`the industry. For example, Java JDK v.1.2 from Sun Micro-
`systems, Inc. provides a class java.io.SequenceInputStream
`as a standard componentoftheio class library. SequenceIn-
`putStream represents the logical concatenationof other input
`streams. It starts out with an ordered collection of input
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`streamsand reads from the first one until endoffile is reached,
`whereuponit reads from the second one, and so on, until end
`offile is reachedon thelast ofthe contained input streams. An
`object of the java.io. SequenceInputStream class can be ini-
`tialized by, e.g., enumeration of objects of the InputStream
`class. This abstract class is the superclass ofall classes rep-
`resenting an input stream of bytes, includingthe class FileIn-
`putStream.In case of the downloading of multiple file parts,
`an application can create instances of the FileInputStream
`class from local temporary files into which theparts are being
`downloaded. The contents ofthose multiple localfiles will be
`supplied to the Sequencer. The rendering componentof the
`application will read the information outit as if it were just a
`single localfile.
`The segmentation of the content file into separately down-
`loadable segments enables a third party, such as a service
`provider, to insert between two segments specific content
`information, e.g., advertisements to be rendered on the cli-
`ent’s display.
`During operation, the client application could select a next
`segmentin a different format for the same content to adaptto
`changing circumstances, e.g., lower bandwidth due to net-
`work congestion. Also, the user could be prompted to sub-
`scribe to a service that as a demolets the user download only
`the first segment in a high quality and the next segments ina
`lower quality. The combination of XML anda corresponding
`parser and interpreter at the client controls the downloading
`and playing out as explained above. Accordingly, the client
`pulls the content segments from the locations indicatedin the
`XMLcontrol information for buffering and subsequentplay-
`out.
`
`The implementation of a clientin this client-server archi-
`tecture can be done in a variety of ways. A first example is a
`hardware-based single-purpose device, similar to the Rio
`MP3player by the DiamondCorp. In order to accommodate
`the methodof the invention, the player needs, in addition, an
`XMLparser, the ability to interpret XMLandthe ability to
`download and play-out content segments sequentially. A sec-
`ond example is to implementthe methodofthe invention as a
`software application on a multi-purpose computing device,
`e.g., a PC or a set top box. The device has the software
`implementing the functionalities mentioned above. In a
`graphics-rich environment, multiple GUI’s are represented to
`the user for further customization.
`The following co-pending applications are incorporated
`herein by reference:
`USS. Ser. No. 09/406,642 filed Sep. 27, 1999 for Raoul
`Mallart for SCALABLE SYSTEM FOR VIDEO-ON-DE-
`MAND. This patent documentrelates to a Video-on-Demand
`service (VOD)that is emulated in a Near-Video-on-Demand
`(NVOD)architecture. Content information is made available
`to an end-user in the NVODarchitecture. An introductory
`portion of the content informationis stored at the end-user’s
`equipment, e.g., by downloading overnight. During playing
`out of the introductory portion at the end-user enabling the
`content information supplied in the NVODarchitecture is
`buffered at the end-user’s equipment. The equipmentis con-
`trolled to switch from playing out the introductory portion
`stored to playing out the buffered content information.
`USS. Ser. No. 09/189,534 filed Nov. 10, 1998 for Eugene
`Shteyn for CONTENT SUPPLIED AS SOFTWARE
`OBJECTS FOR COPYRIGHT PROTECTION.This docu-
`ment relates to supplying content information such as a
`movie, an audio file or a textual message to an end-user ina
`software object. The object has an encapsulated procedure for
`end-user access of the content information in a runtime envi-
`
`ronment. The object can specify time frame for and manner
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1008 - PAGE 0006
`EXHIBIT 1008 - PAGE 0006
`
`

`

`US 7,529,806 Bl
`
`5
`wherein the content information is to be accessed. Since the
`procedure is encapsulated in the object together with the
`content data, and since transport ofthe object overthe Internet
`is done after serializing, an adequate degree of security is
`provided against unauthorized play-out or copying.
`U.S. Ser. No. 09/149,950 filed Sep. 9, 1998 for Raoul
`Mallart for REAL TIME VIDEO GAME USES EMULA-
`TION OF STREAMING OVER TIE INTERNET IN A
`
`BROADCAST EVENT. This patent document relates to
`emulating streaming of animation data over the Internet to a
`large numberofclients in a broadcast application on a client-
`server network. The animation is considered a sequence of
`states. State information is sent to the clients instead of the
`graphics data itself. The clients generate the animation data
`itself under control of the state information. The server and
`
`clients communicate using a shared object protocol. Thus,
`streaming is accomplished as well as a broadcast without
`running into severe network bandwidth problems. This is
`approach is used to mapa real life event, e.g., a motor race,
`onto a virtual environmentin ordertolet the user participate
`in avirtual race againstthereal life professionals, the dynam-
`ics of the virtual environment being determined bythe state
`changessent to the user.
`USS. Ser. No. 09/138,782 filed Aug. 24, 1998 for Raoul
`Mallart and Atul Sinha for EMULATION OF STREAMING
`OVER THE INTERNET IN A BROADCAST APPLICA-
`
`
`
`TION.In a broadcast application on a client-server network
`the streaming is emulated of animation data overthe Internet
`to a large numberofclients. The animation is considered a
`sequence of states. State information is sent to the clients
`instead of the graphics data itself. The clients generate the
`animation data itself under control of the state information.
`The server and clients communicate using a shared object
`protocol. Thus, streaming is accomplishedas well as a broad-
`cast without running into severe network bandwidth prob-
`lems.
`
`USS. Ser. No. 09/283,545 filed Apr. 1, 1999 for Eugene
`Shteyn for TIME- AND LOCATION-DRIVEN PERSON-
`ALIZED TV. This documentrelates to a service for person-
`alized video recorders such as the one from TiVo-Philips. The
`recorder has a hard-disk that serves as a random-access
`buffer.
`
`I claim:
`
`1. A methodof, at a client device, forming a media presen-
`tation from multiple related files, including a control infor-
`mation file, stored on one or more server computers within a
`computer network, the method comprising acts of:
`downloading the control
`information file to the client
`device;
`the client device parsing the control informationfile; and
`based on parsing of the control information file, the client
`device:
`
`identifying multiple alternative flies corresponding to a
`given segmentof the media presentation,
`determining whichfiles of the multiple alternative files to
`retrieve based on system restraints;
`retrieving the determined file of the multiple alternative
`files to begin a media presentation, wherein if the deter-
`minedfile is one of a plurality offiles required for the
`media presentation, the method further comprises acts
`of:
`
`concurrent with the media presentation, retrieving a next
`file; and
`using contentof the nextfile to continue the media presen-
`tation.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`an5
`
`6
`2. The method of claim 1, wherein partitioning of media
`presentation information between the multiple relatedfiles is
`determined by information about the client.
`3. The method of claim 1, wherein partitioning of media
`presentation information between the multiplerelatedfiles is
`determined by information about the computer network.
`4. The method of claim 1, wherein the media presentation
`comprises an audio presentation.
`5. The method of claim 1, wherein the media presentation
`comprises a video presentation.
`6. The method of claim 1, wherein partitioning of media
`presentation information between the multiplerelatedfiles is
`described within the control information file using tags cor-
`responding to respective files.
`7. The method of claim 1 wherein the control information
`file is an XMLfile.
`
`8. The method of claim 7, wherein the XMLfile identifies
`the multiple alternative files corresponding to the given seg-
`mentof the media presentation, further comprising an act of
`partitioning the media presentation into multiple MP3 files
`corresponding to a portion of the multiple alternativefiles.
`9. A method of storing media presentation information
`within a computer network including multiple server com-
`puters, the method comprising acts of:
`storing on a server computer a control information file of a
`formatto be parsed by a client device; and
`storing on one or more server computers multiple alterna-
`tive files corresponding to a given segment of a media
`presentation accessible by the client device to, based on
`parsing of the control informationfile, determine which
`file of the multiple alternative files to retrieve based on
`system constraints to form a media presentation from the
`multiple alternativefiles.
`10. The method of claim 9, wherein the control information
`file is an XMLfile.
`
`11. The methodof claim 10, wherein the XMLfile identi-
`fies the multiple alternative files corresponding to the given
`segment of the media presentation.
`12. A client device for forming a media presentation from
`multiple related files stored on server computers within a
`computer network, comprising:
`means for downloadingfiles to the client device;
`meansfor parsing a control informationfile; and
`means for parsing, based on parsing of the control infor-
`mation file:
`
`identifying multiple alternative files corresponding to a
`give segment of the media presentation;
`determining which file of the multiple alternativefiles to
`retrieve based on system constraints;
`retrieving the determined file of the multiple alternative
`files to begin a media presentation, wherein if the deter-
`minedfile is one of a plurality of files required for the
`media presentation, the means for parsing comprises
`meansfor:
`
`concurrent with the media presentation, retrieving a next
`file; and
`using contentof the nextfile to continue the media presen-
`tation.
`
`13. The device of claim 12, wherein the control informa-
`tion file is an XMLfile.
`
`14. The device of claim 13, wherein the XMLfile identifies
`multiple alternative MP3 files corresponding to a portion of
`the given segment of the media presentation, the means for
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1008 - PAGE 0007
`EXHIBIT 1008 - PAGE 0007
`
`

`

`US 7,529,806 Bl
`
`7
`retrieving comprising meansfor selecting andretrieving one
`of the multiple alternative MP3files.
`15. The device of claim 12, wherein:
`the device interprets the control information to retrieve ,
`multiplefiles from the computer network for sequential
`play-out.
`
`8
`16. The device of claim 15, wherein:
`the meansfor parsing comprises an XMLparser; and
`the retrieving and using comprises an XMLinterpreter.
`
`ek Ok kk
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1008 - PAGE 0008
`EXHIBIT 1008 - PAGE 0008
`
`

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