Optimized caching in systems with heterogeneous client populations

Similar documents
Channel 0. Channel 1 Channel 2. Channel 3 Channel 4. Channel 5 Channel 6 Channel 7

Video Proxy System for a Large-scale VOD System (DINA)

Shared Running Buffer Based Proxy Caching of Streaming Sessions

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

Wishing you all a Total Quality New Year!

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields

SRB: Shared Running Buffers in Proxy to Exploit Memory Locality of Multiple Streaming Media Sessions

Mathematics 256 a course in differential equations for engineering students

Analytic Evaluation of Quality of Service for On-Demand Data Delivery

An Entropy-Based Approach to Integrated Information Needs Assessment

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS

Performance Evaluation of Information Retrieval Systems

Parallel matrix-vector multiplication

Load-Balanced Anycast Routing

Support Vector Machines

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

Parallelism for Nested Loops with Non-uniform and Flow Dependences

The Codesign Challenge

Learning the Kernel Parameters in Kernel Minimum Distance Classifier

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier

Machine Learning: Algorithms and Applications

An Optimal Algorithm for Prufer Codes *

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

Simulation Based Analysis of FAST TCP using OMNET++

Efficient Distributed File System (EDFS)

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

Network Coding as a Dynamical System

Quantifying Performance Models

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points;

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

Load Balancing for Hex-Cell Interconnection Network

Comparison of Heuristics for Scheduling Independent Tasks on Heterogeneous Distributed Environments

ARTICLE IN PRESS. Signal Processing: Image Communication

Programming in Fortran 90 : 2017/2018

Reducing Frame Rate for Object Tracking

Analysis of Collaborative Distributed Admission Control in x Networks

Steps for Computing the Dissimilarity, Entropy, Herfindahl-Hirschman and. Accessibility (Gravity with Competition) Indices

A Binarization Algorithm specialized on Document Images and Photos

Goals and Approach Type of Resources Allocation Models Shared Non-shared Not in this Lecture In this Lecture

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009.

A New Token Allocation Algorithm for TCP Traffic in Diffserv Network

Optimizing Document Scoring for Query Retrieval

Helsinki University Of Technology, Systems Analysis Laboratory Mat Independent research projects in applied mathematics (3 cr)

CHAPTER 2 PROPOSED IMPROVED PARTICLE SWARM OPTIMIZATION

DESIGNING TRANSMISSION SCHEDULES FOR WIRELESS AD HOC NETWORKS TO MAXIMIZE NETWORK THROUGHPUT

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

Outline. Type of Machine Learning. Examples of Application. Unsupervised Learning

Hermite Splines in Lie Groups as Products of Geodesics

Two-Stage Data Distribution for Distributed Surveillance Video Processing with Hybrid Storage Architecture

AADL : about scheduling analysis

TPL-Aware Displacement-driven Detailed Placement Refinement with Coloring Constraints

Efficient Broadcast Disks Program Construction in Asymmetric Communication Environments

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following.

Repeater Insertion for Two-Terminal Nets in Three-Dimensional Integrated Circuits

Active Contours/Snakes

Evaluation of an Enhanced Scheme for High-level Nested Network Mobility

Determining the Optimal Bandwidth Based on Multi-criterion Fusion

CMPS 10 Introduction to Computer Science Lecture Notes

Sum of Linear and Fractional Multiobjective Programming Problem under Fuzzy Rules Constraints

Scalable Download Protocols

Real-Time Guarantees. Traffic Characteristics. Flow Control

Concurrent Apriori Data Mining Algorithms

CACHE MEMORY DESIGN FOR INTERNET PROCESSORS

Cluster Analysis of Electrical Behavior

On the Fairness-Efficiency Tradeoff for Packet Processing with Multiple Resources

Content Classification for Caching under CDNs

Convolutional interleaver for unequal error protection of turbo codes

Problem Definitions and Evaluation Criteria for Computational Expensive Optimization

Solving two-person zero-sum game by Matlab

Conditional Speculative Decimal Addition*

On Achieving Fairness in the Joint Allocation of Buffer and Bandwidth Resources: Principles and Algorithms

Analysis of Continuous Beams in General

Life Tables (Times) Summary. Sample StatFolio: lifetable times.sgp

Efficient Content Distribution in Wireless P2P Networks

Related-Mode Attacks on CTR Encryption Mode

Unsupervised Learning

Avoiding congestion through dynamic load control

AP PHYSICS B 2008 SCORING GUIDELINES

WITH rapid improvements of wireless technologies,

On the Exact Analysis of Bluetooth Scheduling Algorithms

Modelling a Queuing System for a Virtual Agricultural Call Center

X- Chart Using ANOM Approach

Explicit Formulas and Efficient Algorithm for Moment Computation of Coupled RC Trees with Lumped and Distributed Elements

FORESIGHTED JOINT RESOURCE RECIPROCATION AND SCHEDULING STRATEGIES FOR REAL-TIME VIDEO STREAMING OVER PEER-TO-PEER NETWORKS

Problem Set 3 Solutions

Report on On-line Graph Coloring

Virtual Machine Migration based on Trust Measurement of Computer Node

TECHNIQUE OF FORMATION HOMOGENEOUS SAMPLE SAME OBJECTS. Muradaliyev A.Z.

Query Clustering Using a Hybrid Query Similarity Measure

3. CR parameters and Multi-Objective Fitness Function

An Application of the Dulmage-Mendelsohn Decomposition to Sparse Null Space Bases of Full Row Rank Matrices

A Clustering Algorithm for Chinese Adjectives and Nouns 1

MobileGrid: Capacity-aware Topology Control in Mobile Ad Hoc Networks

Comparisons of Packet Scheduling Algorithms for Fair Service among Connections on the Internet

SAO: A Stream Index for Answering Linear Optimization Queries

A Hybrid Genetic Algorithm for Routing Optimization in IP Networks Utilizing Bandwidth and Delay Metrics

Transcription:

Performance Evaluaton 42 (2000) 163 185 Optmzed cachng n systems wth heterogeneous clent populatons Derek L. Eager a,, Mchael C. Ferrs b, Mary K. Vernon b a Department of Computer Scence, Unversty of Saskatchewan, 57 Campus Drve, Saskatoon, SK, Canada S7N 5A9 b Department of Computer Scence, Unversty of Wsconsn, 1210 West Dayton St., Madson, WI 53706-1685, USA Abstract An mportant queston n provdng on-demand access to large wdely shared data fles, such as popular vdeo fles, s how to effectvely use regonal (proxy) servers that can store some of the data close to the clents. The proxy cachng problem s more complex n the context of contnuous meda fles because of the need to consder bandwdth as well as storage constrants at the proxy servers, and because of the bandwdth sharng possbltes provded by recently proposed multcast delvery technques. Ths paper develops new hghly effcent analytc models for determnng optmal proxy cache content n such envronments. Specfcally, the new models apply to heterogeneous systems n whch the proxy servers have dfferent clent workloads and server capabltes. Results from the models provde general nsghts nto cachng strateges for such systems, and suggest that t may be useful to employ effcent cost models n actual systems to determne what content should be cached n response to the measured clent workload. 2000 Elsever Scence B.V. All rghts reserved. Keywords: Proxy cachng; Heterogenous systems; Streamng meda; Optmzaton models 1. Introducton In systems that support on-demand access to wdely shared data, delvery cost can be greatly reduced through the use of regonal (or proxy) servers that store some of the data close to the requestng clents. Ths paper addresses the queston of whch large popular wdely shared data should be stored at the regonal/proxy servers. The context s of a system contanng multple heterogeneous proxy servers, one or more shared remote servers (.e., the nformaton sources, whch are dstnct from the proxy servers), and multcast delvery to conserve server and network bandwdth. We assume the system uses the recently proposed parttoned dynamc skyscraper delvery technque [11] revewed n Secton 2. As explaned n Secton 2.1, our results are also applcable to other on-demand multcast delvery technques. Our goal s to acheve broad nsghts nto proxy cachng strateges for such systems, rather than to compute the Ths research was partally supported by the Natural Scences and Engneerng Research Councl of Canada under Grant OGP-0000264, by the Ar Force Offce of Scentfc Research under Grant F49620-98-1-0417, and by the Natonal Scence Foundaton under Grant CCR 9975044. Correspondng author. E-mal addresses: eager@cs.usask.ca (D.L. Eager), ferrs@cs.wsc.edu (M.C. Ferrs), vernon@cs.wsc.edu (M.K. Vernon). 0166-5316/00/$ see front matter 2000 Elsever Scence B.V. All rghts reserved. PII: S0166-5316(00)00029-8

