crg talk on tuesday, august 19, 2003 seyedmasoud sadjadi sadjadis software engineering and...
Embed Size (px)
TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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