crg talk on tuesday, august 19, 2003 seyedmasoud sadjadi sadjadis software engineering and...

30
CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi www.cse.msu.edu/~sadjadis Software Engineering and Networking Systems Laboratory Department of Computer Science and Engineering Michigan State University www.cse.msu.edu/sens ACT: Adaptive CORBA Template ACT: Adaptive CORBA Template

Upload: katherine-ball

Post on 13-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG talk on Tuesday, August 19, 2003

SeyedMasoud Sadjadiwww.cse.msu.edu/~sadjadis

Software Engineering and Networking Systems Laboratory

Department of Computer Science and Engineering

Michigan State University

www.cse.msu.edu/sens

ACT: Adaptive CORBA TemplateACT: Adaptive CORBA Template

Page 2: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 2ACT: Adaptive CORBA Template by S. M. Sadjadi

AgendaAgenda

Motivation

Background

ACT

ACT + QuO

Example

Pervasive Computing

ACT

Background

Motivation

ACT + QuO

Example

OvervieOverview:w:

PerCom

Conclusion

Conclusion

Page 3: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 3ACT: Adaptive CORBA Template by S. M. Sadjadi

MotivationMotivation

Problem– Distributed applications comprise autonomous programs

typically hosted on heterogeneous platforms and distributed over heterogeneous networks.

– Traditional middleware such as CORBA masks the distribution of resources across a network and hide differences among computing platforms and networks.

– Adaptive middleware provides acceptable quality-of-service, security, fault-tolerance, and so on over different underlying technologies.

– However, adding new adaptive functionality to an extant application is complicated when:

– The source code of the application is unavailable.– The source code is available but modifying it directly is

undesirable. – The application is required to run continuously and cannot

be easily taken off-line for upgrade.

ACT

Background

Motivation

ACT + QuO

Example

OvervieOverview:w:

PerCom

Conclusion

Page 4: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 4ACT: Adaptive CORBA Template by S. M. Sadjadi

Middleware LayersMiddleware Layers

– Domain-Services Tailored to a specific

class of distributed applications

– Common-Services Functionality such as

fault tolerance, security, load balancing and transactions

– Distribution Programming-language

abstraction

– Host-Infrastructure Platform-abstraction

Schmidt [8] decomposed middleware into four layers:

Schmidt’s Middleware layers [2]

Note: an adaptive middleware project may fall in more than one layer.

Mid

dlew

are

Laye

rs

Applications

Domain-Specific Middleware Services

Common Middleware Services

Distribution Middleware

Host-Infrastructure Middleware

Operating Systems and Protocols

Hardware DevicesSyst

emPl

atfo

rm

Motivation

Background

OvervieOverview:w:

Layers

CORBA

ACT

ACT + QuO

Example

PerCom

Conclusion

Interceptors

Page 5: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 5ACT: Adaptive CORBA Template by S. M. Sadjadi

CORBACORBA

CORBA– Common Object Request Broker Architecture.

– A distributed object framework by OMG.

– Supports distributed object-oriented computing across heterogeneous hardware devices, operating systems, network protocols, and programming languages.

Components Object Servant Client IDL Compiler Stub Skeleton ORB Core GIOP/IIOP

CORBA architecture [3].

Motivation

Background

OvervieOverview:w:

CORBA

Layers

ACT

ACT + QuO

Example

PerCom

Conclusion

Interceptors

Page 6: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 6ACT: Adaptive CORBA Template by S. M. Sadjadi

CORBA Portable InterceptorsCORBA Portable Interceptors

CORBA Request Portable Interceptors

ApplicationsClient

request flow

Client Application

Client ORB

Servant

Server Application

reply flow

Domain-ServicesCommon-Services

Distribution

Host-InfrastructureSystem Platform

Client-Request InterceptorServer ORB

Server-Request Interceptor

Network

Stub Skeleton

Motivation

Background

OvervieOverview:w:

Interceptors

CORBA

ACT

ACT + QuO

Example

PerCom

Conclusion

Layers

Page 7: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 7ACT: Adaptive CORBA Template by S. M. Sadjadi

AgendaAgenda

ACT

Background

Motivation

ACT + QuO

Example

Pervasive Computing

Motivation

Background

ACT

ACT + QuO

Example

OvervieOverview:w:

PerCom

Conclusion

Conclusion

Page 8: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 8ACT: Adaptive CORBA Template by S. M. Sadjadi

