1.1 Introduction to media server. 02 1.2 Introduction to continuous media server. 06 1.21 Description 1.22 Applications 1.23 What is yima 2.ystem Architecture 0! 2.1 "#$"# D"I%& '(A))"&%" 11 2.2 Data placement and schedulin* 11 3.calability+ hetero*eneity+ and fault resilience 13 3.1 Data reor*ani,ation 1- -. .ultinode server architecture 1/ -.1 .aster0slave desi*n 12ima013 1/ -.2 4ipartite desi*n 12ima023 15 -.3 ')I"&T 2T". 1! -.- 'lient buffer mana*ement 1! /. pecial features 26 /.1 "7planation 8f ome Important 9eatures 26 6. Applications 34 4 I 4 ) I 8 % # A : ( 2 -0 1 Chapter 1 Introduction to 'ontinuous .edia erver 1.1 .edia server; You can use Media Server to enhance static textual and graphical documents with real-time audio, delivered instantly live and on demand to wor within existing computer and networ in!rastructures" 1.11 <nicastin* and multicastin* clips and live feed Media Server lets users play #ac live audio !eeds using $nternet %rotocol multicast or on-demand access to pre-recorded audio clips" Media Server can unicast or multicast #oth stored audio clips and live !eeds" &nicast is a type o! #roadcast that delivers pacets to a single destination, whereas multicast delivers pacets to only a su#set o! all possi#le destinations" 'usinesses can tae advantage o! these !eatures to deploy audio-ena#led networ applications such as( Multimedia training applications !or employees on an intranet and outside partners on the $nternet" $nternal and external pu#lications whose visi#ility and e!!ectiveness are enhanced #y audio content" 'roadcast audio #rie!ings over the networ to communicate with internal and external partners" Multicasting is not limited to data captured live !rom an audio device) you can also loop a stored audio !ile and serve it as a live !eed, a method that can help alleviate networ tra!!ic pro#lems on high demand sites" * theater site could, !or example, record a listing o! all currently playing + movies, along with show times, special o!!ers, and ticet prices and then multicast and loop the !ile" * customer who tunes in mid-multicast could simply stay tuned until the !ile starts playing again" 1.12 ervin* synchroni,ed multimedia presentations You can employ Media Server to synchroni,e audio with -.M/ documents, 0ava applets, and 0avaScript applications using /iveConnect" .he result is a dynamic user experience that integrates text, graphics, and audio to !acilitate more e!!ective communication" * #usiness site could, !or example, provide a multimedia presentation o! its #ene!its policies that includes videos with synchroni,ed audio narration" *nother alternative would #e a motion picture site presenting synchroni,ed audio and video clips !rom a new movie" 1.13 :rotocol <sin* )ive.edia treamin* Media Server supports the /iveMedia Streaming %rotocol 1/MS%2" /MS% is a protocol used !or on-demand access o! multimedia o#3ects such as stored real-time audio !iles and live real-time !eeds" /MS% is a hy#rid protocol that( &ses Session Control %rotocol 1SC%2 over .C% !or control messages and non-real-time data 4ptionally uses 5eal-.ime .rans!er %rotocol 15.%2 over &ser 6atagram %rotocol 1&6%2 !or real-time data delivery Connection settings exist that allow you to choose a &6% connection, or re7uest .C% transport or 5.% !raming" 1.1- 'reatin* hi*h0=uality audio at lo> band>idth 3 -igh-7uality digital audio is #andwidth intensive" Short, monaural speeches re7uire mega#ytes o! data, and C6-7uality stereo music re7uires even more" .o transmit this in!ormation e!!iciently over a networ without loss o! 7uality, you need sophisticated audio compression and decompression modules 1codecs2" More importantly, to create the #est possi#le listening experience, audio delivery must #e optimi,ed !or the availa#le networ #andwidth" 1.1/ .ultiple codec support 'y supporting muliple codecs, Media Server provides the !ollowing #ene!its( $t encodes audio content at multiple compression ratios to ensure high- 7uality delivery using availa#le networ #andwidth" $t produces high-7uality speech at less than 4"8 9#ps" $t produces #roadcast-7uality stereo audio at less than +8"8 9#ps modem speeds" $t produces C6-7uality stereo audio at $ntegrated Services 6igital :etwor 1$S6:2 and /*: speeds" $t allows additional codecs to #e utili,ed #y the server" 1.16 'reatin* your audio files Media Server supports "av !iles on &nix, "wav !iles, and /ive*udio 1"la2 !iles, in which you can store compressed 1constant or varia#le #it-rate2 audio" You can create /ive*udio !iles using Media Converter included with Media Server" You can also use the Media Converter to compress "wav !iles" 1.16 #ecordin* audio files 4 You can use any recording device appropriate !or creating audio !iles to record audio !iles to serve with Media Server" ;hen recording your !iles, you can use Media Converter to optimi,e the recording !ormat !or a speci!ic codec" You can include Media %layer controls !or %lay<%ause, Stop, and =olume" You can also include a position slider !or seeing within an audio !ile, and an 4ptions #utton that displays a drop-down menu !rom which a user can display a %roperties dialog #ox !or in!ormation a#out the current clip" .he Media %layer controls appear in a rectangular space, which can #e a !rame separate !rom your page>s other content" You could, !or example include a header !rame, a main !rame with text, images, or video, and a plug-in !rame containing Media %layer controls" You can also em#ed multiple sets o! controls in a single -.M/ page so that clients can play multiple audio !iles"
4n a ;indows 3"1, ;indows ?@, or ;indows :. system, Media %layer !unctions as an MC$ driver that you can also con!igure through a control panel on your systems" 1.2 I&T#8D<'TI8& T8 '8&TI&<8< ."DIA "#$"# @ 1.21 Description; Yima is a second-generation scala#le, real-time streaming architecture, which ena#les applications such as video-on-demand and distance learning on a large scale" Yima is consistent with industry standards and can support heterogeneous magnetic diss and achieve !ault- tolerance"
*dvantages( Compati#le with industry standards, such as M%AB-4, M%AB- 1, M%AB-+, Cuictime video !ormats, -6.= and 5.%<5.S% networ protocols" $t can stream a wide array o! media types over $%" Complete distri#ution where all nodes run identical so!tware and single points o! !ailure are eliminated" A!!icient, online scala#ility o! diss where diss can #e added or removed without stream interruption" Drame-accurate synchroni,ation o! several independent streams o! audio and<or video" Smooth, client-dictated transmission rate control" 5uns on commodity, o!!-the-shel! hardware 1i"e" personal computers, Athernet"2 1"++ *pplications ( =ideo-on-demand :ews-on-demand A-commerce 6istance learning Corporate training Scienti!ic visuali,ation .he Yima server is #ased on a scala#le cluster design" Aach cluster node is a o!!-the-shel! personal computer with attached storage devices and, !or example, a Dast Athernet connection" .he Yima server so!tware manages 6 the storage and networ resources to provide real-time service to the various clients that are re7uesting media streams" .he Yima clients run on either ;indows or /inux and may utili,e a hardware or so!tware decoder to display media streams" ;e can implemented a num#er o! di!!erent clients that support a variety o! display #andwidths !rom less than 1 M#<s to more than +E M#<s" .he !ollowing media types are currently supported( F 6=6 1M%AB-+ video, 6ol#y 6igital 1*C32 audio2 at @-8 M#<s F -6.= 1M%AB-+ video, 6ol#y 6igital 1*C32 audio2 !rom 1?"4 M#<s to 4@ M#<s" F 6ivG)-2 1M%AB-4 video and M%3 audio2 at 6EE-8EE 9#<s F %anoramic video 1@ M%AB-+ video channels !rame accurately synchroni,ed2 at a total o! +@ M#<s F Multi-channel audio 1up to 16 channels o! uncompressed %CM audio sample accurately synchroni,ed2 at a total o! 1E"8 M#<s 5eal:etwors, *pple Computer, and Microso!t product o!!erings !it into the consumer-oriented category while SeaChange and nCu#e o!!er solutions oriented toward carrier-class systems" ;hile commercial systems ordinarily use proprietary technology and algorithms, maing it di!!icult to compare their products with research prototypes, we have designed and developed a second-generation 1CM2 Continuous media server that demonstrates several advanced concepts" 1.23 What is yima ? Yima is a name denoting the !irst man in ancient $ranian religion" ;hile Yima has not achieved the re!inement o! commercial solutions,it is operational and incorporates lessons learned !rom !irst- generation research prototypes"1,+" H 1"+4 Yima distinguishes itsel! !rom other similar research e!!orts in the !ollowing( I complete distri#ution with all nodes running identical so!tware and no single points o! !ailure) I e!!icient online scala#ility allowing diss to #e added or removed without interrupting CM streams) I synchroni,ation o! several streams o! audio, video, or #oth within one !rame 11<3E second2) I independence !rom media types) I compliance with industry standards) I selective retransmission protocol) and I multithreshold #u!!ering !low-control mechanism to support varia#le #it- rate 1='52 media" 'hapter 2
2T". A#'(IT"'T<#" 8 2ima+ a scalable real0time streamin* architecture+ incorporates lessons learned from earlier research prototypes to enable advanced continuous media services.
Yima is also a complete end-to-end system that uses an $% networ with several supporta#le client types" .his !eature distinguishes it !rom previous research that !ocused heavily on server design" Digure 1 shows the overall Yima system architecture" $n our prototype implementation, the server consists o!( *n eight-way cluster o! rac-mounta#le 6ell %owerAdge 1@@E %entium $$$ 866-M-, %Cs with +@6 M#ytes o! memory running 5ed -at /inux" Sixteen 36-B#yte Seagate Cheetah hard-dis drives store the media data and connect to the server nodes via <ra16E small computer systeminter!ace 1SCS$2 channels" .he nodes in the cluster communicate with each other and send the media data via multiple 1EE-M#ps Dast Athernet connections" Aach server is attached to a local Ca#letron 6EEE switch with either one or two Dast Athernet lines" ? Digure1" Yima system architecture" 1.he prototype implementation uses o!! Jthe- shel! commodity hardware components and industry standards end to end" 2 .he local switch connects to #oth a ;*: #ac#one !or serving distantclients and a /*: environment !or local clients" 4urtest#ed also includes server clusters at other remote locations, !or example, Metromedia Di#er :etwor in Al Segundo, Cali!ornia, and $n!ormation Sciences $nstitute Aast in *rlington, =irginia" Choosing an $%-#ased networ eeps the per-port e7uipment cost low and maes the system immediately compati#le with the pu#lic $nternet" 1E .he current prototype implements clients on standard %entium $$$ %C plat!orms, #ut we could also port them to digital television set-top #oxes" .he client so!tware, Yima %resentation %layer, runs on either 5ed -at /inux or ;indows :." Structured into several components, the player lets various so!tware and hardware decoders #e plugged in" .a#le 1 shows the di!!erent media types that Yima currently recogni,es" 4ne unusual type is panoramic video with 1E"+-channel audio" 2.1 "#$"# D"I%& '(A))"&%" ;
.he servers !or delivering isochronous multimedia over $% networs must store the data e!!iciently and schedule the data retrieval and delivery precisely #e!ore transmission" ;e studied #oth master-slave and #ipartite design approaches in the Yima-1 and Yima-+ contineous media 1CM2 servers, respectively" .hese approaches share many !eatures that address design challenges in this domain" .hey di!!er mainly in the logical interconnection topology #etween cluster nodes" 2.2 Data placement and schedulin* .here are two ways to assign data #locs to the magnetic dis drives that !orm the storage system( in a round-ro#in placement or randomly" .raditionally, round-ro#in placement uses a cycle-#ased approach !or resource scheduling to guarantee a continuous display, while random placement uses a deadline-driven approach" $n general, the round-ro#in cycle-#ased approach provides high throughput with little wasted #and- width !or video o#3ects that are retrieved se7uentially, such as a !eature- length movie" .he startup latency !or an o#3ect might #e large under heavy loads, #ut o#3ect replication can reduce it" 11 .he random deadline-driven approach supports !ewer optimi,ations, so it could lower throughput, #ut several #ene!its outweigh this potential draw#ac" Dirst, random data placement supports multiple delivery rates with a single server #loc si,e) it also simpli!ies the scheduler design, supports interactive applications, and automatically achieves the average trans!er rate with multi,oned diss"Dinally, random placement reorgani,es data more e!!iciently when the system scales up or down" 5andom placement can re7uire a large amount o! metadata to store and manage each #locKs location in a centrali,ed repository, !or example, in tuples o! the !orm Lnodex, disyM" Yima avoids this overhead #y using a pseudorandom #loc placement" * seed value initiates a se7uence o! num#ers that can #e reproduced #y using the same seed value" 'y placing #locs in a pseudorandom !ashion across the diss, the system can recompute the #loc locations" Since Yima num#ers diss glo#ally across the server nodes, it will assign #locs to random diss across di!!erent nodes" -ence, Yima stores only the seed !or each !ile o#3ect instead o! locations !or every #loc"
1+ 'hapter 3 calability+ hetero*eneity+ and fault resilience
*ny CM server design must scale to support growth in user demand or application re7uirements" Several techni7ues address this re7uirement, including the use o! multidis arrays" -owever, i! the design connected all the diss to a single large computer, the $<4 #andwidth constraints would limit the overall achieva#le throughputNhence, YimaKs architecture uses multiple computers, or multinodes" *s Digure 1 shows, the Yima server architecture interconnects storage nodes via a high-speed networ !a#ric that can expand as demand increases" .his modular architecture maes it easy to upgrade older %Cs and add new nodes" *pplications that rely on large-scale CM servers, such as video-on- demand, re7uire continuous operation" .o achieve high relia#ility and availa#ility !or all data stored in the server, Yima uses dis merging to implement a parity-#ased data-redundancy scheme that, in addition to providing !ault tolerance, can also tae advantage o! a heterogeneous storage su#system" 6is merging presents a virtual view o! logical diss on top o! the actual physical storage system, which might consist o! diss that provide di!!erent #andwidths and storage space" .his a#straction allows a systemKs application layers to assume a uni!orm characteristic !or all the logical diss, which in turn allows using conventional scheduling and data placement algorithms across the physical storage system" 13 3.1 Data reor*ani,ation Computer clusters try to #alance load distri#ution across all nodes" 4ver time, #oth round-ro#in and random data-placement techni7ues distri#ute data retrievals evenly across all dis drives" ;hen a system operator adds a node or dis, however, the system must redistri#ute the data to avoid partitioning the server" 5eorgani,ing the #locs involves much less overhead when the system uses random rather than round-ro#in placement" Dor example, with round-ro#in striping, adding or removing a dis re7uires the relocation o! almost all data #locs" 5andomi,ed placement re7uires moving only a !raction o! the #locs !rom each dis to the added disN3ust enough to ensure that the #locs are still randomly placed to preserve the load #alance" Yima uses a pseudorandom num#er generator to produce a random, yet reproduci#le, num#er se7uence to determine #loc locations" 'ecause some #locs must move to the added diss when the system scales up, Yima cannot use the previous pseudorandom num#er se7uence to !ind the #locs) there!ore, Yima must derive a new random num#er se7uence" ;e use a composition o! random !unctions to determine this new se7uence" 4ur approachNtermed calin* Dis@s for Data Arran*ed #andomly 1caddar3Npreserves the se7uenceKs pseudorandom properties, resulting in minimal #loc movements and little overhead in the computation o! new locations".he Scaddar algorithm can support dis scaling while Yima is online" 14 'hapter -
.ultinode server architecture ;e #uilt the Yima servers !rom clusters o! server %Cs called nodes" * distri#uted !ile system provides a complete view o! all the data on every node without re7uiring individual data #locs to #e replicated, except as e7uired !or !ault tolerance" * Yima cluster can run in either a master-slave or #ipartite mode" 4"1 Master-slave design 1Yima-12" ;ith this design, an application running on a speci!ic node operates on all local and remote !iles" 4perations on remote !iles re7uire networ access to the corresponding node"
.he Yima-1 so!tware consists o! two components( I the Yima-1 high-per!ormance distri#uted !ile system, and I the Yima-1 media streaming server" 1@
+a 16 Figure 2. Client session view of the Yima server. (a) Data is sent through the master node in Yima-1, and (b) data is sent from all the nodes in Yima-2. *s Digure +a shows, the distri#uted !ile system consists o! multiple !ile $<4 modules located on each node" .he media-streaming server itsel! is composed o! a scheduler, a real-time streaming protocol 15.S%2 module, and a real-time protocol 15.%2 module" Aach Yima-1 node runs the distri#uted !ile system, while certain nodes also run the Yima-1 media- streaming server" * node running only the !ile $<4 module has only slave capa#ilities, while a node that runs #oth components has master and slave capa#ilities" * master server node is a clientKs point o! contact during a session" ;e de!ine a session as a complete 5.S% transaction !or a CM stream" ;hen a client wants to re7uest a data stream using 5.S%, it connects to a master server node, which in turn #roers the re7uest to the slave nodes" $! multiple 1H master nodes exist in the cluster, this assignment is decided #ased on a round-ro#in domain name service 155-6:S2 or a load-#alancing switch" * pseudorandom num#er generator manages the locations o! all data #locs" &sing a distri#uted !ile system o#viates the need !or applications to #e aware o! the storage systemKs distri#uted nature" Aven applications designed !or a single node can to some degree tae advantage o! this cluster organi,ation" .he Yima-1 media streaming server component, #ased on *ppleKs 6arwin Streaming Server 16SS2 pro3ect 1http(<<www"open source"apple"com<pro3ects<streaming<2, assumes that all media data reside in a single local directory" Anhanced with our distri#uted !ile system, multiple copies o! the 6SS codeNeach copy running on its own master nodeNcan share the same media data" .his also simpli!ies our client design since it sends all 5.S% control commands to only one server node" Dinally, Yima-1 uses a pause-resume !low-control techni7ue to deliver ='5 media" * stream is sent at a rate o! either RN or ,ero mega#its per second, where RN is an estimated pea trans!er rate !or the movie" .he client issues pause-and-resume commands to the server depending on how !ull the client #u!!er is" *lthough the pause-resume design is simple and e!!ective, its on-o!! nature can lead to #ursty tra!!ic" ;ith the Yima-1 architecture, several ma3or per!ormance pro#lems o!!set the ease o! using clustered storage, such as a single point o! !ailure at the master node and heavy internode tra!!ic" .hese draw#acs motivated the design o! Yima-+, which provides a higher per!orming and more scala#le solution !or managing internode tra!!ic" 4"+ 'ipartite design 1Yima-+2;
2ima02 offers the fle7ibility of deliverin* any data type >hile still bein* compatible >ith the .:"%0- industry tandard. 18 ;e #ased Yima-+Ks #ipartite model on two groups o! nodes( server group and a client group" ;ith Yima-1, the scheduler, 5.S%, and 5.% server modules are centrali,ed on a single master node !rom the viewpoint o! a single client" Yima-+ expands on the decentrali,ation #y eeping only the 5.S% module centrali,edNagain !rom the viewpoint o! a single clientNand paralleli,ing the scheduling and 5.% !unctions, as Digure +# shows" $n Yima-+, every node retrieves, schedules, and sends its own local data #locs directly to the re7uesting client, there#y eliminating Yima-1Ks master-node #ottlenec" .hese improvements signi!icantly reduce internode tra!!ic" *lthough the #ipartite design o!!ers clear advantages, its reali,ation imposes several new challenges" Dirst, clients must handle receiving data !rom multiple nodes" Second, we replaced the original 6SS code component with a distri#uted scheduler and 5.% server to achieve Yima-+Ks decentrali,ed architecture" /ast, Yima-+ re7uires a !low-control mechanism to prevent client #u!!er over!low or starvation" ;ith Yima-+, each client maintains contact with one 5.S% module throughout a session !or control in!ormation" Dor load-#alancing purposes, each server node can run an 5.S% module, and the decision o! which 5.S% server to contact remains the same as in Yima-1( 55-6:S or switch" -owever, contrary to the Yima- 1 design, a simple 55-6:S cannot mae the server cluster appear as one node since clients must communicate with individual nodes !or retransmissions" Moreover, i! an 5.S% server !ails, sessions are not lost" $nstead, the system reassigns the sessions to another 5.S% server, with no disruption in data delivery" ;e adapted the M%AB-4 !ile !ormat as speci!ied in M%AB-4 =ersion + !or the storage o! media #locs" .his !lexi#le- container !ormat is #ased on *ppleKs Cuic.ime !ile !ormat" $n Yima-+, we expanded on the M%AB-4 !ormat #y allowing encapsulation o! other compressed media data such as M%A -+" .his o!!ers the !lexi#ility o! delivering any data type while still #eing compati#le with the M%AB-4 industry standard" .o avoid #ursty tra!!ic caused #y Yima-1Ks pause<resume 1? transmission scheme and still accommodate ='5 media, the client sends !eed#ac to mae minor ad3ustments to the data transmission rate in Yima- +" 'y sending occasional slowdown or speedup commands to the Yima-+ server, the client can receive a smooth data !low #y monitoring the amount o! data in its #u!!er" -.3 ')I"&T 2T". ;e #uilt the Yima %resentation %layer as a client application to demonstrate and experiment with our Yima server" .he player can display a variety o! media types on #oth /inux and ;indows plat!orms" Clients receive streams via standard 5.S% and 5.% communications" -.- 'lient buffer mana*ement * circular #u!!er in the Yima %resentation %layer reassem#les ='5 media streams !rom 5.% pacets that are received !rom the server nodes" 5esearchers have proposed numerous techni7ues to smooth the varia#le consumption rate RC #y approximating it with a num#er o! constant-rate segments" $mplementing such algorithms at the server side, however, re7uires complete nowledge o! RC as a !unction o! time" ;e #ased our #u!!er management techni7ues on a !low-control mechanism so they would wor in a dynamic environment" * circular #u!!er o! si,e B accumulates the media data and eeps trac o! several watermars including #u!!er over!low WMO and #u!!er under!low WMU" .he decoding thread consumes data !rom the same #u!!er" .wo schemes, pause<resume and "p, control the data !low" -./ :ause0resume" +E $! the data in the #u!!er reaches WMO, the client so!tware pauses the data !low !rom the server" .he play#ac will continue to consume media data !rom the #u!!er" ;hen the data in the #u!!er reaches the under- !low watermar WMU, the stream !rom the server resumes" -owever, the #u!!er must set WMO and WMU with sa!ety margins that account !or networ delays" Conse7uently, i! the data delivery rate 1RN2 is set correctly, the #u!!er will not under!low while the stream is resumed" *lthough the pause<resume techni7ue is a simple and e!!ective design, i! pause and resume actions coincide across multiple sessions, #ursty tra!!ic will #ecome a noticea#le e!!ect" -.6 'lient0controlled . p" "p is the interpacet delivery time the schedulers use to transmit pacets to the client" Schedulers use the networ time protocol 1:.%2 to synchroni,e time across nodes" &sing a common time re!erence and each pacetKs time stamp, server nodes send pacets in se7uence at timed intervals" .he client !ine-tunes the delivery rate #y updating the server with new "p values #ased on the amount o! data in its #u!!er" Dine-tuning is achieved #y using multiple watermars in addition to WMO and WMU, as Digure 1 shows" ;hen the level o! data in the client #u!!er reaches a watermar, the client sends a corresponding "p speedup or slowdown command to maintain the amount o! data within the #u!!er" .he #u!!er smoothes out any !luctuations in networ tra!!ic or server load im#alance that might delay pacets" .hus, the client can control the delivery rate o! received data to achieve smoother delivery, prevent #ursty tra!!ic, and eep a constant level o! #u!!er data" :layer media types ;
Digure 1 shows the playerKs three-threaded structure" .he play#ac thread inter!aces with the actual media decoder" .he decoder can +1 #e either so!tware- or hardware#ased" .a#le 1 lists some decoders that we incorporated" .he CineCast hardware M%AB decoders !rom =ela 5esearch support #oth M%AB-1 and M%AB- + video and two-channel audio" Dor content that includes @"1 channels o! 6ol#y 6igital audio, as used in 6=6 movies, we use the 6xr+ %C$ card!rom Creative .echnology to decompress #oth M%AB-1 and M%AB-+ video in hardware" .he card also decodes M%AB audio and provides a @"1-channel Sony-%hilips 6igital $nter!ace 1S%- 6$D2 digital audio output terminal" ;ith the emergence o! M%AB-4, we #egan experimenting with a 6ivG so!tware decoder"? M%AB-4 provides a higher compression ratio than M%AB-+" * typical 6-M#ps M%AB-+ media !ile may only re7uire an 8EE-9#ps delivery rate when encoded with M%AB- 4" ;e delivered an M%AB-4 video stream at near :.SC 7uality to a residential client site via an *6S/ connection"1E (DT$ client; .he streaming o! high-de!inition content presented several challenges" Dirst, high-de!inition media re7uire a high-transmission #andwidth" Dor example, a video resolution o! 1,?+E x 1,E8E pixels encoded via M%AB-+ results in a data rate o! 1?"4 M#ps" .his was less o! a pro#lem on the server side #ecause we designed Yima to handle high data rates" .he more intriguing pro#lems arose on the client side" ;e integrated an mpeg+dec open source so!tware decoder #ecause it was cost-e!!ective" *lthough it decoded our content, achieving realtime !rame rates with high-de!inition video was nontrivial #ecause o! the high resolution" 4n a dual-processor ?33-M-, %entium $$$, we achieved approximately +E !rames per second using unoptimi,ed code with 5ed -at linux 6"+ and G!ree86 4"E"1 on an ++ n=idia Cuadro + graphics accelerator" $n our most recent implementation, we used a =ela 5esearch CineCast -6 hardware decoder, which achieved real-time !rame rates at data rates up to 4@ M#ps" A 2ima client can render up to ei*ht synchronous streams of .:"%02 video and 2- audio channels. +3 Figure 3. anorami! video and 1".2- !hannel audio #la$ba!% s$stem blo!% diagram. &ne Yima !lient renders five !hannels of s$n!hroni'ed video in a mosai! of 3,("" O )*" #i+els while another Yima !lient renders 1".2 !hannels of s$n!hroni'ed audio (".2 refers to two low-fre,uen!$ !hannels, or subwoofers). 62 .ultistream synchroni,ation .he !low-control techni7ues implemented in the Yima client-server communications protocol synchroni,e multiple, independently stored media +4 streams" Digure 3 shows the client con!iguration !or the play#ac o! panoramic, !ive-channel video and 1E"+- channel audio" .he !ive video channels originate !rom a 36E-degree video camera system such as the Dull=iew model !rom %anoram .echnologies" ;e encode each video channel into a standard M%AB-+ program stream" .he client receives the 1E"+ channels o! high-7uality, uncompressed audio separately" 6uring play#ac, all streams must render in tight synchroni,ation so the !ive video !rames corresponding to one time instance com#ine accurately into a panoramic mosaic o! 3,6EE x 48E pixels every 1<3Eth o! a second" .he player can show the resulting panoramic video on either a wide-screen or head-mounted display" .he experience is enhanced with 1E"+-channel surround audio, presented phase-accurately and in synchroni,ation with the video" Yima achieves precise play#ac with three levels o! synchroni,ation( #loc-level via retrieval scheduling, coarse-grained via the !low-control protocol, and !ine-grained through hardware support" .he !low-control protocol maintains approximately the same amount o! data in all client #u!!ers";ith this prere7uisite in place, we can use multiple CineCastdecoders and a genloc timing-signal-generator device to loc-step the hardware M%AB decoders to produce !rame-accurate output" *ll streams must start precisely at the same time" .he CineCast decoders provide an external trigger that accurately initiates play#ac through so!tware" &sing two %Cs, one e7uipped with two !our-channel CineCast decoders and one with a multichannel sound card, a Yima client can render up to eight synchronous streams o! M%AB-+ video and +4 audio channels" #T:A<D: A&D ")"'TI$" #"T#A&.II8& +@ Yima supports the industry-standard 5.% !or the delivery o! time-sensitive data" 'ecause 5.% transmissions are #ased on the #est-e!!ort user datagram protocol, a data pacet could arrive out o! order at the client or #e altogether dropped along the networ" .o reduce the num#er o! lost 5.% data pacets, we implemented a selective retransmission protocol"11;e con!igured the protocol to attempt at most one retransmission o! each lost 5.% pacet, #ut only i! the retransmitted pacet would arrive in time !or consumption" ;hen multiple servers deliver pacets that are part o! a single stream, as with Yima-+, and a pacet does not arrive, how does the client now which server node attempted to send itP $n other words, it is not o#vious where the client should send its retransmission re7uest" .here are two solutions to this pro#lem" .he client can #roadcast the retransmission re7uest to all server nodes, or it can compute the server node to which it issues the retransmission re7uest" ;ith the broadcast approach, all server nodes receive a pacet retransmission re7uest, chec whether they hold the pacet, and either ignore the re7uest or per!orm a retransmission" Conse7uently, #roadcasting wastes networ #andwidth and increases server load" Yima-+ incorporates the unicast approach" $nstead o! #roadcasting a retransmission re7uest to all the server nodes, the client unicasts the re7uest to the speci!ic server node possessing the re7uested pacet" .he client determines the server node !rom which a lost 5.% pacet was intended to #e delivered #y detecting gaps in node-speci!ic pacet se7uence num#ers" *lthough this approach re7uires pacets to contain a node-speci!ic se7uence num#er along with a glo#al se7uence num#er, the clients re7uire very little computation to identi!y and locate missing pacets" T"T #"<)T +6 $n extensive sets o! experiments, Yima-+ exhi#its an almost per!ectly linear increase in the num#er o! streams as the num#er o! nodes increases" Yima- +Ks per!ormance may #ecome su#linear with larger con!igurations, low-#it- rate streams, or #oth, #ut it scales much #etter than Yima-1, which levels o!! early" ;e attri#ute Yima-1Ks nonlinearity to the increase o! internodal data tra!!ic" .he geographical distance #etween the two end points measured approximately 4E ilometers" ;e set up the client in a residential apartment and lined it to the $nternet via an *6S/ connection" .he *6S/ provider did not guarantee any minimum #and- width #ut stated that it would not exceed 1"@ M#ps" .he raw #andwidth achieved end-to-end #etween the Yima client and servers was approximately 1 M#ps" .he visual and aural 7uality o! an M%AB-4 encoded movie at less than 1 M#ps is surprisingly good" 4ur test movie, encoded at almost !ull :.SC resolution, displayed little degradationNa per!ormance attri#uta#le to the low pacet loss rate o! E"36@ percent without retransmissions and E"E?8 percent with retransmissions" .he results demonstrated the superiority o! Yima-+ in scale-up and rate control" .hey also demonstrated the incorporated retransmission protocolKs e!!ectiveness" ;e colocated a Yima server at Metromedia Di#er :etwor in Al Segundo, Cali!ornia, to demonstrate success!ul streaming o! !ive synchroni,ed video channels" 'hapter / +H pecial features Yima distinguishes itsel! !rom other similar e!!orts due to its(
Commercial, o!!-the-shel! hardware components Scala#le, multi-node implementation Smoothing !or varia#le #it-rate 1='52 media Support !or panoramic video and multi-channel audio Multi-channel synchroni,ation 5andom data placement !or load-#alancing 6eadline driven scheduling Support !or heterogeneous dis systems 1-A5*2 4nline, incremental storage scala#ility 1SC*66*52 "B:)A&ATI8& 89 8." I.:8#TA&T 9"AT<#" =aria#le 'itrate 1='52 Media( Constant #itrate 1C'52 encoding o! media streams can result in either reduced 7uality o! complex scenes or wasted storage space during simple scenes" ='5 encoding on the other hand allocates #its where they are most needed, resulting in a more uni!ormly high visual or aural 7uality" .he disadvantage o! the ='5 techni7ue is that it results in #ursty networ tra!!ic and uneven resource utili,ation when streaming media" 4ur techni7ues !ocuses on smoothing ='5 media transmissions without a priori nowledge o! the actual #itrate" -ence, our techni7ue can #e applied to 1a2 live streams and 1#2 stored streams without re7uiring any server side pre-processing" +8 Our technique called Multi-Threshold Flow Control (MTFC) utilizes multi-level buffer thresholds at the client side that trigger feedback information sent to the server. This technique can be applied to both live captured streams and stored streams without requiring any server side pre-processing. We have implemented this scheme in our continuous media server Yima and verified its operation across real world !" and W!" connections. The results show smoother transmission schedules than any other previously proposed online technique. +? #eal0Time Di*ital tora*e and :laybac@ of .ultiple Independent treams. .he many di!!erent streams o! video and audio data are stored and played #ac !rom the Yima system developed at $MSC" .he goal o! the Yima pro3ect is to design and develop an end-to-end architecture !or real-time storage and play#ac o! several high 7uality digital media streams through heterogeneous, scala#le and distri#uted servers utili,ing shared $% networs 1e"g", $nternet2" .he system consists o! 12 a scala#le, high per!ormance, and real-time media server, +2 a real-time networ streaming paradigm and 32 several video and audio clients" 'ADDA#; An "fficient #andomi,ed Techni=ue to #eor*ani,e 6escription( .his technology is a new scala#le storage architecture called SC*66*5 1SC*ling 6iss !or 6ata *rranged 5andomly"2 SC*66*5 uses a pseudo-random placement techni7ue to place data across a set o! diss in order to achieve load #alancing" .he random locations can always #e regenerated using a standard pseudo-random num#er generator and the same seed value" .his approach e!!iciently redistri#utes only a small amount o! data when scaling the storage to ensure load #alancing" Advanta*es o diss 'loc movement minimi,ed" o 6oes not re7uire a directory !or storing #loc locations" o Computes the new locations o! #locs on-the-!ly !or each #loc access" 3E o Maintains randomi,ed #loc placement !or successive scaling operations, which in turn preserves load #alancing o! the" Applications Storage devices" continuous media servers" video con!erencing" video-on-demand " streaming video<audio" Storage *rea :etwors 1S*:2" 6irect *ttached Storage 16*S2" "7planation; Scala#le storage architectures allow !or the addition o! diss to increase storage capacity and<or #andwidth" .his is an important re7uirement !or continuous media servers !or two reasons" Dirst, multimedia o#3ects are ever increasing in si,e, num#ers and #andwidth re7uirements" Second, magnetic diss are continuously improving in capacity and trans!er rate" $n its general !orm, dis scaling also re!ers to dis removals when either capacity needs to #e conserved or old dis drives are retired" .here are two #asic approaches to scatter the #locs o! a continuous media o#3ect on multiple dis drives( random and constrained placement" *ssuming random placement, our optimi,ation o#3ective is to redistri#ute a minimum num#er o! media #locs a!ter dis scaling" .his o#3ective should #e met under two restrictions" Dirst, uni!orm distri#ution and hence a #alanced load should #e ensured a!ter redistri#ution" Second, the redistri#uted #locs should #e retrieved at the normal mode o! operation in one dis access and through low complexity 31 computation" ;e propose a techni7ue that meets the o#3ective, while we prove that it also satis!ies #oth restrictions" .he SC*66*5 approach is #ased on using a series o! 5AM*% !unctions which can derive the location o! a new #loc using only its original location as a #asis" *dding one storage node to a !our node cluster results in a minimal movement o! data with the SC*66*5 algorithm" 4nly +EQ o! the data need to #e moved !rom each old node to the new node" #eal0Time treamin* :rotocol #T: features _ RroughS synchroni,ation 1!ine-grained 5.% sender reports2 _ virtual presentations T synchroni,ed play#ac !rom several servers command timing _ load #alancing using redirection at connect, during stream _ supports any session description _ device control camera pan, ,oom, tilt _ caching( similar to -..%, except Rcut-throughS #T: operation 3+ #T: functionality retrieval; media-on-demand !or continuous media _ !irst, get presentation description _ unicast _ multicast, client chooses address _ multicast, server chooses address 1:=462 _ independent o! stream !ile !ormat su#sets or com#inations o! !iles conference participant; RinviteS to con!erence, controlled #y several people live streamin*; a#ility to add media one session T single time axis #T: has important properties of a transport protocol; it runs on end systems, it provides demultiplexing" $t di!!ers !rom transport protocols lie .C% in 33 that it 1currently2 does not o!!er any !orm o! relia#ility or a protocol-de!ined !low<congestion control" -owever, it provides the necessary hoos !or adding relia#ility, where appropriate, and !low<congestion control" Some lie to re!er to this property as application-level !raming 1see 6" Clar and 6" .ennenhouse, F*rchitectural considerations !or a new generation o! protocolsF, S$BC4MM>?E, %hiladelphia2" 5.% so !ar has #een mostly implemented within applications, #ut that has no #earing on its role" .C% is still a transport protocol even i! it is implemented as part o! an application rather than the operating system ernel" 34 'hapter 6
A::)I'ATI8& Video-on-demand News-on-demand E-commerce Distance learning Corporate training Scientific visualization 1)Video-on-demand :- *lmost every home has a television today" $t o!!ers programmes !rom a num#er o! availa#le channels and is very simple to use" .he Ca#le .= 1C*.=2 maes it possi#le to choose programmes !rom large num#er o! channels" .hen #ecame video rental #usiness in com#ination with a video recorder, which provides customers to select movies when they will" .his service may #e called video on demand" :owadays =ideo-on-6emand 1=o62 includes much wider services and opportunities" .oday s technology allows telecommunication networ operators to o!!er such services as home shopping, games, and movies on demand" .hese services should have a competitive pri ce comparing to the video rental, and customers do not need to travel !or the services" .hese possi#ilit ies have #een reached #y the development o! the telecommunication and electronic industry" .he capacity o! a hard dis has dou#led almost every year at near-constant cost" .he use!ul compression ratio !or video has #een increased considera#ly, M%AB-!ormat ted video can 3@ #e transported at a #it rate o! !ew M#it<s" .he digital signal processing techni7ues permit the transport o! a !ew M#it<s over existing copper wires !or a distance o! a !ew ilometres" Dinally, *synchronous .rans!er Mode 1*.M2 systems allow the switching o! any reasona#le #it rate to a single or multiple customers among a large num#er o! connected customers" -owever, today s transmission #andwidth is large only downstream towards the customer with narrow upstream #andwidth" 'ut upstream #andwidth will also #ecome wider in the !uture, then interactivity #etween the customer and the service provider will increase" .his new technology is #eing developed all the time, #ecause =ideo-on- 6emand has so many di!!erent applications to o!!er to the custo mers and economical possi#ilities have #een seen" Many companies, organisations and universities are developing products and standards" 'oth ca#le .= and telephone operators invest to their networs and have some trials in =ideo- on-6emand" .o !inance the re7uired investments, higher consumer volumes must #e reached !rom residential side instead o! #usiness side that is running ahead in the development o! technology" .he #attle is hard, and it is getting harder all the time" So some companies have esta#lis hed #usiness relationships to get their nowledge and resources together" $n addition, they may avoid some regulation restrictions #e!ore telecommunication marets are opened to everyone" Interactive services .he current .= #roadcasting will meet a !undamental change #y interactive video delivery services" Many .= stations #roadcast their programmes simultaneously to users, who select one channel o! the availa#le channels to view at a particular time" $n contr ast, #y an interactive system much wider selection o! programmes #ecome availa#le at any time" 36 Types of interactive services 'ased on the level o! interactivity, interactive services can #e classi!ied into several categories" .he !ollowing categories are collected !rom an article written #y .homas 6"C" /ittle and 6inesh =enatesh !rom 'oston &niversity U1V" 'roadcast 1:o-=o62 services similar to #roadcast .=, in which the user is a passive participant and has no control over the session" %ay-per-view 1%%=2 services in which the user signs up and pays !or speci!ic programming, similar to existing C*.= %%= services" Cuasi =ideo-on-6emand 1C-=o62 services, in which users are grouped #ased on a threshold o! interest" &sers can per!orm at the simplest level temporal control activities #y switching to a di!!erent group" :ear video-on-demand 1:-=o62 services in which !unctions lie !orward and reverse are simulated #y transitions in discrete time intervals 1on the order o! @ minutes2" .his capa#ility can #e provided #y multiple channels with the same programming sewed in time" .rue =ideo-on-6emand 1.-=o62 services, in which the user has complete control over the session presentation" .he user has !ull-!unction =C5 1virtual =C52 capa#ilities, including !orward and reverse play, !ree,e, and random positioning" .-=o6 needs only a single channel per customer) multiple channels #ecome redundant" %%= services are the easiest to implement, and .-=o6 systems are the most di!!icult to implement" %%= and C-=o6 are services lie watching movies" $n these cases, a local controller, set-top-#ox, can !ilter multiple channels to achieve the service" .-=o6 re7uires a #i-directional signal !rom the user to a centralised controller" 3H $nteractive services cover a wide range o! services !rom movies-on-demand to distance learning" Some o! the #asic interactive multimedia services are listed #elow in .a#le 1" Table 1. Interactive multimedia services. Application Description Movies-on-Demand Customers can select and play movies with full VCR capabilities Interactive video games Customer can play downloadable computer games without having to buy a physical copy of the game. Interactive news television Newscasts tailored to custome tastes with the ability to see more detail on selected stories. Interactive selection and retrieval. Catalogue browsing Customer examine and purchase commercial products. Distance learning Customers subscribe to courses being taught at remote sites. Students tailor courses to individual preferences and time constraints. Interactive advertising Customers respond to advertiser surveys and are rewarded with free services and samples. Video conferencing Customers can negotiate with each other. This service can integrate audio video text and graphics. 38 2)Scientific visualization ;hat is Scienti!ic =isuali,ationP Scienti!ic visuali,ation, sometimes re!erred to in shorthand as Sci=is, is the representation o! data graphically as a means o! gaining understanding and insight into the data" $t is sometimes re!erred to as visual data analysis" .his allows the researcher to gain insight into the system that is studied in ways previously impossi#le" What it is not- $t is important to di!!erentiate #etween scienti!ic visuali,ation and presentation graphics" %resentation graphics is primarily concerned with the communication o! in!ormation and results in ways that are easily understood" $n scienti!ic visuali,ation, we see to understand the data" -owever, o!ten the two methods are intertwined" Drom a computing perspective, Sci=is is part o! a greater !ield called visuali,ation" .his involves research in computer graphics, image processing, high per!ormance computing, and other areas" .he same tools that are used !or Sci=is may #e applied to animation, or multimedia presentation, !or example" *s a science, scienti!ic visuali,ation is the study concerned with the interactive display and analysis o! data" 4!ten one would lie the a#ility to do real-time visuali,ation o! data !rom any source" .hus our purview is in!ormation, scienti!ic, or engineering visuali,ation and closely related pro#lems such as computational steering or multivariate analysis" .he approaches developed are general, and the goal is to mae them applica#le to datasets o! any si,e whatever while still retaining high interactivity" *s an emerging science, its strategy is to develop !undamental ideas leading to general tools !or real applications" .his pursuit is multidisciplinary in that it uses the same techni7ues across many areas o! study"" 3? 'onclusions and 9uture Wor@ $n this study we presented an evaluation o! Yima which addresses the complete endto-end issues o! storing, retrieving, and delivering isochronous media types over $% networs" ;e descri#ed the architecture that is #ased on a scala#le multi-dis, multi-node server and an M%AB-4 capa#le client" ;e introduced a mechanism to stream varia#le #it rate media in a simple yet !lexi#le way via the industry standard protocols 5.% and 5.S%" ;e demonstrated the !easi#ility o! streaming near :.SC-7uality video and audio 1compressed via M%AB-4 and M%AB-1 /ayer 3 algorithms2 to residential locations over current #road#and connections 1*6S/2" $n the near !uture, we plan to scale up our prototype to more nodes and evaluate its scala#ility and !ault-tolerance with a large num#er o! di!!erent clients and media types as well as ena#le multiple retransmissions" 4E 4 I 4 ) I 8 % # A : ( 2 #eferences IEEE Computer Magaine, 0une, +EE+ http(<<ide!ix"usc"edu er #immermann $esearch !ssistant %rofessor at the &'( (omputer 'cience )epartment *mail+ rzimmerm,imsc.usc.edu %hone+ -./01 234-2563 (yrus 'hahabi !ssistant %rofessor at &'( (omputer 'cience )epartment *mail+ mailto+cshahabi,cs.usc.edu %hone+ -./01 234-7/5. 'hu-Yuen )idi Yao $esearch !ssistant %h.). 'tudent .44/-4. 8ntel 9oundation :raduate 9ellowship !ward $ecipient *mail+ didiyao,usc.edu %hone+ -./01 234-..7;