A Coordination Approach for Self-Managed Middleware

A Coordination Approach for Self-Managed Middleware Edward Curry Department of Information Technology National University of Ireland, Galway A thesis submitted for the degree of Doctor of Philosophy March 2006 This dissertation investigates the evolution of coordination techniques between self-managed systems within the problem domain of Message-Oriented Middleware (MOM). The basic goal of autonomic computing is to simplify and automate the management of computing systems, both hardware and software, allowing them to self-manage, without the need for human intervention. Within the software domain, self-management techniques have been utilised to empower a system to automatically self-alter (adapt) to meet their environmental and user needs. Current self-managed middleware platforms service their environment in an isolated and introverted manner. As they progress towards autonomic middleware, one of the most interesting research challenges facing self-managed middleware platforms is their lack of cooperation and coordination to achieve mutually beneficial outcomes. The primary hypothesis of this work is that within dynamic operating environments, coordinated interaction between self-managed systems can improve the ability of the individual and collective systems to fulfil performance and autonomy requirements of the environment. Coordination between next-generation middleware systems will be a vital mechanism needed to meet the challenges within future computing environments. As a step toward this goal, this thesis investigates the benefits of coordination between self-manages middleware platforms. This work explores coordination within the realm of Message-Oriented Middleware (MOM). MOM is an ideal candidate for the study of cooperation as it is an interaction-oriented middleware. In addition, self-management techniques have yet to be applied within the MOM domain, providing an opportunity to investigate their application within this domain. The main findings of this research are as follows. The coordination of self-managed systems can improve the ability of the individual and collective systems to fulfil performance and autonomy requirements of the environment. Secondly, the introduction of self-management techniques within MOM systems increases their performance within dynamic operating environments.

[1]  Edward Curry Introducing Reflective Techniques to Message Hierarchies , 2003 .

[2]  Paddy Nixon,et al.  Towards a Middleware for Generalised Context Management , 2003, Middleware Workshops.

[3]  Mira Mezini,et al.  Engineering Event-Based Systems with Scopes , 2002, ECOOP.

[4]  Piyush Maheshwari,et al.  Benchmarking message‐oriented middleware: TIB/RV versus SonicMQ , 2005, Concurr. Pract. Exp..

[5]  李幼升,et al.  Ph , 1989 .

[6]  John A. Zinky,et al.  Using QDL to specify QoS aware distributed (QuO) application configuration , 2000, Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607).

[7]  Peter Pietzuch Hermes: A scalable event-based middleware , 2004 .

[8]  Agostino Poggi,et al.  Jade - a fipa-compliant agent framework , 1999 .

[9]  K. Geihs,et al.  Middleware Challenges Ahead , 2001, Computer.

[10]  John J. Marciniak,et al.  Encyclopedia of Software Engineering , 1994, Encyclopedia of Software Engineering.

[11]  Felix C. Freiling,et al.  Supporting Mobility in Content-Based Publish/Subscribe Middleware , 2003, Middleware.

[12]  Mehmet Aksit,et al.  Aspects and Crosscutting in Layered Middleware Systems , 2000 .

[13]  Samuel Webb Williams,et al.  The Component Object Model: A Technical Overview , 1994 .

[14]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[15]  Fabio Kon,et al.  Monitoring, Security, and Dynamic Configuration with the dynamicTAO Reflective ORB , 2000, Middleware.

[16]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[17]  Capers Jones,et al.  Why software fails , 1996 .

[18]  Stefano Modafferi,et al.  Reflective Architectures for Adaptive Information Systems , 2003, ICSOC.

[19]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[20]  Jim Dowling,et al.  Using Reflection to Support Dynamic Adaptation of System Software: A Case Study Driven Evaluation , 1999, Reflection and Software Engineering.

[21]  Frederick P. Brooks,et al.  The Mythical Man-Month: Essays on Softw , 1978 .

[22]  James E. White A high-level framework for network-based resource sharing , 1976, AFIPS '76.

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

[24]  Edward Curry,et al.  Reflective Channel Hierarchies , 2003, Middleware Workshops.

[25]  Gordon S. Blair,et al.  On the performance of reflective systems software , 2004, IEEE International Conference on Performance, Computing, and Communications, 2004.

[26]  Rachid Guerraoui,et al.  Implementation of the GARF replicated objects platform , 1995, Distributed Syst. Eng..

[27]  Steve Vinoski A Time for Reflection , 2005, IEEE Internet Comput..

