30
Journal of Network and Computer Applications 30 (2007) 384–413 An analytical model for interval caching in interactive video servers Suneuy Kim a, , Chita R. Das b a San Jose State University, Department of Computer Science, San Jose, CA 95192, USA b Pennsylvania State University, Department of Computer Science & Engineering, University Park, PA 16802, USA Received 27 August 2003; received in revised form 26 May 2005; accepted 1 June 2005 Abstract Design of servers to meet the quality of service (QoS) requirements of interactive video-on- demand (VOD) systems is challenging. Recognizing the increasing use of these systems in a wide range of applications, as well as the stringent service demands expected from them, several design alternatives have been proposed to improve server throughput. A buffer management technique, called interval caching, is one such solution which exploits the temporal locality of requests to the same movie and tries to serve requests from the cache, thereby enhancing system throughput. In this paper, we present a comprehensive mathematical model for analyzing the performance of interactive video servers that use interval caching. The model takes into account the representative workload parameters of interactive servers employing interval caching and calculates the expected number of cached streams as an indication of the improvement in server capacity due to interval caching. Especially, user interactions, which sensitively affect the performance of interval caching, are realistically reflected in our model for an accurate analysis. A statistical admission control technique has also been developed based on this model. Using this model as a design tool, we apply the model to measure the ARTICLE IN PRESS www.elsevier.com/locate/jnca 1084-8045/$ - see front matter r 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.jnca.2005.06.005 Corresponding author. Tel.: +1 4089245122; fax: +1 4089245062. E-mail addresses: [email protected] (S. Kim), [email protected] (C.R. Das).

An analytical model for interval caching in interactive video servers

Embed Size (px)

Citation preview

Page 1: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

Journal of Network and

Computer Applications 30 (2007) 384–413

1084-8045/$ -

doi:10.1016/j

�CorrespoE-mail ad

www.elsevier.com/locate/jnca

An analytical model for interval caching ininteractive video servers

Suneuy Kima,�, Chita R. Dasb

aSan Jose State University, Department of Computer Science, San Jose, CA 95192, USAbPennsylvania State University, Department of Computer Science & Engineering, University Park,

PA 16802, USA

Received 27 August 2003; received in revised form 26 May 2005; accepted 1 June 2005

Abstract

Design of servers to meet the quality of service (QoS) requirements of interactive video-on-

demand (VOD) systems is challenging. Recognizing the increasing use of these systems in a

wide range of applications, as well as the stringent service demands expected from them,

several design alternatives have been proposed to improve server throughput. A buffer

management technique, called interval caching, is one such solution which exploits the

temporal locality of requests to the same movie and tries to serve requests from the cache,

thereby enhancing system throughput.

In this paper, we present a comprehensive mathematical model for analyzing the

performance of interactive video servers that use interval caching. The model takes into

account the representative workload parameters of interactive servers employing interval

caching and calculates the expected number of cached streams as an indication of the

improvement in server capacity due to interval caching. Especially, user interactions, which

sensitively affect the performance of interval caching, are realistically reflected in our model

for an accurate analysis. A statistical admission control technique has also been developed

based on this model. Using this model as a design tool, we apply the model to measure the

see front matter r 2005 Elsevier Ltd. All rights reserved.

.jnca.2005.06.005

nding author. Tel.: +14089245122; fax: +14089245062.

dresses: [email protected] (S. Kim), [email protected] (C.R. Das).

Page 2: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 385

impact of different VCR operations on client requests and rejection probability, as well as the

effect of cache size.

r 2005 Elsevier Ltd. All rights reserved.

Keywords: Analytical model; Interval caching; Video-on-demand; VCR operations; Admission control

1. Introduction

Rapidly growing computer and communication technologies have opened thedoor to a wide range of educational, commercial and entertainment applications thatrequire efficient storage, retrieval, and delivery of multimedia data. Of all theseapplications, interactive video-on-demand (VOD) has become one of the mostimportant services (Little and Venkatesh, 1994; Deloddere et al., 1994). There is notjust an interest in the delivery of digital VOD to the home for entertainmentpurposes, but there are also several educational (instructional videos) andcommercial (e-commerce, corporate training videos) benefits from this service.VOD services are also likely to become prevalent in more general purpose Internetapplications.

With interactive VOD services, clients select, schedule, and view video clips, andalso interact with the system using typical VCR operations such as fast-forward,rewind, pause, and indexed searches. To accommodate real-time playbackrequirements, the video server should be able to stream the data seamlessly to theclients without jitters and meet other viewer-specified quality of service (QoS)requirements. The video server should be able to support multiple client requestsconcurrently while meeting these goals. These requirements translate to stringentdemands on the video server resources in the form of storage space, I/O (disk)bandwidth, and network bandwidth. Interactive VCR operations add a furtherdimension of the complexity.

Recognizing the demands from the video server, several research studies (Gemmellet al., 1995; Little, 1995) have proposed solutions for better performance. Theseinclude disk architectures and scheduling mechanisms for increasing I/O bandwidth(Reddy and Wyllie, 1994; Reddy et al., 2005), schemes for placing/partitioning videodata across disk arrays (Seo and Kim, 1995; Santos and Muntz, 1998), techniques toefficiently support VCR operations for interactive VOD (Shenoy and Vin, 1995;Dey-Sircar et al., 1994; Chen et al., 1994), resource-sharing strategies to reduce I/Orequirements (Dan et al., 1994; Golubchik et al., 1995; Rotem and Zhao, 1995; Danand Sitaram, 1996), and admission control mechanisms to accommodate andregulate the number of clients being serviced (Vin et al., 1995; Lin, 1998; Garofalakiset al., 1998).

Of these, resource-sharing strategies can amplify the performance of a server evenwhen all the performance benefits have been squeezed out from the network and I/Osubsystems. Further, these techniques can be implemented in software and are notconstrained by the underlying hardware limitations. Batching, piggy-backing, andbuffering/interval caching are some of the representative resource-sharing strategies.

Page 3: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413386

With batching (Dan et al., 1994), client requests are accumulated, grouped intobatches, and serviced in one set. A client’s request might not be serviced immediatelybut the I/O cost is amortized over all the requests of a batch. Piggy-backing(Golubchik et al., 1995) adopts a different strategy, wherein the service for a requestis started almost immediately, but the rate of service (playback/display rate) isadjusted slightly (without the client experiencing a serious degradation in QoS), sothat it catches up with another stream currently being serviced. Subsequently, thesetwo streams are merged, requiring only one sequence of requests to the I/O system. Itshould be noted that merged streams can in turn merge with other (merged) streams.Buffering (Rotem and Zhao, 1995) and interval caching (Dan and Sitaram, 1996), onthe other hand, exploit the locality of reference (both spatial and temporal), to usedata that have already (recently) been fetched from the disk.

Among resource-sharing strategies, buffer management through interval caching(Dan and Sitaram, 1994, 1996) is an attractive option to boost server throughput.This scheme caches the intervals between successive video streams, ensuring thatonly the smallest of these intervals are kept in the cache to maximize the number ofcached streams. It can be used in conjunction with the other resource-sharingstrategies such as batching or adaptive piggy-backing, to further improveperformance. Advances in semiconductor technology continue to push memoryprices down while increasing chip capacity and functionality, and these trends arelikely to make this scheme increasingly attractive. A number of studies have adoptedinterval caching to improve the performance of various streaming media systems(Guo et al., 2003; Chan et al., 2003; Cho et al., 2003; Sarhan and Das, 2004).

Many factors affect the performance of a video server that uses interval caching:arrival rate of video requests; distribution of the video clips being requested; lengthof the video clips; admission control strategy; available cache size; and the nature,frequency, and duration of VCR operations. From a designer’s viewpoint, it isimportant to understand how these parameters affect the performance of the systemand interact with each other towards building an efficient and cost-effective system.

Most of the previous studies for interval caching have used simulation toinvestigate the impact of these parameters. However, simulations often require a lotof memory space and execution time. For instance, it takes nearly 7–8 h for a singlesimulation to complete on a Sun Ultra-10 workstation, and a full-factorialexperiment would take longer. Further, simulations of large server configurationsmay be even infeasible due to inadequate memory/storage resources.