164 D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 precse cache contents for any partcular system. However, the models are hghly effcent, and typcal soluton tme s wthn a few seconds. Thus, the models serve as prototypes for cost models that could be employed n actual systems to compute the optmal cache content for a gven measured clent workload. Most pror work on World Wde Web cachng as well as dstrbuted vdeo-on-demand (VOD) archtectures has focused on determnng on whch server(s) each entre fle should be allocated, so as to optmze system cost/performance [2,4,6,8,21]. Other related work has concerned strateges for dynamcally cachng ntervals of data from contnuous meda fles, so as to satsfy one or more requests that arrve close n tme to a prevous request [24]. Ths pror work on whole fle placement and nterval cachng has not consdered the mpact of shared delvery of popular fles that s enabled by multcast delvery technques. In partcular, there s a new trade-off between cachng the fles that are requested most frequently and cachng less popular fles that have less cost sharng when delvered from the remote server. Furthermore, for segmented multcast delvery technques such as parttoned dynamc skyscraper, the earler segments of a fle are smaller and have more frequent multcasts (.e., hgher bandwdth requrement per byte) wth fewer clents per multcast (.e., less cost sharng of remote delvery) than the later segments of the fle. Ths leads to another key cost trade-off between cachng the entre data for a partcular popular fle or cachng the ntal segments of many more fles. 1 Heterogenety n proxy workloads and server capabltes s an mportant factor because t occurs n practcal systems and because t ntroduces a new tenson between (a) talorng the data stored at each proxy accordng to the local clent workload, and (b) maxmzng unformty n proxy cache contents so as to acheve the greatest possble sharng of remove server multcasts of uncached tems. In other words, heterogenety may cause a dvergence between the globally optmal cache confguratons, and what s ndvdually optmal for each regonal ste. A key goal of ths work s to create and apply models that provde nsght nto how ths tenson s resolved for varous knds of heterogenety. We consder the above trade-offs n the context of determnng whch data should be cached on the dsks of a regonal proxy server. We consder that the popular fles on a gven multmeda server, such as the popular lectures on a dstance educaton server or the popular shows on an entertanment server, mght be expected to reman n hgh demand for perhaps as long as a good fracton of a day, or longer. Requests for low popularty content on the server wll be nterspersed wth requests for the popular content. Due to dsk bandwdth consderatons at the proxy server, we beleve that t makes sense to sem-statcally cache the popular fles (.e., over perods of relatvely stable measured access rates), rather than dynamcally cachng the fles n response to ndvdual clent requests. The queston addressed n ths paper s, for a gven set of fles wth specfed request rates, whch fles or portons of the fles should be sem-statcally cached n order to mnmze the delvery cost for the fles? Models that nclude clent cost-sharng, as well as server bandwdth requrements for the new multcast delvery technques, are needed to evaluate the sem-statc cache desgn trade-offs. A prevous optmzaton model [11] revewed n Secton 2.2 determnes what data should be stored at homogeneous proxy servers. The model computes the cache content that mnmzes a specfed delvery cost objectve, under specfed bandwdth and storage constrants at the proxy, assumng parttoned dynamc skyscraper multcast delvery and the capablty to cache all, none, or a specfed number of ntal segments of each 1 Recent work has establshed that cachng just the ntal segments of objects has a number of other advantages, ncludng hdng the latency of communcaton wth a remote server, hdng the ntal latency of broadcast technques [22], and facltatng workahead smoothng of varable-bt-rate vdeo [23].

D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 165 fle. We modfy ths prevous model to study systems n whch the proxy servers dffer wth respect to ther bandwdth and storage capactes, and wth respect to ther clent workloads. A key challenge s to create models that are effcent to solve and that allow us to gan the desred nsghts for heterogeneous systems. We have developed two such models, whch are descrbed n Secton 3. The models are appled n Secton 4 to study proxy server data cachng strateges and the mpact of heterogenety. The nsghts and desgn prncples derved from the results nclude: Even n systems wth qute strong heterogeneous features, t s often more cost-effectve to store the same data at all of the proxy servers, rather than to closely talor cache content at each proxy accordng to the local clent preferences and server characterstcs. It s often more cost-effectve to store just ntal segments rather than entre fles at the proxy servers. Heterogenety ncreases ths tendency as compared wth the homogeneous system. When mnmum total delvery cost s the objectve, a regonal proxy server wth a dstnct clent workload can sometmes nfluence the data cached by the other regonal proxy servers n unexpected ways. When mnmum delvery cost for the clents of a gven proxy server s the objectve, the optmal set of data to store at that server may be qute dfferent than the socally optmal set that mnmzes total delvery cost to all clents. Cases where the latter two observatons apply motvate the use of effcent cost models to gude cache content n actual systems. Secton 5 provdes the conclusons of ths paper and suggests frutful topcs for future research. 2. Background Secton 2.1 revews segmented multcast delvery technques and the parttoned dynamc skyscraper delvery technque that s assumed n the delvery cost models developed n ths paper. Secton 2.2 revews the prevous cost model for determnng optmal cache content n parttoned dynamc skyscraper systems wth homogeneous proxy servers. The new models that wll be developed n Secton 3 can be appled to homogeneous systems as a specal case of the nput parameters; thus the detaled equatons of the prevous homogeneous system model are not repeated n ths paper. Throughout the remander of the paper, a (proxy or remote) server s assumed to have enough dsk bandwdth, memory bandwdth, and network /o bandwdth to support a gven number of smultaneous data streams at a specfed fle delvery rate. For smplcty, all fles are assumed to have the same delvery rate, although the cachng models can easly be extended to handle multple fle streamng rates. The fxed-rate streams wll be referred to as channels throughout the paper, and server bandwdth wll be measured n unts of the (fxed-rate) channels that the server can support. 2.1. Segmented multcast delvery The conventonal approach to on-demand delvery of vdeo and other contnuous meda fles s to allocate a new data stream (or channel) for each clent request. Recently proposed segmented multcast delvery technques [1,10,11,16,18,25,26] acheve sgnfcant bandwdth savngs by dvdng each fle nto ncreasng-szed segments (s 1,s 2,s 3,...,s K ). The server then employs a multcast transmsson schedule n whch the smaller segments are multcast more frequently than the larger segments, such as the schedule llustrated n Fg. 1. Each clent receves one transmsson of each segment, such as the

166 D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 Fg. 1. Example segmented multcast archtecture parttoned dynamc skyscraper (K = 8,W = 8,k = 3,w = 2). grey shaded sequence of transmssons n Fg. 1. By frequently multcastng the smallest frst segment (s 1 ), the tme that a clent must wat to begn recevng the fle s farly small. Snce the larger segments are multcast less frequently, clents must be prepared to receve those segments ahead of ther need for playback, batchng together wth other clents that may be at dfferent play ponts. For example, a clent who receves the strped s 1 transmsson wll need to receve segment s 2 concurrently, bufferng the second segment untl t s needed for playback. The structure of the transmsson schedule ensures that, for any s 1 multcast a clent mght receve, the clent can receve each other fle segment before or at the tme t s needed for playback. (The reader can verfy ths n Fg. 1.) Multcastng the larger segments less frequently greatly reduces server bandwdth usage for hgh clent request rates. Most of the segmentaton-based delvery technques employ statc transmsson schedules n whch a fxed amount of server bandwdth (e.g., equal to K tmes the fle streamng rate) s contnuously assgned to multcastng the K segments of a specfc popular fle. An excepton s the parttoned dynamc skyscraper technque [10,11], whch dynamcally assgns server bandwdth to fle segment transmssons n response to the ncomng clent requests. The parttoned dynamc skyscraper technque parttons the fle segments nto two sets: a leadng segment set (s 1,...,s k ) and a tralng segment set (s k+1,...,s K ). Server bandwdth equal to a transmsson cluster, llustrated n Fg. 1 by the shaded and strped transmsson perods for each segment set, s scheduled as needed to delver the respectve fle segment set n response to clent requests. The leadng segment transmsson cluster uses bandwdth equal to k channels, and has a skewed duraton w equal to the length of segment k(l k ) on each channel; the tralng segment transmsson cluster uses bandwdth equal to K k channels and has a skewed duraton W = l K on each channel. Schedulng of the leadng and tralng clusters must be coordnated so that, for each clent, jtter between playback of each set s avoded. Wthn ths constrant, leadng segment clusters are scheduled as early as possble and tralng segment clusters are scheduled as late as possble, so that the latter can be shared by the maxmum number of future clent requests. A new clent request ether receves the leadng (tralng) fle segments from a cluster that was scheduled for a prevous request to the same fle, or schedules a new leadng (or tralng) segment transmsson cluster. Note that when a cluster has fnshed delverng the frst segment n the set, the bandwdth allocated to the cluster (equal to k or K k tmes the fle streamng rate) can be reallocated to a cluster of segment transmssons for a dfferent fle, dependng on clent requests. The models n ths

