throbber
a2) United States Patent
`US 6,728,763 B1
`(10) Patent No.:
`Chen
`(45) Date of Patent:
`Apr. 27, 2004
`
`
`US006728763B1
`
`(54) ADAPTIVE MEDIA STREAMING SERVER
`FOR PLAYING LIVE AND STREAMING
`MEDIA CONTENT ON DEMAND THROUGH
`WEB CLIENT’S BROWSER WITH NO
`ADDITIONAL SOFTWARE OR PLUG-INS
`
`6,516,338 B1 *
`6,526,580 B2 *
`6,536,043 B1 *
`* cited by examiner
`
`2/2003 Landsmanetal. .......... 709/203
`
`2/2003 Shimomura etal. ........... 725/63
`3/2003 Gucdalia 0... 725/90
`
`(76)
`
`Inventor: Ben W. Chen, 1400 ‘lelteca St.,
`Fremont, Alameda, CA (US) 94539
`
`(*) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`US.C. 154(b) by 651 days.
`
`(21) Appl. No.: 09/588,035
`
`(22) Filed:
`
`Jun. 5, 2000
`
`(60)
`
`Related U.S. Application Data
`Provisional application No. 60/188,341, filed on Mar. 9,
`2000.
`
`(SL) Unt. C1? voc cccccceccscsccssssssssssssneesssesesesen GO6F 15/16
`(52) US. Ch. voces 709/219; 709/217; 709/201;
`709/224; 709/229; 725/51; 725/110; 725/113;
`370/316; 370/338
`(58) Field of Search oo... 709/2, 203, 219,
`709/201, 217, 218, 224, 229; 370/316,
`338, 351, 352; 725/110, 113, 51
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`4/1997 Civanlar et al.
`5,617,540 A *
`1/2000 Lowell
`6,012,086 A
`1/2000 Cannonetal.
`6,014,706 A
`6,314,492 B1 * 11/2001 Allen et al. 0... 711/135
`6,502,194 B1 * 12/2002 Bermanetal. ........... 713/201
`
`....... 370/395 .54
`
`Primary Examiner—David Wiley
`Assistant Examiner—Phuoc H. Nguyen
`(74) Attorney, Agent, or Firm—Sawyer Law Group LLP
`(57)
`ABSTRACT
`
`A method and system for providing media content in real-
`time on a webclient is disclosed. The web client includes a
`
`browser utilizing a cache. The media content can be sepa-
`rated into a plurality of sections. The browser of the web
`client can read and display a section of the media content
`without additional software or plug-ins. In one aspect, the
`method and system include ensuring that the web client can
`flush the cache to allow the media content to be played in
`real-time, preferably in response to the web client requesting
`the media content. In this aspect, the method and system also
`include providing the plurality of sections of the media
`content to the web client section by section and allowing the
`webclient to flush the section of the media content from the
`cache once each of the plurality of section has been dis-
`played. In a second aspect, the method and system include
`requesting the media content using the web clicnt and
`ensuring that the web client can flush the cacheto allow the
`media content to be played in real-time. In this aspect, the
`method and system also include receiving each of the
`plurality of sections of the media content on the web client
`section by section, displaying each of the plurality of sec-
`tions section by section and flushing each section of the
`media content from the cache once eachof the plurality of
`sections has been displayed.
`
`40 Claims, 7 Drawing Sheets
`
`229
`Web Client Requests Media
`Content From AMS Server
`
`Determine Browser Type
`226
`
`
`
`44
`
`228
`
`23
`
`0
`
`2
`
`23
`
`
`
`234
`
`Push Header anc Data
`Size to Web Client
`
`Place AMS Serverin
`Active State
`
`Capture, Compress, and
`Update Content Files
`
`Push Section of Media
`Content to Web Client
`
`
`
`
`Browser
` Yes
`No
`Push-Enabled?
`
`Return Applet to
`
`WebClient
`
`246
`
`Capture, Compress and
`
`
`Update Content Files
`
`248
`
`Check For Patch Thread x
`and Kill if Present
`
`250
`
`Start Pull Process ang Pull
`
`Section from AMS Server
`
`
`252
`WebClient Decompresses and
`Piays Section on Browser
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1017 - PAGE 0001
`EXHIBIT 1017 - PAGE 0001
`
`

`

