Determining a stability index associated with a software update
US-2020034133-A1 · Jan 30, 2020 · US
US10789057B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10789057-B2 |
| Application number | US-201816036102-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 16, 2018 |
| Priority date | Jul 16, 2018 |
| Publication date | Sep 29, 2020 |
| Grant date | Sep 29, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In some examples, a server may determine a plurality of variables associated with a software package. For example, the plurality of variables may include a size of the software package, a reboot variable associated with the software package indicating whether a reboot is to be performed after installing the software package, and an installation type indicating whether the software package is a first install or an upgrade. The server may execute a machine learning model to determine, based on the plurality of variables, a risk score predicting an installation success rate of the software package. The server may select a deployment strategy from a plurality of deployment strategies based at least in part on the risk score and the plurality of variables. The server may provide the software package to a plurality of computing devices in accordance with the deployment strategy.
Opening claim text (preview).
What is claimed is: 1. A method comprising: determining, by a server, a plurality of variables associated with a software package, the plurality of variables comprising: a software package variable indicating that the software package comprises one of a native application, a universal application, a driver, a firmware update, or a basic input/output system (BIOS); a size of the software package; a reboot variable associated with the software package indicating whether a reboot is to be performed after installing the software package; and an installation type indicating whether the software package is a first install or an upgrade to a previously installed software package; determining, by a machine learning model that is being executed by the server, a risk score predicting an installation success rate of the software package, the risk score determined based at least in part on the plurality of variables associated with the software package; and selecting, by the server, a deployment strategy from a plurality of deployment strategies based at least in part on: the risk score; and the plurality of variables associated with the software package; based at least in part on determining that the risk score satisfies a predetermined threshold, initiating deployment of the software package to a plurality of computing devices according to the deployment strategy of the plurality of deployment strategies; receiving, from one or more computing devices of the plurality of computing devices, a plurality of installation logs associated with an installation of the software package; determining a success rate associated with the software package based at least in part on the plurality of installation logs; based at least in part on determining that the success rate satisfies a success threshold, continuing deployment of the software package to the plurality of computing devices; and based at least in part on determining that the success rate fails to satisfy the success threshold, stopping deployment of the software package to the plurality of computing devices. 2. The method of claim 1 , wherein the plurality of variables further comprise at least one of: a provider variable identifying a provider of the software package, the provider comprising one or more of a manufacturer of the computing device or a vendor to the manufacturer; a validation variable indicating a number of validation passes associated with the software package prior to the software package passing a validation process; an installation time variable indicating an average installation time to install the software package; a region variable indicating one or more particular geographic regions where the software package is to be provided; a platform variable indicating one or more particular computing device platforms in which the software package is to be installed; an operating system variable indicating one or more particular operating system versions associated with the software package; or a deployment timing variable indicating when the software package is to be deployed. 3. The method of claim 1 , wherein the plurality of variables further comprise at least one of: a development team variable identifying information associated with a development team that created a software update included in the software package; or a validation team variable identifying additional information associated with a validation team that validated the software package. 4. The method of claim 1 , wherein the machine learning model learns multiple weights and multiple coefficients from historical data comprising historical success rates associated with previous software package installations. 5. The method of claim 1 , wherein the deployment strategy comprises at least one of: providing the software package to a first plurality of computing devices located in a particular geographic region; providing the software package to a second plurality of computing devices that are each based on a particular computing device platform; providing the software package to a third plurality of computing devices that are each executing a particular operating system or a particular version of the particular operating system; or providing the software package to a fourth plurality of computing devices at a particular time of a day, a particular day, a particular month, or a particular season. 6. The method of claim 1 , further comprising: providing the installation logs and the success rate to one or more developers of the software package. 7. The method of claim 6 , further comprising: adding the plurality of installation logs to training data associated with the machine learning model to create updated training data; and re-training the machine learning model based at least in part on the updated training data. 8. A server comprising: one or more processors; and one or more non-transitory computer readable media storing instructions executable by the one or more processors to perform operations comprising: determining a plurality of variables associated with a software package, the plurality of variables comprising: a software package variable indicating that the software package comprises one of a native application, a universal application, a driver, a firmware update, or a basic input/output system (BIOS); a size of the software package; a reboot variable associated with the software package indicating whether a reboot is to be performed after installing the software package; and an installation type indicating whether the software package is a first install or an upgrade to a previously installed software package; determining, by a machine learning model that is being executed by the server, a risk score predicting an installation success rate of the software package, the risk score determined based at least in part on the plurality of variables associated with the software package; and selecting a deployment strategy from a plurality of deployment strategies based at least in part on: the risk score; and the plurality of variables associated with the software package; based at least in part on determining that the risk score satisfies a predetermined threshold, initiating deployment of the software package to a plurality of computing devices according to the deployment strategy of the plurality of deployment strategies; receiving, from one or more computing devices of the plurality of computing devices, a plurality of installation logs associated with an installation of the software package; determining a success rate associated with the software package based at least in part on the plurality of installation logs; based at least in part on determining that the success rate satisfies a success threshold, continuing deployment of the software package to the plurality of computing devices; and based at least in part on determining that the success rate fails to satisfy the success threshold, stopping deployment of the software package to the plurality of computing devices. 9. The server of claim 8 , wherein the plurality of variables further comprise at least one of: a provider variable identifying a provider of the software package, the provider comprising one or more of a manufacturer of the computing device or a vendor to the manufacturer; a validation variable indicating a number of validation passes associated with the software package prior to the software package passing a validation process; an installation time variable indicating an average installation time to install the software package; a region variable indicating one or more particular geographic regions where the software package is to be provided; a platform variable indi
Probabilistic graphical models, e.g. probabilistic networks · CPC title
Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound · CPC title
Updates (security arrangements therefor G06F21/57) · CPC title
Machine learning · CPC title
Software deployment · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.