Adaptive CORBA Template Adaptive CORBA Template (ACT)(ACT)

ACT features – supports “unanticipated” adaptation in CORBA

applications.– enables dynamic improvements to CORBA applications

in response to changes in their functional requirements or in non-functional concerns, such as quality-of-service, fault-tolerance, and security.

– provides a generic model for constructing and enhancing adaptive CORBA frameworks.

Extended QuO FrameworkAdaptive CORBA C++ FrameworkAdaptive CORBA Java Framework

Adaptive CORBA Template

Motivation

Background

ACT

ACT + QuO

Example

OvervieOverview:w:

PerCom

Conclusion

Features

Architecture

Core

Interaction

Page 9: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 9ACT: Adaptive CORBA Template by S. M. Sadjadi

ACT ArchitectureACT Architecture

The flow of a request/reply in an ACT-ready application

ApplicationsClient

Client Application

Servant

Server Application

Domain-Services

Common-Services

Distribution

Host-InfrastructureSystem Platform

Network

Client GI

Client ORB

Server GI

Server ORB

Client ACT Core Server ACT Core

request flow reply flow GI: generic interceptor

Motivation

Background

ACT

ACT + QuO

Example

OvervieOverview:w:

PerCom

Conclusion

Architecture

Features

Core

Interaction

Page 10: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 10ACT: Adaptive CORBA Template by S. M. Sadjadi

ACT Core ComponentsACT Core Components

The flow of a request/reply in ACT core components

Client ORB

DynamicInterceptors

Client ACT Core

Rule-BasedInterceptor

Proxy Decision Maker

Event Mediator

Client Generic Interceptor

request flow

to/from the host-infra. middleware

reply flow

to/from the common-services middleware

Motivation

Background

ACT

ACT + QuO

Example

OvervieOverview:w:

PerCom

Conclusion

Core

Architecture

Features

Interaction

Page 11: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

Client Client ORB Client GI Client RBI Proxy DM EM Server ORB#1 request() #2 intercepting the request #3 intercepting the request

#4 raising ForwardRequest exception#5 raising ForwardRequest exception

#6 modifying the request target

#7 intercepting the request #8 intercepting the request

#9 no exception is raised#10 no exception is raised

#11 forwarding the request to the proxy

#16 forwarding the modified request or a new request to the original application CORBA object

#17 intercepting the modified request #18 intercepting the modified request

#19 no exception is raised#20 no exception is raised

#15 return #14 return

#12 consult #13 event

#21 sending the modified request to the Server Application

#22 sending the reply to the modified request back to the Client Application

#23 intercepting the reply #24 intercepting the reply

#25 no exception is raised#26 no exception is raised

#27 sending the reply to the modified request back to the proxy

#32 sending the modified reply to the request back to the client #31 return #30 return

#28 consult #29 event

#33 intercepting the modified reply #34 intercepting the modified reply

#35 no exception is raised#36 no exception is raised#37 return reply

request message return message (reply or exception)

Page 12: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 12ACT: Adaptive CORBA Template by S. M. Sadjadi

AgendaAgenda

ACT + QuO

Background

Motivation

ACT

Example

Pervasive Computing

Motivation

Background

ACT + QuO

ACT

Example

OvervieOverview:w:

PerCom

Conclusion

Conclusion

Page 13: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 13ACT: Adaptive CORBA Template by S. M. Sadjadi

Quality Objects (QuO) Quality Objects (QuO) BackgroundBackground

The flow of a request/reply in a typical QuO application

Contract

Client ORB Server ORB

ApplicationsClient

request flow

Client Application

Servant

Server Application

reply flow

Domain-Services

Common-Services

Distribution

Host-InfrastructureSystem Platform

Network

ClientWrapper

ServerWrapper

Client QuO Core Server QuO Core

Contract SCs

SCs: sytem conditions

SCs

Motivation

Background

ACT + QuO

ACT

Example

OvervieOverview:w:

PerCom

Conclusion

QuO Background

ACT + QuO

Page 14: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 14ACT: Adaptive CORBA Template by S. M. Sadjadi

Coupling ACT with QuOCoupling ACT with QuO

The flow of a request/reply in extended QuO framework

ApplicationsClient

request flow

Client Application

Servant

Server Application

reply flow

Domain-Services

Common-Services

Distribution

Host-InfrastructureSystem Platform

Network

