P
US7984334B2ExpiredUtilityPatentIndex 73

Call-stack pattern matching for problem resolution within software

Assignee: IBMPriority: Aug 12, 2005Filed: Nov 13, 2009Granted: Jul 19, 2011
Est. expiryAug 12, 2025(expired)· nominal 20-yr term from priority
Inventors:CHAMPLIN JONATHAN DTHOMAS ARTHUR H
G06F 11/366
73
PatentIndex Score
7
Cited by
34
References
25
Claims

Abstract

A method of diagnosing a fault condition within software can include, responsive to a fault condition within a computing system belonging to an organization, automatically sending call-stack information for the fault condition to a first server within the organization. Within the first server, the call-stack information for the fault condition can be compared with call-stack information from prior fault conditions that occurred within the organization to determine whether the call-stack information for the fault condition matches call-stack information from one of the prior fault conditions. The method further can include sending the call-stack information to a second server for comparison with call-stack information from prior fault conditions that occurred within at least one different organization if the call-stack information for the fault condition does not match.

Claims

exact text as granted — not AI-modified
1. A computer-implemented method of diagnosing a fault condition comprising:
 marking a fault condition, identifiable by call-stack information corresponding to the fault condition, resolved for a particular release of a software; 
 responsive to detecting a subsequent fault condition, receiving, within a computer system, subsequent call-stack information for the subsequent fault condition that matches the call stack information for the fault condition that has been marked resolved; and 
 determining, by the computer system, that the subsequent call-stack information indicates a fault condition that is unrelated to the fault condition that was marked resolved. 
 
     
     
       2. The computer-implemented method of  claim 1 , further comprising
 counting occurrences of fault conditions; and 
 identifying a fault condition having an occurrence count that corresponds to at least one selected criterion. 
 
     
     
       3. The computer-implemented method of  claim 2 , further comprising selecting the criterion to be a minimum number of occurrences. 
     
     
       4. The computer-implemented method of  claim 2 , further comprising selecting the criterion to be occurrences of a fault condition having a minimum frequency. 
     
     
       5. The computer-implemented method of  claim 1 , further comprising:
 correlating fault conditions with analysts according to call-stack information; and 
 automatically routing call-stack information for a selected fault condition to an analyst correlated with the call-stack information of the selected fault condition. 
 
     
     
       6. A computer-implemented method of diagnosing a fault condition within software comprising:
 responsive to a fault condition within a computing system belonging to an organization, automatically sending call-stack information for the fault condition from the computing system to a first server within the organization; 
 within the first server, comparing the call-stack information for the fault condition with call-stack information from prior fault conditions that occurred within the organization to determine whether the call-stack information for the fault condition matches call-stack information from one of the prior fault conditions; 
 if the call-stack information for the fault condition does not match, sending the call-stack information to a second server for comparison with call-stack information from prior fault conditions that occurred within at least one different organization; 
 marking a fault condition resolved for a particular release of the software; 
 receiving subsequent call-stack information that matches the fault condition that has been marked resolved; and 
 determining that the subsequent call-stack information indicates a fault condition that is unrelated to the fault condition that was marked resolved. 
 
     
     
       7. The method of  claim 6 , wherein the call-stack information of the fault condition matches the call-stack information from a prior fault condition within the first server, said method further comprising:
 determining a frequency of occurrence of the prior fault condition; and 
 identifying a fault condition having a frequency of occurrence that corresponds to at least one selected criterion. 
 
     
     
       8. The method of  claim 6 , wherein the call-stack information of the fault condition matches the call-stack information from a prior fault condition within the first server, said method further comprising:
 incrementing an occurrence count for the prior fault condition; and 
 identifying a fault condition having an occurrence count that corresponds to at least one selected criterion. 
 
     
     
       9. The method of  claim 6 , further comprising, prior to said automatically sending step, translating a call trace into a plurality of function names which comprise, at least in part, the call-stack information. 
     
     
       10. The method of  claim 6 , wherein the call-stack information is sent to the second server, said method further comprising:
 matching the call-stack information of the fault condition with call-stack information for a prior fault condition that occurred within a different organization; 
 identifying an analyst assigned to the matching, prior fault condition; and 
 automatically routing the call-stack information to the analyst. 
 
     
     
       11. The method of  claim 6 , wherein the call-stack information is sent to the second server, said method further comprising notifying the organization that sent the call-stack information for the fault condition whether the fault condition is a known issue. 
     
     
       12. The method of  claim 6 , wherein the call-stack information is sent to the second server, said method further comprising determining whether the fault condition is corrected by a newer release of the software. 
     
     
       13. The method of  claim 6 , wherein the call-stack information is sent to the second server, said method further comprising:
 determining that the fault condition is corrected by a newer release of the software; and 
 initiating an automatic update, within the computing system belonging to the organization, of the software to the newer release. 
 
     
     
       14. A system for diagnosing a fault condition within software, said system comprising:
 a computing system belonging to an organization, said computing system executing software configured to detect a fault condition and, responsive to the fault condition, automatically transmit call-stack information corresponding to the fault condition to another computer system within the organization; and 
 a server belonging to the organization, said server being configured to receive the call-stack information and compare the call-stack information for the fault condition with call-stack information corresponding to prior fault conditions originating from computing systems belonging to the organization, wherein the server is further configured to determine whether the call-stack information for the fault condition matches call-stack information from one of the prior fault conditions, and, if not, automatically transmits the call-stack information for the fault condition to a server that does not belong to the organization for further analysis, wherein the server further marks a fault condition resolved for a particular release of the software, receives subsequent call-stack information that matches the fault condition that has been marked resolved, and determines that the subsequent call-stack information indicates a fault condition that is unrelated to the fault condition that was marked resolved. 
 
     
     
       15. The system of  claim 14 , wherein the computing system translates a call trace into a plurality of function names which comprise, at least in part, the call-stack information prior to automatically transmitting the call-stack information to another computer system within the organization. 
     
     
       16. The system of  claim 14 , wherein the call-stack information of the fault condition matches call-stack information from a prior fault condition within the server, said server further being configured to increment an occurrence count for the prior fault condition and identify a fault condition having an occurrence count which corresponds to at least one selected criterion. 
     
     
       17. A non-transitory machine readable storage, having stored thereon a computer program having a plurality of code sections executable by a machine for causing the machine to perform the steps of:
 responsive to a fault condition within a computing system belonging to an organization, automatically sending call-stack information for the fault condition to a first server within the organization; 
 within the first server, comparing the call-stack information for the fault condition with call-stack information from prior fault conditions that occurred within the organization to determine whether the call-stack information for the fault condition matches call-stack information from one of the prior fault conditions; 
 if the call-stack information for the fault condition does not match, sending the call-stack information to a second server for comparison with fault stack information from prior fault conditions that occurred within at least one different organization; 
 marking a fault condition resolved for a particular release of the software; 
 receiving subsequent call-stack information that matches the fault condition that has been marked resolved; and 
 determining that the subsequent call-stack information indicates a fault condition that is unrelated to the fault condition that was marked resolved. 
 
     
     
       18. The machine readable storage of  claim 17 , wherein the call-stack information of the fault condition matches the call-stack information from a prior fault condition within the first server, the machine readable storage further causing the machine to perform the steps of:
 determining a frequency of occurrence of the prior fault condition; and 
 identifying a fault condition having a frequency of occurrence that corresponds to at least one selected criterion. 
 
     
     
       19. The machine readable storage of  claim 17 , wherein the call-stack information of the fault condition matches the call-stack information from a prior fault condition within the first server, the machine readable storage further causing the machine to perform the steps of:
 incrementing an occurrence count for the prior fault condition; and 
 identifying a fault condition having an occurrence count which corresponds to a selected criterion. 
 
     
     
       20. The machine readable storage of  claim 17 , further causing the machine to perform the step of, prior to said automatically sending step, translating a call trace into a plurality of function names which comprise, at least in part, the call-stack information. 
     
     
       21. The machine readable storage of  claim 17 , wherein the call-stack information is sent to the second server, the machine readable storage further causing the machine to perform the steps of:
 matching the call-stack information of the fault condition with call-stack information for a prior fault condition that occurred within a different organization; 
 identifying an analyst assigned to the matching, prior fault condition; and 
 automatically routing the call-stack information to the analyst. 
 
     
     
       22. The machine readable storage of  claim 17 , wherein the call-stack information is sent to the second server, the machine readable storage further causing the machine to perform the step of determining whether the fault condition is corrected by a newer release of the software. 
     
     
       23. The machine readable storage of  claim 17 , wherein the call-stack information is sent to the second server, the machine readable storage further causing the machine to perform the steps of:
 determining that the fault condition is corrected by a newer release of the software; and 
 initiating an automatic update, within the computing system belonging to the organization, of the software to the newer release. 
 
     
     
       24. A non-transitory machine readable storage, having stored thereon a computer program having a plurality of code sections executable by a machine for causing the machine to perform the steps of:
 marking a fault condition, identifiable by call-stack information corresponding to the fault condition, resolved for a particular release of a software; 
 responsive to detecting a subsequent fault condition, receiving, within a computer system, subsequent call-stack information for the subsequent fault condition that matches the call stack information for the fault condition that has been marked resolved; and 
 determining, by the computer system, that the subsequent call-stack information indicates a fault condition that is unrelated to the fault condition that was marked resolved. 
 
     
     
       25. The machine readable storage of  claim 24 , further causing the machine to perform the steps of:
 counting occurrences of fault conditions; and 
 identifying a fault condition having an occurrence count that corresponds to at least one selected criterion.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.