Approaches to fault-tolerant and transactional mobile agent execution---an algorithmic view

Over the past years, mobile agent technology has attracted considerable attention, and a significant body of literature has been published. To further develop mobile agent technology, reliability mechanisms such as fault tolerance and transaction support are required. This article aims at structuring the field of fault-tolerant and transactional mobile agent execution and thus at guiding the reader to understand the basic strengths and weaknesses of existing approaches. It starts with a discussion on providing fault tolerance in a system in which processes simply fail. For this purpose, we first identify two basic requirements for fault-tolerant mobile agent execution: (1) non-blocking (i.e., a single failure does not prevent progress of the mobile agent execution) and (2) exactly-once (i.e., multiple executions of the agent are prevented). This leads us to introduce the notion of a <i>local transaction</i> as the basic building block for fault-tolerant mobile agent execution and to classify existing approaches according to when and by whom the local transactions are committed. In a second part, we show that transactional mobile agent execution additionally ensures execution atomicity and present a survey of existing approaches. In the last part of the survey, we extend the notion of fault tolerance to arbitrary Byzantine failures and security-related issues of the mobile agent execution.

[1]  William M. Farmer,et al.  Security for Mobile Agents: Issues and Requirements , 1996 .

[2]  Sun Fire V20z Sun Microsystems , 1996 .

[3]  Bennet S. Yee A Sanctuary for Mobile Agents , 2001, Secure Internet Programming.

[4]  Luís Moura Silva,et al.  Fault-tolerant execution of mobile agents , 2000, Proceeding International Conference on Dependable Systems and Networks. DSN 2000.

[5]  Pattie Maes,et al.  Agents that buy and sell , 1999, CACM.

[6]  C. Stefanelli,et al.  Mobile agents protection in the Internet environment , 1999, Proceedings. Twenty-Third Annual International Computer Software and Applications Conference (Cat. No.99CB37032).

[7]  Adi Shamir,et al.  How to share a secret , 1979, CACM.

[8]  Michael R. Lyu,et al.  A Progressive Fault Tolerant Mechanism in Mobile Agent Systems , 2003 .

[9]  Alan O. Freier,et al.  The SSL Protocol Version 3.0 , 1996 .

[10]  Fred B. Schneider,et al.  NAP: practical fault-tolerance for itinerant computations , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[11]  William M. Farmer,et al.  Security for Mobile Agents: Authentication and State Appraisal , 1996, ESORICS.

[12]  Xiangmin Zhang,et al.  Java Security , 2000 .

[13]  Marc H. Scholl,et al.  Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery , 2001, SGMD.

[14]  André Schiper,et al.  Fault-Tolerant Mobile Agent Execution , 2003, IEEE Trans. Computers.

[15]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[16]  Kurt Rothermel,et al.  Optimizing the dissemination of mobile agents for distributed information filtering , 2000, IEEE Concurr..

[17]  Anand R. Tripathi,et al.  Security in the Ajanta mobile agent system , 2001, Softw. Pract. Exp..

[18]  Flávio Morais de Assis Silva,et al.  A Distributed Transaction Model based on Mobile Agents , 1997, Mobile Agents.

[19]  Jan Camenisch,et al.  Cryptographic security for mobile code , 2001, Proceedings 2001 IEEE Symposium on Security and Privacy. S&P 2001.

[20]  Panos K. Chrysanthis,et al.  Synthesis of extended transaction models using ACTA , 1994, TODS.

[21]  H. Tokuda,et al.  A mobile agent framework for follow-me applications in ubiquitous computing environment , 2001, Proceedings 21st International Conference on Distributed Computing Systems Workshops.

[22]  Friedemann Mattern Mobile Agenten , 1998, Informationstechnik Tech. Inform..

[23]  David Wong,et al.  Security and reliability in Concordia , 1999 .

[24]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[25]  W. A. Jansen,et al.  MOBILE AGENTS AND SECURITY , 1999 .

[26]  Xavier Défago,et al.  Semi-passive replication , 1998, Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281).

[27]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

[28]  Volker Roth Programming Satan's Agents , 2001, Electron. Notes Theor. Comput. Sci..