Analytical models, on the other hand, are a convenient way of studying systemperformance under a variety of parameters. However, a multimedia server is a verycomplex system with numerous interactions between different system parameters,which makes it difficult to model its behavior mathematically. The primarycontribution of this paper is the development of a comprehensive mathematicalmodel, which accurately quantifies the performance of an interactive video serveremploying an interval caching policy. Various representative workload parametersare considered in the model to represent characteristics of interactive serversemploying interval caching. Especially, user interactivity is modeled by a six-stateMarkov process to realistically capture various user interactions such as playback,

Page 4: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 387

fast-forward, rewind, pause, jump-forward, and jump-backward. To our bestknowledge, we are the first to develop a mathematical model that quantifies theperformance of an interactive video server employing an interval caching policy.

Because interval caching improves server performance by serving a certain numberof streams from the cache, the primary objective of the model is to compute theaverage number of streams that can be supported from the cache with different VCRinteractions or a combination of interactions. The model is developed using theconcept of flow balance (more specifically Little’s Law)—under steady state, theaverage number of streams in the cache is equal to the arrival rate of streams to thecache multiplied by the average service time in the cache. The model considers newstreams as well as streams resuming after a VCR operation, to estimate the arrivalrate to the cache and its service time using other system and workload parameters.The model can be applied for various types of video servers by plugging in differentvalues for the parameters. Specifically, it is general enough to capture theperformance of servers with different movie lengths. The model has been extensivelyvalidated through simulation, and is shown to be accurate over a spectrum of systemand workload parameters. The applicability of the analytical tool in understandingthe performance and design of an interactive VOD server is summarized as follows:

The model can be used to implement a statistical admission control policy thatcan regulate new service requests to preserve the QoS of in-service requests, whilemaximizing server throughput. � The degradation in throughput due to user interactivity (compared to a server

which allows only playback) is quantified. Specifically, our integrated model letsus directly plug in the relative probabilities of a wide range of VCR operations toget the number of streams that will be serviced from the cache.

� The impact of arrival rate of client requests, length of the video clips, skewness of

request pattern, and cache size on the throughput has been studied for differentuser interactivity parameters.

The rest of this paper is organized as follows: Section 2 explains interval caching andthe video server system. Derivation of the mathematical model and its validation arepresented in Section 3. Use of the model as a design tool is described in Section 4with different examples. Finally, Section 5 concludes with a summary of results andidentifies directions for future research.

2. System description

2.1. Video server

The video server is assumed to be a high-performance computing engine that isconnected by a fast I/O interface to a secondary storage device such as a disk array.This storage device is large enough to hold video data of different durations, andtogether with the I/O interface is fast enough to deliver data for a specified number

Page 5: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413388

of concurrent video streams at a rate specified by the MPEG-1/MPEG-2 playbackrate (1.5Mbps/4Mbps). Different techniques for improving the performance of thisI/O system (such as data striping) can be employed to achieve these data rates. Ourmodel assumes that the I/O system (disks) is capable of supporting a specifiednumber of concurrent streams. Such an assumption has also been made in otherrelated studies (Dan and Sitaram, 1994, 1996).

Client requests to watch specific movies arrive at the video server with a knowndistribution. The admission control strategy at the video server decides whether toserve a request or reject it if the service of this request would impose a significantload on the server to cause jitters in the requests already being served. Onceadmitted, the request is serviced from either the disk or from the cache/buffer at theserver. The video data is then streamed to the client at a rate that satisfies the MPEGplayback rate. It is also assumed that the network is capable of handling this datatransfer rate.

The physical memory at the video server not only buffers the video stream data onits way from the disk to the network, but can also potentially service multiple clientrequests if there is sufficient temporal locality to a movie. The buffer space is dividedinto a number of blocks, each of 1MB (5.3 s of MPEG-1 or 2.0 s of MPEG-2 data).The blocks containing data are kept in a buffer pool, while the rest are kept in a freepool. Every 5.3 s (in MPEG-1 case), which is defined as a round, a specified number(the number of streams being serviced from the disk) of blocks are read from thedisk. These are read into blocks in the free pool, which are then moved into thebuffer pool. Concurrently, the data from the previous round is streamed out throughthe network to the clients. Thus, the disk manager has to prefetch data ahead of whatis being currently streamed to the client. If the data brought in for a request do notneed to be reused, each stream requires only two buffer blocks. However, if there issufficient buffer space, it would be useful to retain these data blocks (instead ofrecycling them), especially when requests to the same movie are temporally close toeach other. The interval caching scheme, as proposed by Dan and Sitaram (1994,1996), tries to exploit this locality of reference between client requests to minimizethe number of streams serviced from the disk. In the next section, we describe theinterval caching scheme in detail.

2.2. Interval caching

In the interval caching scheme, a playback request is paired up with theimmediately previous stream, which is currently accessing that movie. The twostreams are consequently termed the preceding and following streams. For instance,in Fig. 1 stream S2 can be paired with stream S1, and S1 is the preceding streamwhile S2 is the following stream. Note that S2 could again be the preceding streamfor another following stream S3. When either the preceding stream or the followingstream does a VCR operation, the pair is broken. If a preceding stream does a VCRoperation, it cannot continue to feed the following stream. Hence, the followingstream needs to access a disk after reading the remaining data in the buffer allocatedto that pair. If a following stream generates a VCR operation, it also goes to the disk

Page 6: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

end begin

Direction

movie i

(preceding)

S3 S2 S1

(following)

Fig. 1. Playback request streams for a movie.

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 389

to get data, freeing up the buffer allocated to the pair. Therefore, the maximumnumber of pairs broken by a VCR operation is two. For instance, if the pairs (S1, S2)and (S2, S3) have been cached and S2 generates a VCR operation, both of the pairsbreak because S2 is the following stream of the pair (S1, S2) as well as the precedingstream of the pair (S2, S3). In both cases, the buffer is deallocated and moved to thefree pool. The stream performing the VCR operation accesses the disk for theduration of the VCR operation. After the VCR mode (resume), it tries to pair itselfwith another preceding stream of the same movie in playback mode.

The size of the buffer that needs to be allocated for the following stream is anintegral number of blocks directly related to the time interval (in rounds) between thetwo streams. With the preceding and following streams processing the data in lock-step, this buffer would suffice for servicing the following stream without incurringany disk accesses. However, with a finite buffer size, not all pairs can be cached. Theinterval caching scheme allows only the smallest interval pairs to be serviced fromthe cache. Thus, when a new request is received (a new external arrival or completionof a VCR operation), it is paired up with a preceding stream, and a buffer isallocated for this pair only when (i) there is space available in the free pool or (ii)there is an interval in the cache that is larger than this new pair. In the latter case, thelarger interval pair is broken (the following stream of this pair, called the victim, willnow have to get its data from the disk), and a buffer is allocated for the newlycreated pair. Buffers are also returned to the free pool when a cached stream finishesthe playback operation, at which time this could possibly be given to a new pair or toone currently accessing the disk.

The above brief description of the video server system and the interval cachingscheme should be sufficient to understand the rest of the discussion in this paper.However, the reader is referred to Dan and Sitaram (1994) for further details on theimplementation of interval caching.

3. Analytical model

In this section, we describe an analytical model for estimating the performance ofan interactive video server that uses interval caching. Under the situation where thedisk system is being fully utilized, a server with cache can accommodate morestreams than the disk capacity, since the cached streams get data from the cache

Page 7: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413390

instead of consuming the disk bandwidth. Therefore, the average number of cachedstreams, which shows the improvement in server capacity due to interval caching, isan important performance metric. The model can be applied for analyzing a non-interactive video server (no VCR operation) as well. Input to the model is the userinteractivity and the server configuration in terms of disk capacity, cache size,number of different types of movies, and workload characteristics given by therequest arrival pattern. The output of the model is the average number of cachedstreams, Nc, which consists of two parts. The first part is the streams that have beenallocated cache, but are still in the process of catching up with what has been alreadyread into the cache. These streams continue to read data from the disks during thiscatch-up period. The second part, which is termed as Na, is the streams that areactually serviced from the cache. Our interest is in estimating Nc and Na.

3.1. User interactivity model

One of the key features of VOD service is to support various user interactions.User interactivity has been known to significantly impact the performance of VODservers (Costa et al., 2004). The impact becomes greater when it comes to the serversusing interval caching because interval caching uses the temporal locality of requeststo the same movie, which will be dynamically changed due to user interactions, toservice requests from the cache. Therefore, the model should capture the behavior ofinteractive users as realistically as possible to reflect its potential influence on theserver performance.

