<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Interoperability for Peer-to-Peer Networks: Opening P2P to the rest of the World</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Daniel Olmedilla</string-name>
          <email>olmedilla@l3s.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Matthias Palme´ r</string-name>
          <email>matthias@nada.kth.se</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>KMR group at CID/KTH, (Royal Institute of Technology)</institution>
          ,
          <addr-line>Lindstedtsv a ̈gen 5, Stockholm</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>L3S Research Center and Hanover University</institution>
          ,
          <addr-line>Expo Plaza 1, Hanover</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In the past, due to the lack of storage capacity and netDue to the information growth, distributed environments work bandwidth, especially in most desktop computers, dyare offered as a feasible and scalable solution where Peer- namic sharing of information from end user machines was to-Peer networks have become more relevant. They bring prohibitively costly. As a consequence, networks of commany advantages as high flexibility for peers to join or leave puters were mostly reduced to set of powerful connected the network dynamically, scalability, autonomy and high re- servers. In this configuration, it is relatively simple to know silience against peer failures. However, the use of propri- which servers are available and which information is availetary interfaces within the network and the requirement that able where to whom. This is also the typical architecture peers must implement them to join makes P2P networks un- in business coalitions where several companies share their able to interact with other systems and environments, iso- assets within a network of e.g. partners. lating the network as a whole. In this paper, we report on a On the other hand, with the boom of Web-based filesolution based on a proxy-based architecture and semantic sharing services (e.g., Napster, Gnutella, Morpheus), peermappings in order to allow the sharing of content between to-peer (P2P for brevity) networks have become more relpeers within a P2P network with content from other systems evant. The advantages of the P2P approach include: high outside the network. flexibility for peers to join or leave the network dynamically, scalability (recently it was shown that for really large networks, a hybrid solution with super-peers scales better [13]), Categories and Subject Descriptors autonomy as peers do not relinquish control over their reH.3.3 [Information Systems]: Information Storage and sources and high resilience against peer failures. The main Retrieval-Information Search and Retrieval ; C.2.4 [Computer disadvantages are that P2P networks require constant manSystems Organization]: Computer-Communication Net- agement, as peers join and leave continuously (producing an works-Distributed Systems extra load on the network and may slow response times during search) and the use of proprietary interfaces within the network (what usually means that only peers implementGeneral Terms ing such interfaces can query for or provide content in the Distributed Environments, Interoperability network). Obviously, peers must implement specific P2P network interfaces in order to join them. This means an extra effort</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>EDUTELLA</title>
      <p>Often, learning object providers do not want to abandon
control over their resources to a common server, even among
the members of a coalition. The same concern about
abandoning control also often applies to individuals, who may not
want to give away their content to any centralized
repository. Distributed environments have shown to be a
feasible solution for interconnection, integration and access to
large amounts of information that deal with this issue. P2P
networks are an example of the impact this distribution of
information might have in the sharing of information. In
such networks, peers can offer various services to the user
that range from search and delivery to personalization and
security services. In addition, they present a solution to the
information growth where every learning resource provider
offers its information but does not loose the control over it.</p>
      <p>
        The Edutella P2P network [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] was developed with these
principles as main design requirements. Edutella [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] is a
schema-based P2P network for an open world scenario in
which LO’s are freely offered (at not charge) and everybody
is able to join (no agreement with an existing member of the
network is required). It has various service facilities
implemented like for example query or publishing/subscription.
Schema-based means that peers interchange RDF meta-data
(data about data) among each other but not the resources
themselves, that is, they interchange information about e.g.
title, description, language and authors of a resource. This
information can be queried using the QEL query language [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]
(a Datalog based query language). Metadata interchange
and search services provide the basic infrastructure needed
to retrieve information about resources and services.
3.
      </p>
    </sec>
    <sec id="sec-2">
      <title>REQUIREMENTS AND ASSUMPTIONS</title>
      <p>It is important to note that we consider in this paper only
the sharing of metadata about LO’s. While this metadata
is typically available, the learning object itself might not be.
Therefore, we do not deal with negotiations for the actual
use of LO’s by users here.</p>
      <p>Admittedly, providing transparent access to all available
repositories would be easy if all players would use the same
metadata profile, query language, storage layer and
communication protocol. However, this is not going to happen in
the very near future due to the lack of a standard and the
proprietary solutions adopted by most of them.</p>
      <p>In the following, we explain what requirements LO’s
repositories must satisfy in order to achieve interoperability and
which are the assumptions within our network.</p>
      <p>
        Common Communication Protocol and Interface
