Middleware Specification” a Generic Discovery
Service (GDS) is described, to discover agents and
services deployed on FIPA platforms working
together in a peer-to-peer network. RAIS integrates
a JXTA-based Agent Discovery Service (ADS),
which has been developed in the respect of relevant
FIPA specifications to implement a GDS. This way,
each RAIS platform connects to the Agent Peer
Group, as well as to other system-specific peer
groups. The Generic Discovery Protocol is finally
used to advertise and discover df-agent-descriptions,
wrapped in Generic Discovery Advertisements, in
order to implement a DF service, which in the
background is spanned over a whole peer group.
Different techniques and software tools can be
used for searching information in a local repository.
If the information is stored in form of files, the
Google desktop search system can be considered a
suitable solution because Google provides an SDK
for developing plug-ins based on its desktop search
system. The API that comes with the SDK uses
COM objects, so it’s not directly available for JAVA
development, but a bridge between the API and
JAVA is provided by the Open Source project
GDAPI. Google desktop search indexes the content
of the files of a local drive in a way similar to the
Google Web crawler, providing a searching engine
fast, effective and with the support for a wide range
of file formats.
As introduces before, authentication and
authorization are performed on the basis of the local
knowledge base of trusted users, though they can be
delegated to external entities through an explicit,
certificate based, delegation. In this sense, the
system completely adheres the principles of trust
management. The definition of roles and attributes is
also made in a local namespace, and the whole
system is, in this regard, completely distributed.
Local names are distinguished by prefixing them
with the principal defining them, i.e., an hash of the
public key associated with the local agent platform.
Links among different local namespace, again, can
be explicitly defined by issuing appropriate
certificates. The theory of RAIS delegation
certificates is founded on SPKI/SDSI specifications
(Ellison et al., 1999), though the certificate encoding
is different. As in SPKI, principals are identified by
their public keys, or by a cryptographic hash of their
public keys. Instead of s-expressions, RAIS uses
XML signed documents, in the form of SAML
assertions, to convey identity, role and property
assignments. As in SPKI, delegation is possible if
the delegating principal issues a certificate whose
subject is a name defined by another, trusted,
principal. The latter can successively issue other
certificates to assign other principals (public keys) to
its local name. In this sense, local names act as
distributed roles (Li et al., 2003).
Finally, the extraction of a digest for each search
result is required to avoid the presentation of
duplicate results to the user. This feature is provided
by a Java implementation of the hash function MD5
(Rivest, 1992).
4 CONCLUSIONS
In this paper, we presented a peer-to-peer multi-
agent system, called RAIS (Remote Assistant for
Information Sharing), supporting the sharing of
information among a community of users connected
through the internet.
RAIS is implemented on the top of well known
technologies and software tools for realizing: i) the
agent platforms, i.e., JADE, ii) the peer-to-peer
infrastructure, i.e., JXTA, iii) the searching of
information into the local repository, i.e., Google
Desktop Search, and iv) the authentication and
authorization infrastructure, i.e., SPKI/SDSI
specifications and the SAML assertions. Therefore,
RAIS can be considered something more than a
research prototype that couples the features of Web
searching engines and of peer-to-peer systems for
the sharing of information. First, RAIS improves the
security rules provided to check the access of the
users to the information. In addiction, it offers a
similar search power of Web search engines, but
avoids the burden of publishing the information on
the Web and guaranties a controlled and dynamic
access to the information. Moreover, the agent based
implementation simplifies the realization of three
main features of the system: i) the filtering of the
information coming from different users on the basis
of the previous experience of the local user, ii) the
pushing of the new information that can be of
possible interest for a user, and iii) the delegation of
authorization on the basis of a network of reputation
built by the agents of the system on the community
of its users.
A first prototype of the RAIS system has already
been completed and experimented. The prototype
includes all basic features and a graphical user
interface simplifies the interaction between the user
and the system (see figure 2).
Practical tests on the first prototype were done
installing the system in different labs and offices of
our department asking some students and colleagues
to use it for sharing and exchanging information.
A MULTI-AGENT SYSTEM FOR INFORMATION SHARING
151