A Piggybacking Policy for Reducing the Bandwidth Demand of Video Servers

Similar documents
Improving VoD System Efficiency with Multicast and Caching

A Simulation-Based Analysis of Scheduling Policies for Multimedia Servers

Time Domain Modeling of Batching under User Interaction and Dynamic Adaptive Piggybacking Schemes 1

A COOPERATIVE DISTRIBUTION PROTOCOL FOR VIDEO-ON-DEMAND

VoD QAM Resource Allocation Algorithms

Optimal Scheduling of Secondary Content for Aggregation in Video-on-Demand Systems 1

FUTURE communication networks are expected to support

RECURSIVE PATCHING An Efficient Technique for Multicast Video Streaming

COOCHING: Cooperative Prefetching Strategy for P2P Video-on-Demand System

On a Unified Architecture for Video-on-Demand Services

OPTIMIZING THE VIDEO PLACEMENT ON REPLICA SERVERS OF VIDEO-ON-DEMAND SYSTEMS BY BRANCH AND BOUND APPROACH

Threshold-Based Multicast for Continuous Media Delivery y

Performance and Waiting-Time Predictability Analysis of Design Options in Cost-Based Scheduling for Scalable Media Streaming

Lecture 8. Dynamic Programming

Overlapping Coalition Formation for Efficient Data Fusion in Multi-Sensor Networks

Optimal Scheduling of Secondary Content for Aggregation in Video-on-Demand Systems

Analysis of Resource Sharing and Cache Management in Scalable Video-on-Demand

398 MA Huadong, Kang G. Shin Vol.17 Because different videos are requested at different rates and at different times, researchers assume that the popu

Cluster Analysis. Mu-Chun Su. Department of Computer Science and Information Engineering National Central University 2003/3/11 1

Proxy Caching for Video on Demand Systems in Multicasting Networks

Threshold-Based Multicast for Continuous Media Delivery Ý

D.Abhyankar 1, M.Ingle 2. -id: 2 M.Ingle, School of Computer Science, D.A. University, Indore M.P.

Scalability And The Bandwidth Efficiency Of Vod Systems K.Deepathilak et al.,

Design and Analysis of Algorithms

Parallel algorithms for generating combinatorial objects on linear processor arrays with reconfigurable bus systems*

Graph Theory for Modelling a Survey Questionnaire Pierpaolo Massoli, ISTAT via Adolfo Ravà 150, Roma, Italy

To address these challenges, extensive research has been conducted and have introduced six key areas of streaming video, namely: video compression,

A Proxy Caching Scheme for Continuous Media Streams on the Internet

Rollout Algorithms for Discrete Optimization: A Survey

The Transmitted Strategy of Proxy Cache Based on Segmented Video

A New Exam Timetabling Algorithm

MULTIRATE RESOURCE SHARING FOR UNICAST AND MULTICAST CONNECTIONS

Provably Efficient Stream Merging

A Note on Scheduling Parallel Unit Jobs on Hypercubes

Improving Video-on-Demand Server Efficiency Through Stream Tapping

Modeling, Design and Performance Evaluation of Interactive. Distributed Video-on-Demand Systems

Using Multicast for Streaming Videos across Wide Area Networks

1 Introduction Non-uniform popularities of movies can result in skewed user access patterns in VoD systems[6]. Several techniques exploit this princip

Striped Grid Files: An Alternative for Highdimensional

MOST attention in the literature of network codes has

Advanced Algorithms and Data Structures

Adaptive QoS Platform in Multimedia Networks

Maximum flows & Maximum Matchings

High-Speed Cell-Level Path Allocation in a Three-Stage ATM Switch.

Classification and Regression Trees

Stretch-Optimal Scheduling for On-Demand Data Broadcasts

Data Mining Practical Machine Learning Tools and Techniques

Distributed minimum spanning tree problem

A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES)

The Encoding Complexity of Network Coding

Greedy Algorithms. CLRS Chapters Introduction to greedy algorithms. Design of data-compression (Huffman) codes

An Efficient Dynamic Bandwidth Allocation Algorithm for Quality of Service Networks

Fast and Simple Algorithms for Weighted Perfect Matching

Video placement and configuration of distributed video servers on cable TV networks

