300 likes | 314 Views
Learn about Adaptive CORBA Template (ACT) architecture, features, and benefits for dynamic adaptation of CORBA applications to changing functional requirements and non-functional concerns. This template provides a generic model for constructing and enhancing adaptive CORBA frameworks.
E N D
ACT: Adaptive CORBA Template 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
Agenda Overview: Motivation Motivation Background Background ACT ACT + QuO Example ACT PerCom Conclusion ACT + QuO Example Pervasive Computing Conclusion
Motivation Overview: • 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. Motivation Background ACT ACT + QuO Example PerCom Conclusion
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 Applications Domain-Specific Middleware Services Common Middleware Services Middleware Layers Distribution Middleware Host-Infrastructure Middleware Operating Systems and Protocols System Platform Hardware Devices Middleware Layers Overview: • Schmidt [8] decomposed middleware into four layers: Motivation Background Layers CORBA Interceptors ACT ACT + QuO Example PerCom Conclusion Schmidt’s Middleware layers [2] Note: an adaptive middleware project may fall in more than one layer.
CORBA Overview: • 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. Motivation Background Layers CORBA Interceptors ACT ACT + QuO • Components • Object • Servant • Client • IDL Compiler • Stub • Skeleton • ORB Core • GIOP/IIOP Example PerCom Conclusion CORBA architecture [3].
Client Application Server Application Applications Client Servant Domain-Services Common-Services Stub Skeleton Distribution Client-Request Interceptor Server-Request Interceptor Client ORB Server ORB Host-Infrastructure System Platform Network request flow reply flow CORBA Portable Interceptors Overview: • CORBA Request Portable Interceptors Motivation Background Layers CORBA Interceptors ACT ACT + QuO Example PerCom Conclusion
Agenda Overview: Motivation Motivation Background Background ACT ACT + QuO Example ACT PerCom Conclusion ACT + QuO Example Pervasive Computing Conclusion
Adaptive CORBA Template Adaptive CORBA Java Framework Adaptive CORBA C++ Framework Extended QuO Framework Adaptive CORBA Template (ACT) Overview: • 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. Motivation Background ACT Features Architecture Core Interaction ACT + QuO Example PerCom Conclusion
Client Application Server Application Client Applications Servant Domain-Services Client ACT Core Server ACT Core Common-Services Client GI Server GI Distribution Client ORB Server ORB Host-Infrastructure System Platform Network GI: generic interceptor request flow reply flow ACT Architecture Overview: • The flow of a request/reply in an ACT-ready application Motivation Background ACT Features Architecture Core Interaction ACT + QuO Example PerCom Conclusion
to/from the common-services middleware Client ACT Core Proxy Dynamic Interceptors Decision Maker Rule-Based Interceptor Event Mediator Client Generic Interceptor Client ORB to/from the host-infra. middleware request flow reply flow ACT Core Components Overview: • The flow of a request/reply in ACT core components Motivation Background ACT Features Architecture Core Interaction ACT + QuO Example PerCom Conclusion
Client Client ORB Client GI Client RBI Proxy DM EM Server ORB #1 request() #2 intercepting the request #3 intercepting the request #5 raising ForwardRequest exception #4 raising ForwardRequest exception #6 modifying the request target #7 intercepting the request #8 intercepting the request #10 no exception is raised #9 no exception is raised #11 forwarding the request to the proxy #12 consult #13 event #16 forwarding the modified request or a new request to the original application CORBA object #15 return #14 return #17 intercepting the modified request #18 intercepting the modified request #20 no exception is raised #19 no exception is raised #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 #26 no exception is raised #25 no exception is raised #27 sending the reply to the modified request back to the proxy #28 consult #29 event #32 sending the modified reply to the request back to the client #31 return #30 return #33 intercepting the modified reply #34 intercepting the modified reply #37 return reply #36 no exception is raised #35 no exception is raised request message return message (reply or exception)
Agenda Overview: Motivation Motivation Background Background ACT ACT + QuO Example ACT PerCom Conclusion ACT + QuO Example Pervasive Computing Conclusion
Client Application Server Application Applications Client Servant Domain-Services Client Wrapper Server Wrapper Common-Services Contract SCs SCs Contract Client QuO Core Server QuO Core Distribution Client ORB Server ORB Host-Infrastructure System Platform Network request flow reply flow SCs: sytem conditions Quality Objects (QuO) Background Overview: • The flow of a request/reply in a typical QuO application Motivation Background ACT ACT + QuO QuO Background ACT + QuO Example PerCom Conclusion
Client Application Server Application Client Applications Servant Domain-Services Client Wrapper Client- QuO Core Server- QuO Core Server Wrapper Common-Services Client ACT Core Server ACT Core Client GI Server GI Distribution Client ORB Server ORB Host-Infrastructure System Platform Network GI: generic interceptor request flow reply flow Coupling ACT with QuO Overview: • The flow of a request/reply in extended QuO framework Motivation Background ACT ACT + QuO QuO Background ACT + QuO Example PerCom Conclusion
Agenda Overview: Motivation Motivation Background Background ACT ACT + QuO Example ACT PerCom Conclusion ACT + QuO Example Pervasive Computing Conclusion
Case Study: A Surveillance App Overview: • A large image taken from a laboratory for surveillance Motivation Background ACT ACT + QuO Example Introduction QuO Adaptation ACT Utilities ACT + QuO Evaluation PerCom Conclusion
Surveillance Application (1) Overview: • Using QuO “UserAdapt” qosket for dynamic adaptation Motivation Background ACT ACT + QuO Example Introduction QuO Adaptation ACT Utilities ACT + QuO Evaluation PerCom Conclusion
Surveillance Application (2) Overview: • Choosing small images to save some bandwidth Motivation Background ACT ACT + QuO Example Introduction QuO Adaptation ACT Utilities ACT + QuO Evaluation PerCom Conclusion
Surveillance Application (3) Overview: Motivation Background ACT ACT + QuO Example Introduction QuO Adaptation ACT Utilities ACT + QuO Evaluation PerCom Conclusion
Surveillance Application (4) Overview: • Dynamic weaving of “UserAdaptFrameRate” qosket Motivation Background ACT ACT + QuO Example Introduction QuO Adaptation ACT Utilities ACT + QuO Evaluation PerCom Conclusion
Surveillance Application (5) Overview: • Choosing slow frame rate using the new qosket Motivation Background ACT ACT + QuO Example Introduction QuO Adaptation ACT Utilities ACT + QuO Evaluation PerCom Conclusion
ACT + QuO Evaluation Overview: • Evaluating the ACT overhead • Small overhead • Negligible Motivation Background ACT ACT + QuO Example Introduction QuO Adaptation ACT Utilities ACT + QuO Evaluation PerCom Conclusion
ACT + QuO Evaluation Overview: • 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 Motivation Background ACT ACT + QuO Example Introduction QuO Adaptation ACT Utilities ACT + QuO Evaluation PerCom Conclusion
Agenda Overview: Motivation Motivation Background Background ACT ACT + QuO Example ACT PerCom Conclusion ACT + QuO Example Pervasive Computing Conclusion
Pervasive Computing Overview: • 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 ACT ACT + QuO Example PerCom Motivation ACT Solution Discussion Conclusion
ACT Solution for PerCom Overview: • ACT for PerCom request flow reply flow Motivation • Generic proxy • DSI & DII • Logging • Active/ • passive replica consistency • Async. method invocation • Time out • Heartbeat • Dynamic weaving of qoskets to/from the common-services middleware Background Client ACT Core ACT ACT + QuO Dynamic Interceptors Generic Proxy Decision Maker Example PerCom Log Motivation Rule-Based Interceptor ACT Solution Discussion Conclusion Event Mediator DSI DII Client Generic Interceptor Client ORB to/from the host-infra. middleware
Discussion Overview: • How do you evaluate this approach to support pervasive computing? Motivation Background ACT ACT + QuO Example PerCom Motivation ACT Solution Discussion Conclusion
Conclusion Overview: • 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 ACT ACT + QuO Example PerCom Conclusion
References Overview: [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 Example PerCom Conclusion
Overview: Questions? Motivation Background ACT ACT + QuO Example PerCom Conclusion Thank you!