IP Library Patent Application 14037018
Patent Application
App. No. 14/037,018

Using Crowd Experiences for Software Problem Determination and Resolution

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 None
App. No.
14/037,018
Abstract

An approach is provided to utilize experiences of a user community to identify software problems and communicate resolutions to such problems. Error reports are received from installed software systems in the user community. From these reports, a set of problematic usage patterns are generated, with each of the usage patterns having a confidence factor that is increased based on the number of problem reports that match the usage pattern. The problematic usage patterns are matched to sections of code corresponding to the installed software system with sections of code being identified with problematic usage patterns having confidence factors greater than a given threshold.

Claims (93)

1 . A method of software problem determination and resolution, the method comprising:

receiving, over a computer network, a plurality of error reports from a plurality of systems in a user community running a set of one or more software offerings that includes one or more sections of code;

generating a set of problematic usage patterns based on an analysis of the received error reports, wherein each of the usage patterns has a confidence factor;

increasing the confidence factors corresponding to a set of the problematic usage patterns in response to multiple received error reports matching the set of problematic usage patterns;

matching the problematic usage patterns to the one or more sections of code; and

identifying one of the sections of code based on the identified section of code matching a selected one of the problematic usage patterns and based on the selected problematic usage pattern having a confidence factor greater than a threshold.

2 . The method of claim 1 wherein the sections of code are included in a plurality of different software offerings, and wherein the plurality of different software offerings includes the set of software offerings.

3 . The method of claim 2 wherein the problematic usage patterns indicate a processing environment, the method further comprising:

setting a test environment to the processing environment indicated by the selected problematic usage pattern;

testing the identified section of code in the test environment;

identifying the selected problematic usage pattern as a false positive in response to the testing failing to result in an error indicated by the selected problematic usage pattern; and

decreasing the confidence factor of the selected problematic usage pattern in response to the identification of the false positive.

4 . The method of claim 3 further comprising:

identifying one or more test environment elements that differ from the processing environment indicated by the selected problematic usage pattern;

retaining, in a data store, the identified test environment elements as possible usage pattern resolutions pertaining to the selected problematic usage pattern;

receiving, over the computer network, a subsequent error report from a user of one of the installed software systems in the user community;

generating a subsequent problematic usage pattern pertaining to the subsequent error report;

matching the subsequent problematic usage pattern to the selected problematic usage report;

retrieving the possible usage pattern resolutions from the data store; and

transmitting, over the computer network, the possible usage pattern resolutions to the user.

5 . The method of claim 1 further comprising:

receiving, over the computer network, a plurality of configuration reports from a plurality of successfully installed software systems in the user community, wherein each of the configuration reports include a plurality of configuration elements; and

generating a set of success-based usage patterns based on an analysis of the received configuration reports.

6 . The method of claim 5 further comprising:

receiving, over the computer network, a deployment request from a selected system in the user community that is commencing installation of the software system, wherein the deployment request includes one or more environment elements pertaining to the selected system;

comparing the environment elements that pertain to the selected system with the success-based usage patterns, the comparison resulting in a set of one or more of the success-based usage patterns that match the environment elements that pertain to the selected system; and

recommending one or more configuration parameter values as inputs to the installation of the software system on the selected system.

7 . The method of claim 6 further comprising:

recommending, based on the set of success-based usage patterns, one or more pre-requisite software programs, wherein the recommendation further includes a version corresponding to each of the pre-requisite software programs; and

displaying the recommended pre-requisite software programs and versions to a user of the selected system prior to installation of the software system.

8 . An information handling system comprising:

one or more processors;

a memory coupled to at least one of the processors;

a network adapter that connects the information handling system to a computer network; and

a set of instructions stored in the memory and executed by at least one of the processors, wherein the set of instructions perform actions of:

receiving, over the computer network, a plurality of error reports from a plurality of systems in a user community running a set of one or more software offerings that includes one or more sections of code;

generating a set of problematic usage patterns based on an analysis of the received error reports, wherein each of the usage patterns has a confidence factor;

increasing the confidence factors corresponding to a set of the problematic usage patterns in response to multiple received error reports matching the set of problematic usage patterns;

matching the problematic usage patterns to the one or more sections of code; and

identifying one of the sections of code based on the identified section of code matching a selected one of the problematic usage patterns and based on the selected problematic usage pattern having a confidence factor greater than a threshold.

9 . The information handling system of claim 8 wherein the sections of code are included in a plurality of different software offerings, and wherein the plurality of different software offerings includes the set of software offerings.

10 . The information handling system of claim 9 wherein the problematic usage patterns indicate a processing environment, and wherein the actions further comprise:

setting a test environment to the processing environment indicated by the selected problematic usage pattern;

testing the identified section of code in the test environment;

identifying the selected problematic usage pattern as a false positive in response to the testing failing to result in an error indicated by the selected problematic usage pattern; and

decreasing the confidence factor of the selected problematic usage pattern in response to the identification of the false positive.

11 . The information handling system of claim 10 wherein the actions further comprise:

identifying one or more test environment elements that differ from the processing environment indicated by the selected problematic usage pattern;

retaining, in a data store, the identified test environment elements as possible usage pattern resolutions pertaining to the selected problematic usage pattern;