D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 167 paper determne how much total server bandwdth must be allocated for leadng segment transmsson clusters and tralng segment transmsson clusters, respectvely, so that the approprate cluster(s) can be allocated when each new clent request arrves. Dynamc schedulng can provde true mmedate servce to clent requests [10,12], as well as segmented multcast delvery for less popular fles, and n contexts where fle popularty vares over tme. Parttoned dynamc schedulng mproves the effcency of segmented multcast transmssons because the leadng segment transmsson clusters are smaller and are used more effcently. Parttoned multcasts also mprove proxy cache performance because, for each fle, a regonal proxy server may cache just the leadng segment set, both sets of segments, or nether set. Recent work [12] shows that the average server bandwdth requred per fle when usng parttoned dynamc skyscraper multcasts for mmedate on-demand fle delvery grows asymptotcally only logarthmcally n the clent request rate. Other on-demand multcast delvery technques, such as the technque known as stream tappng, grace patchng, or controlled multcast [5,7,17,19], and the recently proposed herarchcal multcast stream mergng and bandwdth skmmng technques [12 14], also transmt ntal portons of a popular contnuous meda fle more frequently than later portons of the fle. Systems that use these delvery technques would have smlar trade-offs wth respect to optmal proxy cache content and smlar optmal cachng strateges (at the level of detal studed n Secton 4) as for systems that use the parttoned dynamc skyscraper multcast technque. 2.2. Model for computng optmzed cache content n homogeneous systems A prevous model [11] determnes the proxy cache content that mnmzes delvery cost for systems wth (a) dentcal proxy server bandwdth and storage capabltes, (b) statstcally homogeneous regonal clent workloads, (c) parttoned dynamc skyscraper delvery, and (d) fles of equal sze and delvery rate. For each fle, the proxy servers can store ether none, all, or just the leadng segment set of the fle. In ths secton we provde an overvew of the model and the results that were prevously obtaned from the model, whch provdes the startng pont for developng the new models for systems wth heterogeneous proxy server capabltes and workloads. The homogeneous model uses smple analytc estmates of the tme average of the number of remote server channels (C remote ) and proxy server channels (C regonal ) used f each clent s served mmedately, under a gven set of fle request rates as a functon of the fle segment sets that are stored at the proxy. Results gven n [11] show that these smple bandwdth estmates are very close to the knee of the curve of mean clent watng tme versus the nverse of the number of avalable server channels, and that the knee of the curve s typcally qute sharp. Snce the system can provde mmedate servce to clent requests, the average clent watng tme s typcally very close to zero near the (sharp) knee of the curve. Table 1 gves the model nput and output parameters. Note that the last four nput parameters (k, K, l j, and W ) specfy the confguraton of the parttoned dynamc skyscraper system. Note also that the parameter β can nclude consderaton of approxmate network bandwdth costs as well as the server resource costs for each type of channel or stream. The key system constrants n computng the cache content that mnmzes delvery cost are the maxmum proxy server bandwdth (N channels ), and storage capacty (N segments ). The key model outputs are the θ values that specfy for each fle, whether the fle should be fully cached, partally cached, or not cached at the proxy servers.

168 D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 Table 1 Parameters of the homogeneous system model Parameter Parameter defnton Workload n Number of fles λ Total request rate for fle (from all regons) System N channels Maxmum number of channels at each proxy server N segments Storage constrant at each proxy server (measured n unts of the sze of segment s 1 ) P Number of proxy servers β The cost rato of a proxy server channel and a remote server channel k Number of segments n the leadng segment set K Total number of segments n the leadng and tralng segment sets l j Sze of the jth segment (relatve to the sze of the frst) W The largest segment sze (n the tralng segment set) Output C remote Number of channels needed at the remote server C regonal Number of channels needed at the proxy server D regonal Storage needed at each proxy server (measured n unts of the sze of segment s 1 ) θ R Equals 1 f fle s stored only at the remote server; 0 otherwse θ p Equals 1 f only the leadng segment set of fle s cached regonally; 0 otherwse Equals 1 f the entre fle s cached regonally; 0 otherwse θ r Gven that β s the cost rato of a proxy server channel and a remote server channel, and gven that P s the number of proxy servers n the system, the prevous homogeneous system model for optmal proxy cache content s defned as follows: mn θ subject to C remote (θ) + PβC regonal (θ) C regonal (θ) N channels D regonal (θ) N segments θ R,θ p,θr {0, 1}, = 1, 2,...,n θ R + θ p + θ r = 1, = 1, 2,...,n In the above model, the symbol θ represents the vector wth components θ R,θ p,θr, = 1, 2,...,n. Note that the expresson to be mnmzed s the total delvery cost for all fles to clents n all regons. However, snce the regonal clent populatons are statstcally the same, dvdng the total delvery cost by P gves the cost for delvery to an ndvdual regon, whose clents collectvely pay for 1/P of the remote delvery cost. Thus, as ntuton suggests, the cache content that mnmzes total delvery cost s the same as the content that mnmzes an ndvdual regon s cost n the homogeneous system. Note that f β = 0, the model computes the proxy cache content that mnmzes the use of remote server bandwdth. Equatons for computng C remote, C regonal, and D regonal for heterogeneous system models are gven n Appendx A and dscussed n Secton 3. For the detals of the homogeneous model equatons, whch are specal cases of the heterogeneous system equatons, the reader s referred to [11].

D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 169 3. Models for optmzed cache content n heterogeneous systems In ths secton, we develop two new optmzaton models that permt study of heterogeneous systems n whch regons may have dfferng clent request rates, proxy server capabltes, or fle selecton frequences. The goal s to create effcent models that can be used to derve useful nsghts and desgn prncples for cache content n such heterogeneous systems. The model n Secton 3.1 focuses on the mpact of heterogeneous regonal clent request rates and server capabltes. The model n Secton 3.2 s desgned to study the mpact of heterogeneous fle selecton frequences. In the calculatons of ndvdual proxy server cost, we assume that f the proxy server does not cache a gven segment set, t shares equally n the cost of all remote multcasts of the segment set. Ths prcng polcy s based on the noton that a proxy server that does not cache the segment set pays for a subscrpton for remote delvery of the fle, wth fee proportonal to the average number of remote server channels or streams requred to delver the segment dvded by the number of subscrptons. Ths polcy smplfes the accountng at the remote server and may also smplfy the communcaton between the proxy and the remote server. The polcy provdes a prce break for a regon wth a hgher request rate for a gven segment set that s not cached. However, the prce break s very small, snce server bandwdth usage grows only logarthmcally n the request rate. It s also straghtforward to modfy the models so that the cost of each remote multcast s shared equally by the proxy servers that lsten to the multcast, f the mplementaton effort for the more detaled accountng s deemed worthwhle. 3.1. Heterogeneous clent request rates and server capabltes To create an effcent and useful model, one proxy server s assumed to have a hgher or lower clent request rate, and possbly also dfferent bandwdth and storage capacty, than all other proxy servers whch have the same request rate and server capabltes. Lettng d denote the dstnct server that has hgher or lower clent request rate, and nd denote any of the other (non-dstnct) proxy servers, Table 2 defnes the new nput and output parameters for ths heterogeneous model. In addton to these new parameters, the nput and output parameters for the proxy servers (N channels, N segments, C regonal, and D regonal ) each have a superscrpt (d or nd) to denote the type of server (dstnct or non-dstnct) that the parameter apples to. As before, the key outputs of the model are the θ parameters that specfy whether each fle s fully or partally cached at each type of regonal proxy Table 2 New parameters for the request rate and server heterogenety optmzaton model Parameter Parameter defnton Input f d Output C d remote,cnd remote Fracton of the total requests that are from clents belongng to the dstnct regon The component of the remote delvery cost (as measured n numbers of channels) apportoned to the dstnct proxy server, and to each other proxy server, respectvely, y,z {R,p,r} Equals 1 f fle s cached at the dstnct and non-dstnct proxy servers accordng to the superscrpts y and z, respectvely (R: the fle s not cached regonally; p: only part (the leadng segment set) s cached regonally; r: the fle s fully cached at the respectve regonal server); equals 0 otherwse

