IP Library › Granted Patent US 12,032,461
Granted Patent B2
US 12,032,461 · App. 17/133,491 · Granted Jul 9, 2024

Software upgrade stability recommendations

Inventors: Jefferson Tan (Melbourne, AU); Bruno de Assis Marques (Point Cook, AU); Lenin Mehedy (Doncaster East, AU); Sengor Kusturica (Melbourne, AU); Hidemasa Muta (Mordialloc, AU)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/3051G06F8/61G06F8/65G06F11/302G06F11/327
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,032,461
App. No.
17/133,491
Granted
Jul 9, 2024
Kind
B2
Abstract

A method and system determine a potential impact from software upgrades on a computing device. A device configuration is identified for a first computing device based on the software and hardware elements currently present. Other computing devices are identified in the network having installed the software application upgrade. A history of operating behavior associated with the software application upgrade is retrieved. The profile is analyzed for each of the other computing devices for conflicts with the software application. A determination is made as to whether the software application upgrade will potentially cause a failure in the first computing device based on the history of operating behavior associated with the software application upgrade and based on a state of similarity between the analyzed profile for each of the other computing devices and the profile of the first computing device. The end user is presented with a risk-based recommendation.

Claims (80)

1. A method for determining a potential impact from a software application upgrade on a first computing device, comprising:

in a network including a plurality of computing devices, recording a profile of software and hardware elements currently present in each computing device;

receiving a query for the software application upgrade for a software application resident in the first computing device;

determining a duration of stability for the first computing device;

identifying a profile of the first computing device based on the software and hardware elements currently present in the first computing device;

identifying other computing devices in the network having installed the software application upgrade;

retrieving a history of operating behavior associated with the software application upgrade in the identified other computing devices, wherein the history of operating behavior includes warning and/or error messages related to the software application upgrade;

retrieving a profile for each of the other computing devices;

analyzing the profile for each of the other computing devices for hardware and software conflicts with the software application;

determining whether the software application upgrade will potentially cause a failure in the software and hardware elements currently present in the first computing device based on the history of operating behavior associated with the software application upgrade in the identified other computing devices and based on a state of similarity between the analyzed profile for each of the other computing devices and the profile of the first computing device; and

presenting an end user of the first computing device with a risk-based recommendation of whether to install the software application upgrade into the first computing device based on the determination of whether the software application upgrade will potentially cause the failure.

2. The method of claim 1 , further comprising:

identifying a second computing device, wherein the second computing device exhibits a stable operating configuration;

identifying attributes related to failure events associated with the software upgrade in the respective other computing devices;

analyzing differences between the stable operating configuration of the second computing device and a configuration of each of the respective other computing devices with the failure events associated with the software upgrade; and

determining the differences in the stable operating configuration of the second computing device and the configuration of the each of the respective other computing devices, wherein the risk-based recommendation is based on the determined differences.

3. The method of claim 2 , wherein the identified attributes include content of the installed software application upgrade, conflicts with other software applications in the respective other computing devices, and hardware in the respective other computing devices that does not respond as expected to the upgraded software application.

4. The method of claim 1 , further comprising recording the profile in the first computing device immediately before or after an installation of the software application upgrade in the first computing device.

5. The method of claim 1 , further comprising:

receiving a weighting value from the end user; and

associating the weighting value with the software application, wherein the recommendation of whether to install the software upgrade into the first computing device is based further on the weighting value of the software application.

6. The method of claim 1 , further comprising:

receiving a weighting value from a system administrator; and

associating the weighting value with the software application, wherein the recommendation of whether to install the software upgrade into the first computing device is based further on the weighting value of the software application.

7. The method of claim 1 , further comprising:

logging the error and/or warning messages from the other computing devices having installed the software application upgrade; and wherein

the determination of whether the software application upgrade will potentially cause the failure in the software or hardware elements currently present in the first computing device is based on a history of the logged error and/or warning messages from the other computing devices in the network having installed the software application upgrade.

8. A computer program product for determining a potential impact from a software application upgrade on a first computing device, the computer program product comprising:

program instructions collectively stored on one or more non-transitory computer readable storage media that, when executed, causes a computing device to carry out a method, the method comprising:

in a network including a plurality of computing devices, recording a profile of software and hardware elements currently present in each computing device;

receiving a query for a software application upgrade for a software application resident in a first computing device;

identifying a device configuration for the first computing device based on the software and hardware elements currently present in the first computing device;

identifying other computing devices in the network having installed the software application upgrade;

receiving a query for the software application upgrade for a software application resident in the first computing device;

determining a duration of stability for the first computing device;

retrieving a profile for each of the other computing devices;

analyzing the profile for each of the other computing devices for software conflicts with the software application;

determining whether the software application upgrade will potentially cause a failure in the software elements currently present in the first computing device based on a history of operating behavior associated with the software application upgrade in the identified other computing devices and based on a state of similarity between the analyzed profile for each of the other computing devices and the profile of the first computing device, wherein the history of operating behavior includes warning and/or error messages related to the software application upgrade; and

presenting an end user of the first computing device with a risk-based recommendation of whether to install the software application upgrade into the first computing device based on the determination of whether the software application upgrade will potentially cause the failure.