Instituto Nacional de Pesquisas Espaciais - INPE/LAC Av. dos Astronautas, 1758 Jd. da Granja. CEP São José dos Campos S.P.

Load Balancing with Minimal Flow Remapping for Network Processors

Towards Scalable Delivery of Video Streams to Heterogeneous Receivers

Using Multicast for Streaming Videos across Wide Area Networks

Chapter 3 General Principles. Banks, Carson, Nelson & Nicol Discrete-Event System Simulation

Optimization Issues in Multimedia Systems. Charu C. Aggarwal, Joel L. Wolf and Philip S. Yu. IBM T. J. Watson Research Center

The Shortest Path Problem. The Shortest Path Problem. Mathematical Model. Integer Programming Formulation

Evolved Multimedia Broadcast/Multicast Service (embms) in LTE-advanced

Bandwidth Allocation for Video Streaming in WiMax Networks

6. Algorithm Design Techniques

Heuristic Algorithms for Multiconstrained Quality-of-Service Routing

Discrete-Event Simulation:

Probability Admission Control in Class-based Video-on-Demand System

Providing VCR in a Distributed Client Collaborative Multicast Video Delivery Scheme

Maximizing edge-ratio is NP-complete

An Energy-Efficient Client Pre-Caching Scheme with Wireless Multicast for Video-on-Demand Services

Preemptive Scheduling of Equal-Length Jobs in Polynomial Time

5. Conclusion. 6. References

Elements of Dynamic Programming. COSC 3101A - Design and Analysis of Algorithms 8. Discovering Optimal Substructure. Optimal Substructure - Examples

Algorithms Dr. Haim Levkowitz

Greedy Algorithms 1 {K(S) K(S) C} For large values of d, brute force search is not feasible because there are 2 d {1,..., d}.

Section 3.2: Multi Stream Lehmer RNGs

On Cluster Resource Allocation for Multiple Parallel Task Graphs

Algorithm classification

CPS 616 TRANSFORM-AND-CONQUER 7-1

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

Splitter Placement in All-Optical WDM Networks

Energy-Efficient Mobile Cache Invalidation

An Adaptive and Deterministic Method for Initializing the Lloyd-Max Algorithm

Unit-5 Dynamic Programming 2016

BiHOP: A Bidirectional Highly Optimized Pipelining Technique for Large-Scale Multimedia Servers

Combination Load Balancing for Video-on-demand Systems

Processing Rank-Aware Queries in P2P Systems

Model suitable for virtual circuit networks

TIME COMPLEXITY ANALYSIS OF THE BINARY TREE ROLL ALGORITHM

A novel algorithm to determine the leaf (leaves) of a binary tree from its preorder and postorder traversals

Just Sort. Sathish Kumar Vijayakumar Chennai, India (1)

International Journal of Scientific & Engineering Research, Volume 4, Issue 7, July ISSN

A HYBRID METHOD FOR SIMULATION FACTOR SCREENING. Hua Shen Hong Wan

Computing Optimal Strata Bounds Using Dynamic Programming

9.1. K-means Clustering

Solutions for Assignment 2: Dynamic Programming

Design of Hierarchical Crossconnect WDM Networks Employing a Two-Stage Multiplexing Scheme of Waveband and Wavelength

QoS-Constrained Multi-path Routing for High-End Network App.

Study of Load Balancing Schemes over a Video on Demand System

Consistent Measurement of Broadband Availability

Transcription:

