September 2, 2005 4

Do you like DAGs? Yea, I like DAGs.

By morgamic in Mozilla, Technology
snatch
© 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 Responses to “Do you like DAGs? Yea, I like DAGs.”

  1. rafael says:

    set it and forget it? that’s why i get to do the marketing.

    Nice job.

  2. funTomas says:

    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?

  3. morgamic says:

    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.

  4. Ran says:

    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.