1 / 30

ACT: Adaptive CORBA Template

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.

verdin
Télécharger la présentation

ACT: Adaptive CORBA Template

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Agenda Overview: Motivation Motivation Background Background ACT ACT + QuO Example ACT PerCom Conclusion ACT + QuO Example Pervasive Computing Conclusion

  3. 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

  4. 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.

  5. 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].

  6. 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

  7. Agenda Overview: Motivation Motivation Background Background ACT ACT + QuO Example ACT PerCom Conclusion ACT + QuO Example Pervasive Computing Conclusion

  8. 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

  9. 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

  10. 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

  11. 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)

  12. Agenda Overview: Motivation Motivation Background Background ACT ACT + QuO Example ACT PerCom Conclusion ACT + QuO Example Pervasive Computing Conclusion

  13. 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

  14. 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

  15. Agenda Overview: Motivation Motivation Background Background ACT ACT + QuO Example ACT PerCom Conclusion ACT + QuO Example Pervasive Computing Conclusion

  16. 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

  17. 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

  18. 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

  19. Surveillance Application (3) Overview: Motivation Background ACT ACT + QuO Example Introduction QuO Adaptation ACT Utilities ACT + QuO Evaluation PerCom Conclusion

  20. 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

  21. 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

  22. 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

  23. 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

  24. Agenda Overview: Motivation Motivation Background Background ACT ACT + QuO Example ACT PerCom Conclusion ACT + QuO Example Pervasive Computing Conclusion

  25. 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

  26. 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

  27. Discussion Overview: • How do you evaluate this approach to support pervasive computing? Motivation Background ACT ACT + QuO Example PerCom Motivation ACT Solution Discussion Conclusion

  28. 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

  29. 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

  30. Overview: Questions? Motivation Background ACT ACT + QuO Example PerCom Conclusion Thank you!

More Related