[28]  Mads Haahr,et al.  Filtering and scalability in the ECO distributed event model , 2000, 2000 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems.

[29]  Michael A. Jaeger Self-organizing publish/subscribe , 2005, DSM '05.

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

[31]  David S. Rosenblum,et al.  Design and evaluation of a wide-area event notification service , 2001, TOCS.

[32]  Andrew Birrell,et al.  Implementing Remote procedure calls , 1983, SOSP '83.

[33]  Roy Fielding,et al.  Architectural Styles and the Design of Network-based Software Architectures"; Doctoral dissertation , 2000 .

[34]  Gordon S. Blair,et al.  A Resource Adaptation Framework For Reflective Middleware , 2003, Middleware Workshops.

[35]  Gordon S. Blair,et al.  The Design and Implementation of Open ORB 2 , 2001, IEEE Distributed Syst. Online.

[36]  Gero Mühl,et al.  Generic Constraints for {Content-Based} Publish/Subscribe Systems , 2001 .

[37]  Alejandro P. Buchmann,et al.  Filter Similarities in Content-Based Publish/Subscribe Systems , 2002, ARCS.

[38]  Edward Curry,et al.  ARMAdA: creating a reflective fellowship (options for interoperability) , 2004, ARM '04.

[39]  Shigeru Chiba,et al.  A metaobject protocol for C++ , 1995, OOPSLA.

[40]  Gordon S. Blair,et al.  The case for reflective middleware , 2002, CACM.

[41]  Peter R. Pietzuch,et al.  Congestion Control in a Reliable Scalable Message-Oriented Middleware , 2003, Middleware.

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

[43]  Marcos K. Aguilera,et al.  Matching events in a content-based subscription system , 1999, PODC '99.

[44]  Nicolas Lhuillier,et al.  FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS , 2003 .

[45]  Jean Bacon,et al.  Generic Support for Distributed Applications , 2000, Computer.

[46]  Joni da Silva Fraga,et al.  Adaptive Fault-Tolerant CORBA Components , 2003, Middleware Workshops.

[47]  Edward Curry,et al.  Could Message Hierarchies Contemplate , 2003 .

[48]  Jeff McAffer Meta-level Programming with CodA , 1995, ECOOP.

[49]  P. Maheshwari,et al.  Benchmarking message‐oriented middleware: TIB/RV versus SonicMQ , 2005, Concurrency Practice and Experience.

[50]  Richard Monson-Haefel,et al.  Java message service , 2000 .

[51]  Luciano Baresi,et al.  Architectures for an Event Notification Service Scalable to Wide-area Networks , 2000 .

[52]  Fabio Kon,et al.  Secure Dynamic Reconfiguration of Scalable CORBA Systems with Mobile Agents , 2000, ASA/MA.

[53]  Peter R. Pietzuch,et al.  Hermes: a distributed event-based middleware architecture , 2002, Proceedings 22nd International Conference on Distributed Computing Systems Workshops.

[54]  Sven Bittner,et al.  Efficient distribution-based event filtering , 2002, Proceedings 22nd International Conference on Distributed Computing Systems Workshops.

[55]  Patrick Th. Eugster,et al.  Event systems. How to have your cake and eat it too , 2002, Proceedings 22nd International Conference on Distributed Computing Systems Workshops.

[56]  Peter R. Pietzuch,et al.  A Framework for Event Composition in Distributed Systems , 2003, Middleware.

[57]  Edward Curry,et al.  Enterprise service facilitation within agent environments , 2004, IASTED Conf. on Software Engineering and Applications.

[58]  Walter Cazzola,et al.  mChaRM: a Reflective Middleware for Communication-Based Reflection , 2000 .

[59]  Michael B. Jones,et al.  Herald: achieving a global event notification service , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[60]  Gordon S. Blair,et al.  An extensible binding framework for component-based middleware , 2003, Seventh IEEE International Enterprise Distributed Object Computing Conference, 2003. Proceedings..

[61]  Guruduth Banavar,et al.  An efficient multicast protocol for content-based publish-subscribe systems , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[62]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[63]  Edward Curry,et al.  Message‐Oriented Middleware , 2005 .

[64]  Edward Curry,et al.  The collective: a common information service for self-managed middleware , 2005, ARM '05.

[65]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[66]  Richard S. Sutton,et al.  Reinforcement Learning: An Introduction , 1998, IEEE Trans. Neural Networks.

[67]  Jim Dowling,et al.  The Decentralised Coordination of Self-Adaptive Components for Autonomic Distributed Systems , 2005 .

