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.