Modeling Fault Tolerant and Secure Mobile Agent Execution in Distributed Systems

Author(s):  
H. Hamidi

The reliable execution of mobile agents is a very important design issue in building mobile agent systems and many fault-tolerant schemes have been proposed so far. Security is a major problem of mobile agent systems, especially when monetary transactions are concerned. Security for the partners involved is handled by encryption methods based on a public key authentication mechanism and by secret key encryption of the communication. To achieve fault tolerance for the agent system, especially for the agent transfer to a new host, we use distributed transaction processing. We propose a fault-tolerant approach for mobile agents design which offers a user transparent fault tolerance that can be activated on request, according to the needs of the task. We also discuss how transactional agents with different types of commitment constraints can commit transactions. Furthermore, we present a solution for effective agent deployment using dynamic agent domains.

2009 ◽  
pp. 2739-2751
Author(s):  
H. Hamidi ◽  
K. Mohammadi

A mobile agent is a software program which migrates from a site to another site to perform tasks assigned by a user. For the mobile agent system to support agents in various application areas, the issues regarding reliable agent execution, as well as compatibility between two different agent systems or secure agent migration, have been considered. Some of the proposed schemes are either replicating the agents (Hamidi & Mohammadi, 2005) or check-pointing the agents (Park, Byun, Kim, & Yeom, 2002; Pleisch & Schiper, 2001;) For a single agent environment without considering inter-agent communication, the performance of the replication scheme and the check-pointing scheme is compared in Park et al. (2002) and Silva, Batista, and Silva (2000). In the area of mobile agents, only few works can be found relating to fault tolerance. Most of them refer to special agent systems or cover only some special aspects relating to mobile agents, such as the communication subsystem. Nevertheless, most people working with mobile agents consider fault tolerance to be an important issue (Izatt, Chan, & Brecht, 1999; Shiraishi, Enokido, & Takzawa, 2003). Mobile agents are becoming a major trend for designing distributed systems and applications in the last few years and foreseeable future. It can bring benefits such as reduced network load and overcoming of network latency (Chan, Won, & Lyu, 1993). Nevertheless, security is one of the limiting factors of the development of these systems. The main unsolved security problem lies in the possible existence of malicious hosts that can manipulate the execution and data of agents (Defago, Schiper, & Sergent, 1998). Most distributed applications we see today are deploying the client/server paradigm. There are certain problems with the client/server paradigm, such as the requirement of a high network bandwidth, and continuous user-computer interactivity. In view of the deficiencies of the client/server paradigm, the mobile code paradigm has been developed as an alternative approach for distributed application design. In the client/server paradigm, programs cannot move across different machines and must run on the machines they reside on. The mobile code paradigm, on the other hand, allows programs to be transferred among and executed on different computers. By allowing code to move between hosts, programs can interact on the same computer instead of over the network. Therefore, communication cost can be reduced. Besides, mobile agent (Fischer, Lynch, & Paterson, 1983) programs can be designed to work on behalf of users autonomously. This autonomy allows users to delegate their tasks to the mobile agents, and not to stay continuously in front of the computer terminal. The promises of the mobile code paradigm bring about active research in its realization. Most researchers, however, agree that security concerns are a hurdle (Greenberg, Byington, & Harper, 1998). In this article, we investigate these concerns. First, we review some of the foundation materials of the mobile code paradigm. We elaborate Ghezzi and Vigna’s classification of mobile code paradigms (Ghezzi & Vigna, 1997), which is a collection of the remote evaluation, code on demand, and mobile agent approaches. In the next section, we address the current status of mobile code security. The following section presents the model for fault-tolerant mobile agent. In the next section, security issues of the mobile agent are discussed, and we discuss security modeling and evaluation for the mobile agent in the section after. In the following section, simulation results and influence of the size of agent are discussed. We then conclude the article.


Author(s):  
Paulo Marques