`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 1 of 7
`
`US 6,728,763 B1
`
`100
`
`
`172
`
`
`
`
`
`Media
`Content
`Source
`
`110
`
`Browser
`
`
`
`AMS Server
`
`
`
`
`Media
`Media
`
`
`Content
`Content
`
`
`Source
`
`Source
`
`172
`
`
`
` WebInterface
`
`
`WebInterface
`
`
`
`Browser
`
`
`Figure 1
`174
`
`11
`
`Web Interface
`
`
`
`113
`
`
`
`Media Preparation and
`Delivery Block
`
`
`
`
`Browser
`Control Block
`
`
`
`115
`
`Figure 2A
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1017 - PAGE 0002
`EXHIBIT 1017 - PAGE 0002
`
`

`

`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 2 of 7
`
`US 6,728,763 B1
`
`128
`
`114
`
`Server
`
`
`Streaming
`
`
`Active
`Stream.
`
`
`Process
`
`
`Prep.
`Real-time
`
`
`
`On
`Process
`Stream.
`
`
`
`
`
`
`Mngmnt.
`Demand
`Thread
`Access
`Process
`
`
`
`
`
`
`Process
`
`
`Web
`Delivery
`Process
`
`
`
`Web Interface
`
`Figure 2B
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1017 - PAGE 0003
`EXHIBIT 1017 - PAGE 0003
`
`

`

`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 3 of 7
`
`US 6,728,763 B1
`
`430
`
`210"
`
`Operating System
`
`138
`
`Media Input
`Control
`
`Media Access Control
`Sub-system
`
`Multi-channel Management
`Sub-system
`
`Media FTP Redirect
`Subsystem
`
`Media Bandwidth
`
`Media Streaming
`Sub-system
`
`Media Delivery
`Sub-system
`
`Logic
`
`Flash
`Memory
`
`436
`
`140
`
`Video/Audio Capture
`Engine
`
`Media Compession
`Engine
`
`Media Input
`Interface
`
`192
`
`4144
`
`148
`
`interface
`
`Storage
`
`462
`
`166
`
`Register Index Client
`
`Management Sub-system
`
`Figure 2C
`
`146
`
`159
`
`154
`
`156
`
`160
`
`164
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1017 - PAGE 0004
`EXHIBIT 1017 - PAGE 0004
`
`

`

`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 4 of 7
`
`US 6,728,763 B1
`
`
` Push-Enabled
`
`Browser
`
`
`
`Media
`
`
`Content
`
`
`
`
`
`Cache Flush
`Decompress
`and Piay
`Process
`
`
`
`Thread
`
`
`178
`
`180
`
`Figure 3A
`
`170"
`
`Web Interface
`
`
`
`Browser 172"
` Pull-Enabled
`
`
`
`
`
` Client
`Media
`Pull
`Media
`Content
`
`
`
`
`
`
`
`
`
`Process Decompress}|Cache FlushPull Patch
`
`
`
`
`
`
`
`Process
`Thread x
`u
`and Play
`
`
`
`
`
`Thread
`
`Thread 184
`
`
`186
`
`188
`
`Figure 3B
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1017 - PAGE 0005
`EXHIBIT 1017 - PAGE 0005
`
`

`

`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 5 of 7
`
`US 6,728,763 B1
`
`200
`
`Optionally Allow Web Client to Request
`Media Content from AMS Server
`
`202
`
`Ensure WebClient Can Flush Cache
`
`to Accommodate Real-Time Play of
`Media Content
`
`
`
`
`
`
`
`Provide Sections of Media Content
`to Web Client Section by Section
`
`204
`
`206
`
`208
`
`Allow Web Client to Flush Cache
`After Each Section Displayed
`
`Figure 4A
`
`204
`
`Determine Type of the WebClient's
`
`210
`
`Browser
`
`
`
`
`Provide Instructions Appropriate for
`
`
`Browser Type so that Web Client Can
`Flush Cache to Accommodate Real-
`
`Time Play of Media Content
`
`212
`
`Figure 4B
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1017 - PAGE 0006
`EXHIBIT 1017 - PAGE 0006
`
`

`

