MA 2001 Technical Paper Abstracts
 

On the Robustness of some Cryptographic Protocols for Mobile Agent Protection

Volker Roth - Fraunhofer Institut fuer Graphische Datenverarbeitung
Mobile agent security is still a young discipline and most naturally, the focus up to the time of writing was on inventing new cryptographic protocols for securing various aspects of mobile agents. However, past experience shows that protocols can be flawed, and flaws in protocols can remain unnoticed for a long period of time. The game of breaking and fixing protocols is a necessary evolutionary process that leads to a better understanding of the underlying problems and ultimately to more robust and secure systems. Although, to the best of our knowledge, little work has been published on breaking protocols for mobile agents, it is inconceivable that the multitude of protocols proposed so far are all flawless. As it turns out, the opposite is true. We identify flaws in protocols proposed by Corradi et al., Karjoth et al., and Karnik et al., including protocols based on secure co-processors.
 

Trust Relationships in a Mobile Agent System

Hock Kim Tan - University of Southampton, Southampton SO17 1BJ UK
Luc Moreau - University of Southampton, Southampton SO17 1BJ UK
The notion of trust is presented as an important component in a security infrastructure for mobile agents. A trust model that can be used in tackling the aspect of protecting mobile agents from hostile platforms is proposed. We define several trust relationships in our model, and present a trust derivation algorithm that can be used to infer new relationships from existing ones. An example of how such a model can be utilized in a practical system is provided.
 

Evaluating The Security of Mobile Agent Systems

Sebastian Fischmeister - University of California Santa Barbara
Giovanni Vigna - University of California Santa Barbara
Richard A. Kemmerer - University of California Santa Barbara
The goal of mobile agent systems is to provide a distributed computing infrastructure supporting applications whose components can move between different execution environments. The design and implementation of mechanisms to relocate computations requires a careful assessment of security issues. If these issues are not addressed properly, mobile agent technology cannot be used to implement real-world applications. This paper describes the initial steps of a research effort to design and implement security middleware for mobile code systems in general and mobile agent systems in particular. This initial phase focused on understanding and evaluating the security mechanisms of existing mobile agent systems. The evaluation was performed by deploying several mobile agents systems in a testbed network, implementing attacks on the systems, and evaluating the results. The long term goal for this research is to develop guidelines for the security analysis of mobile agent systems and to determine if existing systems provide the security abstractions and mechanisms needed to develop real-world applications.
 

Formal specification and verification of mobile agent data integrity properties: a case study

Xavier Hannotin - Politecnico di Torino
Paolo Maggi - Politecnico di Torino
Riccardo Sisto - Politecnico di Torino
The aim of the work presented in this paper is to check cryptographic protocols for mobile agents against both network intruders and malicious hosts using formal methods. We focus attention on data integrity properties and show how the techniques used for classical message-based protocols such as authentication protocols can be applied to mobile agent systems as well. To illustrate our approach, we use a case study taken from the literature and show how it can be specified and verified using some currently available tools.
 

Lime Revisited

Bogdan Carbunar - Purdue
Marco Tulio Valente - Purdue
Jan Vitek - Purdue
Lime is a middleware communication infrastructure for mobile computation that addresses physical mobility of devices and logical mobility of software components through a rich set of local and remote primitives. The system's key innovation is the concept of \emph{transiently shared tuple spaces}. In Lime, mobile programs are equipped with tuple spaces that move whenever the program moves and are transparently shared with tuple spaces of other co-located programs. The Lime specification is surprisingly complex and tricky to implement. In this paper, we start by deconstructing the Lime model to identify its core components, then we attempt to reconstruct a simpler model, which we call CoreLime, that supports fine-grained access control and can better scale to large configurations.
 

Dynamic Adaptation of Mobile Agent in Heterogeneous Environments

Raimund Brandt - skyguide
Helmut Reiser - University of Munich
Mobile agents must be prepared to execute on different hosts and therefore in different execution environments. Even when a homogenous execution environment is offered by abstracting the underlying heterogeneity, there are scenarios like IT-management, where mobile agents are forced to contain environment dependent implementations. The aim of this work is to equip mobile agents with a flexible capacity to adapt to a range of different environments on demand.

We discuss different forms of adaptation and draw a distinction between static and continuous forms. Our solution for dynamic adaptation provides a concept for exchanging environment dependent implementation of mobile agents during runtime. Dynamic adaptation enhances efficiency of mobile code in terms of bandwidth and scalability.
 

Fast File Access for Fast Agents

