470 likes | 1.12k Views
Video-on-Demand (VoD) Servers. In normal multimedia databases, responses are for a smaller duration compared to the length of a movie. VoD Servers: Possible to optimize certain functions, since the sequence of media objects to be retrieved are known apriori for the entire movie durations.
E N D
Video-on-Demand (VoD) Servers • In normal multimedia databases, responses are for a smaller duration compared to the length of a movie. • VoD Servers: Possible to optimize certain functions, since the sequence of media objects to be retrieved are known apriori for the entire movie durations. • Also possible: some optimization techniques for handling multiple requests for the same movie by different users. • Hence, VoD servers are discussed separately. B. Prabhakaran
VoD Servers B. Prabhakaran
Users and VoD Servers.. • Users can interact with the video servers: • Play-out Modification • These operations modify the way movies are presented to users. • Presentation of movies can be modified by operations such as fast-forward, rewind, pause, slow-motion play, etc}. • Content Modification • E.g., a user can add subtitles in a particular language to a movie, in order to improve its “viewer-ship” base. • Require storing back the modified information on the VoD server. B. Prabhakaran
Users and VoD Servers • Requests are for movies based on popularity of the stored movies. A large fraction of user requests are likely to be for certain popular and recently released movies. • Probability of requests for relatively less popular movies are really low. • Users' movie requests are modeled using Zipf's law. • Popularity factor of the stored movies used in deciding on the placement of movies on storage devices. • Time of user requests depend on the type of stored programs. B. Prabhakaran
Users and VoD Servers… • For movies, number of user requests will be higher during weekends and evening hours. • For lecture presentations, user requests will have different access patterns (perhaps they can be modeled as Poisson process). • Temporal pattern of user requests are used in caching of movies and resource management policies. B. Prabhakaran
VoD Service Types B. Prabhakaran
VoD Services: PPV • Pay-Per-View (PPV) • Time of access to a program is decided by the VoD server rather than by the user. • VoD server multicasts programs at scheduled intervals and users interested in watching them tune to the server at those fixed times. • Users cannot modify the playout characteristics by issuing commands such as fast-forward. • Implementation of this type of server is very easy as it involves only retrieving media objects and delivering over a multicast. • Also, PPV servers need support only one delivery stream per movie. • (In fact, the term on-demand is not applicable to this type of servers). B. Prabhakaran
VoD Services: Quasi VoD • Quasi Video-on-Demand (Q-VoD) • Q-VoD groups requests for individual movies or programs, and schedules them at regular intervals. • Users can access programs at any time by sending a request to the server. • VoD server tries to group the request for the same program in order to optimize system resources such as storage system and network bandwidths. • A user might face some delay for his/her request to get accepted while the VoD server tries to group the requests. B. Prabhakaran
Quasi VoD.. • Quasi Video-on-Demand (Q-VoD) … • Grouping of requests can be constrained by an upper bound on the maximum delay for a user's request. • E.g., requests arriving within a time duration D being put in one group, thus arriving in the interval D - 2D being put in the next group, … • Here, the worst case delay for a user is D. • Q-VoD servers require independent streams per group of requests. B. Prabhakaran
User Interaction: Quasi VoD • Handling of play-out control operations by a user is rather clumsy. • One possible approach is to switch users from one group to another. E.g., consider a user in group 2 issuing a fast-forward request. • User can be switched to group 1 that is ahead of those in group 2. • However, if the user continues to fast-forward, then he will have to move out of group 1 also. • In the worst case, the Q-VoD server has to retrieve specifically for the user (requesting fast-forward) independently. • Defeats the aim of grouping requests to realize storage system and network bandwidth saving. • Grouping of movie retrieval requests is difficult if users are highly interactive. B. Prabhakaran
Multimedia Servers B. Prabhakaran
VoD Services: “True” VoD • T-VoD assumes total interaction capability for the user. • Each user request is treated separately. • If 2 user requests arrive at times t1 and t2, the VoD server performs two separate retrieval operations for satisfying the requests. • Due to the independency of handling requests, T-VoD model is sometimes referred to as Dedicated Viewing (DV). • Since retrieval operations for each user request are different, it is easy to handle playout control operations. B. Prabhakaran
Multimedia Servers B. Prabhakaran
Requirements of VoD Servers • Handling Large Number of Users • VoD server may have to support a large number of users (of the order of thousands) requiring concurrent access to stored movies. • Each user can access independently the same or different movie. • Users can be distributed geographically over a wide area. • Hence, network support for VoD servers should be able to handle this geographical distribution also. • Large Storage Capacity • A VoD server might have to store thousands of movies. • Collective storage requirements for thousands of movies may exceed tens of terabytes. B. Prabhakaran
Requirements of VoD Servers • Large Network and Storage System Bandwidth • VoD servers need to handle voluminous as well as periodic video and audio objects. • Retrieval of these objects from the storage and their delivery to the users require large storage system bandwidths as well as network throughput. • Required bandwidths at the storage system and the network depend on the number of concurrent users who need to be supported. • Real-time Service • Periodic nature of video and audio objects necessitates guarantees from storage system as well as network service provider for retrieving and delivering objects. • Storage system and network service provider have to reserve sufficient resources such as bandwidths and buffer space for guaranteeing retrieval and delivery of objects. B. Prabhakaran
Requirements of VoD Servers • Scalability and Cost Effectiveness • Capability for handling increase in number of users as well as the number of stored movies. • Increase in number of users - a proportional increase in the required bandwidths at the storage system and network. • Increase in number of movies - increase in the storage capacity. • Economic viability: the cost of storage capacity and the network bandwidths should be low. • Reliability • Possibility of crashes - non-zero; the issue of reliability has to be addressed. • Heterogeneity • Handle movies in different formats, different network protocols, user hardware… B. Prabhakaran
VoD Servers Design B. Prabhakaran
VoD Server Design • Objects Placement • Media objects composing a movie or a lecture presentation need to be stored in an efficient manner. • Storage Access Scheduling • Requests for accessing (both reading and writing) stored media objects should be scheduled in such a way that the real-time nature of the objects can be handled. • Thermal Calibration • Most disks need to perform thermal calibration on a regular basis. • During calibration: the disk cannot be used for retrieving media objects. • Doing manual thermal calibration. • Reserving sufficient disk capacity (in other disk arrays) so that access requests can be satisfied during the thermal calibration procedure. B. Prabhakaran
VoD Server Design • Buffer Sizing and Management • Media objects retrieved from disks need to be buffered before they can be delivered to users. • Large volume of video objects composing movies necessitate proper buffer management schemes. • Admission Control • User requests for accessing stored movies should be honored if and only if the commitments made to the already admitted users can be satisfied. • VoD server should evaluate its current commitments and those needed by the new request. • Based on these parameters, the server should decide whether or not the new user request can be admitted. B. Prabhakaran
VoD Server Architectures • Hierarchical Servers • Parallel Servers • Distributed movie placement B. Prabhakaran
Hierarchical VoD Servers • Lowest level: • Local VoD servers caters to the needs of users in a small area. • Each of these servers store a set of complete movies in their local storage. • Local servers are connected to a regional network that has a set of regional VoD servers. • Middle Level - Regional VoD servers: • Larger ones with more number of movies available in their storage. • Highest level: • National VoD servers with a large repository of movies. (One can consider international VoD servers spanning different countries also). B. Prabhakaran
Hierarchical VoD Servers • Local servers: • When movies are not available locally: request regional servers to find out whether the requested movies are available there. Regional servers can download the available movies • Regional servers can download the available movies to the local VoD server. • Go up to national servers, if needed. • Local VoD servers can download the required movies from national servers either directly or through a regional one. • This type of hierarchical organization of VoD servers helps in increasing the number of movies that can be stored in the VoD environment. B. Prabhakaran
Parallel Servers B. Prabhakaran
Parallel Servers • A set of VoD servers are interconnected by a high speed network such as ATM. • One of the VoD server acts as a master server with a directory that specifies the movie-server placement mapping. • Users can access the server storing a desired movie directly. • This parallel organization of the servers increase the storage capacity as well as the storage system bandwidth, since users access different servers for different movies. B. Prabhakaran
Distributed Movie Placement • Movies may or may not be stored entirely on a particular server. • Blocks of the same movie may be replicated and stored on many VoD servers on the network. • A VoD server serves a geographical region and has a set of customers accessing stored movies at any point in time. • Requested movie may or may not be available entirely on the server. • server tries to get blocks of the movie from other VoD servers. • Hence, in addition to customers, a VoD server may be accessed by other VoD servers as well. B. Prabhakaran
“Distributed” Movie Servers B. Prabhakaran
Functional View B. Prabhakaran
Example • VoD server S serving a customer c1. • Requested movie has 25 blocks spread over S as well as CS1 to CS4, with blocks b16 to b20 replicated. • Server S has to download blocks b6 to b25 from others. • S has to create a retrieval schedule for the blocks b6 to b25: ensuring there is no gap in the movie presentation for the customer. • b1 - b6 are available local to the server S and hence can be shipped to the customer directly. • Server S has to get a commitment from other VoD servers for downloading the missing blocks as follows : b6-b10 from CS1, b11-b15 from CS3, b16-20 from CS2 and b21-b25 from CS4. B. Prabhakaran
Example.. • Downloading the blocks from the VoD servers: S has to specify the time at which the blocks are needed. • Requested VoD server is not able to commit? • Try another VoD server • Request the same VoD server for another commitment time. • CS2 is not able to commit at the requested time t3 but at t3'. • Request server CS1 to provide blocks b16-b20. If CS1 is able to commit for the blocks at t3, then S can proceed with the same retrieval schedule. • S has to delay the movie presentation by δt =t3' - t3. • S might have to reschedule requests for previous blocks: b6-b10 at t1 + δt, $b11-b15$ at t2 + δt and b21-b25 at t4 + δt. B. Prabhakaran
Multimedia Servers B. Prabhakaran
Implementation Issues • Buffer Management • Movie Placement • Handling play-out modifications • Admission Control B. Prabhakaran
Buffer Management • Rate of reading from the disks and the delivery of data over the network may not be at the same rate. • Additional buffering may be needed to smooth the object reading and delivery operations. • Buffering techniques generally followed: • Double Buffering: 2 buffers (normally of equal size) are used: one for reading objects from disk; another for delivering over the network. • Roles of the 2 buffers change every cycle: buffer used for reading objects from disk in one cycle is used for delivery over the network in the second cycle and vice versa. B. Prabhakaran
Buffer Management.. • Buffering techniques generally followed.. • Circular Buffering :1 buffer treated as a circular one by using pointers. 2 pointers - a read and a write pointer - are used. • Initially, both the pointers point to the start, indicating that the buffer is empty. • As contents of an object is read into the buffer, write pointer is moved. • Read pointer is moved as the data is delivered the network. • Pointers are reset to the start when their upper bound is reached. B. Prabhakaran
Buffer Management… • Some VoD servers follow interval caching policy. • Here, media objects are held in the cache for a specified duration d. • When another request for the same object comes, the cached object is delivered over the network. B. Prabhakaran
Movie-to-Disk Array Allocation B. Prabhakaran
Movie-to-Disk Array Allocation • Movies have to be assigned to the sets of disk arrays achieving: • Balance of load • Maximization of throughput • Extremely popular movies may need to be replicated over multiple disk arrays to satisfy the user demand. • Assignment of movies over the set of disk arrays: • Popularity of a movie or its request probability • Number of movies to be stored in the VoD server • Replication factor for popular movies, i.e., the number of additional copies to be maintained for each popular movie • Available storage capacity B. Prabhakaran
Handling Play-out Modifications • Modifying the retrieval and delivery of movie content depends on the format in which video objects are stored. • E.g., consider fast-forward operation on a MPEG coded video. • Video frames can be skipped to achieve the effect of fast-forward. • Frame skipping cannot be done arbitrarily because of the inter-dependencies. • Only B frames or B & P frames can be skipped in the MPEG video, resulting: [IPP...IPP...] or [III...]. • Both of the above sequences result in higher storage and network bandwidths, since frame sequences are to be delivered at a faster rate. B. Prabhakaran
Handling Play-out Modifications.. • Alternate solutions possible to overcome this difficulty: • Skip Chunks of Video • Chunks of contiguous video frames are skipped (instead of skipping only B frames or B & P frames) • After skipping one chunk, the next chunk of video frames is played out in the normal order. • Keeps the storage and network bandwidth requirements constant. • Store Intra-coded Frames • Intra-coded video frames are also stored along with the regular inter-coded (MPEG and other similar formats) video. • Advantage: “unlimited” speeds for fast-forward and rewind can be provided. • Disadvantage: increase in storage capacity. B. Prabhakaran
Admission Control • PPV VoD servers do not worry about admission control. • Q-VoD servers is therefore more related to the maximum number of groups that can be admitted • T-VoD servers: related to the maximum number of users who can be concurrently handled. • Influenced by the following factors : • Disk bandwidth: influences the maximum number of concurrent retrievals. • Buffer space in the server: available buffer space will limit the number of concurrent users. • Available network bandwidth: influences the rate at which objects can be delivered to users and hence the duration for which buffers are to be held. B. Prabhakaran
Admission Control .. • Influenced by the following factors.. • Caching policy • Grouping policy • Servers providing Q-VoD service group user requests. The policies followed for grouping user requests influence the maximum number of concurrent user requests. • Handling Playout Modifications: • Admission control policies are often influenced by the frequency of play-out modification requests and the way they are handled by the VoD servers. B. Prabhakaran
VoD Servers: Components B. Prabhakaran