quality objects: advanced middleware for large scale wide area distributed applications

16
1 bjects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area Distributed Applications Dr. Richard E. Schantz BBN Technologies (aka the BBN part of GTE) Cambridge, Mass. [email protected]

Upload: ranee

Post on 12-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Quality Objects: Advanced Middleware for Large Scale Wide Area Distributed Applications. Dr. Richard E. Schantz BBN Technologies (aka the BBN part of GTE) Cambridge, Mass. [email protected]. Overview of Talk. Problem Description & Role of Middleware QuO as Essential Middleware - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

Quality Objects: Advanced Middleware for Large Scale Wide Area Distributed Applications

Dr. Richard E. Schantz

BBN Technologies (aka the BBN part of GTE)Cambridge, Mass.

[email protected]

Page 2: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

2 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

Overview of Talk

• Problem Description & Role of Middleware

• QuO as Essential Middleware

• Current QuO Activities

• Summary

Page 3: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

3 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

Current and Future Distributed Systems have Critical Performance and Dependability Requirements

CINCJ2

CINC OperationsPlanning Group

OPS/ INTELWORKSTATION

TARGET

CJTFPlanners

TARGET

MissionsCenters of GravityTask refinementForces refinementPhases refinementCOA evaluationCOA selection

FLTCINC MaritimePlanning Center

TMS CASES & HPC

Maritime & AirCampaign Assessment

JOINT FORCE MARITIMECOMPONENT CMDR

CASES TARGET

Task refinementIntegrated Target PrioritiesForces refinementSchedule refinementCOA evaluation

JOINT FORCE AIRCOMPONENT CMDR

TARGET ACPT

IDB

MissionsCOAsStrategy

Crisisassessment

COA evalCOA eval AirMar

XIDB

Target Nomination ListMaster Attack PlanAttack Plan Status

JFACCCombat Ops

Target Nomination ListWeaponeering

XIDB

APS/FLEX

TAMPS/COMPASS

JMCISIDB

Air Tasking Order (ATO)

NATOOPS/INTELWORKSTATION

Rear-echelonSim Center

toSHAPE

MasterTargetList

APS/FLEX RAAP

Refinement& eval

collaborative development

rehearse

Refinement& eval

ATO

Target data / Weaponeering

Page 4: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

4 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

Middleware Has Emerged to Help Solve Heterogeneity and Distribution Problems

• Middleware has made programming distributed applications easier• Standard programming interfaces hide platform and system dependencies

• Standard protocols, e.g., message formats, allow applications on different systems to interoperate

• Provides higher level, application oriented programming building blocks

• However, current middleware has limitations in building wide-area, complex, distributed systems• Little or no control over non-functional system behavior, such as

performance, dependability, and fault tolerance

• No support for building systems that can adapt to changing environments

• Little support for reusing code in new environments

Page 5: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

5 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

The Problem: Wide-Area Distributed Applications Are (Still) Hard to Build and Maintain

• WANs are dynamic with uncertain and sometime intermittent behavior

• Hosts span a wide range of platforms and resources

• Changing requirements and configurations

• Mission critical properties addressed in isolation

• Complex interactions in a mobile environment

Host1

Client1

Host2

Client2

Host4

Client3

ObjectResource ConstrainedWide Area Network LAN

Host3

Client4

Page 6: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

6 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

Quality Objects (QuO) as an Organizing Architecture for Integrated System Properties

• The goal: Predictable and integrated behavior under uncertain circumstances

• The approach: Adding Quality of Service attributes to Distributed Object Computing

• QuO Architecture initiates the integration of various dimensions of quality for distributed objects

• Underway: Managed communication performance, dependability, information assurance

» Other important aspects: real-time constraints, security, ...

• Integration Architecture and Framework (in progress): QuO

Page 7: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

7 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

Managing System Properties Involves Cooperation Between Many Parties

GUI ?

A Mode

B Mode

C Mode

ADVISE

EN

FO

RC

E

ADVISE

EN

FO

RC

E

?X Behavior

Y Behavior

Z Behavior

DB

User•Understands Impact of Behavior

• Changes Behavior

Application•Supports alternative user behavior

•Translates System limitations into user terms

Infrastructure•Advises about resource status

•Enforces application’s contracts with Comms Resources

Service•Optimize Object Implementation based on available system resources

LimitedComms

QuO Framework supports multiple roles, such as user, application developer, object developer, mechanism developer, and Qosketeer

Page 8: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

8 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

QuO Middleware Organizes Elements Required for Adaptable Behavior in a Reusable Manner

• Organizes System Properties

• Observe

• Ensure consistency between roles

• Translate

• Actively negotiate

• Execute Behavior• Change policy

• Control resources

• Emit Events• Reevaluate observations

• Change reservations

• Recover From Errors• Mask undesirable behavior

Dispatch

XBehavior

