Agent Tcl: a Exible and Secure Mobile-agent System

A mobile agent is an autonomous program that can migrate under its own control from machine to machine in a heterogeneous network. In other words, the program can suspend its execution at an arbitrary point, transport itself to another machine, and then resume execution from the point of suspension. Mobile agents have the potential to provide a {\em single, general framework} in which a wide range of distributed applications can be implemented efficiently and easily. Several challenges must be faced, however, most notably reducing migration overhead, protecting a machine from malicious agents (and an agent from malicious machines), and insulating the agent against network and machine failures. Agent Tcl is a mobile-agent system under development at Dartmouth College that has evolved from a Tcl-only system into a multiple-language system that currently supports Tcl, Java, and Scheme. In this thesis, we examine the motivation behind mobile agents, describe the base Agent Tcl system and its security mechanisms for protecting a machine against malicious agents, and analyze the system''s current performance. Finally, we discuss the security, fault-tolerance and performance enhancements that will be necessary for Agent Tcl and mobile agents in general to realize their full potential.

[1]  Ellen M. Voorhees,et al.  Intelligent routers , 1989, [1989] Proceedings. The 9th International Conference on Distributed Computing Systems.

[2]  Mukesh Singhal,et al.  Advanced concepts in operating systems : distributed, database, and multiprocessor operating systems , 1993 .

[3]  David K. Gifford,et al.  Remote pipes and procedures for efficient distributed communication , 1988, TOCS.

[4]  Jonathan Rees,et al.  A tractable Scheme implementation , 1994, LISP Symb. Comput..

[5]  Padraig Cunningham,et al.  Mobile Agents - Smart Messages , 1997, Mobile Agents.

[6]  Robert Wahbe,et al.  Omniware: A Universal Substrate for Web Programming , 1996, World Wide Web J..

[7]  Jean Bacon,et al.  Flexible distributed programming using mobile code , 1996, EW 7.

[8]  Luís Valente,et al.  Mobile agent security and Telescript , 1996, COMPCON '96. Technologies for the Information Superhighway Digest of Papers.

[9]  David Kotz,et al.  An RPC Mechanism for Transportable Agents , 1996 .

[10]  W. Richard Stevens,et al.  TCP/IP Illustrated, Volume 1: The Protocols , 1994 .

[11]  Frederick Knabe An Overview of Mobile Agent Programming , 1996, LOMAPS.

[12]  Michael R. Genesereth,et al.  A Distributed and Anonymous Knowledge Sharing Approach to Software Interoperation , 1995, Int. J. Cooperative Inf. Syst..

[13]  Gianfranco R. Putzolu,et al.  High performance SQL through low-level system integration , 1988, SIGMOD '88.

[14]  Joel H. Saltz,et al.  Network-aware mobile programs , 1997 .

[15]  E. M. Voorhees Using computerized routers to control product flow , 1991, Proceedings of the Twenty-Fourth Annual Hawaii International Conference on System Sciences.

[16]  Roger Riggs,et al.  A Distributed Object Model for the Java System , 1996, Comput. Syst..

[17]  David B. Johnson Scalable support for transparent mobile host internetworking , 1995, Wirel. Networks.

[18]  Peter C. Wayner,et al.  Agents Unleashed: A Public Domain Look at Agent Technology , 1995 .

[19]  David Wong,et al.  Concordia: An Infrastructure for Collaborating Mobile Agents , 1997, Mobile Agents.

[20]  Peter Sapaty,et al.  Mobile processing in open systems , 1996, Proceedings of 5th IEEE International Symposium on High Performance Distributed Computing.

[21]  Peter B. Danzig,et al.  Harvest: A Scalable, Customizable Discovery and Access System , 1994 .

[22]  Fritz Hohl,et al.  Communication Concepts for Mobile Agent Systems , 1997, Mobile Agents.

[23]  Zhonghua Yang,et al.  CORBA: a platform for distributed object computing , 1996, OPSR.

[24]  Radia J. Perlman,et al.  Network security - private communication in a public world , 2002, Prentice Hall series in computer networking and distributed systems.

[25]  Kenneth Harker TIAS: A Transportable Intelligent Agent System , 1995 .

[26]  Holger Peine,et al.  The Architecture of the Ara Platform for Mobile Agents , 1999, Mobile Agents.

[27]  David Kotz,et al.  AGDB: A Debugger for Agent Tcl , 1997 .

[28]  Michael H. Coen,et al.  SodaBot: A Software Agent Environment and Construction System , 1994, AAAI.

[29]  M. Frans Kaashoek,et al.  Mobile Computing with the Rover Toolkit , 1997, IEEE Trans. Computers.

[30]  S. Appleby,et al.  Mobile software agents for control of distributed systems based on principles of social insect behaviour , 1994, Proceedings of ICCS '94.

[31]  Michael R. Genesereth,et al.  Software agents , 1994, CACM.

[32]  Jeff Rulifson Decode Encode Language (DEL) , 1969, RFC.

[33]  John H. Hartman,et al.  Liquid Software: A New Paradigm for Networked Systems , 1996 .

