360 likes | 480 Views
Quality of Service in Video Databases. Mohand-Saïd Hacid Joint work with Elisa Bertino (Univ. Milano-Italy) Tiziana Catarci (Univ. Roma-Italy) Ahmed K. Elmagarmid (HP-USA). MSI Project (Multimedia System Infrastructure – Funded by NSF). To develop an infrastructure that will integrate
E N D
Quality of Service in Video Databases Mohand-Saïd Hacid Joint work with Elisa Bertino (Univ. Milano-Italy) Tiziana Catarci (Univ. Roma-Italy) Ahmed K. Elmagarmid (HP-USA) MSI Project (Multimedia System Infrastructure – Funded by NSF) To develop an infrastructure that will integrate key information technologies which include database and storage management, knowledge representation, networking, and security in order to support a comprehensive end-to-end QoS management framework for video database applications
DBMS OLTP MIS/DSS
Data Warehouse OLAP Engine Decision Support Client Database Layer Application Logic Layer Presentation Layer Store atomic data in industry standard Data Warehouse. Obtain multi-dimensional reports from the DSS Client. Generate SQL execution plans in the OLAP engine to obtain OLAP functionality.
-Reliability -Resolution -Rate of presentation -Display area -Temporal Synchronization User-based QoS Specification Meta data/User interface OS Database Translation Network -End-to-End Delays -Jitter delay -Bandwidth -Packet Loss Rate -CPU Throughput -Memory overflow and reliability -Storage -Coordination -Distribution Security -Access control Negotiation Dependency Model Analysis and QoS Adjustement End-to-End Run Time Management End-to-End Resource Allocation and Scheduling
Overview • Introduction • About QoS • A Framework for QoS Management in Video Databases • Conclusion
Introduction Video : an important and rich vehicle of information > Home movies > Education and training > Scholarly research > Corporate enterprise solution > Urban security ...
Introduction (Cond.) Emergent Applications > Multimedia databases > Monitoring > (Distributed) simulation > Virtual reality, video games, virtual cinema > Decision support > Video conferencing > Internet video Though only a partial list, these advanced applications need new techniques and tools for managing video data
Introduction (Cond.) Video Complex media > Large volumes of data Example: INA has more than: - 1.500.000 long-length visual documents - 630.000 news documents - 1.000.000 medium-length visual documents > Time-based media Semantics (granularity) Presentation How to organize and search the data?
Conceptual level Manual indexing Automatic indexing Introduction (Cond.) Semantics Annotations Clusters
Video medium level Network and OS level Introduction (Cond.) Presentation Interface level - Synchronization - Distribution Prediction
Users parameters map to video parameters Dynamic load monitoring Video QoS parameters map to network and OS parameters Feedback about admission or load Quality of Service Mouvement, Video texturing, Word structure Interface level PC Terminal Users parameters: presentation, etc. Video medium level Level of services Video QoS parameters: frame-rate, resolution, … Network and OS level Network and OS QoS parameters: Bandwidth, CPU time, end-to-end delay,…
Quality of Service Problems > Specification of the requirements > Management/Support of the requirements > Need to investigate specific functionalities Service Quality Management
Quality of Service Quality of Service (QoS) is defined as a set of perceivable attributes expressed in a user-friendly language with parameters that may be subjective or objective. - Objective parameters: those related to a particular service and are measurable and verifiable. - Subjective parameters: those based on the opinions of the end-users.
Quality of Service As a consequence - the user specifies her/his requirements (constraints) - the system has to satisfy the requirements QoS is multidimensional - reliability, display time, resolution, price, ... Classes of QoS - QoS guarantee Yes for data application. But for multimedia applications the internet offers no guarantees about when (or even if) packets will be delivered and clients need not ask permission before transmitting packets. - Best-effort May deteriorate the global quality - Prediction-based, followed by resources reservation
Quality of Service Tasks Specification: > QoS requiremnts are defined by users or applications > Different dimensions and priorities Mapping It is regarded as the process of translating QoS-parameter bounds from layer to layer, and finally, to resources, e.g., buffers Negotiation Negotiation mechanisms (embedded in protocols) allow to ensure that the required parameters can be consistently satisfied at all system levels - admission control - resource allocation
Quality of Service QoS Management Monitoring: Comparison of the QoS level offered by the system and initial requirements; notification in case of problems (system unable to sustain negotiated levels of QoS) Re-negotiation: Changes due to users or systems components lead to re-negotiation need to go through specification and mapping Adaptation: Necessary in the case of resource fluctuations
DBMS and QoS DBMS is a fundamental component in large-scale distributed environments > It can implement some tasks related to QoS management > It can participate to decide QoS Two perpectives > DBMS for QoS management Some QoS management tasks are delegated to the DBMS (mapping, resource reservation, ...). > QoS management for DBMS QoS related to communication takes place in the evaluation of queries in parallel and distributed DB.
DBMS for QoS How DBMS can take part in the management of QoS? > the DBMS stores data and meta data for QoS - values of QoS parameters for documents (image and video quality, encoding format) - QoS-based alternatives (for negotiation) - information related to system management > can execute QoS-based queries > can execute queries with time-based or cost-based constraints
DBMS for QoS Traditional Databases concerned with the delivery of correct results with acceptable delay. Video databases New challenge to deliver results with acceptable quality in real time
7s 5s 3s DBMS for QoS
User Interface Database Interface User Presentation Parameters store Content store Video Raw Data DBMS for QoS Query Processor Insertion Module Quality Manager Interactive Video Processor
DBMS for QoS Some tasks can be executed by the DBMS - some QoS dimensions can be transformed into search criteria - the priorities between QoS parameters used for classifying offers can serve as sorting criteria - sorting will help re-negotiation or adaptation Examples - retrieval of video data satisfying the search criteria specified in the query and having a version satisfying the QoS of the client machine. Sort the results according to the priorities defined in the QoS profile. - one can use relational views, query rewriting techniques and sort criteria
DBMS for QoS QoS profiles - to allow a definition of the QoS parameters - to propose to users different predefined sets of QoS parameters by means of examples - to provide a high-level perception of QoS parameters - to create personalized and re-usable environments QoS manager - collect all QoS informations from the system’s components - collect QoS specifications of the user - execute QoS negotiation
QoS management for DBMS Traditional query optimization criteria - minimize response time by reducing the used resources Other optimization criteria are possible - search for the most recent information - minimize the cost to retrieve the information - retrieve the best quality (high-color video with 30 images/seconde)
User request Re-negotiation Adaptation Negotiation with dynamic parameters QoS constraints IO DBMS for QoS QoS management can be seen as mechanisms to extend or restrict the search space for a DB query Video database Available offers Negotiation with static parameters BO
Metadata Q|S Constraint Relaxation VO1|S1, …, VOn|Sn No Retrieval Schedule Presentation schedule Constraint Solver Solution? Yes Existence of a schedule No Find new presentation schedule Yes Output presentation Evaluation Elaboration
Reasoning on QoS video(X), audio(Y), X contains Z Z name ’’Clinton’’, X has_audio Y display_time(td), td5, resolution(X, ’high’) ={X/v, Y/a, Z/o} = {video(v), audio(a), v contains o, o name ‘’’Clinton’’, v has_audio a} = {display_time(td), td5, resolution(X, ’high’)} With the elaboration rule ..{synchronize(X, Y)} if contains video(X), audio(Y), X has_audio Y we can derive synchronize(v, a)
Reasoning on QoS (Cond.) Now by using the elaboration rule ..{tXstart=tYstart, tXend=tYend} if contains synchronize (X, Y) and tXstart, tYstart are variables denoting starting times of X and Y, respectively and tXend, tYend are variables denoting ending times of X and Y, respectively we can derive the atomic constraints tvstart=tastart and tvend=taend
Reasoning on QoS (Cond.) tv: display time the video displayer can provide from tvstart ta: display time the audio player can provide from tastart ..{tX+td tX+tv, tY+tdtY+ta} if contains synchronize (X, Y) and tv is the display time the video displayer can provide from tX and ta is the display time the audio player can provide from tY tX and tY being the starting time for displaying X and playing Y, respectively = {display_time(td), td5, resolution(v, ’high’), synchronize(v, a), tvstart=tastart, tvend=taend, tvstart+tdtvstart+tv, tastart+tdtastart+ta }
Conclusion Quality management Configuration constraint specification: how to express constraints? how do these constraints evolve in time? how do we configure a consistent schedule? QoS-sensitive real-time disk scheduling techniques for video data! The problem of scheduling a set of tasks with time and resource constraints is NP-complete Heuristics!! Approximation constraint relaxation
The PLP framework First order theory HB1, …, Bn (n0) definite clauses HC1, …, ClB1,…, Bm (l, m0) optimization clauses Arbiter p(t)p(u)L1, …, Ln (n0)
Performing Negotiation by Constraint Relaxation P = (C, O,) with C={ reliability(‘very high’)throughput(X), X<100, X>66, reliability(‘high’)throughput(X), X<66 } O = { u-reliability(X)reliability(X)} External function ={u-reliability(‘medium’)u-reliability(‘high’)., u-reliability(‘high’)u-reliability(‘very high’). u-reliability(‘medium’)u-reliability(‘very high’). }
Consider a user query whose quality part contains the constraint: u-reliability(‘medium’) Suppose reliability(‘very high’)throughput(X), X<100, X>66 triggers then u-reliability(‘medium’)u-reliability(‘very high’). can be applied
Algorithm () ===================================================== Require: a query ( is the content part and is the quality part) // is the minimum QoS required by the user Ensure: evaluate by maintaining satisfiable. 1: DisplaySet //computeQoS computes new quality parameters ’ from and the system state //this means performing negotiation which consists in //computing the new qualifiers for the parameters in //computeQoS stands for the preference program of a quality manager 2: computeQoS(’, ) 3: if ’ then 4: Have the database to output the first answer x to 5: DisplaySetDisplaySet{x} //rewrite to exclude the already displayed video sequences 6: rewrite as -DisplaySet 7: repeat 2 until no answer satisfies 8: end if