[29]  Sam Toueg,et al.  A Modular Approach to Fault-Tolerant Broadcasts and Related Problems , 1994 .

[30]  Fred B. Schneider,et al.  Towards Fault-Tolerant and Secure Agentry , 1997, WDAG.

[31]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[32]  Alan O. Freier,et al.  SSL Protocol Version 3.0 Internet Draft , 1996 .

[33]  Cornelia Boldyreff,et al.  Mobile agent fault tolerance for information retrieval applications: an exception handling approach , 2003, The Sixth International Symposium on Autonomous Decentralized Systems, 2003. ISADS 2003..

[34]  Abraham Silberschatz,et al.  A Formal Approach to Recovery by Compensating Transactions , 1990, VLDB.

[35]  Holger Pals,et al.  FANTOMAS: Fault Tolerance for Mobile Agents in Clusters , 2000, IPDPS Workshops.

[36]  Giovanni Vigna,et al.  Cryptographic Traces for Mobile Agents , 1998, Mobile Agents and Security.

[37]  Sergio Loureiro,et al.  Mobile code security , 2000 .

[38]  James White,et al.  Mobile Agents White Paper , 1996 .

[39]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[40]  Robbert van Renesse,et al.  Cryptographic support for fault-tolerant distributed computing , 1996, EW 7.

[41]  André Schiper,et al.  Modeling fault-tolerant mobile agent execution as a sequence of agreement problems , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[42]  Danny B. Lange,et al.  A Security Model for Aglets , 1997, IEEE Internet Comput..

[43]  André Schiper,et al.  Non-blocking transactional mobile agent execution , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[44]  Stefan Fünfrocken,et al.  Protecting Mobile Web-Commerce Agents with Smartcards , 1999, Autonomous Agents and Multi-Agent Systems.

[45]  Günter Karjoth,et al.  Secure Mobile Agent-Based Merchant Brokering in Distributed Marketplaces , 2000, ASA/MA.

[46]  Moti Yung,et al.  Non-interactive cryptocomputing for NC/sup 1/ , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

[47]  Robert S. Gray,et al.  Agent Tcl: a Exible and Secure Mobile-agent System , 1996 .

[48]  Scott Oaks,et al.  Java Security , 1998 .

[49]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[50]  George C. Necula,et al.  Research on proof-carrying code for mobile-code security , 1997 .

[51]  N. Asokan,et al.  Protecting the computation results of free-roaming agents , 2005, Personal Technologies.

[52]  共立出版株式会社 コンピュータ・サイエンス : ACM computing surveys , 1978 .

[53]  Danny B. Lange,et al.  Programming and Deploying Mobile Agents with Java Aglets , 1998 .

[54]  Jan Vitek,et al.  Secure Internet Programming: Security Issues for Mobile and Distributed Objects , 1999 .

[55]  Opher Etzion,et al.  Mobile transactional agents , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[56]  Sam Toueg,et al.  Unreliable failure detectors for reliable distributed systems , 1996, JACM.

[57]  Erale De Lausanne FAULT-TOLERANT AND TRANSACTIONAL MOBILE AGENT EXECUTION , 2002 .

[58]  Gene Tsudik,et al.  Itinerant Agents for Mobile Computing , 1995, IEEE Communications Surveys & Tutorials.

[59]  George Cybenko,et al.  D'Agents: Security in a Multiple-Language, Mobile-Agent System , 1998, Mobile Agents and Security.

[60]  Mehdi Jazayeri,et al.  Gypsy: a component-based mobile agent system , 2000, Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing.

[61]  Markus Straßer,et al.  System mechanisms for partial rollback of mobile agent execution , 2000, Proceedings 20th IEEE International Conference on Distributed Computing Systems.

[62]  Radu Popescu-Zeletin,et al.  Mobile Agent-Based Transactions in Open Environments , 2000 .

[63]  Keith Marzullo,et al.  Simulating fail-stop in asynchronous distributed systems , 1994, Proceedings of IEEE 13th Symposium on Reliable Distributed Systems.

[64]  Siddhartha Mishra,et al.  Fault-tolerance in agent-based computing systems , 2000 .