Chapter 16 A Piggybacking Policy for Reducing the Bandwidth Demand of Video Servers Roberto de A. Fa9anha* (facanha@telemar-ce.com.br) Nelson L. S. da Fonseca& (nfonseca@dcc.unicamp.br) * Telecomunica~oes do Ceara. Telemar. Av. Borges de Melo. 1677. Fortaleza CEo Brazil & Institute o/computing. State University o/campinas. Campinas S.P. Brazil. PO Box 6176 Key words: Abstract: Piggybacking, video-on-demand In video-on-demand systems, users expect to watch a film right after its selection. Nonetheless, such a short response time is feasible only if there is available bandwidth. In line with that, several techniques have been proposed to reduce the huge bandwidth demand on video servers. In this paper, we introduce the Piggybacking policy S", which adds a second level of optimization to the Snapshot policy. Moreover, we introduce a heuristic to reduce the complexity to generate the tree of superimposed video streams. 1. INTRODUCTION Video on Demand (VoD) is one of the most promising applications in the future Broadband Integrated Services Digital Networks (B-ISDN). However, since it is extremely demanding on bandwidth, its availability in large scale requires the use of techniques for reducing this demand. Such techniques take into consideration the probability of a set of requests for popular videos (hot videos) getting to the system within a relatively short time interval, making it possible to provide a single video stream for all these requests. Batching is a technique [1,2,3] which starts a new video stream by grouping all pending requests for a particular video in a certain time window. The main disadvantage of this technique is the delay introduced between the request and the beginning of exhibition of the video, which might lead the user to drop the request. Piggybacking is a technique [4,5,6] based on the fact that alterations of up to 5% in J. N. de Souza et al. (eds.), Managing QoS in Multimedia Networks and Services Springer Science+Business Media New York 2000

226 Part Five - Policies and Service Management the display rate of a film are not perceptible to the user. In this way, requests can be promptly initiated and, by varying the display rate of subsequent video streams of the same film, we can superimpose the video streams as soon as they display the same frame. By doing so, we can provide only one video stream for all superimposed streams. This paper presents the S2 piggybacking policy. S2 merges the video streams resulting from the use of the Snapshot policy on set of stream. Furthermore, a heuristic for reducing the complexity of generating merging trees is introduced. The Build Tree heuristic is O( n 2 ) where n is the number of streams to be merged, whereas a solution via Dynamic programming is O(n 3 ). This paper presents the S2 Piggybacking policy, which was discussed in the seminal paper [7]. The S 2 policy is a generalization of the Snapshot Algorithm policy [6]. Furthermore, we propose an heuristic for reducing the complexity of building merging tree. The remaining of this paper is organized as follows: section 2 presents the Snapshot policy. Sections 3 and 4 introduce the S2 policy and the proposed heuristic, respectively. Section 5 presents some conclusions. Appendix 1 presents the source code for the heuristic. 2. THE SNAPSHOT ALGORITHM Snapshot is a Piggybacking policy [6] which attempts to minimize the number of frames shown for a given set of video streams. The computations performed by Piggybacking policies can be regarded as a binary tree (merging tree) in which the leaves correspond to streams, inner nodes are merges and the root is the final merge which forms the resulting stream of the set. Therefore, the number of possible trees generated by a set of streams constitutes the number of Piggybacking policies potentially optimal and is given by the (n-l) st Catalan [6,7] number, that is: ( ) 1 (2n-2). Catalan n - 1 = -. ( u n! n -I)! which implies that it is not viable to perform exhaustive search in an attempt to find an optimal strategy and its corresponding binary tree. The Snapshot policy builds an optimal merging tree in the following way: consider a set of n streams of a single video, comprised of L frames, and their positions being given by It, 12,... in' where It ~ 12 ~... ~ In' at a given instant of time T. The minimum and maximum rates of frames per second of the video streams are denoted Smin and Smax' respectively. Let i and j, where

A Piggybacking Policy for Reducing Bandwidth in Video Servers 227 1::; i < j::; n, be two video streams. P(i,j) denotes the merging position (in frames) at which streams i and j show the same frame. Since stream i has speed S min and stream j has speed S max' the merging position is given by: p(..) {" S (J; - Ij J l,j = j i + min' _ Smax Smin Let C(i, j) be the cost of a Piggybacking policy and T (i, j) the corresponding binary tree. The cost of a given stream is given by C(i,i)=L- J; To minimize C(i,j) it is necessary that the following optimality principle be satisfied: there must exist a stream k, with i::; k < j, such that the left and right subtrees must also be optimal. These subtrees are denoted by T (i,k) and T (k + 1,j). The cost of the tree that corresponds to the set of streams i,...,j IS given by: C(i,j) = C(i,k)+ C(k + 1,j)+ max((l - P(i,j)),O) (1) Therefore, the optimal policy for the streams i,..., j contains subtrees i,..., k and k + 1,...,j, where k* = argmini~k<j C(i,k)+ C(k + 1,j)-max((L - P(i,j)),O) In this way, the cost of the set of n streams, C( 1, n), can be computed in a bottomup fashion by means of a dynamic programming algorithm. The Snapshot policy merges video streams in an interval (Snapshot interval) given by I = W / S max ' where W is the optimal window size for the generalized simple merging policy [6]. At the end of the interval, the optimizing procedures described above are applied. Sizing merging windows is an important issue. When the window size is large, a higher number of streams can be merged into a single stream, however, the mergings occur towards the end of the video. Conversely, when the window size is small, a reduced number of mergings are most likely to occur close to the beginning of the video. One can easily perceive that neither situation favors the reduction of the number of frames displayed by a set of streams. Aggarwal et al. [6] present an analytic method to optimize the size of the merging window to take into account the

