The concept of mobile agent is not new; it comes from the idea of OS process migration firstly presented by Xerox in the 1980’s. The term mobile agent was introduced by White & Miller (1994), which supported the mobility as a new feature in their programming language called Telescript. This new research topic has emerged from a successful meeting of several sub-sciences: computer networks, software engineering, object- oriented programming, artificial intelligence, human-computer interaction, distributed and concurrent systems, mobile systems, telematics, computer-supported cooperative work, control systems, mining, decision support, information retrieval and management, and electronic commerce. It is also the fruit of exceptional advances in distributed systems field (Hirano 1997; Holder, Ben-Shaul, & Gazit 1999; Lange et al., 1999). The main idea of the mobile agent technology is to replace the old approach of the client-server Remote Procedure Call (RPC) paradigm, by a new one consisting of transporting and executing programs around a network. The results of the programs execution are then returned back to the sending entity. Figure 1 illustrates this new approach. Mobile agents are dynamic, non-deterministic, unpredictable, proactive, and autonomous entities. They can decide to exercise some degree of activities without being invoked by external entities. They can watch out for their own set of internal responsibilities. Agents can interact with their environment and other entities. They can support method invocation as well as more complex degree of interaction as for example the observable events reaction within their environment. They can decide to move from one server to another in order to accomplish the system global behavior.