A protocol for orphan detection and termination in mobile agent systems

Orphan detection and termination in distributed systems is a well researched field for which many solutions exist. These solutions exploit well defined parent-child relationships given in distributed systems. But they are not applicable in mobile agent systems, since no similar natural relationship between agents exist. Thus new protocols have to be developed. In this paper one such protocol for orphan detection and agent termination is presented. First we present two approaches, the energy concept and the path concept. The energy concept is a passive termination protocol, and the path concept is a protocol for finding agents, that can be used to implement active termination. The energy' approach is based on the idea that an agent is provided with a limited amount of energy, which can be spent in exchange for the resources used by the agent. From time to time the agent has to request additional energy from its creator. The agent is terminated as soon as the energy falls to 0. This approach to agent termination implicitly implements orphan detection, i.e. if the creator has terminated, the dependent agents are killed as soon as they have no energy left. The path' approach uses a chain of proxies. As soon as an agent leaves a location, a proxy is created that points to the new location. By following the chain of proxies, the path, one can find any agent, and consequently terminate it. Both approaches have disadvantages. By merging them on different levels we create a protocol that combines the advantages of both approaches, and at the same time minimizes the disadvantages. The shadow' approach uses the idea of a placeholder (shadow) which is assigned by the agent system to each new agent. The shadow records the location of all dependent agents. Removing the root shadow implies that all dependent shadows and agents are terminated recursively.