<!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>On Updating in XML Peer-to-Peer Databases On Updating in XML Peer-to-Peer Databases</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Adam Sˇenk</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michal Valenta Adam Senk</string-name>
          <email>C@fzeicth.Rcvepuutb.lcicz</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michal Valenta</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Czech Technical University in Prague, Faculty of Information Technology</institution>
          ,
          <addr-line>Czech Technical UTnhia ́vkerusriotvyain9,PPrraagguuee,,FCaczueclthyRoefpIunbfolricm, ation Technology</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2013</year>
      </pub-date>
      <fpage>139</fpage>
      <lpage>148</lpage>
      <abstract>
        <p>Distributed databases are increasingly used in many applications and software systems. Peer-to-Peer databases are interesting part of distributed databases field. This type of distributed database management system allows to connect stand-alone databases via a computer network. Connected databases cooperate on processing of their tasks with other connected databases. The peer-to-peer databases contains a lot of various distributed and replicated data in various forms. The correct data coordination is the crucial in peer-to-peer databases, it is necessary for correct processing of queries and other database requests. Our work is focused on updates in XML peer-to-peer databases. We provide a review of a peer-to-peer database management system architecture and problems related to implementation of updates. Finally, we consider the requirements on semantic mapping, the part of peer architecture responsible for correct reformulation of global query or update.</p>
      </abstract>
      <kwd-group>
        <kwd>Peer-to-Peer</kwd>
        <kwd>XML</kwd>
        <kwd>Update</kwd>
        <kwd>Semantic mapping</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>In our work, we investigate an update processing in XML peer-to-peer
systems. The problem is that the data stored in the peer-to-peer DBMS are very
often interrelated. So it means that updates done on this data could break some
dependency or logical structure of stored documents. It is necessary to
propagate changes done in one database node to other nodes. We concentrate on basic
problem related to update processing in XML peer-to-peer DBMS -
identification of data relations in peer-to-peer systems. We analysis what are the biggest
problems related to identification of entities, their relations and to coordination
of related data updates.</p>
      <p>The structure of this paper is the following: Section 2 is summary of related