170 D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 server. Note that there are nne such parameters for each fle, due to all possble pars of superscrpts on the θ values. Fle allocatons that mnmze total delvery cost are obtaned by solvng the followng optmzaton model: mn θ subject to C remote (θ) + β(cregonal d (θ) + (P 1)Cnd regonal (θ)) C d regonal (θ) N d channels Cregonal nd nd (θ) Nchannels D d regonal (θ) N d segments Dregonal nd y,z {R,p,r} (θ) N nd segments = 1, = 1, 2,...,n {0, 1}, y,z {R,p,r}, = 1, 2,...,n Note that we have used the notaton θ to represent the vector whose components are,y,z {R,p,r}, = 1, 2,...,n. As n the homogeneous system model, the storage requrements for each type of proxy server are computed by summng over the segments stored at that type of server. The calculatons of requred remote server bandwdth and requred bandwdth for each type of proxy server use the same approach as n the homogeneous model, but are more complex for two reasons. Frst, each type of proxy server may optmally cache dfferent segment sets. Second, there are complex nteractons wth respect to how multcast transmsson clusters are shared by clents from the dfferent types of proxy servers. The detaled equatons that capture these effects are provded n Secton A.1 of Appendx A. We use the term socally optmal to denote the proxy server cache content that mnmzes total delvery cost, as expressed n the above optmzaton model. In heterogeneous systems that have asymmetrc clent workloads or server capabltes, the socally optmal cache content may dffer from the ndvdually optmal cache content that s obtaned f a partcular (compettve) regonal servce provder attempts to mnmze ts own delvery cost. To assess whether these two types of solutons dffer for a gven system, we derve ndvdually optmal cache content for the dstnct proxy server, under a fxed cache content (such as the socally optmal content) at the non-dstnct proxy servers. Smlarly, we derve the ndvdually optmal cache content for the non-dstnct proxy servers, under a fxed cache content for the dstnct proxy server. The followng optmzaton problem mnmzes the delvery cost of the dstnct regonal proxy server, wth the superscrpt O n θ y,o denotng the fxed allocatons assumed for the non-dstnct regons: mn Cremote d (θ) + βcd θ regonal (θ) subject to Cregonal d (θ) N channels d Dregonal d (θ) N segments d θ y,o = 1, = 1, 2,...,n y {R,p,r} θ y,o {0, 1}, y {R,p,r}, = 1, 2,...,n

D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 171 The delvery cost expresson that s mnmzed n the above model ncludes only the cost of remote server multcasts that s apportoned to the dstnct regon. Ths cost s the sum of (a) 1/P of the channels requred to multcast segments that are not cached by any of the servers, and (b) all of the bandwdth requred to multcast segments that are not stored at the dstnct proxy server but are stored at the other proxy servers. The detaled equatons for ths model, and for the analogous model for mnmzng the delvery cost of the non-dstnct proxy servers, are gven n Secton A.1 of Appendx A. 3.2. Heterogeneous fle selecton frequences In ths model, the fles and the proxy servers are each parttoned nto G equal-szed groups, and each group of proxy servers has a preference (.e., a larger fracton of the regons clent requests) for a dstnct group of fles. Each proxy server has the same clent request rate for each of ts (G 1) non-preferred groups of fles. Also, the relatve selecton frequences of the fles wthn a group are the same for all groups and for all proxy servers. The new model notaton for the system wth these heterogeneous fle selecton frequences s gven n Table 3. Although each proxy server may optmally cache dfferent fle segments, the symmetry n the regonal clent workloads mples that each proxy server wll cache the same segments from ts respectve preferred group of fles. Smlarly, each proxy server wll cache the same segments from ts respectve non-preferred groups. Ths greatly smplfes the model notaton, and leads to an effcent model that agan has nne cache placement varables ( ) per fle. The symmetry n the regonal clent workloads also mples that the socally optmal proxy cache content s the ndvdually optmal content. Ths optmal cache content s computed by solvng the followng optmzaton problem: mn θ subject to C remote (θ) + PβC regonal (θ) C regonal (θ) N channels D regonal (θ) N segments = 1, = 1, 2,...,n y,z {R,p,r} {0, 1}, y,z {R,p,r}, = 1, 2,...,n Table 3 New parameters for the fle selecton frequency heterogenety optmzaton model Parameter Parameter defnton Input f a Fracton of the total requests from a regon that are for ts perferred (or affnty) group of fles G Number of groups of fles Output, y,z {R,p,r} Equals 1 f fle s cached at each proxy server for whch the fle s group s the regon s preferred group, and at each proxy server for whch the fle s group s not the preferred group, accordng to the superscrpts y and z, respectvely (R: the fle s not cached regonally; p: only the leadng segment set s cached at a preferrng/non-preferrng regonal server; r: the fle s fully cached at a preferrng/non-preferrng regonal server); equals 0 otherwse

172 D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 The server bandwdths and storage requrements are computed usng the equatons gven n Secton A.2 of Appendx A. 3.3. Soluton of the heterogeneous optmzaton models Although the detaled equatons for the heterogeneous models defned above are somewhat complex, both the objectve functons and constrants n each model are lnear functons of the bnary varables θ. Ths was a key goal n our desgn of the models, as these problems are tractable mxed nteger programs (MIPs) [20]. For the purposes of obtanng solutons to the models, we formulated all the optmzaton problems n the GAMS modelng language [3] and solved them usng a lnear programmng [9] based branch and bound soluton strategy. Detals of several computatonal enhancements to the basc model are gven n [15]. 4. Results and nsghts Prevous results n [11] showed that n homogeneous systems, t s often more cost-effectve to cache the ntal segments of many fles, rather than the complete data for fewer fles. The results also showed that the optmal cache content depends on key system parameters, ncludng β and the relatve constrants of dsk bandwdth and storage capacty at the proxy servers. In partcular, the results showed that as β ncreases or when the regonal server bandwdth constrant s actve for the optmal cache content, the proxy servers should cache (segments of) less popular fles. Ths secton presents results and nsghts for the followng three types of heterogeneous systems: 1. systems wth P 1 homogeneous servers and one server wth sgnfcantly lghter clent request rate, 2. systems wth P 1 homogeneous servers and one server wth sgnfcantly heaver request rate, and 3. systems wth four groups of regonal servers, each group of servers havng a hgher fracton of requests for a partcular preferred group of fles. In each case, we are nterested n understandng the mpact of the gven type of heterogenety on the optmal proxy cache desgn rules. For the frst two types of systems, we are also nterested n the extent to whch there s a dvergence between the socally optmal proxy cache content that mnmzes total delvery cost and the ndvdually optmal content that mnmzes the cost for the clents local to a gven proxy server. The ndvdually optmal cachng strateges are mportant f compettve organzatons are provdng the proxy cache servces. The key results n ths secton are summarzed n Secton 5. In each experment dscussed below, the system parameters are as gven n Table 4 unless otherwse stated. The default constrants on proxy storage (N segments ) and bandwdth (N channels ) n Table 4 wll be called the baselne system capabltes. These baselne quanttes were derved assumng the server has sx dsks, each wth storage capacty equal to 3.2 whole fles and bandwdth for transmttng 48 smultaneous streams. Note that N segments = 3654 mples storage for approxmately 19% of the total data for the 100 fles that clents can request. The default parameters of the skyscraper delvery archtecture (K,k,l j, and W ) were selected to be representatve of a delvery archtecture that mght be deployed n practce. Ths archtecture has a sum of segment lengths equal to 189, and the sum of leadng set segment szes equal to 29; thus, the leadng segment set s 29/189 or 15% of the fle. For the experments reported n ths paper, the optmal cachng strategy s very smlar for other values of k, butk = 7 acheves the lowest optmzed delvery cost n almost every case. Thus, we report the results for ths value of k.

