Network-Based Distributed Systems Middleware

Middleware is a growing, multidisciplinary area that merges knowledge from diverse areas such as distributed systems, networks and, more recently, embedded systems. This paper presents the results of an extensive review of middleware related literature, and presents an overview of critical features that must be considered during middleware development. These features include: network independence, plug and play operation, quality of service provisioning, service locating and data routing, providing appropriate transactions, scheduling transactions, providing mechanisms for system recovery, and interoperability among multiple languages and middleware systems. We also present a brief overview of our own middleware system, and describe how the above features have influenced its development.

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

[2]  Rachid Guerraoui,et al.  The design of a CORBA group communication service , 1996, Proceedings 15th Symposium on Reliable Distributed Systems.

[3]  Ernö Kovacs,et al.  UMTS: a middleware architecture and mobile API approach , 1998, IEEE Wirel. Commun..

[4]  T. Fitzpatrick,et al.  Software architecture for adaptive distributive multimedia systems , 1998, IEE Proc. Softw..

[5]  Jon M. Deutsch The evolution of customer middleware requirements , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[6]  Philippe Martins,et al.  B-ISDN control plane solutions: comparison of the deployment properties of a message based versus an RPC based middleware , 1999, Seamless Interconnection for Universal Services. Global Telecommunications Conference. GLOBECOM'99. (Cat. No.99CH37042).

[7]  Ben Y. Zhao,et al.  Flexible internetworking of devices and controls , 1999, IECON'99. Conference Proceedings. 25th Annual Conference of the IEEE Industrial Electronics Society (Cat. No.99CH37029).

[8]  Lee E. Heindel,et al.  Highly reliable synchronous and asynchronous remote procedure calls , 1996, Conference Proceedings of the 1996 IEEE Fifteenth Annual International Phoenix Conference on Computers and Communications.

[9]  Ralf-Detlef Kutsche,et al.  Meta data support for evolutionary software systems , 1998, Proceedings SCCC'98. 18th International Conference of the Chilean Society of Computer Science (Cat. No.98EX212).

[10]  Ben Y. Zhao,et al.  An architecture for a secure service discovery service , 1999, MobiCom.

[11]  S. McCanne,et al.  Toward a common infrastructure for multimedia-networking middleware , 1997, International Workshop on Network and Operating System Support for Digital Audio and Video.

[12]  A. Vogel,et al.  Achieving interoperability between CORBA and DCE applications using bridges , 1996 .

[13]  Burkhard Stiller,et al.  The design of an application programming interface for QoS-based multimedia middleware , 1997, Proceedings of 22nd Annual Conference on Local Computer Networks.

[14]  F. Hebbel Distributed object oriented systems , 1996, Professional Program Proceedings. ELECTRO '96.

[15]  T. Kikuchi A middleware for improving utilization of wireless data telecommunication and its efficiency , 1999, 1999 Digest of Technical Papers. International Conference on Consumer Electronics (Cat. No.99CH36277).

[16]  Stephen S. Yau,et al.  Autonomous decentralized system with event service for information services , 1999, Proceedings. Fourth International Symposium on Autonomous Decentralized Systems. - Integration of Heterogeneous Systems -.

[17]  T. M. Chester Cross-platform integration with XML and SOAP , 2001 .

[18]  Jennifer C. Hou,et al.  Communication middleware and software for QoS control in distributed real-time environments , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[19]  Wendi Heinzelman,et al.  MiLAN: Middleware Linking Applications and Networks , 2002 .

[20]  Panagiotis Demestichas,et al.  Cost effective deployment of service logic in future distributed processing environments , 2000, 2000 10th Mediterranean Electrotechnical Conference. Information Technology and Electrotechnology for the Mediterranean Countries. Proceedings. MeleCon 2000 (Cat. No.00CH37099).

[21]  Erik Guttman,et al.  Service Location Protocol: Automatic Discovery of IP Network Services , 1999, IEEE Internet Comput..

[22]  C SchmidtDouglas,et al.  Measuring and Optimizing CORBA Latency and Scalability Over High-Speed Networks , 1998 .

[23]  Cecilia Mascolo,et al.  Towards a mobile computing middleware: Synergy of reflection and mobile code techniques , 2001, Proceedings Eighth IEEE Workshop on Future Trends of Distributed Computing Systems. FTDCS 2001.

[24]  Jens Meggers,et al.  A multimedia communication architecture for handheld devices , 1998, Ninth IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (Cat. No.98TH8361).

