Transcript Slide 1

RTCCM Meeting Agenda
&
Overview of RTCCM
Nanbor Wang
Department of Computer Science
Washington University in St. Louis
[email protected]
http://www.cs.wustl.edu/~nanbor/presentations/RTCCM-meeting.ppt
August 20, 2002
Meeting Schedule
Agendas
Time
9:00
~
10:00
Overview of CCM and CIAO
10:15
~
12:00
RT policies/resources provisioning strategies
Synergy of Qosket and CIAO
12:00
~
13:00
Lunch Break @ Blueberry Hill
13:00
~
14:30
RTCCM use cases – how to show that RTCCM is up to the
task?
14:45
~
17:30
Extending 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
1. 10-minute CCM Overview
MDA/MIC
2. Research problems and
proposed approaches
(RTCCM-CIAO,
QoS EJB Containers)
Dynamic QoS
Provisioning
(QuO Qosket,
dynamicTAO)
Sophistication
(Increase Capability)
Middleware
QoS-Enabled
Component
Middleware
CCM
RT
CORBA
DOC,
CORBA
Aspect-Oriented
Languages
Programming
Languages
Abstraction
3. Project Timeline
CIAO
QoS-CCM
RPC
(AspectJ,
AspectC++)
1985
Static
QoS Provisioning
Dynamic
QoS Provisioning Abstractions
Nanbor Wang
1990
1998
2003
2002
2005
Time
Evolution of DOC Middleware
Limitation with the CORBA 2.x Object Model
Interface
Repository
Client
IDL
Compiler
Implementation
Repository
Object
(Servant)
in args
operation()
out args +
return
OBJ
REF
IDL
SKEL
DII
IDL
STUBS
ORB
INTERFACE
ORB CORE
• Application developers and
system integrators are forced to
play multiple roles
DSI
Object Adapter
GIOP/IIOP/ESIOPS
– Application functional
component developers
• tightly coupled application
modules
– Computational resource
provisioners
• ensuring the availability of
common object services
• ad-hoc management
– System configurators
• Resulting in tight couplings
• boiler plate code
– Brittle, non-standard implementation
• manual application
– Hard to adapt and maintain
deployment
– Increase time-to-market
Nanbor Wang
Promising Solution: Component Models
Application
Assembler
&
Configurator
Container
Container
OS Adaptation Layer
OS
•J2EE (EJB), COM+ & CORBA Component
Model (CCM)
Nanbor Wang
• Separation of concerns:
– Run-time environment configuration
– Connections between objects & runtime
– 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
The CORBA Component Model (CCM)
Flight
Scheduling
Chicago
Data
Center
Field Radar
Control
System
Central
Data
Store
Real-Time
Component
Repository
Real-Time
Flight
Status
Bulletin
Board
Client
Middleware Bus
Compose
Deploy
Airport
Approach
Control
WWW
Component
Assembly
System Development
Deployment
&
Configuration
Metadata
Deployment
&
Configuration
Mechanism
Flight
Scheduling
Processing
Container
Web
Gateway
Component
Container
Middleware Framework
Component Server
Nanbor Wang
• 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
The CCM Big Picture
implementer
designers
IDL/CIDL File User's Code
Home Properties
Component Properties
Programming
Language
Tools
Component
Interconnection
Definitions
IDL/CIDL
Default Properties
Compiler
CORBA
Component
Stubs, Skeletons Implementation
assembler
Package
Packaging
Tool
CORBA
Component
Assembly
Tool
Package
Component
Descriptor
User written file
Compiler
packager
softpkg
Descriptor
Component
Assembly
Package
Assembly
Descriptor
CORBA
Component
Package
Deployment
Tool
deployer
Generated files
Source: OMG CCM Tutorial by Phillipe Merle
Nanbor Wang
Current CCM Fails to Address Advanced QoS Requirements
Container
Component
Home
Callback
CORBA
Interfaces
Component
External
Interfaces
External
Interfaces
QoS-enabled CCM ≠
CCM + RT CORBA
Why doesn't running a RT ORB
beneath CCM make it a QoS-enabled
CCM implementation?
Container
Component
Home
Callback
CORBA
Interfaces
Component
Internal
Interfaces
Internal
Interfaces
RT
POA
RT-ORB
RT Component Server (?)
Nanbor Wang
RT
POA
• 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)
QoS-Enabled Component Middleware
Extend component middleware
to support more advanced infrastructure and
resource management
Deployment
&
Configuration
Mechanism
Client
Configuration
Aggregate
Client
•
Separate the concerns for QoS
managements
Separate the roles
– Application component
developers
– QoS assurance mechanism
developers
– QoS provisioning managers
– ORB configurators
Component
Assembly
Component Server
in args
•
•
Operation ()
Compose QoS assurance
mechanisms
– ORB – OS
out args + return
value
Trading
Component
QoS
Adaptation
Containers
QoS
Mechanism
Plug ins
Nanbor Wang
ORB
QoS
Adaptation
Logging
Component
Containers
QoS
Mechanism
Plug ins
– Application-specific Adaptive
•
Specify metadata for QoS
requirements of
– components
– component connections
Specifying QoS Policies in CCM Applications
•
•
Require highest priority
Reserve 30% processor cycles
Run at client priority
Reserve bandwidth
Do not share the connection
Deployment
&
Configuration
Metadata
Deployment
&
Configuration
Mechanism
•
Trading
Component
Containers
Logging
Component
Containers
Component Server
Nanbor Wang
•
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
Supporting QoS Assurance Mechanisms
•
Container
Component
Home
Component
Assembly
CORBA
Component
QoS Policies
QoS Property
Adaptor
Real-time POA
ORB QoS Interfaces
Scheduling
RSVP
Nanbor Wang
Replicate
Service
Reflect
•
ORB-specific
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
QoS Assurances Require End-to-end Enforcement
•
CCM Container
Object
(Servant)
Client
in args
Operation ()
Client
Request
Interceptor
Smart Proxy
Client-side
meta-object
(Stub)
out args + return
value
ORB
Interfaces
Server
Request
Interceptor
Server-side
meta-object
(Skeleton,
DSI)
Servant
Manager Impl
•
DII
QoS Control
Interfaces
QoS Enforce
Mechanisms
Instantiates
Nanbor Wang
Object store
meta-object
ORB Core
•
POA
QoS Enforce
Mechanisms
Interacts
•
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
Configuring Component Adaptation
Container
Component
Home
CORBA
Component
•
QoS Policies
QoS Property
Adaptor
•
Client
Real-time POA
ORB QoS Interfaces
(Scheduling, Timeliness, Priority,...)
•
•
Nanbor Wang
Context:
– Many QoS properties need to be
enforced end-to-end
– We need to apply metaprogramming 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
Configuring Client-side Adaptation
•
www.krones.com
•
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 metaprogramming support
•
•
•
•
Still
Image
Camera
ImageRecognizer:ImageConsumer
QALogger:ImageConsumer
On Board Controller
Nanbor Wang
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
Client-side Policy Aggregates
•
Best Effort NPA
Low B/W Adapt
NPA
Fast Response
NPA
Logging NPA
ORB QoS Interfaces
Scheduling
RSVP
Client Policy
Assembly
Replicate
Service
Client-side ORB
NPA: Named Policy Aggregate
Nanbor Wang
•
•
ORB-specific
QoS
Assurance
Mechanisms
•
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
Component-Integrated ACE ORB (CIAO)
Client
Configuration
Aggregate
Component Assembly
Component & Home Impls
QoS
Adaptation
Component Connection
Specifications
QoS
Mechanism
Plug ins
QoS Policies
Deployment
&
Configuration
Mechanism
Client
Component
Home
Operation ()
out args + return value
CORBA
Component
Named
Policy
Aggregate
Nanbor Wang
•
•
•
•
Container
QoS
Adaptation
QoS Policies
QoS Property
Adaptor
QoS
Adaptation
QoS
Mechanism
Plug ins
QoS
Adaptation
Component Server
in args
Object
Reference
QoS
Mechanism
Plug ins
Reflect
Named
Policy
Aggregate
•
Real-time POA
RT-ORB
QoS
Mechanism
Plug ins
•
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
Project Timeline
CIAO 0.1 alpha release - (TAO 1.3, Oct. 2002)
• 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
Nanbor Wang
Project Timeline
•
•
•
•
•
•
•
•
•
•
CIAO 0.2 beta release - (TAO 1.3.x, Apr. 2003)
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
Nanbor Wang
Project Timeline
CIAO 1.0 release - (TAO 1.4, Oct. 2003)
•
•
•
•
•
Transaction module?
CCM2Context, Session2Context, Entity2Context and
PSS functionality?
Support for ExecutorLocator based component implementation
ProxyHomeRegistration interface
Nanbor Wang
Bryan Hall
Coke machine
Men’s room
Coffee & tea
We are here!
Nanbor Wang