Method and system for contraindicating firmware and driver updates
A method and system for contraindicating firmware and driver updates. Specifically, the disclosed method and system entail discerning whether installation of a hardware device firmware and/or device driver update, targeting a hardware device on a host device, would succeed or fail given a set of features (or indicators) reflective of the current host device state and metadata respective to the hardware device update. Further, the determination may employ predictive machine learning techniques.
1. A method for installing hardware device updates, comprising:
receiving a first hardware device update concerning a first hardware device on a host device;
submitting a first feature set, pertinent to predicting an installation outcome for the first hardware device update, for processing;
receiving, following the processing, a first predicted update outcome for the first hardware device update; and
attempting, based on the first predicted update outcome, an installation of the first hardware device update onto the host device,
wherein the first feature set comprises a set of indicator values aggregated from the host device and metadata descriptive of the first hardware device update, the indicator values indicating a design architecture associated with the first hardware device update, the hardware device, one or more dependencies of the hardware device update, and a name associated with a manufacturer for each of the one or more dependencies, and
wherein processing of the first feature set comprises using a naïve Bayes classifier as a predictive machine learning algorithm.
2. The method of claim 1 , wherein the first hardware device update is one selected from a group consisting of a firmware update applicable to hardware device firmware stored on the first hardware device and a driver update applicable to a hardware device driver stored within a host operating system executing on the host device.
3. The method of claim 1 , wherein the first predicted update outcome anticipates a successful installation of the first hardware device update onto the host device.
4. The method of claim 1 , further comprising:
obtaining a first actual update outcome observed for the installation of the first hardware device update onto the host device; and
submitting the first actual update outcome for storage.
5. The method of claim 4 , wherein the first actual update outcome indicates one selected from a group consisting of a complete and an incomplete, installation of the first hardware device update onto the host device.
6. The method of claim 1 , further comprising:
receiving a second hardware device update concerning a second hardware device on the host device;
submitting a second feature set, pertinent to predicting an installation outcome for the second hardware device update, for processing;
receiving, following the processing, a second predicted update outcome for the second hardware device update; and
passing, based on the second predicted update outcome, on an installation of the second hardware device update onto the host device.
7. The method of claim 6 , wherein the second predicted update outcome anticipates an unsuccessful installation of the second hardware device update onto the host device.
8. A non-transitory computer readable medium (CRM) comprising computer readable program code, which when executed by a computer processor, enables the computer processor to:
receive a first hardware device update concerning a first hardware device on a host device;
submit a first feature set, pertinent to predicting an installation outcome for the first hardware device update, for processing;
receive, following the processing, a first predicted update outcome for the first hardware device update; and
attempt, based on the first predicted update outcome, an installation of the first hardware device update onto the host device, wherein the first feature set comprises a set of indicator values aggregated from the host device and metadata descriptive of the first hardware device update, the indicator values indicating a design architecture associated with the first hardware device update, the hardware device, one or more dependencies of the hardware device update, and a name associated with a manufacturer for each of the one or more dependencies, and wherein processing of the first feature set comprises using a naïve Bayes classifier as a predictive machine learning algorithm.
9. The non-transitory CRM of claim 8 , wherein the first hardware device update is one selected from a group consisting of a firmware update applicable to hardware device firmware stored on the first hardware device and a driver update applicable to a hardware device driver stored within a host operating system executing on the host device.
10. The non-transitory CRM of claim 8 , wherein the first predicted update outcome anticipates a successful installation of the first hardware device update onto the host device.
11. The non-transitory CRM of claim 8 , comprising computer readable program code, which when executed by the computer processor, further enables the computer processor to:
obtain a first actual update outcome observed for the installation of the first hardware device update onto the host device; and
submit the first actual update outcome for storage.
12. The non-transitory CRM of claim 11 , wherein the first actual update outcome indicates one selected from a group consisting of a complete and an incomplete, installation of the first hardware device update onto the host device.
13. A system, comprising:
a plurality of host devices comprising a host device comprising a hardware device; and
an update agent executing on the host device and programmed to:
receive a hardware device update concerning the hardware device;
submit a feature set, pertinent to predicting an installation outcome for the hardware device update, for processing;
receive, following the processing, a predicted update outcome for the hardware device update; and
attempt, based on the predicted update outcome, an installation of the hardware device update onto the host device,
wherein the feature set comprises a set of indicator values aggregated from the host device and metadata descriptive of the hardware device update, the indicator values indicating a design architecture associated with the hardware device update, the hardware device, one or more dependencies of the hardware device update, and a name associated with a manufacturer for each of the one or more dependencies, and
wherein processing of the first feature set comprises using a naïve Bayes classifier as a predictive machine learning algorithm.
14. The system of claim 13 , further comprising:
an update failure predictor comprising a computer processor and operatively connected to the plurality of host devices,
wherein the feature set is submitted to and the predicted update outcome is received from the update failure predictor.