NON-INVASIVE AUTOMATIC OFFSITE PATCH FINGERPRINTING AND UPDATING SYSTEM AND METHOD
First Claim
1. An automated method for at least attempting to update software in a system having a first target computer in a non-update state connected across a network to an update server in a pre-update state, the system also having a package computer which is inaccessible to the first target computer but accessible to the update server, and a repository component accessible to the first target computer and the update server, the method comprising the steps of:
- putting at least one patch fingerprint which defines a specific software update into the repository component, the patch fingerprint comprising a patch signature and an existence test, wherein the patch signature is used to request information from the first target computer and the existence test uses the patch signature to determine whether the specific software update is needed on the first target computer;
gathering information about the first target computer and sending the information back to the repository component;
comparing at least a portion of the gathered information with the patch fingerprint using the existence test to determine whether the specific software update has a dependency on at least one of another specific software update, a specific software, and a specific hardware, and defining at least one dependency and ordering for at least one of another specific software update, a specific software, and a specific hardware;
if a known condition is met, then placing at least one task identifier on an update task list, the task identifier specifying the first target computer, the update task list stored at the update server, the task identifier also specifying at least one download address which references a location on the package computer that contains a software update for the first target computer;
starting a task in response to the task identifier, the task attempting a first download of the software update from the package computer to the update server;
if the first download completes successfully, then attempting a second download of the software update from the update server to the first target computer; and
monitoring the attempted downloads for an outcome.
21 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and configured storage media are provided for discovering software updates, discovering if a given computer can use the software update, and then updating the computers with the software as needed automatically across a network without storing the updates on an intermediate machine within the network. Furthermore, when a failure is detected, the rollout is stopped and the software can be automatically removed from those computers that already were updated. The software update can be stored originally at an address that is inaccessible through the network firewall by intermediately uploading the software update to an update computer which is not a part of the network but has access through the firewall, which is then used to distribute the update.
-
Citations
20 Claims
-
1. An automated method for at least attempting to update software in a system having
a first target computer in a non-update state connected across a network to an update server in a pre-update state, the system also having a package computer which is inaccessible to the first target computer but accessible to the update server, and a repository component accessible to the first target computer and the update server, the method comprising the steps of: -
putting at least one patch fingerprint which defines a specific software update into the repository component, the patch fingerprint comprising a patch signature and an existence test, wherein the patch signature is used to request information from the first target computer and the existence test uses the patch signature to determine whether the specific software update is needed on the first target computer;
gathering information about the first target computer and sending the information back to the repository component;
comparing at least a portion of the gathered information with the patch fingerprint using the existence test to determine whether the specific software update has a dependency on at least one of another specific software update, a specific software, and a specific hardware, and defining at least one dependency and ordering for at least one of another specific software update, a specific software, and a specific hardware;
if a known condition is met, then placing at least one task identifier on an update task list, the task identifier specifying the first target computer, the update task list stored at the update server, the task identifier also specifying at least one download address which references a location on the package computer that contains a software update for the first target computer;
starting a task in response to the task identifier, the task attempting a first download of the software update from the package computer to the update server;
if the first download completes successfully, then attempting a second download of the software update from the update server to the first target computer; and
monitoring the attempted downloads for an outcome. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A target computer in a non-updated state which is located in a network and which is configured to attempt to receive a software package across the network, and to attempt to install on itself a received software package to update software, at least one update server being accessible to the network through a remote connection, a target computer update list on the update server containing a reference to a software package location;
the target computer comprising;
memory;
a network connection;
an update agent that reads the target computer update list from the update server, uses the reference to the software package to locate the software package;
at least one patch fingerprint which contains information used to determine whether a software package associated with the patch fingerprint is installed on the target computer and whether the software package has a dependency on at least one of another software package, a specific software, and hardware, and defining at least one dependency and ordering for at least one of another software package, a specific software, and hardware, the patch fingerprint comprising a patch signature and an existence test;
an installer that attempts to install the software package on the target computer;
an outcome finder that determines if the software package installation was successful; and
a restorer that restores the target computer to a non-updated state if the outcome finder determines that the software package installation was not successful. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
20. A configured program storage medium having a configuration that represents data and instructions which will cause at least a portion of a computer system to perform method steps for at least attempting to update software in a system having
a first target computer in a pre-update state connected across a network to an update server in a pre-update state, the system also having a package computer which is inaccessible to the first target computer but accessible to the update server, and a repository component accessible to the first target computer and the update server, the method comprising the steps of: -
gathering information about the first target computer and sending the information back to the repository component;
putting at least one patch fingerprint which defines a specific software update into a repository component, the patch fingerprint comprising a patch signature and an existence test, wherein the patch signature is used to request information from the first target computer and the existence test uses the patch signature to determine whether the specific software update is needed on the first target computer;
comparing at least a portion of the gathered information with the patch fingerprint using the existence test to determine whether the specific software update has a dependency on at least one of another specific software update, a specific software, and a specific hardware, and defining at least one dependency and ordering for at least one of another specific software update, a specific software, and a specific hardware;
if a known condition is met then placing at least one task identifier on an update task list, the task identifier specifying the first target computer, the update task list stored at the update server, the task identifier also specifying at least one download address which references a location on the package computer that contains a software update for the first target computer;
starting a task in response to the task identifier, the task attempting a first download of the software update from the package computer to the update server;
if the first download completes successfully, then attempting a second download of the software update from the update server to the first target computer; and
monitoring the attempted downloads for an outcome.
-
Specification