1. A computer-readable storage device encoded with computer-executable instructions that, when executed on a processor of a computer having an update catalog and having access to at least two servers respectively having a server identifier, cause the computer to distribute updates from an update source to at least one client for application to at least one package stored by the client, by: upon receiving an update set comprising: at least one update of at least one package, an expiration date after which the update set is not applicable by the client, a cryptographic signature identifying the update set as having been generated by the update source, and the server identifier of respective at least two selected servers among the at least two servers accessible to the computer: storing the update set, and recording the update set in the update catalog; pushing the update set to the at least two selected servers; and pushing to the at least one client an availability notification of the update set comprising the update of the at least one package, the availability notification including the server identifier of the at least two selected server distributing the update set; and upon receiving a request from a client for available updates, providing the update catalog to the client.