130 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 5, NO. 1, MARCH 2003
Design of an Interactive Video-on-Demand SystemYiu-Wing Leung, Senior Member, IEEE,and Tony K. C. Chan
AbstractWe design an interactive video-on-demand (VOD)system using both the clientserver paradigm and the broad-cast delivery paradigm. Between the VOD warehouse and thecustomers, we adopt a clientserver paradigm to provide an inter-active service. Within the VOD warehouse, we adopt a broadcastdelivery paradigm to support many concurrent customers. Inparticular, we exploit the enormous bandwidth of optical fibersfor broadcast delivery, so that the system can provide many videoprogram and maintain a small access delay. In addition, we designand adopt an interleaved broadcast delivery scheme, so that everyvideo stream only requires a small buffer size for temporarystorage. A simple proxy is allocated to each ongoing customer, andit retrieves video from the optical channels and delivers the videoto the customer through an information network. The proposedVOD system is suitable for large scale applications with manycustomers, and it has several desirable features: 1) it can be scaledup to serve more concurrent customers and provide more videoprograms, 2) it provides interactive operations, 3) it only requirespoint-to-point communication between the VOD warehouse andthe customer and it does not involve any network control, 4) it hasa small access delay, and 5) it requires a small buffer size for eachvideo stream.
Index TermsBroadcast delivery paradigm, client-server pro-gram, video-on-demand.
A N INTERACTIVE video-on-demand (VOD) system pro-vides an electronic video rental service to geographicallydistributed customers . It retrieves video programs from itsstorage and delivers them to the customers through an informa-tion network. The customers can select and watch video pro-grams at their convenient time and place, and they can interactwith the programs via interactive operations such as pause, fast-forward, and rewind.
A VOD system has to serve multiple customers concurrently,and therefore it must have a large enough capacity to providemultiple video streams. Many designs have been proposed forthis purpose and they can be classified into two categories:clientserver designandbroadcasting design.
A. ClientServer Design
The clientserver design adopts theclientserver paradigm.The system is composed of one or more servers , . It main-tains a dedicated video stream for each ongoing customer. Whenthe customer performs an interactive operation, the system re-trieves and delivers the corresponding video for him. This de-
Manuscript received February 29, 2000; revised May 30, 2001. The associateeditor coordinating the review of this manuscript and approving it for publica-tion was Dr. Thomas R. Gardos.
The authors are with the Department of Computer Science, HongKong Baptist University, Kowloon Tong, Hong Kong (e-mail: email@example.com; firstname.lastname@example.org).
Digital Object Identifier 10.1109/TMM.2003.808818
sign can provide an ideal interactive service to the customers,but it needs dedicated resources (such as I/O bandwidth) tomaintain a video stream for each ongoing customer. For largescale applications with many customers, this design requireslarge amount of resources.
A clientserver design can use abatching policy toserve more concurrent customers. The main idea is that thesystem waits for a time interval (calledbatch window) to collecta batch of requests for a video program. Then the system createsone video stream for this program and multicasts it to a batch ofcustomers. In this manner, one video stream can serve multiplecustomers simultaneously. However, the customers have to waitbefore starting a VOD session (the waiting time is calledaccessdelay) and they cannot perform (or can only perform some con-strained) interactive operations. Several batching policies havebeen proposed in the literature and they are as follows.
Danet al. proposed that when the system can establisha new video stream, it selects the batch with the largestnumber of waiting customers and creates a video stream toserve all the customers in this batch. This batching policycan minimize themeanaccess delay, but some customersmay experience long access delay.
Danet al.  proposed to choose a shorter batch windowfor the more popular video programs. They developed ananalytical model and determined the window size for eachvideo program.
Almeroth et al.  proposed a batching policy that sup-ports some constrained interactive operations by bufferinga certain portion of the video program or joining the cus-tomer to another existing video stream.
Liao and Li  proposed a batching policy calledsplit-and-merge. When a customer performs an interac-tive operation, the system splits him from his originalvideo stream and attempts to create a new video streamfor him. If this is not possible, the customers waits. Oncethe interaction is done, the system attempts to merge thiscustomer back to an existing video stream via buffering.If this is not possible, the customer waits.
B. Broadcasting Design
The broadcasting design adopts thebroadcast delivery par-adigm,  to serve many concurrent customers. There arethree broadcasting designs for VOD .
The first design is calledperiodic broadcasting. Itbroadcasts multiple streams of the same video program atstaggered times periodically. To watch a video program, acustomer waits until a new video stream for this program isbroadcast and then he receives this stream. The system canserve many concurrent customers because many customerscan receive the same video stream from a broadcast channelsimultaneously. However, it has a long mean access delay or
1520-9210/03$17.00 2003 IEEE
LEUNG AND CHAN: DESIGN OF AN INTERACTIVE VOD SYSTEM 131
Fig. 1. VOD system architecture.
it requires many broadcast channels per video program. Forexample, if a 90-min video program is broadcast every 10 min,the mean access delay is 5 min and it requires nine broadcastchannels. To support interactive operations, a low-resolutionversion of each video program is prepared and stored, and it isdelivered to the customers upon requests using a clientserverparadigm.
The second design is calledstaggered VOD. It is similarto periodic broadcasting, but it provides interactive operationsin a different manner. To perform an interactive operation, acustomer changes to receive another broadcast video stream ifit exists. To produce a good interactive effect, the staggeringinterval should be small but this would require a large numberof broadcast channels. For example, if the staggering intervalis 1 min, then a 90-min video program requires 90 broadcastchannels.
The third design is calledpyramid broadcasting. It di-vides each video program into segments of increasing sizes,and broadcasts theth segment of all the video programs period-ically in the th broadcast channel. The bit rate of each broadcastchannel is significantly larger than the video playback rate, es-pecially when the number of video programs is large. For thisreason, every customer must have a fast receiver and a largestorage space.
C. A New Design
In this paper, we adopt both the clientserver paradigm andthe broadcast delivery paradigm to design an interactive VODsystem for large scale applications with many customers. Thissystem has several desirable features.
The system can be scaled up to serve more concurrentcustomers and provide more video programs.
The system provides interactive operations which are ap-proximations of the ideal ones. The customer can controlthe pause duration, the fast forward rate and the fast rewindrate.
Fig. 2. Multiple optical fibers can be used to provide a large number of videoprograms. (a) Every proxy is tapped to one of the optical fibers. (b) Every proxyis tapped to any one of the optical fibers via a directional coupler.
The system only involves point-to-point communicationbetween the VOD warehouse and a customer. This typeof communication can be supported by many existing net-work infrastructures. In contrast, some existing VOD de-signs assume that the network can support multicasting orbroadcasting.
The system does not involve any network control. Thisis important when the network is not owned and man-aged by the VOD service provider. In contrast, someexisting designs involve network control such as dynamicmulticasting.
The access delay is small (say, 30 s). In contrast, the accessdelay in the clientserver designs with batching policiesand the broadcasting designs is significantly longer (say,several minutes).
132 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 5, NO. 1, MARCH 2003
Each video stream only requires a small buffer size fortemporary storage.
II. SYSTEM DESIGN
A. Basic System Architecture
Fig. 1 shows the proposed VOD system. The customers areconnected to aVOD warehousethrough an information net-work. The information network can be a private network ownedby the VOD service provider, or it can be a public network. Acustomer makes requests via a low bit rate channel, and the VODwarehouse delivers the requested video to this customer via ahigh bit-rate channel. Both channels are point-to-point.
Within the VOD warehouse, thevideo archivesstore videoprograms. Each video program is organized intopages, whereevery page lasts for the same duration.
The video archives are connected to an optical fiber, whichprovides logical channels by wavelength division mul-tiplexing . The pages of each video program are readfrom the storage and are broadcast cyclically over multipleoptical channels according to abroadcast delivery scheme.This scheme specifies the time and channel for broadcastingevery page. We will design two broadcast delivery schemes inSection III.
There are proxiestapped to the optical fiber, where a proxyis a simple logical unit for reception and transmission. Whena customer initiates a new VOD session, the system allocatesa free proxy to him. The proxy receives the requested videofrom the optical channels, and transmits it to the customer atthe video playback rate through an information network. Whenthe customer terminates the VOD session, the associated proxywill be released.
As the VOD service becomes more popular, the system has toserve more concurrent customers and provide more video pro-grams. The proposed VOD system is scalable to cope with thesefuture expansions.
To serve more concurrent customers, we add more proxies.It is not necessary to modify the existing hardware, and it isonly necessary to modify the software setting to manage a largernumber of proxies (e.g., to record which proxies are free).
To provide more video programs, we add storage and opticalfibers if the existing ones are not sufficient. When there are mul-tiple fibers, each proxy can be tapped to one of them [Fig. 2(a)],or it can be tapped to any one of them via adirectional coupler [Fig. 2(b)].
If the VOD service covers a wide area (e.g., an entire country),we can replicate the VOD warehouse in distributed sites andeach warehouse serves its nearest customers. This can avoidusing long-distance channels, and reduce the propagation delayto give a better response time for interactive operations.
III. B ROADCAST DELIVERY SCHEMES
In this section, we design two broadcast delivery schemesfor broadcasting each video program over the optical channels.
Fig. 3. Basic broadcast delivery scheme.
These schemes are calledbasic broadcast deliveryand inter-leaved broadcast delivery. We let be the bit rate of each op-tical channel and be the video playback rate.
A. Basic Broadcast Delivery
For clarity, we adopt the following case for explanation. Avideo program consists of pages and these pages arebroadcast over channels. Generalization to anyandis straightforward.
1) Delivery Schedule:Fig. 3 shows the basic broadcast de-livery scheme. Time is divided into cycles where all the pagesare broadcast once in a cycle. Each cycle is further divided into
slots where one page is broadcast in one slot in a channel.We let the duration of a cycle and a slot beand respectivelywhere . The first three pages are broadcast in channel 1one after the other. Similarly, the next three pages are broadcastin channel 2; and the last three pages are broadcast in channel 3(see Fig. 3).
Fig. 4(a) shows how the proxy retrieves the pages from the op-tical channels, and Fig. 4(b) shows how to deliver these pages tothe customer. First of all, the proxy tunes its receiver to channel1, and waits until the beginning of the coming cycle. Then it re-trieves page 1 from channel 1, and at the same time delivers thispage to the customer at the video playback rate(a slowerrate) through an information network. After retrieving page 1,the proxy does not retrieve in the next slots but it con-tinues to deliver the remaining portion of page 1 to the customer[see Fig. 4(b)]. In the second and third cycles, the proxy doessimilar steps to retrieve and deliver page 2 and page 3 respec-tively, and the details are shown in Fig. 4(a) and (b). After re-trieving page 3 from channel 1, the proxy does not retrieve inthe next slots (i.e., cycle 4) but it continues to deliver theremaining portion of page 3 to the customer. At the same time,it tunes its receiver to channel 2 so that it will be able to retrievepage 4, page 5, and page 6 in the fifth, sixth, and seventh cy-cles respectively. Then, the proxy tunes its receiver to channel3 to retrieve page 7, page 8, and page 9 in the ninth, tenth, andeleventh cycles respectively. In this manner, the proxy can de-liver video to the customer continuously [Fig. 4(b)].
2) Buffer Size, Tuning Time, and Slot Duration:The proxyretrieves video at the channel bit rate (say, 50 Mbps) for oneslot and then waits for one cycle. At the same time, it continu-ously delivers video at the video playback rate (say, 1.5 Mbps).
LEUNG AND CHAN: DESIGN OF AN INTERACTIVE VOD SYSTEM 133
Fig. 4. Basic broadcast delivery for VOD. (a) Proxy retrieves the shaded pages. (b) Proxy delivers the retrieved pages to the customer.
Therefore, it must have buffer for temporary storage. To deter-mine the buffer size required, we analyze the buffer occupancyin the proxy. Fig. 4(c) shows the buffer occupancy versus time,as follows.
In the first slot of the first cycle, the proxy retrievespage 1 and delivers it to the customer simultane-ously. Since the retrieval rate is faster than the de-
livery rate, the buffer occupancy is increasing withtime until it reaches a maximum at the end of thisslot. The maximum buffer occupancy is equal to
retrieval rate delivery rate duration of a slot.
In the subsequent slots, the proxy does not re-trieve any page but it still delivers the remaining portion
134 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 5, NO. 1, MARCH 2003
Fig. 4. (Continued.) Basic broadcast delivery for VOD. (c) Buffer occupancy in the proxy versus time. The buffer size required by the proxy isR T .
of page 1 to the customer. Therefore, the buffer occupancyis decreasing with time until the end of the first slot of thesecond cycle. At this time instance, the buffer occupancyis zero.
The above pattern is repeated and the details are shown inFig. 4(c). Since the maximum buffer occupancy is , theproxy requires a buffer size of bits.
When the proxy has retrieved all the pages from one channel,it tunes its receiver to another channel. We see from Fig. 4(a) thattuning must be done within one cycle. Therefore, the maximumpermissible tuning time is seconds. is at least several sec-onds in practice (see the design examples in Section V-C), whilethe tuning time of the current optical receivers ranges from sev-eral milliseconds to several microseconds . Therefore, thetuning speed is not a concern in practice.
The slot duration depends on, and . It can be ex-pressed in terms of these quantities as follows. A cycle has pslots and its duration is , and so the slot duration is . Aproxy retrieves a page from an optical channel in one slot at rate
, and so a page contains bits. The proxy delivers thispage to the customer in slots at rate , and so a pagecontains bits. By equating these two quantities,we have . Therefore, the duration of a slotis equal to .
B. Interleaved Broadcast Delivery
In the previous studies , ,interleavingwas proposedto reduce the buffer size for VOD storage systems. In this sub-
Fig. 5. Interleaved broadcast delivery scheme.
section, we apply interleaving to enhance the basic broadcastdelivery scheme so that the buffer size required by each proxycan be reduced. For clarity, we adopt the following case for ex-planation. A video program consists of pages and thesepages are broadcast over channels. Generalization to any
and is straightforward.1) Delivery Schedule:The main idea is to divide each page
into minipages, and interleave them in a cycle so that eachproxy is only required to store at most one minipage at any time.Consequently, the proxy only requires a small buffer size.
Page is divided into minipages, which are referred to asminipages . Time is divided into cycles, a cycle isdivided into slots, and a slot is further divided intominislots where a minipage is broadcast in one minislot in achannel.
Fig. 5 shows the interleaved broadcast delivery scheme.In every cycle, three consecutive pages are broadcast in each
LEUNG AND CHAN: DESIGN OF AN INTERACTIVE VOD SYSTEM 135
Fig. 6. Interleaved broadcast delivery for VOD. (a) Proxy retrieves the shaded pages.
channel, and their minipages are interleaved over nine minis-lots. Specifically, we broadcast the minipages of pages 1, 2,and 3 in channel 1, as follows:
broadcast theirfirst minipages one after the other (i.e.,minipage , then , and then );
broadcast theirsecondminipages one after the other (i.e.,minipage , then , and then ;
broadcast theirthird minipages one after the other (i.e.,minipage , then , and then ).
In channel 2, we broadcast the minipages of pages 4, 5, and 6in a similar fashion but in a different order: broadcast theirthirdminipages, then theirfirst minipages, and then theirsecondminipages. In channel 3, we broadcast the minipages of pages7, 8, and 9 in another order: broadcast theirsecondminipages,then theirthird minipages, and then theirfirst minipages.
Fig. 6(a) shows how the proxy retrieves the minipages fromthe optical channels. In the first cycle, it retrieves minipagein the first minislot, then retrieves minipage in the fourthminislot, and then retrieves minipagein theseventhminislot.In the second and third cycles, the proxy retrieves minipages,
, , , , in a similar manner, and the details are shownin Fig. 6(a).
After retrieving all the minipages from channel 1, the proxytunes its receiver to channel 2. It retrieves minipagein thefourth minislot of thefourth cycle, then retrieves minipagein theseventhminislot of thefourth cycle, and then retrievesminipage in the first minislot of thefifth cycle. The proxyretrieves minipages , , , , , in a similar fashion,and the details are shown in Fig. 6(a).
After retrieving all the minipages from channel 2, theproxy tunes its receiver to channel 3 to retrieve minipages
. The details are shown in Fig. 6(a).We note that the proxy waits for minislots after retrieving
the last minipage of a page, and it waits for minislotsafter retrieving any other minipage. To ensure continuous videodelivery, a page (or minipages) must last for one cycle andone minislot.
The proxy delivers the minipages to the customer as follows.When it starts to retrieve a minipage, it starts to deliver thisminipage to the customer. It continuously delivers the minipages
136 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 5, NO. 1, MARCH 2003
Fig. 6. (Continued.) Interleaved broadcast delivery for VOD. (b) Proxydelivers the retrieved pages to the customer. (c) Buffer occupancy in the proxyversus time. The buffer size required by the proxy is equal tox = R T =m.
to the customers one after the other, and Fig. 6(b) shows thedetails.
2) Buffer Size, Tuning Time, and Minislot Duration:To de-termine the buffer size required by each proxy, we analyze itsbuffer occupancy versus time as follows [see Fig. 6(c)]:
In the first minislot, the proxy retrieves minipage anddelivers it to the customer simultaneously. Since theretrieval rate is larger than the delivery rate, the bufferoccupancy is increasing with time until the end ofthis minislot. At this time instance, the buffer occu-pancy is equal to retrieval rate delivery rateduration of a minislot .
In the second and third minislots, the proxy stops retrievalbut it is still delivering the remaining portion of minipage
to the customer. Therefore, the buffer occupancy is de-creasing with time until the end of the third minislot. At
TABLE IBASIC BROADCASTDELIVERY VERSUSINTERLEAVED BROADCASTDELIVERY
this time instance, the buffer occupancyis equal todelivery rate duration of two minislots .
In the fourth minislot, the proxy retrieves and deliversminipage . As a result, the buffer occupancy isincreasing with time again until the end of this min-islot. At this time instance, the buffer occupancyis equal to retrieval rate delivery rateduration of a minislot .
In the fifth and sixth minislots, the proxy stops retrieval butit is still delivering the remaining portion of minipage.Therefore, the buffer occupancy is decreasing with timeuntil the end of the sixth minislot. At this time instance,the buffer occupancy is equal to delivery rateduration of two minislots .
In the seventh minislot, the proxy retrieves and de-livers minipage and hence the buffer occupancy isincreasing with time again. At the end of this minislot,the buffer occupancy is equal to retrieval ratedelivery rate duration of a minislot .
In the subsequent three minislots, the proxy stops retrievalbut continues delivery until all the bits in the buffer havebeen delivered. At the end of the first minislot of thesecond cycle, the buffer occupancy becomes zero.
The above pattern of buffer occupancy repeats for the subse-quent minipages [see Fig. 6(c)]. Since the maximum buffer oc-cupancy is , the proxy requires a buffer size ofbits.
When the proxy has retrieved all the minipages from onechannel, it tunes its receiver to another channel. We see fromFig. 6(a) that tuning must be done withinminislots. In otherwords, the maximum permissible tuning time is seconds.
The minislot duration depends on, , and . It canbe expressed in terms of these quantities as follows. A cycle has
minislots and its duration is , and so the minislot dura-tion is . A proxy retrieves minipages of a page froman optical channel in respective minislots at rate , and sothese minipages contain a total of bits. The proxy de-livers these minipages to the customer in minislots atrate , and so these minipages containbits. By equating these two quantities, we have
. Therefore, the duration of a minislot is equal to.
We have presented two broadcast delivery schemes. Theseschemes require different buffer size per proxy and differentpermissible tuning time, and Table I shows a comparison. In-terleaved broadcast delivery is more attractive as it requires a
LEUNG AND CHAN: DESIGN OF AN INTERACTIVE VOD SYSTEM 137
Fig. 7. Pause operation. (a) Ideal pause operation. (b) Approximate pauseoperation.
Fig. 8. Fast forward operation. (a) Ideal fast forward operation.(b) Approximate fast forward operation.
much smaller buffer size per proxy. In addition, as we willexplain in Section IV, it can also support better interactiveoperations.
IV. PROVISION OFINTERACTIVE OPERATIONS
In this section, we describe a set of interactive operationswhich are approximations of the ideal ones, and explain howthe proposed VOD system can provide these approximate oper-ations. Our explanation will be based on the interleaved broad-cast delivery scheme, but the ideas are also applicable to thebasic broadcast delivery scheme.
Fig. 7(a) shows the ideal pause operation. When the customerissues a pause command, the playout point of the video programis frozen, and the pause duration can be any positive value.Fig. 7(b) shows the approximate pause operation, in which thepause duration is an integral multiple of the cycle duration. If
is smaller, the approximate pause operation is more similarto the ideal one.
The proposed VOD system can provide the approximatepause operation as follows. When a customer issues a pausecommand to the proxy at time, the proxy stops retrieval/de-livery temporarily. When the customer issues a resumecommand at time , the proxy resumes retrieval/delivery atthe playout point where it is paused. In other words, the proxyresumes retrieval/delivery at time where is an integersuch that .
B. Fast Forward
Fig. 8(a) shows the ideal fast forward operation. When thecustomer issues a fast forward command, the video program is
Fig. 9. Realization of approximate fast forward operation; the proxy onlyretrieves and delivers the shaded pages. (a) Realization at the page level.(b) Realization at the minipage level.
played at a faster and constant rate. Fig. 8(b) shows the approx-imate fast forward operation. It plays a small portion of video atthe normal rate, then skips a portion, then plays a small portion,and then skips a portion, etc.
The approximate fast forward operation can be realized at thepage level or minipage level. If it is realized at the page level,it plays a page and then skips some subsequent pages [e.g.,see Fig. 9(a)]; if it is realized at the minipage level, it plays aminipage and then skips some subsequent minipages [e.g., seeFig. 9(b)]. In general, if the cycle duration is shorter, the approx-imation is closer to the ideal one. In particular, the realization atthe minipage level is better than that at the page level because aminipage lasts for a shorter duration.
C. Fast Rewind
Fig. 10(a) shows the ideal fast rewind operation. When thecustomer issues a fast rewind command, the video program isplayed in the reverse order at a fast and constant rate. Fig. 10(b)shows the approximate fast rewind operation. It plays a smallportion of video at the normal rate, then skips a previous portion,then plays a small portion, and then skips a previous portion, etc.
The approximate fast rewind operation can be realized at thepage level or minipage level. If it is realized at the page level,it plays a page and then skips some previous pages [e.g., seeFig. 11(a)]; if it is realized at the minipage level, it plays aminipage and then skips some previous minipages [e.g., seeFig. 11(b)]. In general, if the cycle duration is shorter, the ap-proximation is closer to the ideal one. In particular, the realiza-tion at the minipage level is better than that at the page levelbecause a minipage lasts for a shorter duration.
138 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 5, NO. 1, MARCH 2003
Fig. 10. Fast rewind operation. (a) Ideal fast rewind operation.(b) Approximate fast rewind operation.
Fig. 11. Realization of approximate fast rewind operation; the proxy onlyretrieves and delivers the shaded pages. (a) Realization at the page level.(b) Realization at the minipage level.
V. DESIGN CONSIDERATIONS ANDEXAMPLES
A. Design Issues
Proxy: Each proxy is a simple logical unit for reception andtransmission. It receives one page per cycle and therefore itsreceiver is utilized in only one of thep slots in each cycle.Therefore, multiple proxies can share a receiver. They can alsoshare a transmitter for outgoing delivery. For example, if ATMlinks at 155 Mbps/link are used for outgoing delivery andis1.5 Mbps, 103 proxies can share a transmitter for one ATM link.To simplify implementation, multiple proxies can reside on thesame physical unit for sharing.
Cost-effectiveness:To serve one additional concurrent cus-tomer, it is only necessary to add one proxy and it is not nec-essary to add the other resources. The cost required is small.Therefore, the proposed system is more cost-effective for largerscale applications with many customers.
Optical bandwidth:The proposed system uses an optical fiberwithin the VOD warehouse. An optical fiber is cheap, and its
current price is about U.S. $0.2 per yard . Nevertheless, itsbandwidth is about 25 000 GHz , and it can currently pro-vide about one hundred OC-48 channels at 2.5 Gbps/channel, . Even if each channel is operated at the OC-1 rate50 Mbps/channel (OC-1 is mature and economical), an opticalfiber can still provide a capacity of 10050 Mbps 5 Gbps.This is sufficient for the current application (e.g., see the designexamples in Section V-C).
I/O bandwidth:Given a broadcast delivery scheme, the pagesor minipages can be stored in such a way that they are read se-quentially from the storage for broadcasting. In this manner, theI/O bottleneck can be avoided. The I/O bandwidth required de-pends on the number of video programs, but it does not dependon the number of concurrent customers. Therefore, the proposedsystem is particularly suitable for large scale applications withmany customers.
I/O speed and channel bit rate:We can match the I/O speedof a disk with the bit rate of an optical channel, so that thesystem can simply read from a disk for broadcasting over anoptical channel. For example, if we use a disk with I/O speed50 Mbps , we can operate each optical channel at the OC-1rate 50 Mbps. In this manner, the system requires an array ofsmall capacity disks.
MPEG Video:MPEG is a common video compression stan-dard . It produces three types of frames: I frames, P frames,and B frames. A group of frames consists of an I frame and a cer-tain combination of P frames and B frames, and each group is in-dependent of the other groups. The proposed system can supportMPEG video as follows. Within the VOD warehouse, each mini-page contains an integral number of groups, and its size is largerthan the average size of these groups by a specified percentagemargin in order to accommodate their variable sizes. Betweenthe VOD warehouse and the customer, a streaming protocol canbe used to deliver the video to the customer .
Video playback rate and duration:In the proposed system,different video programs can occupy different number of opticalchannels. Therefore, it can accommodate video programs withdifferent playback rate (e.g., 1.5 Mbps for MPEG-1 and 4 Mbpsfor MPEG-2) and different duration (e.g., 90 min and 120 min).
B. Selection of Design Parameters
1) Cycle Duration : The determination of the cycle dura-tion involves two conflicting factors, as follows.
If is larger, a channel can broadcast more pages in acycle and hence an optical fiber can broadcast more videoprograms. Therefore, a smaller number of optical fibers isneeded.
If is larger, the mean access delay is longer. It is becausewhen a customer initiates a new VOD session, the associ-ated proxy has to wait for an average of s before itcan retrieve the first page of the requested video program.
The service provider can specify an acceptable mean accessdelay . Then the cycle duration can be chosen to be .
2) Number of Optical Fibers : The number of opticalfibers required depends on the number of video programs,the durations of these programs, and the cycle duration. Eachoptical channel can broadcast bits in a cycle. If the th
LEUNG AND CHAN: DESIGN OF AN INTERACTIVE VOD SYSTEM 139
video program has a duration ofs, it has bits and henceit requires channels where
Each video program is broadcast in one optical fiber. When, an optical fiber can already broad-
cast all the video programs and hence . Otherwise,multiple optical fibers are needed. The problem of minimizing
is equivalent to thebin packing problem and thisproblem is NP-hard.
When the number of video programs is not large (say,), the solution space is not very large and it is possible
to find the minimal . For example, we can formulate theproblem as an integer programming problem and then apply thebranch-and-bound technique  to find the optimal solutions.When is large, we have to resort to a good heuristic algorithm.Many heuristic algorithms have been proposed for bin packing,and the most famous one is probably thefirst-fit algorithm, . This algorithm has time complexity , and itworks as follows. Examine the video programs one after theother. For each video program, select the optical fiber that canfirst accommodate it. If all the existing optical fibers cannotaccommodate this video program, introduce a new optical fiberfor it. There are many other good heuristic algorithms, anda recent one can be found in .
3) Number of Proxies : If the system has more proxies, itcan serve more ongoing customers and hence it is less likelythat a request for a new VOD session is blocked. However, thesystem is more costly. To make a tradeoff, the service providercan specify an acceptable blocking probability and then de-termine the minimal number of proxiesrequired.
We assume that the arrivals of requests for new VOD ses-sions follow a Poisson process with rate, , and we let
be the mean duration of a VOD session (it is different fromthe mean duration of the video programs because the customersmay perform interactive operations). The system ofproxiescan be modeled as an queue. When all theproxies are serving customers, any additional request will beblocked and the blocking probability can be found to be:
To fulfill the given requirement , we determine the smallestsuch that . Since is a decreasing function of,
we can use thebisection method to determine the minimal.4) Number of Minipages Per Page: In interleaved broad-
cast delivery, a page is divided into minipages. To reduce thebuffer size required by each proxy,should be as large as pos-sible (see Table I). However, has to fulfill two constraints.First, the actual tuning time must be equal to or smaller than themaximum permissible tuning time . Second, each mini-page may have to contain at least a certain number of frames
TABLE IISPECIFICATION FOREXAMPLE 1
(e.g., contain at least one group of nine frames for MPEG ).To minimize the buffer size required by each proxy, we choosethe largest such that these constraints are fulfilled.
C. Design Examples
We simulate and test the proposed system using OPNET. Inthis subsection, we present two design examples.
Example 1: We design a VOD system for a large scale appli-cation, in which there is one customer requesting a new VODsession in every second on average (i.e., request/s )and the mean duration of a VOD session is 100 minutes (i.e.,
min). We adopt the specification in Table II. In addi-tion, video is compressed by MPEG with nine frames per group,and each minipage contains at least two groups of frames with10% margin.
We determine the design parameters as follows.
Given s, we choose the cycle duration to bes
Each video program requireschannels. There are 50 video
programs. Therefore, the system requires two opticalfibers.
To fulfill the given requirement , the number of proxiesmust satisfy
The minimal satisfying the above inequality can befound to be 6003.
Since the tuning time cannot be larger than (seeTable I), we have or . Sinceeach minipage contains at least two groups of frames,
or . We choose .The buffer size required by each proxy is
Kbytes.Example 2: This example is the same as Example 1, except
that the acceptable mean access delayis 5 s. We choose thecycle duration to be s. Then each videoprogram requires 18 optical channels. Therefore, the system re-quires ten optical fibers, where each optical fiber accommodatesfive video programs. This design adopts a smaller cycle duration
140 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 5, NO. 1, MARCH 2003
than the previous design in Example 1. Consequently, it pro-vides a better quality (i.e., shorter access delay and better inter-active operations) at the expenses of using more optical fibers.
In this paper, we adopted both the clientserver paradigm andthe broadcast delivery paradigm to design a VOD system forlarge scale applications with many customers. This system hasthe following desirable features.
The system can easily be scaled up to serve more concur-rent customers and provide more video programs.
The system can provide interactive operations which areapproximations of the ideal ones. The customer can con-trol the pause duration, the fast forward rate and the fastrewind rate.
The system only involves point-to-point communicationbetween the VOD warehouse and each customer. This typeof communication can be supported by many existing net-work infrastructures.
The system does not involve any network control. This isimportant when the network is not owned and managed bythe VOD service provider.
The access delay is small. Each video stream only requires a small buffer size for
 D. Deloddere, W. Verbiest, and H. Verhille, Interactive video on de-mand,IEEE Commun. Mag, pp. 8288, May 1994.
 R. Tewari, R. Mukherjee, and D. M. Dias, Real-time issue for clusteredmultimedia servers,, IBM Res. Rep. RC 20020, 1995.
 D. N. Serpanos, L. Georgiadis, and T. Bouloutas, MMPacking: A loadand storage balancing algorithm for distributed multimedia servers,IEEE Trans. Circuits Syst. Video Technol, vol. 8, pp. 1317, Feb. 1998.
 D. P. Anderson, Metascheduling for continuous media,ACM Trans.Comput. Syst., vol. 11, no. 3, pp. 226252, August 1993.
 A. Dan, D. Sitaram, and P. Shahabuddin, Scheduling policies for anon-demand video server with batching, inProc. ACM Multimedia Conf.Expo., Oct 1994, pp. 1523.
 A. Dan, P. Shahabuddin, D. Sitaram, and D. Towsley, Channel alloca-tion under batching and CVR control in video-on-demand systems,J.Parallel Distrib. Comput., vol. 30, pp. 168179, 1995.
 K. C. Almeroth and M. H. Ammar, The use of multicast delivery toprovide a scalable and interactive video-on-demand service,IEEE J.Select Areas Commun., vol. 14, no. 6, pp. 11101122, Aug. 1996.
 W. J. Liao and V. O. K. Li, The split-and-merge (SAM) protocol for in-teractive video-on-demand systems, inProc. IEEE INFOCOM, Japan,Apr. 1997.
 J. W. Wong, Broadcast delivery,Proc. IEEE, vol. 76, no. 12, pp.15661577, Dec. 1988.
 T. F. Bowen, G. Gopal, G. Herman, T. Hickey, K. C. Lee, W. H. Mans-field, J. Raitz, and A. Weinrib, The datacycle architecture,Commun.ACM, vol. 35, no. 12, pp. 7181, 1992.
 T. Chiueh, A periodic broadcasting architecture for large-scale residen-tial video-on-demand service,Proc. SPIE, vol. 2615, pp. 162169, Oct.1995.
 R. O. Bankeret al., Method of providing video on demand with VCRlike functions, U.S. Patent 5 357 276, 1994.
 S. Viswanathan and T. Imielinski, Metropolitan area video-on-demandservice using pyramid broadcasting,Multimedia Syst., vol. 4, pp.197208, 1996.
 C. A. Bracket, Dense wavelength division multiplexing networks: Prin-ciples and applications,IEEE J. Select. Areas Commun., vol. 8, no. 6,pp. 948964, Aug. 1990.
 M. S. Borella, J. P. Jue, D. Banerjee, B. Ramamurthy, and B. Mukherjee,Optical components for WDM lightwave networks,Proc. IEEE, vol.85, no. 8, pp. 12741307, August 1997.
 B. Ozden, R. Rastogi, and A. Silberschatz, On the design of a low-costvideo-on-demand storage system,Multimedia Syst., vol. 4, pp. 4054,1996.
 S. Chatterjee and S. Pawlowski, All-optical networks,Commun. ACM,vol. 42, no. 6, pp. 7483, June 1999.
 P. E. Green, Optical networking update,IEEE J. Select. AreasCommun., vol. 14, no. 5, pp. 764779, June 1996.
 G. Wilfong, B. Mikkelsen, C. Doerr, and M. Zirngibl, WDMcross-connect architectures with reduced complexity,IEEE J. Light-wave Technol., vol. 17, no. 10, pp. 17321741, Oct. 1999.
 Seagate Barracuda Disk Drive Product Manual, 1993. B. Furht, A survey of multimedia compression techniques and