Repositories provide different access methods and
interfaces, over, among others, Web Services, different
Remote Procedure Call methods, HTTP forms or even
other appropriate solutions. In order to be able to
communicate to each other, it is needed that they agree
on a common protocol and a common interface. In this
paper, we built on the methods specified in the
Simple Query Interface [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] initiative (SQI for brevity),
a rapidly maturing standard, using its Web Service
binding.
      </p>
      <sec id="sec-2-1">
        <title>Common Query Language</title>
        <p>At the lower levels of data management, metadata is
stored in different kinds of repositories, such as
relational databases, RDF repositories, file systems, XML
stores, etc. On top of this lower level, repositories
expose their content through different search and query
languages. Some examples are SQL, XQuery, QEL or
CQL. In our system we have several wrappers
implemented in order to provide access to the most common
repositories (relational databases, RDF repositories,
RDF files, etc...). For all them, the wrapper receives
a query in QEL and transforms it into the local query
language.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Common Metadata Profile</title>
        <p>
          Although IEEE LOM [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] is becoming a standard for
elearning metadata, many repositories are based on
specific profiles that may include extensions and specific
value spaces. This means that a mapping needs to be
provided [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. This need even increases when content
do not focus only on one domain but extend the
content to cover several of them. There are then two
possibilities here: either each system maps its schema to a
second system schema (in which case we reach
semantic interoperability by means of pair of mappings [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ])
or a common global schema is provided and both
systems must map into that common schema. Section 5
provides a longer explanation and describes a module
we developed which allows both approaches.
        </p>
        <p>It is important to notice that although we assume the
configuration described above it could be perfectly
possible to use a different query language than QEL, a different
communication protocol than Web Services and a different
interface than SQI though our implementations currently do
not support it.
4.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>PROXYING INTEROPERABILITY</title>
      <p>P2P networks are dynamic networks where peers can act
as server and client indistinctly and peers might freely join
and leave the network over the time. Obviously, peers must
implement the specific P2P network interface in order to
connect to it. This means an extra effort for systems willing
to connect which already have a different query interface.
This barrier makes P2P networks unable to interact with
other systems and environments.</p>
      <p>In order to solve this problem, we based our solution in
proxies that are used to connect peers in a P2P network
with the “outside” world. This proxies bridge two systems
with different capabilities by means of implement the
protocol and/or interface supported by each system respectively.
This way, a proxy is able to to forward requests and
responses from one system to another.</p>
      <p>Nowadays, many systems provide their services/resources
via Web Services and therefore we implemented proxies able
to bridge the proprietary JXTA/Edutella protocol1 and
interface into a Web Service protocol based on the Simple
Query Interface.</p>
      <p>
        Taking the P2P network as a reference, there are two
different desirable scenarios [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]:
1. An external consumer/client wants to query content
in the P2P network. For example, let us suppose that
1Here we use the term “proprietary” to emphasize that this
protocol is not standard for P2P networks but it does not
mean it is not open. In fact, JXTA/Edutella is opensource
and anyone can use it easily.
      </p>
      <p>Client
EDUTELLA
NETWORK</p>
      <p>Consumer</p>
      <p>P2P 1Query
1
Web Service</p>
      <p>Query
4
Web Service
Answer
SQI Consumer</p>
      <p>Proxy
we would like to offer the content of a P2P network
on a web site. The first solution would be to make
the web server join the P2P network. However, the
load of the server would increase considerably and even
some problems could arise in case the server wants to
provide content from more than one network (it would
need to join all of them). A cleaner solution (and the
one we follow in this paper) is to forward the query
from the Web Site to the P2P network by means of
e.g. Web Services and retrieve the answer with the
same mechanism.
2. An external provider wants to offer content to the P2P
network. We assume that providers that have already
implemented a Web Service based interface will not
want to spend time and money in developing the
proprietary interface of the network. In contrary, they
would like to reuse the one they have which would also
ease its administration (as only one interface needs to
be maintained).</p>
      <p>According to these two scenarios, there are two different
types of proxies. The former scenario requires the so-called
“consumer proxy” and the latter the so-called “provider
proxy” (names are assigned according to the role they play).
A consumer proxy acts as a mediator between an external
client that wants to query the network and the P2P network
itself. A provider proxy acts a mediator in order to provide
the content of an external provider into the P2P network.
4.1</p>
    </sec>
    <sec id="sec-4">
      <title>Consumer Proxy</title>
      <p>As described above in scenario 1, in some cases it is needed
to be able to query a P2P network without the need of
joining it. A consumer proxy is a peer which is part of the
P2P network (and therefore it is able to send queries and
receive the answers from it) and which is also able to receive
requests and send responses using a different protocol and
interface. This way, an external client is able to query the
P2P network through the proxy.</p>
      <p>In our implementation, a consumer proxy mediates
between the Edutella/JXTA and Web Service protocols. As
depicted in figure 1, it is responsible for
1. Receiving queries from external clients via SQI
2. Forwarding the query to the Edutella network using
the JXTA/Edutella interface
3. Collecting the results sent from peers within the
network using the JXTA/Edutella interface
4. Forwarding those results to the requester system via</p>
      <p>SQI</p>
      <p>This simple mechanism allows any system to query the
content of the Edutella P2P network without needing to
implement its specific interface.</p>
      <p>In addition, the proxy can return the results to the client
application
• Asynchronously. The results are sent to the client as
soon as they arrive to the proxy. This is the typical
mechanism in distributed environments as not all the
results are generated at once but they must be
gathered from the different systems in the network.
• Synchronously. The results are gathered at the proxy
and sent together to the client. Although this is not
the intuitive way for a distributed environment it could
be desirable in some scenarios (e.g., in mobile devices
we do not want our device to receive a new message
everytime a new result arrives to the proxy but better
ask for new results in a proactive manner).
4.2</p>
    </sec>
    <sec id="sec-5">
      <title>Provider Proxy</title>
      <p>In order to fulfil our scenario 2 a second type of proxy has
been developed. This provider proxy is a peer connected
to the P2P network which also is able to send requests and
receive responses by means of a different protocol and
interface. Therefore, it is able to forward queries to external
providers and receive their answers providing their content
to the network.</p>
      <p>As in the the case of consumer proxies, our provider proxy
mediates between the Edutella/JXTA and Web Service
protocol. As depicted in figure 2, it is responsible for
1. Receiving queries from peers in the network using the</p>
      <p>JXTA/Edutella interface
2. Forwarding them to the external provider via SQI
3. Receiving the results from the external provider via</p>
      <p>SQI
4. Sending them back to the peer that sent the query
using the JXTA/Edutella interface</p>
      <p>Due to the asynchronous nature of a P2P network, it is
possible for the provider proxy to receive the results from the
external provider in a synchronous (e.g., in case the external
provider is a relational database) or asynchronous (e.g., if
the external provider is another distributed environment)
way.</p>
      <p>S3
S5</p>
      <p>S4</p>
    </sec>
    <sec id="sec-6">
      <title>SEMANTIC MAPPINGS</title>
      <p>In previous sections, there have been described some of the
basis for interoperability, namely common protocol and
interfaces (or the use of proxies as presented in section 4) and
common query language (or the use of appropriate
wrappers). Although these elements ensure that two systems are
able to talk to each other it does not guarantee that they
will be able to understand each other due to the possible use
of different schemas/ontologies.</p>
      <p>
        Nowadays, there is a big effort on standardization of
domain ontologies. For example, Dublin Core [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] is intended as
standard for cross-domain information resource description
and LOM [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] describe attributes required to fully/adequately
describe a Learning Object. Unfortunately, still many
proprietary schemas are used in each domain (e.g., database
schemas within companies). For example, Dublin Core
suggests using the attribute “creator” to describe the
responsible of making or writting a resource. While many
repositories probably follow this suggestion when annotating their
resources, others might use e.g., their own attribute
“author” instead. In order to bring interoperability among
them, data integration in the form of semantic mappings is
needed. In this context, a semantic mapping is a
transformation from one data model to another data model according
to a set of rules (mappings).
      </p>
      <p>
        In a distributed network we can distinguish among several
integration possibilities:
• If no virtual and unified schema is assumed in the
network, then systems within the network must provide
pairs of mappings between each two systems. Then the
distributed network can be seen as a directed graph (as
shown in figure 3) in which each arrow represents an
available mapping from one node to another. Then,
they can be applied transitively in order to infer new
mappings which were not explicitly defined. This is
specially useful in P2P networks as it is usually not
possible to enforce a unique and common schema.
Authors in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] study this approach and provide
algorithms to estimate the correctness of the inferred
mappings.
• If a virtual and unified schema is assumed, there are
two approaches for providing integration between the
global schema and local schemas at the sources:
– Global As View (GAV) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In this approach, the
S2
SELECT * FROM S1
      </p>
      <p>UNION