228 Part Five - Policies and Service Management anticipated rate of new requests, assuming that these are modeled by a Poisson process. 3. THE S2 PIGGYBACKING POLICY The Snapshot policy was proposed to minimize the number of displayed frames from the streams contained in an interval I. The optimization involves only the streams that arrive during the last Snapshot interval. It is possible to verify that the smaller the interarrival time (higher rates) the smaller the optimal window size is, allowing for one or several optimal windows contained in the maximum catchup window. The possibility of merging two streams separated by at most Wm frames, where Wm is the maximum catchup window size, allows for additional gain on the top of those from the Snapshot policy. In line with that, we define a novel policy called S 2 which aims at optimizing the number of displayed frames of a set of streams in a modified maximal merging window, W~, (W ~ W~ ~ W m ) and not only in the interval I. The modified maximal window consists of an integer number of optimal windows, i.e., the modified maximal window has LWm /W J optimal windows. The S2 policy introduces a second level of merges, in which streams resulting from the Snapshot intervals are merged. The S2 policy works as follows: it initially applies the Snapshot algorithm over streams which survive past the Snapshot intervals (as originally proposed). It subsequently applies once again the Snapshot algorithm on the streams resulting from the first step. We should emphasize that according to the definition of the Snapshot policy, the speed Smax is assigned to these resulting streams with the exception of the one generated by the first optimal window contained in W~. Another important aspect is that contrary to what happens in the first level of optimization, the point where the optimization procedure is subsequently applied does not have to occur at fixed intervals. These intervals are denoted by I S2 their duration is determined by the request pattern in each window W~ (Figure J). A natural generalization of the S 2 policy would be to consider n levels of optimization. Nonetheless, the gain that can be obtained by applying these additional levels are nearly null since streams in these levels are separated by roughly a number offrames which is close to Wm frames. Therefore, the introduction of extra merging levels would not produce effective reductions in the bandwidth demand. and

A Piggybacking Policy for Reducing Bandwidth in Video Servers 229 ol (fl1lmes) -- Is' I I I tillle(sec.) I--- WinlSmax --~ I- WmlSmax ----l Figure 1. A scenario which shows that the last streams does not necessarily corresponds to the resulting streams of the last optimal window contained in the W~. To evaluate the impact of introducing of a second level of optimization we compare S2 to the original Snapshot policy and to the overall Snapshot policy which considers all the request for a given video without dividing time into Snapshot intervals. The objective function used in this paper differs from that considered in [6] which takes into account only the number of frames displayed after the interval I. Our objective function considers the total number of frames displayed for a set of streams, that is, it reflects the optimization that takes place in interval I as well as the ones which happen after that interval. So, the cost of exhibiting an individual stream is given by C(i,i)=L for a stream i, and is given by: C(i,j) = Frames I + (C(i,k)+ C(k+ l,j)-max((l - P(i,j)),O)) for a set of streams i,..., j, where the value of k is determined by Equation I, and Frames I is the sum of frames displayed by the m discarded streams Q(l), for I = 1,..., m, before the end of the Snapshot intervals given by:

