skip to main content
10.5555/566110.566134guidebooksArticle/Chapter ViewAbstractPublication PagesBookacm-pubtype
chapter

Applying patterns to develop a pluggable protocols framework for ORB middleware

Published: 20 August 2001 Publication History

Abstract

To be an effective platform for performance-sensitive applications, off-the-shelf CORBA middleware must preserve the communication-layer quality of service (QoS) properties of applications end-to-end. However, the standard CORBA GIOP/IIOP interoperability protocols are not well-suited for applications with stringent message footprint size, latency, and jitter requirements. It is essential, therefore, to develop standard pluggable protocols frameworks that allow custom messaging and transport protocols to be configured flexibly and used transparantly by applications. This chapter provides three contributions to the study of pluggable protocols frameworks for performance-sensitive CORBA middleware. First, we outline the key design challenges faced by pluggable protocols developers. Second, we describe how we resolved these challenges by developing a plug-gable protocols framework for TAO, which is our high-performance, real-time CORBA-compliant ORB. Third, we present the results of benchmarks that pinpoint the impact of TAO's pluggable protocols framework on its end-to-end efficiency and predictability. Our results demonstrate how the application of optimizations and patterns to CORBA middleware can yield both highly flexible/reusable designs and highly efficient/predictable implementations. These results illustrate that (1) CORBA middleware performance is largely an implementation detail and (2) the next generation of optimized, standards-based CORBA middleware can replace many ad hoc and proprietary solut

References

