Middleware 2000

This paper discusses the implementation of CASCADE, a distributed caching service for CORBA objects. Our caching service is fully CORBA compliant, and supports caching of active objects, which include both data and code. It is specifically designed to operate over the Internet by employing a dynamically built cache hierarchy. The service architecture is highly configurable with regard to a broad spectrum of application parameters. The main benefits of CASCADE are enhanced availability and service predictability, as well as easy dynamic code deployment and consistency maintenance.

[1]  Frank Eliassen,et al.  Supporting Interoperation of Continuous Media Objects , 1996, Theory Pract. Object Syst..

[2]  Franz J. Hauck,et al.  AspectIX An Aspect-Oriented and CORBACompliant ORB Architecture , 1998 .

[3]  Gordon S. Blair,et al.  The role of reflection in supporting dynamic QoS management functions , 1999, 1999 Seventh International Workshop on Quality of Service. IWQoS'99. (Cat. No.98EX354).

[4]  Guido Moerkotte,et al.  Object-Oriented Database Management: Applications in Engineering and Computer Science , 1994 .

[5]  John A. Zinky,et al.  QoS Aspect Languages and Their Runtime Integration , 1998, LCR.

[6]  Daniel R. Edelson Smart Pointers: They're Smart, But They're Not Pointers , 1992, C++ Conference.

[7]  Rainer Koster,et al.  A Service-Centred Approach to QoS-Supporting Middleware , 1998 .

[8]  David R. Cheriton,et al.  Understanding the limitations of causally and totally ordered communication , 1994, SOSP '93.

[9]  Peter F. Linington,et al.  RIVUS: A Stream Template Language for Capturing Multimedia Requirements , 1995, COST 237 Workshop.

[10]  Y. Wang,et al.  GRMS: a global resource management system for distributed QoS and criticality support , 1997, Proceedings of IEEE International Conference on Multimedia Computing and Systems.

[11]  Rainer Koster Design of a Real-Time Communication Service for Local Area Networks , 1998 .

[12]  Ralph Johnson,et al.  Design patterns: elements of reuseable object-oriented software , 1994 .

[13]  Prashant Jain,et al.  Service Configurator: A Pattern for Dynamic Configuration of Services , 1997, COOTS.

[14]  Shivakant Mishra,et al.  Consul: a communication substrate for fault-tolerant distributed programs , 1993, Distributed Syst. Eng..

[15]  Douglas C. Schmidt,et al.  Optimizing a corba iiop protocol engine for minimal footprint multimedia systems , 1998 .

[16]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..

[17]  Kenneth P. Birman,et al.  The process group approach to reliable distributed computing , 1992, CACM.

[18]  Valérie Issarny,et al.  Aster: a framework for sound customization of distributed runtime systems , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[19]  M. Roman,et al.  Design and implementation of runtime reflection in communication middleware: the dynamicTAO case , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems. Workshops on Electronic Commerce and Web-based Applications. Middleware.

[20]  Douglas C. Schmidt,et al.  The design and performance of a CORBA audio/video streaming service , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[21]  Mahadev Satyanarayanan,et al.  Agile application-aware adaptation for mobility , 1997, SOSP.

[22]  Frank Leymann,et al.  Production Workflow: Concepts and Techniques , 1999 .

[23]  Henning Schulzrinne,et al.  RTP: A Transport Protocol for Real-Time Applications , 1996, RFC.

[24]  Gordon S. Blair,et al.  Supporting the Real-Time Requirements of Continuous Media in Open Distributed Processing , 1995, Comput. Networks ISDN Syst..

[25]  Lars C. Wolf,et al.  HeiRAT - Quality-of-service management for distributed multimedia systems , 1998, Multimedia Systems.

[26]  Arthur M. Keller,et al.  Persistence software: bridging object-oriented programming and relational databases , 1993, SIGMOD '93.

[27]  Douglas C. Schmidt,et al.  Thread-Specific Storage for C/C++ An Object Behavioral Pattern for Accessing per-Thread State Efficiently , 1998 .

[28]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[29]  Eric Eide,et al.  Flick: a flexible, optimizing IDL compiler , 1997, PLDI '97.

[30]  Frank Eliassen A conformance relationship for stream interfaces , 1997 .

[31]  Mihaela Cardei,et al.  Hierarchical feedback adaptation for real time sensor-based distributed applications , 2000, Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607).

[32]  Valérie Issarny,et al.  Dealing with Multi-policy Security in Large Open Distributed Systems , 1998, ESORICS.

