VCDIFF

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

VCDIFF ist ein Datenformat und ein Algorithmus zur Delta-Kodierung und wird in RFC 3284[1] beschrieben. Der Algorithmus basiert auf der Arbeit Data Compression Using Long Common Strings[2] aus dem Jahr 1999 von Jon Bentley und Douglas McIlroy. VCDIFF ist eines der Delta-Kodierungs-Formate in Delta encoding in HTTP (RFC 3229[3]) und wird in Googles Shared-Dictionary-Compression-Over-HTTP-Technologie im Chrome-Browser verwendet.

Delta-Anweisungen

[Bearbeiten | Quelltext bearbeiten]

VCDIFF verwendet drei Delta-Anweisungen: ADD, COPY und RUN. ADD fügt eine neue Sequenz hinzu, COPY verwendet eine vorhergehende Sequenz und RUN fügt sich wiederholende Datenbereiche hinzu.

Implementierungen

[Bearbeiten | Quelltext bearbeiten]

Implementierungen als freie Software sind Xdelta (version 3) und open-vcdiff.

  • Googles Vorschlag für Shared Dictionary Compression Over HTTP wurde im Chrome-Browser implementiert.
  • Xdelta: Ein Open-Source-Werkzeug mit einer Implementierung des VCDIFF-Delta-Komprimierungs-Algorithmus.
  • open-vcdiff: Eine weitere Open-Source-Implementierung des Delta-Komprimierungs-Algorithmus.[4]
  • vczip: Teil der vcodex- und ast-open-Pakete (ebenso in UWIN enthalten).[5]
  • diffable: Java-Implementierung mit zusätzlichen Erweiterungen.[6]
  • jvcdiff: Vollständige Kodierer-/Dekodierer-Implementierung in Java.[7]
  • j-vcdiff: Eine weitere Java-Implementierung von VCDIFF.[8]
  • Miscellaneous Utility Library: C#-Implementierung, nur Dekodieren.[9]
  • CyanDelta: Verwendung von Xdelta3-Patches für CyanogenMod-ROM-Updates.[10]

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. RFC: 3284 – The VCDIFF Generic Differencing and Compression Data Format. Juni 2002 (englisch).
  2. Data Compression Using Long Common Strings. CiteSeerX.
  3. RFC: 3229 – Delta encoding in HTTP. (englisch).
  4. code.google.com
  5. research.att.com
  6. code.google.com
  7. github.com (Memento vom 7. Mai 2014 im Webarchiv archive.today)
  8. code.google.com
  9. yoda.arachsys.com (Memento vom 4. Februar 2013 im Internet Archive)
  10. cyandelta.com (Memento vom 7. Juli 2014 im Internet Archive)