HOME

TheInfoList



OR:

VCDIFF is a format and an
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
for
delta encoding Delta encoding is a way of storing or transmitting data in the form of '' differences'' (deltas) between sequential data rather than complete files; more generally this is known as data differencing. Delta encoding is sometimes called delta compr ...
, described in
IETF The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements and ...
'
RFC 3284
The algorithm is based on Jon Bentley and
Douglas McIlroy Malcolm Douglas McIlroy (born 1932) is a mathematician, engineer, and programmer. As of 2019 he is an Adjunct Professor of Computer Science at Dartmouth College. McIlroy is best known for having originally proposed Unix pipelines and developed se ...
's paper "Data Compression Using Long Common Strings" written in 1999. VCDIFF is used as one of the delta encoding algorithms in "Delta encoding in HTTP"
RFC 3229
and was employed in
Google Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
's
Shared Dictionary Compression Over HTTP SDCH (Shared Dictionary Compression for HTTP) is a data compression algorithm created by Google, based on VCDIFF (RFC 3284). SDCH achieves its effectiveness by using pre-negotiated dictionaries to "warm up" its internal state prior to encoding or ...
technology, formerly used in their
Chrome browser Google Chrome is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macOS, ...
.


Delta instructions

VCDIFF has 3 delta instructions. ADD, COPY, and RUN. ADD adds a new sequence, COPY copies from an old sequence, and RUN adds repeated data.


Implementations

Free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
implementations include
xdelta xdelta is a command line program for delta encoding, which generates the difference between two files. This is similar to diff and patch, but it is targeted for binary files and does not generate human readable output. It was first released in 19 ...
(version 3) and open-vcdiff. *
Google Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
's
Shared Dictionary Compression Over HTTP SDCH (Shared Dictionary Compression for HTTP) is a data compression algorithm created by Google, based on VCDIFF (RFC 3284). SDCH achieves its effectiveness by using pre-negotiated dictionaries to "warm up" its internal state prior to encoding or ...
proposal uses this algorithm, and was included in the
Google Chrome Google Chrome is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macO ...
browser, up to version 58. *
xdelta xdelta is a command line program for delta encoding, which generates the difference between two files. This is similar to diff and patch, but it is targeted for binary files and does not generate human readable output. It was first released in 19 ...
- A tool, which is an Open Source VCDIFF delta compression implementation
google/open-vcdiff
- Another Open Source VCDIFF delta compression implementation

as part o
vcodex and ast-open
packages (also part of UWIN)
diffable
- Java implementation, but some kind of original modification of VCDIFF
jvcdiff
- Full decoder/encoder Java implementation of VCDIFF
vcdiff-java
- another Java implementation of VCDIFF
Miscellaneous Utility Library
- C# implementation, decoding only

- Updates
CyanogenMod CyanogenMod ( ; CM) is a discontinued open-source operating system for mobile devices, based on the Android mobile platform. It was developed as free and open-source software based on the official releases of Android by Google, with added origin ...
ROMs using Xdelta3 patches.


See also

*
Delta encoding Delta encoding is a way of storing or transmitting data in the form of '' differences'' (deltas) between sequential data rather than complete files; more generally this is known as data differencing. Delta encoding is sometimes called delta compr ...
*
Data differencing In computer science and information theory, data differencing or differential compression is producing a technical description of the difference between two sets of data – a source and a target. Formally, a data differencing algorithm takes as in ...


References


External links


RFC 3284
- The VCDIFF Generic Differencing and Compression Data Format Data differencing {{Computing-stub