[33]  Rafael Alonso,et al.  Broadcast Disks: Data Management for Asymmetric Communication Environments , 1994, Mobidata.

[34]  Santosh K. Shrivastava,et al.  Implementing support for work activity coordination within a distributed workflow system , 1999, Proceedings Third International Enterprise Distributed Object Computing. Conference (Cat. No.99EX366).

[35]  Akinori Yonezawa,et al.  Reflection in an object-oriented concurrent language , 1988, OOPSLA '88.

[36]  Roy H. Campbell,et al.  Quarterware for middleware , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[37]  James L. Mohler,et al.  Windows NT Clustering Blueprints , 1997 .

[38]  Mario Tokoro,et al.  Al-1/d: a distributed programming system with multi-model reflection framework , 1992 .

[39]  Peter Steenkiste,et al.  Darwin: customizable resource management for value-added network services , 1998, Proceedings Sixth International Conference on Network Protocols (Cat. No.98TB100256).

[40]  Douglas C. Schmidt,et al.  ASX: An Object-Oriented Framework for Developing Distributed Applications , 1994, C++ Conference.

[41]  Ellen W. Zegura,et al.  How to model an internetwork , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.

[42]  Richard N. Taylor,et al.  A framework for classifying and comparing architecture description languages , 1997, ESEC '97/FSE-5.

[43]  David E. Culler,et al.  Using smart clients to build scalable services , 1997 .

[44]  Markus Endler,et al.  Programming generic dynamic reconfigurations for distributed applications , 1992, CDS.

[45]  Robert H. Halstead,et al.  Mul-T: a high-performance parallel Lisp , 1989, PLDI '89.

[46]  Geoff Coulson,et al.  A Configurable Multimedia Middleware Platform , 1999, IEEE Multim..

[47]  Prashant Jain,et al.  Dynamically Configuring Communication Services with the Service Configurator Pattern , 1998 .

[48]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[49]  Arvola Chan Transactional publish/subscribe: the proactive multicast of database changes (abstract) , 1998, SIGMOD '98.

[50]  Douglas C. Schmidt,et al.  The design and performance of a real-time CORBA event service , 1997, OOPSLA '97.

[51]  Martina Zitterbart,et al.  A Model for Flexible High-Performance Communication Subsystems , 1993, IEEE J. Sel. Areas Commun..

[52]  Douglas C. Schmidt,et al.  Applying C++, Patterns, and Components to Develop an IDL Compiler for CORBA AMI Callbacks , 1999 .

[53]  Naranker Dulay,et al.  Structuring parallel and distributed programs , 1993, Softw. Eng. J..

[54]  Andrew T. Campbell,et al.  A quality of service architecture , 1994, CCRV.

[55]  Douglas C. Schmidt,et al.  Applying Patterns to Develop Extensible and Maintainable ORB Middleware , 1998 .

[56]  Jean-Bernard Stefani,et al.  Jonathan: an open distributed processing environment in Java , 1999, Distributed Syst. Eng..

[57]  Daniel P. Siewiorek,et al.  A resource allocation model for QoS management , 1997, Proceedings Real-Time Systems Symposium.

[58]  Dennis M. Ritchie,et al.  A stream input-output system , 1990 .

[59]  Douglas C. Schmidt,et al.  Reactor: an object behavioral pattern for concurrent event demultiplexing and event handler dispatching , 1995 .

[60]  Philip A. Bernstein,et al.  Principles of Transaction Processing , 1996 .

[61]  Dan Harkey,et al.  Client/Server programming with Java and Corba , 1997 .

[62]  Jean Bacon,et al.  COBEA: A CORBA-Based Event Architecture , 1998, COOTS.

[63]  Carlos O'Ryan,et al.  The Design and Performance of a Pluggable Protocols Framework for Real-Time Distributed Object Computing Middleware , 2000, Middleware.

[64]  V. Jacobson,et al.  Adaptive Web Caching , 1997 .

[65]  John A. Zinky,et al.  Architectural Support for Quality of Service for CORBA Objects , 1997, Theory Pract. Object Syst..

[66]  James G. Mitchell,et al.  Subcontract: a flexible base for distributed programming , 1994, SOSP '93.

[67]  Morris Sloman,et al.  GEM: a generalized event monitoring language for distributed systems , 1997, Distributed Syst. Eng..

[68]  Jean-Charles Fabre,et al.  Using Compile-Time Reflection for Objects'State Capture , 1999, Reflection.

