Title: A Programming Framework for QualityAware Ubiquitous Multimedia Applications
1A Programming Framework for Quality-Aware
Ubiquitous Multimedia Applications
Duangdao Wichadakul, Xiaohui Gu, Klara
Nahrstedt Department of Computer
Science University of Illinois at
Urbana-Champaign wichadak, xgu,
klara_at_cs.uiuc.edu
Presented by Klara Nahrstedt
http//cairo.cs.uiuc.edu
2Outline
- Motivation, assumptions, and goals
- Overall framework
- Quality-aware ubiquitous multimedia models
- High-level application specification
- Meta-data compilation protocol
- Run-time meta-data execution
- Experimental results
- Conclusion.
3Motivation
- Ubiquitous environments promotes the
proliferation of - stationary and mobile devices interconnected
by - heterogeneous networks
- Emerging distributed multimedia applications are
being - developed in such environments.
4Motivation (Cont.)
- Different multimedia applications deal with
different - application-specific performance criteria
(e.g., frame rate - for Video-on-Demand applications)
- These applications are expected to be deployable
in - dynamic distributed heterogeneous
environments - Mobility becomes a standard feature of these
applications.
- Heterogeneity and mobility yield
- complexity of applications and
- systems, so building these quality-
- aware applications is hard.
5Previous Solutions
- Platform specific, and implemented with
different programming - languages with specific semantics, expected
interfaces and parameters - Designed to handle particular aspects of
quality provisions - (e.g., resource reservation).
6Q-Compiler Concepts and Assumptions
- Reusing multimedia components and underlying
QoS- - enabling services
- De-coupling of generic QoS-enabling services and
their - specific implementations
- Providing automated translations and
substitutions to - relieve the application developer from dealing
with - underlying QoS-enabling services details.
7Goals
Meta-data programming
VoDServer
VoDClient
Frame rate 10, 30 fps
- Easy program of
- component-based
- multimedia applications
- Inclusion of QoS
- Automated translation in
- ubiquitous environments
- Flexible in deployment of
- QoS services.
VoDServer
VoDClient
Transcoder
Meta-data compilation
ltQoSCASpecgt ltApplicationDescriptiongt
ltSCD nameVoDServergt ltQSCD
nameDSRTgt ltSpecificConfigurationgt
ltSupportingQoS frameRate10,30/gt
ltCost estimations/gt
ltSpecificConfigurationgt ltApplicationDescripti
ongt lt/QoSCASpecgt
8Q-Compiler Overall Framework
High-level QoS-aware application specification
Models
Pre-defined meta-data compilation
Meta-data compilation protocol
Assumed
Run-time meta-data execution
Low level programming language compilers
Middleware 2001
9Ubiquitous Multimedia Application (UMA) Model
(a) Task-flow model
(b) Reward profile
- Relationship among tasks represented by a
directed acyclic graph (DAG) - Each task described by input and output service
quality vectors (Qin and - Qout), and a reward profile.
10Ubiquitous Multimedia Component (UMC) Model
- UMC modeled as a multimedia component code(s),
attached with a - meta-data description and extended with a
set of adaptation handlers.
11High-Level QoS-Aware Application Specification
ltApplicationDescriptiongt ltApplicationInformati
ongt ltApplicationName
namemobiman/gt lt/ApplicationInformationgt
ltSCDsgt ltSCDgt
ltName nameVoDServer/gt
ltSupportingQoSVoDServerQoS.xml/gt
lt/SCDgt lt/ SCDsgt ltSetupConfiguration
sgt ltSetupConfigurationgt
ltConnection consumerVoDClient
producerVoDServergt
ltConnectionTypegtreal-time-streaming
lt/ConnectionTypegt
lt/Connectiongt ...
lt/SetupConfigurationgt
lt/SetupConfigurationsgt lt/ApplicationDescriptiongt
Application description
VoDServer
VoDClient
VoDServer
VoDClient
Transcoder
12High-Level QoS-Aware Application Specification
(Cont.)
ltQoSCategory nameTimegt ltQoSSubCategory
namevideoDataTypegt ltFramerate
typeintegerRangegt 10,30,5
lt/Framerategt lt/QoSSubCategorygt lt/QoSCategorygt
Service quality description
Frame rate 10, 30, 5 fps
Adaptation control description
ltAdaptationRulesgt ltRule controlif
events(clientMove(VoDClient,m1,m2))
actionsinstantiate(VoDClient,m2)
reconnect(VoDClient, VoDServer)/gt
lt/Rulegt lt/AdaptationRulesgt
if(clientMove(VoDClient, m1, m2)) then
instantiate(VoDClient, m2)
reconnect(VoDClient, VoDServer)
13Meta-Data Compilation Protocol
Environment-independent translation
Environment-dependent translation
14Environment-Independent Translation
15Environment-Independent Translation (Cont.)
16Application Deployment Descriptor
ltQoSAwareApplicationDescriptorgt
ltApplicationInformationgt lt/ApplicationInformatio
ngt ltSCDsgt lt/SCDsgt ltQSCDsgt
lt/QSCDsgt ltGenericConfigurationsgt
ltSetupConfiguration index0 typegt
ltSubConfigurationgt ltSupportingQoS
profilesetupConfig0QoS.xml/gt
ltConnectiongt lt/Connectiongt ltQoSCategory
nameTimegt ltAssociationgt
ltQoSRequester nameVoDServergt
ltQoSEnablingService nameCPU/gt
lt/QoSRequestergt lt/Associationgt
lt/QoSCategorygt ltUpdatedInfogt ltUpdatedInfogt
lt/SubConfigurationgt
lt/SetupConfigurationgt lt/GenericConfigurationsgt
ltAdaptationRulesgt lt/AdaptationRulesgt
lt/QoSAwareApplicationDescriptorgt
- Applications general
- information
- Service component
- descriptions
- Generic QoS-enabling
- service descriptions
- Generic QoS-aware
- configurations
- Adaptation rules.
17Environment-Dependent Translation
18QoSCASpec
ltQoSCASpecrgt ltApplicationInformationgt
lt/ApplicationInformationgt ltSCDsgt
from the descriptor with additions lt/SCDsgt
ltQSCDsgt lt/QSCDsgt ltSpecificTranslatorsgt
lt/SpecificTranslatorsgt ltSpecificConfigurations
gt ltSetupConfiguration index0 type
ltCostEstimationsgt
ltSubstitution index0gt
ltSetupCostgt lt/SetupCostgt
ltRunningCostgt lt/RunningCostgt
lt/Substitutiongt lt/CostEstimationsgt
ltSubConfigurationgt from the
descriptor
lt/SubConfigurationgt
lt/SetupConfigurationgt lt/SpecificConfigurations
gt ltAdaptationRulesgt lt/AdaptationRulesgt
lt/QoSCASpecgt
- Applications general
- information
- Service component
- descriptions
- Specific QoS-enabling
- service descriptions
- Specific translators
- Specific QoS-aware
- configurations
- Adaptation rules.
19Code Instrumentation
- Partially-automatic code
- instrumentation
Specific QoS enabling services pre-defined
tags (e.g., DSRTs tags such as STARTLOOP)
Binding
Specific QoS enabling services (e.g., DSRTs)
interface binder
- Automatic code instrumentation
Standard system calls (e.g., socket system calls)
Specific QoS enabling services (e.g., RSVPs)
interface binder
20Run-Time Meta-Data Execution
D. Wichadakul, K. Nahrstedt, X. Gu and D. Xu,
2KQ An Integrated Approach of QoS compilation
and Component-Based, Run-Time Middleware for the
Unified QoS Management Framework, In
Proceedings of IFIP/ACM International Conference
on Distributed Systems Platforms (Middleware
2001), November 2001.
21Implementation and Results
- The implementation of the Q-Compiler is divided
in two - main parts
- The Q-Compilers cores are implemented in Java
- The run-time meta-data execution is implemented
- as Lua scripts, interacting to Gaia services
in the - active space project.
Florence
100Mbps
Casablanca
Satyam
22Overhead of UMCs instantiation
- Instantiations of UMCs on Satyam,
- where its local disk contains all
- UMCs
(b) Instantiations of UMCs on Florence,
which maps its network drive to Satyams
local disk
23Overhead of mobile VoD Setup
Configuration 1 VoDServer on Florence, and
VoDClientPC on Satyam Configuration 2
VoDServer and UserProfileServer on Florence,
and VoDClientPC on Satyam Configuration
3 VoDServer, UserProfileServer, and
ProxyServer on Florence
24Overhead of a Functional Adaptation
(b) Overhead of functional adaptation
according to user mobility
25Conclusion
- Q-Compiler provides
- High-level application specification for easily
specifying a - ubiquitous quality-aware multimedia
application - Meta-data compilation protocol for translating
the high-level - specification into lower-level
application/system descriptors - portable and customizable for different
deployment - environments
- Binding between application and QoS-enabling
service - components in a specific deployment
environment - Run-time meta-data execution for helping the
compilation - and the instantiation of a quality-aware
application.
26Acknowledgements
This work was supported by the National Science
Foundation under contract number 9870736, the
Air Force Grant under contract number
F30602-97-2-0121, NSF CISE Infrastructure grant
under contract numbers NSF EIA 99-72884EQ and NSF
CCR-9988199, and NASA grant under contract
number NASA NAG 2-1250.
We would like to thank Yi Cui for his
contribution to the multimedia component codes
of the mobile VoD application, and Renato
Cerqueira for an example of Lua script.
27 For more information, please visit
http//cairo.cs.uiuc.edu
28(No Transcript)
29Motivation (Cont.)
- Heterogeneity yields complexity of applications
and systems, - so building quality-aware applications is hard.
- Various application domains exist and have
specific quality - semantics
- Ex. Video-on-Demand frame rate, frame size,
- Various system services exist that support
quality and have - specific quality semantics
- Ex. CPU scheduling service period, cycle time
- Developing and deploying a quality-aware
- application in ubiquitous environments
- are time consuming and not trivial.
30Application Specification
- Application functional
- dependency graph
- Setup configurations
- service component
- descriptions
- Connection descriptions.
31Applications Service Quality Specification
- Mapping between
- different user quality
- levels and corresponding
- application specific
- QoS categories.
32Adaptation Specification
- Describing how the
- run-time meta-data
- execution should control
- the application
- corresponding to resource
- availability and mobility.
33Environment-Independent Translation
34Environment-Independent Translation (Cont.)
35Environment-Dependent Translation
36Environment-Dependent Translation (Cont.)
37Instantiation Overhead for individual components
- and (b) use
- ExecManager for the
- instantiation instead of
- the javacomp manager
- (c) is the raw data of
- slide 22.(a)
38Instantiation Overhead for Different Setup
Configurations
- and (b) use
- ExecManager for the
- instantiation instead of
- the javacomp manager
- (c) is the raw data of
- slide 23
39Pre-Defined Meta-Data Compilation
Application layer
Middleware/RM layer
Common-and-actual ontology translation Two-common
ontology translation Intermediate representation
translation