Parallel Computing: SoftwareTechnology, Algorithms, Architectures and Applications G.R. Joubert, W.E. Nagel, F.J. Peters and W.V. Walter (Editors) 9 2004 Elsevier B.V. All rights reserved.
905
Mobile Agent Application Fields* F. Agostaro a, A. Genco a, and S. Sorce a aUniversity of Palermo (Italy),
[email protected], {agostaro, sorce }@studing.unipa.it The paper discusses the highlights of three mobile agent application fields which are: Parallel and Distributed Computing, Data Mining and Information Retrieval, Networking. An overview of the development platforms is also discussed. 1. I N T R O D U C T I O N Mobile Agents are a recent paradigm for software design which extends object oriented programming features. An agent can perform its task autonomously; a mobile agent can carry out complex tasks which require the agent to migrate from a network place to another one. Mobile agent application fields are many. We can guess they will be more in the next future. In many cases Mobile Agents can replace web services; in other cases mobile agents and web services can be an effective solution together. 2. P A R A L L E L AND DISTRIBUTED C O M P U T I N G Probably, no novel middleware system will ever be capable of making the internet a valid communication subsystem for parallel computing, especially if one is dealing with a number crunching application, a synchronous algorithm and frequent communication between processes. If time constraints are also a requirement, there is no better option than a dedicated parallel machine. Nevertheless, a wide number of parallel applications can be rearranged according to the distributed computing paradigm, thus making them right for execution in heterogeneous network systems with best effort communication. Many packages were developed to this end, such as PVM, MPI, Linda, Express, and so on, each giving an effective solution to the load balance problem, even performed in a dynamical fashion. Mobile agents allow programmers to arrange new load balance strategies in a more reliable way than the Remote Procedure Call paradigm. A distributed system can use mobile agents to perform process migration with both data and code shipping. On the base of their strong migration capability, we can say mobile agents are the most suitable solution when the communication subsystem is the one provided by the internet and no guarantee can be given about a constant bit rate for data interchange. Here we shortly discuss some platforms which implement mobile agents for parallel distributed computing. *This work has been partly supported by the CNR (National Research Council of Italy) and partly by the MIUR (Ministry of the Instruction, University and Research of Italy).
906 2.1. BOND
BOND [Marinescu 2002] is a Java based, FIPA [FIPA SC00001L and XC00086D] compliant agent framework which is used to implement various kind of application such as MPEG video streaming, stock selection, partial differential equation solving, user group schedule management. Key features of the BOND Agent framework are: 9 multi-plane state machine agent model, 9 component-based architecture, 9 Python [Rossum 2003] based agent description language [Shread 2002], 9 strong emphasis on introspection, 9 visual modelling and software verification, 9 dynamic agent behaviour (agent assembly, mobility, surgery, trimming, and lazy loading of strategies). BOND is a framework for message passing in a distributed system. BOND provides capabilities to create, deploy, migrate code at different locations, and also provides means for communication between all the components of the system. BOND infrastructure is based on an architecture and communication mechanisms that provide messaging capabilities such that every object in the environment can send and receive messages from other local or remote objects. 2.2. N O M A D S
NOMADS [Suri 2000] is a mobile agent system that supports strong mobility and safe Java agent execution. The NOMADS environment is composed of two parts: an agent execution environment called "Oasis" and a new Java compatible Virtual Machine (VM) called "Aroma". The combination of Oasis and the Aroma VM provides key enhancements over today Java agent environments. Oasis is an execution environment which includes the AROMA virtual machine. It consists of two independent parts: a front end program for interaction and maintenance, and a backend environment for execution. The maintenance program allows system manager to perform administration tasks such as account creation, resource use restriction and so on. Each agent runs in a different virtual machine. The Oasis process holds all virtual machine instances for agent execution, policy manager and dispatcher. AROMA VM is a Java compliant virtual machine which allows a running agent to perform strong migration with the capability of capturing the execution status of individual thread, thread group, all threads in a virtual machine. WYA (While You're Away) is a NOMADS distributed system which uses idle workstations to run stand alone or parallel computations. WYA provides accounting information to allow workstation owners to have some economic benefits by letting their computation resources be shared.
907 2.3. J P V M JPVM (Java-PVM) [Ferrari 1997] needs to be mentioned because mobile agent platform are usually implemented by means of java programming. JPVM is a Java class library which implements all the standard PVM functions and it does not implements any mobile agent system. However, JPVM can be a good basis for mobile agent systems implementation, thus enabling a parallel virtual machine to perform process strong migration and dynamic load balance strategies.
3. DATA MINING AND INFORMATION RETRIEVAL Data mining and information retrieval systems often rely on centralised management. According to this approach, data are collected from remote sources to one central host, thus rising network load and communication cost. Mobile agents provide remote resources local access capabilities, so they are an interesting option for data mining and information retrieval system design. A mobile agent approach reduces data collection from remote sites and therefore also reduces communication costs. According to Glitho et al. [Glitho 2002] a mobile agent is sent to a server with the end of retrieving and processing information locally. SmartSystem is an information retrieval statistical system with a space-vector model to evaluate similarities among documents. SmartSystem runs within a stationary agent as a multifunction interface which provides the following facilities: Textual query which returns a list of relevant documents, Full document retrieval, similarity evaluation in each couple of listed documents. JAM [Stolfo 1997] is an agent based system which works as an operating system extension. JAM is a meta-learning system which supports network broadcasting of learning and metalearning agents towards distributed data bases. JAM implements a collection of distributed applications for learning and classification in a data-site network where each data-site includes: a local data base, one or more learning agents, one or more meta-learning agents, a local user configuration, some visual interfaces. JAM data sites are designed to cooperate each with the others exchanging classification and learning agents. Yang et al [Yang 1998 A] proposed an implementation of intelligent, customizable mobile software agents for document classification and retrieval which was carried out by means of the Voyager platform [Yang 1998 B]. Different approaches were used, as for instance, TFIDF (Term Frequency- Inverse Document Frequency), Bayesian and DistAl (neural network classifier), whose performances were evaluated by means of genetic alcorithms. An agent is sent to a remote site where it retrieves the documents (journal paper abstracts and news articles) which comply with a query. Then the documents are sent to the local site, and the agent is finally killed. The documents are finally classified by the user as interesting or not. This allow a data set to be created for agent training purpose. 3.1. DDM Some DDM (Distributed Data Mining) systems [Kargupta 2003] use client-server architectures and some mobile agents. Among these we can include: BODHI, PADMA, and KEPLER [Krishnaswamy 2000]. BODHI (Besizing Knowledge through Distributed Heterogeneous Induction) is being written in Java. Its main goal is to create a communication system and a runtime environment for collected data analysis. These should be independent from specific platform, particular learning
908 algorithm or given knowledge representation. PADMA (Parallel Data Mining Using Agents) uses an approach similar to JAM where agents are deployed according to source localisation. PADMA agents perform their data mining task in parallel, without merging results. KEPLER integrates different automatic learning algorithms. It can be improved by adding any learning algorithm into the system. It behaves as a "plug-in" and does not includes a decision mechanism. An external intervention is required each time a new algorithm must be selected for a given data mining session. 4. NETWORKING Traditional network management systems are based on a centralized approach, since network "intelligence" resides in a small number of specialized nodes. This kind of approach is not flexible enough (e.g. routing algorithms cannot be easily modified), and presents some serious drawbacks, especially for extensibility and scalability purposes. Moreover, network congestion is likely to occur near intelligent nodes. These drawbacks can be overcome by a different network design approach, based on decentralized management. A traditional centralised model was proposed by the IETF (Internet Engineering Task Force) and the ISO (International Standard Organisation). In the following we deal with a decentralised model which relies on cooperating mobile agents. These are instructed to store routing information across dynamic networks, which can be used to direct application agents inte optimal paths. The active network paradigm is a solution to the same problem, which can be more efficient, provided that an application can use router devices to run its own strategies. Mobile agent have the advantage of running in central memory and CPU, so they can implement more complex and effective logic. 4.1. Mobile agent based research works A wide discussion should be needed on various solution proposed in literature, each showing advantages and drawbacks. Here we can only review the main features, without entering in details. Sahai e Morin [Sahai 1998] proposed a Mobile network Manager (MNM) application to be run in laptop computer as an administrator assistant to remotely control a network, by means of mobile agents for distributed management. Many solution have to face scalability problems. Among these, Liotta et al. [Liotta 1999] deal with a mobile agent based management architecture. A multi-level strategy is adopted which allow simple monitoring mobile agents to be cloned in order to reduce deployment cost. 4.2. Mobile agent based active networks An active network can be programmed by end users [Psounis 1999], thus enabling intermediate nodes to perform computations in the OSI application layer. By this way end users can control network services according to information coded in their packets. Many active network architectures currently use code mobility [Fuggetta 1998], a paradigm which is very similar to mobile agents. The difference between active networks and mobile agent based network management, mainly is in terms of protocol encapsulation and maintenance services. A basic difference is that active networks run their management code at the network layer, Mobile agents are application programs obviously running at the application
9~
!
~9
Lm
Lm
~
=
~
~
0
~~'~ .~
~ .~ .~
o
0
o.
~
~
0
~
~ ~ ~.~ =
..
c~.~
~
.z
~<
"~ o
ra~
~0_ 0
+~0 ~
!
~=~ o o
0
Table 1 General Characteristics of the Selected Platforms
~
01-,
~
:.~~
~
~.~
909
910 layer. With reference to active network terminology, a mobile agent for network management can be seen as a particular active packet, and an agent host node a particular active node. Minaret al. [Minar 1998] proposed a dynamic network management model by the use of a mobile agent population which are defined by five main properties: 1. Strong migration; 2. primitive language level provided by the infrastructure for agent migration towards a near node; 3. agents must be small and can be used to arrange complex agents; 4. agent cooperation by memory sharing for complex operation; 5. agents can select and use all the resources of whatever node it is running in. Connectivity maintenance agents can be specialised according to an objective function. For instance, some management agents could perform economical actions to encourage selected traffic models [Gibney, 1998]. Some agents could be specific for low latency route maintenance even if this would require huge bandwidth. Agents could adapt network infrastructure to changing requirements. For instance, the usage cost of a partially idle gateway could be lowered down to increase traffic. Network management agents can be specialised according to user goals. This can be done, provided that users know what connections they need, and are capable of instructing application mobile agents to arrange a personal connectivity. 5. PLATFORMS The Mobile Agent Platform Assessment Report By the MIAMI Project [Bross 2000] gives an overview of the most popular mobile agent platforms available. Here we report Table 1 from that document which summarises the features of six platforms: April [McCabe 1993], ASDK [Lange 1998], D'Agents [Gray 1998], Grsasshopper [Covaci 1998], Odissey [GeneralMagicInc 1997], Voyager [Wheeler 2003]. We feel the need to add the JADE platform [Bellifemine 2003] to the list. JADE is FIPA compliant and provides useful java tools to implement agent behaviours ant ontology driven interactions. JADE is from Telecom Italia Lab. Finally, the Java 2 Platform Micro Edition, by SUN Microsystems [J2ME] is one of the most popular java platforms which enables mobile devices, such as cellular phones and PDA, to be used as execution environment for mobile agent distributed, mobile and ubiquitous computing applications. REFERENCES
[Bellifemine 2003] Bellifemine F., Caire G., Poggi A., Rimassa G. JADE: a White Paper, exp - Volume 3 - n. 3, http://exp, telecomitalialab.com, 2003 [Broos 2000] R. Broos, B. Dillenseger, P. Dini, T. Hong, A. Leichsenring, M. Leith, E. Malville, M. Nietfeld, K. Sadi, M. Zell, Mobile Agent Platform Assessment Report By the MIAMIProject, Edited for the CLIMATE Sub-cluster Agent Platforms, Editors A. Guther, M. Zell, http://www.ee.surrey.ac.uk/CCSR/ACTS/Miami/
911 [Covaci 1998] Stefan Covaci, Grasshopper The First Reference Implementation of the OMG MASIF Mobile Agent System Interoperability Facility, http://www.omg.org/docs/98-04-05.pdf [Ferrari 1997] Adam J. Ferrari, JPVM: Network Parallel Computing in Java, Technical Report CS-97-29, Department of Computer Science, University of Virginia, Charlottesville, VA 22903, USA, December 8, 1997 [FIPA SC00001L] FIPA- Foundation for Intelligent Physical Agents -Abstract Architecture Specification, SC00001 L,, www.fipa.org [FIPA XC00086D] FIPA - Foundation for Intelligent Physical Agents - Ontology Service Specification XC00086D, http://www.fipa.org, 2000 [Fuggetta 1998] A. Fuggetta, G. P. Picco, e G. Vigna, Understanding Code Mobility, IEEE Transaction on Software Engineering, 24(5), Maggio 1998. [GeneralMagicInc 1997] GeneralMagicInc. Odissey. 1997. available at http://www.genmagic.com/agents [Gibney 1998] M.A. Gibney, N.R. Jennings, Dynamic Resource Allocation by Market-Based Routing in Telecommunications Networks, Intelligent Agents for Telecommunication Applications, Proceedings of the Second International Workshop on Intelligent Agents for Telecommunication (IATA'98) [Glitho 2002] Glitho R.H., E. Olougouna, S. Pierre "Mobile Agents and their use for information retrieval: a brief overview and an elaborate case study" IEEE Network, Jan/Feb 2002, 34-41 [Gray 1998] Robert S. Gray, David Kotz, George Cybenko, Daniela Rus, D 'Agents: Security in a multiple-language, mobile-agent system, 1998, Lecture Notes in Computer Science [J2ME] http ://java. sun.com/j 2me/ [Kargupta 2003] Hillol Kargupta, DBWORLD Distributed Data Mining Bibliography, Date: Fri, 26 Sep 2003 21:29:28 -0500 (CDT http://www.csee.umbc.edu/~hillol/DDMBIB/) [Krishnaswamy 2000] S. Krishnaswamy, A. Zaslavsky, S.W.Loke An architecture to support distributed data mining services in e-commerce environments', Workshop on Advanced Issues of E-Commerce and Web/based Information Systems, 2000 [Lange 1998] D. Lange and M. Oshima, "Programming and Deploying Java Mobile Agents with Aglets ", Addison Wesly, 1998. [Liotta 1999] A.Liotta ,G.Knight, G.Pavlou, On the performance and scalability of decentralised monitoring using mobile agents, Proceedings of the 10th IFIP/IEEE International Workshop on Distributed Systems: Operations and Management (DSOM'99),Ottobre 1999, pp.3-18. [Marinescu 2002] Dan C. Marinescu, Internet-Based Workflow Management: Towards a Semantic Web, ISBN: 0-471-43962-2,WILEY-INTERSCIENCE, 2002 - Bond 2.2 Released on December 1st, 2001 [McCabe 1993] F. G. McCabe. The April reference manual. Technical report, Department of Computing, Imperial College, London, 1993 [Minar 1998] N. Minar, K. H. Kramer, P. Maes, "Cooperating Mobile Agents for Dynamic Network Routing", MIT Media Lab, Cambridge, USA, 1998. (http://nelson.www.media.mit.edu/people/nelson/research/routes-coopagents/) [Psounis 1999] K. Psounis, "Active Networks: Applications, Security, Safety and Architecture" IEEE Communications Surveys, First Quarter 1999. [Rossum 2003] Guido van Rossum, Python Tutorial Release 2.3.3,, PythonLabs, Fred L. Drake, Jr., editor, Email:
[email protected], December 19, 2003
912 [Sahai 1998] A. Sahai, C. Morin, Enabling a mobile network manager trough mobile agents, Proceedings of the Second International Workshop on Mobile Agents (MA'98), LNCS, vol. 1477, September 1998, pagg. 249-260. [Shread 2002] Paul Shread, Blueprint For A Decentralized World, February 7, 2002, http ://www.gridcomputingplanet.com/features/article.php/970541 [Stolfo 1997] S. Stolfo, A.L. Prodromidisz, S. Tselepis, W. Lee, D. W. Fan, P.K. Chan JAM: Java Agents for Meta-Learning over Distributed Databases, In Proc. of the 3rd Int. Conf. on Knowledge Discovery and Data Mining. Newport Beach, CA, pp. 74-81 Au- gust 1997 [Suri 2000] Niranjan Suri, Jeffrey M. Bradshaw, Maggie R. Breedy, Allan R.Ditzel, Gregory A. Hill, Brian R. Pouliot, David S. Smith, NOMADS: Toward an Environment for Strong and Safe Agent Mobilit, Proceedings of the Fourth International Conference on Autonomous Agents, 2000 [Yang 1998 A] J.Yang, V.Honavar, L. Miller, J. Wong "Intelligent Mobile agents for information retrieval and knowledge discovery from distributed data and knowledge sources", 99-102, 1998 [Yang 1998 B ] J.Yang, E Pai, V. Honavar, L. Miller, Mobile Agents for Document Classification ad Retrieval: a Machine Learning Approach, (1998), iastate.edu/~honavar/Paper...emcsr98.ps [Wheeler 2003] ThomasWheeler, Developing Peer Applications with Voyager, http://www.recursionw.com