presentation server model, (ii) classifies different presentation domain types as lightweight, middleweight, and heavyweight, and (iii) briefly lists the related work.
Multimedia Presentation Servers: Buffer Management and Admission Control Nevzat Hurkan Balkir, Gultekin Ozsoyoglu Department of Computer Engineering and Science Case Western Reserve University Cleveland, OH 44106 Continuous multimedia server research in the literature exclusively deals with the delivery of on-demand video/audio streams, e.g., movie-on-demand systems. We think that, especially in the context of digital libraries, electronic books and distance learning, delivery of multimedia presentations will be very important as well. This paper deals with buffer management and admission control issues in on-demand multimedia presentation servers. One important advantage of admitting and serving presentations over admitting multimedia streams (e.g., movies) is that execution-time consumption requirements of presentations are known a priori. We make use of this information, and introduce buffer management and stream prefetching techniques to improve the delivery of presentations from multimedia servers. Under various workload characterizations, we analyze the buffer requirements of a multimedia server delivering presentations. We investigate efficient algorithms for the admission control of presentations. The rest of this section (i) defines an abstract multimedia presentation server model, (ii) classifies different presentation domain types as lightweight, middleweight, and heavyweight, and (iii) briefly lists the related work. In section 2, we describe the presentation admission problem in the lightweight presentation domain. Section 3 investigates the issues introduced by the middleweight domain, and gives a buffer management and admission control algorithm based on prefetching. In section 4, we give a variation of the prefetching-based buffer management and admission control algorithm and two other algorithms to improve on prefetching for heavyweight presentations with variable production rates. In section 5, we experimentally evaluate the algorithms of sections 2, 3 and 4. Section 6 concludes.
Abstract Most multimedia servers reported in the literature are designed to serve multiple and independent video/audio streams. We think that, in the future, multimedia servers will also serve complete presentations. A multimedia presentation contains explicitly specified synchronization information describing when each multimedia data needs to be delivered in the playout of the presentation. Multimedia presentations provide unique opportunities to develop algorithms for buffer management and admission control, as execution-time consumption requirements of presentations are known a priori. In this paper, we examine presentations in three different domains (heavyweight, middleweight, and lightweight presentations) and provide buffer management and admission control algorithms for the three domains. We propose two improvements (flattening and dynamic-adjustments) on the schedules created for the heavyweight presentations. Results from a simulation environment for the proposed algorithms are also presented.
1. Introduction Today’s increasing capabilities of computers allow users to create advanced multimedia presentations [Magel97, Oeft97]. Many of these presentations contain continuous multimedia objects with real time consumption requirements as well as images, text, tables, charts, etc. Possible multimedia data types in a given presentation include variety of text data in different formats (txt, doc, ps, ppt, etc.), images in different formats (jpeg, tif, gif, etc.) as well as video and audio data of different types (avi, mpeg2, etc.). Multimedia presentations also contain explicitly specified synchronization information describing when each data type needs to be delivered in a given presentation. In this paper, we model a multimedia presentation as a presentation graph, which is an acyclic directed graph that defines the playout order of objects within the presentation.
1.1 An abstract model for a multimedia presentation server First we give a multimedia presentation server model for investigating buffer requirements of serving multimedia presentations (as opposed to serving multimedia streams).
1
In our model, scheduling is done in rounds. A round is a short time duration in which a set of admitted presentations are served some amount of data. The round time duration is constant. And clearly, the amount of data served per presentation varies. We use an abstract model of a multimedia presentation server, which is similar to multimedia stream server models and is shown in Figure 1.1. The presentation server shown in Figure 1.1 uses the double buffering scheme; i.e., while the production buffers are filled, consumption buffers are emptied. This is a well-accepted scheme for serving streams as well as presentations which require realtime deadlines for playback [NgY96]. The input to a multimedia server can be produced by two different types of sources, namely, disk servers and network sources. In the literature, there are many detailed studies of both type of sources; disk scheduling studies for disk servers include [CheKY93, KenS97], and network traffic modeling studies for network sources include [RanRVK93].
presentations have low interaction with each other and we expect that objects are well distributed over disk servers, we assume that disk servers for this domain have a constant production rate. Finally, the third domain is for heavyweight presentations. Video On Demand is an example for the heavyweight domain. Large production rates and real-time consumption deadlines are properties of heavyweight presentations. For the heavyweight presentation domain, we assume that production rates for disk servers vary depending on the number of streams they serve.
1.3 Related Work Recent research on multimedia presentations concentrated on synchronization models for presentations [Stein90, RanRVK93, BlaS96, Haindl96], presentation querying languages [LSBBOO97, ACCKS96], systems for authoring, retrieval and scheduling of presentations [CandPS96, Dalal96], and automated construction of presentations [HKO97, HO97]. The area of continuous media storage servers is currently a very active research area [OBRS94, GarOS98, GhKS95].
Disk Servers
Multimedia Server
Network
Production Buffers
Network Consumption Buffers
Production
Client Client Client
Output Output Device Output Device Device
2. Unlimited level of production: lightweight domain
Consumption
In this section, we investigate the buffering requirements of lightweight presentation. For the lightweight domain, we make the following assumptions for all rounds to simplify the model of the multimedia presentation server: 1) the production rate, i.e., the data production rate of the underlying disk server, is more than the sum of the playback rates of all presentations, and 2) the consumption rate, i.e., the network data delivery rate, is more than the sum of the playback rates of all presentations. And each client has enough local buffer space for the presentation that is currently playing out. We relax these assumptions later for the middleweight and heavyweight domains. With the above two assumptions, we model a multimedia presentation server as in Figure 2.1.
Figure 1.1 An abstract model of a multimedia presentation server
1.2 Levels of abstraction Since our interest in this paper is mainly on admission control and buffer management for presentations in a multimedia presentation server, we will use abstract models for disk servers and network sources. To clarify the need for different levels of abstractions in this paper, we now describe the different types of presentation domains. We classify presentation domains depending on the amount of workload they create on the system. The first domain is the lightweight presentation domain. A slide show is an example of this domain. Slide shows require relatively low data bandwidth, and have no continuous media requirements. Currently available disks and networks are capable of delivering higher data bandwidths easily. Thus, for the lightweight presentation domain, we assume that the production and consumption rates are very large (infinite, for all practical purposes). The second type of presentations belongs to the middleweight domain. Educational (classroom) presentations or News-On-Demand are examples of presentations from the middleweight domain. These presentations may contain still images, slides, audio, and short video segments. Clearly, unlimited production and consumption rate assumptions (as in the lightweight domain) are too optimistic for this domain of presentations. On the other hand, since objects in these
Multimedia Presentation Server Production
Production Buffers
Consumption Buffers
Consumption
Figure 2.1 A simplified model of a multimedia server
2.1 The presentation admission problem and space constraints Since the buffer size in a multimedia presentation server is the only limitation in this abstraction, an admission decision for a new presentation delivery request is based solely on the satisfaction of buffer requirements. We first define some terminology:
2
amount of data for the playback of s2 and s3. Notice that during the round start (i.e., interval (T0,T1)), no stream playout occurs due to initialization (i.e., filling the consumption buffers of round start+1). All buffers that are needed for consumption at round start+1 must be produced in round start. pt,i : Bytes of data required for the playback of the stream si in round t p t ,i Ct , j = b∗ ∑ i ∈ strea m s _ o f _ G j _ a t _ p erio d _ t b
T : Unit time duration for each round. start: An integer value which corresponds to the first round [ T0 , T1 ) . This is also called the initialization round. There is no consumption in this round; and, only production buffers are filled. start+k-1: An integer value which corresponds to the last round. This is also called the ending round. There is no production in this round; and, only the last consumption buffers are consumed. G1 , G2 ,..., GN : Presentations (graphs) that are already admitted to the system. GN +1 : Presentation that is questioned for admission. FinTi : Finish time of presentation Gi according to the current schedule, 1 ≤ i ≤ N . FinTN+1: Duration of GN+1 + now. k : The number of rounds needed to serve all of the currently admitted presentations (including the initialization round and ending round). Let T0 = now .
Bt , j : Buffer requirement for presentation Gj during round t (in bytes) Due to the use of double buffering (one for consumption and one for production), during round t, we need to have buffer space for 1) Consumption buffers that are needed for the playback of the presentation Gj during round t, 2) Production buffers that are needed to hold the data being fetched for round t+1. At each round, we need to fill the production buffers required for the playback of each presentation at the next round, while the consumption buffers are consumed for the playback of the presentations at the current round. Thus, we have: Bt , j = Ct , j + C( t +1), j 0