DeTransDraw: Decentralized Transactional Collaborative Drawing by Boris Mejias and Donatien Grolaux Demonstrator Internet of Services 2009 Collaboration Meeting Brussels, Belgium, June 10-11, 2009 http://ec.europa.eu/information_society/events/ssai/ios/index_en.htm DeTransDraw is a decentralized collaborative vector-based graphical editor with a shared drawing area. It provides synchronous collaboration between users with graphical support for notifications about other users' activities. Conflict resolution and fault tolerance are both achieved through a decentralized transactional service with storage replication. The transactional service also allows the application to prevent performance degradation due to network latency, which is an important feature for synchronous collaboration. Local edits are performed immediately and a transaction request is initiated at the same time. If the transaction commits, the local edit is globally accepted. If it aborts, the local edit is canceled. This works well when there are few conflicts. For the other case, DeTransDraw has a collaboration protocol to manage requesting and releasing locks explicitly. DeTransDraw is a redesign of TransDraw [1], a client-server application providing similar features. Due to its centralized architecture, TransDraw has a single point of failure and does not scale beyond the capacity of the server. DeTransDraw is built on top of a peer-to-peer network, Beernet [2], allowing users to join and leave the application at any time without relaying on any central point of control. The decentralized architecture of DeTransDraw makes it more scalable and fault-tolerant. Other collaborative applications, either synchronous or asynchronous, can benefit from these properties by reusing the transactional layer over an equivalent peer-to-peer network. The transactional service we use is based on an eager protocol that is an adaptation of the Paxos consensus algorithm [3]. The Beernet network we built uses the relaxed-ring topology [4]. During the demonstration we will build an ad-hoc peer-to-peer network that will be interfaced by three clients running on three different computers. The three clients will run the graphical interface of DeTransDraw, accessing the shared drawing area. Apart from simple drawing actions, conflict resolution will be tested by trying to modify the same graphical objects by more that one client. Fault tolerance will be tested by killing some of the peers during the drawing actions. For the demonstrations we will need space and power to set up three laptops and a router. The work supporting this demonstration was partially funded by the SELFMAN project (FP6, ICT Software and Services, contract 034084). Duration: 15-20 minutes Topics: Data Management QoS and SLAs Innovations - Replicated storage achieved by decentralized transaction over peer-to-peer networks providing distributed hash table (DHT), giving eager notifications to the participants of a collaborative application. - Prevention of performance degradation due to network latency while maintaining the drawing coherence. The delay due to the network is strictly zero. Users work with the application almost as if it was a local application: local modifications remain provisional until globally accepted. - Self management of storage achieved with symmetric replication over a structured overlay network. - Self healing in the case of failure of transaction participants. A transaction always terminates if the majority of the peers is alive during the execution. Fault tolerance is guaranteed by using the majority. References [1] Donatien Grolaux. "Distributed graphical editor based on a transactional model" (original title in French "Editeur graphique reparti base sur un modele transactionnel"), June 1998. Memoire de Licence, Universite catholique de Louvain. [2] Programming languages and distributed computing research group, Universite catholique de Louvain. "Beernet - the relaxed peer-to-peer network". http://beernet.info.ucl.ac.be, 2009. [3] Monika Moser and Seif Haridi. "Atomic commitment in transactional DHTs". In Proceedings of the CoreGRID Symposium, CoreGRID series. Springer, 2007. [4] Boris Mejias and Peter Van Roy. "A relaxed-ring for self-organising and fault-tolerant peer-to-peer networks". In XXVI International Conference of the Chilean Computer Science Society. IEEE Computer Society, November 2007.