User interactivity is modeled by a six-state Markov process with states playback,fast-forward, rewind, pause, jump-forward, and jump-backward as shown in Fig. 2.

1

1

1

1

BACKWARD

FAST FORWARD

REWIND

PLAYBACK

FORWARDJUMP

JUMP 1

PAUSE

S2

S4

S5

PS1

PS4

PS5

PS3

PS2

S3

S1

S0

Fig. 2. Model of user interactivity.

Page 8: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

Fig. 3. Various interactive VOD operations.

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 391

The VOD operations are summarized in Fig. 3. To be realistic, the model considersthe following two parameters: the probability that a user transits from one state toanother and the duration of VOD operations. Despite previous studies on thecharacterization of user interactivity (Almeida et al., 2001; Tang et al., 2003;Cherkasova and Gupta, 2004; Costa et al., 2004), finding representative values ofthese two parameters is still an open problem. The user interactivity model isdeveloped in a way that it can adopt the values when they are available.

The initial state is playback. After spending some amount of time in the playbackmode, which is exponentially distributed with a mean p, a user generates one of thefive VCR operations with transition probabilities PSi

(i ¼ 1; . . . ; 5) for fast-forward,rewind, pause, jump-forward and jump-backward, respectively. A user stays in theVCR mode for a random amount of time, which is exponentially distributed with amean v and resumes to the playback mode. Compared to other VCR operations, auser spends negligible amount of time t in the VCR mode for jump-forward andjump-backward and immediately goes back to the playback mode. We assume that auser jumps forward/backward by some amount of time interval, which isexponentially distributed with a mean v, from the current position of the movie.

Let us term the probability that a user in the playback mode selects either fast-forward, rewind or pause operation as Pv with Pv ¼

P3i¼1PSi

and the probabilitythat a user selects either jump-forward or jump-backward operation as Pt withPt ¼

P5i¼4PSi

. Then, the probability of finding a user in the playback mode, PS0, is

p=ðpþ v � Pv þ t � PtÞ . The probability of finding a user in a VCR mode, PSi

ði ¼ 1; . . . ; 5Þ, is v � PSi=ðpþ v � Pv þ t � PtÞ for the states S1, S2 and S3 of which

average duration is v, and t � PSi=ðpþ v � Pv þ t � PtÞ for the states S4 and S5 of

which average duration is t.The required bandwidths are the same for all VOD operations because the

quality of presentation is assumed to be degraded by 1/n for n times faster VCRoperations.

3.2. Workload parameters

The interactive VOD system is described by the following workload parameters.The arrival of users to the server is assumed to follow a Poisson process with a

Page 9: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413392

parameter l without any admission control. Usually a server is controlled by anadmission control unit so that the number of streams does not exceed the capacity ofserver. Let us say lo is the controlled arrival rate.

The movies are classified to different groups according to their durations. Thedurations, DðgÞ, for all movies in a group are identical. The probability that a userrequests a movie from group g is termed as PðgÞ with

PGg¼1PðgÞ ¼ 1, where G is the

number of movie groups in the server. Typically, access to the movies are highlyskewed because the favorite movies are accessed more frequently. The movie requestpattern within a group is, therefore, modeled by the usually assumed Zipfdistribution (Dan et al., 1995; Chervenak et al., 1995). The probability massfunction of the Zipf distribution for the ith popular movie in a group g is given byzipf ðg; iÞ ¼ C=ið1�yÞ with parameter y and normalized constant C (Ross, 1994). Theskewness is controlled by y and C ¼ ½

PMðgÞn¼1 ð1=nÞ1�y��1, where MðgÞ is the number of

movies in a group g.Given a movie duration DðgÞ, the effective movie duration DaðgÞ varies depending

on how fast a user watches the movie (i.e., if a user watches a movie 3 times fastercompared to the normal playback, then DaðgÞ is DðgÞ=3). The average number ofstreams accessing moviei in a group g, nsðg; iÞ, is lo � PðgÞ � zipf ðg; iÞ �DaðgÞ byLittle’s law.

We define the disk capacity Cd of the server as the maximum number ofconcurrent streams that it can support with an acceptable jitter rate (this has beenassumed to be optimized with a disk admission control policy). For a cache-lessserver, Cd is the server capacity. The capacity of a server with a cache of size Cc islikely to increase since the cache can support more streams.

For ease of reference, the notations are summarized in Fig. 4.

3.3. The model

The goal of this model is to compute the average number of cached streams in theinteractive server, based on which some of the design and admission controldecisions can be made. In this section, we present the derivation of the model. Themodel is based on the following concepts:

(1)

The cache can be modeled as another server. When the arrival rate to the cache,lc, and the average time spent by a user in the cache, st (service time of thecache), are known, the average number of users in the cache, Nc, can becalculated by Little’s law (Nc ¼ lc

� st). Thus, the model computes lc and st

using the system and workload parameters.

(2) With a given cache size, the interval size of streams that can be cached is limited

by a constant value, denoted as L. It does not mean that the policy simplyaccepts a pair if the interval size is less than or equal to L. As explained in Section2, only if there is an available buffer space or a pair is evicted (a victim), is therequired space allocated to the pair. Because the interval caching scheme allowsonly the smallest pairs to be serviced from the cache, the interval sizes in thecache gradually get shorter and shorter until they are more or less equal (limit L)

Page 10: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

Fig. 4. Basic notations used in the model.

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 393

in the steady state. Alternatively, when we look at a snapshot of the cache in thesteady state, the interval sizes of the cached streams are almost equal and areunlikely to exceed the limit L. L is a function of the user interactivity andworkload parameters and will be computed for estimating the number of cachedstreams. L should not be mistaken as imposition by the interval caching schemeto restrict access. Rather interval size limit L is an outcome of the policy, and iscomputed in our model.

Page 11: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413394

3.3.1. Arrival rate to the cache and average cached interval size

Fig. 5 shows the flow of a request through an interactive server. Our first concernis to compute the arrival rate of requests to the cache lc.

Let streamo be a request from outside the server and streamv be a resuming requestfrom the disk after a VCR operation. For a moviei in a group g, let pairoðg; iÞ be apair made by streamo and pairvðg; iÞ be a pair made by a resumed streamv. pairoðg; iÞand pairvðg; iÞ are generated corresponding to the rates of lp

oðg; iÞ and lpvðg; iÞ,

respectively, where the superscript p denotes paired requests.The arrival rate to the cache is the arrival rate of pairs whose interval size is less

than or equal to L. Therefore, the arrival rate of pairoðg; iÞ to the cache, lcoðg; iÞ, and

that of pairvðg; iÞ to the cache, lcvðg; iÞ, are

lcmðg; iÞ ¼ lp

mðg; iÞ � PðImðg; iÞpLÞ; m ¼o for pairoðg; iÞ;

v for pairvðg; iÞ;