works and known scientific results from field of peer-to-peer DBMS. In Section 3
we define peer-to-peer DBMS and describe architecture and properties of
peerto-peer DBMS. In Section 4 we describe problems related to update processing
and to identification of data relations. Section 5 we analyse the requirements on
important part of peer-to-peer architecture - the semantic mapping. In Section 6
we discuss the contribution of this work and also the future work of our research.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        There are many woks related to a peer-to-peer databases topic. The book [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
provides a great theoretical background. It reviews the whole distributed databases
topic and peer-to-peer databases are described in this context.
      </p>
      <p>
        A lot of research was done on a field of relational peer-to-peer databases.
There exist many distributed peer-to-peer database management systems, one
of them is coDB [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Greco and Scarcello [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] focused on inconsistencies in query
results realized in peer-to-peer databases. Some works are also focused on
updates in peer-to-peer databases. Datta [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and colleagues propose the push/pull
strategy for an update processing. Kantere and colleagues introduces distributed
triggers for an update processing in relational peer-to-peer databases in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Angela Bonifati and colleagues focused on XML peer-to-peer databases in
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. They provide a solution for a query reformulation in heterogeneous XML
schemas including data and meta-data conflicts. This solution is based on
assumption, that each peer knows the structure of data stored in a neighbour peer.
Unfortunately, they did not solve updates.
3
      </p>
      <p>
        Peer-to-Peer Database Managements System
The distributed database management system is a several data processing
systems (not necessarily homogeneous) connected via computer network. They
communicate and cooperate on data processing. O¨ zsu and Valduriez [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] define a
distributed database as a collection of multiple, logically interrelated databases
distributed over a computer network. A distributed database management
system (DDBMS) is then defined as the software system that permits the
management of the distributed database and makes the distribution transparent to the
users.
      </p>
      <p>Peer-to-Peer DBMS is distributed system that is composed of stand-alone
databases and their bindings. It can be represented by a set of nodes and edges
(directed or undirected). Nodes represent some stand-alone DBMS system (SQL
database, NoSQL database, distributed database ...) and edges represent
bindings between these nodes. The example of XML peer-to-peer system is on
Figure 1.</p>
      <p>There are three significant properties that differ peer-to-peer DBMS from
other DDBMS. The first difference is a big amount of nodes in peer-to-peer
DBMS. Classical DDBMS with global schema of distribution consist of tens of
nodes. Peer-to-Peer DBMS can consists from hundreds or thousands nodes. It
causes a massive distribution of data.</p>
      <p>The second significant property is a big heterogeneity of such systems and a
big autonomy of nodes. Peer-to-Peer DBMS can consists from various database
nodes with very various data and data representations.</p>
      <p>The autonomy of nodes is the third significant property. The nodes can
connect or disconnect any time. It makes the structure of peer-to-peer DBMS very
changeable.
3.1</p>
      <sec id="sec-2-1">
        <title>Architecture of Peers</title>
        <p>The basic requirements on each DDBMS are as follows:
– Query processing - the DBMS must be able to discover all relevant data
distributed over the database and efficiently execute the query.
– Data integration - the DBMS must be able to discover all related data,
even if their representation or schema is different.
– Data consistency - the DBMS must maintain the consistency between
duplicated data in distributed database.</p>
        <p>Each peer in a peer-to-peer system must be able to locate and access data
distributed and stored in other peers. In Figure 2 is the architecture of a single
peer that is to meet this requirements. The architecture consist of four corner
stones.</p>
        <p>Data management layer is responsible for a query processing. It can have
many sub-parts, e.g. the query manager, the update manager and the cache
manager. Queries can ask for local data stored in asked peer or for global data
distributed in the whole database. Data management layer is also responsible
for an execution of remote request send by some other peer.</p>
        <p>Data management API is an interface for peer users. The two most
common parts are a client containing graphic or text user interface and libraries and
public methods for developers. The client allows to submit queries and other
requests. It should also provide tools for database tuning and setting its
properties. Developers can use application programmable interface to integrate peer
functionality into an application.</p>
        <p>P2P Network Sublayer is an interface for communication with connected
peers over the computer network. It receives requests from the data management
layer and distributes them in the whole peer-to-peer DBMS. It also receives
messages from other peers and send them to the data management layer to be
proceeded.</p>
        <p>Persistent storage consists of two basic repositories - data storage repository
that contains local data and semantic mapping that contains meta-information
needed for remote query processing. Data management layer uses meta-information
for query reformulation when the data stored in the data storage are queried by
a remote peer.</p>
        <p>Theoretically, the data repository can be replaced by the classic DBMS. Then
we see all other layers as a system allowing the connection of such DBMS into a
distributed peer-to-peer database.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Propagation of Updates</title>
      <p>The update in peer-to-peer DBMS is an operation that persistently changes
the data stored in some node. The problem of this operation is how to
propagate these changes to all nodes in peer-to-peer network. The data in a
peerto-peer database can be replicated in many nodes. It is necessary to distribute
the changes over the whole system network. Otherwise, the database consistency
will be broken.</p>
      <p>To propagate the updates correctly, all interrelated data stored in a
peer-topeer database must be found. The identification of entities, their relations and
their states in semi-structured data like XML is a complex problem. We state
major problems related to propagation of updates that we are facing.
4.1</p>
      <sec id="sec-3-1">
        <title>Entities in XML</title>
        <p>In general, an entity is an existing or real thing. Entity in context of databases
is a thing which data can be stored.</p>
        <p>The XML is an ordered tree structure consist of edges and nodes. There are
three types of node: element, attribute and text. The hierarchical structure of
the XML and the three types of nodes in XML tree bring complications to an
entity recognition.</p>
        <p>An example of two different XML representation of one entity is given in
Figures 1.1 and 1.2. As you can see, the structure of an XML fragment is absolutely
different in these two cases, but it is obvious that both examples represent the
same entity.</p>
        <p>Listing 1.1. Book and Authors version 1
&lt;book isbn="0-079-13702-4" name="XML Complete" price="49.99"&gt;
&lt;author id="1001" firstname="Steven" surname="Holzner" /&gt;
&lt;book&gt;</p>
        <p>Listing 1.2. Book and Authors version 2
&lt;book&gt;
&lt;isbn&gt;0-079-13702-4&lt;/isbn&gt;
&lt;name&gt;XML Complete&lt;/name&gt;
&lt;price&gt;49.99&lt;price&gt;
&lt;author&gt;
&lt;id&gt;1001&lt;/id&gt;
&lt;firstname&gt;Steven&lt;/firstname&gt;</p>
      </sec>
      <sec id="sec-3-2">
        <title>Equality of XML nodes is defined in [8].</title>
        <p>Definition 1. Let name(x), val(x), att(x) and ele(x) be a functions. Function
name(x) returns name of given node, function val(x) returns value of given
attribute or text node, function att(x) returns list of attribute of given element node
and function ele(x) returns the list of descendants of given element node. Two
nodes u and v are equal (u = v) if the following conditions are satisfied:
1. name(u) = name(v)
2. if u, v are attribute or text nodes, then val(u) = val(v)
3. if u, v are element nodes, then:
(a) if att(u) = a1, ..., am, then att(v) = a01, ..., a0m and there is a permutation
π on 1, ..., m such that val(ai) = val(aπ(i)) for i = 1, ..., m
(b) if ele(u) = [u1, ..., uk], then ele(v) = [v1, ..., vk] and val(ui) = val(vi) for
i = 1, ..., k
Equality of Entities is not the same as the equality of XML nodes. Two XML
nodes can represent one entity even if they are not equal (see Listing 1.1 and
Listing 1.2 ). We define the entity equality as follows:
Definition 2. Two XML nodes u and v are entity equal (u =ee v) iff they
represent the same entity.
4.2</p>
      </sec>
      <sec id="sec-3-3">
        <title>State of Entity</title>
        <p>Each entity can have different states. State is a part of data stored in entity that
can differ node by node in one peer-to-peer database. In Listing 1.3 the example
is given. This XML code represents the same entity as in two previous example
(Listing 1.1 and Listing 1.2), but the value of price attribute differs.</p>
        <p>Listing 1.3. Book and Authors version 3
&lt;book isbn="0-079-13702-4" name="XML Complete" price="56.99"&gt;
&lt;author&gt;
&lt;id&gt;1001&lt;/id&gt;
&lt;firstname&gt;Steven&lt;/firstname&gt;
&lt;surname&gt;Holzner&lt;/surname&gt;
&lt;/author&gt;
&lt;book&gt;</p>
        <p>Attribute price is state attribute of an entity and can be different in different
nodes. The updates done on parts of XML that represent some state are local
and they cannot be distributed over peer-to-peer database.
4.3</p>
      </sec>
      <sec id="sec-3-4">
        <title>Primary Key</title>
        <p>The primary key is a unique identifier of a data entity. It is the minimal part of
an entity which determines its uniqueness. The primary key is used by the data
management layer for identifying the updated entity. With primary key defined,
it is much more easier to find related data in a distributed peer-to-peer database.
Definition 3. Lets have two entities e1, e2 and a primary key function P K(e)
which returns a primary key and its value for given entity. Then P K(e1) =
P K(e2) ⇔ e1 = e2.</p>
        <p>
          The definition 4 of the primary key for relational databases proposed in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]
became a standard for SQL databases. This definition is not usable for a
semistructured hierarchical XML data and it has to be adapted.
        </p>
        <p>Definition 4. One domain (or combination of domains) of a given relation has
values which uniquely identify each element (n-tuple) of that relation. Such a
domain (or combination) is called a primary key. In the context of XML
hierarchical structure the problem of keys become much more complicated.</p>
        <p>Let us introduce an example of an XML document in Figure 3 called eu.xml.
We want to demonstrate problems caused by the hierarchical structure of XML
related to the primary key. The eu.xml document stores data of member
countries in European Union. As you can see, there are three elements with @name
attribute - country,city and street. The @name attribute of country element
should be unique (there are not two countries with the same name in European
Union and there are not two countries with the same name in whole world either).
Is the @name attribute unique for the city element too? Definitely not. There
are many examples of cities with the same name (In the Czech Republic, there
is one other city that has the same name as the capital city - Prague). There are
also examples of cities having the same name as the country (Luxembourg, the
member state of European Union has capital city called Luxembourg).</p>
        <p>
          The previous example demonstrates that in an XML data it is necessary to
define not only the primary key but also its context. The attribute @name is
definitely a primary key, but only in context of countries elements. That is
the reason why keys in XML documents are defined relatively. The definition
of relative keys was proposed in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. We use the XPath language [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] for a key
context definition.
        </p>
        <p>Definition 5. Let Pc and Pt be an XPath expression and let S be a set of
XPath expressions. The primary key is defined as ϕ = Pc(Pt(S)). If for any
node v reached via Pc and for any nodes v1, v2 reachable from v via Pt the sets of
values s1ands2 reached from v1, v2 via S satisfies: s1 6= s2, then XML document
D satisfies ϕ.</p>
        <p>Example 1. Primary key ϕ1 says that eu.xml document in Figure 3 is valid if
any @name attribute of country element is unique in a context of countries
element:
5</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Semantic Mapping for XML Updates</title>
      <p>In chapter 3, we described the architecture of peer-to-peer DBMS. Then we
described, in chapter 4, the three major problems that we are facing when we
implements updates in XML peer-to-peer DBMS. The analysis done in previous
chapters shows the requirements for semantic mapping:
– Entity recognition - The DBMS must be able to recognize a single data
entity in the hierarchical XML model.
– Correct update propagation - The DBMS must to recognize which
updates must be propagated in other peers and which not.
– Common format - The DBMS must transform XML data to one common
format. The data stored in XML can have various formats, so it is necessary
to define format that enables the recognition of similarities.
5.1</p>
      <sec id="sec-4-1">
        <title>Definition of Keys</title>
        <p>Semantic mapping extracts all important data and provides them to the data
management layer. In Section 4.3 we defined the primary key in XML. It is
obvious that the semantic mapping must define primary keys of XML data stored
in data storage. Primary keys make identification of equal entity easier.
Without primary keys is almost impossible to process queries and updates on such
complex and heterogeneous data that can be found in peer-to-peer databases.
5.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Global and Local data</title>
        <p>The correct update propagation is one of the requirements on semantic mapping
that we state in this section. The data that must be propagated in other peers
are called global data. The data that are not replicated and are valid in context
of single peer are called local data. The data management layer cannot
automatically recognize the local and global data, this information must be stored
in the semantic mapping.
The most important and also difficult function of the semantic mapping is to
map all XML documents to one general model. This model ignores the differences
in structure of XML data and allow to compare entities stored in XML format.
Developing of such model and developing of mapping on this model is non-trivial
task.
6</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and Future work</title>
      <p>In our paper we described the peer-to-peer database management systems. We
provided the review of the concept and the description of architecture of the basic
unit - peer. Then we concentrated on updates in XML peer-to-peer databases and
state the problems to solve when such system is implemented. Finally we state
the requirements on the semantic mapping that must be fulfilled in the
peer-topeer database to keep the stored data consistent after updating. Although we
do not provide any details we believe that analysis done in our work is a good
base for our future research.</p>
      <p>Our future work will focus on developing of peer-to-peer DBMS which will
allow to connect various independent XML storages in one distributed database.
The summarize of information in this paper gives us excellent background. The
aim of our future work is to solve processing of updates and other events in
distributed system.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>XML</given-names>
            <surname>Path</surname>
          </string-name>
          <article-title>Language (</article-title>
          <year>2013</year>
          ), http://www.w3.org/TR/xpath/
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bonifati</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chang</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ho</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lakshmanan</surname>
            ,
            <given-names>L.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pottinger</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chung</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Schema mapping and query translation in heterogeneous p2p xml databases</article-title>
          .
          <source>The VLDB Journal</source>
          <volume>19</volume>
          (
          <issue>2</issue>
          ),
          <fpage>231</fpage>
          -
          <lpage>256</lpage>
          (
          <year>Apr 2010</year>
          ), http://dx.doi.org/10.1007/s00778-009- 0159-9
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Buneman</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davidson</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fan</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hara</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tan</surname>
            ,
            <given-names>W.C.</given-names>
          </string-name>
          :
          <article-title>Keys for xml</article-title>
          .
          <source>Computer Networks</source>
          <volume>39</volume>
          (
          <issue>5</issue>
          ),
          <fpage>473</fpage>
          -
          <lpage>487</lpage>
          (
          <year>2002</year>
          ), http://www.sciencedirect.com/science/article/pii/S1389128602002232
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Codd</surname>
            ,
            <given-names>E.F.</given-names>
          </string-name>
          :
          <article-title>A relational model of data for large shared data banks</article-title>
          .
          <source>Commun. ACM</source>
          <volume>13</volume>
          (
          <issue>6</issue>
          ),
          <fpage>377</fpage>
          -
          <lpage>387</lpage>
          (
          <year>Jun 1970</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/362384.362685
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Datta</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hauswirth</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aberer</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Updates in highly unreliable, replicated peer-to-peer systems</article-title>
          .
          <source>In: Distributed Computing Systems</source>
          ,
          <year>2003</year>
          . Proceedings. 23rd International Conference on. pp.
          <fpage>76</fpage>
          -
          <lpage>85</lpage>
          (may
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Franconi</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuper</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lopatenko</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zaihrayeu</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Queries and updates in the codb peer to peer database system</article-title>
          .
          <source>In: Proceedings of the Thirtieth international conference on Very large data bases -</source>
          Volume
          <volume>30</volume>
          . pp.
          <fpage>1277</fpage>
          -
          <lpage>1280</lpage>
          . VLDB '04,
          <string-name>
            <given-names>VLDB</given-names>
            <surname>Endowment</surname>
          </string-name>
          (
          <year>2004</year>
          ), http://dl.acm.org/citation.cfm?id=
          <volume>1316689</volume>
          .
          <fpage>1316813</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Greco</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scarcello</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>On the complexity of computing peer agreements for consistent query answering in peer-to-peer data integration systems</article-title>
          .
          <source>In: Proceedings of the 14th ACM international conference on Information and knowledge management</source>
          . pp.
          <fpage>36</fpage>
          -
          <lpage>43</lpage>
          . CIKM '05,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA (
          <year>2005</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/1099554.1099564
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Hartmann</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Link</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Efficient reasoning about a robust xml key fragment</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .
          <volume>34</volume>
          (
          <issue>2</issue>
          ),
          <volume>10</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          :
          <fpage>33</fpage>
          (Jul
          <year>2009</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/1538909.1538912
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kantere</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manoubi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kiringa</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sellis</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <article-title>Peer coordination through distributed triggers</article-title>
          .
          <source>Proc. VLDB Endow</source>
          .
          <volume>3</volume>
          (
          <issue>1-2</issue>
          ),
          <fpage>1561</fpage>
          -
          <lpage>1564</lpage>
          (
          <year>Sep 2010</year>
          ), http://dl.acm.org/citation.cfm?id=
          <volume>1920841</volume>
          .
          <fpage>1921038</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Masud</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kiringa</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Transaction processing in a peer to peer database network</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          <volume>70</volume>
          (
          <issue>4</issue>
          ),
          <fpage>307</fpage>
          -
          <lpage>334</lpage>
          (
          <year>2011</year>
          ), http://www.sciencedirect.com/science/article/pii/S0169023X10001527
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. O¨zsu,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Valduriez</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.</surname>
          </string-name>
          :
          <article-title>Principles of distributed database systems</article-title>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>