[65]  Holger Peine,et al.  Security concepts and implementation in the Ara mobile agent system , 1998, Proceedings Seventh IEEE International Workshop on Enabling Technologies: Infrastucture for Collaborative Enterprises (WET ICE '98) (Cat. No.98TB100253).

[66]  Giovanni Vigna,et al.  Mobile Agents and Security , 1998, Lecture Notes in Computer Science.

[67]  Fritz Hohl An Approach to Solve the Problem of Malicious Hosts , 1998 .

[68]  Hans-Jörg Schek,et al.  Concepts and Applications of Multilevel Transactions and Open Nested Transactions , 1992, Database Transaction Models for Advanced Applications.

[69]  George C. Necula,et al.  Proof-carrying code , 1997, POPL '97.

[70]  David Wong,et al.  Security and reliability in Concordia/sup TM/ , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[71]  Aaron Kershenbaum,et al.  Mobile Agents: Are They a Good Idea? , 1996, Mobile Object Systems.

[72]  Stefan. Pleisch,et al.  Execution Atomicity for Non-Blocking Transactional Mobile Agents , 2004 .

[73]  Ajay Mohindra,et al.  Exploiting non-determinism for reliability of mobile agent systems , 2000, Proceeding International Conference on Dependable Systems and Networks. DSN 2000.

[74]  Flávio Morais de Assis Silva,et al.  A transaction model based on mobile agents , 1999 .

[75]  Aaron Kershenbaum,et al.  Mobile agents: Are they a good idea? — update , 1996 .

[76]  Willy Zwaenepoel,et al.  Manetho: Transparent Rollback-Recovery with Low Overhead, Limited Rollback, and Fast Output Commit , 1992, IEEE Trans. Computers.

[77]  Andry Rakotonirainy Exploiting Transaction and Object Semantics to Increase Concurrency , 1994, Applications in Parallel and Distributed Computing.

[78]  Levente Buttyán,et al.  Introducing Trusted Third Parties to the Mobile Agent Paradigm , 2001, Secure Internet Programming.

[79]  Radu Popescu-Zeletin,et al.  An Approach for Providing Mobile Agent Fault Tolerance , 1998, Mobile Agents.

[80]  Hartmut Vogler,et al.  An approach for mobile agent security and fault tolerance using distributed transactions , 1997, Proceedings 1997 International Conference on Parallel and Distributed Systems.

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

[82]  Amy L. Murphy,et al.  Reliable Communication for Highly Mobile Agents , 2004, Autonomous Agents and Multi-Agent Systems.

[83]  André Schiper,et al.  FATOMAS-a fault-tolerant mobile agent system based on the agent-dependent approach , 2001, 2001 International Conference on Dependable Systems and Networks.

[84]  Volker Roth,et al.  On the Robustness of Some Cryptographic Protocols for Mobile Agent Protection , 2001, Mobile Agents.

[85]  Siddhartha Mishra Agent fault tolerance using group communica-tion , 2001 .

[86]  Christian F. Tschudin,et al.  Protecting Mobile Agents Against Malicious Hosts , 1998, Mobile Agents and Security.

[87]  Danny B. Lange,et al.  Programming and Deploying Java¿ Mobile Agents with Aglets¿ , 1998 .

[88]  Markus Straßer,et al.  Reliability Concepts for Mobile Agents , 1998, Int. J. Cooperative Inf. Syst..

[89]  Joe Kilian,et al.  One-Round Secure Computation and Secure Autonomous Mobile Agents , 2000, ICALP.

[90]  Tony White,et al.  Mobile agents for network management , 1998, IEEE Communications Surveys & Tutorials.

[91]  Keith Marzullo,et al.  Simulating fail-stop in asynchronous distributed systems , 1994, PODC '94.

[92]  Danny B. Lange,et al.  Seven good reasons for mobile agents , 1999, CACM.

[93]  Markus Straßer,et al.  A fault-tolerant protocol for providing the exactly-once property of mobile agents , 1998, Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281).

[94]  Hartmut Vogler,et al.  Distributed transaction processing as a reliability concept for mobile agents , 1997, Proceedings of the Sixth IEEE Computer Society Workshop on Future Trends of Distributed Computing Systems.