Download - RTCCM Meeting Agenda & Overview of RTCCM
August 20, 2002
RTCCM Meeting Agenda&
Overview of RTCCM
Nanbor Wang
Department of Computer ScienceWashington University in St. Louis
[email protected]://www.cs.wustl.edu/~nanbor/presentations/RTCCM-
meeting.ppt
Nanbor Wang
Meeting Schedule
Time Agendas
9:00~
10:00Overview of CCM and CIAO
10:15~
12:00
RT policies/resources provisioning strategiesSynergy of Qosket and CIAO
12:00~
13:00Lunch Break @ Blueberry Hill
13:00~
14:30
RTCCM use cases – how to show that RTCCM is up to the task?
14:45~
17:30Extending CIAO capability
http://www.cs.wustl.edu/~nanbor/projects/CIAO/project-kickoff.html
Nanbor Wang
Extending CIAO Session Schedule
• Kokyu - Chris Gill • SCTP - Gautam Thaker and Patrick Lardieri • IntServ/DiffServe - Irfan Pyarali • FT-CORBA - Chris Gill, Balachandran Natarajan,
and Joe Cross • RT-Notification Service - Irfan Pyarali • MIC/MDA - Aniruddha Gokhale, Ted Bapty,
Sandeep Neema, and Jeff Gray • QuO/QoSket - Craig Rodrigues
Nanbor Wang
Presentation Overview
RPC
DOC,CORBA
RTCORBA
CCM
CIAOQoS-CCM
MDA/MIC
Time
Sop
hist
icat
ion
(Inc
reas
e C
apab
ility
)
1985 1990 19982002
20052003
1. 10-minute CCM Overview
2. Research problems and proposed approaches
3. Project Timeline
Evolution of DOC MiddlewareQoS Provisioning
Static Dynamic
Abs
trac
tion M
iddl
ewar
eP
rogr
amm
ing
Lang
uage
s
QoS-EnabledComponentMiddleware
(RTCCM-CIAO,QoS EJB Containers)
Dynamic QoSProvisioning(QuO Qosket,dynamicTAO)
Aspect-OrientedLanguages
(AspectJ,AspectC++)
QoS Provisioning Abstractions
Nanbor Wang
Limitation with the CORBA 2.x Object Model•Application developers and
system integrators are forced to play multiple roles
– Application functional component developers
• tightly coupled application modules
– Computational resource provisioners
• ensuring the availability of common object services
• ad-hoc management
– System configurators• boiler plate code• manual application
deployment
InterfaceRepository
IDLCompiler
ImplementationRepository
ClientOBJREF
Object(Servant)
in argsoperation()out args +
return
DIIIDL
STUBSORB
INTERFACE
IDLSKEL
DSI
Object Adapter
ORB CORE GIOP/IIOP/ESIOPS
•Resulting in tight couplings– Brittle, non-standard
implementation– Hard to adapt and maintain– Increase time-to-market
Nanbor Wang
Promising Solution: Component Models•Separation of concerns:
– Run-time environment configuration
– Connections between objects & run-time
– Composition of objects•Support run-time object composition – Component: a reusable entity– Container: a standardized
environment for components to interact with run-time & vice versa
– Component Server: a generic server process (also called application server)
– Packaging and Assembling tools: collection of tools to package and compose components into deployable assemblies
– Deployment mechanism: for deploying component assemblies to component servers
Application
OS
OS Adaptation Layer
Container Container
Assembler&
Configurator
•J2EE (EJB), COM+ & CORBA Component Model (CCM)
Nanbor Wang
The CORBA Component Model (CCM)
• Enhances CORBA Object Model• Provides common run-time
environment– component servers– containers
• Uses metadata to describe application composition, resource allocation, and infrastructure configurations– component dependencies– component connections– component configuration– component run-time services,
e.g., transactional, persistence state
Component Server
Container Container
FlightSchedulingProcessing
WebGateway
ComponentDeployment
&ConfigurationMechanism
Middleware Framework
Deployment&
ConfigurationMetadata
Real-TimeComponentRepository
Compose Deploy
Client
Middleware Bus
CentralDataStore
System Development
Field RadarControlSystem
Real-TimeFlightStatusBulletinBoard
ChicagoData
Center
ComponentAssembly
FlightScheduling
AirportApproachControl
WWW
Nanbor Wang
The CCM Big Picture
IDL/CIDL
Compiler
IDL/CIDL File
Stubs, Skeletons
PackagingTool
Implementation
Programming
Language
Tools
User's Code
ComponentDescriptor
Default Properties
Assembly
ToolComponentAssemblyPackage
Home Properties Component Properties
Deployment
Tool
AssemblyDescriptor
CORBAComponent
Package
softpkgDescriptorUser written file
Compiler
Generated files
CORBAComponent
Package
CORBAComponent
Package
designers implementer
packager
assembler
deployer
Source: OMG CCM Tutorial by Phillipe Merle
Component Interconnection
Definitions
Nanbor Wang
•Applications requires a wide variety of infrastructure support, e.g., QoS guarantees
•Plain CCM has no mechanisms to specify and enforce real-time QoS policies
•QoS policies need to be assured end-to-end for components & connections
•Ensuring QoS policies in component implementations leads to:– QoS mechanisms that are hard to
utilize and go beyond component implementations
•Component connections–private connections–bandwidth reservation
•Component collaborations–Thread pools–Thread borrowing
– Tight couplings among component implementations
– Difficulty in reusing existing components (without QoS knowledge)
RT Component Server (?)
Container
RT-ORB
CORBAComponent
ComponentHome
RTPOA
External
Interfaces
CallbackInterfaces
InternalInterfaces
Container
CORBAComponent
ComponentHome
RTPOA
External
Interfaces
CallbackInterfaces
InternalInterfaces
Current CCM Fails to Address Advanced QoS Requirements
QoS-enabled CCM ≠ CCM + RT CORBA
Why doesn't running a RT ORB beneath CCM make it a QoS-
enabled CCM implementation?
Nanbor Wang
QoS-Enabled Component Middleware
• Separate the concerns for QoS managements
• Separate the roles– Application component
developers– QoS assurance mechanism
developers– QoS provisioning managers– ORB configurators
• Compose QoS assurance mechanisms– ORB – OS – Application-specific
Adaptive • Specify metadata for QoS
requirements of– components– component connections
Client Component Server
Containers Containers
TradingComponent
LoggingComponent
Deployment&
ConfigurationMechanism
ComponentAssembly
ORB
in args
out args + returnvalue
Operation ()
QoSMechanism
Plug ins
QoSMechanism
Plug ins
ClientConfiguration
Aggregate
QoSAdaptation
QoSAdaptation
Extend component middleware to support more advanced infrastructure
and resource management
Nanbor Wang
Specifying QoS Policies in CCM Applications
• Context:– Delay specifying QoS
policies till application composition time
• Problems:– CCM specification doesn’t
consider QoS policies– QoS policies usually
managed via ad-hoc interfaces, e.g., RT policies
– QoS Policies can bind to either
• Components• Connections
• Solution Approach:– Extend composition
metadata to incorporate QoS policies
• Expected Results:– Implement a CCM
deployment framework that realizes extended metadata.
– Categorize bindings of QoS policies
Component Server
Containers Containers
TradingComponent
LoggingComponent
Deployment&
ConfigurationMechanism
Deployment&
ConfigurationMetadata
Reserve bandwidthDo not share the connection
Run at client priorityRequire highest priority
Reserve 30% processor cycles
Nanbor Wang
Supporting QoS Assurance Mechanisms
• Context:– Modern applications need
to leverage various QoS assurance mechanisms
• Problems:– No standard way to
support these QoS mechanisms
– knowledge of ORB internals required a priori
– Unforeseen QoS assurance mechanisms
• Solution Approach:– Configure the middleware
dynamically • Expected Result:
– Extend and implement CCM deployment mechanisms to describe and deploy ORB modules
Container
CORBAComponent
ComponentHome
Real-time POA
QoS PropertyAdaptor
ComponentAssembly
ORB QoS Interfaces
QoS Policies
Ref
lect
ORB-specificQoS
AssuranceMechanisms
Scheduling RSVPReplicateService
Nanbor Wang
QoS Assurances Require End-to-end Enforcement
• Context: Many QoS properties – need to be enforced end-to-
end– require some degree of
adaptation• Problem:
– Lack of standard interaction model with QoS mechanisms
• Solution Approach:– Apply meta-programming
techniques • Expected Result:
– Extend and Implement CCM metadata to configure and compose interceptors/smart proxies
CCM Container
Object(Servant)
ORBInterfaces
Client
Client-sidemeta-object
(Stub)
Server-sidemeta-object(Skeleton,
DSI)
ORB Core
in args
out args + returnvalue
Operation ()
POAObject storemeta-object
QoS EnforceMechanisms
QoS EnforceMechanisms
Smart Proxy ClientRequest
Interceptor
ServerRequest
Interceptor
ServantManager Impl
QoS ControlInterfaces
DII
Instantiates Interacts
Nanbor Wang
Configuring Component Adaptation
• Context: – Many QoS properties need to
be enforced end-to-end– We need to apply meta-
programming techniques to insert adaptive behaviors
• Problem:– Components need to adapt as
a whole, not as multiple individual interfaces
• Solution Approach:– Apply reflective middleware
technologies to containers• Expected Result:
– Develop QoS-enabled containers in CCM
Container
CORBAComponent
ComponentHome
Real-time POA
QoS PropertyAdaptor
Client
ORB QoS Interfaces(Scheduling, Timeliness, Priority,...)
QoS Policies
Nanbor Wang
Configuring Client-side Adaptation• Context:
– We are applying meta-programming techniques to insert adaptive behaviors for QoS requirements
– Objects with same interface may require different adaptive behaviors
• Problem:– Coarse-grained existing meta-
programming support• Smart proxies – all references• Interceptors – all invocations
• Solution Approach:– Control effective meta-mechanisms
through CORBA policies– Utilizing extension interface pattern
• Expected Result:– Develop mechanisms to associate
interceptors and smart proxies with object references via CORBA policies
www.krones.com
On Board Controller
StillImage
Camera
ImageRecognizer:ImageConsumer
QALogger:ImageConsumer
Nanbor Wang
Client-side Policy Aggregates• Context:
– Modern systems often require multiple QoS assurance mechanisms
– Objects often require multiple adaptive behaviors
• Problem:– Ad-hoc configuration interfaces
• Brittle client-side implementation• Difficult to update matching
client/server policies requiring end-to-end assurance
• Solution Approach:– Configure ORB dynamically– Define policy aggregates dynamically
using metadata (using Extension Interface pattern)
• Expected Results:– Develop a CCM assembly-like client
side configuration mechanisms• Define policy aggregates with XML-
based descriptors • Package required ORB mechanisms
and adaptive strategies• Enable Client to associate objects with
named policy aggregates
Client-side ORB
Client PolicyAssembly
ORB QoS Interfaces
ORB-specificQoS
AssuranceMechanisms
Scheduling RSVPReplicateService
Fast ResponseNPA
NPA: Named Policy Aggregate
Logging NPA
Best Effort NPA Low B/W AdaptNPA
Nanbor Wang
Component-Integrated ACE ORB (CIAO)
Client Component Server
Deployment&
ConfigurationMechanism
Component Assembly
RT-ORB
in args
out args + return value
Operation ()
QoSMechanism
Plug ins
QoSMechanism
Plug ins
ClientConfiguration
Aggregate
QoSAdaptation
Container
CORBAComponent
ComponentHome
Real-time POA
QoS PropertyAdaptor
QoS Policies
Re
flect
QoSAdaptation
QoSAdaptation
QoSMechanism
Plug ins
NamedPolicy
Aggregate
NamedPolicy
Aggregate
ObjectReference
QoSAdaptation
QoSMechanism
Plug ins
QoS Policies
Component ConnectionSpecifications
Component & Home Impls
• Extension to component assembly descriptors– Component and
connection QoS specifications
– ORB modules– Adaptation modules
• QoS-enabled containers• Policy-based adaptation
insertion• Client-side policy
aggregates• Integrating RT-CORBA &
ACE QoS API (AQoSA)• Benchmark and document
test applications using various combinations of QoS aggregates
Nanbor Wang
Project Timeline
• Extension to CORBA Core • Default implementation of
– CCMObject • Navigations • Receptacles • Events
– CCMHome – KeylessCCMHome
• Partial support for basic container/callback interfaces: – CCMContext, SessionContext – EnterpriseComponent, SessionComponent
• HomeExecutorBase interface • Support (hand crafted) monolithic executor implementation • Extension to IDL compiler and Typecode factory. • IDL compiler: shall recognize all CCM keyword extensions but
not necessarily generate code for these added keywords. • Adaptive configuration of Notification Service/Event Channels • Partial implementation of Deployment module
CIAO 0.1 alpha release - (TAO 1.3, Oct. 2002)
Nanbor Wang
Project Timeline
• Support for various RT and QoS Policies • Support for policy-based adaptation mechanism • HomeFinder interface • HomeRegistration interface • Configuration interfaces
– Configurator – StandardConfigurator – HomeConfiguration
• Other basic container programming interfaces – EntityContext – EntityComponent
• Extension to Interface Repository• IDL should generate correct client/server side mapping for component
extension • CIDL implementation that generates skeleton implementation for
– Navigations, Receptacles, and Events interfaces of a components – component executor and home_executor templates for monolithic
component implementation • Complete Deployment implementation, assuming the revised
deployment specification will be available
CIAO 0.2 beta release - (TAO 1.3.x, Apr. 2003)
Nanbor Wang
Project Timeline
• Transaction module? • CCM2Context, Session2Context, Entity2Context and • PSS functionality? • Support for ExecutorLocator based component
implementation • ProxyHomeRegistration interface
CIAO 1.0 release - (TAO 1.4, Oct. 2003)
Nanbor Wang
Bryan Hall
We are here!
Men’s room
Coke machine
Coffee & tea