Client ACT Core

Client GI

Client ORB

Server GI

Server ORB

Server ACT Core

ClientWrapper

ServerWrapper

Client-QuO Core

Server-QuO Core

GI: generic interceptor

Motivation

Background

ACT + QuO

ACT

Example

OvervieOverview:w:

PerCom

Conclusion

ACT + QuO

QuO Background

Page 15: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 15ACT: Adaptive CORBA Template by S. M. Sadjadi

AgendaAgenda

Example

Background

Motivation

ACT

ACT + QuO

Pervasive Computing

Motivation

Background

Example

ACT

ACT + QuO

OvervieOverview:w:

PerCom

Conclusion

Conclusion

Page 16: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 16ACT: Adaptive CORBA Template by S. M. Sadjadi

Case Study: A Surveillance AppCase Study: A Surveillance App

A large image taken from a laboratory for surveillanceMotivation

Background

Example

ACT

ACT + QuO

OvervieOverview:w:

PerCom

Conclusion

Introduction

ACT Utilities

QuO Adaptation

ACT + QuO

Evaluation

Page 17: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 17ACT: Adaptive CORBA Template by S. M. Sadjadi

Surveillance Application (1) Surveillance Application (1)

Using QuO “UserAdapt” qosket for dynamic adaptationMotivation

Background

Example

ACT

ACT + QuO

OvervieOverview:w:

PerCom

Conclusion

QuO Adaptation

ACT Utilities

Introduction

ACT + QuO

Evaluation

Page 18: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 18ACT: Adaptive CORBA Template by S. M. Sadjadi

Surveillance Application (2)Surveillance Application (2)

Choosing small images to save some bandwidthMotivation

Background

Example

ACT

ACT + QuO

OvervieOverview:w:

PerCom

Conclusion

QuO Adaptation

ACT Utilities

Introduction

ACT + QuO

Evaluation

Page 19: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 19ACT: Adaptive CORBA Template by S. M. Sadjadi

Surveillance Application (3)Surveillance Application (3)

Motivation

Background

Example

ACT

ACT + QuO

OvervieOverview:w:

PerCom

Conclusion

ACT Utilities

QuO Adaptation

Introduction

ACT + QuO

Evaluation

Page 20: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 20ACT: Adaptive CORBA Template by S. M. Sadjadi

Surveillance Application (4)Surveillance Application (4)

Dynamic weaving of “UserAdaptFrameRate” qosketMotivation

Background

Example

ACT

ACT + QuO

OvervieOverview:w:

PerCom

Conclusion

ACT + QuO

ACT Utilities

Introduction

QuO Adaptation

Evaluation

Page 21: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 21ACT: Adaptive CORBA Template by S. M. Sadjadi

Surveillance Application (5)Surveillance Application (5)

Choosing slow frame rate using the new qosketMotivation

Background

Example

ACT

ACT + QuO

OvervieOverview:w:

PerCom

Conclusion

ACT + QuO

ACT Utilities

Introduction

QuO Adaptation

Evaluation

Page 22: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 22ACT: Adaptive CORBA Template by S. M. Sadjadi

ACT + QuO EvaluationACT + QuO Evaluation

Evaluating the ACT overhead– Small overhead– Negligible

Round-Trip Delay in seconds

0

2

4

6

8

10

12

1 2 4 8 16 32 64 128

256

512

1024

2048

4096

8192

Image Size in KB

Rou

nd-T

rip D

elay

in

seco

nds

Base Application

ACT-Enabled Application

Motivation

Background

Example

ACT

ACT + QuO

OvervieOverview:w:

PerCom

Conclusion

Evaluation

ACT Utilities

Introduction

QuO Adaptation

ACT + QuO

Page 23: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 23ACT: Adaptive CORBA Template by S. M. Sadjadi

ACT + QuO EvaluationACT + QuO Evaluation

The frame rate in the surveillance application– At point 60, a one time delay is introduced for loading ACT

core component and making the application ACT-ready.

– The overhead introduced by ACT is negligible

Adapting Image Size and Frame Rate

0

2

4

6

8

10

12

14

16

1 31 61 91 121 151

Time in seconds

Fra

me

Rat

e

Motivation

Background

Example

ACT

ACT + QuO

OvervieOverview:w:

PerCom

Conclusion

Evaluation

ACT Utilities

Introduction

QuO Adaptation

ACT + QuO