[68]  Mark Weiser,et al.  Some computer science issues in ubiquitous computing , 1993, CACM.

[69]  Thomas A. Corbi,et al.  The dawning of the autonomic computing era , 2003, IBM Syst. J..

[70]  Ludger Fiege,et al.  Supporting Covering and Merging in Content-Based Publish/Subscribe Systems: Beyond Name/Value Pairs , 2001 .

[71]  David M. Chess,et al.  Security Issues in Mobile Code Systems , 1998, Mobile Agents and Security.

[72]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[73]  K. Taylor,et al.  Devotions upon emergent occasions , 1977, Medical History.

[74]  D. B. Davis,et al.  Sun Microsystems Inc. , 1993 .

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

[76]  Christopher D. Gill,et al.  Comparing and contrasting adaptive middleware support in wide-area and embedded distributed object applications , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[77]  David A Chappell,et al.  Enterprise Service Bus , 2004 .

[78]  J. Craig Cleaveland Program Generators with XML and Java , 2001 .

[79]  Francesco Tisato,et al.  Architectural Reflection: Realising Software Architectures via Reflective Activities , 2000, EDO.

[80]  P. Goering,et al.  Through the looking Glass. , 1976, The Canadian nurse.

[81]  Bill Segall,et al.  Content Based Routing with Elvin4 , 2000 .

[82]  Dipak Khakhar,et al.  Information network and data communication : teleservice architecture and engineering : proceedings of the IFIP/ICCC International Conference on Information Network and Data Communication, Trondheim, Norway, June 1996 , 1996 .

[83]  Alan Dearle,et al.  A Reflective Approach to Providing Flexibility in Application Distribution , 2003, Middleware Workshops.

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

[85]  Guruduth Banavar,et al.  A Case for Message Oriented Middleware , 1999, DISC.

[86]  Alexander L. Wolf,et al.  A Benchmark Suite for Distributed Publish/Subscribe Systems , 2002 .

[87]  Len Gilman,et al.  Distributed Computing with IBM? MQSeries , 1996 .

[88]  Felix C. Freiling,et al.  A modular approach to build structured event-based systems , 2002, SAC '02.

[89]  Harold Ossher,et al.  Using multidimensional separation of concerns to (re)shape evolving software , 2001, CACM.

[90]  Guruduth Banavar,et al.  Gryphon: An Information Flow Based Approach to Message Brokering , 1998, ArXiv.

[91]  Benjamin J. Shannon,et al.  Java 2 platform enterprise edition specification , 2001 .

[92]  Shigeru Chiba,et al.  OpenJava: A Class-Based Macro System for Java , 1999, Reflection and Software Engineering.

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

[94]  Edward Curry,et al.  Extending message-oriented middleware using interception , 2004, ICSE 2004.

[95]  Gordon S. Blair,et al.  Reflective Middleware and Security: OOPP meets Obol , 2003, Middleware Workshops.

[96]  Jim Dowling,et al.  Self-managed decentralised systems using K-components and collaborative reinforcement learning , 2004, WOSS '04.

[97]  John A. Zinky,et al.  Building adaptive distributed applications with middleware and aspects , 2004, AOSD '04.

[98]  Vom Fachbereich Informatik Large-Scale Content-Based Publish/Subscribe Systems , 2002 .

[99]  Douglas C. Schmidt,et al.  QoS‐Enabled Middleware , 2005 .

[100]  Edward Curry Adaptive and Reflective Middleware , 2004 .

[101]  Geoff Coulson,et al.  What is Reflective Middleware , 2001 .

[102]  Christof Bornhövd,et al.  Dealing with heterogeneous data in pub/sub systems : the concept-based approach , 2004, ICSE 2004.

[103]  Randi Karlsen,et al.  Transaction Service Management - An approach towards a reflective transaction service , 2003, Middleware Workshops.

[104]  Alfonso Fuggetta,et al.  The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS , 2001, IEEE Trans. Software Eng..

[105]  Rachid Guerraoui,et al.  Distributed Programming in GARF , 1993, ECOOP Workshop.

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

[107]  Francisco Reverbel,et al.  The JBoss Extensible Server , 2003, Middleware.

[108]  Edward Curry,et al.  A JMS Message Transport Protocol for the JADE platform , 2003, IEEE/WIC International Conference on Intelligent Agent Technology, 2003. IAT 2003..

[109]  Jim Dowling,et al.  The K-Component Architecture Meta-model for Self-Adaptive Software , 2001, Reflection.