[1]
M. Henning and S. Vinoski, Advanced CORBA Programming with C++. Addison-Wesley Longman, 1999.]]
[2]
D.C. Schmidt, D.L. Levine, and S. Mungee, "The Design and Performance of Real-Time Object Request Brokers," Computer Communications, vol. 21, pp. 294-324, April 1998.]]
[3]
D.C. Schmidt, M. Stal, H. Rohnert, and F. Buschmann, Pattern-Oriented Software Architecture: Patterns for Concurreny and Distributed Objects, volume 2. New York, NY: Wiley & Sons, 2000.]]
[4]
F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal, Pattern-Oriented Software ArchitectureA System of Patterns. Wiley and Sons, 1996.]]
[5]
Object Management Group, The Common Object Request Broker: Architecture and Specification, 2.2 ed., February 1998.]]
[6]
Object Management Group, Telecom Domain Task Force Request for Information Supporting Wireless Access and Mobility in CORBARequest for Information, 0MG Document telecom/9806-04 ed., June 1998.]]
[7]
I. Pyarali, C. O'Ryan, D.C. Schmidt, N. Wang, V. Kachroo, and A. Gokhale, "Using Principle Patterns to Optimize Real-Time ORBs," Concurrent Magazine, vol. 8, no. 1, 2000.]]
[8]
A. Gokhale and D.C. Schmidt, "Optimizing a CORBA IIOP Protocol Engine for Minimal Footprint Multimedia Systems," Journal of Selected Areas in Communication (Special Issue on Service Enabling Platforms for Networked Multimedia Systems), vol. 17, September 1999.]]
[9]
P.S. Madukkarumukumana, H.V. Shah, and C. Pu, "Harnessing User-Level Networking Architectures for Distributed Object Computing over High-Speed Networks," in Proceedings of the 2nd Usenix Windows NT Symposium, August 1998.]]
[10]
Compaq, Intel, and Microsoft, "Virtual Interface Architecture, Version 1.0." http://www.viarch.org, 1997.]]
[11]
Object Management Group, Realtime CORBA Joint Revised Submission, 0MG Document orbos/99-02-I2 ed., March 1999.]]
[12]
F. Kon and R.H. Campbell, "Supporting Automatic Configuration of Component-Based Distributed Systems," in Procedings of the 5th Conference on Object-Oriented Technologies and Systems (San Diego, CA), USENIX, May 1999.]]
[13]
Object Management Group, The Common Object Request Broker: Architecture and Specification, 2.3 ed., June 1999.]]
[14]
B. Natarajan, A. Gokhale, D.C. Schmidt, and S. Yajnik, "DOORS: Towards High-Performance Fault-Tolerant CORBA," in Proceedings of the 2nd International Symposium on Distributed Objects and Applications (DOA 2000) (Antwerp, Belgium), 0MG, September 2000.]]
[15]
B. Nararajan, A. Gokhale, D.C. Schmidt, and S. Yajnik, "Applying Patterns to Improve the Performance of Fault-Tolerant CORBA," in Proceedings of the the International Conference on High Performance Computing (HiPC 2000) (Bangalore, India), ACM/IEEE, December 2000.]]
[16]
Object Management Group, CORBA Messaging Specification, 0MG Document orbos/98-0505 ed., May 1998.]]
[17]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley, 1995.]]
[18]
M. Lauria, S. Pakin, and A. Chien, "Efficient Layering for High Speed Communi cation: Fast Messages 2.x.," in Proceedings of the 7th High Performance Distributed Computing (HPDC7) Conference (Chicago, IL), July 1998.]]
[19]
C. O'Ryan, D.C. Schmidt, F. Kuhns, M. Spivak, J. Parsons, I. Pyarali, and D. Levine, Evaluating Policies and Mechanisms for Supporting Embedded, Real-Time Applications with CORBA 3.0," in Proceedings of the 6th IEEE Real-Time Technology and Applications Symposium (Washington, DC), IEEE, May 2000.]]
[20]
F Kuhns, D.C. Schmidt, C. O'Ryan, and D. Levine, 'Supporting High-Performance I/O in QoSEnabled ORB Middleware," Cluster Computing: The Journal on Networks, Software) and Applications, 2000.]]
[21]
S. Mungee, N. Surendran, and D.C. Schmidt, "The Design and Performance of a CORBA Audio/Video Streaming Service," in Proceedings of the Hamilton International Conference on System Science, January 1999.]]
[22]
T.H. Harrison, D.L. Levine, and D.C. Schmidt, "The Design and Performance of a Real-Time CORBA Event Service," in Proceedings of OOPSLA '97 (Atlanta, GA), ACM, October 1997.]]
[23]
Z.D. Dittia, G.M. Parulkar, and J.R. Cox, Jr., "The APIC Approach to High Performance Network Interface Design: Protected DMA and Other Techniques," in Proceedings of INFOCOM '97 (Kobe, Japan), pp. 179-187, IEEE, April 1997.]]
[24]
H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, "Rip: A Transport Protocol for Real-Time Applications," Network Information Center RFC 1889, January 1996.]]
[25]
C.D. Gill, D.L. Levine, and D.C. Schmidt, "The Design and Performance of a Real-Time CORBA Scheduling Service," The International Journal of Time-Critical Computing Systems (Special Issue on Real-Time Middleware), to appear 2001.]]
[26]
C. O'Ryan and D.C. Schmidt, "Applying a Real-Time CORBA Event Service to Large-Scale Distributed Interactive Simulation," in 5th International Workshop on Object-Oriented RealTime Dependable Systems (Monterey, CA), IEEE, November 1999.]]
[27]
B. Meyer, Object-Oriented Software Construction, second edition, Englewood Cliffs, NJ; Prentice Hall, 1997.]]
[28]
D.C. Schmidt and C. Cleeland, "Applying a Pattern Language to Develop Extensible ORB Middleware." See this volume, Chapter 18.]]
[29]
D.C. Schmidt, "Applying Design Patterns and Frameworks to Develop Object-Oriented Communication Software," in Handbook of Programming Languages (P. Salus, ed.), Macmillan Computer Publishing, 1997.]]
[30]
H. Hueni, R. Johnson, and R. Engel, "A Framework for Network Protocol Software," in Proceedings of OOPSLA '95 (Austin, TX), ACM, October 1995.]]
[31]
C. Cleeland, D.C. Schmidt, and T. Harrison, 'External PolymorphismAn Object Structural Pattern for Transparently Extending Concrete Data Types," in Pattern Languages of Program Design 3 (R. Martin, F. Buschmann, and D. Riehle, eds.), Reading, MA: Addison-Wesley, 1997.]]
[32]
D.C. Schmidt, S. Mungee, S. Flores-Gaitan, and A. Gokhale, 'Software Architectures for Reducing Priority Inversion and Non-determinism in Real-Time Object Request Brokers," Journal of Real-Time Systems (Special Issue on Real-Time Computing in the Age of the Web and the Internet), to appear 2001.]]
[33]
P.S. Inc., Quantify Users Guide. PureAtria Software Inc., 1996.]]
[34]
I. Pyarali, C. O'Ryan, and D.C. Schmidt, "A Pattern Language for Efficient, Predictable, Scalable, and Flexible Dispatching Mechanisms for Distributed Object Computing Middleware," in Proceedings of the International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC) (Newport Beach, CA), IEEE/IFIP, March 2000.]]
[35]
D.C. Schmidt, "Evaluating Architectures for Multi-Threaded CORBA Object Request Brokers," Communications of the ACM (Special Issue on CORBA), vol. 41, October 1998.]]
[36]
A.B. Arulanthu, C. O'Ryan, D.C. Schmidt, M. Kircher, and J. Parsons, "The Design and Performance 0f a Scalable ORB Architecture for CORBA Asynchronous Messaging," in Proceedings of the Middleware 2000 Conference, ACM/IFIP, April 2000.]]
[37]
N. Wang, D.C. Schmidt, K. Parameswaran, and M. Kircher, "Applying Reflective Middleware Techniques to Optimize a QoS-Enabled CORBA Component Model Implementation," in 24th Computer Software and Applications Conference (Taipei, Taiwan), IEEE, October 2000.]]
[38]
A. Gokhale and D.C. Schmidt, "Measuring the Performance of Communication Middleware on High-Speed Networks," in Proceedings of SIGCOMM '96 (Stanford, CA), pp. 306-317, ACM, August 1996.]]
[39]
N.C. Hutchinson and L.L. Peterson, "The x-kernel: An Architecture for Implementing Network Protocols," IEEE Transactions on Software Engineering, vol. 17, pp. 64-76, January 1991.]]
[40]
D. Ritchie, "A Stream Input-Output System" AT&T Bell Labs Technical Journal, vol. 63, pp. 311-324, October 1984.]]
[41]
D.C. Schmidt, D.F. Box, and T. Suda, "ADAPTIVE: A Dynamically Assembled Protocol Transformation, Integration, and eValuation Environment," Journal of Concurrency; Practice and Experience, vol. 5, pp. 269-286, June 1993.]]
[42]
M. Zitterbart, B. Stiller, and A. Tantawy, "A Model for High-Performance Commu nication Subsystems," IEEE Journal of SejectedAreas in Communication, vol. 11, pp. 507-519, May 1993.]]
[43]
I. Object-Oriented Concepts, "ORBacus." www.ooc.com/ob.]]
[44]
I. Object-Oriented Concepts, "ORBacus User ManualVersion 3.1.2." www.ooc.com/ob, 1999.]]
[45]
T.V. Eicken, A. Basu, V. Buch, and W. Vogels, "U-Net: A User-Level Network Interface for Parallel and Distributed Computing," in 15th ACM Symposium on Operating System Principles, ACM, December 1995.]]

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide books
Design patterns in communications software
August 2001
519 pages
ISBN:0521790409

Publisher

Cambridge University Press

United States

Publication History

Published: 20 August 2001

Qualifiers

  • Chapter

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media