Integrating Peer-To-Peer and Multi-Agent Technologies for the Realization of Content Sharing Applications

Integrating Peer-To-Peer and Multi-Agent Technologies for the Realization of Content Sharing Applications

Integrating Peer-to-Peer and Multi-agent Technologies for the Realization of Content Sharing Applications Agostino Poggi and Michele Tomaiuolo1 Abstract. The combination of peer-to-peer networking and multi-agent systems seems be a perfect solution for the realization of applications that broaden on the Internet. In fact, while peer-to-peer networking infrastructures and protocols pro- vide the suitable discovery and communication services necessary for developing effective and reliable applications, multi-agent systems allow to realize autono- mous, social, reactive and proactive peers that make the development of intelligent and flexible application possible. This paper presents how JADE, one of the most known software framework for the development of multi-agent systems, has been extended to take advantage of the JXTA networking infrastructure and protocols, and describes a system, called RAIS, that has been realized thanks to such ex- tended version of the JADE software framework and that provides a set of ad- vanced services for content sharing and retrieval. 1 Introduction The combination of the distributed capabilities of peer-to-peer networks with multi-agent systems appears to be very promising since it will allow the transpar- ent access to large-scale distributed resources while maintaining high-availability, fault tolerance and low maintenance application deployment through self- organization. Moreover, multi-agent systems can be considered an appropriate framework for the realization of peer-to-peer applications, because they have always been thought as networks of equal peers providing some properties, i.e., autonomy, social ability, reactivity and pro-activeness, that might be very useful for the realization of the new generations of peeer-to-peer applications [1]. This paper presents how JADE, one of the most known software framework for the development of multi-agent systems, has been extended to take advantage of Agostino Poggi · Michele Tomaiuolo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma, Viale U.P. Usberti 181A, 43100 Parma, Italy e-mail:{Agostino.Poggi,Michele.Tomaiuolo}@unipr.it Soro et al. (Eds.): Inform. Retrieval and Mining in Distrib. Environments, SCI 324, pp. 93–107. springerlink.com © Springer-Verlag Berlin Heidelberg 2010 94 A. Poggi and M. Tomaiuolo the JXTA networking infrastructure and protocols, and describes a system, called RAIS, that has been realized thanks to such extended version of the JADE soft- ware framework and that provides a set of advanced services for content sharing and retrieval. The next section discusses relevant works in the field of integration of P2P and MAS. Section three introduces JADE. Section four introduces how JXTA technology was used for improving JADE discovery and communication services. Section five describes RAIS. Finally, section six concludes the paper discussing about the experimentation of the RAIS system and sketching some future research directions. 2 Related Work Peer-to-peer technologies have been already used in the development of multi- agents systems. RETSINA [2,3] is a multi-agent infrastructure that uses the Gnutella network and some DHT based protocols for extending the discovery services. DIAS [4] is a distributed system for the management of digital libraries based on a network of middle-agents that interacts thanks to some peer-to-peer routing algorithms. Anthill [5] is a mobile agent system that can be used for the realization of peer-to-peer applications by providing a JXTA [6] based network infrastructure where agents can move to perform the required tasks. A-peer [7] is a multi-agent-based P2P system where agents rely on hierarchically arranged adver- tising elements to find the services they need from other agents.. Bertolini and his colleagues [8] use the JXTA infrastructure as a communication environment for realizing distributed multi-agent systems. Gorodetsky and his colleagues [9] pre- sent a peer-to-peer agent platform implementing basic mandatory components of the peer-to-peer agent platform functional architecture [10]. Therefore, a multi- agent system is based on structured Chord network implemented as application layer set up on top of a peer-to-peer network. Moreover, multi-agents systems have been already used for improving the typi- cal peer-to-peer applications, i.e., the decentralized sharing of computer resources [11,12]. Zhang and his colleagues [13] propose a mediator-free multi-agent infor- mation retrieval system that provides some context-sensitive searching algorithms based on the various topologies of peer-to-peer networks. ACP2P (Agent Com- munity based Peer-to-Peer) [14] is an information retrieval system that uses agent communities to manage and look up information related to users. In such a system an agent works as a delegate of its user and searches for information that the user wants by communicating with other agents. Kungas and Matskin [15] describe a multi agent system for distributed composition of semantic web services, where agent and service discovery is facilitated through the use of a peer-to-peer infra- structure. Zhang [16] proposes a peer-to-peer multi-agent system that supports the execution of e-commerce tasks by facilitating a dynamic partner selection and enabling the use of heterogeneous agents. Integrating Peer-to-Peer and Multi-agent Technologies 95 3 JADE JADE (Java Agent DEvelopment framework) [17,18] is a software framework designed to aid the development of agent applications in compliance with the FIPA specifications [19] for interoperable intelligent multi-agent systems. The purpose of JADE is to simplify development while ensuring standard compliance through a comprehensive set of system services and agents. JADE is an active open source project, and the framework together with documentation and exam- ples can be downloaded from JADE Home Page [20]. JADE is fully developed in Java and is based on the following driving principles: • Interoperability: JADE is compliant with the FIPA specifications. As a conse- quence, JADE agents can interoperate with other agents, provided that they comply with the same standard. • Uniformity and portability: JADE provides a homogeneous set of APIs that are independent from the underlying network and Java version (edition, configura- tion and profile). More in details, the JADE run-time provides the same APIs both for the J2EE, J2SE and J2ME environment. In theory, application devel- opers could decide the Java run-time environment at deploy-time. • Ease of use: the complexity of the middleware is hidden behind a simple and intuitive set of APIs. • Pay-as-you-go philosophy: programmers do not need to use all the features provided by the middleware. Features that are not used do not require pro- grammers to know anything about them, neither they add a computational overhead. Fig. 1 Architecture of a JADE multi-agent system 96 A. Poggi and M. Tomaiuolo JADE includes: i) the libraries (i.e., the Java classes) required to develop the application specific agents, ii) the implementation of the two management agents that a FIPA compliant agent platform must provide, i.e., the AMS (Agent Man- agement System) agent and the DF (Directory Facilitator) agent, and iii) the run- time environment that provides the basic services and that must be active on the device before agents can be executed. Each instance of the JADE run-time is called container (since it “contains” agents). The set of all containers is called platform and it provides a homogeneous layer that hides to agents (and to applica- tion developers) the complexity and the diversity of the underlying technologies (hardware, operating systems, types of network, JVM, etc.). Figure 1 draws the architecture of a JADE multi-agent system deployed on a set of heterogeneous computing nodes. JADE is extremely versatile and therefore it both fits the constraints of envi- ronments with limited resources and has already been integrated into complex architectures such as .NET or J2EE [21] where JADE becomes a service to exe- cute multi-party proactive applications. The JADE run-time memory footprint, in a MIDP1.0 environment, is around 100 KB, but can be further reduced until 50 KB using the ROMizing technique [22], i.e., compiling JADE together with the JVM. The limited memory footprint allows installing JADE on all mobile phones provided that they are Java-enabled. Analyses and a benchmarks of scalability and performance of the JADE Message Transport System are reported by different works [23,24]. Moreover, JADE supports mobility of code and of execution state. That is, an agent can stop running on a host, migrate on a different remote host (without the need to have the agent code already installed on that host), and restart its execu- tion from the point it was interrupted. In particular, JADE implements a form of not-so-weak mobility because the stack and the program counter cannot be saved in Java. This functionality allows, for example, distributing computational load at runtime by moving agents to less loaded machines without any impact on the application. 4 Jade and Peer-to-Peer Systems JADE is based on a peer-to-peer communication architecture. The intelligence, the initiative, the information, the resources and the control can be fully distributed across mobile terminals as well as computers connected to the fixed network. The environment evolves dynamically together with peers – that in JADE are called agents – that appear and disappear in the system according to the needs and the requirements of the application domain. Communication between the peers, re- gardless of whether they are running in a wireless or wired network is completely symmetric with each peer being able to play both initiator and responder roles. Nevertheless, JADE does not exploit some important features of modern peer-to-peer networks, in particular: Integrating Peer-to-Peer and Multi-agent Technologies 97 1. the possibility of building a completely distributed, global index of resources and services, without relying on any centralized entity, and 2.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    16 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us