`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 6 of 7
`
`US 6,728,763 B1
`
`NQ N oO
`
`Web Client Requests Media
`Content From AMS Server
`
`Determine Browser Type
`
`222
`
`224
`
`Browser
`Push-Enabled?
`
`44
`
`Return Appiet to
`Web Client
`
`Place AMS Server in
`Active State
`
`
`
`
`
`228
`
`
`
`Push Header and Data
`Size to Web Client
`
`
` 230
`
`246
`
`
`Capture, Compress and
`Update Content Files
`
`
`
`
`
`
` Push Section of Media
`Start Pull Process and Pull
`
`Content to Web Client
`Section from AMS Server
`
`
`202
`Web Client Decompresses and
`Plays Section on Browser
`
`232
`
`234
`
`Capture, Compress, and
`Update Content Files
`
`Check For Patch Thread x
`and kill if Present
`
`2
`
`48
`
`250
`
`
`
`Figure 5A
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1017 - PAGE 0007
`EXHIBIT 1017 - PAGE 0007
`
`

`

`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 7 of 7
`
`US 6,728,763 B1
`
`Web Client Flushes Cache 236
`
`NON oO
`
`
`Web Client Receives
`
`Section and Starts AMS
`Server Push Process
`
`
`
`2
`
`38
`
`Web Client Decompresses and
`Plays Section on Browser
`
`204
`
`256
`
`Patch Thread x Started
`
`Threadio1
`
`Patch Thread x Kills Pull
`

`
`Patch Thread x Sleeps
`
`Resources Released
`
`260
`
`262
`
`264
`
`Patch Thread x Wakes Up
`
`266
`
`Patch Thread x Starts Pull
`Process
`
`268
`
`
`Repeat Steps 250-266if
`Web Client Still
`
`
`Requesting Service
`
`Web Client Flushes Cache
`
`2
`
`2
`
`40
`
`
`
`42
`Repeat Steps 230-240 if Web
`Client Still Requesting Media
`Content and Size not
`
`Reached
`
`
`
`Figure 5B
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1017 - PAGE 0008
`EXHIBIT 1017 - PAGE 0008
`
`