SELECT S2.attr1, S2.attr2, S3.attr3, S4.attr4</p>
      <p>FROM S2, S3 WHERE S2.attr1 = S3.attr1
S1(attr1, attr2, attr3, attr4)</p>
      <p>S2(attr1, attr2)</p>
      <p>S3(attr1, attr3, attr4)</p>
    </sec>
    <sec id="sec-7">
      <title>Query Rewriting Module</title>
      <p>In order to provide semantic interoperability in our network,
we have developed a module which transforms a query q1
into a query q2 according to the set of mappings specified.
This module is intended to work on pairs of mappings
without a unified schema or in Local As View integration
approaches.</p>
      <p>QEL, the language we use in our network, is based on
datalog. In addition to standard datalog constructs, QEL
includes some built-in predicates. Taking into account that
in our network only metadata (in RDF) is queried and
exchanged, the most important one is</p>
      <p>
        qel:s(Subject, Predicate, Object)
which according to the QEL specification [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] “is true if
Subject and Predicate are anonymous or non-anonymous RDF
resources, and Object is a non-anonymous or anonymous
RDF resource or an RDF Literal and the triple Resource
Predicate Object exists in the RDF data”. For example, a
query like
      </p>
      <p>?- qel:s(X, dc:title, ’Artificial Intelligence’).