[25]  Barry M. Leiner,et al.  Goals and challenges of the DARPA GloMo program [global mobile information systems] , 1996, IEEE Wirel. Commun..

[26]  Hiromitsu Shimakawa,et al.  Real-time middleware based on the rate-monotonic theory , 1994, Proceedings of 2nd IEEE Workshop on Real-Time Applications.

[27]  Michel Raynal,et al.  Asynchronous protocols to meet real-time constraints: is it really sensible? How to proceed? , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[28]  J. A. Rader Mechanisms for integration and enhancement of software components , 1997, Proceedings Fifth International Symposium on Assessment of Software Tools and Technologies.

[29]  A. J. Tunnicliffe,et al.  Agent-oriented middleware for telecommunications network and service management , 1997 .

[30]  Gordon S. Blair,et al.  A Software Architecture for Adaptive Distributed Multimedia Systems , 1998 .

[31]  Thomas Magedanz,et al.  Impacts of mobile agent technology on mobile communication system evolution , 1998, IEEE Wirel. Commun..

[32]  William E. Johnston,et al.  QoS as middleware: bandwidth reservation system design , 1999, Proceedings. The Eighth International Symposium on High Performance Distributed Computing (Cat. No.99TH8469).

[33]  K. H. Kim,et al.  An approach for adaptive fault-tolerance in object-oriented open distributed systems , 1997, Proceedings Third International Workshop on Object-Oriented Real-Time Dependable Systems.

[34]  Douglas C. Schmidt,et al.  Middleware scheduling optimization techniques for distributed real-time and embedded systems , 2002, Proceedings of the Seventh IEEE International Workshop on Object-Oriented Real-Time Dependable Systems. (WORDS 2002).

[35]  Thomas Phan,et al.  Handoff of application sessions across time and space , 2001, ICC 2001. IEEE International Conference on Communications. Conference Record (Cat. No.01CH37240).

[36]  Andreas Rausch,et al.  Casting an abstract design into the framework of Java RMI , 1998, Proceedings. 1998 International Conference Software Engineering: Education and Practice (Cat. No.98EX220).

[37]  E. J. Wells LAN/WAN integration: internetworking+application interoperability , 1994, Proceedings of MILCOM '94.

[38]  Chia Shen,et al.  Middleware for distributed industrial real-time systems on ATM networks , 1996, 17th IEEE Real-Time Systems Symposium.

[39]  Kevin Curran,et al.  Reliable remote isochronous applications over the Internet , 1998, SMC'98 Conference Proceedings. 1998 IEEE International Conference on Systems, Man, and Cybernetics (Cat. No.98CH36218).

[40]  Douglas C. Schmidt,et al.  Operating system support for high-performance, real-time CORBA , 1996, Proceedings of the Fifth International Workshop on Object-Orientation in Operation Systems.

[41]  Alexander Schill,et al.  Distributed platforms : proceedings of the IFIP/IEEE International Conference on Distributed Platforms : client/server and beyond : DCE, CORBA, ODP and advanced distributed applications , 1996 .

[42]  Mary B. Prescott,et al.  Overcoming barriers to distributed interorganizational systems , 1997, Proceedings of the Thirtieth Hawaii International Conference on System Sciences.

[43]  Tobin J. Lehman,et al.  T Spaces : The Next Wave , 2004 .

[44]  Alexander Keller,et al.  Dynamic management of Internet telephony servers: a case study based on JavaBeans and JDMK , 1999, Proceedings Third International Enterprise Distributed Object Computing. Conference (Cat. No.99EX366).

[45]  Paul W. P. J. Grefen,et al.  Semantics and architecture of global transaction support in workflow environments , 1999, Proceedings Fourth IFCIS International Conference on Cooperative Information Systems. CoopIS 99 (Cat. No.PR00384).

[46]  Miro. Benda Architecture Perspective: Middleware: Any Client, Any Server , 1997, IEEE Internet Comput..

[47]  Aniruddha S. Gokhale,et al.  Measuring and Optimizing CORBA Latency and Scalability Over High-Speed Networks , 1998, IEEE Trans. Computers.

[48]  Farhad Arbab,et al.  Modelling electronic commerce activities using control-driven coordination , 1998, Proceedings Ninth International Workshop on Database and Expert Systems Applications (Cat. No.98EX130).

[49]  P. Ciancarini,et al.  Coordination technology for the WWW , 1996, Proceedings of WET ICE '96. IEEE 5th Workshop on Enabling Technologies; Infrastucture for Collaborative Enterprises.