`

`US 6,728,763 B1
`
`1
`ADAPTIVE MEDIA STREAMING SERVER
`FOR PLAYING LIVE AND STREAMING
`MEDIA CONTENT ON DEMAND THROUGH
`WEB CLIENT’S BROWSER WITH NO
`ADDITIONAL SOFTWARE OR PLUG-INS
`
`This application claim the benefit of Provisional aplica-
`tion Ser. No. 60/188,341, file Mar. 9, 2000.
`
`FIELD OF THE INVENTION
`
`The present invention relates to computer systems, and
`more particularly to a method and system for allowing
`media, such as live or streaming media, to be played in
`real-time on a computer system without requiring the com-
`puter system to have additional software or plug-ins.
`BACKGROUND OF THE INVENTION
`
`2
`installed software or plug-ins, a conventional browser can-
`not stream video/audio in real-time.
`Accordingly, what is needed is a system and method for
`playing media content from a network or the Internet in
`real-time,
`for example by streaming audio or video or
`playing live video or audio. ‘he present invention addresses
`such a need.
`
`SUMMARYOF THE INVENTION
`
`The present invention provides a method and system for
`providing media content in real-time on a web client. The
`web client includes a browser utilizing a cache. The media
`content can be separated into a plurality of sections. The
`browser of the web client can read and display a section of
`the media content without additional software or plug-ins. In
`one aspect, the method and system comprise ensuring, that
`the webclient canflush the cache to allow the media content
`
`wm
`
`10
`
`15
`
`Currently, many conventional systems are available for
`allowing media content, such as audio or video,
`to be
`delivered to web clients over the Internet or a local area
`network (LAN). The web clicnts are typically computer
`systems that are equipped with a virtual machine, typically
`incorporated into a conventional browser. Web clients
`might, for example, include a cell phone, personal digital ,
`assistant (PDA), Web pad, personal computer, workstation
`or other device that can connect to the LAN or Internet.
`Conventional virtual machines in browsers are typically
`JAVA™virtual machines. Conventional browsers are used
`
`for manyfunctions and are capable of playing certain types
`of content. For example, conventional browsersare typically
`capable of receiving, decompressing and displaying, or
`playing, JPEG image. Conventional browsers are also
`capable of using GIF file formats. Thus, conventional
`browsers are typically capable of playing certain types of
`audio and static image data.
`Conventional systems exist for allowing conventional
`browsers to play other types of media content, such as
`real-time audio or video, from the web. ‘here are conven-
`tional systems that provide conventional streaming audio or
`video in real-time. or example, Real Audio and Real Video
`from Real Networks allows streaming audio or video to be
`played in real-time on a browser. Streaming video or audio
`is a mechanism that allows real-time audio or video to be
`
`captured, compressed, delivered to a web client via a LAN
`or the Internet, decompressed and displayed, or played, by
`the webclient. In order to allow streaming video/audio to be
`provided on the web client, software or plug-ins must be
`installed for the browser. For example, Real Audio or Real
`Video can be downloadedandinstalled by a user. Using Real
`Audio or Real Video, a conventional browser can play audio
`or video provided via the Internet or LAN in real-time. The
`user must, therefore, agree to have the software or plug-in
`downloaded to the web clicnt and install the software or
`
`plug-in so that it can be used with the browser.
`Although software or plug-ins allow streaming of video or
`audio on a conventional browser, one of ordinary skill in the
`art will readily realize that it would be desirable to provide
`video or audio in real
`time on a conventional browser
`
`without requiring the installation of software or plug-ins.
`This functionality would allow a user of the webclient to be
`able to play video and audio provided via the Internet or
`LAN without expending the time or additional resources
`required to install and store the additional software of
`plug-ins. However, as discussed above,
`a conventional
`browseris capable of playing only certain types of content,
`such as stalic JPEG images. Consequently, without
`the
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`to be played in real-time, preferably in response to the web
`client requesting the media content. In this aspect,
`the
`method and system also comprise providing the plurality of
`sections of the media content to the web client section by
`section and allowing the web clientto flushthe section ofthe
`media content from the cache once each ofthe plurality of
`section has been displayed by the browser. In a second
`aspect,
`the method and system comprise requesting the
`media content using the web client and ensuring that the web
`client can flush the cache to allow the media content to be
`played in real-time. In this aspect, the method and system
`also comprise receiving each of the plurality of sections of
`the media content on the web client section by section,
`displaying eachofthe plurality of sections section bysection
`and flushing cach section of the media content from the
`cache once each of the plurality of sections has been
`displayed.
`According to the system and method disclosed herein, the
`present invention provides a webclient with the ability play
`audio or video in real-time without requiring additional
`software or plug-ins.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram of one embodimentof a system
`that allows a browser for a web client to play media content
`from the Internet or a network in real-time without requiring
`additional software or plug-ins.
`FIG. 2A is a high level block diagram of one embodiment
`of an adaptive media server for allowing a browser for a web
`client to play media content from the Internet or a network
`in real-time without requiring additional software or plug-
`ins.
`
`
`
`FIG. 2B is a block diagram of one embodiment of an
`adaptive media server for allowing a browser for a web
`client to play media content from the Internet or a network
`in real-time without requiring additional software or plug-
`ins.
`
`FIG. 2C is a detailed block diagram of one embodiment
`of an adaptive media server for allowing a browser for a web
`client to play media content from the Internet or a network
`in real-time without requiring additional software or plug-
`ins.
`
`FIG. 3A is a block diagram of one embodiment of a web
`client that can play media content from the Internet or a
`network in real-time without requiring additional software
`or plug-ins.
`FIG. 3B is a block diagram of another embodiment of a
`webclient that can play media content from the Internet or
`a network in real-time without requiring additional software
`or plug-ins.
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1017 - PAGE 0009
`EXHIBIT 1017 - PAGE 0009
`
`

`

