Patent ID: 8245216

Claim:
A method of managing and applying patches for software programs, comprising the steps of: providing at a computer, including a processor and memory, a central patch management system which includes a global patch depository that stores available patches or patch information, for application to software programs running on local machines, wherein each particular patch or patch information in the global patch depository has associated therewith a metadata that is used to determine relationships and dependencies with other patches, including information describing how the particular patch or patch information is to be applied with respect to previously installed patches, and information describing how the patch can be rolled back, and a scope information that indicates how the patch is scoped; providing at one or more local machines which includes one or more installed software programs, a local patch management system which includes a local patch depository, that is used to store selected patches or patch information from the global patch depository, and apply the selected patches or patch information for the one or more installed software programs on that local machine, and a maintenance archive which maintains indications of files and classes from previously-applied patches to enable rollback; and using the metadata and the scope information associated with each patch or patch information, including the relationships and dependencies determined thereby, to control the packaging and application of the selected patches or patch information to the software programs at the local machines, in accordance with their scope, including during installation of a particular patch injecting that patch into the archive and storing backup files as necessary to enable rollback.