Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies Quality Objects (QuO) Middleware Framework ECOOP 2000 Workshop QoS in DOS.

Similar presentations


Presentation on theme: "1 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies Quality Objects (QuO) Middleware Framework ECOOP 2000 Workshop QoS in DOS."— Presentation transcript:

1 1 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies 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 QuO

2 2 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies Current ORBs Must be Extended for Adaptive QoS Interface and Control Logical Method Calls Bandwidth Control Status Collection Configuration Management Client HostNetwork Operating System Middleware Applications Client Servant Host Operating System Middleware Applications Object Resource Managers Resource Managers Network Based Services Property Managers Policy Managers... Event Services Name Services... QoS Adaptive Layer Distributed Objects COTS ORB Schedulers Distributed Objects COTS ORB Schedulers Specialized Protocols Group Communications Specialized Protocols Group Communications

3 3 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies QuO Adds QoS Control and Measurement, and Adaptive Behavior into the DOC Remote Method Call Client Network Server Application Developer Qosketeer Mechanism Developer Logical Method Call Client Delegate ORB Proxy Specialized ORB Contract SysCond Object Delegate ORB Proxy Specialized ORB Contract Network Mechanism/Property Manager SysCond

4 4 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies QuO Delegate Can Change the Method Called Based on the Value of the Contract and SysConds User Sets Expectation Application Client Code Reference Delegate Proxy Call Back Factory QuO Kernel SysCond ORB Contract Network ControlManager QuO Kernel Contract SC ORB Proxy Object Del. 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

5 5 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies Contracts Summarize System Conditions into Regions Each are Appropriate for Different Situations Panel From QuO GUI Abundant Resources Low Network Capacity Low Server Capacity Unknown Bottleneck 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

6 6 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies CMU REMOS is an Example of Network Configuration and Status Dissemination Service

7 7 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies Remos Collects Available Bandwidth and QuO Instrumentation Measures Delivered QoS Resource Status Collect Translate Integrate Infer Disseminate Expected QoS Delegate Client Object Measured QoS Probes QuO Gateway QuO Gateway Probes Correlate Probes Piggybacked Measurements

8 8 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies The QuO Contract GUI Shows State of the Contract in Real Time Current RegionProbability Of Region Last Region System Condition Values Transition Log

9 9 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies 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 CORBA IDL Code Generators Code Generators Contract Description Language (CDL) Structure Description Language (SDL) QuO Runtime Delegates Contracts Connectors Connector Setup Language (CSL)

10 10 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies Quality Description Languages are Used to Automatically Generate QuO Contract and Delegate 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 {} } }; 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 {} } }; Contract Description Language /* ------------------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 */ /* ------------------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 */ Connection Specification Language

11 11 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies QuO Gateway IIOPGlue Control QuO Gateways support specialized communication protocols and below the ORB mechanisms Client-Side ORB IIOP Group Replication (AQuA) WAN Bandwidth Reservation (DIRM) IIOP over TCP/IP (default) IIOPGlue Control IIOP Server-Side ORB 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

12 12 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies Bandwidth RPF MAP Server MAP Files DependabilityReal time Layer Server Client TAO Event Channel sensor Security Layer-Server Publish Database Simulator sensor Common Picture Planning Layer MAP Fusion Layer Information Source Layer Composite Demonstration Configuration Layer-Server BBoard Guards Proteus Darwin Network Aware Application API Dissemination Remos Network OO-DTE

13 13 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies Conclusions 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


Download ppt "1 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies Quality Objects (QuO) Middleware Framework ECOOP 2000 Workshop QoS in DOS."

Similar presentations


Ads by Google