`US 6,728,763 B1
`
`3
`FIG. 4A is a high-level flow chart of onc embodiment of
`a method for allowing a browserof a web client to can play
`media content from the Internet or a network in real-time
`without requiring additional software or plug-ins.
`FIG. 4B is a flow chart of one embodiment of a method
`for ensuring that a browser of a web client can adequately
`flush the cache.
`
`FIGS. 5A and 5B depict a more detailed flow chart of a
`preferred embodimentof a method for allowing a browser of
`a web client to can play media content from the Internet or
`a network in real-time without requiring additional software
`or plug-ins.
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`10
`
`15
`
`The present invention relates to an improvementin deliv-
`ery of video to web clients. The following description is
`presented to enable one of ordinary skill in the art to make
`and use the invention and is provided in the context of a
`patent application and its requirements. Various modifica-
`tions to the preferred embodimentwill be readily apparent to
`those skilled in the art and the generic principles herein may
`be applied to other embodiments. Thus, the present inven-
`tion is not intended to be limited to the embodiment shown,
`but is to be accorded the widest scope consistent with the
`principles and features described herein.
`Conventional systems exist for allowing a browser of a
`web client to play media content, such as audio or video,
`delivered from the Internet or other network. For example,
`Real Video and Real Audio provided by Real Networks
`allow streaming of video and audio, respectively, on web
`clients. Although these systems function, one of ordinary
`skill in the art will readily realize that these systems require
`software or plug-ins to be installed in the web clicnt to
`operate with the browser. Consequently, additional time and
`resources are expended to install and store the additional
`software or plug-ins.
`‘The present invention provides a method and system for
`providing media content in real-time on a web client. The
`web client includes a browser utilizing a cache. The media
`content can be separated into a plurality of sections. The
`browser of the web client can read and display a section of
`the media content without additional software or plug-ins. In
`one aspect, the method and system comprise ensuring that
`the web client canfiush the cache to allow the media content
`to be played in real-time, preferably in response to the web
`client requesting the media content.
`In this aspect,
`the
`method and system also comprise providing the plurality of
`sections of the media content to the web client section by
`section and allowing the webclient to flush the section of the
`media content from the cache once each of the plurality of
`section has been displayed. In a second aspect, the method
`and system comprise requesting the media content using the
`web client and ensuring that the web client can flush the
`cache to allow the media content to be played in real-time.
`In this aspect, the method and system also comprise receiv-
`ing each ofthe plurality of sections of the media content on
`the web client section by section, displaying each of the
`plurality of sections section by section and flushing each
`section of the media content from the cache once eachof the
`plurality of sections has been displayed by the browser.
`The present
`invention will be described in terms of
`particular compression standards, such as JPEG,that can be
`decompressed and played by a browser without the instal-
`lation of additional software or plug-ins. However, one of
`ordinary skill in the art will readily recognize that
`this
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`method and system will operate cffectively for other com-
`pression standards that can be decompressed and played by
`a browser without the installation of additional software or
`plug-ins. The present invention will also be described in the
`context of particular architectures, particular software, such
`as JAVA™, and particular browser types. However, one of
`ordinary skill in the art will readily recognize that the present
`invention will operate effectively for other architectures,
`other software and other browser types.
`To more particularly illustrate the method and system in
`accordance with the present invention, refer now to FIG. 1,
`depicting one embodiment of a system 100 that allows a
`browser for a web client to play media content from the
`Internet or a network in real-time without requiring addi-
`tional software or plug-ins. The system 100 includes an
`adaptive media streaming (AMS) server 110 in accordance
`with the present invention, and multiple web clients 170 that
`are coupled with the AMSserver 110 via a network 102. The
`network 102 could include a local area network (LAN), the
`Internet, or another type of network. The AMSserver 110 is
`a server appliance that preferably includes or is coupled to
`a slorage (nol shown) and/or media content sources 104, 106
`and 108. Note that although three media content sources
`104, 106 and 108 are shown, nothing prevents the use of
`another number of media content sources. The storage (not
`shown) and the media content sources are sources for media
`content, such as audio and/or video. The AMSserver 110
`allows the web clicnt 170 to be capable of playing in real
`time media content that is delivered over the network 102
`from the AMSserver 110.
`
`The web client 170 is a device that can be coupled to the
`network 102. For example, the web client 170 may include
`a cell phone, a personal digital assistant (PDA), a web pad,
`a personal computer, a laptop computer, or a workstation.
`The web client 170 includes an interface 171 for coupling
`the web client 170 to the network 102, a browser 172, a
`cache 174 used by the browser 172 in displaying data and a
`processfor displaying data on the browser 172. The browser
`172 preferably implements a virtual machine, such as a
`JAVA™virtual machine. The web client 170 requests media
`content, such as audio and video, from the AMSserver 110.
`In response, the AMSserver 110 provides the media content
`to the web client 170 in a mannerthat allows the web client
`
`time without the
`170 to play the media content in real
`installation of additional software or plug-ins.
`FIG. 2A is a more detailed block diagram of one embodi-
`ment of the AMSserver 110. The AMSserver 110 include
`a webinterface 112 for communication via the network 102.
`The AMS server 110 includes a media preparation and
`delivery block 115. The media preparation and delivery
`block 115 aids in preparing the media content and delivering
`the media content to the network 102 to be provided to the
`web client 170 depicted in FIG. 1. Referring to FIGS. 1 and
`2A, the media preparation and delivery block 115 preferably
`divides the media content into sections which the browser
`172 can display and delivers the media content section by
`section to the network 102 and, therefore, to the web client
`170. For example, in a preferred embodiment, tor video, the
`media preparation and delivery block 115 divides the media
`content into frames, compresses each frame using a standard
`such as JPEG, and delivers the video JPEG file (frame or
`section) by JPEG file (frame or section) to the web client
`170. Also in a preferred embodiment, the media preparation
`and delivery block 115 provides an abort command between
`each section of the media content. The AMSserver 110 also
`includes a browser control block 214 for ensuring that the
`browser 172 of the web client 170 is capable of playing
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1017 - PAGE 0010
`EXHIBIT 1017 - PAGE 0010
`
`

