File Synchronization with Vector Time Pairs
Vector time pairs are a new method for trackingsynchronization metadata. A vector time pairconsists of two vector times: one tracking filemodification history and one tracking filesynchronization history. Because the vectortimes are maintained separately and used fordifferent purposes, different algorithms andoptimizations can be applied to each. As aresult, vector time pairs impose no restrictionon synchronization patterns, never falsely detectconflicts, require no space to store deletionnotices, require network bandwidth proportionalonly to the number of files changed, and supportpartial synchronizations. No other currentsynchronization method has all these properties.Results from an implementation of vector timepairs in a new user-level file synchronizercalled Tra confirm the benefits of vectortime pairs.