Although concurrency control has been recognized as an important
issue in XML data management, there are still few previous works
that provide the concurrency of transactions retrieving and
modifying the same XML documents. To overcome this problem, we
propose a new XPath-based concurrency control scheme, called XPCC,
that guarantees high concurrency and serializability of concurrent
transactions to the same XML document. The proposed approach
considers unrestricted XML documents and general XPath query, and
the key ideas of XPCC are as follows: (1) semantic locks are set on
XPath expressions used in transaction accesses, and (2) two versions
of an XML document, a version containing updates of each transaction
and a version containing updates of all concurrent transactions, are
utilized for conflict checks. In XPCC, at the time that each
transaction access is requested, the conflict to violate
serializability is detected based on the equivalence check for
results of XPath evaluation against two versions of documents.
Since the proposed approach enables locking to be at the level of
precise data actually retrieved and updated in XML documents, high
concurrency can be achieved assuring serializability in XML data
management.