Do you like DAGs? Yea, I like DAGs.

© 2000 Screen Gems

Thanks to a lot of hard work by Chase and the Firefox team, Software Update was recently upgraded to support partial patches.

The mechanism uses the much-improved update UI developed by the Firefox team to process much smaller binary diffs. It provides a great alternative to downloading an entire installer just to update a relatively small amount of code — which is what most minor revisions end up being.

Aside from the bandwidth/time benefits, there are other advantages to handling updates in this fashion:

  • Less headaches for nightly testers upgrading to newer versions.
  • Ability to jump from one build to another pretty easily.
  • Now you can really “set it and forget it”.

example dag

Generally, the new functionality utilizes bsdiff to determine the differences between complete patches to make mini-patches, or partial patches, that define the shortest point between one build and another.

Due to Chase’s hard work and Jedi-like mastery of the build systems, this all adds up and provides a Directed Acyclic Graph (DAG) that serves as a map between builds. This obviously means build-hopping will be the new teenage craze, and will sweep through high-schools around the world.

Well, okay, maybe not. But it is pretty damn cool, and is the next big thing for software update.

Software Update warnings: Batteries not included. Side effects include security fixes, feature additions, general updates, uncontrollable joy and excitement or dry-mouth.

4 thoughts on “Do you like DAGs? Yea, I like DAGs.

  1. funTomas

    Well, that’ll really be the next big thing, also among the malicious hackers. Do you happen to know if the AUS service is somewhat protected against DoS attacks?

  2. Being a web service, it is inherently vulnerable to DoS attacks. Protection or prevention, in this case, is a great server architecture that leverages LVS supported by talented sysadmins and the fact that AUS is actually DoS’d on a daily basis as a part of its core functionality. 🙂

    That said, the best defense we have is a great server team and a great architecture. The rest is details. Correct me if I’m wrong.

  3. Ran

    Yo. If Ron Popeil says “Set it and forget it!” is a good slogan, then you damn well better believe it’s a good slogan.

Comments are closed.