IP Library › Granted Patent US 10,592,343
Granted Patent B2
US 10,592,343 · App. 15/723,282 · Granted Mar 17, 2020

Cognitive analysis and resolution of erroneous software patches

Inventors: John O'Malley (Newcastle, IE); Michael Ryan (Claregalway, IE)
Assignee: International Business Machines Corporation
G06F11/1433G06F8/65G06F2201/805
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 10,592,343
App. No.
15/723,282
Granted
Mar 17, 2020
Kind
B2
Abstract

Resolving software patch issues is provided. Recorded activities performed by users to resolve an issue with a patch applied to an application on a group of client devices are compared. A set of common user activities are identified within the recorded activities performed by the users. A subset of highest ranking common user activities is selected from the set of common user activities. A fix for the issue with the patch is generated based on the subset of highest ranking common user activities. Corrective action based on the fix is taken to resolve the issue with the patch on a client device, the client device experiencing the issue resolved by users on the group of client devices.

Claims (66)

1. A computer-implemented method for resolving software patch issues, the computer-implemented method comprising:

comparing, by a computer, recorded activities performed by users to resolve an issue with a patch applied to an application on a group of client devices;

identifying, by the computer, a set of common user activities within the recorded activities performed by the users;

selecting, by the computer, a subset of highest ranking common user activities from the set of common user activities;

generating, by the computer, a fix for the issue with the patch based on the subset of highest ranking common user activities;

taking, by the computer, corrective action based on the fix to resolve the issue with the patch on a client device, the client device experiencing the issue resolved by users on the group of client devices;

receiving, by the computer, an indication of the issue with the patch from a monitoring agent running on the client device based on user activity recorded by the monitoring agent corresponding to the application, wherein the issue caused a decrease in performance of the client device;

determining, by the computer, whether the indication of the issue with the patch was received within a defined time period threshold corresponding to the patch; and

responsive to the computer determining that the indication of the issue with the patch was received within the defined time period threshold corresponding to the patch, updating, by the computer, a status of a user of the client device to a distressed state.

2. The computer-implemented method of claim 1 further comprising:

requesting, by the computer, the user activity corresponding to the indication of the issue with the patch and client device information from the monitoring agent;

receiving, by the computer, the user activity corresponding to the indication of the issue with the patch and the client device information from the monitoring agent; and

analyzing, by the computer, the user activity corresponding to the indication of the issue with the patch using natural language processing, wherein the user activity is a user of the client device performing troubleshooting activities using the client device.

3. The computer-implemented method of claim 2 further comprising:

determining, by the computer, whether the user activity corresponds to the issue with the patch based on the analyzing; and

responsive to the computer determining that the user activity does correspond to the issue with the patch based on the analyzing, selecting, by the computer, the group of client devices that correspond to the client device based on the client device information and the user activity.

4. The computer-implemented method of claim 1 further comprising:

determining, by the computer, whether an indication was received from the monitoring agent on the client device indicating that the issue with the patch has been resolved based on current user activity on the client device; and

responsive to the computer determining that the indication was received from the monitoring agent on the client device indicating that the issue with the patch was resolved based on the current user activity on the client device, updating, by the computer, a status of the user of the client device to a non-distressed state from a distressed state.

5. The computer-implemented method of claim 1 further comprising:

selecting, by the computer, the group of client devices based on the client device and the user activity;

sending, by the computer, the fix to the client device corresponding to the group of client devices; and

requesting, by the computer, feedback from a user of the client device regarding the fix and time to resolve the issue with the patch.

6. The computer-implemented method of claim 5 further comprising:

ranking, by the computer, the fix based on the feedback and the time to resolve the issue with the patch.

7. The computer-implemented method of claim 1 further comprising:

broadcasting, by the computer, the fix to other client devices that had the patch applied to the application.

8. A computer system for resolving software patch issues, the computer system comprising:

a bus system;