YBehavior

ZBehavior

Measure

Enforce

Service

Comms Resources

SystemProperties

User

Environment

Service

Client

Page 9: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

9 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

QuO Clients Connect to CORBA Objects using Functional and Quality Interfaces

A QuO Connection logically moves the object into the client’s address space

The QuO Connection integrates the individual QoS agreements for the Network, Client, and Server, by using a contract

RemoteObject

Network

Server ORB

Client ORB

QuO Delegate

ClientFunctional Quality

QuO Delegate

Interface Description LanguageDefines the Functional Interface

Quality Description Language Defines the System InterfaceIDL QDL

QuO helps spread the object’s functionality to the most desirable location; extending the strict Client-Server implementation of the object

The Client sees NO change in the functional interface,I.e. the language bindings are the same

Page 10: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

10 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

Key Abstractions: Operating Regions & Measurement Objects

• The quality engineer designs sets of regions, each describing a state in which the contract can exist with regard to QoS

• Negotiated regions represent agreements concerning the levels of service a client expects to receive and a server expects to provide

• Reality regions represent actual levels of service that are observed during system and contract execution

• System conditions represent object expectations and observed resource behavior

• Changes in object expectations trigger transitions between negotiated regions

• Changes in observed resource behavior trigger transitions between reality regions

Page 11: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

11 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

Contracts Summarize System Conditions into Expected and Reality Regions and Define Transitions Between Them

Normal:Expected capacity >= 10

Measured capacity >= 10

As_expected:

Insufficient_resources:Measured capacity < 10

Degraded:Expected capacity < 10Expected capacity >= 2

As_expected:

Extra_resources:

Measured capacity < 10Measured capacity >= 2

Measured capacity < 2

Insufficient_resources:

Measured capacity >= 10

Unusable:Expected capacity < 2

As_expected:

Extra_resources:

Measured capacity < 2

Measured capacity >= 2

•Contracts will break in hostile and dynamic WANs

•Commitment epochs represent the stability of system properties at different time scales

• Regions summarize system conditions by using a predicate to bound their range

•Transitions occur when one region becomes invalid and another becomes valid

= Expected Region

=Reality Region

Page 12: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

12 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

Delegates Change Their Behavior Based on Their Contract’s Current Regions

Dispatch

ContractPa

ss T

hrou

gh

Blo

ck

Shap

e

PreMethodMeasurements

Method Call

Lower Method Call

Current Regions

Result

Lower Result

SysCond

SysCond

Current Regions

PostMethodMeasurements

Delegate

AlternativeBehaviors

Page 13: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

13 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

The Status of an Object’s Complex Execution Environment is Summarized in Contracts

Logical Method Call

SysCon

SysCon

Client Network Server

SysCon

Client Object

Delegate

ORBProxy

Specialized ORB Specialized ORB

ApplicationDeveloper

Qoskateer

Mechanism Developer

Resource ControlWrapper

Network

Contract Contract

SysCon

SysCon

SysCon

Delegate

ORBProxy

SysCon

Page 14: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

14 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

QuO’s QoS Description Language (QDL)

• Contract Description Language (CDL) - describes expectations of clients and servers and regions and transitions for adapting to changing levels of service

• Structure Description Language (SDL) - describes objects’ internal structures and resource requirements

• Resource Description Language (RDL) - describes available system resources and their status

Implementation

CDL SDL RDL

QDLIDL

QDL + IDLCompiler

SurvivableSystem

QuO Runtime

ORB

Page 15: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

15 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

contract contract_name (syscond idl_type impl_type sc_name,syscond nowatch idl_type impl_type sc_name,callback idl_type cb_name, ... ) is

syscond idl_type impl_type name( arg, ... );static syscond idl_type impl_type name( arg, … );...tag regions are

region_name :when condition =>

tag regions areregion_name :

when condition => ...

precedences region_name ...;transitions are

transition region_name->region_name :synchronous

cb_name.callback(arg, ...);...

asynchronouscb_name.callback( arg, ... );...

transition any->name :...

transition name->any :...

transition inactive->name :...

transition name->inactive :...

end transitions;end tag regions;

region_name : when condition => tag regions are separate;

precedences region_name ...;transitions are

...end tag regions;

end contract_name;

separate tag regions for region_name are ...end tag regions;

Page 16: Quality Objects:  Advanced Middleware for Large Scale Wide Area Distributed Applications

16 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz

• Provides mechanisms for:

– distributed applications to provide expectations to the system regarding the quality of service they desire

– the system to inform applications of the quality of service they obtain

– adaptation under changing fault, workload, and environmental conditions

• Gives applications simplified awareness of system conditions, without total responsibility for managing quality

• Permits system to effectively manage applications’ desires in changing system condition.

• Makes use of multiple simple languages (for contract specification now, for configuration issues later)

Quality Objects in QuO