Patent ID: 7823147

Claim:
A system comprising: (a) a package computer having a plurality of patch fingerprints; (i) wherein the plurality of patch fingerprints includes at least a first patch fingerprint and a second patch fingerprint, different than the first patch fingerprint; (i) wherein at least the first and second patch fingerprints each comprises at least one Extensible Markup Language (XML) metadata query, wherein the first patch fingerprint includes a first XML metadata query, and wherein the second patch fingerprint includes a second XML metadata query, different than the first XML metadata query; (ii) wherein at least the first and second patch fingerprints are both associated with a specific software update; (b) an update server in communication with the package computer; (i) wherein the update server stores at least the first and second patch fingerprints of the package computer; (ii) wherein the update server is located remote from the package computer; and (c) a discovery agent configured to separately interact with both the first XML metadata query and the second XML metadata query to produce first target computer information relating to the first target computer; wherein the system is configured to: (A) send the first XML metadata query and the second XML metadata query of the first and second patch fingerprints from the update server to the discovery agent to gather the first target computer information; (I) wherein the first target computer information is related to at least registry information, software presence information, and software version information relative to the first target computer; (II) wherein a first portion of the first target computer information is associated with the first patch fingerprint and the first XML metadata query; (III) wherein a separate second portion of the first target computer information is associated with the second patch fingerprint and the second XML metadata query; (B) determine, at the update server based on the first target computer information, whether the specific software update is both applicable to and absent from the first target computer; (i) wherein the determination step comprises: (1) evaluating the first portion of the first target computer information to determine the applicability of the specific software update to the first target computer; and (2) if the specific software update is applicable to the first target computer, then evaluating the second portion of the first target computer information to determine the presence or absence of: (A) the applicable files; (B) the applicable registry keys; and (C) the applicable configuration information of the specific software update; wherein the system is configured to, based on the determination (B), download the specific software update to one of (i) the update server and (ii) the first target computer.