
Mobile device’s networking capabilities offer opportunities for a new range of applications. We consider here a service that allows mobile users taking part in virtual meeting rooms to share information and documents. The sharing is promoted by a recommender system that assists users browsing documents, by making recommendations in the form of URLs pointing to other documents, that users in the virtual room have explicitly decided to share. A multi-user recommender system is a complex application requiring communication, memory and computing resources, and does not lend itself to a port to mobile devices with limited resources and intermittent connectivity. For this reason, we decided to offload the computationally intensive part of the application to the infrastructure, and to introduce the idea of an intermediary located in the network infrastructure, which interacts with applications on behalf of the mobile device, thereby hiding away the intermittent connectivity details. Our vision is that of a mobile intermediary, called Shadow, that will always be in close vicinity with the mobile device. We show that multiple Shadows may co-exist, and we propose a protocol capable of coordinating them. We present an abstraction layer, hiding away communication and coordination details, which offers a substrate for building the distributed recommender system across mobile devices and fixed infrastructure. Implementation details of our application are also presented.
In many mobile agent systems, it is normal for mobile agents to be uninformed about the environment of a computer until they actually arrive at the computer. If the environment of computers is updated frequently, it is even more difficult to execute actions as expected. This paper introduces a new procedure for mobile agents that work in such dynamic world. The new procedure smoothly integrates planning, action execution, knowledge updates, and plan modifications.
In this paper, we present a fully distributed algorithm using mobile agents to achieve mutual exclusion in a networking environment. The algorithm is designed within a framework for mobile agent enabled distributed server groups (MADSG), where cooperating mobile agents (CMA) are used to achieve coordination among the servers. When it requests to execute in the critical section (CS), to achieve mutual exclusion, a node dispatches a mobile agent to obtain permissions from other nodes. The agent will travel across the nodes and exchange information with them until it obtains enough permissions to decide its order to enter the CS. The algorithm is based on the well-known Majority Consensus Voting (MCV) scheme but, under heavy demand, an agent needs not to contact a majority number of nodes. We show that the proposed algorithm achieves mutual exclusion and is free from deadlock and starvation. We also present the performance analysis in terms of the number of agent migrations and the synchronization delay.
This paper describes a framework for flexible data feeds in sensor grids where resource constraints, policies, and a dynamic topology are important factors. Mobile agents are used to dynamically establish the data flows and data transformations in the network. They also act as policy enforcers that are dynamically dispatched into the sensor network. A dynamic topology for the network is taken into consideration, where nodes can join and leave at any time. Mobile code provides the means to dynamically deploy capabilities to any participating host and strong mobility allows process migration between nodes to ensure feed survivability and load balancing. The proposed framework relies on a strong mobility agent system (NOMADS) and the KAoS framework for policy enforcement and is being currently used to support a military coalition agent scenario (CoAX 2002).
Recent work has shown that several cryptographic protocols for the protection of free-roaming mobile agents are vulnerable by means of protocol interleaving attacks. This paper presents equivalent protocols meant to be robust against this type of attack. Moreover, it describes the required processes and data structures at a level of detail that can be translated to an implementation in a straightforward way. Our aim is to demonstrate how cryptographic processing can be implemented transparently for agent programmers, thereby reducing the risks of human error in (secure) mobile agent programming.