[69]  Rachid Guerraoui,et al.  Nesting Actions through Asynchronous Message Passing: the ACS Protocol , 1992, ECOOP.

[70]  Maximilian Ott,et al.  Structuring remote object systems for mobile hosts with intermittent connectivity , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[71]  Calton Pu,et al.  Harnessing user-level networking architectures for distributed object computing over high-speed networks , 1998 .

[72]  Andrew S. Tanenbaum,et al.  Globe: a wide area distributed system , 1999, IEEE Concurr..

[73]  Stanley B. Zdonik,et al.  “Data in your face”: push technology in perspective , 1998, SIGMOD '98.

[74]  Klara Nahrstedt,et al.  The QOS Broker , 1995, IEEE Multim..

[75]  Frank Eliassen,et al.  Adaptive QoS aware binding of persistent multimedia objects , 1999, Proceedings of the International Symposium on Distributed Objects and Applications.

[76]  Larry L. Peterson,et al.  The x-Kernel: An Architecture for Implementing Network Protocols , 1991, IEEE Trans. Software Eng..

[77]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[78]  Gordon S. Blair,et al.  The Design of a Resource-Aware Reflective Middleware Architecture , 1999, Reflection.

[79]  Sudhakar Yalamanchili,et al.  Adaptive resource allocation for embedded parallel applications , 1996, Proceedings of 3rd International Conference on High Performance Computing (HiPC).

[80]  Fabio Kon,et al.  Supporting Automatic Configuration of Component-Based Distributed Systems , 1999, COOTS.

[81]  Jim Gray,et al.  A critique of ANSI SQL isolation levels , 1995, SIGMOD '95.

[82]  Umeshwar Dayal,et al.  Rules Are Objects Too: A Knowledge Model For An Active, Object-Oriented Database System , 1988, OODBS.

[83]  Klara Nahrstedt,et al.  Dynamic reconfiguration for complex multimedia applications , 1999, Proceedings IEEE International Conference on Multimedia Computing and Systems.

[84]  Thomas Plagemann A Framework for Dynamic Protocol Configuration , 1999, Eur. Trans. Telecommun..

[85]  J. J. Garcia-Luna-Aceves,et al.  Improving Internet multicast with routing labels , 1997, Proceedings 1997 International Conference on Network Protocols.

[86]  Richard Monson-Haefel,et al.  Enterprise JavaBeans , 1999, Java series.

[87]  Douglas C. Schmidt,et al.  ADAPTIVE: A dynamically assembled protocol transformation, integration and evaluation environment , 1993, Concurr. Pract. Exp..

[88]  Esther Pacitti,et al.  Maintaining Replica Consistency in Lazy Master Replicated Databases , 1999, Proc. 15èmes Journées Bases de Données Avancées, BDA.

[89]  Karsten Schwan,et al.  FARA-a framework for adaptive resource allocation in complex real-time systems , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).

[90]  Brian Cantwell Smith,et al.  Procedural reflection in programming languages , 1982 .

[91]  Svend Frølund,et al.  Quality-of-service specification in distributed object systems , 1998, Distributed Syst. Eng..

[92]  Gordon S. Blair,et al.  Experiments with Reflective Middleware , 1998, ECOOP Workshops.

[93]  Burkhard Stiller,et al.  A flexible middleware for multimedia communication: design, implementation, and experience , 1999, IEEE J. Sel. Areas Commun..