Table 4 Parameters used n the experments D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 173 Parameter Default value Parameter defnton n 100 Number of fles R 1 100 Clent request rate, measured n requests per unt of tme equal to the transmsson tme for segment s 1 N channels 288 Maxmum number of channels at each proxy server N segments 3654 Storage capacty at each proxy server P 10 Number of proxy servers k 7 Number of segments n the leadng segment set K 12 Total number of segments n the leadng and tralng segment sets l j 1, 2, 2, 4, 4, 8, 8, 16, 16, 32, 32, 64 Sze of the jth segment (relatve to the sze of the frst segment) W 64 The largest segment sze (n the tralng segment set) The transmsson tme for the frst segment s 1, T 1, s equal to the fle length (n bytes) dvded by the sum of the segment lengths, dvded by the fle streamng rate. It s easy to see from the equatons n Appendx A that the fle length and streamng rate affect each term n the requred server bandwdth (C remote or C regonal ) only through the product of the fle request rate, λ, and T 1. In each experment below, total clent request arrval rate s expressed n unts of the average number of clent requests that arrve per unt of tme equal to the transmsson tme for segment s 1 (.e., R 1 = λ T 1 ). Thus, the results hold for any fle length and streamng rate that are n proporton to the specfed constrants on proxy dsk capacty and bandwdth. Fle selecton frequences, overall or wthn a group of fles n the model defned n Secton 3.2, are assumed to have the Zpf(0) dstrbuton. In the graphs, the heght of the black bar for each fle (or object), n the order of decreasng fle popularty, ndcates the percentage of the fle that s stored at a gven proxy server n a gven mnmum cost soluton. 4.1. One proxy server wth lght request-rate The system consdered here has 10 regonal servers and a total clent request rate (R 1 ) equal to 100. One proxy server has (lght) clent request rate equal to 1.25; the other nne proxy servers each have dentcal (heavy) clent request rate nearly equal to 11. Fg. 2 presents the socally optmal and ndvdually optmal cache content at each type of proxy server when all servers have the same storage capacty and bandwdth, equal to the baselne values gven n Table 4. The results show that the socally optmal cache content s the same for both the lght and heavy proxy servers, and ths s also the content that s ndvdually optmal for each regon. Thus, n ths heterogeneous system, compettve proxy servce provders can ndvdually optmze the data stored at ther respectve servers and arrve at the socally optmal cache confguraton. Furthermore, the optmal cache content for each value of β s nearly dentcal to the optmal cache content for a homogeneous system wth 10 proxy servers that each have request rate equal to the heavy server request rate of 10 (not shown). Thus, when all proxy servers have the same bandwdth and storage capacty: the ndvdually optmal content s the same as the socally optmal content for both lght and heavy proxy servers, the optmal content for the heavy proxy servers s the same f the lght server s not present, and the optmal content for the lght proxy server s the same as the optmal content for the heavy servers.

174 D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 Fg. 2. Baselne system wth one lght server optmal cache content (P = 10,R 1 = 100,R 1,heavy 11,R 1,lght = 1.25). (a) β = 0, lght and heavy, socal and ndvdual; (b) β = 0.01, lght and heavy, socal and ndvdual; (c) β = 0.1, lght and heavy, socal and ndvdual. Fg. 3. One lght server wth reduced storage optmal cache content (P = 10,R 1 = 100,R 1,heavy 11,R 1,lght = 1.25). (a) β = 0 0.1, lght proxy, socal and ndvdual; (b) β = 0 0.01, heavy proxy, socally optmal content; (c) β = 0, heavy proxy, ndvdual optmal. Fg. 3 presents the optmal cache content when the proxy server wth the lghter request rate has reduced storage and bandwdth, each equal to 25% of the baselne quanttes. In ths case: The socally optmal cache content dffers for each type of proxy server, as shown n Fg. 3a and b. For the proxy servers wth greater storage and bandwdth (.e., the servers wth heavy request rate), the socally optmal cache content dffers greatly from the ndvdually optmal cache content, as shown n Fg. 3b and c. 2 If the lght request-rate server caches only the ntal 15% of the most popular fles, the socally optmal cachng strategy for the heavy request rate proxy servers (shown n Fg. 3b) s to fully cache the least popular fles, rather than the hghly popular fles that they store n Fg. 2a and b. Ths llustrates a very strong nfluence of the lght server on the cachng strategy at heavy servers, perhaps stronger than one mght antcpate. The explanaton for ths mpact s that the remote server must multcast the tralng segment set of the most popular fles frequently for the lght server. Thus, the greatest global advantage s for the heavy servers to share the cost of those multcasts and nstead cache the less popular fles that the lght server needs very nfrequently. 2 If we mnmze the ndvdual delvery cost for the lght server whle fxng the cache content at the heavy servers as n Fg. 3c, the lght server cachng strategy remans as n Fg. 3a.

D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 175 We also nvestgated cases where the proxy server wth lght clent load has ncreased storage and bandwdth equal to twce the storage and bandwdth at the proxy servers wth heavy clent load. In some cases, e.g. when β equals 0.1, to mnmze total delvery cost the lght server caches exactly the same segments as the heavy servers; ts extra storage and bandwdth capabltes are not used. However, the ndvdually optmal soluton for the lght server, wth the cached segments n the heavy servers fxed as they are for mnmzng total delvery cost, shows that a compettve lght server would store addtonal remote data. Thus, agan, the ndvdually and socally optmal cachng strateges dffer dramatcally for the server that has greater storage and bandwdth. 4.2. One proxy server wth heavy request-rate The frst system consdered here has 11 proxy servers, each wth the baselne (.e., default) bandwdth and storage capacty. Total clent request rate s equal to 20. One proxy server s clent load s equal to 10 requests per T 1 ; the other 10 proxy servers have clent request rate of 1. When β equals zero, the socally optmal and ndvdually optmal cache content for all of the proxy servers s nearly dentcal to the content shown n Fg. 2a. Ths content s n turn the optmal cache content n a homogeneous system wth β = 0, any total clent request rate greater than zero, and the same proxy storage capacty and bandwdth. When β equal to 0.1, the socally optmal cache content, gven n Fg. 4b, s agan the same for all of the proxy servers. However, the socally optmal cache content for the lght servers s dfferent than when the heavy server s not present (Fg. 4a). Furthermore, t s nterestng to note that fles fully cached n the heterogeneous system (Fg. 4b) are less popular than the fles fully cached n Fg. 4a, but are more popular than the fles fully cached n the homogeneous system shown n Fg. 4c. Note that Fg. 4c s the homogeneous system wth total request rate equal to the total request rate n the heterogeneous system. Mnmzng the lght server delvery cost whle fxng segments cached at the heavy server as n Fg. 4b, results n an ndvdually optmal cachng strategy that fully caches a slghtly more popular set of fles. Furthermore, f the lght server cache confguratons are fxed at these ndvdually optmal values, the heavy server s ndvdually optmal strategy s to cache the same segments as the lght server. In ths case, t s possble that contnung to compettvely optmze ndvdual regonal server delvery costs may lead Fg. 4. Baselne system wth one heavy server optmal cache content (P = 11,R 1 = 20,R 1,heavy = 10,R 1,lght = 1). (a) β = 0.1, homogeneous, P = 10,R 1 = 10; (b) β = 0.1, heavy and lght, socally optmal content; (c) β = 0.1, homogeneous, P = 10,R 1 = 20.

176 D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 Fg. 5. One heavy server wth extra storage optmal cache content (P = 10,R 1 = 100,R 1,heavy = 20,R 1,lght 9). (a) β = 0, lght, socal and ndvdual; (b) β = 0, heavy, socally optmal; (c) β = 0, heavy, ndvdually optmal; (d) β = 0.01, heavy, socally optmal; (e) β = 0.1, heavy and lght, socally optmal; (f) β = 0.1, heavy, ndvdually optmal. to an unstable soluton. One value of the optmzaton model s to dscover such stuatons n whch one mght want to devse new prcng strateges. We next consder a system n whch the heavy request rate regonal proxy server has twce the baselne server storage and bandwdth, whle all other servers have the baselne storage and bandwdth. Overall clent request rate s equal to 100. The heavy regon s clent request rate s equal to 20; each of the other nne regons clent request rate s approxmately equal to 9. The results are presented n Fg. 5. For 0 β 0.1, the socally optmal cache content for the proxy server wth greater storage and bandwdth (e.g., Fg. 5b and e) dffers greatly from the ndvdually optmal cache content for that server (e.g., Fg. 5c and f, respectvely). To mnmze total delvery cost when β = 0, the heavy proxy server uses ts extra storage to cache the least popular fles (Fg. 5b) rather than the most popular fles (Fg. 5c). To mnmze total delvery cost when β = 0.1, the heavy proxy server stores exactly what the lght proxy server stores (Fg. 5e); t s more economcal for the heavy rate server to share the remote streams that are delvered to the lght regons than to use proxy server bandwdth to delver the extra segments t could store (Fg. 5f). The results of ths and the prevous secton ndcate that proxy servers wth lght clent request rates can greatly nfluence the socally optmal cache content for proxy servers wth heaver clent request rates f the storage and bandwdth at the lght proxy servers s sgnfcantly less than the correspondng capabltes at the heavy servers.

