Patent ID: 8726267

Claim:
A method comprising: receiving, by a processing device at a server system, update information and supplemental metadata associated with the update information for a plurality of software programs comprising a first software program provided by a first vendor among a plurality of vendors and a second software program provided by a second vendor among the plurality of vendors, wherein the first vendor is distinct from the second vendor, wherein the first software program comprises an operating system component, wherein the second software program comprises an application, wherein the application complements operation of the operating system component, and wherein the update information comprises dependency information regarding the application being dependent on updates to the operating system component; determining, by the server system, a dependency of the application on a parent software update to the operating system component in view of the dependency information; receiving, by the server system, a request from a client computer for updates to the operating system component at the client computer and the supplemental metadata, wherein the parent software update is responsive to fulfilling the request for updates to the operating system component at the client computer; determining, by the server system, an effect of the parent software update on the application at the client computer in view of the dependency information; selecting, by the server system, a child software update that compensates the determined effect of the parent software update on the application at the client computer, wherein the second vendor provides the child software update and the first vendor provides the parent software update; selecting, by the server system, a second child software update that compensates the determined effect of the parent software update on the application at the client computer, wherein a third vendor among the plurality of vendors provides the second child software update, wherein the third vendor is distinct from the first vendor and the second vendor, wherein the third vendor provides a third software program from the update information for the plurality of software programs, wherein the third software program comprises a second application, wherein the second application complements operation of the operating system component; generating a package to be provided to the client computer, the package comprising the supplemental metadata, the parent software update, the selected child software update and the selected second child software update.