Eugene Gendelman - University of California, Irvine
Lubomir Bic - University of California, Irvine
Michael Dillencourt - University of California, Irvine
Mobile agents are a powerful tool for coordinating general purpose distributed computing, where the main goal is high performance. In this paper we demonstrate how the inherent mobility of agents may be exploited to achieve fast file access, which is necessary for most general-purpose applications. We present a file system for mobile agents based exclusively on local disks of the participating workstations. The mobility of agents allows us to make all file operations local, which significantly reduces access time. We also demonstrate how code files and special system files can be handled efficiently in a local-disk-based environment.
 

Flying Emulator: Rapid Building and Testing of Networked Applications for Mobile Computers

Ichiro Satoh - National Institute of Informatics
This paper presents a mobile-agent framework for building and testing mobile computing applications. When a portable computing device is moved into and attached to a new network, the proper functioning of an application running on the device often depends on the resources and services provided locally in the current network. To solve this problem, this framework provides an application-level emulator of portable computing devices. Since the emulator is constructed as a mobile agent, it can carry target applications across networks on behalf of a device, and it allows the applications to connect to local servers in its current network in the same way as if they were moved with and executed on the device itself. This paper also demonstrates the utility of this framework by describing the development of typical location-dependent applications in mobile computing settings.
 

Crawlets: Agents for High Performance Web Search Engines

Prasannaa Thati - University Of Illinois at Urbana Champaign
Po-Hao Chang - University Of Illinois at Urbana Champaign
Gul Agha - University Of Illinois at Urbana Champaign
Some of the reasons for unsatisfactory performance of today's search engines are their centralized approach to web crawling and lack of explicit support from web servers. We propose a modification to conventional crawling in which a search engine uploads simple agents, called crawlets, to web sites. A crawlet crawls pages at a site locally and sends a compact summary back to the search engine. This not only reduces bandwidth requirements and network latencies, but also parallelizes crawling. Crawlets also provide an effective means for achieving the performance gains of personalized web servers, and can make up for the lack of cooperation from conventional web servers. The specialized nature of crawlets allows simple solutions to security and resource control problems, and reduces software requirements at participating web sites. In fact, we propose an implementation that requires no changes to web servers, but only the installation of a few (active) web pages at host sites.
 

An Efficient Mailbox-Based Algorithm for Message Delivery in Mobile Agent Systems

Xinyu Feng - Nanjing University
Jiannong Cao - Hong Kong Polytechnic University
Jian Lu - Nanjing University
Henry Chan - Hong Kong Polytechnic University
Agent mobility presents challenges to the design of efficient message transport protocols for mobile agent communications. A practical mobile agent communication protocol should provide location transparency to the programmer and thus need to keep track of the movement of an agent. In addition, because of the asynchronous nature of message passing and agent migration, how to guarantee the delivery of messages to highly mobile agents is still an active research topic in mobile agent systems. In this paper we propose an efficient mailbox-based algorithm for inter-mobile agent communications. The algorithm decentralizes the role of the origin (home) host in locating an agent. Furthermore, by separating the mailbox from its owner agent, the algorithm can be made adaptive and is efficient in terms of location updating and message delivery. In the cases that mobile agents migrate frequently but seldom communicate, our algorithm turns out to be preferable.
 

Using Predicates for Specifying Targets of Migration and Messages in a Peer-to-Peer Mobile Agent Environment

Klaus Haller - Swiss Federal Institute of Technology (ETH)
Heiko Schuldt - Swiss Federal Institute of Technology (ETH)
Mobile agent systems are a powerful approach to develop distributed applications since they migrate to hosts on which they have the resources to execute individual tasks. Existing mobile agent systems require detailed knowledge about these hosts at the time of coding. This assumption is not acceptable in a dynamic environment like a peer-to-peer network, where hosts and, as a consequence, also agents become repeatedly connected and disconnected. To this end, we propose a predicate-based approach allowing the specification of hosts an agent has to migrate to. With this highly flexible approach, termed P2PMobileAgents, we combine the benefits of execution location transparency with those of code mobility. Similarly, also the recipients of messages can be specified by predicates, e.g. for synchronization purposes. For providing meta information about agents and hosts we use XML documents.
 

A Scalable and Secure Global Tracking Service for Mobile Agents

Volker Roth - Fraunhofer IGD
Jan Peters - Fraunhofer IGD
In this paper, we propose a global tracking service for mobile agents, which is scalable to the Internet and accounts for security issues as well as the particularities of mobile agents (frequent changes in locations). The protocols we propose address agent impersonation, malicious location updates, as well as security issues that arise from profiling location servers, and threaten the privacy of agent owners. We also describe the general framework of our tracking service, and some evaluation results of the reference implementation we made.
 

Translating Strong Mobility into Weak Mobility

