NapletSocket:Socket Communications in Mobile Codes

Mobile codes refer to programs that function as they are transferred from one machine to another. The concept of code mobility represents a promising solution for today¡¯s network services for load balancing, fault resilience, system administration, etc. A special form of migration is mobile agent that has the ability to travel autonomously, carrying its code, as well as data and running state. Because of its unique properties, mobile agents have been the focus of much speculation in the past decade. The existence of code mobility causes problem for synchronous transient communication between mobile objects. I proposed a reliable connection migration mechanism that allowed mobile agents in communication to remain connected during their migration. This mechanism supports concurrent migration of both endpoints of a connection and guarantees exactly-once delivery of all transmitted data.

Security is a major concern in agent-oriented programming. Socket is a critical resource and its access must be fully controlled by agent servers. Connection migration is vulnerable to eavesdropper attacks. This is tackled by use of a session key to protect transactions over a connection from any malicious attacks. In addition, a mobile code access control model was integrated to ensure secure connection migration.

I designed the mechanism in a Naplet Mobile Agent system [1], and a reference implementation, namely NapletSocket, over Java Socket in a mobile agent system. Experimental results showed that NapletSocket incurs a moderate cost in connection setup, mainly due to security checking, and marginal overhead for communication over established connections. Furthermore, I investigated the impact of agent mobility on communication performance via simulation. Simulation results showed that NapletSocket is efficient for a wide range of migration and communication patterns.

Some initial results of NapletSocket were presented in [2]. An extended study focusing on reliability problem was in [3]. A full version is here.

References:
  1. Cheng-Zhong Xu. "Naplet: A flexible mobile agent framework for network-centric applications," Workshop on Internet Computing and e-Commerce (In conjunction with IPDPS), April 2002.
  2. Xiliang Zhong, and Cheng-Zhong Xu, "A Reliable Connection Migration Mechanism for Synchronous Transient Communication in Mobile Codes," International Conference on Parallel Processing (ICPP'04), Montreal, Canada, August 2004
  3. Xiliang Zhong, Cheng-Zhong Xu, and Haiying Shen, "A Reliable and Secure Connection Migration Mechanism for Mobile Agents," Workshop on Mobile Distributed Computing (in conjunction with ICDCS'04), Hachioji, Japan, March 2004.