[50]  Peter Becker,et al.  Interfacing online bibliographic databases with Z39.50 , 1997, Proceedings of the 1997 International Database Engineering and Applications Symposium (Cat. No.97TB100166).

[51]  Jozsef Vass,et al.  Scalable, error-resilient, and high-performance video communications in mobile wireless environments , 2001, IEEE Trans. Circuits Syst. Video Technol..

[52]  Myong H. Kang,et al.  Towards an infrastructure for MLS distributed computing , 1998, Proceedings 14th Annual Computer Security Applications Conference (Cat. No.98EX217).

[53]  Michael R. Genesereth,et al.  The Conceptual Basis for Mediation Services , 1997, IEEE Expert.

[54]  Aniruddha S. Gokhale,et al.  Techniques for optimizing CORBA middleware for distributed embedded systems , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[55]  Guoliang Chen,et al.  A Java/CORBA based universal framework for super server user-end integrated environments , 1999, Proceedings Technology of Object-Oriented Languages and Systems (Cat. No.PR00393).

[56]  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).

[57]  V. Trecordi,et al.  Convergence of telecommunications and computing to networking models for integrated services and applications , 1997, Proc. IEEE.

[58]  Keiichi Koyanagi,et al.  Technology initiatives for the near future in internetworking , 1997 .

[59]  John A. Zinky,et al.  QoS issues for wide-area CORBA-based object systems , 1996, Proceedings of WORDS'96. The Second Workshop on Object-Oriented Real-Time Dependable Systems.

[60]  西村 欣剛,et al.  The 25th Annual Conference Of The IEEE Industrial Electronics Society , 2000, IECON'99. Conference Proceedings. 25th Annual Conference of the IEEE Industrial Electronics Society (Cat. No.99CH37029).

[61]  Vasile Dadarlat,et al.  A middleware based approach for designing routing protocols , 2002, IEEE CCECE2002. Canadian Conference on Electrical and Computer Engineering. Conference Proceedings (Cat. No.02CH37373).

[62]  Douglas C. Schmidt,et al.  Middleware for Distributed Systems Evolving the Common Structure for Network-centric Applications , 2001 .

[63]  Radu Popescu-Zeletin,et al.  A modular location-aware service and application platform , 1999, Proceedings IEEE International Symposium on Computers and Communications (Cat. No.PR00250).

[64]  Geoffrey C. Fox,et al.  Computational grids , 2001, Comput. Sci. Eng..

[65]  Charles E. Perkins Service Location Protocol for mobile users , 1998, Ninth IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (Cat. No.98TH8361).

[66]  Peter Schoo,et al.  Developing Distributed Multimedia Telecommunication Applications , 1996, IEEE Multim..

[67]  Margus Veanes,et al.  Universal Plug and Play Machine Models , 2002, DIPES.

[68]  Ted G. Lewis Will tiny beans conquer the world again? [Java language] , 1996 .

[69]  Walter Schwarz,et al.  Markup meets middleware , 1999, Proceedings 7th IEEE Workshop on Future Trends of Distributed Computing Systems.

[70]  L. Kellogg,et al.  Interface management: a CORBA universal service manager , 1998, Proceedings of the IEEE Third International Workshop on Systems Management.

[71]  Amy L. Murphy,et al.  LIME: Linda meets mobility , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[72]  Veena B. Mendiratta Reliability analysis of clustered computing systems , 1998, Proceedings Ninth International Symposium on Software Reliability Engineering (Cat. No.98TB100257).

[73]  Nomusa Dlodlo,et al.  Separating application functionality from the user interface in a distributed environment , 1996, Proceedings of EUROMICRO 96. 22nd Euromicro Conference. Beyond 2000: Hardware and Software Design Strategies.

[74]  Amy L. Murphy,et al.  LIME: a middleware for physical and logical mobility , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[75]  Z.J. Haas Location-independent access in mobile systems , 1996, Proceedings of ICC/SUPERCOMM '96 - International Conference on Communications.

[76]  John A. Zinky,et al.  Specifying and measuring quality of service in distributed object systems , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[77]  Cecilia Mascolo,et al.  An XML-based middleware for peer-to-peer computing , 2001, Proceedings First International Conference on Peer-to-Peer Computing.

[78]  Douglas C. Schmidt,et al.  Middleware techniques and optimizations for real-time, embedded systems , 1999, Proceedings 12th International Symposium on System Synthesis.

