`
`(12) Ulllted States Patent
`Price
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 8,364,839 B2
`Jan. 29, 2013
`
`(54) STREAMING MEDIA DELIVERY SYSTEM
`
`2
`
`gincef 6t a1~
`
`.
`(75) Inventor: Harold Edward Price, Bethel Park, PA
`(US)
`
`(73) Assignee: WAG Acquisition, LLC, Flanders, NJ
`(Us)
`
`( * ) Not1ce:
`
`_
`
`_
`
`_
`
`_
`
`Subject to any drsclarmer, the term ofthrs
`patent is extended or adjusted under 35
`U_S_C_ 154(1)) by 0 days
`
`_
`
`(21) APP1~ NOJ 13/385,375
`
`(22) Filed:
`
`Feb. 16, 2012
`
`(65)
`
`Prior Publication Data
`
`US 2012/0166669 A1
`
`Jun. 28, 2012
`
`unt
`,
`,
`5/1995 Hooper
`5 414 455 A
`8/1995 Walters et al‘
`534403334 A
`1/1996 Veltman
`5,481,543 A
`2/1996 Keith
`5,493,514 A
`6/1996 Henley et a1~
`5,526,353 A
`8/1996 Long
`5,550,982 A
`5,579,239 A 11/1996 Freeman
`5,583,859 A 12/1996 Feldmeier
`
`5,610,841 A
`5,613,032 A
`5,627,936 A
`5,663,951 A
`5,668,948 A
`5,710,970 A
`5,719,786 A
`5,734,119 A
`5,737,536 A
`5’75l’95l A
`
`3/1997 Tanaka
`3/1997 Cruz
`5/1997 Prasad
`9/1997 Danneels
`9/1997 Belknap
`1/1998 Walters et a1.
`2/1998 Nelson
`3/1998 France
`4/1998 Herrmann
`5/1998 Osborne
`(Continued)
`
`_
`_
`Related US. Application Data
`(63) Continuation of application No. 12/ 800,177, ?led on
`May 10, 2010, noW Pat. No. 8,185,611, Which is a
`continuation of application No. 10/893,814, ?led on
`Jul. 19, 2004, noW Pat. No. 7,716,358, which is a
`continuation-in-part of application No. 09/819,337,
`?led on Mar. 28, 2001, HOW Pat. No. 6,766,376.
`(60) Prov1s1onal appl1cat1on No. 60/231,997, ?led on Sep.
`12, 2000.
`
`.
`
`.
`
`.
`
`.
`
`51
`(
`)
`
`Int. Cl.
`(2006.01)
`G06F 15/16
`(52) US. Cl. ...................................... .. 709/231; 709/219
`(58) Field of Classi?cation Search ................ .. 709/231,
`709/230, 217, 218, 219
`See application ?le for complete search history.
`
`56
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`4,963,995 A 10/1990 Lang
`5,057,932 A 10/ 1991 Lang
`5,065,396 A 11/1991 Castellano
`5,164,839 A 11/1992 Lang
`
`CA
`EP
`
`FOREIGN PATENT DOCUMENTS
`2247588 C
`V2004
`614317 A2
`9/1994
`(Continued)
`
`OTHER PUBLICATIONS
`Bing Zheng and Mohammed AtiquZZaman, Multimedia Over High
`Speed Networks: Reducing Network Requirements With Fast Buffer
`p
`
`Fillu , 1998.
`
`(Continued)
`
`Primar Examinerilose hAvellino
`y
`P
`Assistant Examiner * Marshall McLeod
`(74) Attorney, Agent, or Firm * Ernest D. Buff; Ernest D.
`Buff& ASSOC- LLC
`
`ABSTRACT
`(57)
`Streaming media, such as audio or video ?les, is sent via the
`Internet. The media are immediatel la ed on a user’s com
`yP y
`puter. Audio/video data is transmitted from the server more
`rapidly than it is played out by the user system. The audio/
`video data in the user buffer accumulates; and interruptions in
`playback as Well as temporary modern delays are avoided.
`
`21 Claims, 3 Drawing Sheets
`
`PAGE 1 of 16
`
`PETITIONERS' EXHIBIT 1001
`
`
`
`US 8,364,839 B2
`Page2
`
`U.S. PATENT DOCUMENTS
`5751968 A
`71998 C?hen
`A
`$332 zDalrllg
`5,793,980 A
`8/1998 Glaser etal.
`5 805 823 A
`9/1998 Seitz
`5,809,239 A
`9/l998 Dan
`5,815,662 A
`9/1998 On
`’
`t
`g
`27257532 2 18/1332 53:15“
`5,822,537 A 1071998
`5,835,495 A 11/1998 Ferriere
`5867 230 A
`2/1999 Wang
`5’88l’245 A
`3/l999 Thompson
`5:892:915 A
`4/1999 Duso
`5,910,876 A
`6/1999 sharnraetal.
`5,922,048 A
`7/1999 Emura
`5,923,655 A
`7/1999 Veschietal.
`5,928,330 A
`7/1999 Goetz.
`2,33%???‘ 2
`$333 xahaha
`5,956,716 A
`9/l999 KZ‘I’mer
`
`a.
`
`5,963,202 A 10/1999 Polish 5,974,503 A 10/1999 Venkatesh
`
`5,978,567 A 11/1999 Reb.aneeta1~
`gtgggtgég 2 151333 lLmal
`5,996,015 A “H999 D‘jgg
`
`5,999,525 A 12/1999 Krishnaswamy et a1. 6002 720 A 12/1999 Ynrt etal.
`
`6,014,693 A
`V2000 Ito et a1
`’
`t
`:
`6,014,694 A
`V2000 Aharon‘ 6‘ a1~
`Egg/{g2 A
`55888 (Ti‘fmon 6‘ a1~
`6,032,193 A
`20000 silltlivan
`6,047,317 A
`4/2000 Bisdikian etal.
`6047 356 A
`4/2000 Anderson
`6,057,832 A
`50000 Levet a1
`6,061,731 A
`50000 B1 akesleé
`6,061,732 A
`5/2000 Korstetal.
`6,065,050 A
`50000 DeMOney
`’
`’
`6,085,221 A
`72000 Giagdh
`Q1
`11688? (S3 a
`‘1
`6,173,340 B1
`V2001 Gildyetal
`
`6,233,226 B1 6,279,040 B1
`
`5/2001 Gringerietal. 8/2001 Ma fital'
`6,292,834 B1
`9/2001 Ravletal'
`2,351,532 5; 12588; ‘Kali?
`6,385,596 B1
`5/2002 w‘lggerarm
`’
`’
`6,389,473 B1
`72002 Carmel
`2,323,228 5%
`3688; gm
`6,449,719 B1
`90002 Big?
`’
`’
`Egg/33g g1
`ggggg gumya
`6,588,015 B1
`7/2003 Eagryet a1
`’
`t
`Y .
`'
`2,233,323 5;
`$588; 18,111.19 ‘ital
`6,625,750 B1
`900% D313‘?
`6,637,031 B1
`100003 Chou
`B1
`at
`3/2004 Bommaiah etal.
`6708213 B1
`6,728,753 B1
`4000,‘ Parasnis
`6,757,796 B1
`6000,‘ Hofmann
`638293368 B2 12,2004 Meyer et a1‘
`6,831,892 B2 12/2004 Robinett etal.
`
`6,850,965 B2
`6,889,257 B1
`6,907,481 B2
`6,925,495 B2
`6,938,047 B2
`6,988,144 B1
`6,990,497 B2
`7,020,710 B2
`7,039,784 B1
`7,054,500 B1
`
`2/2005 Allen
`5/2005 Patel
`6/2005 Kovacevic
`8/2005 Hegde
`8/2005 Kryeziu
`1/2006 Luken
`1/2006 O’Rourke
`3/2006 Weber
`5/2006 Chen
`5/2006 Lillevoid
`
`7,085,842 B2
`8/2006 Reid
`7,111,058 B1
`9/2006 Nguyen et al.
`7,113,983 B1
`9/2006 Terada
`7,170,856 B1
`1/2007 H0 etal.
`95%;: 5%
`$88; frank‘
`’
`’
`ynn
`7,272,298 B1
`9/2007 Langetal.
`7,287,083 B1
`10/2007 Nay
`7,318,017 B2
`1/2008 Swoboda
`7,334,016 B2
`2/2008 Fishhaut
`ggggrggg g;
`ggggg gggaway
`7’349’663 B1
`300% Jose h
`’
`’
`P
`7,373,413 B1
`5/2008 Nguyenetal.
`Zig?gg g; @5882 gr‘l’lmwen
`7’478’164 B1
`1,2009 Lu
`7’496’676 B2
`2/2009
`ango
`7’590’656 B2
`9/2009 Elm-Z1“
`7,647,297 B2
`1/2010 LaChapelle
`7,689,510 B2
`3/2010 Lamkin
`7,818,444 B2 10/2010 Brueck
`
`astlna
`
`,
`
`,
`
`93???? E5 2001/0047’377 A1 11/2001 Sinca 1'
`
`gla
`2002/0007418 A1
`1/2002 Hegde
`2002/0023165 A1
`2/2002 Lalrr
`2002/0029166 A1
`3/2002 Jacobs
`
`2002/0083182 A1
`6/2002 Alvarado
`2002/0120675 A1
`8/2002 Everett
`2002/0131443 A1
`9/2002 Robinett
`2002/0147634 A1 10/2002 Jacoby
`2002/0177914 A1 11/2002 Chase
`gggyggigggg 2%
`$88; 291311
`Inga
`2003/0061305 A1
`3/2003 C_0pley_
`2003/0068046 A1
`4/2003 Llndqvlst
`2003/0093790 ‘A1
`500% Logan
`2003/0186645 A1 10/2003 Mon
`2004/0078812 A1
`4/2004 calvert
`2004/0086120 A1
`5/2004 Akins
`2004/0123725 A1
`7/2004 Kim
`2004/0131340 A1
`7/2004 Antonn
`
`$88: gggjgigégég 2} 2004/0231004 A1 11/2004 seo
`
`2004/0260835 A1 12/2004 Welk
`2005/0005025 A1
`1/2005 Harville
`2005/0080876 A1
`4/2005 Peiffer
`2005/0108320 A1
`5/2005 Lord
`2005/0190915 A1
`9/2005 Pare
`2005/0203917 A1
`9/2005 Freeberg
`2005/0251832 A1 11/2005 Chiueh
`2005/0262251A1
`11/2005 Klemets
`2006/0095472 A1
`5/2006 Krikorian
`2006/0143667 A1
`6/2006 Kurosawa
`2006/0153537 A1
`7/2006 Kaneko
`2007/0005428 A1
`1/2007 Jacobs
`2007/0016865 A1
`1/2007 Johnson
`2007/0038728 A1
`2/2007 Jacobs
`322722823121
`7322; 81:31,
`y
`-
`2007/0226365 A1
`9/2007 Hrldretlr
`2007/0233784 A1 10/2007 O’Rourke
`2007/0274672 A1 11/2007 Itoi
`Zoos/0059532 A1
`3/2008 KaZnP
`
`2008/0195743 A1
`
`8/2008 Brueck
`
`EP
`EP
`EP
`EP
`EP
`EP
`EP
`
`FOREIGN PATENT DOCUMENTS
`680185 A2 11/1995
`720374 A1
`7/1996
`762300 A2
`3/1997
`827336 A2
`3/1998
`859535 A2
`8/1998
`984584 A1
`3/2000
`1113642 A2
`7/2001
`
`PAGE 2 of 16
`
`PETITIONERS' EXHIBIT 1001
`
`
`
`US 8,364,839 B2
`Page 3
`
`EP
`JP
`JP
`JP
`JP
`JP
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`
`6/2004
`1427218 A2
`10336626 A 12/1998
`11184780 A
`7/1999
`2000151595 A
`5/2000
`2000172599 A
`6/2000
`2000228669 A
`8/2000
`9712447 A2
`4/1997
`9717775 A1
`5/1997
`9730551 A1
`8/1997
`9844733 A1
`10/1998
`0138993 A1
`5/2001
`02057943 A1
`7/2002
`03023781 A1
`3/2003
`2005004485 A1
`1/2005
`OTHER PUBLICATIONS
`
`ReXford et al., “Smoothing variable-bit-rate video in an
`internetwork,” IEEE/ACM Transactions on Networking, vol. 7, Issue
`2, pp. 202-215, Apr. 1999.
`Bianchi, “Buffer sizing for high speed video information retrieval on
`ATM networks,” GLOBECOMiNew Yorki, 1997, vol. 2, pp.
`1057-1061.
`Salehi et al., “Supporting Stored Video: Reducing Rate Variability
`and End-to-End Resource Requirements through Optimal Smooth
`ing,” IEEE/ACM Transactions on Networking, vol. 6, Issue 4, pp.
`397-410, Aug. 1998.
`
`Mielke et al., A Multi-level Buffering and Feedback Scheme for
`Distributed Multimedia Presentation Systems, IEEE, 1998.
`Nam et al, Adaptive Multimedia Stream Presentation in Mobile Com
`puting Environment, IEEE TENCON, Sep. 1999.
`Deleon et al., An Adaptive Predictor for Media Playout Buffering,
`1999.
`Zhao et al., Bandwidth-Ef?cient Continuous Media Streaming
`through Optimal Multiplexing, 1999.
`Gollapudi et al., Buffer Management in Multimedia Database Sys
`tems, 1996.
`Hui et al., Client-Server Synchronization and Buffering for Variable
`Rate Multimedia Retrievals, IEEE Journal on SelectedAreas in Com
`munications, vol. 14, No. 1, Jan. 1996.
`Zheng et al., Multimedia Over High Speed Networks: Reducing
`Network Requirements With Fast Buffer Fillup, 1998.
`Zheng et al., Traf?c Management of Multimedia over ATM Net
`works, Jan. 1999.
`Chen et al., Video and Audio: Organization and Retrieval in the
`WWW, 1996.
`Yee et al., Server and Buffer Allocation in Client Server Multimedia
`System, IEEE, 1993.
`Rejaie et al., RAP: An end-to-end rate-based congestion control
`mechanism for realtime streams in the Internet, IEEE, Mar. 1999.
`
`PAGE 3 of 16
`
`PETITIONERS' EXHIBIT 1001
`
`
`
`US. Patent
`
`Jan. 29, 2013
`
`Sheet 1 of3
`
`US 8,364,839 B2
`
`Fig. 1
`
`(X)
`
`E
`
`2
`
`PAGE 4 of 16
`
`PETITIONERS' EXHIBIT 1001
`
`
`
`US. Patent
`
`Jan. 29, 2013
`
`Sheet 2 of3
`
`US 8,364,839 B2
`
`Fig. 2
`
`(X1
`
`_ _ _ _ _ _ ‘ _ _ _ _ _ _,
`
`PAGE 5 of 16
`
`PETITIONERS' EXHIBIT 1001
`
`
`
`US. Patent
`
`Jan. 29, 2013
`
`Sheet 3 of3
`
`US 8,364,839 B2
`
`Fig. 3
`
`32
`
`36
`
`<—
`
`38
`
`42
`
`PAGE 6 of 16
`
`PETITIONERS' EXHIBIT 1001
`
`
`
`US 8,364,839 B2
`
`1
`STREAMING MEDIA DELIVERY SYSTEM
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation of US. patent applica
`tion Ser. No. 12/800,177, ?led May 10, 2010 (published on
`Sep. 2, 2010 as US. patent publication number 2010/
`0223362 A1 and now US. Pat. No. 8,185,611), Which Was a
`continuation of US. patent application Ser. No. 10/893,814,
`?led Jul. 19, 2004 (published on Dec. 9, 2004 as US. patent
`publication number 2004/0249969A1, and now US. Pat. No.
`7,716,358), Which Was a continuation-in-part of US. patent
`application Ser. No. 09/819,337, ?led Mar. 28, 2001 (now
`US. Pat. No. 6,766,376), Which claimed the bene?t under 35
`U.S.C. §1 1 9(e) of US. provisional patent application Ser. No.
`60/231,997, ?led Sep. 12, 2000; and it claims the bene?t,
`under 35 U.S.C. §120, of the respective ?ling dates of said
`applications, as Well as bene?t of the ?ling date of copending
`US. patent application Ser. No. 10/825,869, ?led Apr. 16,
`2004 (published on Dec. 23, 2004 as US. patent publication
`number 2004/260828 A1), Which Was a continuation of said
`US. patent application Ser. No. 09/ 819,337, and of copend
`ing US. patent application Ser. No. 12/800,152, ?led May 10,
`2010 (published on Sep. 16, 2010 as US. patent publication
`number2010/0235536A1, andnoW US. Pat. No. 8,122,141),
`Which Was also a continuation of said US. patent application
`Ser. No. 10/ 893,814; and hereby incorporates by reference
`the entire disclosure of each of said prior applications.
`
`BACKGROUND OF THE INVENTION
`
`20
`
`25
`
`30
`
`2
`system for distributing video and/or audio information,
`Wherein digital signal processing is employed to achieve high
`rates of data compression. US. Pat. No. 5,923,655, to Veschi
`et al. discloses a system and method for communicating
`audio/ video data in a packet-based computer netWork,
`Wherein transmission of data packets through the computer
`netWork requires variable periods of transmission time. US.
`Pat. No. 5,922,048 to Emura discloses a video server appa
`ratus having a stream control section that determines a key
`frame readout interval and a keyframe playback interval,
`Which satisfy a playback speed designated by a terminal
`apparatus. Finally, US. Pat. No. 6,014,694 to Aharoni, et al.
`discloses a system and method for adaptively transporting
`video over netWorks, including the Internet, Wherein the
`available bandWidth varies With time.
`Despite these developments, users vieWing or listening to
`streaming content over Internet connections often encounter
`interruptions, due to the frequency of unanticipated transmis
`sion delays and losses that are inherent in many Internet
`protocols. These interruptions are commonly referred to as
`“dropouts”, meaning that the data How to the user has been
`interrupted (i.e., the audio “drops out”).
`Dropouts can be extremely annoyingifor example, While
`listening to music. The current state-of-the-art solution to the
`problem uses a pre-buffering technique to store up enough
`audio or video data in the user’s computer so that it can play
`the audio or video With a minimum of dropouts. This process
`requires the user to Wait until enough of the media ?le is
`buffered in memory before listening or vieWing can begin.
`The media data is delivered by a server computer, Which has
`available to it the source of the media data, such as by a
`connection to a radio station. When the user connects to the
`server via the Internet, audio/ video output at the user’ s system
`is delayed While the user’s buffer is ?lled to a predetermined
`level. Typical pre-buffering Wait times range from ten to
`tWenty seconds or more, determined by the vendor providing
`the audio or video media. Even With this pre-buffering pro
`cess, interruptions in playback still occur.
`In this process, the user has a softWare application on the
`computer commonly called a “media player”. Using the fea
`tures built into the media player, the user starts the audio or
`video stream, typically by clicking on a “start” button, and
`Waits ten to tWenty seconds or so before the material starts
`playing. During this time data is being received from the
`source and ?lling the media player’s buffer. The audio or
`video data is delivered from the source at the rate it is to be
`played out. If, for example, the user is listening to an audio
`stream encoded to be played-out at 24,000 bits per second, the
`source sends the audio data at the rate of 24,000 bits per
`second. Provided that the user Waits ten seconds, and the
`receipt of the buffering data has not been interrupted, there is
`enough media data stored in the buffer to play for ten seconds.
`Gaps in the receipt of audio/video data, due to Internet
`sloWdoWns, cause the buffer to deplete. Because transmission
`of audio/video media data to the user takes place at the rate it
`is played out, the user’s buffer level can never be increased or
`replenished While it is playing. Thus, gaps in the receipt of
`audio/video media data inexorably cause the buffer level to
`decrease from its initial level. In time, extended or repeated
`occurrences of these gaps empty the user’s buffer. The audio/
`video material stops playing, and the buffer must be re?lled to
`its original predetermined level before playing of the media
`resumes.
`By Way of illustration, if, in a ten second pre-buffering
`scenario, data reception stopped the instant that the media
`started playing, it Would play for exactly ten seconds. Once
`the media data starts playing, it plays out of the buffer as neW
`
`1. Field of the Invention
`The present invention relates to multimedia computer com
`munication systems; and more particularly, to systems and
`methods for delivering streaming media, such as audio and
`video, on the Internet.
`2. Description of the Related Art
`Prior to the development of Internet streaming media tech
`nologies, audio and video Were formatted into ?les, Which
`users needed to doWnload in their entirety to their computers
`before the ?les could be heard or vieWed. Real time, continu
`ous media, as from a radio station, Was not suitable for this
`arrangement, in that a ?le of ?nite siZe must be created so it
`could be doWnloaded. The advent of streaming media tech
`nologies alloWed users to listen to or vieW the ?les as they
`Were being doWnloaded, and alloWed users to “tune-in” to a
`continuous media broadcast, or “stream”, such as from a
`radio station.
`Sending audio or video ?les via a netWork is knoWn in the
`art. US. Pat. No. 6,029,194 to Tilt describes a media server
`for the distribution of audio/video over netWorks, in Which
`retrieved media frames are transferred to a FIFO buffer. A
`clock rate for a local clock is adjusted according to the full
`ness of the buffer. The media frames from the buffer are sent
`in the form of data packets over the netWorks in response to
`interrupts generated by the local clock. In this manner, the
`timing for the media frames is controlled by the user to assure
`a continuous stream of video during editing. US. Pat. No.
`6,014,706 to Cannon, et al. discloses an apparatus and
`method for displaying streamed digital video data on a client
`computer. The client computer is con?gured to receive the
`streamed digital video data from a server computer via a
`computer netWork.
`The streamed digital video data is transmitted from the
`server computer to the client computer as a stream of video
`frames. US. Pat. No. 6,002,720, to Yurt, et al. discloses a
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`PAGE 7 of 16
`
`PETITIONERS' EXHIBIT 1001
`
`
`
`US 8,364,839 B2
`
`3
`media data replenishes the buffer. The incoming data rate
`equals the rate at Which the data is played out of the user’s
`buffer, assuming the receipt of data across the Internet is
`unimpeded. If there are no interruptions in the receipt of the
`media data for the duration of the time the user listens to or
`Watches the material, the buffer level remains constant and
`there Will still be ten seconds of data stored in the media
`player’s buffer When the user stops the player.
`On the other hand, if the media player encounters interrup
`tions totaling six seconds While playing the material, there
`Would only be four seconds of media data remaining in the
`buffer When the user stopped it. If data reception interruptions
`at any time during the playing exceed ten seconds, the user’s
`media player buffer becomes exhausted. There is no media
`data to play, and the audio or video stopsia dropout has
`occurred. At this point a software mechanism in the media
`player stops attempting to play any more of the material, and
`starts the buffering process again. The media player remains
`silent until the buffer re?lls, at Which time the media player
`Will once again start playing the material. This pattern has
`brought about considerable consumer frustration With
`streaming media over the Internet.
`
`SUMMARY OF THE INVENTION
`
`There is a need for improved systems and methods for
`delivering streaming content over the Internet or other com
`munications medium, Which facilitate continuous transmis
`sion of streaming content, respond on demand Without obj ec
`tionable buffering delay, and perform Without disruption or
`dropouts.
`To address these objectives, various embodiments for
`delivering streaming content are provided, Which envision
`that both the server and user systems involved in the content
`delivery may have buffering capacity. The embodiments
`make varying uses of this capacity to facilitate continuous
`content transmission on demand. Nearly instantaneous play
`back is achieved, While maintaining protection against play
`back interruption.
`In one aspect, the server and user-sides of the transmission
`are coordinated, by (a) sending initial streaming media ele
`ments to the user system at a sending rate more rapid than the
`playback rate, to ?ll the user buffer; and (b) after the user
`buffer has been ?lled, sending further streaming media data
`elements to the user system at about the playback rate.
`In another embodiment, the user system may be used to
`regulate transmission of streaming media to it, by a streaming
`media server. In such embodiment, the server may operate by
`(a) assigning identi?ers to the sequential media data elements
`comprising the program; (b) receiving requests from the user
`system for media data elements corresponding to speci?ed
`identi?ers; and (c) sending media data elements to the user
`system responsive to said requests. A user system used in
`connection With such an embodiment may operate by (i)
`maintaining a record of the identi?er of the last sequential
`media data element that has been received by said player; (ii)
`requesting transmission of the next sequential media data
`elements folloWing said last sequential media data element,
`as said media player requires for continuous and uninter
`rupted playback.
`Other aspects and advantages of the invention Will be
`apparent from the accompanying draWings and the detailed
`description that folloWs.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`55
`
`60
`
`The invention Will be more fully understood and further
`advantages Will become apparent When reference is had to the
`folloWing detailed description and the accompanying draW
`ings, in Which:
`
`65
`
`4
`FIG. 1 is a schematic/block diagram illustrating the ele
`ments of a streaming media buffering system in accordance
`With one embodiment of the present invention;
`FIG. 2 is a schematic/block diagram of an alternative
`embodiment of the system shoWn by FIG. 1; and
`FIG. 3 is a ?owchart illustrating a method employed in one
`embodiment of the present invention.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`The folloWing is a detailed description of certain embodi
`ments of the invention chosen to provide illustrative examples
`of hoW it may preferably be implemented.
`Audio and video media must play out over a period of time.
`Thus, in considering the delivery of such media, it is more
`appropriate in certain respects to think of bandWidth require
`ments than ?le siZe. The bandWidth requirement of audio or
`video media refers to the data rate in bits per second that must
`be transmitted and received in order to listen to or vieW the
`material uninterrupted.
`Transmitting the audio or video material over a connection
`sloWer than the bandWidth requirement results in unsatisfac
`tory vieWing or listening, if vieWing or listening is possible at
`all. The connection available may, for example, be by dialup
`modem, Which has a maximum receive data rate of 56,000
`bits per second. Audio and video encoded for distribution
`over the Internet may be compressed to be listenable or vieW
`able Within such a 56,000 bits per second bandWidth.
`Requirements for achieving adequate audio and video over
`the Internet may consume a considerable portion of the lis
`tener’s available bandwidth.
`There are tWo types of encoding schemes used for audio
`and video materiali“Variable Bit Rate” (V BR), and “Con
`stant Bit Rate” (CBR). CBR encoding represents the encoded
`media With a constant bit rate per second, regardless of the
`complexity of the material being encoded. For example, if an
`audio source is encoded at 20 kilobits per second at a Constant
`Bit Rate, the media data being produced from the encoding is
`at 20 kilobits per second, Whether the audio material is com
`plex (e.g., symphonic) or silence. Variable Bit Rate encoding
`uses a variable number of bits to represent sounds or video,
`With more bits required for complex material (e. g., sym
`phonic sounds or action scenes) than for simple sounds,
`silence, or still scenes. The most usual encoding scheme used
`for streaming media is CBR, because the resulting data rate is
`more predictable than for VBR. Statements in this speci?ca
`tion concerning “constant” data rates and the like should be
`understood as subject to appropriate variation Where VBR
`encoded data may be involved.
`Even if a user’s Internet connection has the requisite aver
`age bandWidth capacity to alloW reception of the program, the
`actual rate of delivery of data to the user can ?uctuate Widely
`above, and more particularly, beloW, this average, as a func
`tion of the quality of the user’s connectivity at any given time.
`Internet connection quality can vary rapidly over time, With
`tWo primary factors responsible for degradation of the instan
`taneous bandWidth actually available to the user. These fac
`tors are the quality of the user’s Internet connection, Which
`can have periods of interference causing reduced available
`bandWidth, and momentary Internet congestion at various
`points along the route over Which the user’s data ?oWs. Each
`of these factors can cause delays and interruptions in the
`transmission of data to the user. Internet data communications
`devices such as routers are designed to drop data packets if
`they get overloaded. For material that is not time sensitive,
`these dropped packets Will usually be resent, and the user Will
`
`PAGE 8 of 16
`
`PETITIONERS' EXHIBIT 1001
`
`
`
`US 8,364,839 B2
`
`5
`eventually be presented With the material. However, since
`streaming media is time sensitive, dropped packets can have
`a signi?cant impact on the receipt and playback of an audio or
`video stream. Such degradation in the receipt of Internet data
`is very common, and prevents most users from being able to
`listen to or vieW streaming media Without interruption unless
`some special provisions have been incorporated into the
`user’s computer software to accommodate data transmission
`interruptions.
`There are tWo fundamental types of streaming media,
`Which affect, in some respects, the requirements for smooth
`and continuous delivery: (i) material that originates from a
`source having a realtime nature, such as a radio or TV broad
`cast, and (ii) material that originates from a non-real-time
`source such as from a disk ?le. An example of non-real-time
`material might be a piece of music stored as a disk ?le, or a
`portion of a broadcast that originally Was realtime, perhaps
`yesterday’s TV evening neWs, and Was recorded into a disk
`?le. For purposes of clarity Within this document, streaming
`media of type (i) Will be referred to as “real time” or “broad
`cast” media, and streaming media of type (ii) Will be referred
`to as “?le based” media.
`In many respects, both streaming media types are handled
`similarly in conventional systems, and both are handled simi
`larly (in a number of respects) by the streaming media deliv
`ery system of the present invention. Nevertheless, the tWo
`streaming media types are readily distinguished. Broadcast
`streaming media has as its source a system or arrangement
`that by de?nition can only be transmitted to users as fast as the
`material is generated; for example, a disk jockey speaking
`into a microphone. File based media, on the other hand, can
`be transmitted to users at any available data rate, since in the
`context of data communications, the time required for reading
`a small portion of data from a ?le residing entirely on a locally
`accessible, random access storage device may be considered
`negligible.
`In conventional systems for streaming media over the
`Internet, media data (Whether real-time or ?le based) is sim
`ply transmitted from the server to the user at the rate at Which
`it Will be played out (the “playback rate”), regardless of the
`data rate capabilities of the connection betWeen the server and
`the user.
`Conventional streaming media systems may incorporate
`server-side buffering systems for programmatic purposes.
`For example, the system may buffer media data at the server
`for the purpose of packet assembly/disassembly. Media data
`may also be buffered at the server to permit programming
`conveniences such as dealing With blocks of data of a speci?c
`siZe. HoWever, conventional streaming media systems have
`not utiliZed server-side buffering for the purpose of mitigating
`long term Internet performance degradation. Rather, prior art
`systems, in Which data is continuously transmitted at the
`playback rate, have performed buffering for continuity pur
`poses solely on the user side, With the consequences dis
`cussed above of startup delays and dropouts. The present
`invention addresses such shortcomings.
`The present invention provides a system and method for
`delivering streaming media, such as audio or video media, via
`the Internet or other communications medium. Immediate
`playing of the media on a user’s computer is afforded, While
`reducing interruptions in playback due to Internet congestion,
`and temporary modem delays due to noisy lines. Nearly
`instantaneous playback is achieved, While maintaining pro
`tection against playback interruption. Delayed starts, hereto
`fore required to provide protection against interruption, are
`avoided. Data lost due to interruptions in the receipt of media
`data by the media player can be recovered While the player
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`continues to play out the audio or video material. If the
`interruptions are so severe as to deplete the user’s buffer and
`stop the play out, the media player can quickly recover as
`Well, by beginning to play out again Without Waiting to ?rst
`build up the buffer, as soon as the media player begins to
`receive media data elements.
`In one embodiment, the invention provides a system for
`distributing via the Internet streaming media composed of a
`plurality of time-sequenced data elements. As shoWn in FIG.
`1, the system is provided With a server 12 connected to the
`Internet 10 for transmitting the streaming media data ele
`ments. Associated With the server 12 is a server buffer 14 for
`storing at least one of the data elements for transmission, and
`a buffer manager 16. Buffer 14 is a conventional computer
`storage mechanism such as a hard disk, as shoWn for conve
`nience of illustration, or, preferably, an electronic storage
`arrangement such as Random Access Memory (RAM).
`The media may come from a live source, shoWn as 26 in
`FIG. 1, or from a stored ?le on the server 12, or another
`storage device, such as a hard drive.
`A number of different implementations of such a server,
`involving different Ways of handling server buffer 14, Will be
`discussed.
`In the various implementations, there is in each case at least
`one user computer 18 (or similar device) connected to the
`server 12 via the Internet 10 or other data communications
`medium. User computer 18 is associated With media player
`softWare incorporating user buffer 20. The user buffer 20 is
`provided With means for storing a predetermined number of
`the data elements. User buffer 20 is a conventional computer
`storage mechanism such as a hard disk, or, preferably, an
`electronic storage arrangement such as Random Access
`Memory (RAM) as suggested by the illustration. A buffer
`manager 22 is also associated With the user computer 18. The
`buffer manager 22, having the form of softWare or ?rmWare,
`is provided With means for receiving and storing a predeter
`mined number of media data elements Which are received
`sequentially by the media player, playing the data out sequen
`tially as audio and/ or video, and deleting media data elements
`from the buffer as they are played out (or displacing them by
`neWly arrived elements). As data is played out, the next
`sequential data elements are received from the server in such
`a fashion as to approximately maintain the predetermined
`number of data elements in the user’s buffer. It should be
`understood that data might arrive at the media player out-of
`sequence and that processes in the media player or the media
`player buffer manager are responsible for properly arranging
`this data.
`Alternatively, user computer 18 may be replaced by an
`Internet radio or Internet Appliance, Which is comprised of a
`dedicated processor for receiving Internet radio or audio/
`video material. Examples of such devices might range from
`familiar computing devices such as palmtops, PDAs (Per
`sonal Digital Assistants), and Wireless phones, to devices that
`appear and operate similarly to conventional consumer elec
`tronic devices such as radios and televisions, but With the
`additional capability of Internet access.
`FIFO Server Buffer Implementation
`There are a large number of Ways of managing server
`buffer 14 in order to implement the systems and methods
`described in this speci?cation. In one implementation, buffer
`manager 16 is adapted to effectively render server buffer 14 a
`FIFO device. In this implementation, buffer manager 16 is
`provided in the form of software or ?rmWare that provides
`means for: receiving the media data; supplying media data in
`order to the FIFO buffer; supplying the buffer 14 With a
`predetermined number of data elements; maintaining point
`
`PAGE 9 of 16
`
`PETITIONERS' EXHIBIT 1001
`
`
`
`US 8,364,839 B2
`
`20
`
`25
`
`30
`
`7
`ers 2411 through 2411 into the buffer, one for each user com
`puter indicating the last media data element that has been sent
`to that user, thus indicating the next element or elements to be
`sent; and,