One central problem preventing widespread adoption of mobile agents as a code structuring primitive is that current mainstream middleware implementations do not convey it simply as such. In fact, they force all the development to be centered on mobile agents, which has serious consequences in terms of software structuring and, in fact, technology adoption. This chapter discusses the main limitations of the traditional platform-based approach, proposing an alternative: component-based mobile agent systems. Two case studies are discussed: the JAMES platform, a traditional mobile agent platform specially tailored for network management, and M&M, a component-based system for agent-enabling applications. Finally, a bird’s eye perspective on the last 15 years of mobile agent systems research is presented along with an outlook on the future of the technology. The authors hope that this chapter brings some enlightenment on the pearls and pitfalls surrounding this interesting technology and ways for avoiding them in the future.


2009 ◽  
pp. 3300-3319
Author(s):  
Paulo Marques ◽  
Luís Silva

One central problem preventing widespread adoption of mobile agents as a code structuring primitive is that current mainstream middleware implementations do not convey it simply as such. In fact, they force all the development to be centered on mobile agents, which has serious consequences in terms of software structuring and, in fact, technology adoption. This chapter discusses the main limitations of the traditional platform-based approach, proposing an alternative: component-based mobile agent systems. Two case studies are discussed: the JAMES platform, a traditional mobile agent platform specially tailored for network management, and M&M, a component-based system for agent-enabling applications. Finally, a bird’s eye perspective on the last 15 years of mobile agent systems research is presented along with an outlook on the future of the technology. The authors hope that this chapter brings some enlightenment on the pearls and pitfalls surrounding this interesting technology and ways for avoiding them in the future.


Author(s):  
Yu-Cheng Chou ◽  
David Ko ◽  
Harry H. Cheng

Agent technology is emerging as an important concept for the development of distributed complex systems. A number of mobile agent systems have been developed in the last decade. However, most of them were developed to support only Java mobile agents. Furthermore, many of them are standalone platforms. In other words, they were not designed to be embedded in a user application to support the code mobility. In order to provide distributed applications with the code mobility, this article presents a mobile agent library, the Mobile-C library. The Mobile-C library is supported by various operating systems including Windows, Unix, and real-time operating systems. It has a small footprint to meet the stringent memory capacity for a variety of mechatronic and embedded systems. This library allows a Mobile-C agency, a mobile agent platform, to be embedded in a program to support C/C++ mobile agents. Functions in this library facilitate the development of a multi-agent system that can easily interface with a variety of hardware devices.


Author(s):  
Najmus Saqib Malik ◽  
David Ko ◽  
Harry H. Cheng

This paper describes a secure migration process of mobile agents between agencies. Mobile-C is an IEEE Foundation for Intelligent Physical Agents (FIPA) standard compliant multi-agent platform for supporting C/C++ mobile and stationary agents. This secure migration process is inspired from Secure Shell (SSH). Before migration, both agencies authenticate each other using public key authentication. After successful authentication, an encrypted mobile agent is transferred and its integrity is verified. Mobile-C is specially designed for mechatronic and factory automation systems where, for correct system operations, agencies must accept mobile agents from trusted agencies. For this reason, the emphasis is on strong authentication of both agencies involved in migration process. Security aspects of other popular mobile agent systems are described briefly. A comparison study with SSH protocol is performed and future work is elaborated.


Author(s):  
Mohammed Hussain ◽  
David B. Skillicorn

Mobile agents are self-contained programs that migrate among computing devices to achieve tasks on behalf of users. Autonomous and mobile agents make it easier to develop complex distributed systems. Many applications can benefit greatly from employing mobile agents, especially e-commerce. For instance, mobile agents can travel from one e-shop to another, collecting offers based on customers’ preferences. Mobile agents have been used to develop systems for telecommunication networks, monitoring, information retrieval, and parallel computing. Characteristics of mobile agents, however, introduce new security issues which require carefully designed solutions. On the one hand, malicious agents may violate privacy, attack integrity, and monopolize hosts’ resources. On the other hand, malicious hosts may manipulate agents’ memory, return wrong results from system calls, and deny access to necessary resources. This has motivated research focused on devising techniques to address the security of mobile-agent systems. This chapter surveys the techniques securing mobile-agent systems. The survey categorizes the techniques based on the degree of collaboration used to achieve security. This categorization resembles the difference between this chapter and other surveys in the literature where categorization is on the basis of entities/ parts protected and underlying methodologies used for protection. This survey shows the importance of collaboration in enhancing security and discusses its implications and challenges.


Sign in / Sign up

Export Citation Format

Share Document