Compactly encoding unstructured inputs with differential compression

  • Authors:
  • Miklos Ajtai;Randal Burns;Ronald Fagin;Darrell D. E. Long;Larry Stockmeyer

  • Affiliations:
  • IBM Almaden Research Center, San Jose, California;Johns Hopkins University, Baltimore, Maryland;IBM Almaden Research Center, San Jose, California;University of California---Santa Cruz, Santa Cruz, California;IBM Almaden Research Center, San Jose, California

  • Venue:
  • Journal of the ACM (JACM)
  • Year:
  • 2002

Quantified Score

Hi-index 0.01

Visualization

Abstract

The subject of this article is differential compression, the algorithmic task of finding common strings between versions of data and using them to encode one version compactly by describing it as a set of changes from its companion. A main goal of this work is to present new differencing algorithms that (i) operate at a fine granularity (the atomic unit of change), (ii) make no assumptions about the format or alignment of input data, and (iii) in practice use linear time, use constant space, and give good compression. We present new algorithms, which do not always compress optimally but use considerably less time or space than existing algorithms. One new algorithm runs in O(n) time and O(1) space in the worst case (where each unit of space contains [log n] bits), as compared to algorithms that run in O(n) time and O(n) space or in O(n2) time and O(1) space. We introduce two new techniques for differential compression and apply these to give additional algorithms that improve compression and time performance. We experimentally explore the properties of our algorithms by running them on actual versioned data. Finally, we present theoretical results that limit the compression power of differencing algorithms that are restricted to making only a single pass over the data.