receiving, over the computer network, a subsequent error report from a user of one of the installed software systems in the user community;

generating a subsequent problematic usage pattern pertaining to the subsequent error report;

matching the subsequent problematic usage pattern to the selected problematic usage report;

retrieving the possible usage pattern resolutions from the data store; and

transmitting, over the computer network, the possible usage pattern resolutions to the user.

12 . The information handling system of claim 8 wherein the actions further comprise:

receiving, over the computer network, a plurality of configuration reports from a plurality of successfully installed software systems in the user community, wherein each of the configuration reports include a plurality of configuration elements; and

generating a set of success-based usage patterns based on an analysis of the received configuration reports.

13 . The information handling system of claim 12 wherein the actions further comprise:

receiving, over the computer network, a deployment request from a selected system in the user community that is commencing installation of the software system, wherein the deployment request includes one or more environment elements pertaining to the selected system;

comparing the environment elements that pertain to the selected system with the success-based usage patterns, the comparison resulting in a set of one or more of the success-based usage patterns that match the environment elements that pertain to the selected system; and

recommending one or more configuration parameter values as inputs to the installation of the software system on the selected system.

14 . The information handling system of claim 13 wherein the actions further comprise:

recommending, based on the set of success-based usage patterns, one or more pre-requisite software programs, wherein the recommendation further includes a version corresponding to each of the pre-requisite software programs; and

displaying the recommended pre-requisite software programs and versions to a user of the selected system prior to installation of the software system.

15 . A computer program product stored in a computer readable medium, comprising computer instructions that, when executed by an information handling system, causes the information handling system to perform actions comprising:

receiving, over a computer network, a plurality of error reports from a plurality of systems in a user community running a set of one or more software offerings that includes one or more sections of code;

generating a set of problematic usage patterns based on an analysis of the received error reports, wherein each of the usage patterns has a confidence factor;

increasing the confidence factors corresponding to a set of the problematic usage patterns in response to multiple received error reports matching the set of problematic usage patterns;

matching the problematic usage patterns to the one or more sections of code; and

identifying one of the sections of code based on the identified section of code matching a selected one of the problematic usage patterns and based on the selected problematic usage pattern having a confidence factor greater than a threshold.

16 . The computer program product of claim 15 wherein the sections of code are included in a plurality of different software offerings, and wherein the plurality of different software offerings includes the set of software offerings.

17 . The computer program product of claim 16 wherein the problematic usage patterns indicate a processing environment, and wherein the actions further comprise:

setting a test environment to the processing environment indicated by the selected problematic usage pattern;

testing the identified section of code in the test environment;

identifying the selected problematic usage pattern as a false positive in response to the testing failing to result in an error indicated by the selected problematic usage pattern; and

decreasing the confidence factor of the selected problematic usage pattern in response to the identification of the false positive.

18 . The computer program product of claim 17 wherein the actions further comprise:

identifying one or more test environment elements that differ from the processing environment indicated by the selected problematic usage pattern;

retaining, in a data store, the identified test environment elements as possible usage pattern resolutions pertaining to the selected problematic usage pattern;

receiving, over the computer network, a subsequent error report from a user of one of the installed software systems in the user community;

generating a subsequent problematic usage pattern pertaining to the subsequent error report;

matching the subsequent problematic usage pattern to the selected problematic usage report;

retrieving the possible usage pattern resolutions from the data store; and

transmitting, over the computer network, the possible usage pattern resolutions to the user.

19 . The computer program product of claim 15 wherein the actions further comprise:

receiving, over the computer network, a plurality of configuration reports from a plurality of successfully installed software systems in the user community, wherein each of the configuration reports include a plurality of configuration elements; and

generating a set of success-based usage patterns based on an analysis of the received configuration reports.

20 . The computer program product of claim 19 wherein the actions further comprise:

receiving, over the computer network, a deployment request from a selected system in the user community that is commencing installation of the software system, wherein the deployment request includes one or more environment elements pertaining to the selected system;

comparing the environment elements that pertain to the selected system with the success-based usage patterns, the comparison resulting in a set of one or more of the success-based usage patterns that match the environment elements that pertain to the selected system;

recommending one or more configuration parameter values as inputs to the installation of the software system on the selected system;

recommending, based on the set of success-based usage patterns, one or more pre-requisite software programs, wherein the recommendation further includes a version corresponding to each of the pre-requisite software programs; and

displaying the recommended pre-requisite software programs and versions to a user of the selected system prior to installation of the software system.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE RECEIVING PARTY DATA (NAME OF ASSIGNEE) NEEDS TO BE CORRECTED. ASSIGNEE SHOULD READ GLOBALFOUNDRIES U.S. 2 LLC PREVIOUSLY RECORDED ON REEL 036277 FRAME 0160. ASSIGNOR(S) HEREBY CONFIRMS THE GLOBALFOUNDRIES U.S. 2 LLC COMPANY. Recorded Oct 21, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S.2 LLC
Reel/Frame 036919/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 036779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC COMPANY
Reel/Frame 036277/0160 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2013
From: JOHNSON, CONRAD J.; LAVERY, ANDREW J.; PAVLOVSKY, JAMES M.; ULLMAN, LORIN E.; UNDERWOOD, BRUCE R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031280/0675 →