Smart Switch...VI Chapter 13 QoS Commands..... 85 qos .....85 qos cos.....85
1 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies Quality Objects (QuO)...
-
Upload
camilla-hudson -
Category
Documents
-
view
221 -
download
0
Transcript of 1 06/2000 10/21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies Quality Objects (QuO)...
1 06/2000 04/20/23 ECOOP 2000 Workshop QoS in DOS John Zinky BBN Technologies
Quality Objects (QuO) Middleware FrameworkECOOP 2000 Workshop
QoS in DOSJune13, 2000
John Zinky
BBN Technologies
Http://www.dist-systems.bbn.com/tech/QuO
QuOQuO
2 06/2000 04/20/23 ECOOP 2000 Workshop QoS in DOS John Zinky BBN Technologies
Current ORBs Must be Extended for Adaptive QoS Interface and Control
Logical Method Calls
BandwidthControl
StatusCollection
ConfigurationManagement
Client Host Network
Operating System
Middleware
ApplicationsClient
Servant Host
Operating System
Middleware
ApplicationsObject
ResourceManagers
ResourceManagers
Network Based Services
PropertyManagers
PolicyManagers
...
Event Services
Name Services ...
QoS Adaptive LayerQoS Adaptive Layer
Distributed ObjectsCOTS ORBSchedulers
Distributed ObjectsCOTS ORBSchedulers
Specialized ProtocolsGroup Communications
Specialized ProtocolsGroup Communications
3 06/2000 04/20/23 ECOOP 2000 Workshop QoS in DOS John Zinky BBN Technologies
QuO Adds QoS Control and Measurement, and Adaptive Behavior into the DOC Remote Method Call
Client
Network
Server
ApplicationDeveloper
Qosketeer
MechanismDeveloper
Logical Method Call Client
Delegate
ORB Proxy
Specialized ORB
ContractSysCond
SysCond
SysCond SysCond
Object
Delegate
ORB Proxy
Specialized ORB
Contract
Network
Mechanism/PropertyManager
SysCond
SysCond
SysCond
4 06/2000 04/20/23 ECOOP 2000 Workshop QoS in DOS John Zinky BBN Technologies
QuO Delegate Can Change the Method Called Based on the Value of the Contract and SysConds
User Sets Expectation
Application
Client CodeReference
Delegate
Proxy
Call Back
Factory
QuO Kernel
SysCond
ORB
Contract
Network Control Manager
QuO Kernel
Contract
SC SC
ORB
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 06/2000 04/20/23 ECOOP 2000 Workshop QoS in DOS John Zinky BBN Technologies
Contracts Summarize System Conditions into Regions
Each are Appropriate for Different Situations
Panel From QuO GUI
AbundantResources
Low NetworkCapacity
Low ServerCapacity
UnknownBottleneck
• 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 06/2000 04/20/23 ECOOP 2000 Workshop QoS in DOS John Zinky BBN Technologies
QuO Contract
ORB
SystemCondition
RemosHost Load
Client
QuO Delegate
SystemCondition
RemosNetwork Load
SystemConditionRemos
Network Load
Darwin
Feedback
Feedback
Feedback
ORB
SystemCondition
RemosHost Load
Server
QuO Delegate
ORB
SystemCondition
RemosHost Load
Server
QuO Delegate
CMU REMOS is an Example of Network Configuration and Status Dissemination Service
7 06/2000 04/20/23 ECOOP 2000 Workshop QoS in DOS John Zinky BBN Technologies
Remos Collects Available Bandwidth andQuO Instrumentation Measures Delivered QoS
Resource Resource Resource
Status
Collect
TranslateIntegrate
Infer
Disseminate
ExpectedQoS
Delegate Delegate
Client ObjectMeasuredQoS
Probes Probes
QuOGateway
QuOGateway
Probes Probes
CorrelateProbes
PiggybackedMeasurements
8 06/2000 04/20/23 ECOOP 2000 Workshop QoS in DOS John Zinky BBN Technologies
The QuO Contract GUI Shows State of the Contract in Real Time
Current Region ProbabilityOf RegionLast Region
System ConditionValues
TransitionLog
9 06/2000 04/20/23 ECOOP 2000 Workshop QoS in DOS John 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
CodeGenerators
CodeGenerators
Contract DescriptionLanguage (CDL)
Structure DescriptionLanguage (SDL)
QuO RuntimeQuO Runtime
Delegates ContractsConnectors
Connector SetupLanguage (CSL)
10 06/2000 04/20/23 ECOOP 2000 Workshop QoS in DOS John 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 06/2000 04/20/23 ECOOP 2000 Workshop QoS in DOS John Zinky BBN Technologies
QuO GatewayQuO Gateway
IIOPGlue
Control
QuO Gateways support specialized communication protocols and below the ORB mechanisms
Cli
ent-
Side
OR
B
IIOP Group Replication (AQuA)
WAN
Bandwidth Reservation (DIRM)
IIOP over TCP/IP (default)
IIOPGlue
Control
IIOP
Serv
er-S
ide
OR
B
• 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 06/2000 04/20/23 ECOOP 2000 Workshop QoS in DOS John Zinky BBN Technologies
Bandwidth
RPF MAP Server
MAP Files
Dependability Real time
Layer Server
Client
TAO Event Channel
sensor sensorsensor
Security
Layer-Server
Publish
Database
Simulator
sensor sensor
Common Picture Planning Layer
MAP
Fusion Layer
Information Source Layer
Composite Demonstration Configuration
Layer-Server
BBoard
Guards
Proteus
Darwin
Network AwareApplication API
Dissemination
Remos Network
OO-DTE
13 06/2000 04/20/23 ECOOP 2000 Workshop QoS in DOS John 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