9. The computer program product of claim 8 , wherein the method further comprises:

identifying a second computing device, wherein the second computing device exhibits a stable operating configuration;

identifying attributes related to failure events associated with the software application upgrade in the respective other computing devices;

analyzing differences between the stable operating configuration of the second computing device and configuration of the each of the respective other computing devices with failure events associated with the software application upgrade; and

determining the differences in the stable operating configuration of the second computing device and the configuration of the each of the respective other computing devices, wherein the risk-based recommendation is based on the determined differences in configuration.

10. The computer program product of claim 9 , wherein the identified attributes include content of the installed software application upgrade, conflicts with other software applications in the respective other computing devices, and hardware in the respective other computing devices that does not respond as expected to the upgraded software application.

11. The computer program product of claim 8 , wherein the method further comprises:

analyzing the profile for each of the other computing devices for hardware conflicts, in addition to the analyzing the profile for each of the other computing devices for the software conflicts, with the software application; and

determining whether the software application upgrade will potentially cause a failure in hardware elements currently present in the first computing device based on the history of operating behavior associated with the software application upgrade in the identified other computing devices and based on a state of similarity between the analyzed profile for each of the other computing devices and the profile of the first computing device.

12. The computer program product of claim 11 , wherein the method further comprises:

logging error and/or warning messages from the other computing devices having installed the software application upgrade; and wherein the determination of whether the software application upgrade will potentially cause failure in the software or hardware elements currently present in the first computing device is based on a history of the logged error and/or warning messages from the other computing devices in the network having installed the software application upgrade.

13. The computer program product of claim 8 , wherein the method further comprises:

receiving a weighting value from the end user; and associating the weighting value with the software application, wherein the recommendation of whether to install the software application upgrade into the first computing device is based further on the weighting value of the software application.

14. The computer program product of claim 8 , wherein the method further comprises:

receiving a weighting value from a system administrator; and associating the weighting value with the software application, wherein the recommendation of whether to install the software application upgrade into the first computing device is based further on the weighting value of the software application.

15. An update recommendation computer server, comprising:

a computing device;

a network connection coupled to the computing device;

one or more computer readable storage media stored in the computing device;

a processor coupled to the network connection and coupled to the one or more computer readable storage media; and

a computer program product comprising program instructions collectively stored on the one or more computer readable storage media, the program instructions, when executed, to perform a method, the method comprising:

in a network including a plurality of computing devices, recording a profile of software and hardware elements currently present in each computing device;

receiving a query for a software application upgrade for a software application resident in a first computing device;

determining a duration of stability for the first computing device;

identifying a profile of the first computing device based on the software and hardware elements currently present in the first computing device;

identifying other computing devices in the network having installed the software application upgrade;

retrieving a history of operating behavior associated with the software application upgrade in the identified other computing devices, wherein the history of operating behavior includes warning and/or error messages related to the software application upgrade; retrieving the profile for each of the other computing devices;

analyzing a profile for each of the other computing devices for hardware and software conflicts with the software application;

determining whether the software application upgrade will potentially cause a failure in the software or hardware elements currently present in the first computing device based on the history of operating behavior associated with the software application upgrade in the identified other computing devices and based on a state of similarity between the analyzed profile for each of the other computing devices and the profile of the first computing device; and

presenting an end user of the first computing device with a risk-based recommendation of whether to install the software application upgrade into the first computing device based on the determination of whether the software application upgrade will potentially cause the failure.

16. The computer server of claim 15 , wherein the method further comprises:

identifying a second computing device, wherein the second computing device exhibits a stable operating configuration;

identifying attributes related to failure events associated with the software application upgrade in the respective other computing devices; analyzing differences between the configuration of the second computing device and each of the respective other computing devices with failure events associated with the software application upgrade; and determining the differences in configuration of the second computing device and of the respective other computing devices, wherein the risk-based recommendation is based on the determined differences in configuration.

17. The computer server of claim 15 , wherein the method further comprises:

recording the profile in the first computing device immediately before or after an installation of the software application upgrade in the first computing device.

18. The computer server of claim 15 , wherein the method further comprises:

receiving a weighting value from the end user; and associating the weighting value with the software application, wherein the recommendation of whether to install the software application upgrade into the first computing device is based further on the weighting value of the software application.

19. The computer server of claim 15 , wherein the method further comprises:

receiving a weighting value from a system administrator; and associating the weighting value with the software application, wherein the recommendation of whether to install the software application upgrade into the first computing device is based further on the weighting value of the software application.

20. The computer server of claim 15 , wherein the method further comprises:

logging error and/or warning messages from the other computing devices having installed the software application upgrade; and wherein the determination of whether the software application upgrade will potentially cause the failure in the software or hardware elements currently present in the first computing device is based on a history of the logged error and/or warning messages from the other computing devices in the network having installed the software application upgrade.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2020
From: TAN, JEFFERSON; DE ASSIS MARQUES, BRUNO; MEHEDY, LENIN; KUSTURICA, SENGOR; MUTA, HIDEMASA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054744/0774 →
Continuity (1)
Related Publication 20220197770A1 · Jun 23, 2022
Cited By (1)
US 12,379,914