230 Part Five - Policies and Service Management m Frame I = LQ(z) 1=1 3.1 Numerical Results Results presented in this paper were obtaining via discrete-event simulation. We used the method of independent replications to compute confidence intervals with a confidence level of 95%. We assume that requests arrive according to a Poisson process and we use Smin = 28.5 and Smax = 31.5 frames per second. The graphics show the percentual reduction in the number of frames displayed. Three experiments were performed: i) analysis of the policies under different arrival rates; ii) analysis of the sensibility of the S 2 policy in relation to the window size; iii) analysis of the effect of the duration of a video and of arrival rate over the S 2 policy. Figure 2 illustrates the behavior of the policies under different arrival rates, i.e., we vary the mean interarrival time from 15 to 500 seconds. We can see that as the mean interarrival time assumes higher values the benefit of adopting Piggybacking are reduced. For high rates, the introduction of a second level of optimization allows gains of up to 8% better than those achieved by the Snapshot policy. j.s.. I:.~ en ~ j 90~~~--~~--~~--~-r--r-~ " Snapshot - 80 S2~ \ Overall Snapshot -.- 70 60 50 "..... 40 30 20... ",... "'J, " \...... -..,.. ~ 1... " 'C' I_-I-...1 y,.... -i 10~~~--~~--~~--~~--~~ o 50 100 150 200 250 300 350 400 450 500 InterarrlvaJ TI me In Seconds Figure 2. Comparison between the original Snapshot, the S.t. and the global Snapshot policies Figure 3 shows the behavior of the S2 policy as a function of the window size considering mean interarrival times of 30 seconds and a video duration of 2 hours. It can be seen that the S 2 policy is insensitive to the variation of the window size. This is due to the fact that the second level of optimization compensates eventual mergings not performed due to small catchup window. In other words, when the size of the catchup window is small, few merges occur at the first level of optimization which implies in a small reduction on the number of displayed frames. Since there is a second level of mergings, the resulting streams from the first

A Piggybacking Policy for Reducing Bandwidth in Video Servers 231 merging level can still be merged leading to further reduction. As the catchup window gets close to maximum size, most of the gain comes from the first level of optimization. 82.5 82 81.5 81 80.5 '---'-_'---'-_"-----'-_-'-----'-_-'----'----1 o 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Catchup I Maximum Window Size Figure 3. The impact of the window size on the percentage of nondisplayed frames under the 8 2 policy Figure 4 illustrates the impact of both the video duration and the mean interarrival time on 8 2 savings. In this figure, we consider videos with duration from 30 minutes up to 4 hours and mean interarrival time from 15 to 500 seconds. It can be seen that we obtain greater reductions on the number of displayed frames for longer videos in conjunction with higher arrival rates. The reduction on the bandwidth demand varies from 9% for videos of 30 minutes duration and mean interarrival time of 500 seconds. The reduction can be up to 93% for long videos (4 hours of duration) and interval of arrivals of 15 seconds. Video Length In MI nutes Figure 4. The impact of both request interarrival time and video length on the percentage of nondisplayed frames under the 8 2 policy

232 Part Five - Policies and Service Management 4. REDUCING THE COMPLEXITY OF GENERATING MERGING TREE If on one hand, the Snapshot policy is an attractive bandwidth reduction technique. On the other hand, the optimal merging (binary) tree of the optimal strategy is constructed by a dynamic programming algorithm whose complexity is e(n 3 ) [8], where n is the number of streams that survived past the Snapshot interval. It was observed that merging trees can be built in a top-down fashion, differently from the dynamic programming algorithms which adopts a bottom-up fashion. In order to reduce it's complexity, we conceived a heuristic, called BuildTree, which is based on divide and conquer strategy. The basic principle of the heuristic consists in successively partitioning the set of streams to be merged in two groups and computing the costs of each subgroup until we obtain the merging tree. The division criterion used takes into consideration the segments of the merging tree (the number of frames of video given by the merging position) between the first stream and an intermediate stream (divisor stream) and between this and the last stream. In other words, we determine the stream that would represent the point of division of the set in potentially optimal subtrees. In this way, for a set of streams i,...,j there exists a stream k, with i:::; k < j which minimizes the absolute value of the difference the lengths of the segments P(i, k) and P(k, j), given by: k* = arg min i :::; k < j~p(i,j)-p(k,j~} After determining k, the original set of streams i,..., j is divided in the subsets i,...,k and k,...,j, if PV,k )<P(k,j), or i,...,k -1 and k,..., j, otherwise, and then, the division criterion is re-applied to both. The algorithm considers two particular cases, whose entries have only two or three streams. These cases simplify the analysis in order to obtain a better performance. In the first case, the algorithm computes only the merging position and in the second, the segments P(i,i + 1) and P(i + 1,j) are compared and the larger value is discarded. Therefore, the cost for a set of streams i,...,j is obtained through the sum of the lengths of the segments of the merging tree, which represents the cost of the n - 1 streams except for the resulting stream. So, we must add the length of the resulting stream to this value to obtain the final cost. In the process of determining the divisor stream (equation 5), o( n) operations are sufficient. We can use the following property to reduce the number of operations carried out: "the divisor stream is the first whose merging segment from the initial stream to the one after the divisor is greater than the merging segment of the stream