`

`US 6,728,763 B1
`
`5
`media content in real time without requiring the installation
`of additional software or plug-ins. Referring to FIGS. 1 and
`2A, in a preferred embodiment, the browser control block
`113 ensures that the web client 170 is capable of flushing
`sections of media content from the cache 174 such that the
`media content can to be played in real time. In a preferred
`embodiment, the browser control block 113 ensures that the
`browser 172 does not cache data. Thus, when the browser
`172 receives an abort command,
`then receives the next
`section of data, the browser 172 will not attempt to use 20
`data in the cache 174 in displaying the next section of data.
`In other words,
`the cache 174 will be flushed between
`sections of media content provided by the AMSserver 110.
`As a result, the browser 172 will display the media content
`section by section and flushing the cache between sections,
`thereby allowing for real-time playing of the media content.
`FIG. 2B depicts a more detailed block diagram of one
`embodiment of the AMSserver 110'. The AMSserver 110'
`
`10
`
`15
`
`6
`sub-system 156, a web interface 158, a media delivery
`sub-system 160, an optional mass storage 162, a register
`index client sub-system 164 and a media attribute manage-
`ment sub-system 166.
`The AMSserver 110" is preferably capable of substan-
`tially the same functions as the AMS servers 110 and 110'.
`Thus, the AMS server 110" is capable of delivering media
`content to the web client 170 via the network 102 depicted
`in FIG. 1. Referring to FIGS. 1 and 2C,the AMSserver 110"
`is capable of controlling the web clicnt 170 so that the web
`client 170 can flush the cache 174 rapidly enough to allow
`the media content to be played on the web client 170 in real
`time. In particular, the AMS server 110" provides the media
`content to the web client 170 section by section and ensures
`that the web client 170 is capable of flushing the cache 174
`after each section is delivered.
`
`‘The media content could be stored in the optional mass
`storage 162 or provided from media sources 104, 106 and
`108 via the media input
`interface 152. The video/audio
`capture engine 1.44, the media compression engine 148, the
`media streaming sub-system 156 and the media delivery
`sub-system 160 handle capture, compression, streaming and
`delivery for streaming video/audio for the AMSserver 110".
`Preferably, video is compressed frame by frame using JPEG
`by the media compression engine 148. The register index
`client subsystem 164 controls registration and tracking of
`clients that are allowed to obtain media content from the
`
`AMSserver 110'. The media input control 138 controls the
`media input devices, such as the media content sources 104,
`106 and 108. The media access control sub-system 142
`performs administration as well as client authentication and
`authorization. Thus, access to the media for the AMSserver
`110" may be controlled by a password or other similar
`mechanism. The multi-channel management sub-system 146
`performs real-time live index menu and channel manage-
`ment. The media FTP re-direct subsystem 150 can re-target
`or re-direct media to other uniform resource locators (URLs)
`using FTP. The media bandwidth management subsystem
`154 can performreal-time bandwidth detection and adaptive
`media attribute delivery according to the client bandwidth.
`Thus, the AMS server 110" can dynamically adapt to the
`bandwidth of the client 170. The media attribute manage-
`ment sub-system 166 can perform real-time media quality
`control and media size adjustment automatically for the
`AMSserver 110". In another embodiment, image quality
`and frame size could be adjusted by an administrator.
`The AMSservers 110, 110' and 110" can thus provide
`media content to the web client 170 on demand and allow
`the web client 170 to display the media content in real-time
`without additional software or plug-ins. The AMSservers
`110, 110' and 110" can perform media streaming, including
`capture, compression, streaming and delivery. In addition,if
`capture and compression functions are not used and media
`delivered from sources, such as the media content sources
`104, 106 and 108 instead of from another source, such as the
`optional mass storage 162, the AMS servers 110, 110' and
`110" simply provide media on demand.
`Referring to FIGS. 1, 2A, 2B and 2C,as discussed above,
`the AMSservers 110, 110' and 110" perform their functions
`in part by providing the media content section by section to
`the web client 170. In addition, the AMSservers 110, 110'
`and 110' control the web client 170 to ensure that the cache
`174 can be flushed between cach section of the media
`
`content played.
`FIG. 3A depicts one embodiment of a web client 170' in
`accordance with the present invention. The web client 170!
`
`IPR2022-01227
`IPR2022-01227
`EXHIBIT 1017 - PAGE 0011
`EXHIBIT 1017 - PAGE 0011
`
`interface 128. The media input
`includes a media input
`interface 128 allows the AMSserver 110' to receive media ,
`from input sources. For example, the AMSserver 110' could
`receive live video from media content sources 104, 106 and
`108 depicted in FIG. 1. Referring to FIGS. 1 and 2B, the
`AMSserver 110 also includes a server streaming active
`(SSA) process 116. The SSA process 116 handles the ,
`streaming of media content, such as video and audio. Thus,
`portions of the SSA process 116 may be considered to be
`analogous to the media preparation and delivery block 115
`depicted in FIG. 2A. Referring back to FIGS. 1 and 2B, the
`SSA process includes a capture thread 118, a compression
`thread 120, a streaming preparation process 122, a web
`delivery process 224 and a real-time streaming management
`process 126. The capture thread 118, compression thread
`120, streaming thread 122 and webdelivery process 224 are
`active in parallel, but are interlocked so that the sections of
`the media content for which streaming is performed are in
`the desired order. Thus a particular portion of the media
`content is captured, compressed, undergoes streaming, then
`undergoes delivery in that order. The real-time streaming
`management process 126 ensures that the remaining pro-
`cesses 118, 120, 122 and 124 can be performed simulta-
`neously and in the proper order.
`The AMSserver 110' also includes an on demand access
`
`30
`
`35
`
`40
`
`process 114. The on demandaccess process 114 ensuresthat
`the SSA process 116 becomes active when the web client
`170 requests media content from the AMSserver 110'. The
`on demand access process 114 also ensures that the SSA
`process 116 remainsactive throughout delivery of the media
`content. Moreover,
`in one embodiment, the one demand
`access process 114 ensures that the web client 170 can
`adequately flush the cache 174, as discussed below, so that
`the browser 170 can play the media content from the AMS
`server 110' in real-time withoutthe installation of additional
`
`45
`
`50
`
`software or plug-ins. Thus, a portion of the on demand
`access process 114 is analogous to the browser control block
`113.
`
`55
`
`FIG. 2C is a block diagram of another embodiment of an
`AMSserver 110" in accordance with the present invention.
`The AMSserver 110" includes a processor 130, control logic
`132, an embedded network operating system 134, a flash
`memory 136, a media control input 138, a random access
`memory (RAM) buffer 140, a media access control sub-
`system 142, a video/audio capture engine 144, a multi-
`channel management sub-system 146, a media compression
`engine 148, a media file transfer protocol (FTP) re-direct
`sub-system 150, a media input
`interface 152, a media
`bandwidth management sub-system 154, a media streaming
`
`60
`
`65
`
`

`

