1 / 13

Quality Objects (QuO) Middleware Framework ECOOP 2000 Workshop QoS in DOS June13, 2000

QuO. Quality Objects (QuO) Middleware Framework ECOOP 2000 Workshop QoS in DOS June13, 2000. John Zinky BBN Technologies JZinky@bbn.com Http://www.dist-systems.bbn.com/tech/QuO. Property Managers. Policy Managers. Name Services. Event Services. Configuration Management. Status

Télécharger la présentation

Quality Objects (QuO) Middleware Framework ECOOP 2000 Workshop QoS in DOS June13, 2000

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. QuO Quality Objects (QuO) Middleware FrameworkECOOP 2000 Workshop QoS in DOSJune13, 2000 John Zinky BBN Technologies JZinky@bbn.com Http://www.dist-systems.bbn.com/tech/QuO

  2. ... Property Managers Policy Managers ... Name Services Event Services Configuration Management Status Collection Bandwidth Control Current ORBs Must be Extended for Adaptive QoS Interface and Control Applications Applications Logical Method Calls Client Object Middleware Middleware QoS Adaptive Layer QoS Adaptive Layer Network Based Services Distributed Objects COTS ORB Schedulers Distributed Objects COTS ORB Schedulers Specialized Protocols Group Communications Specialized Protocols Group Communications Operating System Operating System Resource Managers Resource Managers Client Host Network Servant Host

  3. Contract Contract Network QuO Adds QoS Control and Measurement, and Adaptive Behavior into the DOC Remote Method Call Logical Method Call Application Developer Client Object SysCond SysCond Delegate Delegate SysCond SysCond SysCond Qosketeer SysCond SysCond ORB Proxy ORB Proxy Mechanism/Property Manager Mechanism Developer Specialized ORB Specialized ORB Client Server Network

  4. QuO Delegate Can Change the Method Called Based on the Value of the Contract and SysConds Application • The User can change the desired QoS, by setting the value of a SysCond • The Contract integrates the User’s desires with other information to form a Region • The Delegate uses the Region to dispatch to a behavior. In this case call a different method on the object User Sets Expectation Client Code Call Back Reference SysCond QuO Kernel Factory Delegate Contract Proxy ORB ORB Network Control Manager QuO Kernel ORB SC SC Proxy Del. Contract Object

  5. Contracts Summarize System Conditions into Regions Each are Appropriate for Different Situations • Contract defines nested regions of possible states based on measured conditions • Predicates using system condition objects determine which regions are valid • Transitions occur when a region becomes invalid and another becomes valid • Transitions trigger adaptation by the client, object, ORB, or system Low Server Capacity Abundant Resources Unknown Bottleneck Low Network Capacity Panel From QuO GUI

  6. CMU REMOS is an Example of Network Configuration and Status Dissemination Service

  7. Remos Collects Available Bandwidth andQuO Instrumentation Measures Delivered QoS Measured QoS Expected QoS Client Object Correlate Probes Disseminate Delegate Delegate Infer Probes Probes Integrate Translate Piggybacked Measurements Collect QuO Gateway QuO Gateway Probes Probes Status Resource Resource Resource

  8. The QuO Contract GUI Shows State of the Contract in Real Time Current Region Probability Of Region Last Region System Condition Values Transition Log

  9. Connector Setup Language (CSL) CORBA IDL Contracts Delegates Contract Description Language (CDL) QuO Runtime Connectors Code Generators Structure Description Language (SDL) The QuO Toolkit Provides Tools for Building Adaptable Applications • Quality Description Languages (QDL) • Support the specification of QoS contracts (CDL), delegates and their adaptive behaviors (SDL), connection, creation, and initialization of QuO application components (CSL) • QuO includes code generators that parse QDL descriptions and generates Java and C++ code for contracts, delegates, creation, and initialization • soon: capabilities to describe real-time behavior (TAO’s RIDL) and security (TIS’s DTEL++) • System Condition Objects, implemented as CORBA objects • QuO instrumentation • QuO Runtime Kernel • Contract evaluator

  10. Quality Description Languages are Used to Automatically Generate QuO Contract and Delegate Contract Description Language Connection Specification Language contract UserAdapt ( // Expectation from users application syscond ValueSC ValueSCImpl userEnableSmall, syscond ValueSC ValueSCImpl userEnableUnprocessed ) { // Intrumentation from Delegate //Network Fits syscond probe instrumentation::PropertyProbe measuredNetworkCapacity("network_Capacity", 100.0); syscond probe instrumentation::PropertyProbe measuredNetworkPropDelay("network_PropDelay", 50.0); //Other Syscond declaration deleted region Big (not userEnableSmall) { region Processed (not userEnableUnprocessed) // Use Big Processed Pictures {} region Unprocessed (userEnableUnprocessed) // Use Big UnProcessed Pictures {} } region Small (userEnableSmall) { region Processed (not userEnableUnprocessed) // Use Small Processed Pictures {} region Unprocessed (userEnableUnprocessed) // Use Small UnProcessed Pictures {} } }; /* ------------------Connection Specification ------------------- */ class "SlideShowUserAdapt" interface "SlideShowUserAdaptConnection" codeloglevel "high" target "client" connectparams (in QuoKernel mykernel, in quo::COSHelper mycoshelper) quokernel mykernel /* ------------------Include section-------------------------------- */ /* Include cdl files */ include "qdl/UserAdapt.cdl" /* other Includes Deleted */ /*------------------Definition section-------------------------------*/ /* Define Remote Objects */ SlideShow slideshow_obj = narrowfuncall mycoshelper.waitForObject("SlideServer", -1, 1000); SlideShowInstrumented slideshow_instrumented_obj = narrowfuncall mycoshelper.waitForObject("SlideServerDelegate", -1, 1000); /* Syscond Declarations deleted /* /* Instantiate Contracts */ UserAdapt userAdapt = new UserAdapt("UserAdapt", "com.bbn.quo.examples.slideshow.UserAdapt", userEnableSmall, userEnableUnprocessed); /* Instantiate Delegates */ returndelegate thisDelegate ( slideshow_obj , userAdapt ) ; /*------------------Initialization section---------------------------*/ funcall thisDelegate.initialize_inst(); /* other initialization deleted */

  11. QuO Gateway Control IIOP IIOP IIOP Glue Client-Side ORB QuO Gateways support specialized communication protocols and below the ORB mechanisms • The QuO gateway enables insertion of below-the-ORB mechanisms and specialized network controls • The gateway translates IIOP messages into specialized communication protocols or network level controls • To the client-side, the QuO gateway looks like the remote ORB • To the object-side, the QuO gateway looks like the client’s ORB • The two ends of the gate-way are on the same LAN as the client/object • Currently, we have gate-ways that support Ensemble group communication, RSVP resource reservation, and IIOP over TCP/IP QuO Gateway Control Group Replication (AQuA) IIOP Glue Server-Side ORB Bandwidth Reservation (DIRM) IIOP over TCP/IP (default) WAN

  12. Composite Demonstration Configuration Network Layer-Server Layer Server Layer-Server RPF MAP Server Publish Client Proteus BBoard Database TAO Event Channel MAP Files Guards sensor sensor sensor sensor sensor Simulator Common Picture Planning Layer Network Aware Application API Darwin Dissemination Remos MAP Fusion Layer OO-DTE Information Source Layer Bandwidth Dependability Real time Security

  13. QuO is a Framework for handling several kinds of QoS Bandwidth Management, Realtime, Security, Dependability QuO explicitly supports different developer roles Client Programmer, Object Programmers, QoS Designers, Mechanism Designers QuO reuses QoS adaptability AOP techniques to Weave in Functional and Systemic Behavior QoS services using gateway and CORBA control objects QuO uses QDL to specify adaptive behavior QuO supports adaptation at several places Above the ORB with QuO Delegates Below the ORB with QuO Gateways Interfaces to Underling Mechanisms through Control Objects QuO 2.1 supports invocation-time adaptation Conclusions

More Related