((1)

where PðImðg; iÞ � LÞ is the probability that interval size of pairmðg; iÞ is less than L.Thus, the arrival rate to the cache, lc, is now

lc¼XG

g¼1

XMðgÞi¼1

lcoðg; iÞ þ lc

vðg; iÞ. (2)

We will solve Eq. (1), which will be eventually used to complete Eq. (2), using thegiven workload parameters.

In Eq. (1), lpoðg; iÞ is the rate at which pairoðg; iÞ is generated, and the rate is

lpoðg; iÞ ¼ lo � PðgÞ � zipf ðg; iÞ � Ppair

o ðg; iÞ, (3)

where lo � PðgÞ � zipf ðg; iÞ is the arrival rate for a specific moviei in a group g andPpair

o ðg; iÞ is the probability that streamo makes a pair with the preceding stream of

Adm Ctl

Cache

Disk

λV

λP λc

success

failureflow into/outof cache

victim

Interactive Video Server

resume

nono

cache ?

VCR

no

exit

selected

λo make pair ?λ

Fig. 5. Flow of a user through an interactive video server.

Page 12: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 395

moviei in a group g. For streamo, unless all preceding streams in the movie are inVCR mode, it can pair up with the nearest stream. Therefore, Ppair

o ðg; iÞ is theprobability that there is at least one stream of moviei in group g which is not in VCRmode. Because it is not trivial to calculate the distribution of the number of streamsaccessing a movie, we approximate Ppair

o ðg; iÞ as ð1� ðP5

i¼1PSiÞnsðg;iÞÞ, where nsðg; iÞ is

the average number of streams watching moviei in a group g. As described in Section3.2, nsðg; iÞ can be calculated using the given workload parameters.

In Eq. (1), lpvðg; iÞ is the rate at which pairvðg; iÞ is generated, and the rate is

lpvðg; iÞ ¼ nsðg; iÞ �

P3i¼1PSi

P5i¼4PSi

t

!� Ppair

v ðg; iÞ, (4)

where

nsðg; iÞ �

P3i¼1PSi

P5i¼4PSi

t

!

indicates how frequently streams are resuming from VCR mode and Ppairv ðg; iÞ is the

probability that streamv makes a pair with the preceding stream of the moviei in agroup g. In Eq. (4), the only unknown term is Ppair

v ðg; iÞ.As shown in Fig. 6, compared to streamo, which always arrives at the beginning of

a movie, a streamv can arrive at any arbitrary location of the movie depending onwhere it started the VCR operation and how far it moved either forward orbackward in the VCR mode. Therefore, it is not straightforward to determine thenumber of streams ahead of streamv and thus the probability Ppair

v ðg; iÞ.In the model, Ppair

v ðg; iÞ is formulated by considering all the locations where astreamv might arrive. We digitize the continuous viewing of a movie in units ofseconds to specify the discrete locations of the movie (for instance, a 90min moviehas 90� 60 locations). Let ‘ be the ‘th location from the beginning of the movie.When a streamv arrives at location ‘, the probability that it pairs up with thepreceding stream, Ppair

v ð‘Þ, depends on ‘ (i.e., if a streamv arrives in the beginning ofthe movie, the probability that it will make a pair is high since there would be manypreceding streams ahead of it). The probability that streamv makes a pair at location‘ is approximated as described below.

Fig. 6. Interval size between two streams.

Page 13: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413396

Let Tðg; iÞ be the time interval between a stream and the very next stream accessingmoviei in a group g regardless of whether they are new streams, resumed streams, orstreams in PB or VCR mode. The distribution of Tðg; iÞ is approximated as anexponential distribution with a mean of ðDðgÞ=nsðg; iÞÞ, as nsðg; iÞ streams are spreadover the movie length DðgÞ on the average. Because the interval made at location ‘cannot exceed the remaining movie length, the probability that streamv makes a pairat location ‘ is

Ppairv ðg; iÞð‘Þ ¼ F Tðg;iÞðRÞ ¼ 1� e�R=ðDðgÞ=nsðg;iÞÞ, (5)

where R ¼ ðDðgÞ � ‘Þ. Eq. (5) implies that the probability is a function of theremaining movie length R, and thus a higher value of R gives a higher probability ofPpair

v ðg; iÞð‘Þ. Ppairv ðg; iÞ can be calculated by averaging Ppair

v ðg; iÞð‘Þ with respect to allpossible locations of the movie, and becomes

Ppairv ðg; iÞ ¼

1

DðgÞ

XDðgÞ‘¼1

Ppairv ðg; iÞð‘Þ. (6)

Now, the only unknown term in the Eq. (1) is PðImðg; iÞpLÞ, the probability thatinterval size of a pair is less than or equal to L and thereby the pair is accepted to thecache. To compute this term, find the distribution of interval size of a pair.

The distribution of interval time of pairoðg; iÞ, X ðg; iÞ, is ðf Tðg;iÞðxÞÞ=ðF Tðg;iÞðDaðgÞÞÞ

where f Tðg;iÞ and FTðg;iÞ are the PDF and CDF of Tðg; iÞ, respectively. X ðg; iÞ isconditioned by the effective movie duration DaðgÞ because a time interval cannotexceed the movie duration. The expected value of X ðg; iÞ is

E½X ðg; iÞ� ¼

Z DaðgÞ

0

xf Tðg;iÞðxÞ

F Tðg;iÞðDaðgÞÞdx. (7)

The effective movie duration DaðgÞ is given by DðgÞ=speed. Speed, in turn, is therelative speed of an interactive user compared to a non-interactive user. Note thatany one of the VCR operation will change speed and thus the effective movieduration. For example, a fast-forward will decrease the movie duration, while arewind will increase the movie duration. Speed is defined as distance=time where timecorresponds to the average duration of playback and VCR operation and distance ishow far a user goes forward or backward during the time period. Thus, we writethese two terms as

time ¼ p �PS0þ v � ðPS1

þPS2þPS3

Þ þ t � ðPS4þPS5

Þ. (8)

distance ¼ p �PS0þ n � v �PS1

� n � v �PS2þ v �PS4

� v �PS5. (9)

Distance is calculated on the assumption that fast-forward and rewind are n times

the normal playback speed and a user jumps forward/backward by a distance v onthe average from the current movie location. Eq. (9) does not show the term forpause, 0 �PS3

, because a stream does not change its location due to pause operation.Finally, E½Ioðg; iÞ�, the average interval size of pairoðg; iÞ in MB, is

E½Ioðg; iÞ� ¼ dE½X ðg; iÞ� � re. (10)

Page 14: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 397

Next, we calculate the average interval size of pairvðg; iÞ, E½Ivðg; iÞ�. Because it is nottrivial to get the distribution of the interval size of pairvðg; iÞ, we approximateE½Ivðg; iÞ� by considering how a streamv can make a pair. The validation of thismodel, discussed later, shows that the result is quite accurate. With reference to Fig.6, the time interval at location ‘, Y ðg; iÞð‘Þ, should be conditioned by the remainingmovie length. Thus, the average interval time at location ‘ is

E½Y ðg; iÞð‘Þ� ¼

Z R

0

xf Tðg;iÞðxÞ

F Tðg;iÞðRÞdx, (11)

where R ¼ ðDðgÞ � ‘Þ. Note the difference between E½X ðg; iÞ� and E½Y ðg; iÞð‘Þ�. Theformer is integrated over the entire movie length DaðgÞ, while for the resumingstreams, it is based on where it joined for playback ðR ¼ DðgÞ � ‘Þ. The averageinterval of pairvðg; iÞ, E½Y ðg; iÞ�, is calculated by considering E½Y ðg; iÞð‘Þ� with respectto all possible locations of the movie.

E½Y ðg; iÞ� ¼XDðgÞ‘¼1

E½Y ðg; iÞð‘Þ� �Ppairðg; iÞð‘ÞPDðgÞ

j¼1 Ppairðg; iÞð‘Þ

!, (12)

where ðPpairðg; iÞð‘ÞÞ=ðPDðgÞ

j¼1 Ppairðg; iÞð‘ÞÞ is a normalized factor that gives differentweights to different locations. The weight is decided by the probability of making apair at location ‘, Ppairðg; iÞð‘Þ.

Finally, E½Ivðg; iÞ�, the average of interval size of pairvðg; iÞ in MB is

E½Ivðg; iÞ� ¼ dE½Y ðg; iÞ� � re. (13)

The probability that a pair can be cached is now

PðImðg; iÞpLÞ ¼ F Imðg;iÞðLÞ ¼ 1� e�L=ðE½Imðg;iÞ�Þ; m ¼o for pairoðg; iÞ;

v for pairvðg; iÞ:

(

(14)

Eq. (14) can be solved if we know L. In recapitulation, we now have all the terms inEq. (1) to compute the arrival rate to the cache, lc, except L. The procedure to find L

will be discussed later. Our next concern is to calculate the average cached intervalsize of a pair.

Let us define the cached interval size of pairoðg; iÞ as Icoðg; iÞ and that of pairvðg; iÞ as

Icvðg; iÞ. The expected value of Ic

oðg; iÞ, E½Icoðg; iÞ�, and that of Ic

vðg; iÞ, E½Icvðg; iÞ�, are the

expected values of interval size with the constraints Ioðg; iÞpL and Ivðg; iÞpL,respectively. Thus,

E½Icmðg; iÞ� ¼

Z L

0

xf Imðg;iÞðxÞ

F Imðg;iÞðLÞdx; m ¼

o for pairoðg; iÞ;

v for pairvðg; iÞ:

((15)

We will use E½Icoðg; iÞ� and E½Ic

vðg; iÞ� for computing the number of cached streams.Next, we need the cache service time so that Little’s law can be applied to find Nc.

Page 15: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413398

3.3.2. Service time of the cache

After a following stream makes a pair with the preceding stream, the requiredspace is allocated to the following stream if there is available free space for theinterval size. The following stream gets data from the cache, while the precedingstream brings data from the disk and saves them in the cache. Service time is definedas the length of time for which a following stream receives data from the cachebefore leaving it.

A following stream relinquishes the cache if (1) either the following or thepreceding stream of the pair generates a VCR operation, or (2) the preceding streamcompletes the movie and leaves the cache, or (3) the following stream is chosen as avictim. Our model excludes the victim case since its probability is negligiblecompared to the other two cases in steady state. The model specifically captures thefirst scenario.

Let us assume a stream pairs up with the preceding stream at time t. Either thefollowing stream or the preceding stream can generate a VCR operation. As shownin Fig. 7, the time for generating a VCR operation is tþ DF for the following stream,and tþ DP for the preceding stream. If a following stream generates a VCRoperation before the preceding stream (DFoDP), the following stream breaks thepair and gets out of the cache at tþ DF . If a preceding stream does it before thefollowing stream (DF4DP), then it breaks the pair at tþ DP, and the followingstream subsequently gets data from the disk (the probability that DF ¼ DP isnegligible). Finally, a pair is broken when the preceding stream finishes the movie attþ DR.

Our model does not consider the last case of completion of a movie because ithappens only when a preceding stream is close to the end of the movie (theprobability that DRominðDF ;DPÞ is low). Our aim is to compute the expected valueof cache service time for the cases (DFoDP) and (DF4DP). DF is exponentiallydistributed with a mean of p because a following stream generates a VCR operationin p seconds (on the average) after it pairs up with the preceding stream at time t. Asfor a preceding stream, it has already spent some random amount of time in the PBmode before becoming a preceding stream. Thus, DP is its residual playback timebefore generating a VCR operation. The average residual time of a random variableX is x̄2=2x̄, where x̄ and x̄2 are the first moment and second moment, respectively(Molloy, 1989). Therefore, DP is also exponentially distributed with a mean of p.

The distribution of cache service time, S, can be derived as follows. We start bydefining service time of the cache, S, as minðDF , DP), because the pair breaks whenany one of the streams generates a VCR operation. Note that DF and DP are

stream

∆P∆F

following

movie i

streampreceding

∆Rendbegin

Fig. 7. Breaking a pair by following and preceding stream.

Page 16: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 399

independent terms. Thus, S ¼ minðDF ;DPÞ. This gives

1� FSðxÞ ¼ P½S4x� ¼ P½minðDF ;DPÞ4x�

¼ ½1� FDF ðxÞ�½1� FDPðxÞ�.

FSðxÞ thus reduces to

FSðxÞ ¼ 1� e�2x=p. (16)

The PDF f SðxÞ can be given by

f SðxÞ ¼2

pe�2x=p. (17)

Hence, the average service time, st, is

st ¼p

2. (18)

3.3.3. Average number of the cached streams

With the arrival rate to the cache, lc, and the service time of the cache, st, we cannow compute the average number of cached streams based on Little’s law. Withreference to Eq. (2), the average number of the cached streams, Nc, is

Nc ¼ lc � st ¼XG

g¼1

XMðgÞi¼1

ðlcoðg; iÞ þ lc

vðg; iÞÞ � st. (19)

We have computed all the terms of Eq. (19) except L.Multiplying the number of cached streams with the average cached interval size

gives the approximate cache size. Eq. (15) computes the average cached interval sizeof pairoðg; iÞ, E½Ic

oðg; iÞ� and that of pairvðg; iÞ, E½Icvðg; iÞ�, for moviei in a group g. In

Eq. (15), L is again the only unknown term.Thus, the cache size is

Cc �XG

g¼1

XMðgÞi¼1

ðNoðg; iÞ � E½Icoðg; iÞ� þNvðg; iÞ � E½Ic

vðg; iÞ�Þ, (20)

where Noðg; iÞ and Nvðg; iÞ are the average number of cached streamo and streamv

accessing moviei in a group g, respectively, with Noðg; iÞ ¼ lcoðg; iÞ � st and

Nvðg; iÞ ¼ lcvðg; iÞ � st.

Because L is the only unknown variable in Eq. (20), the value of L can becalculated for a given cache size. Finally, by plugging in the L value in Eq. (19), thenumber of cached streams in the server, Nc, can be calculated.

Note that Nc includes two types of cached streams: (i) a stream which is stillcatching up with the preceding stream and (ii) a truly cached stream. While catchingup, a stream receives data from the disk, and thus consumes disk bandwidth. A trulycached stream receives data only from the cache, and we term it as Na.

Page 17: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413400

Let us compute the probability that a stream is still trying to catch up with thepreceding stream. If a following stream has not stayed in the cache longer than thecached interval, it is expected to be still trying to catch up with the preceding stream.Service time of the cache, S, is exponentially distributed with a mean of st. Thus, theprobability that a cached stream is still in the catch up mode is obtained from

Pcatchupm ðg; iÞ ¼ P Sp

E½Icmðg; iÞ�

r

� �¼ 1� eð�E½Ic

mðg;iÞ�=rÞ=st,

m ¼o for pairoðg; iÞ;

v for pairvðg; iÞ:

(ð21Þ

The number of the truly cached streams, Na, is now

Na ¼XG

g¼1

XMðgÞi¼1

Noðg; iÞ � ð1� Pcatchupo ðg; iÞÞ þNvðg; iÞ � ð1� Pcatchup

v ðg; iÞÞ. (22)

The model can compute the average number of cached streams for any of the otherVCR operations in isolation, or for any combination of the five VCR operations aslong as their probabilities are known. We have thoroughly tested differentcombinations of VCR operations with different probabilities and the results arevery close to those of the simulation. Section 3.4 presents the results for allVCR operations with transition probabilities PS1

¼ PS2¼ PS3

¼ 0:25 and PS4¼

PS5¼ 0:125.

3.3.4. Non-interactive server

A user does not generate any VCR operations in a non-interactive server.Currently available pay-per-view systems belong to this category. Our model alsoworks for such non-interactive servers by setting PSi

ði ¼ 1; . . . ; 5Þ ¼ 0 which makesspeed ¼ 1(DaðgÞ ¼ DðgÞ). Other VCR operation related terms such as the means ofVCR duration, v and t, and arrival rate of resuming stream to the cache, lc

vðg; iÞ, andcached interval size of resuming stream, E½Ic

vðg; iÞ�, are not required in thecomputation. The average cache service time, st, should be DðgÞ since once a cacheis allocated to a following stream, it is occupied until completion of the movie (again,victim probability is ignored).

3.4. Validation of the model

The three important parameters that determine the accuracy of the analyticalmodel are: (1) average interval sizes E½Ioðg; iÞ� and E½Ivðg; iÞ� for pairoðg; iÞ andpairvðg; iÞ, respectively, (2) average number of cached streams Nc, and (3) averagenumber of truly cached streams Na. These parameters have been validated throughextensive simulation. An event-driven simulation for this system has been written inCSIM. Steady-state outputs are obtained for 90% confidence limits that lie within �10% of the mean.

Page 18: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 401

3.4.1. Workload parameters

The server is assumed to have 3 movie groups (G ¼ 3), with duration of movies ina group DðgÞ being 60, 90, and 120min. The number of movies in each group, MðgÞ,is assumed to be 50. The probabilities to select a group g, PðgÞ, are Pð1Þ : Pð2Þ :Pð3Þ ¼ 0:2 : 0:2 : 0:6 (or 1=3 : 1=3 : 1=3). For the server with a single movie groupðG ¼ 1Þ, Dð1Þ ¼ 90 min and Mð1Þ ¼ 100. For an interactive server, PSi

ði ¼ 1; 2; 3Þ ¼0:25 and PSi

ði ¼ 4; 5Þ ¼ 0:125. All VCR operation-related parameters areinactivated for a non-interactive server. Note that the model has been validatedfor different combinations of VCR operations as specified by their durations andtransition probabilities.

Although the model can be applied to any combination of workload parameters,we had to fix some of the parameters for the validation purpose. These are,r ¼ 1:5Mbps, y ¼ 0:271, Cc ¼ 1GB and n ¼ 3 times. The meanings of notations aredescribed in Fig. 4.

3.4.2. The average interval size of pairoðg; iÞ and pairvðg; iÞFig. 8 shows the average interval size of a pairoðg; iÞ, E½Ioðg; iÞ�, and the average

interval size of a pairvðg; iÞ, E½Ivðg; iÞ� for an interactive server with 3 movie groupsðG ¼ 3Þ. These are shown in MBs as a function of the popular movies (moviei). Any

0.0 10.0 20.0 30.0 40.0 50.0movie i

0.0

100.0

200.0

300.0

400.0

500.0

MB

analysissimulation

0.0 10.0 20.0 30.0 40.0 50.0movie i

0.0

100.0

200.0

300.0

400.0

500.0

MB

analysissimulation

0.0 10.0 20.0 30.0 40.0 50.0movie i

0.0

100.0

200.0

300.0

400.0

500.0

MB

analysissimulation

(a) (b)

(c)

Fig. 8. Interactive server : p=v ¼ 480=60, 1=l ¼ 10 s, G ¼ 3, PðgÞ ¼ 1=3, MðgÞ ¼ 50 (E½Ioðg; iÞ� (uppergraph) and E½Ivðg; iÞ� (lower graph)): (a) g ¼ 1, Dð1Þ ¼ 60 min, (b) g ¼ 2, Dð2Þ ¼ 90 min and (c) g ¼ 3,

Dð2Þ ¼ 120 min.

Page 19: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413402

one of the groups can be selected with an equal probability, PðgÞ ¼ 1=3. Thepopularity of a movie within a group is decided by Zipf distribution with parametery ¼ 0:271. We have chosen p=v ¼ 480=60 to check the accuracy of the model withhigh user interactivity (in this case, a user generates a VCR operation every 8minand stays in the VCR mode for 1min on the average).

The results from the model and simulation match very closely. Because a streamv

arrives in between two streams, E½Ivðg; iÞ� is smaller than E½Ioðg; iÞ� (in Fig. 8, amoviei has higher value of E½Ioðg; iÞ� than that of E½Ivðg; iÞ�). For popular movies,E½Ioðg; iÞ� and E½Ivðg; iÞ� are smaller because frequent access to a movie results insmaller intervals. For less popular movies, the gap is larger.

Fig. 9 depicts the results for a non-interactive sever. The workload parameters arethe same as described above except those related to VCR operations. Since there areno pairs formed after a VCR operation, these figures present only E½Ioðg; iÞ�.

In Fig. 10, the results for interactive servers with only one type of movie ðG ¼ 1Þand different combinations of inter-arrival time and movie durations are shown. Thenumber of movies in each server is set to 100.

3.4.3. Average number of cached streams

Fig. 11 presents analysis and simulation results for the number of cached streams(Nc and Na) in an interactive server with multiple movie groups. The results for a

0.0 10.0 20.0 30.0 40.0 50.0movie i

0.0

100.0

200.0

300.0

400.0

500.0

MB

analysissimulation

0.0 10.0 20.0 30.0 40.0 50.0movie i

0.0

100.0

200.0

300.0

400.0

500.0

MB

analysissimulation

0.0 10.0 20.0 30.0 40.0 50.0movie i

0.0

100.0

200.0

300.0

400.0

500.0

MB

analysissimulation

(a) (b)

(c)

Fig. 9. Non-interactive server : 1=l ¼ 10 s, G ¼ 3, PðgÞ ¼ 1=3, MðgÞ ¼ 50 (E½Ioðg; iÞ� only): (a) g ¼ 1,

Dð1Þ ¼ 60 min, (b) g ¼ 2, Dð2Þ ¼ 90 min and (c) g ¼ 3, Dð3Þ ¼ 120 min.

Page 20: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

0.0 20.0 40.0 60.0 80.0 100.0movie i

0.0

100.0

200.0

300.0

400.0

500.0M

Banalysissimulation

analysissimulation

analysissimulation

analysissimulation

0.0 20.0 40.0 60.0 80.0 100.0movie i

0.0

100.0

200.0

300.0

400.0

500.0

MB

0.0 20.0 40.0 60.0 80.0 100.0movie i

0.0

100.0

200.0

300.0

400.0

500.0

MB

0.0 20.0 40.0 60.0 80.0 100.0movie i

0.0

100.0

200.0

300.0

400.0

500.0

MB

(a) (b)

(d)(c)

Fig. 10. Various interactive servers of a single movie group : G ¼ 1, Mð1Þ ¼ 100 (E½Ioðg; iÞ� (upper graph)and E½Ivðg; iÞ� (lower graph)): (a) 90min, 1=l ¼ 10 s, (b) 90min, 1=l ¼ 20 s, (c) 45min, 1=l ¼ 10 s and (d)

45min, 1=l ¼ 20 s.

Fig. 11. Interactive server: G ¼ 3, MðgÞ ¼ 50, Dð1Þ ¼ 60 min, Dð2Þ ¼ 90 min, Dð3Þ ¼ 120 min.

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 403

non-interactive server with multiple movie groups and those for interactive servers ofa single movie group are also presented in Figs. 12 and 13, respectively. The accuracyof the model is measured by relative error between simulation and analysis results.

Page 21: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

Fig. 12. Non-interactive server: G ¼ 3, MðgÞ ¼ 50, Dð1Þ ¼ 60 min, Dð2Þ ¼ 90 min, Dð3Þ ¼ 120 min.

Fig. 13. Interactive server of a single movie group: G ¼ 1, Mð1Þ ¼ 100.

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413404

The results from the model and simulation match very closely. The relative errors liein the range of 0.1–11.2% (most of them are under 4%) except for one case where asmall value of Na (e.g., Nao14) results in a large relative error even with a smalldifference between analysis and simulation results.

4. Model as a design tool

Having extensively validated our model, we next illustrate its use for differentdesign decisions. All experiments in this section are done for an interactive serverwith a single movie group ðG ¼ 1Þ.

4.1. Statistical admission control

The admission control unit in a video server has two functions: (i) it shouldmaximize the system performance (throughput and utilization) and (ii) should meet

Page 22: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 405

the QoS requirements of all the clients admitted to the system. Without any cachingscheme, an admission control simply limits the number of clients to the disk capacity,Cd . Because interval caching can accept Na more clients on the average, it intuitivelyappears that the admission control algorithm can set the limit to Cd þNa clients.However, this can introduce jitters, because whenever a cached stream becomes avictim or starts a VCR operation, it may not find the available disk bandwidth toserve it. One way of addressing this problem is by reserving a fixed amount of diskbandwidth to take care of such streams. In this section, we show that it is possible todevelop a statistical admission control policy using this reserved disk bandwidth tominimize jitter and maximize server throughput. The amount of disk bandwidth thatshould be reserved can be estimated from the average number of cached streams Na.

Disk overflow occurs when the number of streams that needs to access the disk ismore than the disk capacity. Clients may face jitter when there is disk overflow. LetX denote the number of streams susceptible to overflow in the server. Then, X is arandom variable expressed as

X ¼S �N � Cd ifS �N � Cd40;

0 otherwise;

(

where both S and N are random variables, that denote the number of streams andthe number of cached streams in the server, respectively. It is not trivial to get thedistribution of X because the distributions of both S and N are unknown, and theyare not independent of each other. Therefore, we estimate the number of streams,those are susceptible to overflow, with another random variable Y, expressed as

Y ¼NSm �N � Cd ¼ Na �N ifNa �N40;

0 otherwise;

(

where NSm is the average number of streams in the server when the disk is almostfully utilized. We can find NSm from NS, Na, and Cd using Fig. 14. The averagenumber of streams at the server, NS, is

PGg¼1

PMðgÞi¼1 nsðg; iÞ and the server capacity

λo

NSm

nu

mb

er o

f st

ream

s

arrival rate

Server Capacity

Disk Capacity

NS

Na

Fig. 14. Computation of NSm.

Page 23: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

0.0 50.0 100.0 150.00.01.02.03.04.05.06.07.08.0

0.0 50.0 100.0 150.00.01.02.03.04.05.06.07.08.0

σσ

Na Na(a) (b)

Fig. 15. Relationship between Na and s: (a) d 5% and (b) do5%.

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413406

(Cd þNa) can be obtained as a function of arrival rate using our model. Theintersection of NS and the server capacity gives NSm and the corresponding lo,where the server utilization is close to 1. Note that NSm is Na + Cd when arrival rateis lo.

Next, we need to find the distribution of N for the arrival rate lo. Throughextensive simulation, it was observed that N follows a normal distribution withparameter (Na, s2), where Na is the mean and s is the standard deviation. Weconducted another simulation experiment to hypothesize the relationship between sand Na. Fig. 15 shows these simulation results for two different ranges of userinteractivity. We define the degree of user interactivity, d, as d ¼ v=ðpþ vÞ. A highdegree of interactivity implies that a user stays in the VCR mode longer. Using curvefitting, we obtained the relationship between Na and s as

s �1:5 log Na; d 5%;

0:028Na þ 3:0; do5%:

(

These results are plotted in Fig. 15. Finally, the distribution of Y is

f Y ðyÞ ¼

0 ifyo0;

0:5 ify ¼ 0;

f N ðNa � yÞ ify40:

8><>:

Even though Y is not normally distributed, the area under the PDF curve of Y, for0oy, is found to be the same as that of N for Naon. Because 47.72% of the totalarea of the normal distribution curve lies between the mean and 2s, about 95.4% ofall possible Y values lie in the range 0 � y � 2s.

We simulated the video server by employing an admission control policy thataccepts clients until the disk capacity is Cd � xs, where x � 2. The arrival rate is highenough to saturate the server. We define jitter rate as the rate of clients evicted fromthe cache but found no available disk bandwidth to serve them. Server throughput isdefined as the number of clients served per unit time. Fig. 16 shows the jitter rate andthroughput as a function of s for different degrees of user interactivity. By reserving2s disk bandwidth, we can minimize the jitter rate to almost zero. The throughput

Page 24: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

0 1 σ 2 σreserved disk bandwidth

0.000

0.005

0.010

0.015

0.020

0.025

0.030jit

ter

rate

0 1 σ 2 σreserved disk bandwidth

0.0600

0.0700

0.0800

0.0900

0.1000

0.1100

0.1200

0.1300

thro

ug

hp

ut

0 1 σ 2 σreserved disk bandwidth

0.000

0.005

0.010

0.015

0.020

0.025

0.030

jitte

r ra

te

0 1 σ 2 σreserved disk bandwidth

0.0600

0.0700

0.0800

0.0900

0.1000

0.1100

0.1200

0.1300

thro

ug

hp

ut

(a)

(c)

(b)

(d)

Fig. 16. Jitter rate and throughput (1=l ¼ 7 s, Dð1Þ ¼ 90 min, Cc ¼ 1GB, Cd ¼ 600 streams): (a) jitter

rate (d ¼ 0:11), (b) throughput (d ¼ 0:11), (c) jitter rate (d ¼ 0:016) and (d) throughput (d ¼ 0:016)

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 407

loss due to this reservation is insignificant (1.8%) compared to when s ¼ 0 for bothhigh and low user interactivity. The s in turn can be computed from the proposedmodel.

4.2. Rejection probability

When the server is fully utilized, new requests are rejected to avoid introducingjitters in the streams already being serviced. This is the purpose of an admissioncontrol mechanism. With l as the arrival rate of requests without any admissioncontrol, and lo as the arrival rate with an admission control policy, the rejectionprobability, Pr, is ðl� loÞ=l. It is intuitive that rejection probability goes up with thearrival rate. The more interesting issue is the relationship between user interactivityand rejection probability for a given arrival rate.

Fig. 17 shows the impact of the cache and user interactivity (d ¼ v=ðpþ vÞ) on therejection probability. The nature of the VCR operation plays an important role onthe rejection probability. For instance, let us examine the server without a cache, andlook at the graphs for the rewind and fast-forward operations with different degreesof interactivity. With only fast-forward operations, streams reach the end of thevideo quicker, resulting in a shorter staying time at the server. As a result, withhigher degrees of fast-forward interactivity, the rejection probability decreases.Rewind operation, however, works the other way in increasing the staying time. This

Page 25: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

0.06 0.08 0.10 0.12 0.14arrival rate

0.0

0.1

0.2

0.3

0.4re

ject

ion

pro

bab

ility

rw (no cache)rw (1GB)ff (no cache)ff (1GB)

0.06 0.08 0.10 0.12 0.14

arrival rate

0.0

0.1

0.2

0.3

0.4

reje

ctio

n p

rob

abili

ty rw (no cache)

rw (1GB)ff (no cache)ff (1GB)

(a) (b)

Fig. 17. Rejection probability (Dð1Þ ¼ 90 min, Cc ¼ 1GB, Cd ¼ 500 streams): (a) d ¼ 0:11 and (b)

d ¼ 0:016.

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413408

leads to a higher rejection probability with higher degree of rewind operation. Acache, as expected, lowers the rejection probability, regardless of whether it is fast-forward or rewind, and the model can quantify this observation.

The model will also be very useful to configure the system for a specified rejectionprobability Pr and a given arrival rate of requests. With these inputs, together withthe degree of user interactivity, the model can be used to find out the cache size thatshould be provided in the server, i.e., for a given l, we can calculate the cache size,Cc, which can support Na number of cached streams to make ðl �Da � ðCdþ

NaÞÞ=l �Da ¼ Pr.

4.3. Impact of system/workload parameters

This section addresses the impact of skewness of request pattern, movie length,and cache size on the efficiency of interval caching.

4.3.1. Request and movie parameters

Fig. 18 shows the impact of skewness of request pattern on Pc (percentage ofstreams that are cached ¼ Na=NS). A higher skewing leads to a smaller interval inthe cache (for the popular movies), resulting in a higher Pc. In addition to confirmingthe earlier simulation results in Dan and Sitaram (1994), these results show that alarger skewness improves throughput with user interactivity. As with caching, alarger skewness also tends to slightly dampen the effect of user interactivity. Forinstance, with a skewness of y ¼ 1:0, the higher interactive version (d ¼ 0.11)supports 43% fewer streams than the less interactive version, while with a skewnessof y ¼ 0:0, the difference is 30%.

A shorter movie length would reduce the staying time of the streams in the systemto increase the server throughput, if the arrival rate remains the same. To find outwhat would happen with different movie lengths if the total number of clients at theserver remains fixed, we plot Pc for 45 and 90min movies in Fig. 19. The arrival rates

Page 26: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

0.11 0.016 no vcr

degree of user interactivity

0.0

10.0

20.0

30.0

Pc(

%)

movie length

90min

45min

Fig. 19. Impact of movie length ðNS ¼ 1000Þ.

0.0 0.1 0.271 0.75 1.0Zipf parameter

0.0

5.0

10.0

15.0

20.0

25.0

Pc

(%)

skewness

d = 0.11

d = 0.016

Fig. 18. Impact of skewness (90min, T ¼ 10).

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 409

are adjusted to keep the number of clients at the server (NS) at 1000 in theseexperiments. We again find that a shorter movie length gives a higher Pc.

Interval caching, with or without user interactivity, benefits from a skewed requestdistribution and short movie lengths. Many previous studies have pointed out thatrequest distributions are highly skewed. Also, interactive VOD is gaining popularityin several domains with shorter (30min or less) video clips. For instance, VOD

Page 27: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

0.11

degree of user interactivity

0.0161.2

6.2

11.2

16.2

21.2

26.2

Pc

(%)

cache size

500 MB1000 MB1500 MB2000 MB

Fig. 20. Impact of cache size (y ¼ 0:271).

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413410

systems are being increasingly deployed in educational (schools/universities) andcorporate (information and training) environments, where the clips are typicallyshorter than 30min. These workloads can benefit a lot from interval caching, evenwith substantial user interactivity.

4.3.2. Cache size

As expected, a larger cache helps performance and Fig. 20 confirms this intuition.However, it should be noted that the improvement is not linear with the cache size.In fact, the performance tends to flatten after a while as was observed in Dan andSitaram (1994). Larger cache sizes lead to larger intervals being cached. There is apoint beyond which the cached interval size grows faster than the increase in cachesize. These results show that there is a point of diminishing returns beyond which itdoes not help increasing the cache size, regardless of the presence of userinteractivity.

5. Concluding remarks and future work

Server throughput is one of the most important considerations in the design,deployment and use of interactive VOD systems. The server has to guarantee asteady and seamless delivery of data to different clients as dictated by their QoSrequirements. In addition, it has to accommodate the whims of different interactiveusers in terms of the VCR operations (fast-forward, rewind, pause, indexed-search,etc.), that they may require during service, without degrading the QoS of otherrequests being serviced.

Page 28: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 411

This paper presented an elegant mathematical tool that closely models thecomplex behavior of interval caching in a video server with or without userinteractivity. By simply plugging in the user interactivity and system configurationparameters, one could quantify the effectiveness of interval caching in a video server.Our results show that a server with interval caching can support more clients thanone without caching. Consequently, more clients can be admitted by the server,without degrading the service for other clients, than that dictated by a deterministicadmission control strategy employed in the evaluation studies (which bases itsdecision on disk capacity). We developed such a statistical admission controlmechanism, which can be used to admit more clients into the server based on the diskutilization without causing jitters to the clients already being serviced. The impact ofcache size, user interactivity and other workload parameters on server throughputhas been studied using the model. As expected, throughput increases with cache size(with or without user interactivity), though there is a point of diminishing returnsbeyond which the rewards are not worth the cost of adding more cache. We find thatfast-forward tends to decrease the number of client requests which are refused servicefrom the server, while rewind works the other way around. Given that the rejectionprobability for client requests needs to be limited to a certain threshold, the modelcan be used to find the required cache size.

We plan to extend this work in two main directions: first, we will examine theapplication of interval caching for distributed environments where caches aredistributed among cooperative client systems (e.g., peer-to-peer community), andinvestigate how the model can be extended to evaluate the efficiency of distributedinterval caching. Second, we plan to conduct research on storage architectures anddisk scheduling and placement algorithms optimized for servers using intervalcaching, and develop an analytical model of such a storage system. The storagesystem model can be integrated into the model proposed in this paper, to be used inthe investigation on how disk configurations and disk algorithms further improve theperformance of servers employing interval caching.

References

Almeida JM, Krueger J, Eager DL, Vernon MK. Analysis of educational media server workloads. In:

Proceedings of the 11th international workshop on network and operating systems support for digital

audio and video (NOSSDAV), Port Jefferson, USA, 2001. New York: Association for Computing

Machinery, 2001. p. 21–30.

Chan C, Huang S, Wang J. Cooperative cache framework for video streaming applications. In:

Proceedings of the IEEE international conference on multimedia and expo (ICME), Baltimore, USA,

vol. 2. 2003. Silver Spring, MD: IEEE Computer Society; p. 313–6.

Chen MS, Kandlur DD, Yu PS. Support for fully interactive playout in disk-array-based video server. In:

Proceedings of the second ACM international conference on multimedia, San Francisco, USA, 1994.

New York: Association for Computing Machinery; 1994. p. 391–8.

Cherkasova L, Gupta M. Analysis of enterprise media server workloads: access patterns, locality, content

evolution, and rates of change. IEEE/ACM Trans Networking 2004;12(5):781–94.

Chervenak AL, Patterson DA, Katz RH. Choosing the best storage system for video service. In:

Proceedings of the third ACM international conference on multimedia, San Francisco, USA, 1995.

New York: Association for Computing Machinery; 1995. p. 109–19.

Page 29: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413412

Cho K, Ryu Y, Won Y, Koh K. Virtual interval caching scheme for interactive multimedia streaming

workload. Lecture notes in computer science, vol. 2869. Berlin: Springer; 2003. p. 276–83.

Costa C, Cunha I, Borges A, Ramos C, Rocha MM, Almeida JM, Ribeiro-Neto B. Analyzing client

interactivity in streaming media. In: Proceedings of the 13th international conference on world wide

web, Manhattan, USA, 2004. Silver Spring, MD: Association for Computing Machinery; 2004.

p. 534–43.

Dan A, Sitaram D. Buffer management policy for an on-demand video server. IBM Watson Research

Center, RC 19347, 1994.

Dan A, Sitaram D. A generalized interval caching policy for mixed interactive and long video workloads.

In: Proceedings of multimedia computing and networking (MMCN), San Jose, USA, 1996. The

International Society for Optical Engineering, 1996. p. 344–51.

Dan A, Shahabuddin P, Sitaram D, Towsley D. Channel allocation under batching and VCR control in

video-on-demand systems. J Parallel Distributed Comput 1995;30(2):168–79.

Dan A, Sitaram D, Shahabuddin P. Scheduling policies for an on-demand video server with batching. In:

Proceedings of the second ACM international conference on multimedia, San Francisco, USA, 1994.

New York: Association for Computing Machinery; 1994. p. 15–23.

Deloddere D, Verbiest W, Verhille H. Interactive video-on-demand. IEEE CommunMag 1994;32(5):82–8.

Dey-Sircar JK, Salehi JD, Kurose JF, Towsley D. Providing VCR capabilities in large-scale video servers.

In: Proceedings of the second ACM international conference on multimedia, San Francisco, USA,

1994. New York: Association for Computing Machinery; 1994. p. 25–32.

Garofalakis M, Ioannidis YE, Ozden B. Throughput-competitive admission control for continuous media.

In: Proceedings of the 17th ACM SIGACT-SIGMOD-SIGART symposium on principles of database

systems, Seattle, USA, 1998. New York: Association for Computing Machinery; 1998. p. 79–88.

Gemmell DJ, Vin HM, Kandlur D, Rangan PV, Rowe LA. Multimedia storage servers: a tutorial.

Computer 1995;28(5):40–9.

Golubchik L, Lui JCS, Muntz R. Reducing I/O demand in video-on-demand storage servers. In:

Proceedings of the 1995 ACM SIGMETRICS joint international conference on measurement and

modeling of computer systems, Ottawa, Canada, 1995. New York: Association for Computing

Machinery; 1995. p. 25–36.

Guo Y, Shu K, Kurose J, Towsley D. A peer-to-peer on-demand streaming service and its performance

evaluation. In: Proceedings of the IEEE international conference on multimedia and expo (ICME),

Baltimore, USA, vol. 2. 2003. Silver Spring, MD: IEEE Computer Society; 2003. p. 649–52.

Lin FYS. Optimal real-time admission control algorithms for the video-on-demand (VOD) service. IEEE

Trans Broadcasting 1998;44(4):402–8.

Little TDC. Editorial: multimedia storage servers. Comput Commun 1995;18(3):131–2.

Little TDC, Venkatesh D. Prospects for interactive video-on-demand. IEEE Multimedia 1994;1(3):14–24.

Molloy MK. Fundamentals of performance modeling. New York: Macmillan; 1989.

Reddy ALN, Wyllie JC. I/O issues in a multimedia system. Computer 1994;27(3):69–74.

Reddy ALN, Wyllie J, Wijayaratne KBR. Disk scheduling in a multimedia I/O system. ACM Trans

Multimedia Comput Commun Appl (TOMCCAP) 2005;1(1):37–59.

Ross S. Random variables. In: A first course in probability, 4th ed. Englewood Cliffs, NJ: Prentice-Hall;

1994. p. 176–7 [chapter 4].

Rotem D, Zhao JL. Buffer management for video database systems. In: Proceedings of the 11th

international conference on data engineering, Taipei, Taiwan, 1995. Silver Spring, MD: IEEE

Computer Society; 1995. p. 439–48.

Santos JR, Muntz R. Performance analysis of the RIO multimedia storage system with heterogeneous disk

configuration. In: Proceedings of the sixth ACM international conference on multimedia, Bristol, UK,

1998. New York: Association for Computing Machinery; 1998. p. 303–8.

Sarhan NJ, Das CR. Caching and scheduling in NAD-based multimedia servers. IEEE Trans Parallel

Distributed Systems 2004;15(10):921–33.

Seo M, Kim C. Allocation strategies of multimedia data on disk arrays. Comput Commun 1995;18(3):

185–91.

Page 30: An analytical model for interval caching in interactive video servers

ARTICLE IN PRESS

S. Kim, C.R. Das / Journal of Network and Computer Applications 30 (2007) 384–413 413

Shenoy PJ, Vin HM. Efficient support for scan operations in video servers. In: Proceedings of the third

ACM international conference on multimedia, San Francisco, USA, 1995. New York: Association for

Computing Machinery; 1995. p. 131–40.

Tang W, Fu Y, Cherkasova L, Vahdat A. MediSyn: a synthetic streaming media service workload

generator. In: Proceedings of the 13th international workshop on network and operating systems

support for digital audio and video (NOSSDAV), Monterey, USA, 2004. New York: Association for

Computing Machinery; 2003. p. 12–21.

Vin HM, Goyal A, Goyal P. Algorithms for designing multimedia servers. Comput Commun 1995;

18(3):192–203.