a storage device connected to the bus system, wherein the storage device stores program instructions; and

a processor connected to the bus system, wherein the processor executes the program instructions to:

compare recorded activities performed by users to resolve an issue with a patch applied to an application on a group of client devices;

identify a set of common user activities within the recorded activities performed by the users;

select a subset of highest ranking common user activities from the set of common user activities;

generate a fix for the issue with the patch based on the subset of highest ranking common user activities;

take corrective action based on the fix to resolve the issue with the patch on a client device, the client device experiencing the issue resolved by users on the group of client devices;

receive an indication of the issue with the patch from a monitoring agent running on the client device based on user activity recorded by the monitoring agent corresponding to the application, wherein the issue caused a decrease in performance of the client device;

determine whether the indication of the issue with the patch was received within a defined time period threshold corresponding to the patch; and

responsive to the computer determining that the indication of the issue with the patch was received within the defined time period threshold corresponding to the patch, update, by the computer, a status of a user of the client device to a distressed state.

9. A computer program product for resolving software patch issues, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a method comprising:

comparing, by the computer, recorded activities performed by users to resolve an issue with a patch applied to an application on a group of client devices;

identifying, by the computer, a set of common user activities within the recorded activities performed by the users;

selecting, by the computer, a subset of highest ranking common user activities from the set of common user activities;

generating, by the computer, a fix for the issue with the patch based on the subset of highest ranking common user activities;

taking, by the computer, corrective action based on the fix to resolve the issue with the patch on a client device, the client device experiencing the issue resolved by users on the group of client devices;

receiving, by the computer, an indication of the issue with the patch from a monitoring agent running on the client device based on user activity recorded by the monitoring agent corresponding to the application, wherein the issue caused a decrease in performance of the client device;

determining, by the computer, whether the indication of the issue with the patch was received within a defined time period threshold corresponding to the patch; and

responsive to the computer determining that the indication of the issue with the patch was received within the defined time period threshold corresponding to the patch, updating, by the computer, a status of a user of the client device to a distressed state.

10. The computer program product of claim 9 further comprising:

requesting, by the computer, the user activity corresponding to the indication of the issue with the patch and client device information from the monitoring agent;

receiving, by the computer, the user activity corresponding to the indication of the issue with the patch and the client device information from the monitoring agent; and

analyzing, by the computer, the user activity corresponding to the indication of the issue with the patch using natural language processing, wherein the user activity is a user of the client device performing troubleshooting activities using the client device.

11. The computer program product of claim 10 further comprising:

determining, by the computer, whether the user activity corresponds to the issue with the patch based on the analyzing; and

responsive to the computer determining that the user activity does correspond to the issue with the patch based on the analyzing, selecting, by the computer, the group of client devices that correspond to the client device based on the client device information and the user activity.

12. The computer program product of claim 9 further comprising:

determining, by the computer, whether an indication was received from the monitoring agent on the client device indicating that the issue with the patch has been resolved based on current user activity on the client device; and

responsive to the computer determining that the indication was received from the monitoring agent on the client device indicating that the issue with the patch was resolved based on the current user activity on the client device, updating, by the computer, a status of the user of the client device to a non-distressed state from a distressed state.

13. The computer program product of claim 9 further comprising:

selecting, by the computer, the group of client devices based on the client device and the user activity;

sending, by the computer, the fix to the client device corresponding to the group of client devices; and

requesting, by the computer, feedback from a user of the client device regarding the fix and time to resolve the issue with the patch.

14. The computer program product of claim 13 further comprising:

ranking, by the computer, the fix based on the feedback and the time to resolve the issue with the patch.

15. The computer program product of claim 9 further comprising:

broadcasting, by the computer, the fix to other client devices that had the patch applied to the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2017
From: O'MALLEY, JOHN; RYAN, MICHAEL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043763/0086 →
Continuity (1)
Related Publication 20190102255A1 · Apr 4, 2019