DeSCal --- Decentralized Shared Calendar for P2P and Ad-Hoc Networks
Résumé
This paper describes the design and implementation of a Decentralized Shared Calendar (abbreviated as DeSCal), a distributed application which provides users a decentralized infrastructure to share their calendar events with selected users in a dynamic group. Although being a distributed application, DeSCal is as responsive as a personal calendar. It achieves this high responsiveness by keeping a local copy of the shared calendar at each participating user. Consistency of these replicated copies of the shared calendar is carried out in a decentralized fashion using Operational Transformation (OT) approach. OT allows users to concurrently modify the shared calendar and exchange their updates in any order since it ensures the convergence of copies of shared calendar in all cases. To prevent unauthorized access by illegal users, DeSCal is endowed with access control mechanism on the local copy of the shared calendar. It employs a flexible access control model based on replicating the access data-structure at each user site to overcome the latency problem. Also, access control on shared calendar events is dynamic \textit{i.e.} users are able to change the access rights on their shared calendar events at any point of time after the creation of an event. In short, DeSCal is totally decentralized, scalable and self-configurable \textit{i.e.} no need of a third party to manage it.