210 likes | 223 Views
Explore how to integrate QoS management in CORBA Component Model for better DRE applications, addressing current limitations and strategies for effective cross-cutting QoS management.
E N D
QoS Enabled Middleware: Adding QoS Management Capabilities to the CORBA Component Model Craig Rodrigues Gary Duzan Real-time CCM Meeting March 1, 2003 BBN Technologies
Presentation Outline • Overview of what CCM offers to DRE application developer • Description of what CCM lacks in terms of QoS Management features • Description of QoS Management strategies (in-band, out-of-band) • Description of cross-cutting nature of QoS Management • QoS management across multiple components • QoS management between components and containers • Further references and standards activity
CCM Benefits for DRE Systems • DRE systems consist of many Resource Consuming Components (RCC) • An RCC is a processing entity which cooperates with other entities in the execution of a certain activity, and consumes some type of system resource (ie. CPU, network, etc.) • CCM allows us to: • Specify the properties of an RCC • Specify the services offered by the RCC (facets) and services required by the RCC (receptacles) • Specify how an RCC can be connected to other components in a larger system (assembly)
CCM lacks features for Specifying QoS for Resource Consuming Components • CCM does not give us: • Ways to specify end-to-end QoS requirements, i.e. QoS Characteristics and QoS Values • Ways to specify adaptation strategies for how RCC’s can coordinate with other entities in order to meet QoS requirements • Ways to specify QoS management which cross multiple system and application level boundaries
QoS Management in DRE Systems • Managing end-to-end QoS involves managing resources which cross multiple system and application-level boundaries • Network-level resource management • QoS specific protocols such as RSVP and Diffserv • Enhanced transport protocols (SCTP) • Traffic shapers and firewalls • Processor-level resource management • CPU scheduling strategies • CPU reservations • Resource management of application specific behaviors • Frame dropping • Compression
CCM Should Allow QoS Management to Cross-Cut Components ClientComponent Service AComponent • QoS is a cross-cutting concern that can affect the interaction between multiple components • CCM must allow for complex component interactions that will result from implementing cross-cutting QoS management Service BComponent Service CComponent QoS Management Infrastructure QoS Management Infrastructure
in args OBJECT (SERVANT) OBJECT (SERVANT) in args Contract Contract CLIENT CLIENT OBJECT (SERVANT) OBJECT (SERVANT) operation() OBJ REF out args + return value IDL SKELETON IDL STUBS OBJECT ADAPTER Network ORB ORB ORB ORB IIOP IIOP IIOP IIOP Network QuO Extends the Distributed Object Model to Provide QoS Management Application Developer CORBA DOC MODEL Mechanism Developer Application Developer CLIENT CLIENT operation() OBJ REF out args + return value Delegate Delegate QuO Developer SysCond SysCond SysCond QUO/CORBA DOC MODEL SysCond IDL SKELETON MECHANISM/PROPERTY MANAGER IDL STUBS OBJECT ADAPTER Mechanism Developer
OBJECT ADAPTER OBJECT ADAPTER ORB ORB IIOP IIOP in args out args + return value Server/SinkComponent Client/SourceComponent events Contract Component Contract Component DelegateComponent DelegateComponent SysCond SysCond SysCond SysCond MECHANISM/PROPERTY MANAGER COMPONENT SKELETON Network COMPONENT STUBS Adding QoS Management Capabilities to the CORBA Component Model in args out args + return value Server/SinkComponent Client/SourceComponent Application Developer events COMPONENT MODEL COMPONENT SKELETON COMPONENT STUBS Network Mechanism Developer ORB ORB IIOP IIOP Application Developer QoSComponent Developer QUO/COMPONENT MODEL Mechanism Developer
Important Places where QoS Can Be Inserted in a Component-based DRE Application • Interaction between components (in-band) • Interaction between components and environment (out-of-band) • Interaction between components and containers
QuO Provides In-Band and Out-of-Band Adaptation and Control • In-band adaptation provided by the delegate and gateway • A delegate decides what to do with a method call or return based upon the state of its contract • Out-of-band adaptation triggered by transitions in contract regions • Caused by changes in the system observed by system condition objects
OBJECT ADAPTER ORB ORB IIOP IIOP in args out args + return value Server/SinkComponent Client/SourceComponent events Contract Component Contract Component DelegateComponent DelegateComponent SysCond SysCond SysCond SysCond MECHANISM/PROPERTY MANAGER COMPONENT SKELETON Network COMPONENT STUBS Adding QoS Management Between Components (in-band) • Modeling QoS infrastructure as components allows us to use standard component assembly mechanisms to introduce QoS behaviors to component-based DRE applications
OBJECT ADAPTER ORB ORB IIOP IIOP in args out args + return value Server/SinkComponent Client/SourceComponent events Contract Component Contract Component DelegateComponent DelegateComponent SysCond SysCond SysCond SysCond MECHANISM/PROPERTY MANAGER COMPONENT SKELETON Network COMPONENT STUBS Adding QoS Management between Components and Environment (out-of-band) • Changes in environment as detected by monitoring SysConds (sensors) trigger adaptive behaviors through Callbacks (actuators)
QoS Management Home C l i e n t CORBA Component Container API POA Container API Container Inserting QoS Management Capabilities into CCM between Components and Containers ORB RT Scheduling 2.0 RT Trader FT/RT Event CPU Scheduling
in args out args + return value Server/SinkComponent Client/SourceComponent Delegate Templates Qosket events DelegateComponent DelegateComponent SysCond SysCond OBJECT ADAPTER SysCond ORB ORB IIOP MECHANISM/PROPERTY MANAGER SysCond COMPONENT SKELETON IIOP Contracts COMPONENT STUBS SysConds Callback Objects Contract Component Contract Component Network QoS Management Behaviors can be Added to CCM by Using Reusable “Qoskets” • Qosket bundles a set of contracts (CDL), system condition objects (IDL), and QoS adaptive behavior (ASL) • Qosket provides reusable QoS Management behavior to application • Qoskets are cross-cutting, their interfaces will not map directly to CCM interfaces
Conclusions • Integrating QoS management into the CORBA Component Model will be important for developing component-based DRE applications • QuO offers a middleware framework for QoS-enabled applications • QuO functionality integrated with CCM would provide more flexible and reusable QoS Management behaviors
Further References and Ongoing Standards Activity • CORBA Component Model specification, http://doc.omg.org/ptc/02-08-03 • Quality of Service for CCM draft RFP,http://doc.omg.org/mars/03-01-18http://doc.omg.org/mars/03-01-19 • UML Profile for QoS and FT Characteristics and Mechanisms, RFP responsehttp://doc.omg.org/realtime/02-09-01 • Co-authored by I-Logix, THALES, Tri-Pacific • Supported by Lockheed Martin, ARTISAN, Softeam, and others
Overview of Quality of ServiceTerminology and Concepts * * source: UML Profile for QoS RFP response
QoS: Basic Terminology • QoS Characteristics • Represent quantifiable characteristics of services. • Specified independently of the elements they qualify, and represent non-functional aspects such as: • Latency, Throughput, Capacity • Availability, Reliability, Integrity, Safety • Error probability, Accuracy • Confidentiality, Access Control
QoS: Basic Terminology • QoS Value Definitions • Quantification of QoS Characteristics • for latency, we can quantify end-to-end delay of a function, the mean time of all executions, or the variance of time delay • QoS Capability • A way of grouping together QoS Characteristics for large, complex systems which may have many QoS Characteristics • Performance: refers to timeliness aspects of a system, and incorporates characteristics such as latency and throughput • Dependability: refers to the reliability of the service provided by a system, and incorporates characterstics such as: availability, reliability, safety, integrity • Security: incorporates characteristics such as access control and confidentiality
QoS: Basic Terminology • QoS Contract • System requirements that include restrictions that the system must adhere to • Can be specified in terms of QoS Values, which restrict QoS Characteristics, such as maximum latency