Page 24: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 24ACT: Adaptive CORBA Template by S. M. Sadjadi

AgendaAgenda

Pervasive Computing

Background

Motivation

ACT

ACT + QuO

Example

Motivation

Background

PerCom

ACT

ACT + QuO

OvervieOverview:w:

Example

Conclusion

Conclusion

Page 25: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 25ACT: Adaptive CORBA Template by S. M. Sadjadi

Pervasive ComputingPervasive Computing

Motivation– Using extant CORBA application in pervasive

computing transparently.

Challenges– Transparent Hand-off

Using active/passive application replication Requires generic proxies

– Heterogeneous devices and networks Small devices Wireless networks Mobile computing

– Extended period of disconnection– IP changes

– Application specific unanticipated adaptation Such as the surveillance application

Motivation

Background

PerCom

ACT

ACT + QuO

OvervieOverview:w:

Example

Conclusion

Motivation

Discussion

ACT Solution

Page 26: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 26ACT: Adaptive CORBA Template by S. M. Sadjadi

ACT Solution for PerComACT Solution for PerCom

ACT for PerComMotivation

Background

PerCom

ACT

ACT + QuO

OvervieOverview:w:

Example

Conclusion

ACT Solution

Discussion

Motivation

Client ORB

DynamicInterceptors

Client ACT Core

Rule-BasedInterceptor

GenericProxy

Decision Maker

Event Mediator

Client Generic Interceptor

request flow

to/from the host-infra. middleware

reply flow

to/from the common-services middleware

DSI DII

Log

– Generic proxy

– DSI & DII

– Logging

– Active/

passive replica consistency

– Async. method invocation

– Time out

– Heartbeat

– Dynamic weaving of qoskets

Page 27: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 27ACT: Adaptive CORBA Template by S. M. Sadjadi

DiscussionDiscussion

How do you evaluate this approach to support pervasive computing?

Motivation

Background

PerCom

ACT

ACT + QuO

OvervieOverview:w:

Example

Conclusion

Discussion

Motivation

ACT Solution

Page 28: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 28ACT: Adaptive CORBA Template by S. M. Sadjadi

ConclusionConclusion

ACT supports unanticipated adaptation in CORBA application transparently.

ACT can be used to construct adaptive CORBA frameworks.

ACT can be used to enhance existing adaptive CORBA frameworks.

ACT can be used to enable or improve the interoperability among different adaptive middleware approaches.

The overhead introduced by ACT is negligible.

Motivation

Background

Conclusion

ACT

ACT + QuO

OvervieOverview:w:

Example

PerCom

Page 29: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 29ACT: Adaptive CORBA Template by S. M. Sadjadi

ReferencesReferences[1] S. M. Sadjadi and P. K. McKinley. Act: An adaptive corba template to

support unanticipated adaptation. Technical Report MSU-CSE-03-22, Department of Computer Science, Michigan State University, East Lansing, Michigan, August 2003.

[2] Douglas C. Schmidt. Middleware for real-time and embedded systems. Communications of the ACM, 45(6), June 2002.

[3] http://www.cs.wustl.edu/~schmidt/corba-overview.html.

[4] John A. Zinky, David E. Bakken, and Richard E. Schantz. Architectural support for quality of service for CORBA objects. Theory and Practice of Object Systems, 3(1), 1997.

[5] Victor C. Zandy and Barton P. Miller. Reliable network connections. In ACM MobiCom 2002, Atlanta, September 2002.

[6] C. Marchetti, L. Verde, and R. Baldoni. CORBA request portable interceptors: A performance analysis. In the 3nd International Symposium on Distributed Objects and Applications (DOA 2001), Rome, Italy, Sept. 2001.

[7] L. Moser, P. Melliar-Smith, P. Narasimhan, L. Tewksbury, and V. Kalogeraki. The eternal system: an architecture for enterprise applications. In the 3rd International Enterprise Distributed Object Computing Conference (EDOC'99), July 1999.

Motivation

Background

ACT

ACT + QuO

OvervieOverview:w:

Example

PerCom

Conclusion

Page 30: CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi sadjadis Software Engineering and Networking Systems Laboratory Department of

CRG presentation on Aug. 19, 2003 30ACT: Adaptive CORBA Template by S. M. Sadjadi

Questions?

Thank you!

Motivation

Background

ACT

ACT + QuO

OvervieOverview:w:

Example

PerCom

Conclusion