[79]  Hiroshi Maruyama,et al.  InfoBus repeater: a secure and distributed publish/subscribe middleware , 1999, Proceedings of the 1999 ICPP Workshops on Collaboration and Mobile Computing (CMC'99). Group Communications (IWGC). Internet '99 (IWI'99). Industrial Applications on Network Computing (INDAP). Multime.

[80]  K. H. Kim,et al.  Dynamic Configuration Management in Reliable Distributed Real-Time Information Systems , 1999, IEEE Trans. Knowl. Data Eng..

[81]  Richard Foley,et al.  A multi-agent framework for distributed collaborative design , 1998, Proceedings Seventh IEEE International Workshop on Enabling Technologies: Infrastucture for Collaborative Enterprises (WET ICE '98) (Cat. No.98TB100253).

[82]  Klara Nahrstedt,et al.  QoS-aware middleware for ubiquitous and heterogeneous environments , 2001, IEEE Commun. Mag..

[83]  K.-P. Eckert,et al.  Engineering frameworks: a prerequisite for the design and implementation of distributed enterprise objects , 1997, Proceedings First International Enterprise Distributed Object Computing Workshop.

[84]  Tai-Yun Kim,et al.  Design of MOBILE MOM: Message oriented middleware service for mobile computing , 1999, Proceedings of the 1999 ICPP Workshops on Collaboration and Mobile Computing (CMC'99). Group Communications (IWGC). Internet '99 (IWI'99). Industrial Applications on Network Computing (INDAP). Multime.

[85]  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.

[86]  A. Weinrib,et al.  The need for a software infrastructure to support community networking applications , 1994, Proceedings of lst IEEE International Workshop on Community Networking.

[87]  Athman Bouguettaya,et al.  Using Java and CORBA for implementing Internet databases , 1999, Proceedings 15th International Conference on Data Engineering (Cat. No.99CB36337).

[88]  R. Kordale,et al.  Middleware support for scalable services , 1997, 1997 Fourth International Workshop on Community Networking Processing.

[89]  WiederholdGio,et al.  The Conceptual Basis for Mediation Services , 1997 .

[90]  Andry Rakotonirainy,et al.  Describing open distributed systems: a foundation , 1997, Proceedings of the Thirtieth Hawaii International Conference on System Sciences.

[91]  Atiq Ahamad,et al.  Agent-based architecture for exchanging data between legacy applications , 1998, SMC'98 Conference Proceedings. 1998 IEEE International Conference on Systems, Man, and Cybernetics (Cat. No.98CH36218).

[92]  Aura Ganz,et al.  An Application of Statistical Search Theory to Location Management in Wireless Networks , 1996 .

[93]  Long Yan,et al.  JAM: high performance Internet computing with massive Java applets , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems. Workshops on Electronic Commerce and Web-based Applications. Middleware.

[94]  Karsten Schwan,et al.  Exploiting Temporal and Spatial Constraints on Distributed Shared Objects , 1997, ICDCS.

[95]  Andrew S. Tanenbaum,et al.  From remote objects to physically distributed objects , 1999, Proceedings 7th IEEE Workshop on Future Trends of Distributed Computing Systems.

[96]  Licia Capra Mobile computing middleware for context-aware applications , 2002, ICSE '02.

[97]  J. V. Pitt A World Wide Web interface to agent-based negotiation , 1996 .

[98]  R. L. Martin The future of wireless applications , 1995, Proceedings of 1995 IEEE MTT-S International Topical Symposium on Technologies for Wireless Applications (Conjunction with INTER COMM'95).

[99]  K. H. Kim,et al.  QoS-driven resource management in real-time object based distributed computing systems , 2001, Proceedings Eighth IEEE Workshop on Future Trends of Distributed Computing Systems. FTDCS 2001.

[100]  Matti A. Hiltunen Configuration management for highly-customizable services , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[101]  Andy Hopper,et al.  The Anatomy of a Context-Aware Application , 1999, Wirel. Networks.

[102]  Evaggelia Pitoura,et al.  Mobile agent procedures: metacomputing in Java , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems. Workshops on Electronic Commerce and Web-based Applications. Middleware.

[103]  Georges Gardarin,et al.  A workbench for predicting the performances of distributed object architectures , 1998, 1998 Winter Simulation Conference. Proceedings (Cat. No.98CH36274).

[104]  Andrew T. Campbell,et al.  Supporting programmable handoff in mobile networks , 1999, 1999 IEEE International Workshop on Mobile Multimedia Communications (MoMuC'99) (Cat. No.99EX384).