This page provides some of my tutorials. Please feel free to use any of my slides, diagrams, etc. (as long as you cite me as the source).
Robert S. Gray. Introduction to Mobile Agents: Performance, Security and Programming Examples.
Presented at ASA/MA 2000.
Abstract: Some agents, even if they are performing simple tasks, can achieve a significant performance improvement by moving themselves to more attractive network locations. For example, if an agent needs to interact with a resource on the other side of an unreliable network link, it could improve performance by moving itself to some proxy machine on the other side of that link.
Agents that can move themselves to new locations are called mobile agents. More specifically, a mobile agent is an agent that can move at times of its own choosing from machine to machine in a heterogeneous network.
Of course, moving to a new location will not be advantageous for all applications or in all network environments. Mobility is best viewed as simply another tool available to the agent programmer, to be used or ignored as the application and its target environment dictates.
In this tutorial, we first explore the situations in which mobility should and should not be used. These situations depend on the network environment, the application's task, the performance metric of interest, and the properties of the selected mobile-agent system. During this exploration, we use the D'Agents mobile-agent system (http://agent.cs.dartmouth.edu) as a case study, and consider several information-retrieval applications that have been implemented on top of it. Along the way, we look at several example D'Agent programs, and also survey other state-of-the-art mobile-agent systems and applications.
After considering performance, we turn our attention to security, which is one of the key technical challenges in mobile-agent systems. Machines must be protected from malicious mobile agents, and mobile agents must be protected from malicious machines. We briefly consider current techniques and research, and speculate on future directions.
The tutorial provides an overview of mobile agents, guidelines to when they should be used, and practical examples of mobile-agent programming. The tutorial is an introductory tutorial, is similar to the IPPS'99 and PAAM 2000 tutorials, and will be of most interest to agent programmers who are interested in adding code mobility to their repertoire.
gzipped Powerpoint (556 KB)
Robert S. Gray. Agent Mobility: Performance, Security and a Case Study. Presented at PAAM 2000.
Abstract: Some agents, even if they are performing simple tasks, can achieve a significant performance improvement by moving themselves to more attractive network locations. For example, if an agent needs to interact with a resource on the other side of an unreliable network link, it could improve performance by moving itself to some proxy machine on the other side of that link. Agents that can move themselves to new locations are called mobile agents. More specifically, a mobile agent is an agent that can move at times of its own choosing from machine to machine in a heterogeneous network. Of course, moving to a new location will not be advantageous for all applications or in all network environments. Mobility is best viewed as simply another tool available to the agent programmer, to be used or ignored as the application and its target environment dictates.
In this tutorial, we first explore the situations in which mobility should and should not be used. These situations depend on the network environment, the application's task, the performance metric of interest, and the properties of the selected mobile-agent system. During this exploration, we use the D'Agents mobile-agent system as a case study, and consider several information-retrieval applications that have been implemented on top of it. Along the way, we look at several example D'Agent programs, and also survey other state-of-the-art mobile-agent systems and applications. After considering performance, we turn our attention to security, which is one of the key technical challenges in mobile-agent systems. Machines must be protected from malicious mobile agents, and mobile agents must be protected from malicious machines. We consider current techniques and research, and speculate on future directions.speculate on future directions.
The tutorial provides an overview of mobile agents, guidelines to when they should be used, and practical examples of mobile-agent programming. The tutorial will be of the most interest to agent programmers who are interested in adding code mobility to their repertoire.
gzipped Powerpoint (589 KB)
George Cybenko and Robert Gray. Mobile Agents in Distributed Computing. Presented at IPPS/SPDP'99.
Abstract: Mobile agents and mobile code are a new paradigm for distributed computing that complements such technologies as distributed objects, remote compute servers, and distributed programming systems such as PVM and MPI. After outlining the need for mobile-agent systems and surveying existing systems, the tutorial will provide an in-depth presentation of a particular system called D'Agents. Examples of its use will be detailed, and future trends for mobile-agent systems will be discussed.
gzipped Postscript (6.23 MB) | gzipped PowerPoint (4.79 MB)