[94]  Gordon S. Blair,et al.  Adaptive middleware for mobile multimedia applications , 1997, Proceedings of 7th International Workshop on Network and Operating System Support for Digital Audio and Video (NOSSDAV '97).

[95]  Robert H. Halstead,et al.  MULTILISP: a language for concurrent symbolic computation , 1985, TOPL.

[96]  Jim Waldo,et al.  The Jini architecture for network-centric computing , 1999, CACM.

[97]  Gordon S. Blair,et al.  Supporting adaptive multimedia applications through open bindings , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[98]  Scott Pakin,et al.  Efficient layering for high speed communication: Fast Messages 2.x , 1998, Proceedings. The Seventh International Symposium on High Performance Distributed Computing (Cat. No.98TB100244).

[99]  Liuba Shrira,et al.  Promises: linguistic support for efficient asynchronous procedure calls in distributed systems , 1988, PLDI '88.

[100]  Daniel G. Bobrow,et al.  The art of the Metaobject Protocol , 1991, IEEE Expert.

[101]  Douglas C. Schmidt,et al.  The design of the TAO real-time object request broker , 1998, Comput. Commun..

[102]  Chung Lee,et al.  Asynchonrous Notifications Among Distributed Objects , 1996, COOTS.

[103]  Douglas C. Schmidt,et al.  The Design and Performance of a Pluggable Protocols Framework for Object Request Broker Middleware , 1999 .

[104]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[105]  Douglas C. Schmidt,et al.  Applying patterns to develop extensible ORB middleware , 1999, IEEE Commun. Mag..

[106]  Lawrence A. Rowe,et al.  A Continuous Media Player , 1992, NOSSDAV.

[107]  Wei Zhao,et al.  Design and Implementation of NetEx: A Toolkit for Delay Guaranteed Communications , 1997 .

[108]  Pradeep Varma Compile-time analyses and run-time support for a higher order, distributed data-structures based, parallel language , 1996 .

[109]  Calton Pu,et al.  A Distributed Real-Time MPEG Video Audio Player , 1995, NOSSDAV.

[110]  Ralph Johnson,et al.  A framework for network protocol software , 1995, OOPSLA.

[111]  Karsten Schwan,et al.  On adaptive resource allocation for complex real-time applications , 1997, Proceedings Real-Time Systems Symposium.

[112]  Geoff Coulson,et al.  The Design of a Flexible Communications Framework for Next-Generation Middleware , 2000, DOA.

[113]  Douglas C. Schmidt,et al.  An object-oriented framework for dynamically configuring extensible distributed systems , 1994, Distributed Syst. Eng..

[114]  Aniruddha S. Gokhale,et al.  Principles for optimizing CORBA Internet Inter-ORB Protocol performance , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[115]  Kevin Wilkinson,et al.  Maintaining Consistency of Client-Cached Data , 1990, VLDB.

[116]  J. McAffer,et al.  Meta-level architecture support for distributed objects , 1995, Proceedings of International Workshop on Object Orientation in Operating Systems.

[117]  Songwu Lu,et al.  The TIMELY adaptive resource management architecture , 1998, IEEE Wirel. Commun..

[118]  Alejandro P. Buchmann,et al.  Rules in an Open System: The REACH Rule System , 1993, Rules in Database Systems.

[119]  Douglas C. Schmidt,et al.  The design and performance of a real-time I/O subsystem , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[120]  Aniruddha S. Gokhale,et al.  Measuring the Performance of Communication Middleware on High-Speed Networks , 1996, SIGCOMM.

[121]  William J. Premerlani,et al.  Converting OO models into RDBMS schema , 1994, IEEE Software.

[122]  Andrew S. Tanenbaum,et al.  A scalable middleware solution for advanced wide-area Web services , 1999, Distributed Syst. Eng..

[123]  David Jordan,et al.  The Object Database Standard: ODMG 2.0 , 1997 .

[124]  Jeannette M. Wing,et al.  Signature matching: a tool for using software libraries , 1995, TSEM.

[125]  Valérie Issarny,et al.  Developing Dependable Systems Using Software Architecture , 1999, WICSA.

[126]  Miron Livny,et al.  Data caching tradeoffs in client-server DBMS architectures , 1991, SIGMOD '91.

[127]  Douglas C. Schmidt,et al.  Acceptor and Connector Design Patterns for Initializing Communication Services , 1997 .

[128]  Songwu Lu,et al.  Adaptive Service in Mobile Computing Environments , 1997 .

[129]  Joseph D. Touch,et al.  LSAM Proxy Cache: A Multicast Distributed Virtual Cache , 1998, Comput. Networks.

[130]  James M. Purtilo,et al.  Dynamic reconfiguration in distributed systems: adapting software modules for replacement , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[131]  David R. Cheriton,et al.  Scalable Web Caching of Frequently Updated Objects Using Reliable Multicast , 1999, USENIX Symposium on Internet Technologies and Systems.

[132]  Dale Skeen,et al.  The Information Bus: an architecture for extensible distributed systems , 1994, SOSP '93.

[133]  Harry Harris,et al.  Messaging and queuing using the MQI : concepts & analysis, design & development , 1995 .

[134]  Rainer Koster,et al.  Flexible event-based threading for QoS-supporting middleware , 1999, DAIS.

[135]  Abdelhakim Hafid,et al.  Towards automatic trading of QoS parameters in multimedia distributed applications , 1997 .

[136]  Mesaac Makpangou,et al.  Fragmented Objects for Distributed Abstractions , 1994 .