Conference Paper

ODDUGI: Ubiquitous Mobile Agent System

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

A mobile agent is regarded as an attractive technology when developing distributed applications in mobile and ubiquitous comput- ing environments. In this paper, we present ODDUGI, a java-based ubiquitous mobile agent system. The ODDUGI mobile agent system provides fault tolerance, security, location management and message delivery mechanisms in a multi-region mobile agent computing environ- ment. We describe the architecture, design concepts and main features of the ODDUGI. In addition, we present the One-Touch Campus Service application developed on the basis of ODDUGI in mobile and ubiquitous computing environments.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... autonomic computing and adaptive software ( Kephart and Chess, 2003;Salehie and Tahvildari, 2009)), mobile agent technology too is seen as an attractive option ( Braun and Rossak, 2004;Cardoso and Kon, 2002;Lange and Oshima, 1999;Satyanarayanan, 2001). Recent works such as the ODDUGI mobile agent platform ( Choi et al., 2009), the (Irish) Agent Factory ( Muldoon et al., 2007) and MobiSoft ( Erfurth et al., 2008) are representative of efforts to harness this suitability. We previously proposed VERSAG ( Gunasekera et al., 2009aGunasekera et al., , 2010) as an approach to harness the potential of mobile agents for building ubiquitous computing applications. ...
... MobiSoft agents are however not functionally adaptive and therefore have fixed functionality unlike VERSAG agents. ODDUGI ( Choi et al., 2009) is a Java based mobile agent system which emphasizes reliability, security and fault tolerance as important features in ubiquitous computing environments. AFME (Agent Factory Micro Edition) ( Muldoon et al., 2007) is a BDI mobile agent framework targeting resource-constrained J2ME mobile devices. ...
Article
In this article, we describe a novel approach to build ubiquitous computing applications using adaptive software agents. Towards this, we propose VERSAG, a novel agent framework and architecture which combines agent mobility with the ability to dynamically change the internal structure and capabilities of agents and leads to highly versatile and lightweight software agents. We describe the framework in depth and provide design and implementation details of our prototype implementation. A case study scenario is used to illustrate the functional benefits achievable through the use of this framework in ubiquitous computing environments. Further experimental evaluation confirms the efficiency and feasibility of the VERSAG framework which outperforms traditional mobile agents, and also demonstrates applicability of the proposed framework to agent based systems where varying capabilities are required by agents over their lifecycle.
Article
The emerging Grid is extending the scope of resources to mobile devices and sensors that are connected through loosely connected networks. Nowadays, the number of mobile device users is increasing dramatically and the mobile devices provide various capabilities such as location awareness that are not normally incorporated in fixed Grid resources. Nevertheless, mobile devices exhibit inferior characteristics such as poor performance, limited battery life, and unreliable communication, compared with fixed Grid resources. Especially, the intermittent disconnection from network owing to users’ movements adversely affects performance, and this characteristic makes it inefficient and troublesome to adopt the synchronous message delivery in mobile Grid. This paper presents a mobile Grid system architecture based on mobile agents that support the location management and the asynchronous message delivery in a multi-domain proxy environment. We propose a novel balanced scheduling algorithm that takes users’ mobility into account in scheduling. We analyzed users mobility patterns to quantitatively measure the resource availability, which is classified into three types: full availability, partial availability, and unavailability. We also propose an adaptive load-balancing technique by classifying mobile devices into nine groups depending on availability and by utilizing adaptability based on the multi-level feedback queue to handle the job type change. The experimental results show that our scheduling algorithm provides a superior performance in terms of execution times to the one without considering mobility and adaptive load-balancing.
Conference Paper
Mobile Grid is a branch of Grid where the infrastructure includes mobile devices. The mobile Grid exhibits different challenges such as resource-constraints and users’ movements, compared to the traditional Grid. Mobile agent is an attractive technology to overcome these challenges. In this paper, we present a new mobile Grid system based on the mobile agent. This paper describes the architecture of the new system: multi-proxy based mobile grid environment with location management and message delivery mechanism. Our system is lightweight enough to be installed on mobile devices. It also provides the physical and logical mobility of mobile agents. We implemented the mobile Grid system based on Globus Toolkit and ODDUGI mobile agent system. Keywordsmobile Grid-mobile agent-mobility
Article
Full-text available
Wireless mobile computing breaks the stationary barrier and allows users to compute and access information from anywhere and at anytime. However, this new freedom of movement does not come without new challenges. The mobile computing environment is constrained in many ways. Mobile elements are resource-poor and unreliable. Their network connectivity is often achieved through low-bandwidth wireless links. Furthermore, connectivity is frequently lost for variant periods of time. The difficulties raised by these constraints are compounded by mobility that induces variability in the availability of both communication and computational resources. These severe restrictions have a great impact on the design and structure of mobile computing applications and motivate the development of new software models. To this end, a number of extensions to the traditional distributed system architectures have been proposed [26]. These new software models, however, are static and require a priori set up and configuration. This in effect limits their potential in dynamically serving the mobile client; the client cannot access a site at which an appropriate model is not configured in advance. The contribution of this paper is twofold. First, the paper shows how an implementation of the proposed models using mobile agents eliminates this limitation and enhances the utilization of the models. Second, new frameworks for Web-based distributed access to databases are proposed and implemented.
Article
Full-text available
The recent evolution of small-sized electronic devices and their growing computational power turned the concept of pervasive computing into a reality not very distant in the future. Researchers are currently developing systems to provide the basic software infrastructure needed for next generation pervasive computing environments. In these systems, however, the possibilities oered by the use of mobile agents are being overlooked. In this paper, we argue that mobile agents, due to its inherent exibilit y, can bring a number of benets to pervasive computing systems. Furthermore, we propose a novel architecture that uses mobile agents to perform three common tasks of pervasive computing more ecien tly: system adaptation, component updates and QoS negotiation.
Conference Paper
Full-text available
Fault tolerance is essential to the development of reliable mobile agent systems in order to guarantee continuous execution of mobile agents. For this purpose, previous work has proposed fault tolerant protocols for mobile agent execution based on stage construction. However, when previous protocols are applied to a multiregion mobile agent computing environment, the overhead of work such as monitoring, election, voting and agreement is increased. We propose a region-based stage construction (RBSC) protocol for fault tolerant execution of mobile agents in a multiregion mobile agent computing environment. The RBSC protocol uses new concepts of quasiparticipant and substage in order to put together some places located in different regions within a stage in the same region. Therefore, the RBSC protocol decreases the overhead of stage works. Consequently, the RBSC protocol decreases the total execution time of mobile agents.
Conference Paper
Full-text available
This paper presents an overview of JAMES, a Java-based platform of mobile agents that is mainly oriented for the management of data and telecommunication networks. This platform has been developed on behalf of a Eureka Project (∑!1921) and the project partners are Siemens SA, University of Coimbra and Siemens AG. We describe the main architecture of the platform giving more emphasis to the most important features. To show the effectiveness of some of the techniques that have been implemented we will present some performance results that compare the JAMES platform with the Aglets Workbench. The main target of our platform is network management and telecommunication applications. In this line, we have done a Java-based implementation of SNMP that has been integrated within the platform. The industrial partners of our project (i.e. Siemens S.A.) have developed a prototype application for TMN performance management. Although it is still a prototype it is being used to validate the technological advantages of using mobile agents in the management of telecommunication networks.
Conference Paper
Full-text available
This paper presents a fault-tolerance protocol for mobile agent executions that tolerates long-term failures of agencies. If the agency where an agent execution is being performed fails for a long-time, the execution can be recovered and continue at another agency. This is not only important for avoiding a mobile agent execution to become blocked, but it also contributes for enforcing the autonomy of organizations in an open environment emitting mobile agents to execute applications that cross the boundary of autonomous organizations. The protocol presented in this paper is based on mobile agent replication and is a variation of the protocol described in [6]. Our protocol differs from the work in [6] mainly in the sense that an agent can execute more than a single atomic transaction at an agency; it integrates distributed storage of recovery information; and it supports partial recovery of the activity carried out at an agency. The motivation of this work is on building a support for the execution of open nested transactions with a set of mobile agents.
Conference Paper
Full-text available
It is not easy to make the decision of which messaging model to use in a mobile agent system. There are many different models to choose from and there are many forces influencing each model. We discuss five messaging models: Home-Proxy, Follower-Proxy, Email, Blackboard and Broadcast. We overview the forces that are the most important to all models and identify to what extent the forces influence the models. Our findings suggest that one should not use the Forwarder-Proxy model to build mobile agent systems. Instead, one should use the Blackboard approach, especially when agents require only anonymous messaging. In the case when anonymous messages cannot be used, your choice of model can be the Home-Proxy model, the Email model or the Broadcast model depending on which forces are more important to your application
Conference Paper
Full-text available
This paper presents a new framework for constructing mobile agents. The framework introduces the notion of agent hierarchy and inter-agent migration and thus allows a group of mobile agents to be dynamically assembled into a single mobile agent. It provides a powerful method to construct a distributed application, in particular a large-scale mobile application. To demonstrate how to exploit our framework, we construct an extensible and portable mobile agent system based on the framework. The system is implemented as a collection of mobile agents and thus can dynamically change and evolve its functions by migrating agents that offer the functions. Also, mobile agent-based applications running on the system can naturally inherit the extensibility and adaptability of the system
Article
Full-text available
The article discusses system-level issues and agent programming requirements that arise in the design of mobile agent systems. The authors describe several mobile agent systems to illustrate different approaches designers have taken in addressing these challenges. The following areas are discussed: agent mobility, naming, security issues, privacy and integrity, authentication, authorization and access control, metering and charging mechanisms, programming primitives, agent communication and synchronization primitives, agent monitoring and control primitives, and fault tolerance primitives
Article
Full-text available
The practicality of mobile agents hinges on realistic security techniques. Mobile agent systems are combination client/servers that transport, and provide an interface with host computers for, mobile agents. Transport of mobile agents takes place between mobile agent systems, which are located on heterogeneous platforms, making up an infrastructure that has the potential to scale to the size of any underlying network. Mobile agents can be rapidly deployed, and can respond to each other and their environment. These abilities expose flaws in current security technology. This article surveys the risks connected with the use of mobile agents, and security techniques available to protect mobile agents and their hosts. The inadequacies of the security techniques developed from the information fortress model are identified. They are the result of using a good model in an inappropriate context (i.e. a closed system model in a globally distributed networking computing base). Problems with commercially available techniques include: (1) conflicts between security techniques protecting hosts and mobile agents, (2) inability to handle multiple collaborative mobile agents, and (3) emphasis on the credentials of software instead of on the integrity of software to determine the level of trust.
Article
Full-text available
The technologies, architectures, and methodologies traditionally used to develop distributed applications exhibit a variety of limitations and drawbacks when applied to large scale distributed settings (e.g., the Internet). In particular, they fail in providing the desired degree of configurability, scalability, and customizability. To address these issues, researchers are investigating a variety of innovative approaches. The most promising and intriguing ones are those based on the ability of moving code across the nodes of a network, exploiting the notion of mobile code. As an emerging research field, code mobility is generating a growing body of scientific literature and industrial developments. Nevertheless, the field is still characterized by the lack of a sound and comprehensive body of concepts and terms. As a consequence, it is rather difficult to understand, assess, and compare the existing approaches. In turn, this limits our ability to fully exploit them in practice, and to further promote the research work on mobile code. Indeed, a significant symptom of this situation is the lack of a commonly accepted and sound definition of the term "mobile code" itself.
Article
Full-text available
Mobile agents have attracted considerable interest in recent years. In the context of mobile agents, fault tolerance is crucial to enable the integration of mobile agent technology into today's business applications. This article identifies two important properties for fault-tolerant mobile agent execution: nonblocking and exactly-once. Nonblocking ensures that the agent execution can proceed despite a single failure of the agent or the machine, for instance. Replication is the generally adopted mechanism to prevent blocking, but may lead to multiple executions of the agent (i.e., a violation of the exactly-once property), which is undesirable with operations that have side effects. Hence, we propose that fault-tolerant mobile agent execution be modeled as a sequence of agreement problems. Our approach is nonblocking and ensures exactly-once execution. FATOMAS, our prototype fault-tolerant mobile agent system, implements our approach. Its performance evaluation illustrates the overhead of the replication mechanisms.
Article
Full-text available
Internet applications face challenges that mobile agents and the adoption of enhanced coordination models may overcome. Each year more applications shift from intranets to the Internet, and Internet-oriented applications become more popular. New design and programming paradigms call help harness the Web's potential. Traditional distributed applications assign a set of processes to a given execution environment that, acting as local-resource managers, cooperating a network-unaware fashion. In contrast, the mobile-agent paradigm defines applications as consisting of network-aware entities-agents-which can exhibit mobility by actively changing their execution environment, transferring themselves during execution. The authors propose a taxonomy of possible coordination models for mobile-agent applications, then use their taxonomy to survey and analyze resent mobile-agent coordination proposals. Their case study, which focuses on a Web-based information-retrieval application, helps show that the mobility of application components and the distribution area's breadth can create coordination problems different from those encountered in traditional distributed applications
Article
Full-text available
Fault tolerance is fundamental to the further development of mobile agent applications. It ensures that the agent arrives at its destination and thus prevents a partial or complete loss of the agent. This paper surveys the current approaches to fault-tolerant mobile agent execution. Most of these approaches are based on replication. We propose a classification into temporal-replication-based and spatial-replication-based approaches and discuss the advantages and disadvantages of these approaches. 1
Conference Paper
Processes that roam a network-agents-present new technical challenges. Two are discussed here. The first problem, which arises in connection with implementing fault-tolerant agents, concerns how a voter authenticates the agents comprising its electorate. The second is to characterize security policies that are enforceable as well as approaches for enforcing those policies.
Article
Mobile agent technology pushes the flexibility of distributed computing to its limits since not only computations are distributed dynamically, the code that performs them is also distributed. Mobile agent is not always safe. Especially, the leakage of its sensitive data by malicious host may cause the great harm to users of Mobile Agent Systems(MAS). In this paper, we focus on the protection protocol for of mobile agent in multi-region mobile agent computing environment. To do this, we model the mobile agent execution and extract the new concept, post-confirmation. Using the post-confirmation concept, we propose the protection protocol for sensitive data of mobile agent in multi-region mobile agent computing environment. Proposed protocol securely prevents the leakage and improper usage of sensitive data of mobile agent and solves the scalability problem in multi-region mobile agent computing environment.
Article
The provision of a reliable communication infrastructure for mobile agents is still an open research issue. The challenge to reliability we address in this work does not come from the possibility of faults, but rather from the mere presence of mobility, which complicates the problem of ensuring the delivery of information even in a fault-free network. For instance, the asynchronous nature of message passing and agent migration may cause situations where messages forever chase a mobile agent that moves frequently from one host to another. Current solutions rely on conventional technologies that either do not provide a solution for the aforementioned problem, because they were not designed with mobility in mind, or enforce continuous connectivity with the message source, which in many cases defeats the very purpose of using mobile agents.In this paper, we propose an algorithm that guarantees delivery to highly mobile agents using a technique similar to a distributed snapshot. A number of enhancements to this basic idea are discussed, which limit the scope of message delivery by allowing dynamic creation of the connectivity graph. Notably, the very structure of our algorithm makes it amenable not only to guarantee message delivery to a specific mobile agent, but also to provide multicast communication to a group of agents, which constitutes another open problem in research on mobile agents. After presenting our algorithm and its properties, we discuss its implementability by analyzing the requirements on the underlying mobile agent platform, and argue about its applicability.
Article
It is important to note that the need to support ad-hoc and potentially mobile arrangements of devices in ubiquitous environments does not flt well within the traditional client/server architecture. We believe peer-to-peer communication ofiers a preferable alternative due to its decentralised nature, removing dependence on individual nodes. However, this choice adds to the complexity of the developers task. In this paper, we describe a two-tiered approach to address this problem: A lower tier employing peer-to-peer interactions for managing the net- work infrastructure and an upper tier providing a mobile agent based programming framework. The result is a general purpose framework for developing ubiquitous applications and services, where the underlying complexity is hidden from the developer. This paper discusses our on- going work; presenting our design decisions, features supported by our framework, and some of the challenges still to be addressed in a complex programming environment.
Article
this paper.IntroductionNew productsNew applicationsNew networksAbout "Mobile Agents"Enabling mobile agentsMobile agent paradigmMobile agent conceptsMobile agent technologyProgramming mobile agentsProgramming a placeProgramming an agentUsing mobile agentsMonitoring changing conditionsDoing time-consuming legworkUsing services in combinationThe user experienceHow agents provide the experienceVariations on the themeAcknowledgmentsRelated workReferencesIntroduction
Article
An abstract is not available.
Article
Peer-to-Peer networks continue to grow in popularity. However network resource discovery still remains a substantial problem within them. In this paper we will cover some of the more popular current solutions to this problem. We will then propose a mobile agent based solution to allow for dynamic network resource discovery.
Article
The vision of ubiquitous computing projects a multitude of computers surrounding people. The ubiquitous environment is to sup-port people in their everyday life in an inconspicuous and unobtrusive way. This requires that information of the person and her preferences, liking, and habits are available in the ubiquitous system. Since mobility is in the nature of people the system has to ensure that the informa-tion moves with the persons. One possibility is to store a mobile virtual reflection of the person in the ubiquitous environment. This reflection should follow people in the virtual world. The paradigm of the mobile agents ideally matches here to represent mobile objects by mobile virtual objects. This paper introduces a ubiquitous mobile agent system called UbiMAS that is used to accompany and lead persons in an office build-ing with smart doorplates. The agent system is based on an ubiquitous middleware which uses a JXTA peer-to-peer network as communication infrastructure.
Chapter
Use of the Internet and the World-Wide-Web has become widespread in recent years and mobile agent technology has proliferated at an equally rapid rate. In this paper, we introduce the Concordia infrastructure for the development and management of network-efficient mobile agent applications for accessing information anytime, anywhere, and on any device. Concordia has been implemented in the Java language to ensure platform independence among agent applications. The design goals of Concordia have focused on providing complete coverage of flexible agent mobility, support for agent collaboration, agent persistence, reliable agent transmission, and agent security. Concordia offers a flexible scheme for dynamic invocation of arbitrary method entry points within a common agent application and extends the notion of simple agent interaction with support for agent collaboration, which allows agents to interact, modify external states (e.g., a database), as well as internal agent states. Concordia provides support for agent persistence and recovery and guarantees the transmission of agents across a network. Concordia has also been designed to provide for fairly complete security coverage from the outset. An alpha release of Concordia is available.
Conference Paper
In this paper, we will propose a message transferring model between mobile agents using broadcasting the receiving notification of message by home site creating the corresponding mobile agent or Mobile Agent Name Server(MANS) in the current region of the corresponding mobile agent. Proposed message transferring model adapts the previous broadcasting scheme for transferring the message between mobile agents located in other sites. However, it only broadcasts the receiving notification of message instead of message itself. Proposed message transferring model reduces the communication cost occurred between the home site and the current site of mobile agent by only broadcasting the receiving notification of message instead of message itself and solves the scalability problem in multi-region mobile agent computing environment by using the MANS.
Article
The recent development of telecommunication networks has contributed to the success of applications such as information retrieval and electronic commerce, as well as all the services that take advantage of communication in distributed systems. In this area, the emerging technology of mobile agents aroused considerable interest. Mobile agents are applications that can move through the network for carrying out a given task on behalf of the user. In this work we present a platform called MAP (Mobile Agents Platform) for the development and the management of mobile agents. The language used both for developing the platform and for carrying out the agents is Java. The platform gives the user all the basic tools needed for creating some applications based on the use of agents. It enables us to create, run, suspend, resume, deactivate, reactivate local agents, to stop their execution, to make them communicate each other and migrate.
Conference Paper
Communication between mobile agents and their users is an interesting but largely unresearched topic with important applications. We investigate the various types of interaction required and propose a versatile, easy-to-implement and secure WWW-based method to allow mobile agents to interact with arbitrary users.
Conference Paper
An open problem in mobile agent research is the interaction between agents in different `worlds'. In this paper, we survey various approaches to agent interaction and discuss the interoperation between Telescript and ffMAIN agents through the use of the Hypertext Transfer Protocol (HTTP) and the shared information space provided by ffMAIN. Keywords: mobile agents, interaction, HTTP, Telescript, ffMAIN, KQML 1 Introduction Mobile agents---programs that can move around in a computer network on behalf of their users---are attracting more and more attention. Various research efforts take place in this area, for example TACOMA (Tromsø and Cornell, [1]), Ara (Universit at Kaiserslautern, [2]), Mole (Universitat Stuttgart, [3]), and the projects InAMoS and InAVAS of the DAI Laboratory/TU Berlin [4]. Several interpreted languages are suitable for the programming of mobile code. Among them Java [5], Tcl (with extensions like [incr tcl] or AgentTcl) [6], Python [7], and Perl [8]. Commercially a...
Article
uage for mobile agents in e-commerce. To free your agents and yourself to get the best deals online, write them in Java. And hope everyone else does too. 92 March 1999/Vol. 42, No. 3 COMMUNICATIONS OF THE ACM process migration by allowing remote programming to occur without having to transmit the process control data from the source to the destination host. Despite their help reducing network bandwidth, remote evaluation systems lacked the ability to encapsulate more state information into the executable program at the remote host. Mobile objects (based on formal object-oriented programming techniques) extended remote evaluation by capturing more program behavior within the mobile object. Such objects can migrate from node to node while carrying executable code, data in the form of object-specific properties, and potentially other embedded executable objects. A number of mobile object systems were popular in the 1980s, but the one that cou
Article
Aglets, a framework and runtime platform for mobile agents developed by the IBM Tokyo Research Laboratory, is an advanced system of mobile agents written in Java, and is already used in some commercial applications. Using mobile agent technologies provides potential benefits to applications, but they also pose security threats to those applications. These threats not only come as malicious agents, but also in the form of malicious hosts. In this paper we introduce security features against these threats. Access control and message protection can prevent attacks by malicious agents. Server authentication allows agents to avoid movement to malicious hosts and blocks suspicious agents coming from malicious hosts.
Article
We describe a mobile agent application for distributed searching of the global Usenet network, implemented on top of the Ara mobile agent system. After short overviews of Ara and the Usenet, the application is presented in detail, beginning with some critical thoughts on mobile agent applications in general. The function and performance of the search application is described then, demonstrating the advantage of using mobile agents over an equivalent stationary implementation of the same application under certain con- ditions, and also discussing the limits of such conditions. This is followed by descriptions of the language to express the search queries and of the search algorithms employed. The application presentation closes with a critical discussion. The paper then concludes with some observations about mobile agent programming in general.
Article
This article investigates if and how mobile agents can execute secure electronic transactions on untrusted hosts. An overview of the security issues of mobile agents is first given. The problem of untrusted (i.e., potentially malicious) hosts is one of these issues, and appears to be the most difficult to solve. The current approaches to counter this problem are evaluated, and their relevance for secure electronic transactions is discussed. In particular, a state-of-the-art survey of mobile agent-based secure electronic transactions is presented. Categories and Subject Descriptors: A.1 (Introductory and Survey); E.3 (Data Encryption); K.6.5 (Management of Computing and Information Systems): Security and Protection
Article
25 pages In this paper we present different possible approaches for locating mobile agents and introduce a classification for them. We will use this classification to categorize mechanisms proposed in standards and implemented in mobile agent systems. Then we assess the different mechanisms regarding their fault tolerance, their message complexity and the migration delay they induce. We conclude by combining the different assessments to allow a comparison of all mechanisms
Article
Orphan detection 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 controlling mobile mobile agents and for orphan detection is presented. The “shadow” approach presented in this paper uses the idea of a placeholder (shadow) which is assigned by the agent system to each new agent. This defines an artificial relationship between agents and shadow. The shadow records the location of all dependent agents. Removing the root shadow implies that all dependent agents are declared orphan and are eventually be terminated. We introduce agent proxies that create a path from shadow to every agent. In an extension of the basic protocol we additionally allow the shadow to be mobile. The shadow approach can be used for termination of groups of agents even if the exact location of each single agent is not known.
Conference Paper
This paper proposes a mobile-agent-based middleware that benefits remote computer users who wish to mutually offer their desktop computing resource to other Internet group members while their computers are not being used. Key to this resource exchange grid is the use of mobile agents. Each agent represents a client user, carries his/her job requests, searches for resources available for the request, executes the job at suitable computers, and migrates it to others when the current ones have become unavailable for use. All the features of job migration will be encapsulated in a user program wrapper that is implemented on Java layer between a mobile agent and the corresponding user program. The wrapper maintains the complete execution state of the user program, is carried by the mobile agent upon a job migration, and restores its user program its destination. For this purpose, a user program is preprocessed with JavaCC and ANTLR to include check-pointing functions before its execution. These functions periodically save the execution state of a user program into its corresponding program wrapper, which can thus be carried by an agent smoothly.
Conference Paper
An important technical hurdle blocking the adoption of mobile agent technology is the lack of reliability. Designing a reliable mobile agent system is especially challenging since a mobile agent is potentially affected by failure of any host that it visits, or failure of any communication link that it needs to traverse. Previous work in this domain has attempted techniques such as periodic checkpointing of mobile agent state and restarting upon machine or communication recovery. Such approaches render an agent unavailable until a machine or a communication link itself recovers. In this paper, we take an alternate approach based on the premise that a mobile agent can often complete its task in more than one way. We capture such redundancy in non-deterministic constructs in the agent language and maintain state about an agent's actual computational path in its possible computational tree. We design and implement a distributed recovery scheme that detects a failure, rolls back an agent's computation, and restarts the agent from a previous point in its computational tree down a different but equivalent computational path without waiting for the actual failure itself to be repaired
Conference Paper
In this paper, we will address the list of problems that have to be solved in mobile agent systems and we will present a set of fault-tolerance techniques that can increase the robustness of agent-based applications without introducing a high performance overhead. The framework includes a set of schemes for failure detection, checkpointing and restart, software rejuvenation, a resource-aware atomic migration protocol, a reconfigurable itinerary, a protocol that avoids agents to get caught in node failures and a simple scheme to deal with network partitions. At the end, we will present some performance results that show the effectiveness of these fault-tolerance techniques
Conference Paper
Mobile agent technology has been proposed for various fault-sensitive application areas, including electronic commerce, systems management and active messaging. Due to the autonomy of mobile agents, there is no natural instance that monitors the progress of an agent's execution. As a result, agents may be lost or blocked due to node crashes or network partitioning even if there are other nodes available that could continue processing. In this paper, we describe a protocol that provides exactly-once semantics of agent execution and additionally reduces the blocking probability of agents by introducing observer nodes for monitoring the progress of agents. This protocol is based on conventional transactional technology such as defined by X/Open DTP or CORBA OTS. It is being implemented in Mole, a mobile agent system developed at Stuttgart University
Article
Agents' mobility makes it difficult for them to deliver messages reliably, but a new system could change that. To asynchronously deliver messages to a mobile agent, the reliable asynchronous message delivery (RAMD) protocol places a "blackboard" in each region server for sharing information. RAMD also relates message delivery with a mobile agent's migration, thus addressing the tracking and message-delivery problems'
Article
Finding the position of a mobile agent in a wide distributed system still represents an open research issue. The paper proposes a naming scheme and a location protocol of general validity for mobile agents able to effectively meet all the typical requirements of mobile agent environments and, thus, easy to integrate into different platforms. The paper identifies the main characteristics which an agent naming scheme and a location protocol of general validity should have, and suggests some properties and parameters to be taken into account to evaluate the effectiveness of naming schemes and location protocols. Then, we propose a "human readable" agent naming scheme based on the distributed environment outlined in MASIF, and a suitable location finding protocol called the Search-By-Path-Chase. Both of them are compared with some of the solutions already provided, using the properties and the parameters suggested. The performances are finally evaluated by means of a set of measurements.
Article
D'Agents is a general-purpose mobile-agent system that has been used in several informationretrieval applications. In this paper, we rst examine one such application, operational support for military eld personnel, where D'Agents greatly simpli es the task of providing ecient, application-speci c access to remote information resources. After describing the application, we discuss the key dierences between D'Agents and most other mobile-agent systems, notably its support for strong mobility and multiple agent languages. Finally, we derive a small, simple application that is representative of many information-retrieval tasks, including those in the example application, and use this application to compare the scalability of mobile agents and traditional client/server approaches. The results con rm and quantify the usefulness of mobile code, and perhaps more importantly, con rm that intuition about when to use mobile code is usually correct. Although signi cant additional experiments are needed to fully characterize the complex mobile-agent performance space, the results here help answer the basic question of when mobile agents should be considered at all, particularly for information-retrieval applications.
Article
Due to its salient properties, mobile agent technology has received a rapidly growing attention over the last few years. Many developments of mobile agent systems are under way in both academic and industrial environments. In addition, there are already various efforts to standardize mobile agent facilities and architectures. Mole is the first Mobile Agent System that has been developed in the Java language. The first version has been finished in 1995, and since then Mole has been constantly improved. Mole provides a stable environment for the development and usage of mobile agents in the area of distributed applications. In this paper we describe implementation techniques for mobility, present communication concepts we implemented in Mole, discuss security concerning Mobile Agent Systems, and present system services provided by Mole.
Article
The use of mobile agent technology has been proposed for various fault-sensitive application areas, including electronic commerce and system management. A prerequisite for the use of mobile agents in these environments is that agents have to be executed reliably, independent of communication and node failures. In this article, we present two approaches improving the level of fault-tolerance in agent execution. The introduction of an itinerary concept allows to specify an agent's travel plan flexibly and provides the agent system with the possibility to postpone the visit of currently unavailable nodes or to choose alternative nodes in case of node failures. The second approach is a recently proposed fault-tolerant protocol to ensure the exactly-once execution of an agent. With this protocol, agents are preformed in stages. Each stage consists of a number of nodes. One of these nodes executes the agent while the others monitor the execution. After a summary of this protocol, we focus on the construction of stages. In particular, we investigate how the number of nodes per stage influences the probability of an agent to be blocked due to failures and which nodes should be selected when forming a stage to minimize the protocol overhead.
Article
this paper we present and explore a new programming paradigm for distributed systems, which differs from those mentioned above in its basic philosophy. The main concept is mobile agents, which are self-contained autonomous programs that have their own identity and behavior. Mobile agents can navigate through the underlying computational network, perform various tasks at the nodes they visit, and coordinate their activities with other agents participating in the distributed computation. We have developed a mobile agent system, called MESSENGERS, which we will use to illustrate concepts underlying generalpurpose distributed programming using mobile agents. The mobile agents in the MESSENGERS system are referred to as Messengers (Bic, 1995; Bic, et al., 1996; Fukuda, et al., 1999; Fukuda, et al., 1998; Fukuda, et al. 1997)
Article
For seven years, the Tacoma project has investigated the design and implementation of software support for mobile agents. A series of prototypes has been developed, with experiences in distributed applications driving the e#ort. This paper describes the evolution of these Tacoma prototypes, what primitives each supports, and how the primitives are used in building distributed applications.
Article
Processes that roam a network---agents---present new technical challenges. Two are discussed here. The first problem, which arises in connection with implementing fault-tolerant agents, concerns how a voter authenticates the agents comprising its electorate. The second is to characterize security policies that are enforceable as well as approaches for enforcing those policies.