You are on page 1of 41

Table of content

1.Introduction to continuous media server 02


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 &ltra16E 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;

'ahitya :upta
$esearch !ssistant
<aster 'tudent
*mail+ sahityag,usc.edu
%hone+ -./01 234-3/22
41

You might also like