standards. Part II: Video compression,Real-Time Imag., vol. 1, pp.319337, 1995.
 M. Reisslein and K. W. Ross, High performance prefetching protocolsfor VBR prerecorded video,IEEE Network, vol. 12, no. 6, pp. 4655,Dec. 1998.
 R. K. Ahuja, T. L. Magnanti, and J. B. Orlin,Network Flows: Theory,Algorithms and Applications. Englewood Cliffs, NJ: Prentice-Hall,1993, p. 87.
 T. C. Hu,Combinatorial Algorithms. Boston, MA: Addison-Wesley,1982, pp. 209222.
 A. Scholl, R. Klein, and C. Jurgens, BISON: A fast hybrid procedurefor exactly solving the one-dimensional bin packing problem,Comput.Oper. Res., vol. 24, no. 7, pp. 627645, 1997.
 G. L. Nemhauser and A. W. Lawrence,Integer and Combinatorial Op-timization: Wiley, 1988.
 D. Gross and C. M. Harris,Fundamentals of Queueing Theory, 2nded. New York: Wiley, 1985, pp. 294304.
 S. Yakowitz and F. Szidarovszky,An Introduction to Numerical Compu-tations, 2nd ed. New York: MacMillan, 1989.
Yiu-Wing Leung (M92SM96) received the B.Sc.and Ph.D. degrees from the Chinese University ofHong Kong in 1989 and 1992, respectively. His Ph.D.advisor was Prof. T. S. Yum.
After graduation, he was with the Hong KongPolytechnic University until 1997. He then joinedthe Hong Kong Baptist University and now he is anAssociate Professor in the Department of ComputerScience. He has a wide range of research interestsand he has been working on three main areas:information networks, multimedia communications
and systems, and cybernetics and systems engineering. He has publishedmore than 50 journal papers in these areas, most of which appear in variousIEEE publications. He has supervised several Ph.D. students and postdoctoralfellows, and some of them now teach at various universities in Singapore, theUnited Kingdom, Canada, and Hong Kong.
Tony K. C. Chan received the M.Sc. degree ininformation technology from the Department ofComputing, Hong Kong Polytechnic University.He is currently pursuing the Ph.D. degree in theDepartment of Computer Science at Hong KongBaptist University. His professional interests includeinformation networks and multimedia systems.
Index: CCC: 0-7803-5957-7/00/$10.00 2000 IEEEccc: 0-7803-5957-7/00/$10.00 2000 IEEEcce: 0-7803-5957-7/00/$10.00 2000 IEEEindex: INDEX: ind: