HOME

TheInfoList



OR:

A delta update is a
software update A patch is a set of changes to a computer program or its supporting data designed to update, fix, or improve it. This includes fixing security vulnerabilities and other bugs, with such patches usually being called bugfixes or bug fixes. Patche ...
that only requires the user to download those parts of the software's code which are new, or have been changed from their previous state, in contrast to having to download the entire program. The use of delta updates can save significant amounts of time and computing bandwidth. The name ''delta'' derives from the mathematical science use of the Greek letter delta, Δ or δ to denote ''change''. By using a delta update, a program can be updated more quickly and efficiently. For example: An auto racing simulation game has a size of 300 megabytes; it is updated to include a new racetrack, and the body of code which inserts the new racetrack into the game has a size of two megabytes; the game may use a delta update, which would require the download of only the two megabytes of new code, instead of a total download of 302 megabytes.


Uses


Linux

Fedora Linux has supported binary delta updates by default using the yum presto plugin since June 2009. This is based on
RPM Package Manager RPM Package Manager (RPM) (originally Red Hat Package Manager, now a recursive acronym) is a free and open-source package management system. The name RPM refers to the file format and the package manager program itself. RPM was intended primaril ...
's deltarpm system (2004), which was in turn based on bsdiff. This functionality has been inherited by Fedora-derived operating systems, including
RedHat Enterprise Linux Red Hat Enterprise Linux (RHEL) is a commercial open-source Linux distribution developed by Red Hat for the commercial market. Red Hat Enterprise Linux is released in server versions for x86-64, Power ISA, ARM64, and IBM Z and a desktop vers ...
and its variant,
CentOS CentOS (, from Community Enterprise Operating System; also known as CentOS Linux) is a Linux distribution that provides a free and open-source community-supported computing platform, functionally compatible with its upstream source, Red Hat En ...
. OpenSUSE also uses deltarpms with its zypper manager. A more primitive system, the SUSE ''patchrpm'', worked by replacing changed files. A similar system for the dpkg-
APT Apt. is an abbreviation for apartment. Apt may also refer to: Places * Apt Cathedral, a former cathedral, and national monument of France, in the town of Apt in Provence * Apt, Vaucluse, a commune of the Vaucluse département of France * A ...
package manager system of
Debian Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of D ...
is debdelta (2006); despite an apparent halt on the homepage, its package repository as well as the source code remains actively maintained. Debdelta is not installed by default and not many mirrors have been set up for it. A member of the developer team has proposed yet another format that integrates directly into the currently mirrored main repositories called ''patch debs'' in 2018. It is intended to have more integrity checks. A descendant of Debian, Ubuntu developers have tried many times to implement delta updates for their system. During 2006 they tried to create one, but were confronted with too many options and dropped the efforts. In 2011 they tried to just set up debdelta, but once again dropped the efforts in May of the same year. The Arch Linux package manager '' pacman'' used to support a form of delta updating using
VCDIFF VCDIFF is a format and an algorithm for delta encoding, described in IETF'RFC 3284 The algorithm is based on Jon Bentley and Douglas McIlroy's paper "Data Compression Using Long Common Strings" written in 1999. VCDIFF is used as one of the delta e ...
(xdelta). It was scrapped due to an arbitrary command execution vulnerability () due to a lack of string escaping.


Windows

Windows Update has supported delta updates since Windows XP which are called express installation files. On redistributing updates, Windows Server Update Services has supported delta updates since Windows Server 2003.


FreeBSD

FreeBSD FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
has supported delta updates using portsnap since November 2005. Given FreeBSD's traditional stance of focusing on source code updates, no method of delta binary updates currently exists.


Google

Google refers to delta updates as "smart updates." This has been implemented in Google's
Android Android may refer to: Science and technology * Android (robot), a humanoid robot or synthetic organism designed to imitate a human * Android (operating system), Google's mobile operating system ** Bugdroid, a Google mascot sometimes referred to ...
operating system devices that run on
Android 2.3 Android 2.3 Gingerbread house, Gingerbread is the seventh version of Android, a codename of the Android (operating system), Android mobile operating system developed by Google and released in December 2010, for versions that are no longer suppor ...
or above. Google engineers have estimated that smart updates would be only about one third the size of a full update on average. Google's open source project
Chromium Chromium is a chemical element with the symbol Cr and atomic number 24. It is the first element in group 6. It is a steely-grey, lustrous, hard, and brittle transition metal. Chromium metal is valued for its high corrosion resistance and hardne ...
requires frequent updates to narrow the window of vulnerability. It uses a disassembly-based diffing algorithm called "courgette" to reduce diff size of two binary executable files, which reduces the diff patch from 6.7% (bsdiff) to 0.76% (bsdiff + courgette) for one version update. The technology helped Chrome to push its updates to 100% of users in less than 10 days. App APK updates in Android's Play Store use bsdiff since 2016, a new efficient delta update algorithm introduced in 2003.


Apple iOS

Apple's iOS is also capable of delta updates for operating system and application updates to reduce bandwidth usage.


Over-the-air software updates

Over-the-air (OTA) software updates have been used widely across many mobile devices; Apple iOS, Google
Android Android may refer to: Science and technology * Android (robot), a humanoid robot or synthetic organism designed to imitate a human * Android (operating system), Google's mobile operating system ** Bugdroid, a Google mascot sometimes referred to ...
, Microsoft Windows Phone 8, and BlackBerry 10.


See also

* Data differencing * Delta encoding


References

Software maintenance {{install-software-stub