A Piggybacking Policy for Reducing Bandwidth in Video Servers 233 following the divisor up to the last stream." But, in the worst case, k = } -1, O(n) operations still take place. THEOREM: THE BUILDTREE HEURISTIC HAS COMPLEXITY O(n 2 ). PROOF: See [10]. For a better understanding of the heuristic consider the following example. Suppose that in a given Snapshot six streams are initiated and that at the end of it, their positions are: 3338, 3010, 2908, 2316, 1650 and 503. Let i be the first stream; k be the divisor stream and } be the last stream of the set so that the six streams are partitioned into the sets (1 ~ 4) and (5 ~ 6), (i = l,k = 4,) = 6), given that the fourth stream is the first stream in which P(i, k + 1) ~ p( k + I,} ), resulting in the tree in Figure 5-a. In sequence we re-apply the algorithm over the subsets (i = I,...,) = 4) and (i = 5 e) = 6). Figure 5-b illustrates the final merging tree built by the algorithm (in this case, the same as the tree generated by the dynamic programming algorithm). JJJ8 JOlO 2908 2Jl6 l650 50J JJJ8 JOlO 2908 2316 l650 50J Figure 5. Construction of the merging tree by the heuristic BuildTree In our experiments, the BuildTree heuristic was implemented using sequential search for the divisor stream in the set i,...,}. The use of binary search would of course imply in considerable speed up. In Appendix 1, we show the heuristic as implemented in the C language. 4.1 Numerical Results The proposed heuristic consists in an approximation of the optimal solution making it necessary to evaluate its precision in relation to the optimal one. With this intent, we execute both algorithms at the end of the Snapshot intervals to compare the costs of the generated merging trees. In this experiment, requests arrive according to a Poisson process and the mean interarrival time varies from 15 to 500 seconds.

234 Part Five - Policies and Service Management 90 namlc Programming Algortthm _ Heurtstlc BulldTree +- Xl 2 u...f; '" r:.~ en III :if J 40 30 20 10 o 0~-5~0-1""'0-:-0 --'-15""'0--'2-'-00-2:-'5""'0--'-30""'0--'3-':'50:--4:-'0""'0--'-45""'0---:-'500 InterarrivaJ Time In Seconds Figure 6. Comparison of the costs computed by the heuristic and by the dynamic programming algorithm Figure 6 shows the mean percentual gain given by the dynamic programming algorithm and given by the heuristic. It can be seen that the BuildTree heuristic is extremely precise in relation to the optimal solution. This is due to the fact that in the majority of the cases the BuildTree heuristic obtains the optimal solution. 0.0035 r-----.-------r---,----,--=-r~---, Heuristic BulldTree - Dynamic Programming Algortthm - 0.003 0.0025 0.002 0.0015 0.001 0.0005,/~ // ; f.t,of'''- /*~.. ~ "./ I! /..' ~....-'* ~.-..- o~~~~~_~"~~'~_~'k~~~~~::::~====j o 5 10 15 20 25 Nurrber of Streams Figure 7. Comparison between the execution times of the heuristic and the dynamic programming algorithm In Figure 7, instances from I to 25 streams (observed in other experiments) were fed as input for the computation of the execution times of both algorithms. We observed in all cases that the time in the execution of the algorithm was at most equal to the time of the dynamic programming algorithm.