D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 177 Fg. 6. Preferred fle group per regon baselne system (β = 0,G = 4,R 1 = 100). (a) f a = 0.25 0.4, all groups; (b) f a = 0.5 0.9, preferred group; (c) f a = 0.5 0.9, other groups. 4.3. Heterogeneous fle populartes The next set of experments consders systems wth 12 regonal servers parttoned nto four groups of three servers, and 200 fles parttoned nto four groups of 50 fles. Each group of proxy servers has a dfferent preferred group of fles. The fracton of regonal clent requests to the preferred group s gven by the parameter f a ; each non-preferred group of fles s selected wth frequency 1 3 (1 f a). Selecton frequency wthn each group (preferred or not) s modeled by a Zpf(0) dstrbuton. The total clent request rate, R 1, s equal to 100 requests per T 1. Fg. 6 provdes results for the case that all proxy servers have the baselne storage capacty and bandwdth; Fg. 7 provdes results for the case that all proxy servers have three tmes the baselne storage capablty. Part a of Fg. 6 and 7 show the range of preferred group access frequences under whch all proxes store the same cache content. Fg. 6b and c or Fg. 7b and c show the dfferent optmal cache content for the preferred group and the other groups when the preferred group access frequences are hgher. Key conclusons from these results are: When preferred group access frequency s hgh enough, more segments are cached for the preferred group than for the other groups (Fg. 6b compared wth 6c, or Fg. 7b compared wth 7c). The threshold value of f a above whch the proxes store more data for ther clents preferred group, s hgher when the proxy servers have greater bandwdth and storage capacty. Fg. 7. Preferred fle group per regon three tmes baselne proxy server capabltes (β = 0,G = 4,R 1 f a = 0.25 0.75, all groups; (b) f a = 0.9, preferred group; (c) f a = 0.9, other groups. = 100). (a)

178 D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 When the proxes store more data for the preferred group, and the cache s large enough to fully cache some of the fles (.e., Fg. 7b), the least popular preferred fles are fully cached, rather than the most popular preferred fles. Ths s agan due to the advantages of sharng the cost of remote multcasts of the later segments of the most popular fles. When proxy bandwdth and storage are lmted (Fg. 6), cachng of ntal segments of a subset of the fles at all proxy servers appears to be a desrable compromse when dfferent regons have dfferent preferred fles. Smlarty n proxy cache content among the heterogeneous servers s most crtcal for relatvely more popular fles. 5. Conclusons In ths paper, we have developed effcent analytc models for determnng optmal cachng strateges for contnuous meda data fles n systems where the proxy servers have heterogeneous clent populatons and/or server capabltes. Heterogenety s a crucal ssue for proxy cachng, as t mples a fundamental conflct between the objectves of cachng the data most useful locally, and of maxmzng commonalty n cache contents (and thus remote fle requests) across regonal servers so as to acheve the greatest possble sharng of multcasts from a remote server. We have appled the models to obtan nsghts nto how ths conflct s resolved for specfc types of heterogenety. The results of those experments ndcate that: 1. When the proxy cache cannot hold all of the popular fles, t s almost always optmal to cache the ntal segments of many fles rather than all segments of fewer fles, as was shown n Fgs. 2 6. In the case of heterogeneous fle selecton frequences, there s an ncreased tendency to cache ntal segments rather than full fles, due to the mproved cost-sharng for remote delvery when all servers cache the same segments. 2. Even n systems wth qute strong heterogeneous features (e.g., Fgs. 2, 4b, 5e, 6a, and 7a), t s often more cost-effectve to store the same data at all of the proxy servers, rather than talorng cache content at each proxy to the local clent workload. The exceptons to ths rule are when the proxy servers have dfferent storage capacty and bandwdth (e.g., Fg. 3a and c or Fg. 5a and b) or when clents at dfferent proxy servers have very strong preferences for dfferent fles (e.g., Fg. 6b and c or Fg. 7b and c). 3. When mnmzng the total cost of delvery, a regonal proxy server wth a dstnct clent workload can sometmes nfluence the set of segments cached by other proxy servers n unexpected ways. In partcular, a server wth lower storage capacty or dfferent preferred fles can nfluence other servers to fully cache the least popular fles rather than the most popular fles (e.g., Fg. 3b compared to 3c, Fg. 5b compared to 5c, Fg. 5e compared to 5f, or Fg. 7b compared to 7c). 4. When mnmzng the delvery cost for a gven proxy server, the resultng optmal set of segments to be cached at that server may be qute dfferent than the socally optmal set that would mnmze overall cost of delvery. Ths occurred n partcular for proxy servers that had greater storage capacty and bandwdth. Note that n such cases, t may be n the remote provder s best nterest to encourage the regonal proxy servers wth less storage and bandwdth to ncrease ther proxy server storage and bandwdth. Due to the complex nfluences of heterogeneous clent populatons on the socally and ndvdually optmal cachng strateges at the proxy servers, t may be useful to consder deployng models n actual systems to compute optmal cache content for the measured clent workloads.

