Delta update

A delta update is an update that only requires the user to download the code that has changed, not the whole program. It can significantly save time and bandwidth. The name is drawn from the fact that the Greek letter delta, Δ or δ, is used to denote change in mathematical sciences.

Example

Any app that is ready for updating can be updated almost instantly due to this new system. If, for example, a game that is 300 megabytes is updated with a new racetrack that is two megabytes, only two megabytes will be downloaded instead of 302 megabytes.

Uses

Linux

Fedora Linux has supported binary delta updates by default using the yum presto plugin since June 2009.[1] This functionality has been inherited by Fedora-derived operating systems, including RedHat Enterprise Linux and its variant, CentOS. Debian Linux supports delta binary updates through the debdelta[2] project, although this functionality is not enabled by default.

Notably, Ubuntu Linux tried to implement Debian's debdelta in 2011,[3] but efforts were dropped in May of that year.

Windows

WSUS has supported delta updates since Server 2003, which are called express installation files.[4]

FreeBSD

FreeBSD has supported delta updates using portsnap[5] since November 2005.[6] 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 operating system devices that run on Android 2.3 or above. Google engineers have estimated that smart updates would be only about the third of the size of a full update on average.

Google's open source project Chromium requires frequent updates to narrow the window of vulnerability.[7] It uses a more aggressive diffing algorithm called "courgette" [8] to reduce diff size of two binary executable files, which reduces the diff patch from 6.7% to 0.76% for one version update.[9] The technology helped Chrome to push its updates to 100% users in less than 10 days.

Apple iOS

Apple's iOS is also capable of delta updates making users much less reliant on their desktops (in fact it is possible to never use an iPhone with a computer) and broadband connections, this capability can be seen in their Software Updates section (Settings -> General -> Software Updates).

Over-the-air software updates

Over-the-air (OTA) software updates have been used widely across many mobile devices; Apple iOS, Google Android, Microsoft Windows Phone 8, and BlackBerry 10.

References

  1. "Fedora Features/Presto".
  2. "debdelta at the Debian Project".
  3. "UbuntuDebdeltaSupport".
  4. "Determine Bandwidth Options to Use for Your Deployment".
  5. "Secure FreeBSD ports tree updating".
  6. "FreeBSD 6.0-RELEASE Announcement".
  7. "Smaller is faster (and safer too),".
  8. "Software Updates: Courgette".
  9. "Software Updates: Courgette".