A Programming Framework for QualityAware Ubiquitous Multimedia Applications

1 / 39
About This Presentation
Title:

A Programming Framework for QualityAware Ubiquitous Multimedia Applications

Description:

University of Illinois Department of Computer Science. A Programming Framework ... NASA NAG 2-1250. We would like to thank Yi Cui for his contribution to the ... –

Number of Views:49
Avg rating:3.0/5.0
Slides: 40
Provided by: shs3
Category:

less

Transcript and Presenter's Notes

Title: A Programming Framework for QualityAware Ubiquitous Multimedia Applications


1
A 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
2
Outline
  • 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.

3
Motivation
  • Ubiquitous environments promotes the
    proliferation of
  • stationary and mobile devices interconnected
    by
  • heterogeneous networks
  • Emerging distributed multimedia applications are
    being
  • developed in such environments.

4
Motivation (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.

5
Previous 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).

6
Q-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.

7
Goals
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
8
Q-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
9
Ubiquitous 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.

10
Ubiquitous 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.

11
High-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
12
High-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)
13
Meta-Data Compilation Protocol
Environment-independent translation
Environment-dependent translation
14
Environment-Independent Translation
15
Environment-Independent Translation (Cont.)
16
Application 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.

17
Environment-Dependent Translation
18
QoSCASpec
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.

19
Code 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
20
Run-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.
21
Implementation 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
22
Overhead 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
23
Overhead 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
24
Overhead of a Functional Adaptation
  • Moving scenario

(b) Overhead of functional adaptation
according to user mobility
25
Conclusion
  • 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.

26
Acknowledgements
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)
29
Motivation (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.

30
Application Specification
  • Application functional
  • dependency graph
  • Setup configurations
  • service component
  • descriptions
  • Connection descriptions.

31
Applications Service Quality Specification
  • Mapping between
  • different user quality
  • levels and corresponding
  • application specific
  • QoS categories.

32
Adaptation Specification
  • Describing how the
  • run-time meta-data
  • execution should control
  • the application
  • corresponding to resource
  • availability and mobility.

33
Environment-Independent Translation
34
Environment-Independent Translation (Cont.)
35
Environment-Dependent Translation
36
Environment-Dependent Translation (Cont.)
37
Instantiation 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)

38
Instantiation 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

39
Pre-Defined Meta-Data Compilation
Application layer
Middleware/RM layer
Common-and-actual ontology translation Two-common
ontology translation Intermediate representation
translation
Write a Comment
User Comments (0)
About PowerShow.com