Flexible and Safe Resolution of File Conflicts
Puneet Kumar and M. Satyanarayanan
Abstract
In this paper we describe the support provided by the Coda File System
for transparent resolution of conflicts arising from concurrent
updates to a file in different network partitions. Such partitions often
occur in mobile computing environments. Coda provides a framework for invoking
customized pieces of code called
application-specific resolvers (ASRs)
that encapsulate the knowledge needed for file resolution. If resolution
succeeds, the user notices nothing more than a slight performance delay.
Only if resolution fails does the user have to resort to manual repair.
Our design combines a rule-based approach to ASR selection with
transactional
encapsulation of ASR execution. This paper shows how such an approach
leads to flexible and efficient file resolution without loss of security
or robustness.