A Piggybacking Policy for Reducing Bandwidth in Video Servers 235 5. CONCLUSION This paper introduces the S 2 Piggybacking policy which adds a level of optimization in relation to the Snapshot policy. Moreover, we propose an approximate heuristic for reducing the complexity of building merging trees. We verified via simulations that the S2 policy leads to less displayed frames than the Snapshot policy does. Furthermore, we note that the proposed heuristic is reasonably accurate, with a significantly lower complexity. ACKNOWLEDGEMENTS This work was partially supported by Pronex SAl, CNPq, and FAPESP. REFERENCES [1] Dan, D. Sitaram and P. Shahabuddin. "Dynamic Batching Policies for an on-demand Video Server". Multimedia Systems, Vol. 4, pp. 112-121, 1996. [2] Dan, P. Shahabuddin, D. Sitaram and Don Towsley. "Channel Allocation under Batching and VCR Control in Video-on-Demand Systems". Journal of Parallel and Distributed Computing, Vol. 30, pp. 168-179, 1995. [3] P. S. Yu, J. L. Wolf and H. Shachnai, "Design and Analysis of a Look-Ahead Scheduling Scheme to Support Pause-Resume for Video-on-Demand Applications". Multimedia Systems, Vol. 3, No.4, pp. 137-149, 1996. [4] L. Golubchik, John C. S. Lui and R. Muntz, Reducing 110 Demand in Video-on-Demand Storage Servers, In Proc. of ACM Sigmetrics, pp. 25-36,1995. [5] L. Golubchik, John C. S. Lui and R. Muntz, "Adaptive Piggybacking: A Novel Technique for Data Sharing in Video-on-Demand Storage Servers", Multimedia Systems, Vol. 4, No.3, pp. 140-155, 1996. [6] C. Aggarwal, J. Wolf and P. S. Yu, "On Optimal Piggyback Merging Policies for Videoon-Demand Systems", In Proc. of ACM SIGMETRICS, Vol. 24, No. I, pp. 200-209, New York, May, 1996. [7] Roberto de A. Far;anha, N. L S. da Fonseca and P. J. de Rezende. "Reducing Bandwidth Demand on Video Servers", Reduzindo a Demanda de Banda Passante em Servidores de Video (In Portuguese), In Proc. of the Second French-Brazilian Seminar on Distributed Systems: Multimedia Architectures for Telecommunications, Federal University of Ceara, Brazil and University of Versailles, France, pp. 308-319. Fortaleza, Ceara, 1997. [8] M. Gardner, "Catalan Numbers", Scientific American, pp. 120-124, June, 1976. [9] T. H. Cormen, C. E. Leiserson and R. L. Rivest, Introduction to Algorithms, The MIT Electrical Engineering and Computer Science Series, The MIT Press, 3rd edition, 1991.

236 Part Five - Policies and Service Management [10] Roberto de A. Fa~anha, Nelson L. S. da Fonseca and Pedro 1. de Rezende, The S" Piggybacking Policy, Multimedia Tools and Applications, Vol. 8, pp. 371-383, 1999. APPENDIX 1. CODE OF THE BUILDTREE HEURISTIC int BuildTree(int Posicao[], int i, int j) { int n = j - i + 1, II Numero de fluxos. k = i, II Fluxo divisor. Custo = 0, II Custo da arvore. MPik, II Posi~iio de Mesclagem dos fluxos i e k. MPkj; II Posi~iio de Mesclagem dos fluxos k+ 1 e j. switch(n) { case 0: case 1 :retum(o); case 2:retum(MergePosition(Posicao[i], Posicao[j])); case 3 :MPik = MergePosition(Posicao[i], Posicao[i+ 1]); MPkj = MergePosition(Posicao[i + 1], Posicao[j]); retum«(mpik > MPkj)? MPkj : MPik) + MergePosition(Posicao[i], Posicao[j])); default: while (MergePosition(Posicao[i], Posicao[k+1]) < MergePosition(Posicao[k+1], Posicao[j])) k++; Custo = BuildTree(Posicao, i, k); Custo += BuildTree(Posicao, k + 1, j); Custo += MergePosition(Posicao[i], Posicao[j]); retum(custo ); } Algorithm 1: Heuristica de Constru~iio da Arvore de Mesclagem.