will return all the resources which title is “Artificial
Intelligence”. Other useful built-in predicates are qel : like(X, Y )
(“used to determine whether an RDF literal or URI
contains a string as a substring”), qel : lessT han(X, Y ) and
qel : greaterT han(X, Y ) which are used to compare two
RDF literals.</p>
      <p>Given this short introduction to the language, let us present
the following simple query that we will use for our examples
in the rest of the section:
@prefix qel: &lt;http://www.edutella.org/qel#&gt;.
@prefix dc: &lt;http://purl.org/dc/elements/1.1/&gt;.
@prefix lom: &lt;http://ltsc.ieee.org/2002/09/lom-rights#&gt;.
?- qel:s(X, dc:title, Title),
qel:s(X, dc:description, Description),
qel:s(X, dc:creator, Creator),
qel:s(X, lom:cost, Cost),
qel:s(X, dc:subject, Subject).</p>
      <p>This query retrieves all the resources with title,
description, creator and subject attributes from Dublin Core and
the cost from LOM. The first lines of the query with prefix
“@” define the namespaces.</p>
      <p>
        Given such a query, we identified the following
requirements
• The query specifies a property2 that does not exist in
the source but the source has an equivalent property
which could be used instead of. For example, if one
data source has its own schema where it uses the
property “abstract” instead of the property “description”
from the Dublin Core standard.
• The query specifies a property and one value according
to a specific taxonomy and the source uses a different
taxonomy. For example, if the query searches for
resources with dc:subject following the ACM
classification [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and the data source does have dc:subject but
it follows the Dutch Basic Classification [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
• In general, if one of the attributes is not available at the
data source, the whole query fails3. However, it might
happen that although the source does not have
explicitly such an attribute, all its resources would share the
same value if it existed. For example, assume a
repository where all the resources are offered for free. This
repository does not have the property “lom:cost”
because it is not needed. However, in case one query
contains this attribute, the whole query would fail (even if
the constraint in the query is “lom:cost = No” which
is actually true though it is not annotated). In such
a case, it is desirable to assign a default value to all
the resources in the data source without having to
explicitely annotate all the resources of the repository.
      </p>
      <p>
        In order to satisfy these requirements we developed a
module that performs two types of mappings and one extra
2In the paper we will use property and attribute indistinctly
3Here we assume that only conjunctives queries are sent.
Edutella and QEL support disjunctive queries but we will
omit them here because of simplicity
transformation: property mapping, property-value mapping
and default value transformation (see table 1 for the whole
list of mappings and [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] for technical details).
      </p>
      <sec id="sec-7-1">
        <title>Property Mapping</title>
        <p>A property mapping specifies how one property in the query
must be reformulated. Its general syntax is</p>
        <p>(X, p1, Z) ← (X, p2, Z)</p>
        <p>When the mapping module receives a query that contains
the triple qel : s(X, p1, Z) it rewrites it into qel : s(X, p2, Z).
Using our example query and taken into account the
requirement in which the source does not contain the property
“dc:description” but “own:abstract” (where own stands for
their local namespace), it is possible to define the following
mapping:</p>
        <p>
          (X, dc : description, Z) ← (X, own : abstract, Z)
This mapping is currently a 1-to-1 mapping, that is, there
is only one triple at each side of the mapping (separated by
the left arrow) but it is also possible to specify 1-to-2, 2-to-1
and 2-to-2 mappings (see table 1). For example, suppose
the author in the source is encoded using the property full
name from the vcard ontology [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. In such a case, we need
the following mapping
(X, dc : creator, Z) ← (X, dc : creator, Y ), (Y, vcard : f n, Z)
in order to abstract from the internal representation at the
source.
        </p>
      </sec>
      <sec id="sec-7-2">
        <title>Property-Value Mapping</title>
        <p>The mapping described above assumes that one property
is completely mapped into another one. However, mapping
can be brought to the granularity of values. A
propertyvalue mapping applies only when a query contains not only
a specific property but also a specific value for that property
and then both of them map into other (possibly the same)
property and value. Its syntax is</p>
        <p>(X, p1, v1) ← (X, p2, v2)</p>
        <p>For example, assume that our example query uses the
ACM classification in the property “dc:subject” and our
source does have the property “dc:subject” but annotated
with the Dutch Basic Classification taxonomy. We could use
several mappings of the form
(X, dc : subject,0 Sof tware/P rogramming Languages0) ←
(X, dc : subject,0 Computer Science/P rogramming Languages0)
to specify how the different values from the ACM taxonomy
map into the Dutch Basic Classification.</p>
        <p>In the same way as the property mapping, it is possible
to extend this 1-to-1 to 2-to-1, 1-to-2 and 2-to-2 mappings.</p>
      </sec>
      <sec id="sec-7-3">
        <title>Default Value</title>
        <p>Property and property-value mappings provide rules which
define how some triples are reformulated into another triples.</p>
        <p>The way default values work is a bit different. The
properties especified in default values do not exist in the source
repository and therefore they must be removed (not just
reformulated) in the new query.</p>
        <p>
          Following this approach, when a query is received by our
mapping module, if there exists in the query any occurrence
Mapping type
1-to-1 property mapping
1-to-1 property-value-value mapping
2-to-1 property mapping
2-to-1 property-value mapping
1-to-2 property mapping
1-to-2 property-value mapping
2-to-2 property mapping
2-to-2 property-value mapping
Default value
of a property specified in the default values, this ocurrence is in the form of television programs, radio shows, instructional
temporarily removed. This way, the query is sent to the local material, web sites, physical distributions on CDs and videos
repository without that property (otherwise the query would etc. The educational resources are expressed using the
RDFfail) and a resultset is returned. However, this resultset still binding of IEEE/LOM, qualified Dublin Core and some
exdoes not contain the default values that were requested (the tensions specific to UR. For storage solution we use
SCAMproperties previously removed) and therefore they must be [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] which is a layer on top of Jena2 providing access control
added. Therefore, default values are added to each of the on metadata records and a more high-level API. A database
rows in the resultset returned by the repository. provides persistance according to the Jena2 database
lay
        </p>
        <p>
          For example, following with our example query, suppose out. Queries in the QEL language is directly translated to
that our source repository does not have the property “lom:cost” SQL and passed to the database. We use a library called
but all the resources in the repository are free of charge. We GETSQL4 for doing the translation. GETSQL can handle
can then define the following default value disjunction, rules, most of the constraints, outer join, and
also the retrieval service [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] of Edutella.
        </p>
        <p>(lom : cost ←0 N o0) The peer does two kinds of semantic mappings:
This way, any triple in the query referring to the property
“lom:cost” would be removed before the query is sent to the
repository and added subsequently to the returned resultset
together with the default value “No”.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>DRAWING UP THE WHOLE PICTURE</title>
      <p>
        Using the elements described previously in this paper,
it has been possible to bring interoperability to Edutella
providers (Media Library, Nature and Technology and
Confolio System), external consumers (ARIADNE) and
external providers (ULI and ARIADNE) within the context of
the EU Network of Excellence Prolearn [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. The picture
with the whole architecture is depicted in figure 6 and the
following subsections provide a brief description of each of
the systems involved.
6.1
      </p>
    </sec>
    <sec id="sec-9">
      <title>Edutella Nodes</title>
      <p>In this section we introduce some of the existing peers
which are currently connected directly to the Edutella P2P
network. All of them are mapped into a common schema
(LAV approach). In addition, all the modules used by the
peers (including the mapping modules) make use of the
highly configurable java library provided in the Edutella
project and that it is available from the Edutella CVS (at
http://edutella.jxta.org/). Some of them, like the
mapping modules, are implemented in a way that they can also
be used in environments where the Edutella P2P network is
not present.
6.1.1</p>
      <p>Media Library - Swedish Educational Radio
and Television</p>
      <p>
        The media library is a joint project between the KMR
group-[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and the Swedish Educational Radio and
Television[
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] - UR in swedish - to provide their educational resources
1. simple to qualified Dublin Core mapping. Most queries
ask for a title via the predicate dc:title and expects a
literal as object. In the Qualified schema there is an
intermediate rdf:Alt containing language translations
of the title. The mapping is done by rewriting the
query to contain an intermediate variable that is not
visible in the result.
2. a property-value mapping between two swedish
taxonomies, one for the library community and the other
for the SLI (Swedish Learning material on the
Internet) community.
6.1.2
      </p>
      <p>Nature and Technology - Swedish National Agency
for Education</p>
      <p>This peer provides educational resources provided by Swedish
highschool teachers to be shared. The educational resources
are of several kinds, e.g. experiments, articles, projects,
tests. The resources are expressed with simple Dublin Core
and a few extra properties. The classification is done via
the SLI community’s taxonomy. The storage solution is
SCAM and the GETSQL library is used to translate the
QEL queries to SQL here as well. The mappings provided
are similar as for the media library with the difference that
here we translate from qualified to simple Dublin Core.
6.1.3</p>
      <p>Confolio system - portfolios hosted at Royal
Institute of Technology</p>
      <p>The confolio system is another application built on top of
SCAM. It provides users with a directory structure where
4GETSQL is expanded to ’Generic Edutella query language
Translation to SQL’ and is available from Edutella CVS. Its
modular design allows the database and database schema to
be changed easily.</p>
      <p>QI</p>
      <p>S
KPS
KPS</p>
      <p>ARIADNE
KNOWLEDGE</p>
      <p>POOL</p>
      <p>KPS
Media
Library</p>
      <p>Nature and
Technology
SQI</p>
      <p>Ariadne
Provider Proxy</p>
      <p>Confolio
System</p>
      <p>Edutella User
WebServiceSQI</p>
      <p>ULI
Provider
Proxy
they can upload files, store links, or just pure metadata e.g.
events, persons, books, concepts. The confolio system
allows you to define what kind of metadata that you want
to provide for a specific type of resource (multiple types on
a resource results in the union of the metadata). A
consequence of this flexibility is that there is no specific schema
since it depends on what people are doing with the system,
on the other hand there is a lot of reuse of Dublin Core,
IEEE/LOM etc.
6.2</p>
    </sec>
    <sec id="sec-10">
      <title>External Consumers - ARIADNE</title>
      <p>In its aim to facilitate both academic education and
corporate training, the ARIADNE Foundation supplies its
members with tools and methodologies for producing and reusing
learning objects. The core of these services is a distributed
network of repositories that replicate content and metadata.
Doing so, each node contains a copy of all metadata
instances. The LO’s however can only be replicated to other
servers if no download restrictions apply to them. This
infrastructure, also known as the Knowledge Pool System,
enables the ARIADNE user community to transparently
manage learning objects.</p>
      <p>The ARIADNE Knowledge Pools offers a client-server
approach, where applications can query the ARIADNE
knowledge pool through a web services layer. As metadata is
replicated in this distributed network, there is no need to
federate queries in ARIADNE. However, in order to provide
these applications with access to a bigger pool of learning
objects, a federated search layer has been built on top of
different SQI targets (Edutella, ARIADNE, Merlot,
Celebrate) enabling applications to search beyond the borders
of the ARIADNE knowledge pool.</p>
      <p>Technically, ARIADNE contains metadata information of
LO’s stored in a relational databases, and the results
returned while answering queries is delivered as XML instances
following the LOM standard. This information is
transformed by means of XSLT stylesheets in order to conver
it into RDF.</p>
      <p>
        Currently, ARIADNE is connected to Edutella as
external consumer (Edutella content is offered in ARIADNE)
and as provider (the content of ARIADNE is offered in
Edutella) [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. As a provider, currently only an ARIADNE
KPS node is interconnected and, as a consequence, only
ARIADNE material (and not from other systems connect
to ARIADNE) can be queried from the Edutella network.
Figure 6 shows the current configuration.
6.3
      </p>
    </sec>
    <sec id="sec-11">
      <title>External Providers - ULI</title>
      <p>
        The course repositories ULI [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] (Virtual Computer
Center Curriculum in Germany) has been developed under the
ULI project (University teaching network for computer
science) which tries to establish an exchange of course
material, courses and certificates in the area of computer science.
Resources include Course-s and Unit-s of study.
      </p>
      <p>Though the courses usually differ in the kind and amount
of learning materials they use, their use of learning resources
is surprisingly homogeneous. The average course is divided
in 6 to 7 units or knowledge modules which themselves can
be split into 3 to 7 learning resources. This leads to an
average number of about 35 learning resources per course,
with a learning resource being the slides of the lecture, a
video or any other set of pages dealing with on subject.</p>
      <p>Technically, ULI repositories are based on RDF files with
Dublin Core and LOM metadata and they are currently
accessed by means of the RDQL query language. In addition,
mappings and default values have been specified in order to
convert to a global schema.
7.</p>
    </sec>
    <sec id="sec-12">
      <title>RELATED WORK</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], the authors describe the two scenarios, consumer
proxy and provider proxy, and implemented a translation
from the JXTA protocols to Web Services and viceversa.
In this paper, we enrich our proxies with the possibility of
mapping query languages and schemas. In addition, [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]
does not use any specific interface but wrap the java
objects while in our approach we are using the SQI standard
innitiative.
      </p>
      <p>
        [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] presents an interesting approach for interoperability
of Learning Repositories. Authors briefly present an “ECL
Gateway” which is similar to our idea of proxies. They
implemented a translation between ECL and a P2P protocol.
In our paper we extend this idea separating the two
different scenarios, consuming and providing information, and
describing in detail how proxies work and how mappings can
be performed. In addition, we add our work on default
values which, to our knowledge, has not been described yet in
any paper.
      </p>
    </sec>
    <sec id="sec-13">
      <title>CONCLUSIONS AND FURTHER WORK</title>
      <p>In this paper, we showed how by means of proxies and
semantic mapping it is possible to connect a P2P network
like Edutella with other systems outside the network. These
proxies provides the necessary mediation between the
different protocols and intefaces and semantic mappings overcome
the problem of schema heterogeneity. Both together allow
external systems to query and provide content in the
network avoiding the isolation of P2P networks from the rest
of the world.</p>
      <p>In this paper we have focused the interoperability
problem on search. However, although this is of course the most
important service, there are still some other issues that must
be researched. One of the main topics we plan to research on
in the future is distributed ranking algorithms. Currently, a
lot of research has been done around web ranking (e.g., on
the Web) and merging of ranking lists (e.g., on meta-search
engines). However, the former assumes that relationships of
the form of links exist among resources in different
repositories and the latter assumes that there exist overlapping in
the content different repositories offer and rank.
Unfortunately, this does not apply in a P2P network and the only
existing measures are based on trust/reputation of the peers.</p>
      <p>
        In addition, a challenge for the Local As View mappings
described in this paper is how they would work in
combination with Edutella Retrieval. Edutella Retrieval [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is a
recent addition in Edutella which allows information to be
retrieved without requiring it explicitly in the query which
would unneccessary eliminate valid matches. Since what is
retrieved is not explicitly stated in the query it is far from
obvious how to detect which mappings to apply.
      </p>
    </sec>
    <sec id="sec-14">
      <title>Acknowledgments</title>
      <p>The authors thank Stefaan Ternier for useful discussions and
his work in connecting the ARIADNE system. The research of
Olmedilla was partially supported by the IST project ELENA
(http://www.elena-project.org). The research of Palmer was
partially supported by the IST Network of Excellence PROLEARN
(http://www.prolearn-project.org/).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <fpage>1484</fpage>
          .12.
          <article-title>1 IEEE standard for learning object metadata</article-title>
          .
          <source>june 2002</source>
          . http://ltsc.ieee.
          <source>org/wg12.</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>K.</given-names>
            <surname>Aberer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Cudr´</surname>
          </string-name>
          e-Mauroux, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Hauswirth</surname>
          </string-name>
          .
          <article-title>The chatty web: emergent semantics through gossiping</article-title>
          .
          <source>In International World Wide Web Conferences</source>
          , Budapest, Hungary, may
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>[3] ACM classification</article-title>
          . http://www.acm.org/class/1998/overview.html.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>[4] Dublin core metadata innitiative (DCMI)</article-title>
          . http://dublincore.org/.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <article-title>[5] Dutch basic classification codes</article-title>
          . http://www.kb.nl/vak/basis/bc98-en.html.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>[6] ERS: edutella retrieval service</article-title>
          . http://edutella.jxta.org/spec/retrieval.html.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A. Y.</given-names>
            <surname>Halevy</surname>
          </string-name>
          .
          <article-title>Answering queries using views: A survey</article-title>
          .
          <source>VLDB Journal: Very Large Data Bases</source>
          ,
          <volume>10</volume>
          (
          <issue>4</issue>
          ):
          <fpage>270</fpage>
          -
          <lpage>294</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hatala</surname>
          </string-name>
          , G. Richards,
          <string-name>
            <given-names>T.</given-names>
            <surname>Eap</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. Willms.</surname>
          </string-name>
          <article-title>The interoperability of learning object repositories and services: Standards, implementations and lessons learned</article-title>
          .
          <source>In 13th World Wide Web Conference (WWW'04)</source>
          , New York, USA, May
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <article-title>[9] KMR: knowledge management research group</article-title>
          . http://kmr.nada.kth.se.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          .
          <article-title>Data integration: A theoretical perspective</article-title>
          .
          <source>In ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PODS)</source>
          , pages
          <fpage>233</fpage>
          -
          <lpage>246</lpage>
          , Wisconsin, USA, jun
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Najjar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Duval</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ternier</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Neven</surname>
          </string-name>
          .
          <article-title>Towards interoperable learning object repositories: The ariadne experience</article-title>
          .
          <source>In IADIS International Conference WWW/Internet</source>
          , Algarve, Portugal, nov
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>W.</given-names>
            <surname>Nejdl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Wolf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Qu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Decker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sintek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Naeve</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Nilsson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Palmer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Risch</surname>
          </string-name>
          .
          <article-title>Edutella: A P2P networking infrastructure based on RDF</article-title>
          .
          <source>In 11th International World Wide Web Conference (WWW'02)</source>
          , Hawaii, USA, jun
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>W.</given-names>
            <surname>Nejdl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wolpers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Siberski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Schmitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schlosser</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Brunkhorst, and</article-title>
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>L¨oser. Super-peer-based routing and clustering strategies for rdf-based peer-to-peer networks</article-title>
          .
          <source>In 12th International World Wide Web Conference (WWW'03)</source>
          , Budapest, Hungary, may
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Nilsson</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Siberski</surname>
          </string-name>
          .
          <article-title>RDF query exchange language (QEL) - concepts, semantics and RDF syntax</article-title>
          , http://edutella.jxta.org/spec/qel.html,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>D.</given-names>
            <surname>Olmedilla</surname>
          </string-name>
          .
          <article-title>Working with edutella</article-title>
          .
          <source>technical report</source>
          . http://www.l3s.de/ olmedilla/projects/edutella/edutella.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Palm</surname>
          </string-name>
          <article-title>´er, A</article-title>
          . Naeve, and
          <string-name>
            <given-names>F.</given-names>
            <surname>Paulsson</surname>
          </string-name>
          .
          <article-title>The scam framework: Helping semantic web applications to store and access metadata</article-title>
          .
          <source>In ESWS</source>
          , pages
          <fpage>167</fpage>
          -
          <lpage>181</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>PROLEARN</surname>
          </string-name>
          <article-title>: professional learning</article-title>
          . http://www.prolearn-project.
          <source>org/.</source>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>C.</given-names>
            <surname>Qu</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Nejdl</surname>
          </string-name>
          .
          <article-title>Interacting edutella/JXTA peer-to-peer network with web services</article-title>
          .
          <source>In 2004 International Symposium on Applications and the Internet (SAINT</source>
          <year>2004</year>
          ), Tokyo, Japan, jan
          <year>2004</year>
          . IEEE Computer Society Press.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <article-title>Representing vCard objects in RDF/XML</article-title>
          . http://www.w3.org/tr/vcard-rdf.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>SQI</surname>
          </string-name>
          <article-title>: simple query interface</article-title>
          . http://www.prolearn-project.org/lori/.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>S.</given-names>
            <surname>Ternier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Olmedilla</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Duval</surname>
          </string-name>
          .
          <article-title>Peer-to-peer versus federated search: towards more interoperable learning object repositories</article-title>
          .
          <source>In 2005 World Conference on Education, Multimedia</source>
          , Hypermedia &amp; Telecommunications (ED-MEDIA), jul
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22] http://www.uli-campus.de/index en.
          <source>html.</source>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Ullman</surname>
          </string-name>
          .
          <article-title>Information integration using logical views</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>239</volume>
          (
          <issue>2</issue>
          ):
          <fpage>189</fpage>
          -
          <lpage>210</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>UR</surname>
          </string-name>
          <article-title>: swedish educational radio</article-title>
          and television http://www.ur.se.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>