`US 6,728,763 B1
`
`7
`includes a web interface 171' browser 172', a cache 174! and
`a AMSserver push process 176. Referring to FIGS. 1 and
`3A, the web interface 171' allows the web client 170' to be
`coupled with a network 102, which could be the Internet.
`The cache 174' allows the browser 172' to cache data. The
`browser 172' is a push-enabled browser. Thus, the browser
`172' receives data from the network whenthe data is pushed
`from the source to the browser 172’.
`
`10
`
`15
`
`The AMSserver push process 176 aids in allowing the
`push-enabled browser 172' to play media content in real time
`without additional software or plug-ins being installed. The
`AMSserver push process 176 includes a media content
`decompress and play thread 178 and a cache flush thread
`180. The media content decompress and play thread 178
`decompresses and plays a section of the media content
`pushed to the web client 170' by the AMSserver 110, 110°
`and 110". The media content is broken into sections by the
`AMSserver 110, 110'or 110" as discussed below. The cache
`flush thread 180 flushes the cache 174’. In particular, the web
`client 170' receives a section of media content from the AMS ,
`server 110, 110' or 110". The web client 170' decompresses
`and plays the section on the browser 172' using the media
`content decompress and play thread 178. However,as dis-
`cussed above, the section provided by the AMSserver 110,
`100' and 110" can be decompressed and played by a con-
`ventional browser. For example, the section may be a frame
`of video data compressed using JPEG. The cache flush
`hread 180 flushes the cache 174' after cach section is played
`by the push-enabled browser 172'. Thus, the browser 172'
`plays a section, the cache 174' is flushed, the browser 172’
`plays the next section, and so on. The cache flush thread 180
`and media content decompress and play thread 178 function
`in this manner because of information provided by the AMS
`server 110, 110' or 110", as discussed below.
`FIG.3B depicts another embodimentof a web client 170"
`in accordance with the present invention. The web client
`170" includes a web interface 171", a browser 172", a cache
`174", a client pull process 182 and a patch thread x 190.
`Referring to FIGS. 1 and 3B, the web interface 171" allows
`he webclient 170" to be coupled with a network 102, which
`could be the Internet. The cache 174" allows the browser
`
`8
`section is played by the pull-cnabled browser 172". Thus,
`the client pull process 182 pulls the section, the video/audio
`thread 184 decompresses the section and plays the section
`on the browser 172", the cache 174" is flushed, the client
`pull process 182 pulls the next section, and so on. The cache
`flush thread 188 and media content decompress and play
`thread 186 function in this manner because of information
`provided by the AMSserver 110, 110' or 110", as discussed
`below, and because of the patch thread x 190.
`In order to properly flush the cache 174", the patch thread
`x 190 is used in the pull-enabled browser 172". The patch
`thread x 190 is provided by

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