21
August 20, 2002 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

RTCCM Meeting Agenda & Overview of RTCCM

  • Upload
    neva

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

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. Meeting Schedule. http://www.cs.wustl.edu/~nanbor/projects/CIAO/project-kickoff.html. - PowerPoint PPT Presentation

Citation preview

Page 1: 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

Page 2: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 3: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 4: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 5: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 6: RTCCM Meeting Agenda & Overview of RTCCM

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)

Page 7: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 8: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 9: RTCCM Meeting Agenda & Overview of RTCCM

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?

Page 10: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 11: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 12: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 13: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 14: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 15: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 16: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 17: RTCCM Meeting Agenda & Overview of RTCCM

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

Page 18: RTCCM Meeting Agenda & Overview of RTCCM

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)

Page 19: RTCCM Meeting Agenda & Overview of RTCCM

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)

Page 20: RTCCM Meeting Agenda & Overview of RTCCM

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)

Page 21: RTCCM Meeting Agenda & Overview of RTCCM

Nanbor Wang

Bryan Hall

We are here!

Men’s room

Coke machine

Coffee & tea