Tree-Based Concurrency Control in Distributed Groupware
We present a novel algorithm, called dARB, forsolving the concurrency control problem indistributed collaborative applications. Themain issue of concurrency control is resolvingthe conflicts resulting from simultaneousactions of multiple users. The algorithmreduces the need for manual conflict resolutionby using a distributed arbitration scheme. Themain advantages of our approach are thesimplicity of use and good responsiveness, asthere are no lock mechanisms. Our algorithmrequires the applications to use a tree as theinternal data structure. This makes itapplication independent and suitable forgeneral collaborative applications. The treerequirement is reasonable since many newapplications use XML (extensible MarkupLanguage) for data representation and exchange,and parsing XML documents results in treestructures. Example applications of thealgorithm, a group text editor and acollaborative 3D virtual environment calledcWorld, are implemented and evaluated in theDISCIPLE collaboration framework. We alsointroduce awareness widgets that users avoidgenerating the conflicting events and help inmanual conflict resolution.