D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 179 On-gong research ncludes: (1) extendng the models n ths paper to nclude more general heterogenety n regonal clent workloads, (2) nvestgatng optmal cachng strateges for layered contnuous meda fles and for multcast delvery technques that permt more flexble parttonng of the data between the proxy and the remote server [13], and (3) devsng on-lne cachng algorthms that acheve near-optmal cache content. Appendx A In the heterogenous system model descrbed n Secton 3.1 of the paper, we provde equatons for computng the requred remote server and proxy server bandwdths (C remote and C regonal ), and proxy server storage capactes (D regonal ), as functons of the fle request rates and the segments cached at the heterogeneous proxy servers. A.1. Heterogeneous clent request rates and server capabltes In the frst heterogeneous system model descrbed n Secton 3 of the paper, proxy servers are assumed to be dentcal except for a sngle proxy server that has a dstnct (hgher or lower) clent request rate, and possbly also dfferent server bandwdth and storage capacty. In addton to the notaton defned n Tables 1 and 2, the detaled equatons for ths model also use quanttes X y,z,l,x and Xy,z,t,x (x {R,d,nd},y,z {R,p,r}), whch are defned as the maxmum rates at whch transmsson clusters can be allocated for multcasts of the leadng/tralng (l/t) segment set for fle, dstngushed by the server (R: remote, d: dstnct, or nd: other proxy), and by whether requests from a dstnct (y) or non-dstnct (z) regon receve all of the fle from the remote ste (R), part (only the tralng segment set) from the remote ste (p), or receve all of the fle from the regonal ste (r). Further, as n the body of the paper, w denotes the largest segment sze n the leadng segment set, and T 1 denotes the duraton of a transmsson of segment s 1. Snce, the leadng and tralng segment sets are of duraton wt 1 and WT 1, and nclude k and K k channels, respectvely, the average number of channels requred at the remote server and at the two types of proxy servers, and the storage requred at the proxy servers, are gven by the followng equatons: C remote (θ) = n =1 + y,z {R,p} X y,z,t,r + n θ R,R X R,R,l,R + =1 n Cregonal d (θ) = =1 n regonal (θ) = C nd =1 θ r,z z {(R,p,r} θ y,r y {R,p,r} θ y,r y {R,p} θ y,r y {p,r} X y,r,t,r + X y,r,l,r + X r,z,t,d (K k)wt 1 + X y,r,t,nd (K k)wt 1 + θ r,z X r,z,t,r z {R,p} θ R,z X R,z,l,R z {p,r} kwt 1, X y,z,l,d kwt 1 y {p,r} z {R,p,r} (K k)wt 1, X y,z,l,nd kwt 1 y {R,p,r} z {p,r},

180 D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 n Dregonal d (θ) = k K (θ r,z + θ p,z ) l j + θ r,z =1 z {R,p,r} j=1 j=k+1 l j, n Dregonal nd k K (θ y,r + θ y,p ) l j + θ y,r l j. =1 y {R,p,r} j=1 j=k+1 The remote server channel cost that s apportoned to (clents of) the dstnct proxy server s the sum of (a) 1/P of the channels requred to multcast segments that are not cached by any of the servers, and (b) all of the bandwdth requred to multcast segments that are not stored at the dstnct proxy server but are stored at the other proxy servers n Cremote d (θ) = y,z {R,p} X y,z,t,r + X y,r,t,r (K k)wt 1 P =1 y {R,p} n + θ R,R X R,R,l,R + θ R,z X R,z,l,R kwt 1. P =1 z {p,r} Smlarly, the remote server channel cost apportoned to (clents of) a non-dstnct proxy server s gven by n (y,z {R,p} Cremote nd (θ) = X y,z,t,r z {R,p} + θ r,z X r,z ),t,r (K k)wt 1 P P 1 =1 ( n θ R,R X R,R,l,R y {p,r} + + θ y,r X y,r ),l,r kwt 1. P P 1 =1 The maxmum rates X at whch transmsson clusters can be allocated are determned by the arrval rate of requests at the server of nterest, and by the sze of the transmsson cluster catchup wndow (defned as the perod of tme from the begnnng of a transmsson cluster durng whch a newly arrvng request can be served by that cluster). Transmsson clusters for leadng and tralng segment sets have catchup wndows of dfferng lengths. Further, the length of the catchup wndow for a leadng segment set transmsson cluster depends on when the cluster begns n relatonshp to the end of the catchup wndow of the correspondng tralng segment set transmsson cluster. For each dstnct case, the rate X may be computed as the nverse of the mnmum average tme between the ntatons of new clusters for fle. For example, consder the case n whch all clents receve the tralng segment set of fle from the remote ste. Snce the sze of the catchup wndow for a tralng segment set transmsson cluster s (W l k+1 + k j=1 l j)t 1, and snce the average tme from the end of the catchup wndow untl a new clent request for fle s 1/λ, the maxmum allocaton rate of new transmsson clusters for the tralng segment set of fle s computed as X R p,r p,t,r = 1 (1/λ ) + (W l k+1 + k j=1 l. j)t 1

D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 181 In ths equaton, and those gven below, the superscrpt notatons ( wld-card ), ( don t care ), and ( or ) are employed wth the followng meanngs: an equaton n whch a superscrpt appears holds for any consstent substtuton throughout the equaton (n that superscrpt poston) of the wth R, p, orr; an equaton n whch a superscrpt appears holds for any (not necessarly consstent) substtuton (n that superscrpt poston) of the wth R, p, or r; and an equaton n whch a superscrpt x y appears, where x,y {R,p,r}, holds f ether x or y s consstently substtuted throughout the equaton (n that superscrpt poston). Note that the above expresson gves the allocaton rate of transmsson clusters f the server had unlmted bandwdth. Snce the server has lmted bandwdth, the above expresson s the maxmum allocaton rate, as there may be queueng of clent requests and batchng of these requests whle queued, or clent balkng. The remanng X equatons for the model wth heterogeneous clent request rates and server capabltes are as follows: X R p,r,t,r = 1 1/(f d λ ) + (W l k+1 + k j=1 l j)t 1, X r,r p,t,r = 1 1/((1 f d )λ ) + (W l k+1 + k j=1 l j)t 1, X r,,t,d = 1 1/(f d λ ) + (W l k+1 + k j=1 l j)t 1, X,r,t,nd = 1 (P 1)/((1 f d )λ ) + (W l k+1 + k j=1 l j)t 1, X p r,r,l,r = 1 1/((1 f d )λ ) + (X p r,r,t,r wt 1 1 (w 1) + (1 Xp r,r 2,t,R wt,,l,r = 1 1/λ + (X R,R,t,R wt 1 1 (w 1) + (1 XR,R 2,t,R wt,,l,r = 1 1/(f d λ ) + (X R,p r,t,r wt 1 1 (w 1) + (1 XR,p r 2,t,R wt,,l,d = 1 1/(f d λ ) + (X r,,t,d wt 1 1 (w 1) + (1 Xr, 2,t,d wt,,l,d = 1 1/(f d λ ) + (X p,,t,r wt 1 1 (w 1) + (1 Xp, 2,t,R wt,,l,nd = 1 (P 1)/((1 f d )λ ) + (X,r,t,nd wt 1 1 (w 1) + (1 X,r 2,t,nd wt,,l,nd = 1 (P 1)/((1 f d )λ ) + (X,p (w 1) + (1 X,p,t,R wt. X R,R X R,p r X r, X p, X,r X,p,t,R wt 1 1 2

182 D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 A.2. Heterogeneous fle selecton frequences In the heterogeneous system model descrbed n Secton 3.2 of the paper, the fles and the proxy servers are each parttoned nto G equal-szed groups, and each group of proxy servers has a preference (.e., a larger fracton of the regons clent requests) for a dstnct group of fles. Each proxy server has the same request rate for each of ts (G 1) non-preferred groups of fles. Also, the relatve selecton frequences of the fles wthn a group are the same for all groups and for all proxy servers. In addton to the notaton defned n Tables 1 and 3, the detaled equatons for ths model also use quanttes X y,z X y,z,t,x,l,x and (x {R,a,na}, y,z {R,p,r}), whch are defned as the maxmum rates at whch transmsson clusters can be allocated for multcasts of the leadng/tralng (l/t) segment set for fle, dstngushed by the server (R: remote, a: a proxy server that has a preference or affnty for the fle s group, or na: a proxy server that does not have a preference for the fle s group), and by whether requests from a preferrng (y) or non-preferrng (z) regon receve all of the fle from the remote ste (R), part (only the tralng segment set) from the remote ste (p), or receve all of the fle from the regonal ste (r). Note that although each proxy server may optmally cache dfferent fle segments, due to the symmetry n the regonal clent workloads, each proxy server wll cache the same segments from ts respectve preferred and non-preferred groups. Ths greatly smplfes the model. The number of channels requred at the remote server and at each proxy server, and the storage requred at each proxy server, are gven by the equatons below, where the ndex runs only over the fles wthn a sngle group snce the groups of fles are symmetrc C remote (θ) = G +G C regonal (θ) = + D regonal (θ) = y,z {R,p} X y,z,t,r + θ R,R X R,R,l,R + y {p,r} θ r,z X r,z,t,a z {R,p,r} y {p,r} z {R,p,r} z {R,p,r} +(G 1) (θ r,z y {R,p,r} + θ p,z ) θ y,r y {R,p} θ y,r + (G 1) X y,z,l,a k j=1 (θ y,r X y,r,t,r + X y,r,l,r + θ r,z X r,z,t,r z {R,p} θ R,z X R,z,l,R z {p,r} θ y,r X y,r,t,na y {R,p,r} + (G 1) l j + θ r,z + θ y,p ) kwt 1, (K k)wt 1 X y,z,l,na y {R,p,r} z {p,r} K j=k+1 k j=1 l j l j + θ y,r K j=k+1 l j. (K k)wt 1 kwt 1,

D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 183 The maxmum rates X at whch transmsson clusters can be allocated are computed n a smlar fashon as n the prevous models. Usng the wldcard, don t care, and or notaton used prevously for the request rate and server heterogenety model, we have X R p,r p,t,r = References 1 1/λ + (W l k+1 + k j=1 l, j)t 1 X R p,r,t,r = 1 1/(f a λ ) + (W l k+1 + k j=1 l, j)t 1 X r,r p,t,r = 1 1/((1 f a )λ ) + (W l k+1 + k j=1 l, j)t 1 X r,,t,a = 1 P/(Gf a λ ) + (W l k+1 + k j=1 l, j)t 1 X,r,t,na = 1 ((G 1)/G)(P /((1 f a )λ )) + (W l k+1 + k j=1 l, j)t 1 X p r,r,l,r = 1 1/((1 f a )λ ) + (X p r,r,t,r wt 1 1 (w 1) + (1 Xp r,r 2,t,R wt, X R,R,l,R = 1 1/λ + (X R,R,t,R wt 1 1 (w 1) + (1 XR,R 2,t,R wt, X R,p r,l,r = 1 1/(f a λ ) + (X R,p r,t,r wt 1 1 (w 1) + (1 XR,p r 2,t,R wt, X r,,l,a = 1 P/(Gf a λ ) + (X r,,t,a wt 1 1 (w 1) + (1 Xr, 2,t,a wt, X p,,l,a = 1 P/(Gf a λ ) + (X p,,t,r wt 1 1 (w 1) + (1 Xp, 2,t,R wt, X,r,l,na = 1 ((G 1)/G)(P /((1 f a )λ )) + (X,r,t,na wt 1 1 (w 1) + (1 X,r 2,t,na wt, X,p,l,na = 1 ((G 1)/G)(P /((1 f a )λ )) + (X,p,t,R wt 1 1 (w 1) + (1 X,p 2,t,R wt. [1] C.C. Aggarwal, J.L. Wolf, P.S. Yu, A permutaton based pyramd broadcastng scheme for vdeo-on-demand systems, n: Proceedngs of the IEEE Internatonal Conference on Multmeda Computng and Systems (ICMCS 96), Hroshma, Japan, June 1996. [2] C.C. Bsdkan, B.V. Patel, Cost-based program allocaton for dstrbuted multmeda-on-demand systems, IEEE MultMeda 3 (3) (1996) 62 72. [3] A. Brooke, D. Kendrck, A. Meeraus, GAMS: A User s Gude, Scentfc Press, San Francsco, CA, 1988. [4] D.W. Brubeck, L.W. Rowe, Herarchcal storage management n a dstrbuted VOD system, IEEE MultMeda 3 (3) (1996) 37 47.

184 D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 [5] Y. Ca, K.A. Hua, K. Vu, Optmzng patchng performance, n: Proceedngs of the IS&T/SPIE Conference on Multmeda Computng and Networkng 1999 (MMCN 99), San Jose, CA, January 1999, pp. 204 215. [6] P. Cao, S. Iran, Cost-aware WWW proxy cachng algorthms, n: Proceedngs of the USENIX Symposum on Internet Technologes and Systems (USITS), Monterey, CA, December 1997, pp. 193 206. [7] S.W. Carter, D.D.E. Long, Improvng vdeo-on-demand server effcency through stream tappng, n: Proceedngs of the Sxth Internatonal Conference on Computer Communcatons and Networks (ICCCN 97), Las Vegas, NV, September 1997, pp. 200 207. [8] A. Chankhunthod, P.B. Danzg, C. Neerdaels, M.F. Schwartz, K.J. Worrell, A herarchcal Internet object cache, n: Proceedngs of the 1996 USENIX Techncal Conference, January 1996. [9] G.B. Dantzg, Lnear Programmng and Extensons, Prnceton Unversty Press, Prnceton, NJ, 1963. [10] D.L. Eager, M.K. Vernon, Dynamc skyscraper broadcasts for vdeo-on-demand, n: Proceedngs of the Fourth Internatonal Workshop on Multmeda Informaton Systems (MIS 98), Istanbul, Turkey, September 1998, pp. 18 32. [11] D.L. Eager, M.C. Ferrs, M.K. Vernon, Optmzed regonal cachng for on-demand data delvery, n: Proceedngs of the IS&T/SPIE Conference on Multmeda Computng and Networkng 1999 (MMCN 99), San Jose, CA, January 1999, pp. 301 316. [12] D.L. Eager, M.K. Vernon, J. Zahorjan, Mnmzng bandwdth requrements for on-demand data delvery, n: Proceedngs of the Ffth Internatonal Workshop on Multmeda Informaton Systems (MIS 99), Indan Wells, CA, October 1999, pp. 80 87. [13] D.L. Eager, M.K. Vernon, J. Zahorjan, Optmal and effcent mergng schedules for vdeo-on-demand servers, n: Proceedngs of the Seventh ACM Internatonal Multmeda Conference (ACM Multmeda 99), Orlando, FL, November 1999, pp. 199 202. [14] D.L. Eager, M.K. Vernon, J. Zahorjan, Bandwdth skmmng: a technque for cost-effectve vdeo-on-demand, n: Proceedngs of the IS&T/SPIE Conference on Multmeda Computng and Networkng 2000 (MMCN 2000), San Jose, CA, January 2000, pp. 206 215. [15] M.C. Ferrs, R.R. Meyer, Models and soluton for on-demand data delvery problems, n: P.M. Pardalos (Ed.), Nonconvex Optmzaton and ts Applcatons, Vol. 42, Kluwer Academc Publshers, Dordrecht, 2000, pp. 175 188. ftp://ftp.cs.wsc.edu/math-prog/tech-reports/99-04.ps. [16] L. Gao, J. Kurose, D. Towsley, Effcent schemes for broadcastng popular vdeos, n: Proceedngs of the Eghth Internatonal Workshop on Network and Operatng Systems Support for Dgtal Audo and Vdeo (NOSSDAV 98), Cambrdge, UK, July 1998. [17] L. Gao, D. Towsley, Supplyng nstantaneous vdeo-on-demand servces usng controlled multcast, n: Proceedngs of the 1999 IEEE Internatonal Conference on Multmeda Computng and Systems (ICMCS 99), Florence, Italy, June 1999. [18] K.A. Hua, S. Sheu, Skyscraper broadcastng: a new broadcastng scheme for metropoltan vdeo-on-demand systems, n: Proceedngs of the ACM SIGCOMM 97 Conference, Cannes, France, September 1997, pp. 89 100. [19] K.A. Hua, Y. Ca, S. Sheu, Patchng: a multcast technque for true vdeo-on-demand servces, n: Proceedngs of the Sxth ACM Internatonal Multmeda Conference (ACM Multmeda 98), Brstol, UK, September 1998, pp. 191 200. [20] G.L. Nemhauser, L.A. Wolsey, Integer and Combnatoral Optmzaton, Wley, New York, 1988. [21] J.-P. Nussbaumer, B.V. Patel, F. Schaffa, J.P.G. Sterbenz, Networkng requrements for nteractve vdeo on demand, IEEE J. Selected Areas Commun. 13 (5) (1995) 779 787. [22] J.-F. Pars, D.D.E. Long, P.E. Mantey, Zero-delay broadcastng protocols for vdeo-on-demand, n: Proceedngs of the Seventh ACM Internatonal Multmeda Conference (ACM Multmeda 99), Orlando, FL, November 1999, pp. 189 197. [23] S. Sen, J. Rexford, D. Towsley, Proxy prefx cachng for multmeda streams, n: Proceedngs of the IEEE Infocom 99 Conference, New York, NY, March 1999. [24] R. Tewar, H.M. Vn, A. Dan, D. Staram, Resource-based cachng for web servers, n: Proceedngs of the IS&T/SPIE Conference on Multmeda Computng and Networkng 1998 (MMCN 98), San Jose, CA, January 1998. [25] S. Vswanathan, T. Imelnsk, Pyramd broadcastng for vdeo-on-demand servce, n: Proceedngs of the IS&T/SPIE Conference on Multmeda Computng and Networkng 1995 (MMCN 95), San Jose, CA, February 1995, pp. 66 77. [26] S. Vswanathan, T. Imelnsk, Metropoltan area vdeo-on-demand servce usng pyramd broadcastng, Multmeda Syst. 4 (4) (1996) 197 208.

D.L. Eager et al. / Performance Evaluaton 42 (2000) 163 185 185 Derek L. Eager receved hs B.Sc. degree n computer scence from the Unversty of Regna n 1979, and M.Sc. and Ph.D. degrees n computer scence from the Unversty of Toronto, n 1981 and 1984, respectvely. Currently, he s a Professor n the Department of Computer Scence at the Unversty of Saskatchewan. Hs research nterests are n the areas of performance evaluaton, streamng meda delvery, and dstrbuted systems. Mchael C. Ferrs s a Professor of Computer Scences and Industral Engneerng at the Unversty of Wsconsn, Madson, USA. He receved hs Ph.D. from the Unversty of Cambrdge, England n 1989. Hs prncpal research nterests le n complementarty problems and ther applcatons, ncludng economc and traffc equlbra, structural and mechancal engneerng. The emphass of hs work s on algorthmc and nterface development for large-scale problems n mathematcal programmng, ncludng lnks to the GAMS and AMPL modelng languages, and general purpose software such as PATH and FATCOP. He receved the Beale-Orchard-Hays prze from the Mathematcal Programmng Socety and s a recpent of a NSF Presdental Young Investgator Award. Mary K. Vernon receved her B.S. degree wth Departmental Honors n chemstry n 1975, and the Ph.D. degree n computer scence n 1983, from the Unversty of Calforna at Los Angeles. In August 1983, she joned the Computer Scence Department at the Unversty of Wsconsn, Madson, where she s currently Professor of Computer Scence and Industral Engneerng. Her research nterests nclude performance analyss technques for evaluatng computer system desgn tradeoffs, parallel/dstrbuted archtectures and systems, scalable nformaton nfrastructure, and streamng meda servers. She receved an NSF Presdental Young Investgator Award n 1985, the ACM Fellow award n 1996, and the Unversty of Wsconsn Vlas Assocate Award n 2000. She s currently Char of the ACM SIGMETRICS and a co-pi/executve Commttee member of the Natonal Computatonal Scence Allance (NCSA). She s a member of the IEEE, the ACM, and IFIP WC 7.3 on Informaton Processng System Modelng, Measurement and Evaluaton.