Efficient interactive algorithms for file synchronization under general edits
This paper considers the problem of synchronizing of two remotely located data sources, which are mis-synchronized due to deletions, insertions and substitutions (collectively called `edits'). We focus on the following model. There are two distant nodes, with one having a binary sequence X, and the other having Y. Y is an edited version of X, where the editing involves random deletions, insertions, and substitutions, possibly in bursts. The problem is to synchronize Y with X with minimal exchange of information over a noiseless link. The amount of information exchanged is measured in terms of both the average communication rate and the average number of interactive rounds of communication. The goal is to synchronize Y to X, either exactly or within a target Hamming distance. We build on earlier work [1] which introduced an interactive algorithm based on Varshamov-Tenengolts codes to synchronize from insertion and deletion edits (indels). The assumption is that the number of edits is small (o(n) where n is the file size). First, we show how the original algorithm can be modified to work with a limited number of rounds, and quantify the trade-off between the number of rounds and the communication rate. Next, we present an extension of the algorithm to deal with the practically important case where the insertions and deletions occur in (potentially large) bursts. Finally, we show how to synchronize the sources to within a target Hamming distance. This feature can be used to differentiate between substitution and indel edits.