“Using Object Replication for Building a Dependable Version Control System”
in Proceedings of the 8th IFIP WG International Conference on Distributed Applications and Interoperable Systems - DAIS, Jun. 2008.
Abstract: Object-oriented technologies are frequently used to design and implement distributed applications. Object replication is a well-established approach to increase the dependability for such applications. Generic replication infrastructures often fail to meet non-standard application-specific requirements such as support for client-side computing. Our FTflex replication infrastructure combines the fragmented object model with semantic annotations in order to customize and optimize replication mechanisms, and thus provides a more flexible replication infrastructure. This paper presents DiGit, a replicated version control system based on the architecture of Git. DiGit is implemented with the help of the FTflex infrastructure for object replication. The contributions of this paper are twofold. First, the paper evaluates the fitness of our replication framework for a specific, complex application. We identify two advantages of the replication infrastructure: the ability to provide client-side code as a conceptually integral part of a remote service, and support for an optimized protocol for remote interaction. As a second contribution, the paper presents a powerful replicated version control system and shows the lessons learned from using object replication in such a system.
Research line(s): Timeliness and Adaptation in Dependable Systems (TADS)