[34]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[35]  Luca Cardelli,et al.  Migratory applications , 1995, UIST '95.

[36]  M. Frans Kaashoek,et al.  Building reliable mobile-aware applications using the Rover toolkit , 1996, MobiCom '96.

[37]  Marc Najork,et al.  Distributed Active Objects , 1996, Comput. Networks.

[38]  M. Frans Kaashoek,et al.  Rover: a toolkit for mobile information access , 1995, SOSP.

[39]  Murthy V. Devarakonda,et al.  Metis: A Thin-Client Application Framework , 1997, COOTS.

[40]  George Cybenko,et al.  Pattern Recognition of 3D CAD Objects: Towards an Electronic Yellow Pages of Mechanical Parts , 1996 .

[41]  James A. Gosling,et al.  The java language environment: a white paper , 1995 .

[42]  Roger Riggs,et al.  Pickling State in the Java System , 1996, Comput. Syst..

[43]  Luca Cardelli,et al.  A language with distributed scope , 1995, POPL '95.

[44]  Pattie Maes,et al.  Agents that reduce work and information overload , 1994, CACM.

[45]  Keith D. Kotay,et al.  Transportable Agents , 1994 .

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

[47]  Robbert van Renesse,et al.  Operating system support for mobile agents , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[48]  David K. Gifford,et al.  Remote evaluation , 1990, TOPL.

[49]  G.J. Minden,et al.  A survey of active network research , 1997, IEEE Communications Magazine.

[50]  Giovanna Di Marzo Serugendo,et al.  The Messenger paradigm and its implications on distributed systems , 1995 .

[51]  Joel H. Saltz,et al.  Distributed resource monitors for mobile objects , 1996, Proceedings of the Fifth International Workshop on Object-Orientation in Operation Systems.

[52]  Suresh Jagannathan,et al.  Higher-order distributed objects , 1995, TOPL.

[53]  Terri Watson Effective wireless communication through application partitioning , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[54]  Robert Gray,et al.  Dynamic C++ Classes - A Lightweight Mechanism to Update Code in a Running Program , 1998, USENIX Annual Technical Conference.

[55]  L. Foner What''s an Agent, Anyway? A Sociological Case Study. MIT Media Lab , 1997 .

[56]  R. Stockton Gaines Dixie language and interpreter issues , 1994 .

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

[58]  Robbert van Renesse,et al.  Supporting broad internet access to TACOMA , 1996, EW 7.

[59]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[60]  N. Karnik System-level Issues for Agent Based Distributed Computing , 1996 .

[61]  Robert Wahbe,et al.  Efficient and language-independent mobile programs , 1996, PLDI '96.

[62]  Stefan Fünfrocken,et al.  How to Integrate Mobile Agents into Web Servers , 1997, WETICE.

[63]  Munindar P. Singh,et al.  Agents on the Web: Mobile Agents , 1997, IEEE Internet Comput..

[64]  G. Cybenko,et al.  Q-learning: a tutorial and extensions , 1997 .

[65]  George Cybenko,et al.  Mobile agents: the next generation in distributed computing , 1997, Proceedings of IEEE International Symposium on Parallel Algorithms Architecture Synthesis.

[66]  R. Kent Dybvig,et al.  The Scheme Programming Language , 1995 .

[67]  T. Anderson,et al.  Eecient Software-based Fault Isolation , 1993 .

[68]  Alexander D. Stoyen SUPRA-RPC: SUbprogram PaRAmeters in Remote Procedure Calls , 1991, Softw. Pract. Exp..

[69]  Robert S. Gray,et al.  Agent Tcl: A transportable agent system , 1995, CIKM Information Agents Workshop.

[70]  Adam Sah TC: An Efficient Implementation of the Tcl Language , 1994 .

[71]  Peter A. Gloor,et al.  DartFlow: A Workflow Management System on the Web using Transportable Agents , 1996 .

[72]  Oren Etzioni,et al.  A softbot-based interface to the Internet , 1994, CACM.

[73]  Joel H. Saltz,et al.  Dynamic Linking for Mobile Programs , 1996, Mobile Object Systems.

[74]  David Chaum,et al.  'Minting' electronic cash , 1997 .

[75]  Munehiro Fukuda,et al.  Distributed Computing Using Autonomous Objects , 1996, Computer.

[76]  Giovanna Di Marzo Serugendo,et al.  Messenger-Based Operating Systems , 1994 .

[77]  Oswald Drobnik,et al.  An HTTP-Based Infrastructure for Mobile Agents , 1995, World Wide Web J..

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

[79]  John K. Ousterhout,et al.  A Safe Tcl Toolkit for Electronic Meeting Places , 1995, USENIX Workshop on Electronic Commerce.

[80]  David Kotz,et al.  Autonomous and Adaptive Agents that Gather Information , 1996 .

[81]  Marvin A. Sirbu,et al.  NetBill: An Internet commerce system optimized for network delivered services , 1995, Digest of Papers. COMPCON'95. Technologies for the Information Superhighway.

[82]  Ted G. Lewis Where Is Client/Server Software Headed? , 1995, Computer.