Delta update

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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[edit]

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[edit]

Linux[edit]

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.

FreeBSD[edit]

FreeBSD has supported delta updates using portsnap[4] since November 2005.[5] Given FreeBSD's traditional stance of focusing on source code updates, no method of delta binary updates currently exists.

Google[edit]

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.[6] It uses a more aggressive diffing algorithm called "courgette" [7] to reduce diff size of two binary executable files, which reduces the diff patch from 6.7% to 0.76% for one version update.[8] The technology helped Chrome to push its updates to 100% users in less than 10 days.

Apple iOS[edit]

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[edit]

Over-the-air (OTA) software updates have been used widely across many mobile devices, most notably Google's Android operating system (watch a demo video on YouTube: http://www.youtube.com/watch?v=67zZH-0amuU) and recently iOS. Android users have always been able to download their updates over the air. Apple, with this addition to iOS, users receive a push notification letting them know the updates have been downloaded, and are ready to be installed, very similar to Android.

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