Lorenzo Bettini - Dipartimento di Sistemi e Informatica, Universita' di Firenze
Rocco De Nicola - Dipartimento di Sistemi e Informatica, Universita' di Firenze
Mobile agents are software objects that can be transmitted over the net together with data and code, or can autonomously migrate to a remote computer and execute automatically on arrival. However many frameworks and languages for mobile agents only provide weak mobility: agents do not resume their execution from the instruction following the migration action, instead they are always restarted from a given point.

In this paper we present a purely syntactic translation process for transforming programs that use strong mobility into programs that rely only on weak mobility, while preserving the original semantics. This transformation applies to programs written in a procedural language and can be adapted to other languages, like Java, that provide means to send data and code, but not the execution state. It has actually been exploited for implementing our language for mobile agents X-Klaim, that has linguistic constructs for strong mobility.
 

Transparent Migration of Mobile Agents Using the Java Platform Debugger Architecture

Torsten Illmann - University of Ulm, Dep. of Multimedia Computing
Tilman Krueger - University of Ulm, Dep. of Multimedia Computing
Frank Kargl - University of Ulm, Dep. of Multimedia Computing
Michael Weber - University of Ulm, Dep. of Multimedia Computing
In this paper we describe a transparent migration of mobile agents in Java using the Java Platform Debugger Architecture (JPDA). The JPDA allows debuggers to access and modify runtime information of running Java applications. In the context of mobile agents, the JPDA can be used to capture and restore the state of a running program. Since JPDA does not support to set the program counter, we introduce two different solutions to solve this. We either slightly modify the virtual machine or instrument some bytecode instructions. Finally we measure the produced overhead in code and time compared to normal execution and other approaches addressing this problem. Altogether, we show that developing Java-based mobile agents with a transparent migration can be performed nearly without changing the source code, the byte code or the interpreter.
 

Portable Resource Reification in Java-based Mobile Agent Systems

Alex Villazsn - University of Geneva, Switzerland
Walter Binder - CoCo Software Engineering GmbH, Austria
Resource awareness is an important step towards the realization of adaptable software, something which is particularly desirable in the context of mobile code and mobile agent environments. Since resources (CPU, memory, network bandwidth, etc.) are not available and manipulable as first-class entities in standard programming models, such as in the Java language, some kind of reification seems indispensable. 

This is however difficult to achieve, especially if portability is a requirement. In this paper we describe a mobile agent execution environment that reifies several aspects of both the execution environment itself and of the mobile agents it hosts. We explain how resources consumed by an agent are reified directly from the agent code. Performance measurements show that our approach incurs only moderate overhead.
 

Mobile-Agent versus Client/Server Performance: Scalability in an Information-Retrieval Task

Robert S. Gray - Dartmouth College
David Kotz - Dartmouth College
Ronald A. Peterson - Dartmouth College
Joyce Barton - Lockheed-Martin Advanced Technology Lab
Daria Chacon - Lockheed-Martin Advanced Technology Lab
Peter Gerken - Lockheed-Martin Advanced Technology Lab
Building applications with mobile agents often reduces the bandwidth required for the application, and improves performance. The cost is increased server workload. There are, however, few studies of the scalability of mobile-agent systems. We present scalability experiments that compare four mobile-agent platforms with a traditional client/server approach. The four mobile-agent platforms have similar behavior, but their absolute performance varies with underlying implementation choices. Our experiments demonstrate the complex interaction between environmental, application, and system parameters.
 

Performance Evaluation of Mobile-Agent Middleware: A Hierarchical Approach

Marios Dikaiakos - University of Cyprus
Melinos Kyriakou - University of Cyprus
George Samaras - University of Cyprus
In this paper, we introduce a hierarchical framework for the quantitative performance evaluation of mobile-agent middleware platforms. This framework is established upon an abstraction of the typical structure of mobile-agent systems and is implemented through a set of benchmarks, metrics, and experimental parameters. We implement these benchmarks on three mobile agent platforms (Aglets, Concordia and Voyager) and run numerous experiments to validate our framework and compare the mobile-agent middleware environments quantitatively. We present results collected from our experiments, which help us understand MA performance and identify existing bottlenecks. Our results can be used to guide the improvement of existing platforms, the performance analysis of other systems, and the performance prediction of MA applications.
 

Scheduling Multi-Task Agents

Rong Xie - Dept. of Computer Science, Dartmouth College
Daniela Rus - Dept. of Computer Science, Dartmouth College
Cliff Stein - Dept. of IEOR, Columbia University
We present a centralized and a distributed algorithm for scheduling multi-task agents in a distributed system with the objective of minimizing the overall application completion time. Each agent consists of multiple tasks that can be executed on multiple machines which correspond to resources. The machine speeds and link transfer rates are heterogeneous. Our centralized algorithm has an upper bound on the overall completion time and is used as a module in the distributed algorithm. Extensive simulations show promising results of the algorithms, especially for scheduling communication-intensive multi-task agents.