Video on Demand

13
Proc. Natl. Sci. Counc. ROC(A) Vol. 23, No. 3, 1999. pp. 369-381 A Hierarchical Video-on-Demand System for ATM Networks REN-HUNG HWANG AND MIN-XIOU CHEN Department of Computer Science and Information Engineering National Chung Cheng University Chiayi, Taiwan, R.O.C. (Received February 5, 1998; Accepted August 31, 1998) ABSTRACT Video-on-Demand (VOD) is expected to be the key residential service in the near future. A VOD system consists of three components: the VOD server, the transport network, and the end user. In this paper, we focus on the design of the network module of a VOD system. We propose a hierarchical VOD network structure which can be used to achieve a low cost, high performance, high scalability, and high reliability VOD system. In this hierarchical VOD system, the level-2 gateway is the most important element. All video streams retrieved from storage systems are pumped by the level-2 gateway to clients. In this paper, three mechanisms are proposed for pumping video streams with throughput, jitter, and delay guarantees. First, due to the large variety of traffic characteristics of Motion Pictures Expert Group-1 (MPEG-1) video streams, we propose to transmit an MPEG-1 video using the Piecewise Constant Rate Transmission and Transport (PCRTT) technique. Second, to guarantee throughput, and to avoid jitter, and delay, a new traffic control algorithm, referred to as the Modified Generic Cell Rate Algorithm (MGCRA), is proposed. Finally, the call admission function is implemented based on PCRTT rates and dynamic Virtual Path (VP) bandwidth allocation. The proposed architecture and mechanisms have been implemented and are shown to be a practical and efficient solution for large scale VOD systems. Key Words: Video-on-Demand, ATM, hierarchical VOD, MPEG - 369 - I. Introduction Due to the availability of enormous communica- tion bandwidth and computing power, processing and delivering multimedia data to users in real time is becoming practical. With the advent of multimedia technology, we can expect that Video-on-Demand (VOD) will become the key residential service in the near future. A VOD system consists of three compo- nents: the VOD server, the transport network, and the end user. These three components pose different chal- lenges to system designers. Therefore, many researches have focused on one of these components. For ex- ample, Sincoskie (1991), Chang et al. (1994), Deloddere et al. (1994), and Little and Venkatesh (1994) proposed general system architectures for a VOD system, Nussbaumer et al . (1995) discussed the configuration of the transport network, Wu et al . (1996), and Tseng and Huang (1994) described how to design high per- formance VOD servers, and Hsieh et al . (1995) showed how to implement a mass storage system for a VOD system. In the past two years, we have been implementing a VOD system over Asynchronous Transfer Mode (ATM) networks. We propose a three-level hierarchi- cal network architecture, as shown in Fig. 1, to achieve a low cost, high performance, high scalability, and high reliability VOD system. One of the major costs in deploying a VOD system is the cost for transmitting video streams to users. In the proposed architecture, three-level VOD servers are distributed in an ATM Wide Area Network (WAN). By storing the most Fig. 1. The hierarchical VOD system architecture.

description

VOD

