throbber
(12) United States Patent
`Carmel et al.
`
`IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
`US00638()473BI
`US 6I389I473 Bl
`May 14,2002
`
`(io) Patent js(o.:
`(45) Date of Patent:
`
`(S4) NETWORK MFDIA STRFAMING
`
`(75)
`
`Inventors: Sharon Cannel; Tzur Dahoosh, both
`of Giv*atayim, Eli Reihnan, Rtshon le
`Zion, Naftali Shani, Ziv L'liraz, both
`of Tel Aviv; Dror Cinshcrg, Karkxtr;
`Fdan Ayal, Kfar Saba, all of (II.)
`
`(73) Assignee: Geo Interactive Media ('roup Ltd.,
`(iivatayim (II.)
`
`( v ) Notice:
`
`Subtect to any disclaimer, Ihe term of this
`patent is extended or adjusted under 3S
`U S C I S4(b) by 0 days.
`
`(Z2)
`
`(Zl) Appl. No: 09/275,703
`Mar. 24, 1999
`Filed:
`Foreign Application Priority Data
`
`(3(l)
`
`Mai 24, 1998 (II,)................
`Int. Cl.'.............. G06F 13/00
`
`I23819
`
`(Sl)
`(52) U.S. Ck ................................................... 709/231
`Irield of Search ...................... 707i500.1, 709i200,
`(58)
`709/231, 236, 246, 247; 382 236, 239,
`375/240 12
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`lti199I3 Normill«et al............. 382/23(i
`
`5,267,334 A
`
`5,404,446 A
`5.841,432 A
`
`...... 341/537
`4 1995 nowatei et al
`11 1998 C umel et al............ 7074500.1
`
`Pri man Examiner—Robert B. Harrell
`(74) Attorney, Agent, or Firm—hades ye Parry
`
`(57)
`
`ABSTRACT
`
`A method for real-time broadcasting from a Iransmining
`computer to one or more client computers over a networl,
`the transmitting computer a data
`inclutling providing at
`stream having a given data rate, anil dividing the stream mto
`a sequence of. shces, each slice having a predetermmed data
`size associated therewith. The slices are encoded in a
`corresponding sequence of liles, each lile having a respec-
`uve index, and the sequence is uploaded to a server at an
`upload rate generally equal to the data rate of Ihe stream,
`such that the one or more client mtmputers can download the
`sequence over the network from the server at a download
`rale generallv equal Io the data rate.
`
`41 Claims, ll Drawing Sheets
`
`Microfiche Appcnrlix Inclurlcd
`(2 Microfiche, 138 Pages)
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 1
`
`

`

`U.S. Patent
`
`May 14,2002
`
`Sheet 1 of 11
`
`US 6,389,473 81
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 2
`
`

`

`U.S. Patent
`
`May 14,2002
`
`Sheet 2 of 11
`
`US 6,389,473 81
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 3
`
`

`

`U.S. Patent
`
`May 14,2002
`
`Sheet 3 of 11
`
`US 6,389,473 81
`
`Tgq
`
`FIG. 3A
`
`40
`
`TIME
`
`FIG. 3B
`
`52
`
`50~
`
`FIG. 3C
`
`55
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 4
`
`

`

`U.S. Patent
`
`May 14,2002
`
`Sheet 4 of 11
`
`US 6,389,473 81
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 5
`
`

`

`U.S. Patent
`
`May 14,2002
`
`Sheet 5 of 11
`
`US 6,389,473 81
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 6
`
`

`

`U.S. Patent
`
`May 14,2002
`
`Sheet 6 of 11
`
`US 6,389,473 81
`
`FlG. 5
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 7
`
`

`

`U.S. Patent
`
`May 14,2002
`
`Sheet 7 of 11
`
`US 6,389,473 81
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 8
`
`

`

`U.S. Patent
`
`May 14,2002
`
`Sheet 8 of 11
`
`US 6,389,473 81
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 9
`
`

`

`U.S. Patent
`
`Maay 14,2002
`
`Sheet 9 of 11
`
`US 6,389,473 81
`
`FIG. 7
`
`INPUT DATA
`
`80
`
`82
`
`TO FTP 84
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 10
`
`

`

`U.S. Patent
`
`May 14,2002
`
`Sheet 10 of 11
`
`US 6,389,473 81
`
`FIG. 8
`
`FROM
`SLICE 82
`
`TO UPDATE
`INDEX 86
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 11
`
`

`

`U.S. Patent
`
`ofay 14,2002
`
`Sheet 11 of 11
`
`US 6,389,473 81
`
`88
`
`FROM
`UPDATE 86
`
`FIG. 9
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 12
`
`

`

`NETWORK MEDIA STREAMING
`
`A computer pmntout is a«ached hereto as an appenihx in
`microliche form and is incorporated herein by reference. The
`printout comprises executable program files in hexadecimal
`format This appenrhx includes 2 microfiches, icnntaining a
`total of 138 frames.
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to network data
`communications, and specificall to real-time mulhmctlia
`broadcasting over a network
`
`BACKGROUND OF THE INVENTION
`
`rlata are transmitted over a
`In network broadcasting,
`netivnrk in real time from a single transmitting computer to
`a plurality of clients simultaneously. Thc network may bc a
`LAN, a WAN, an intranct or a public network such as the
`Internet. Network broadcasung is most commonly usetf to
`stream multimedia data, typically comprising rma es aml
`sound.
`is a schematic illustration showing a real-time
`I'IG I
`broadcasting system 20, as is known in thc art. Onc or more
`input dcviccs 22 (for cxamplc, a video camera anil or
`microphone) are used to generate a multimedia data stream
`representing an entertainmenl or inlormauonal program Io
`be transmitted to a plurality of clients 30 via a network 2g
`Because of bandkvidth limitations of the network, the data
`stream from host 22 must first fie compressed by a real-time
`encoder 24 and then routed to appropriate clients 30 by a
`broadcast scrvcr 26 (since not all clients on thc nctivorl're
`necessarily intentfed to receive the broailcast).
`L'needer 24 and server 26 typically comprise high-cost,
`dedicated cnmputer systems, such as a Sun Station
`(produced by Sun Microsystcms) or a Windows NT scrvcr,
`running suitable RcalSystcm 5.0 softivarc (produced by
`RealNetworks Inc., Sea«le, Wash.). These dedicated sys-
`tems are required in ortfer to ensure that Ihe data stream is
`distributed ami received by chents 30 in real time. Simrlarly,
`host 22 must typically be connected rlirectly to enicnder 24
`by a high-speed data link or I.AN, anil not via the Internet
`or other narrowband network. Thcrcforc, real-time broad-
`casting is normally possible only for hosts having a suitable,
`dedicated encoder and broadcast server and cannot be
`olfered by Internet service prov«lers (ISPs) to their general
`chentele.
`
`SUMMARY OF THE INVENTION
`It is an object of some aspects of the present invention Io
`provide substantially continunus, high-bandwidth data
`over a network using cnmmon, existing server
`streamin
`and network infrastructure.
`is a further obtect of some aspects of the present
`It
`invennon to provide data broadcas«ng capability, particu-
`larly for multimedia data, without the neeii for a dedicated
`broadcast computer system
`is a further object of some aspects of the present
`It
`invention to provide apparatus and methods for data broad-
`casting at reduced cost by comparison ivith systems known
`in the art.
`It is still another obtect of some aspects of the present
`invennon to enable a personal computer Io remotely broatf-
`cast a multimedia program through an Internet service
`provider (ISV) using commnn, universally-supported Inter-
`net communication protocols
`
`In preferred embodiments of the present
`invention, a
`transmitting computer generates a data stream and broad-
`casts the data stream via a netivork server to a plurality of
`'I'he data stream is divided into a sequence of
`clients
`segments or slices of the data, prcfcrably time slices,
`whcrcin thc data arc preferably comprcsscd. Each slice is
`preferablv assigned a respec«ve shee index. The transmit-
`ting computer uploads Ihe sequence of. slices Io the server
`substantially in real
`time, preferably using an Internet
`iii prntocol, most preferably the I'ile 'I'ransfer Vrotocnl (I "I'V),
`as is known in the art The clients download the data stream
`from thc server, preferably using an Intcrnct protocol, as
`well, most prcfcrably thc Hypcrtcxt Transfer Protocol
`(HTTP), or alternatively, using other protocoLs, such as UDP
`is or RTP, which are similarly known in the art. The clients use
`the slice indices nf the frames to maintain proper synchni-
`nization of the playback I'he division of the data stream into
`shces and the inclusion nf the slice indices in the data stream
`to be used by thc clients in maintaining synchronization
`zo allows thc broadcast
`to go on substantially in real
`time
`without the use of special-purpose hardware.
`Preferably, each segment or slice is contained in a
`separate, respective file. Alternatmely, the segments nr slices
`may all bc contained in a single indexed fil, which is
`-'treamed to thc client in a scrics of packets, each covering
`a range of one or more indices. HTTP version 1.1 supports
`this sort of life streaming. Other protocols may also be used
`fiir Ibis purpose.
`In some preferred embodiments of the present invention,
`ie the data stream comprises multimctlia elate captured or
`gcncratcd liy thc transmitting computer. Thc term 'muhi-
`meiha's used in the context of the present patent applica-
`uon aml in Ihe claims refers to images or sound or to data
`representative of images or of sound or a cnmbination
`35 thereof. Multimedia image data may include still
`images,
`virieo, graphics, animation or any cnmfiination thereof,
`includin text displayed in conjunction thcrcwith. It will bc
`thc principles of thc prcscnt
`appreciated, however,
`that
`invention may similarly be applied to streaming of other
`an iiata types.
`the transmitting computer cnmpresses the
`Preferably,
`frames in the data stream, most prcfcrably using methods of
`image and audio compression such as those dcscribcd in
`U.S. patent application Ser. No. Ogr919,027, which is
`assignetf Io the assi mee of the present patent applicanon and
`incorporated herein by reference. Alternauvely, any suitable
`methods of compression known in the art may be used. The
`compressed data are conveyed to the server and thence to the
`clients, ivhich dccomprcss thc data.
`In some prelerreti embodiments of the present invention,
`the transmitting computer and the clients monitor the
`uploading and doivnloading of data to anil from the server,
`in order to determine the amnunt of time
`respectively,
`required to convey each slice and to verify that the slices are
`convcycd at a sufficicnt rate. When thc rlata stream com-
`pnscs multimedia data, thc data rate should bc
`cncrally
`equal to or fasier than Ihe rate at which the data are generated
`at the transmitting computer.
`In some of these preferred embodiments, the transmitting
`computer and/or thc clients each open a plurality of FTP or
`HTTP linLs, rcspcctivcly, with thc network scrvcr. The slices
`are translerred over difierent ones of Ihe links in alternation.
`Although Ivpically none of the plurality of links has suifi-
`ss cient bandw«1th on its own to convey the en«re data stream
`in real time, the combined bandwidths of the plurality of
`links are generally sufficient for this purpose. Preferably,
`
`sii
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 13
`
`

`

`US 6,389,473 Bl
`
`each of. the hnl s is monitored Lo determine its speciiic data
`transfer rate. If the transfer rate nf any of the links is below
`a predetermined minimum, that link is preferably closed,
`and a new link is opened in its place
`In other prcferrcd embodiments, thc slices arc provirlcrl by
`the scrvcr at multiple resolution or quality lcvcls. Each such
`level has a diilerent degree of data compression, and thus
`corresponds to a different data bandwidth requirement. The
`chen& or the server monitors the da&a transier rate of a data
`link opened therehetween anti selects the level
`that
`is
`appropriate to the link bandwidth. If the monitored data
`transfer rate changes during transmission, thc quality icvcl is
`preferably resclccted accorrlingly.
`Preferably, thc transmitting computer monitors the band-
`width of the data stream that u is uploading lo the server, aml
`compares lhe dale stream bandwidth to a I nown or esu-
`mated bandwidth of the link or links between the transmit-
`I'he transmitting computer
`ting computer and the server
`preferably compresses the data stream at a compression rat&o
`that is adjusted so as to match thc data stream bandwirlth to
`the available link banrlwidth, using methods dcscribcrl, for
`in the above-menuoned U.S. patent apphcahon
`example,
`Ser. No. Og 919,I&z7.
`There Ls therefore provided, in secor&lance with a pre-
`ferred embodiment of the present invention, a method for
`real-time broadcasting from a transmitting computer to one
`or morc client computers over a network, inclurlin:
`thc transmitting computer a data stream
`providing at
`having a given data rate;
`dividing thc stream into a scqucncc of slices, each slice
`having a predetermined &tata size associated therewith,
`encoding Lhe slices in a correspomling sequence of tiles,
`each Iile having a respective mdex; and
`uploading the sequence Lo a server at an upload rate
`enerally equal to the data rate of the stream, such that
`the one or more client computers can download the
`sequence over the network from the server at a down-
`load rate generally equal to the data rate
`Preferably, dividing thc stream into thc scqucncc of slices
`includes dividing thc stream into a scqucncc of time slices,
`each having a predetermined iiurauon associated therewith.
`Preferably, uplomiing the sequence includes compann ~
`the upload rale to the data rate and adiusting the uploml rate
`responsive to the comparison. I'urther preferably, encod&ng
`the stream includes compressing data in the stream at a
`desired compression ratio, and adjusting thc uploarl rate
`includes changing thc compression ratio. Altcrnativcly or
`addiuonally, adiusung lhe upload rate includes adjusnng the
`swe of one or more of the slices.
`Preferably, uploading the sequence mcludes opening a
`plurality of lile transfer links between the transmitt&ng
`computer and the server, each link characterized by a
`respcctivc link data rate, anil uploadin difi'crcnt file in the
`scqucncc over diffcrcnt ones of thc plurality of links Further
`preferably, opening the plurality of 1&nks includes openin ~
`1&nks such that the data rates of &he links taken to ether are
`sulhcient Lo upload the sequence a& Lhe uploatl rate generally
`equal to the data rate
`Preferably, uploading the sequence includes uploadmg a
`scqucncc using an Intcrnct Protocol, most prcfcrably usin
`FTP.
`the method includes downloading the
`Preferably,
`sequence using an Interne& prolocol, most preferably HTTP,
`or alternahvely, UDP or RTP, over &he network from the
`server to the one or more client computers. Preferably, the
`one or more client computers decode the sequence and play
`
`lhe dale stream responsive Lo the imlices ol lhe liles, at
`bacl
`a replay rale generally equal Lo the data ra&e.
`Preferably, uploading thc sequence includes uploading
`and updating an index file containing thc index of the fil in
`the sequence that ivas most recently uploarled, and the one
`or morc client computers read thc index file to play hack thc
`In a prcfcrrcd embodiment, rlownloading thc
`scqucncc.
`scqucncc includes selcctmg a fik in thc scqucncc carlicr
`than the Iik whose in&lax is contained in the index lile and
`least a porlion of Lhe sequence of tiles
`iiownloading al
`beginning with the selected file
`Preferably, the one or more client computers include a
`plurality of client computers, and rlownloading thc scqucncc
`includes downloading to thc plurality of client computers
`,s substantially simultaneously
`Preferably, downloading the sequence includes opening a
`plurality ol download links between one of lhe client com-
`puters and the server, each link charactenzed by a respective
`link data rate, and downloading different
`files in the
`zp st'qucncc over differcnt ones of thc plurality of links. Most
`preferably, opening thc plurality of links includes opening
`links such that thc data rates of thc links taken together arc
`sufiicienl lo download the sequence al Lhe download rate
`generally equal Lo Lhe dale rale.
`Preferably, opening the plurahty of links includes moni-
`toring the data rates of the hnks and opening, a new link in
`place of onc of the links having a data rate lower than a
`prcrlctcrmincd lcvcl.
`In onc prcfcrrcd cmbodimcnt, opening thc ncw link
`least one of the tiles in the
`incluties relransmining at
`sequence, wherein Lhe at least one of the tiles was incom-
`pletely transmitted over the one of the links having the data
`rate inwer than the predetermined level.
`In another prcfcrrcd embodiment, opening the ncw link
`least onc tile out of lhc scqucncc,
`includes dropping at
`least onc of thc tiks was incomplctcly
`whcrcin the at
`transmitted over the one or more of the hnks having lhe data
`rale lower than the pretletermined leveL
`In still another preferred embodiment, encoding, the slices
`ap includes encoding slices at a plurality of difi'erent quality
`lcvcls, such that thc files corrcsponrling to a given onc of thc
`slices have a differcnt, rcspcctivc data size for each of thc
`quality lcvcls. Prcfcrably, downloading thc scqucncc
`incluties determining a data banrlwidlh of Lhe networl
`between the server and Lhe client computer and selecnng one
`of the quality levels responsive to the rleterminerl band-
`width.
`Preferably, the data stream includes multimedia data
`Thcrc is further provided, in accordance v ith a prcfcrrcd
`sp embodiment of thc prcscnt invention, apparatus for real-time
`broaiicasting of a data stream having a given data rate over
`a networl, including.
`a transmitting computer, which divirlcs thc stream into a
`sequence of slices, each shee having a predelermmed
`dale mze associated therewith, ami encodes &he slices in
`sequence of files, each hie having a
`a correspondin
`respective index, and
`which uploads the sequence Lo a server al an uploml rate
`generally equal to the data rate, such that one or more
`client computers can download the sequence over the
`network from thc server at a download rate
`cncrally
`equal to thc data rate.
`lhe transmitung computer compares the
`Preferably,
`upload rale lo the data rate anil adiusts lhe upload rate
`lhe trans-
`responsive lo Lhe comparison. Most preferably,
`mitting computer compresses the data at a compression ratio
`which is varied responsive to the comparison Additionally
`
`zs
`
`ap
`
`ps
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 14
`
`

`

`US 6,389,47:) Bl
`
`is
`
`35
`
`or alternatively, the transmitting computer adjusts the size of
`one or more of the slices responsive tn the comparison.
`Preferably, the transmitting computer opens a plurahty of
`links bet&veen the transmitting computer andi the server, each
`link charactcrizcd by a rcspcctivc data rate, and transmits
`difl'crcnt ones of thc scqucncc of filcs over rliffcrcnt ones of
`the plurality of hnks. Most prelerably,
`the transminin ~
`computer opens the plurality of hnks such that the data rates
`of the links taken together are sufficient
`to upload the
`sequence at the upload rate generally equal to the data rate
`Irurther preferably, the transmitting, cnmputer monitors the
`data rates of the links anil opens a ncw link in place of one
`of thc links whose data rate is lower than a prcrlctcrmincrl
`level.
`the slices are encoded at a
`In a prelerred embodiment,
`plurality of different quality levels, such that the files cor-
`responding to a given one of the slices have a ditferent,
`respective data size for each of the quality levels
`thc transmitting computer uploads thc
`Prcfcrably,
`scqucncc using an Intcrnct upload protocol, most prcfcrably zo
`FTP.
`Preferably, the one or more client computers decode the
`sequence and play back the data stream responsive to the
`indices thereof, at a data replay rate generally equal to the
`the one or more client computers
`data rate Preferably,
`download thc cncodc scqucncc using an Intcrnct downloarl
`protocol, most prcfi:rably HTTP or altcrnativcly, UDP or
`RTP.
`Preferably, the one or more client computers include a
`plurality of chent computers, which doivnload the sequence
`substantiallv simultaneously
`Preferably, the network includes the Internet.
`Further prcfi:rably, thc data stream inclurlcs mulhmcrlia
`data, aml thc prcrlctcrmincrl data size of each of the slices
`corresponds to a ume duration of the shee.
`The present invention w&11 be more fully understood from
`the following detailed descnpuon of the preferred embodi-
`ments thereof, taken together with the drawings in which
`BRIEI'L'S('RIP'11ON Ol'I IL DRAWINGS
`I'IG I is a schematic illustratinn of a computer broadcast
`netivork, as is known in the art;
`FIG. 2 is a schematic illustration of a computer broadcast
`network, in accordance with a prcfcrred cmbodimcnt of the
`present invenuon,
`FIG. 3A is a block ihagram that schemaucally illustrates
`a data structure of a broadcast sequence, in accordance with
`a preferred embodiment of the present invention;
`I'IG 313 is a block diagram that schematically illustrates
`an index hie assomated with the data structure of I I(l 333,
`in accordance with a prcfcrrcd cmbodimcnt of thc prcscnt
`invention;
`FIG. 3C is a schematic illustration of a user interface
`graphic, for use in o&a)unct&on with the &late structure of,-&
`FIG. 3A, in ac&or&lance with a preferred emboilrment of the
`present invenuon,
`FIG. 3D is a block diagram that schemaucally illustrates
`a data structure of a broadcast sequence, in accordance with
`another preferred embodiment of the present invention;
`FIG. 4 is a block diagram that schemancally illustrates a
`network connecuon between a transmitung computer anil a
`netivork server, for use in broadcasting of a data sequence,
`in accordance with a preferred embnrliment of the present
`invention;
`that schematically illustrates a
`I'IG 5 is a flow chart
`method of uploading broadcast data frnm a transmitting
`
`n
`
`es
`
`computer to a server, in accordance with a pret erred emboih-
`ment of the present invention;
`I IG 6A is a tloiv chart that schematically illustrates a
`method of downloading broadcast data from a server to a
`in accordance with a prcfcrrcrl embodiment of thc
`client,
`prcscnt invention;
`FIG. 6B is a flow chart that schematically illustrates a
`method ol downloading brorulcast data from a server to a
`client, in secor&lance with another preierred embodiment of
`the present invention;
`that schematically illustrates a
`I IG 7 is a flow chart
`method for preparing data hles for transmission, in accor-
`rlance with a prcfcrred cmborlimcnt of thc present invention;
`that schematically illustrates a
`FIG. 8 is a flow chart
`in accordance with a prcfcrrcd
`method of file transfer,
`embodiment of the present invenuon; and
`that schematically illustrates a
`FIG. 9 is a flow chart
`method lor monitoring network hnks, in accordance with a
`preferred embodiment of the present invention.
`
`DETAILED DESCRIPTION OF PREFERRED
`L'M I IOI)I MENTS
`Rcfcrcncc is now made to FIG. 2, which is a schematic
`illustration of a computer system 32 for remote broadcasting
`of a multimedia sequence over a network 28, in accordance
`with a preferred embodiment of the present
`invention
`System 32 comprises a transmitting computer 34, which
`generates the sequence, a plurahty of clients 30, and a
`network server 36, all of which communicate over network
`28, preferably using thc well-known Intcrnct Protocol (IP).
`Ci&mputer 34 preferably receives audiovisual input from
`input devices 22, although data inputs of other types may be
`generated at or by computer 34 using any suitable means
`knnwn in the art.
`Network 28 preferably cnmprises the Internet, although it
`intranet or other
`may equally comprise a LAN, WAN,
`computer network as is knoivn in thc art. Computer 34 and
`clients 3U preferably compnse conventional personal com-
`puters or workstauons. Server 36 may compnse any suitable
`type ol computer or computer system, for example, a Sun
`Micrnsystems UltraS VAR('tation or a Windows NT server,
`as are commonly used by Internet Service Vroviders (ISVs)
`. In any case, it is noted that transmitting computer 34 can
`bc rcmotcly located rclativc to scrvcr 36, and that thc scrvcr
`need not bc equipped with any special-purpose hardware or
`software for real-time data broadcasting, unlike brea&least
`systems known in the art, such as the real-lime encoder and
`brnadcast server shmvn in I'IG I
`After preparing the multimedia sequence, compuier 34
`uploads the sequence over network 28, preferably using the
`Internet I'ile 'I'ransfer Protocol (I'TV). Alternatively, other
`Internet protocols may be used, such as the I'('V IV, UDV or
`RT(x) protocols, which arc known in thc art. Prcfi:rably, thc
`rlata in the sequence are comprcsscd, although compression
`is not essential to implementation of the present invention.
`The sequence is preferably generated anil compressed in real
`ume, and coul&I comprise, for example, an interview pro-
`gram or an entertainment or sports event, although a prere-
`corded sequence may similarly be broadcast in this manner
`Computer 34 is preferably cquippcrl with suitable software
`for preparing and compressing thc multimedia scquencc. For
`example, for audio data, the computer may typically run
`GSM 6.10 standard audio compression sot)ware, operating
`at a sample rate of 8 kHz, with 16 bits&sample. Some useful
`techniques for preparing, compressmg and transmitting mul-
`timedia sequences are described m U S Vat. No. 5,841,432
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 15
`
`

`

`ic
`
`and in the above-menhoned U.S. patent application Ser No.
`()S,'919,027, both of which are incorporated herein by ref-
`erence
`Clients 30 connect to scrvcr 36 and rcccivc thc multime-
`dia sequence, substanually in real ume. Clients 30 prefer-
`ably download the sequence using the Hypertext Transfer
`Protocol (HTTPj, ahhough other Internet protocols may aLso
`be used, such as UDP or Kl'P, as noted hereinabove with
`reference to uploading by computer 34. Since I'TP and
`HTTP are supported by substantially all network servers,
`scrvcr 36 nccrl not include any special-purpose broadcastin
`hardware or software, as noted above. Similarly, because
`HTTP is supported by substannally all modern Web
`browsers, clients 30 will
`typically neeil only add a Java
`applet or plug-in to their existing Web browsers, as
`described further hereinbelow, in orrler to receive and play
`hack thc broadcast.
`FIG. 3A is a block ihagram that schemaucally illustrates
`the suucture of a stream of broadcast data 40 produced by
`computer 34, typically correspnnrling to a multimedia data 30
`sequence, in accordance with a preferred embodiment of the
`present invention. Data stream 40 comprises a series of data
`slices 42, 44, 46, 48, ctc. Each slice contains a scgmcnt of
`video andior audio clat), corrcspondin
`rcspcctivc,
`to a
`successive time interval labeled T„Ta, Ta, etc. The data are
`preferably compressed, as described further hereinbelow.
`Computer 34 stores each slice as a corresponding file,
`having a running slice index I, 2,3 .. N Preferably, each
`tile also includes one or more time stamps, indicatmg a real
`time at which the rlata in thc file werc rccordcrl or an elapscrl
`time rclativc to thc beginning of stream 40. Thc file arc
`uploaded to server 36, such that while any given slice (other
`than lira) slice 42j is being created, one or more precedin ~
`slices are in the process of bemg uploaded.
`Computer 34 monitors thc time codes as file 40 is
`transmitted, and clients 30 similarly monitor thc time codes
`as the lile is received, in order to ensure that the transmission
`or recephon rs "keeping up'ith the input of. )he data to the
`computer. In the event that a lag is detected, steps are taken
`to increase the data transmission or reception rate, as
`described further hereinbelow I'or example, as shown m
`FIG. 3A, time intervals T„T, T„ctc., arc not all equal, but
`rather are adjusted by computer 34 in rcsponsc to the
`transmission rate. Alternauvely or addiuonally, the compres-
`sion level of the data is varied, as ts likewise descnbed
`below, so as to ad)ust the data streaming rate to the available
`bandwidth over one or more channels between computer 34
`and server 36, and/or between server 36 and client 30
`Computer 34 continues to upload file 42, 44, 46, ctc, sc
`unnl data stream 40 is linished or terminated by a user of
`computer 34. All of the liles in the data stream may be saved
`on server 36 for any desired perind of time, as long as the
`server has sufficient
`is accessilile to
`free memory that
`computer 34 Typically, however, the memory available on
`scrvcr 36 is limited, and files 42, 44, 46, ctc., will be storer)
`on thc scrvcr and crascd thcrcfrom in a
`"first-in-first-out'equence.
`I'IG 313 is a block diagram that schematically illustrates
`an index file 50, which is created by computer 34, and is
`in accordance with a prefcrrcrl
`uploadcd to scrvcr 36,
`embodiment of the prcscnt invention. Thc index fil com-
`pnses a shee ID 52, indicaung the imlex of the lile in data
`stream 4U that was most recently uploaded by computer 34.
`Each nme a new lile 42, 44, 46, etc., is uploaded, ID 52 in ss
`tile 50 on server 36 is updated Preferably, 0) 52 holds the
`tile name of the neiv file, wherein the name typically
`
`33
`
`comprises a sinn ~ followed by the index of the file. When
`one of computers 30 connects to server 36 and begins to
`rlownload the data stream, it first rcarls thc index hlc in order
`to identify at what point in stream 40 to begin and to start
`receiving the data stream substantially in real time, prefer-
`is transmitted from
`ably with only a minimal
`lag, as it
`computer 34. Alternatively, a user of one of computers 30
`may choose to be nn downloading data stream 4U from an
`carlicr point in time than that indicated by ID 52. Further
`alternanvely, stream 40 may be multicast to clients 3U, as is
`known in the art, typically without the use of an index lile.
`Index file 50 may further inclurlc a mcssagc 54, which is
`rerul by computers 30 when they connect to server 36 to
`ilownload data abeam 40 or, ahernauvely or addiuonally, at
`any time the message is updated by computer 34 The
`message contains parameters relatmg generally to the data
`stream and,'or instructions to computers 30, for example,
`"transmission paused." FIG. 3C is a schematic rcprcscnta-
`tion of a user intcrfacc graphic "slider" 55, available to users
`of computers 30, in accordance with a preferred embodiment
`of the present
`invenhon. Slider 55, which is preferably
`displayed on the screens of computers 30, mcludes a bar 56
`anti a movable indicator 58 The symbnls.l, 1+1,.1+2,
`N
`in the figure are the indices of the slices of stream 40 that are
`stored on scrvcr 36, whcrcin N is thc index of thc most
`rcccnt slice, and J is thc inc)ex of thc carlicst stored slice. J
`may intlicate the lirst slice in the sequence, iT. all of the )iles
`are stored on server 36, or it may be the earliest lile not yet
`erased (The indices are marked in the hgure on bar 56 for
`clarity, and need not actually be shown on the computer
`screen )
`When one of computers 30 reads index tile 50 anil liegins
`to download stream 40, indicator 58 preferably marks the
`most recent slice, as shov n in FIG 3C. This is thc point at
`which the dovvnload v ill begin, unless thc user of thc
`computer chooses othcrwisc. If thc user wishes to bc in thc
`ilownload at an earlier point, he may move indicator 58 to
`the left along bar 56 to that point, preferably using a mouse
`or other pointing device, as is known in the art
`lnrlicator 58
`may be moved hack and forth along bar 56 to jump back and
`forth along stream 40.
`I IG 3D is a block diagram that schematically illustrates
`a tile format of a multi-level data stream 41, in accordance
`with another prcfcrred cmborlimcnt of thc prcscnt invention.
`Thc data stream is divided into aurlio slices 45, 47 and video
`slices 49, 51, and may also inclurlc other rlata formats, such
`as a text shee. 53 anil!or a URL slice 55. Each slice is
`preferablv itlentilied by a level itlentiiier 57, a presentation
`time stamp (P'IS) index 59 and, as appropriate, a size
`identifier 61 The function of these identifiers and indices is
`rlcscrilicd further hcrcinbclow. A hcadcr 43 includes clara
`such as the title, author, copyright anil formats of thc data in
`the stream; the duration of thc multimedia scqucncc rcprc-
`sented by the stream, and a descnption of the available
`stream levels and associated data sizes.
`Each time slice in stream 41 includes multimedia data at
`multiple quality levels. There are two such levels in the
`example shown in FIG. 3D, itlentilied as level ¹1 and level
`¹2, but a larger number of levels may also be used. Typically,
`the audio and video data in level ¹1, contained in slices 45
`and 49, are morc highly comprcsscrl rclativc to thc data in
`slices 47 and 51 of level ¹'2. In conscqucncc, thc level ¹I
`slices have smaller data volume than the level ¹2 slices and
`can therefore be transmitted over a lower-bandwidth data
`link, wide maintaining the required shee uming indicated
`by time stamps 59. The loiver data-rate transmission gener-
`ally comes at the expense of inferior sounrl anrLior image
`
`Amazon / WAG Acquisition
`Exhibit 1005
`Page 16
`
`

`

`quality. Size idenulier 61 descrd&es the size of those slices in
`stream 41 that have a fixe&I size associated therewith,
`wherein typically the size (nr the corresponding resolution)
`of the level ¹I video slices is smaller than that of the level
`¹'Z slices.
`Each of. chen&a 3U chooses or is assigned the quality level
`appropriate to the bandwidth of its hnl on network 28 to
`server 36. A method for selecting and, as required, varying
`the level is described hereinbelow ivith reference to I'IG 68
`FIG. 4 i

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