Transcript of Video on Demand

  • Proc. Natl. Sci. Counc. ROC(A)Vol. 23, No. 3, 1999. pp. 369-381

    A Hierarchical Video-on-Demand System for ATMNetworks

    REN-HUNG HWANG AND MIN-XIOU CHEN

    Department of Computer Science and Information EngineeringNational Chung Cheng University

    Chiayi, Taiwan, R.O.C.

    (Received February 5, 1998; Accepted August 31, 1998)

    ABSTRACT

    Video-on-Demand (VOD) is expected to be the key residential service in the near future. A VODsystem consists of three components: the VOD server, the transport network, and the end user. In thispaper, we focus on the design of the network module of a VOD system. We propose a hierarchical VODnetwork structure which can be used to achieve a low cost, high performance, high scalability, and highreliability VOD system. In this hierarchical VOD system, the level-2 gateway is the most important element.All video streams retrieved from storage systems are pumped by the level-2 gateway to clients. In thispaper, three mechanisms are proposed for pumping video streams with throughput, jitter, and delayguarantees. First, due to the large variety of traffic characteristics of Motion Pictures Expert Group-1(MPEG-1) video streams, we propose to transmit an MPEG-1 video using the Piecewise Constant RateTransmission and Transport (PCRTT) technique. Second, to guarantee throughput, and to avoid jitter,and delay, a new traffic control algorithm, referred to as the Modified Generic Cell Rate Algorithm(MGCRA), is proposed. Finally, the call admission function is implemented based on PCRTT rates anddynamic Virtual Path (VP) bandwidth allocation. The proposed architecture and mechanisms have beenimplemented and are shown to be a practical and efficient solution for large scale VOD systems.

    Key Words: Video-on-Demand, ATM, hierarchical VOD, MPEG

    - 369 -

    I. Introduction

    Due to the availability of enormous communica-tion bandwidth and computing power, processing anddelivering multimedia data to users in real time isbecoming practical. With the advent of multimediatechnology, we can expect that Video-on-Demand(VOD) will become the key residential service in thenear future. A VOD system consists of three compo-nents: the VOD server, the transport network, and theend user. These three components pose different chal-lenges to system designers. Therefore, many researcheshave focused on one of these components. For ex-ample, Sincoskie (1991), Chang et al. (1994), Deloddereet al. (1994), and Little and Venkatesh (1994) proposedgeneral system architectures for a VOD system,Nussbaumer et al. (1995) discussed the configurationof the transport network, Wu et al. (1996), and Tsengand Huang (1994) described how to design high per-formance VOD servers, and Hsieh et al. (1995) showedhow to implement a mass storage system for a VODsystem.

    In the past two years, we have been implementinga VOD system over Asynchronous Transfer Mode

    (ATM) networks. We propose a three-level hierarchi-cal network architecture, as shown in Fig. 1, to achievea low cost, high performance, high scalability, and highreliability VOD system. One of the major costs indeploying a VOD system is the cost for transmittingvideo streams to users. In the proposed architecture,three-level VOD servers are distributed in an ATMWide Area Network (WAN). By storing the most

    Fig. 1. The hierarchical VOD system architecture.

  • R.H. Hwang and M.X. Chen

    - 370 -

    popular movies on those servers which are nearest tothe VOD clients, referred to as neighborhood servers,most clients requests can be served by neighborhoodservers. As a consequence, the transmission cost canbe reduced. To achieve high performance, real-timecontrol mechanisms (Kao et al., 1996) and high per-formance Redundant Array of Inexpensive Disk (RAID)systems (Lee and Chen, 1996) are adopted in the imple-mentation of a VOD server. Furthermore, the qualityof video streams, pumped by VOD servers and receivedby VOD clients, must be guaranteed. The level-2gateway shown in Fig. 1 is responsible for providingsuch guarantees through ATM services. Two types ofvideo are provided in our VOD system, namely, MPEG-1 and MPEG-2 video. MPEG-2 video streams requireConstant Bit Rate (CBR) service while MPEG-1 videostreams require Variable Bit Rate (VBR) service. Thequality of playback video at VOD clients depends onstringent control of jitter. However, it is very difficultto provide a jitter control guarantee for VBR traffic onATM networks. Therefore, the PCRTT technique isadopted, which divides an MPEG-1 video into severalsegments, where each segment can be transmitted usingCBR. The deployment of VOD service requires thata large number of simultaneous VOD clients be sup-ported. Therefore, scalability is a very important issuein designing a VOD system. Instead of emphasizingthe design of a single super server which serves a largenumber of clients, the proposed hierarchical networkstructure can support a huge number of VOD clientsusing low cost VOD servers. Finally, fault tolerantmechanisms are required to prevent service interrup-tion due to network or server failure. Possible faulttolerant mechanisms include fault tolerant servers (Yanget al., 1997) and self-healing ATM service basedon the virtual path technique (Huang and Hwang,1995).

    Fig. 3. Storage system .

    Fig. 2. Architecture of an ATM-based VOD server.

    In this paper, we focus on implementation issuesrelated to the transport network of our VOD system.We will briefly describe the architecture of the pro-posed VOD system in Section II. Two transport pro-tocols will be proposed for the hierarchical VOD systemin Section III. In Section IV, we will focus on designissues related to the level-2 gateway especially, howto guarantee high quality service for video streams.The design issues related to the level-1 gateway willthen be presented in Section V. The performance ofa prototype of the proposed system is presented inSection VI. Finally, Section VII will give a conclusionfor this paper.

    II. System ArchitectureA VOD system consists of three components: the

    VOD server, the transport network, and the end user.In this section, we will describe the architecture of eachcomponent.

    1. VOD Server

    Figure 2 shows the architecture of an ATM-basedVOD server. It consists of three major components,namely, the storage system, the server control system,and the level-2 gateway. Their functions are describedin the following subsections, respectively.

    A. Storage System

    A VOD system requires a large number of storagedevices for storing video files since storing a 90-minuteMPEG-1 video requires more than 1 GB disk space.Many researches (Wu et al., 1996; Lee and Chen, 1996)have shown that the bottleneck in a storage system isnot the bandwidth of the system bus, but the lowmechanical delay of the disk, which includes seekingdelay and rotation delay. Therefore, a distributed stor-

  • A VOD System on ATM Networks

    - 371 -

    age system must support a large number of simulta-neous video streams. Figure 3 shows the architectureof our storage system, which consists of more than onestorage station. Each storage system has a micropro-cessor and more than one Small Computer SystemInterface (SCSI) controller. Each SCSI controller isconnected to a disk array. A streaming RAID technique(Tobagi et al., 1993) is adopted to achieve high through-put. The basic idea is to maximize the parallelism ofdisk reads among different levels of disk arrays. Thefirst level is used to perform multiple disk reads fromthe disk array on the same SCSI controller. The secondlevel is used to perform multiple disk reads on a diskcluster formed by the SCSI controllers of a storagestation. Finally, more than one storage station can readfrom disks simultaneously. The readers are referredto Lee and Chen (1996) for the detailed implementationof the storage system.

    After one block of video data is read from the disk,it is transmitted to the level-2 gateway on high-speedmedia. If the server is implemented on a tightly coupleddistributed system, the video data can be transmittedon a HIgh-Performance Parallel Interface (HIPPI) orfiber channel. If the server is implemented on a looselycoupled distributed system, the video data can be trans-mitted by a high-speed Local Area Network (LAN),such as Fast Ethernet, Gigabit Ethernet, Fiber Distrib-uted Data Interface (FDDI) or ATM.

    B. Server Control Unit

    The functions performed by the server control unitinclude:

    (1) admission control of users requests;(2) video session control such as pause/resume, fast

    forward, rewind, and stop;(3) control of storage stations;(4) server control, such as load balancing and fault

    tolerant.Simple admission control is performed by the

    server control to make sure that the video requestedby a VOD client is stored on the storage system of thisserver, and that the number of requests for this videodoes not exceed the maximum number of simultaneousaccesses allowed. After the request is admitted, theserver control unit is responsible for pumping videodata from the storage system to the level-2 gateway atconstant bit rate. The rate of pumping an MPEG-1video will be discussed later. The server control unitis also responsible for processing video control com-mands received from VOD clients. For example, theserver control unit will stop pumping video data whena pause command is received. Finally, the servercontrol unit can be implemented by a group of servers

    such that when one of the servers is down, its jobs canbe migrated to other servers to prevent service inter-ruption (Yang et al., 1997).

    C. Level-2 Gateway

    There are two major functions performed by thelevel-2 gateway. First, it receives requests from VODclients and forwards them to the server control unit.Second, it transmits video streams to VOD clients witha quality of service guarantee. The later is a bigchallenge. The Quality of Service (QOS) required forvideo data includes guaranteed throughput and boundeddelay jitter. To cope with variable-bit-rate MPEG-1video streams, the PCRTT technique is adopted.Furthermore, admission control on the number of videostreams is also performed at the level-2 gateway toensure that the QOS requirements of all video streamsare satisfied. A detailed description of how to imple-ment a level-2 gateway will be given in Section IV.

    2. Transport Network

    The transport network is responsible for transmit-ting video streams from VOD servers to VOD clients.Three features are required for a good transport net-work: long distance (wide area), large bandwidth, andprovision of a QOS guarantee. The transport networkneeds to support long distance and large bandwidthtransmission because our goal is to design a wide area,large scale VOD system. Most importantly, the trans-port network must be able to provide a maximum trans-fer delay and a bounded delay jitter guarantee becausevideo streams are continuous media. Since 1987, theATM technique has been recognized as the target trans-port technique for future Broadband Integrated ServiceDigital Networks (BISDN). ATM networks have allthe features required for the transport network of ourVOD system. In particular, ATM networks supportfour classes of traffic: CBR, real-time and non-real-time VBR (rt-VBR, nrt-VBR), Available Bit Rate(ABR), and Unspecified Bit Rate (UBR) (ATM Forum,1996). Among them, CBR and rt-VBR are suitable fortransmitting video streams since the cell loss rate,maximum cell transfer delay, and cell delay jitter canbe guaranteed. However, due to the difficulty ofmodeling the traffic source, it is still an open questionas to how a QOS guarantee for VBR traffic can beprovided. Therefore, in our implementation, videostreams are transmitted on ATM as CBR traffic.

    3. VOD Client

    The VOD clients are responsible for providing

  • R.H. Hwang and M.X. Chen

    - 372 -

    user friendly graphical interfaces for video programselection, VCR-like control functions, and smooth videoplay back. All these functions are supported via a set-top box. Due to the prevalence of the World Wide Web(WWW), we have implemented a plug-in function thatallows users to browse and select video programsthrough the WWW. After the user has made a selection,the request will be sent to the VOD server, and areturned acknowledge will trigger the set-top box toplay back the video stream transmitted by the server.For smooth play back with constant bit rate, the set-top box is equipped with 1 to 2 MB of RAM.

    There are many ways to connect a set-top box tothe transport network. For example, it can be connectedvia Common Antenna Television (CATV) or Asym-metric Digital Subscriber Lines (ADSL). In our ex-periment, high speed LANs, such as FDDI or FastEthernet, were used to connect VOD clients to thetransport network. Since the local network and thetransport network do not need to be the same type ofnetwork, a gateway, referred to as the level-1 gateway,is needed to interconnect these two networks. Thefunctions of a level-1 gateway include transfer of userrequests from VOD clients to the level-2 gateway andof video streams from the level-2 gateway to VODclients.

    4. Operation Overview

    Let us describe a scenario for how a VOD clientcan select and play back a desired video program:

    (1) Via a set-top box, a VOD client first connectsto a WWW server to browse the menu of videoprograms. The information on the WWW servermay include video titles, brief introductions,video clips, etc. The client then chooses a desiredvideo program. The WWW server then sendsthe video identifier and the name of the level-1 gateway to the client and invokes a signalingprocedure to be performed at the clients set-topbox.

    (2) The set-top box sends a request, which containsthe video identifier, to the level-1 gateway usingthe User Datagram Protocol (UDP).

    (3) Upon receiving the request, the level-1 gatewaychecks its database to select the correspondinglevel-2 gateway and VOD server. The videoprograms are stored in three levels of VOD serversaccording to their popularity. The most popularmovies are stored in the neighborhood serverwhich is nearest to the client. The less popularmovies are stored in a local server which servesseveral regions and is farther away from theclient than the neighborhood server. Finally, the

    rest of the movies are stored in the central serverwhich is the farthest from the client. The da-tabase at the level-1 gateway is updated whenthe movies stored in each server have changed,for example, when new movies arrive. Note thatthe selection of a level-2 gateway is transparentto clients. This offers flexibility of design andplacement of VOD servers. The level-1 gatewaythen forwards the users request to the selectedlevel-2 gateway.

    (4) Upon receiving a request, the level-2 gatewayforwards the request to the server control unit,which searches for the storage system that canprovide service. The PCRTT technique is usedto transmit MPEG-1 movies. The server controlunit keeps a profile for each movie which recordsdetails of rate changes. Based on this profile,the server control unit will admit a request onlyif the storage system has enough capacity topump this video. If the request is admitted, theserver control unit sends a QOS-request packetwith the profile of the video to the level-2gateway.

    (5) Upon receiving the QOS-request packet, thelevel-2 gateway then checks if the network hasenough bandwidth to transmit the video. Theadmission control algorithm will be describedlater. If the network has enough bandwidth, thelevel-2 gateway forwards the QOS-request packetto the level-1 gateway.

    (6) Upon receiving the QOS-request packet, thelevel-1 gateway then checks if the local areanetwork has enough bandwidth to transmit thevideo. Depending on the underlying high-speedLAN that connects the client to the level-1gateway, the level-1 gateway may or may not beable to provide deterministic QOS guarantee. Ifthe network has enough bandwidth, the level-1gateway sends a request-success packet back tothe level-2 gateway.

    (7) The level-2 gateway establishes an AAL 1 con-nection with the level-1 gateway and sends arequest-success packet back to the server controlunit.

    (8) The server control unit then sends a request-permitted packet to the client and sends com-mands to the storage system at the speed definedby the profile of the video.

    (9)The video program is then pumped from thestorage system to the level-1 gateway throughthe level-2 gateway.

    (10) The level-1 gateway then forwards the videodata to the corresponding client via UDP.

    The advantage of using level-1 and level-2 gate-

  • A VOD System on ATM Networks

    - 373 -

    Initially, a client is in the idle state. When it receivesa request command from the user, it sends the REQCcommand to the level-l gateway, enters the listen state,and waits for a SUCC response from the server. If itreceives a SUCC response, it then enters the play stateand starts to play the received video data. On the otherhand, if it receives a REJECT response or does notreceive any response after timer T2 timeout, it assumesthat the server is not available at this time and returnsto the idle state. In the meantime, if it does not receiveany responses from the server, it will retransmit theREQC command again after timer T1 timeout. The useris able to switch between play mode and pause modeby sending RESUME and PAUSE commands to theserver. If it receives a STOP request from the user,

    Fig. 4. VCP packet format.

    ways is that doing so makes the transport networktransparent to clients and servers. Therefore, a clientcan be served by different levels of servers withoutrealizing their exist while a server can serve any clientswithout noticing which level of server it is.

    III. Transport ProtocolsTwo transport protocols will be proposed for trans-

    mitting control commands and video streams betweenusers and servers. The first protocol, the Video ControlProtocol (VCP), is designed for communications be-tween users and servers. The second protocol, theVideo Transfer Protocol (VTP), is designed for trans-mitting video data from servers to clients. In thefollowing, we will describe these two protocols indetail.

    1. VCP

    The packet format for VCP is shown in Fig. 4.The VERSION is the version number of the currentVCP. The first bit of COMMAND indicates whetherit is a request (sent from a user) or reply (sent froma server). Request commands include: connectionrequests (REQC), pause (PAUSE), resume (RESUME),fast forward (FF), rewind (REW), stop (TERMREQ),and QOS requests (QOSREQ). Reply commands in-clude: success (SUCC), reject (REJECT), and confirmstop/abort (TERM). The sequence number provides aunique identification for each VCP packet. The IPaddress and UDP port number of the client are usedin receiving video data from the level-1 gateway throughthe UDP protocol. The Internet Protocol (IP) addressand ATM Adaptation Layer (AAL) port number of thelevel-1 gateway are used by the level-2 gateway toestablish an AAL 1 connection with the level-1 gate-way. The VCP header is followed by supplementarydata required by request commands. For example, itcontains the movie identification in a connection re-quest command and the QOS profile in a QOS requestcommand.

    Figure 5 shows the VCP protocol for VOD clients. Fig. 6. VCP protocol for servers.

    Fig. 5. VCP protocol for client.

  • R.H. Hwang and M.X. Chen

    - 374 -

    it sends a TERMREQ command to the server and waitsfor a TERM response from the server for confirmation.If the video ends normally, the server will send a TERMmessage to the VOD client, which will cause it to returnto the idle state.

    Figure 6 shows the VCP protocol for VODservers. The state diagram is maintained for eachconnected VOD client. Initially, the server waitsfor a REQC command from a VOD client. It thenchecks if the server has enough resources to guaranteethe QOS of the requested video. If it does, the server,then sends QOSREQ to the level-2 gateway to ask fora QOS check. If it receives a SUCC response fromthe level-2 gateway, it starts to send commands to thestorage to pump the video data to the client. On theother hand, if either the server or the level-2 gatewaycannot provide a QOS guarantee for the requestedvideo, a REJECT message is sent back tothe client. Theserver stops pumping video data and enters the pausestate if it receives a PAUSE command from the client.Finally, it sends a TERM message to the client if thevideo ends normally or if it receives a TERMREQcommand from the client.

    Figure 7 shows the VCP protocol for level-1 gate-ways. Initially, it waits for REQC commands fromclients. If it receives a REQC command from a client,it checks the database and forwards the command tothe corresponding level-2 gateway. If the server andlevel-2 gateway are able to provide the requested videowith guaranteed QOS, the level-1 gateway will receivethe QOSREQ command and check for a QOS guarantee

    Fig. 7. VCP protocol for level-1 gateways.

    Fig. 8. VCP protocol for level-2 gateways.

    in the user access network. If the level-1 gateway isable to provide the QOS guarantee, it sends a SUCCcommand to the level-2 gateway and waits for the level-2 gateway to establish an AAL 1 connection. If a SUCCmessage is then received, the server has granted therequest, and the level-1 gateway will send a SUCCmessage to inform the client. On the other hand, ifthe QOS cannot be guaranteed at the server or the level-1 gateway, a REJECT message is sent to the client.Finally, the level-1 gateway sends a TERM messageto the client if it receives a TERM message from theserver.

    Figure 8 shows the VCP protocol for level-2gateways. Initially, it waits for REQC commandsfrom level-1 gateways. If it receives a REQC commandfrom a level-1 gateway, it forwards the commandto the server and enters the listen state to wait forthe result of the QOS check from the server. If itreceives a QOSREQ command from the server, itchecks its resources to see if it can provide a QOSguarantee to the requested video. If it can, it thensends a QOSREQ command to the level-1 gatewayfor a QOS check. If it receives a SUCC responsefrom the level-1 gateway, the request is grantedand it will send a SUCC message to the server. Theserver will then pump the requested video data tothe client. On the other hand, if the QOS check fails

  • A VOD System on ATM Networks

    - 375 -

    these three QOS guarantees, maintaining the videotransmitting rate is the most important guarantee.Unfortunately, most previous researches did not pro-vide such a guarantee.

    In order to provide throughput, jitter, and delayguarantees, three mechanisms are adopted in the designof level-2 gateways. First, it is extremely difficult toprovide a QOS guarantee for MPEG-1 video due to itsvariable bit rate traffic characteristic. Therefore, forpractical reasons, we adopt the PCRTT technique, whichpartitions an MPEG-1 video into several segments andtransmits each segment at constant bit rate. Second,to provide delay and jitter guarantees while maintain-ing the throughput of a video stream, a new trafficcontrol algorithm is proposed. Finally, admissioncontrol based on the PCRTT rate is enforced to provideQOS guarantees to all permitted connections.

    1. PCRTT

    The ideal algorithm for transmitting a video streamfrom a server to a client sends a video frame every1/30 second, assuming that the video encoding rate is30 frames per second. In the our VOD system, the videoprograms stored in the storage system are MPEG-1 orMPEG-2 encoded. Although the basic unit of an MPEG-1 video program is a frame (I-frame, P-frame, or B-frame), the basic unit of the storage system is a datablock (2 KB, for example). It is extremely expensivefor the storage system to keep frame boundary infor-mation due to the variable frame size and the largenumber of frames per video program. It is even tooexpensive to simply keep boundary information for agroup of pictures. Therefore, it is impossible to havethe server to send a frame every 1/30 second becausethe storage system does not have the concept of a frame.In our VOD system, the server control module com-mands the storage system to send video data at variablerates, which are specified in number of blocks to besent per second.

    It is very important for the server control moduleto decide on the video data transfer rate because send-ing video data too fast or too slow will cause thereceivers buffer to overflow or underflow. Twocommon methods are employed by VOD servers totransfer video programs. The first one transmits videodata at constant bit rate. The other one transmits thevideo data at variable bit rate. Since MPEG compres-sion technology uses inter-frame compression as wellas intra-frame compression, the size of a frame variesdramatically. Therefore, when transmitting video dataat constant bit rate, clients must have a very largereceiving buffer to avoid buffer overflow or underflow,e.g., at least 20 MB (McManus and Ross, 1996). The

    Fig. 9. VTP packet format.

    at the server, the level-2 gateway, or the level-1 gate-way, a REJECT message will be sent to the client.Finally, a TERM message will be forwarded to thelevel-1 gateway if it receives a TERM message fromthe server.

    2. VTP

    When a user request is granted, the server controlunit will look up the profile of the requested video andsend commands to the storage system to request thatthe storage system transmit appropriate blocks of videodata to the clients according to the rate defined in theprofile. In the server control unit, there is a real-timeprocess for each connected client, which is responsiblefor checking the profile and sending commands accord-ing to the profile. When the storage system receivesa command from the server control unit, it will thenretrieve the data block from the disk array and transmitit to the level-2 gateway according to the VTP packetformat. The VTP packet format is shown in Fig. 9.

    Here, the client ID is used by gateways to deter-mine which clients this video packet belongs to, anda timestamp is used as part of the rate and jitter controlfunction at gateways. The sequence number, which isoptional, can be used to check if any packets are lost.

    IV. Design of Level-2 GatewaysOne of the most important functions of the level-

    2 gateway is to pump video packets received from thestorage system to the level-1 gateway with guaranteedquality of service. The required guarantees includethose for throughput, jitter, and delay. For MPEG-1video streams, the transmission rate varies from timeto time, depending on the scenes. The requirement forthe guaranteed rate is very stringent since transmittingat too high a rate will cause the clients buffer tooverflow very quickly. On the other hand, transmittingthe video at too low a rate will cause the clients bufferto underflow. A bounded jitter is also desirable sincethe way to accommodate jitter is to employ a largebuffer at the client. However, a large buffer is expen-sive and not feasible for implementation in a set-topbox. Finally, a bounded end-to-end delay guaranteeis required to reduce the users waiting time. Among

  • R.H. Hwang and M.X. Chen

    - 376 -

    advantage of this method is that once the transfer rateis determined, the VOD server can set up a VirtualChannel (VC) to the client, usually Switched VC (SVC),with the desired bandwidth allocated. The quality ofservice will then be guaranteed once the VC is setup.McManus and Ross (1996) proposed a formula to com-pute the video transmitting rate and satisfy the bufferrequirement if an MPEG encoded video program is tobe transmitted at constant bit rate.

    To reduce the buffer space needed at a client, theserver needs to transmit the video data at variable bitrate; i.e., the transmission rate is dynamically adjustedaccording the compression rate of the current videoframe. However, if the transmission rate is changedfor each video frame, the traffic characteristics willbecome too complicated to be precisely modeled. Thus,reserving resources for the VC and providing QOSguarantees become very complicated tasks. Therefore,a compromise method is to partition the video programinto several segments. Each segment is then transmit-ted at constant bit rate; however, the transmission ratesfor different segments may be different. This methodwas referred to as the PCRTT by McManus and Ross(1996) and was well studied by Salehi et al. (1995).Salehi et al. (1995) provided an algorithm that canpartition a video program such that the variable bit rateare optimal smoothing in a stochastic sense. The resultsof McManus and Ross (1996) and Salehi et al. (1995)cannot be directly applied to our VOD system becausethey all assumed that frame boundaries are known andthat the size of a frame is multiplicative of the payloadof an ATM cell. As stated above, such an assumptionis impossible for our storage system. We have modifiedthe formulas proposed by McManus and Ross (1996)to fit our VOD system.

    Let us first describe two lemmas proposed byMcManus and Ross (1996). McManus and Ross (1996)assumed that the ith MPEG frame can be encapsulatedinto xi ATM cells. The buffer size at the clients set-top box is B cells. The client starts to play back afterthe buffer is loaded with the first d MPEG frames. Afterthe client starts to play back, a frame is retrieved fromthe buffer every 1/F second. The total number offrames in the video program (or segment) is N.

    Lemma 1. For all d=1...N

    b min(d) = Maxd n N 1Fn ( x iSi = 1

    n + 1 x iSi = 1

    d) .

    Lemma 2. For B>0 and d

  • A VOD System on ATM Networks

    - 377 -

    The parameter yi depends on how the stored videois encoded. In general, an MPEG-1 encoded videoconsists of a sequence of groups of pictures, where eachgroup of pictures consists of 15 frames with the fol-lowing sequence: I, B, B, P, B, B, P, B, B, P, B, B,P, B, B, I, .... In this case, yi can be defined as follows:

    yi=xi,

    y i =x i + x i + 1 i = 3n 1 ,x i + 1 i = 3n ,0 i = 3n + 1 ,

    for all n>0, and n is integer.

    Based on lemma 5 and lemma 6, we can computethe minimum and maximum transfer rate for a videoprogram given the size of the clients buffer and thenumber of pre-loaded frames. However, for most videoprograms, the amount of buffer space at the clientneeded in order to transmit the whole video programat constant bit rate is too large, e.g., at least 20 MB.In order to reduce the buffer requirement, we canpartition the video program into several segments suchthat each segment can be transmitted at constant bitrate. In the following, we propose an algorithm, shownin Fig. 10, that can partition the whole video programinto a small number of segments. The proposed al-gorithm is a greedy algorithm. It searches for segmentsfrom the first frame to the last frame; each time it

    frames, a ceiling function is used to compute to transferrate. Lemma 4 is based on a similar idea. The maxi-mum transfer rate is limited such that no more than Bpackets can be queued at any time; otherwise, theclients buffer will overflow. Therefore, if the VODserver transmits the video data at a rate between bmin(d)and bmax(d,B), the clients buffer will never overflowor underflow.

    Unfortunately, lemma 3 and lemma 4 did not workwell in our experiments. We found that one subtleproblem still needed to be solved, which is related tothe inter-frame compression technique used by theMPEG standard. An MPEG encoded video streamconsists of three kinds of frames: intra-frame (I frame),bidirectional-frame (B frame), and predicted-frame (Pframe). An I frame is independent of other framesbecause it can be decoded without referring to otherframes information. On the other hand, the previousand next I frame or P frame are required to decode aB frame. Similarly, a P frame can be decoded onlyby a previous I or P frame. Due to the relationshipbetween these three frames, the client can not decodea B frame or P frame without referring to other frames.Apparently, this is not taken into consideration in lemma3 and lemma 4. In order to solve this problem, we havemodified lemma 3 and lemma 4 into lemma 5 andlemma 6. The idea is to identify the additional frameswhich need to be received before a B or P frame canbe decoded. A new notation, yi, is adopted to denotethe number of bytes which need to be received beforethe client can decode the ith frame. For example, if theframe sequence of the original video stream is I, B1,B2, P1, B3, B4, P2, ..., then the frame sequence storedon the storage is I, P1, B1, B2, P2, B3, B4, .... This framesequence is then used to transmit data to the clientsbuffer. Clearly, in order to decode the first frame, theclient only needs the first I frame. However, in orderto decode the second frame, i.e., the B1 frame, the clientneeds the second and the third frame transmitted bythe server, namely, the P1 and B1 frames. The newlemmas are then given as follows:

    Lemma 5. For all d=1...N

    b min(d) = Maxd n N 1Fn {

    y iSi = 1n + 1

    P y iSi = 1

    d

    P } .

    Lemma 6.

    b max(d, B) = Min0 n N(B) 1F

    n + 1{y iSi = 1

    n + 1

    P y iSi = 1

    d

    P + B} . Fig. 10. The video partitioning algorithm.

  • R.H. Hwang and M.X. Chen

    - 378 -

    searches for the largest segment that can be transmittedat constant bit rate while requiring a small buffer.

    In the following, we will briefly give the purposefor each step in the algorithm. Step 1 initializes thevariable d to the number of pre-loaded frames. Step2 and step 3 initialize two variables, start_point andend_point. The first variable, start_point, will recordthe beginning position of the current segment, and thesecond variable, end_point, will record the end positionof the current segment. The while loop from step 4to step 20 is the main algorithm for finding a segmentand its transmission rate. Step 5 and step 6 find themaximum and minimum transfer rates using lemma 5and lemma 6. If the minimum rate is less than maximumrate, i.e., step 7 to step 11, this means that this regioncan be enlarged. Thus, the end_point is increased by1, and the algorithm goes back to step 4. On the otherhand, if the minimum rate is greater than the maximumrate, i.e., step 12 to step 19, this means that there isno suitable rate for the current segment. Thus, theend_point is decreased by 1, and an output functionis called to output the minimum rate and maximum ratebased on lemmas 5 and 6. Since a packet may containmore than one frame, step 15 calculates the amount ofdata that does not belong to the current segment. Thesedata are then used as the next regions pre-loaded data.Step 16 and step 17 adjust the initial values of the twovariables to be used to find the next segment. Thealgorithm then goes back to step 4 and continues tolook for and find the next segment until the algorithmreaches the last video frame.

    2. A New Traffic Control Algorithm

    Since the video streams from storage systems arewell controlled by the server control unit, the trafficcontrol function focuses on pumping video data toclients with jitter and delay guarantees while maintain-ing the transmission rate according to the rate definedby PCRTT. The proposed traffic control algorithm,referred to as MGCRA, is based on the generic cell ratecontrol algorithm (GCRA), defined by the ATM forumUNI 4.0 (ATM Forum, 1996), and the jitter-EarliestDeadline First (jitter-EDD) algorithm (Zhang andKeshav, 1991). The details of the MGCRA algorithmare shown in Fig. 11.

    In the MGCRA algorithm, Ex Aik is the expected

    arrival time for the ith packet of the kth session. Theexpected arrival time for the next packet is alwaysincreased by X, which is the inverse of the PCRTT rate.A T i

    k is the actual arrival time of the ith packet of the

    kth session. If a packet arrives earlier than its expectedarrival time, the packet is held for Ahead of time tocontrol jitter. On the other hand, the deadline of a

    Fig. 11. The MGCRA algorithm.

    packet is always set to its expected arrival time plusthe guaranteed nodal delay whether the packet arrivesearly or late. By setting the deadline in this way, wecan control the end-to-end packet delay as well asguarantee the throughput of a video stream at itsnegotiated PCRTT rate. (Notice that since the PCRTTrate changes from segment to segment, the value of Xalso changes according to the current PCRTT rate.) Themajor difference between the MGCRA algorithm andthe original GCRA algorithm is that no rate conform-ance is required in our MGCRA algorithm. The reasonis quite obvious: the output rate of a video stream fromthe storage system is already controlled by the servercontrol unit. Therefore, there is no need for rate con-formance control. However, due to the latency of thenetwork or OS, video packets may not be received atthe expected time. Therefore, when packets from dif-ferent video streams are multiplexed into a buffer, thelevel-2 gateway must transmit packets according totheir expected arrival times, computed according to thePCRTT rate.

    3. Admission Control

    Call admission control is required in our VODserver control unit and level-2 gateways to guaranteethat the QOS of existing connections will not bedisturbed by newly arriving connections. The admis-sion control in the server control unit depends on theprocessing power, scheduling overhead, and transmis-sion capability of the storage system. The readers arereferred to Kao et al. (1996) for details. In the fol-lowing, we will focus on admission control at level-2 gateways.

    The major function of admission control at level-2 gateways is to ensure that the aggregated transmissionrate will not exceed the peak rate of the allocatedbandwidth on ATM networks. Since the connectionset up time is quite long in an ATM WAN, we proposeto pre-establish a permanent virtual path with dynamicbandwidth allocation in block size (Ohta and Sato,

  • A VOD System on ATM Networks

    - 379 -

    connect to; instead, the level-1 gateway will look upits database to select the best server. The bestchoice of server depends on the transmission cost,storage cost, and load balance among servers (Lin,1997).

    To provide throughput, jitter, and delay guaran-tees for transmission of video streams, the MGCRAalgorithm and connection admission control functionare also implemented in level-1 gateways. However,since clients may connect to a level-1 gateway via high-speed LAN, e.g., Fast Ethernet or FDDI, instead ofATM, MGCRA may not be able to provide the exactguarantee due to the collision-based data link protocolof the high-speed LAN (e.g., Fast Ethernet). The sameis true for the admission control. In our experiments,the level-1 gateway was able to pump more than 30connections on a Fast Ethernet LAN. Due to the lowcost of Fast Ethernet, one possible way to solve thisproblem is to employ a dedicated Fast Ethernet fortransmitting video streams and another shared (Fast)Ethernet for transmitting control commands (VCP) andother Internet services.

    VI. ImplementationWe have implemented a prototype of the proposed

    hierarchical VOD system in our laboratory. Within theserver, the control unit, the storage system, and thelevel-2 gateway were connected via fast Ethernet. VODclients were also connected to the level-1 gateway viafast Ethernet. Both level-1 and level-2 gateways wereimplemented on UltraSPARC workstations and con-nected to a FORE ASX-200 ATM switch. Since wefocused on the design of the network module, theperformance metrics that we were interested in werethe throughput of gateways and the performance of theMGCRA algorithm.

    Fig. 13. Overhead of MGCRA.

    Fig. 12. Performance of MGCRA.

    1992) between each level-1 and level-2 gateway. Forexample, initially, a VP may be established with zerobandwidth. When a level-2 gateway receives the firstrequest, it will then try to allocate a block of bandwidth,D , e.g., 10 Mbps. (Note that a block is capable ofaccommodating several video streams.) Now, considerthe case where there are K simultaneous connections.Each connection is partitioned into Nk, k=1, 2, ..., K,sessions with PCRTT rates

    {r 1k, r 2k, ..., r Nkk } and ratechanges at times {t 1k, t 2k, ..., t Nk

    k }. The rate-change timesof all the sessions are sorted in increasing order, i.e.,T={t(0), t(1), ..., t(N)}, where t(0) is the current time andN is the total number of rate-change times of all thesessions. For each time interval, the level-2 gatewaycan evaluate the required bandwidth by summing upthe PCRTT rates of each connection. (The PCRTT rateis set to zero if a connection is not active during thattime interval.) When a new request arrives, the level-2 gateway inserts the rate-change times into the set Tand evaluates the required bandwidth at the same time.If the required bandwidth at each time interval doesnot exceed the allocated VP bandwidth, the request isgranted. On the other hand, if the bandwidth is notlarge enough, the level-2 gateway will try to allocateone more block of bandwidth on the VP and continueto perform the admission control function. If no band-width is available for allocation to the VP, the requestis rejected. Since the set of rate-change times for asession is sorted and the set T is also sorted, thecomplexity of admission control under the worst caseis only O(N).

    V. Design of Level-1 GatewaysThe functions of level-1 gateways is to forward

    control commands between clients and servers, andto pump video streams received from servers toclients with QOS guarantee. With a hierarchical struc-ture, a client does not need to know which server to

  • R.H. Hwang and M.X. Chen

    - 380 -

    Figure 12 shows the jitters of a sequence of 500packets observed at a VOD client when there were 20simultaneous active clients. (Observations were madeat a random instants of time.) We can observe fromFig. 12 that when MGCRA was implemented on gate-ways, the jitter was well controlled within a very smallrange, as compared to the jitters that occurred withoutMGCRA control.

    Implementation of MGCRA causes overhead ongateways, which decreases the maximum number ofactive clients (i.e., the system capacity). Figure 13shows the overhead caused by MGCRA. We set thePCRTT rate to 1.57 Mbps and observed the averagetransmission rate to each client at the level-1 gateway.To guarantee the required video quality, the averagetransmission rate was kept at 1.57 Mbps. As we canobserve from Fig. 13, when there were fewer than 33clients, the observed average transmission rate to eachclient was indeed kept at 1.57 Mbps, with or withoutthe MGCRA algorithm. However, when the numberof clients exceeded 33, gateways using the MGCRAalgorithm could not continue to guarantee a transmis-sion rate of 1.57 Mbps while 34 clients could beguaranteed if MGCRA was not implemented on gate-ways.

    Finally, we would expect that the system capacitywould be further improved if we implemented the gate-way as a module of ATM switches.

    VII. ConclusionIn this paper, we have proposed a three-level

    hierarchical network structure to achieve a low cost,high performance, high scalability, and high reliabilityVOD system. Since the bottleneck in a storage systemis the low mechanical delay of the disk, a distributedstorage system has been proposed for the scalabilityof the server. Furthermore, instead of emphasizing thedesign of a single super server which can serve a largenumber of clients, the proposed hierarchical networkstructure is able to support a huge number of VODclients based on low cost VOD servers.

    We have especially focused on the design of level-2 gateways. Three mechanisms have been proposedfor pumping video streams with throughput, jitter, anddelay guarantees. First, due to the large variety oftraffic characteristics of MPEG-1 video streams, wehave proposed transmission of MPEG-1 video using thePCRTT technique. Second, to guarantee throughput,jitter, and delay, a new traffic control algorithm, re-ferred to as MGCRA, has been proposed. Finally, thecall admission function has been implemented basedon PCRTT rates and dynamic VP bandwidth allocation.

    With recent advances in ATM technology and the

    low cost of high performance personal computers, webelieve that the proposed hierarchical VOD system isa very efficient and practical solution. With the goalof using the proposed solution in a commercial product,we are working on fault tolerant mechanisms which arerequired to prevent service interruption due to networkor server failure.

    Acknowledgment

    This work was supported by the National Science Councilunder research projects NSC 85-2213-E-194-014 and NSC 86-2213-E-194-018. The authors would like to thank Prof. S.L. Lee, Prof.T.W. Kao, Prof. R.F. Chang, and Prof. T.F. Chen for their coop-eration.

    References

    ATM Forum (1996) Traffic Management Specification Version 4.0.AF-TM 96-0056.00, ATM Forum Contribution, U.S.A.

    Chang, Y. H., D. Coggins, D. Pitt, and D. Skellern (1994) An open-system approach to video on demand. IEEE CommunicationMagazine, 32(5), 68-80.

    Deloddere, D., W. Verbiest, and H. Verhille (1994) Interactive videoon demand. IEEE Communication Magazine, 32(5), 82-88.

    Hsieh, J., M. Lin, J. Liu, and D. Du (1995) Performance of a massstorage system for video-on-demand. Journal of Parallel andDistributed Computing, 30(2), 147-167.

    Huang, H. S. and R. H. Hwang (1995) Self-healing ATM networksbased on virtual path restoration. Proceeding of National Com-puter Symposium, Chung-Li, Taiwan, R.O.C.

    Kao, T. W., C. H. Huang, S. K. Ni, C. H. Wei, W. R. Yang, andM. L. Hsu (1996) The design and implementation of multimediaoperating environments. Second Workshop on Real-Time andMedia Systems, Taipei, Taiwan, R.O.C.

    Lee, E. C. and T. F. Chen (1996) Design and implementation ofa multimedia storage server using parallel accessing disk arrays.Second Workshop on Real-Time and Media Systems, Taipei,Taiwan, R.O.C.

    Lin, J. S. (1997) Video Transmission over ATM Networks. MS.Thesis. Department of Computer Science and Information En-gineering, National Chung Cheng University, Chia-Yi, Taiwan,R.O.C.

    Little, T. D. C. and D. Venkatesh (1994) Prospects for interactivevideo-on-demand. IEEE Multimedia, 1, 14-24.

    McManus, J. M. and K. W. Ross (1996) Video on Demand overATM: Constant-rate Transmission and Transport. IEEEINFOCOM, San Francisco, CA, U.S.A.

    Nussbaumer, J. P., B. V. Patel, F. Schaffa, and J. P. G. Sterbenz(1995) Networking requirements for interactive video on de-mand. IEEE Journal on Selected Areas in Communications,13(5), 779-787.

    Ohta, S. and K. Sato (1992) Dynamic bandwidth control of the virtualpath in an asynchronous transfer mode network. IEEE Trans-actions on Communications, 40(7), 1239-1247.

    Salehi, J., Z. L. Zhang, J. F. Kurose, D. Towsley (1995) SupportingStored Video : Reducing Rate Variability and End-to-End Re-source Requirements Through Optimal Smoothing. TechnicalReport 95-98, Department of Computer Science, University ofMassachusetts at Amherst, MA, U.S.A.

    Sincoskie, W. D. (1991) System architecture for a large scale videoon demand service. Computer Networks and ISDN Systems, 22,

  • A VOD System on ATM Networks

    - 381 -

    for video-on-demand servers. IEEE Transactions on ConsumerElectronics, 42(4), 1029-1036.

    Yang, W. R., S. K. Ni, Y. H. Liu, and T. W. Kuo (1997) Supportingfault-tolerance and load balancing on video-on-demand servers.Third Workshop on Real-Time and Media Systems, Taipei, Tai-wan, R.O.C.

    Zhang, H. and S. Keshav (1991) Comparison of Rate-based ServiceDisciplines. ACM SIGCOM, Zurich, Switzerland.

    565-570.Tobagi, F. A., J. Pang, R. Baird, and M. Gang (1993) Streaming

    Raid: a Disk Storage System for Video and Audio Files. ACMMultimedia, Anaheim, CA, U.S.A.

    Tseng, W. and J. Huang (1994) A high performance video serverfor karaoke systems. IEEE Transactions on Consumer Electron-ics, 40(3), 329-336.

    Wu, C. S., G. K. Ma, and B. S. Lin (1996) A scalable architecture