IP Library › Granted Patent US 10,257,053
Granted Patent B2
US 10,257,053 · App. 15/194,836 · Granted Apr 9, 2019

Analyzing contention data and following resource blockers to find root causes of computer problems

Inventors: Robert M. Abrams (Poughkeepsie, NY); Karla K. Arndt (Rochester, MN)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L41/5035G06F11/30H04L41/065
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,257,053
App. No.
15/194,836
Granted
Apr 9, 2019
Kind
B2
Abstract

Present disclosure relates to methods, processing systems and computer program products of analyzing contention data and following resource blockers to find root causes of computer problems. The method may include: detecting one or more resource waiters in a computer system, iteratively determining whether the resource blockers are a resource waiter, until a final resource blocker not waiting for another resource is found, determining, whether final resource blocker is caused by a resource blocker in a different computer system, iteratively executing, the method on the different computer system to find the final resource blocker not waiting for another resource is found, determining, whether the final resource blocker has more than one symptom that may or may not be a contention problem, selecting a symptom that has the highest priority as the root cause of the computer problems, and generating, using the processor, a report of root causes of the computer problems.

Claims (76)

1. A method of analyzing contention data and following one or more resource blockers to find root causes of computer problems, comprising:

detecting, using a processor of a processing system, one or more resource waiters in a first computer system of a collaborative distributed computer system, wherein each of the one or more resource waiters is associated with a corresponding one of one or more processes;

iteratively determining whether one of the one or more resource waiters is blocked by a resource blocker, until a final resource blocker is found;

responsive to finding the final resource blocker:

determining whether the final resource blocker is in the first computer system or a second computer system of the collaborative distributed computer system;

responsive to determining that the final resource blocker is in the first computer system of the collaborative distributed computer system, defining the final resource blocker as a final resource event; and

responsive to determining that the final resource blocker is in the second computer system of the collaborative distributed computer system, iteratively executing the method on the second computer system until a final resource event is found, wherein the final resource event comprises a final resource blocker not waiting for another resource in the collaborative distributed computer system; wherein:

the resource waiter comprises a process waiting longer than a predetermined time period, and wherein the resource blocker comprises a process holding a resource.

2. The method of claim 1 , further comprising:

determining, using the processor, whether the final resource event has more than one symptom; and

responsive to determining that the final resource event has more than one symptom, each having a priority associated with the symptom, selecting a symptom that has the highest priority as a primary root cause of the computer problems; and

generating, using the processor, a report of one or more root causes of the computer problems.

3. The method of claim 1 , wherein the computer system comprises:

the processing system having one or more processes running; and

one or more computer systems of the collaborative distributed computer system connected through the communication network.

4. The method of claim 1 , wherein the generating comprises generating a report having:

one or more root causes of the computer problems;

one or more symptoms according to their priorities; and

one or more resource blockers detected along a serializable resource chain.

5. The method of claim 1 , wherein the generating comprises:

generating the report in text form for transmission to one or more operators;

generating a display of the report on a graphical user interface for one or more operators; or

generating the report having one or more solutions to the computer problems according to an analysis of the one or more root causes of the computer problems, one or more symptoms, and one or more resource blockers.

6. The method of claim 1 , further comprising:

identifying a resource blocker as a resource waiter when the resource blocker is waiting for a resource.

7. A processing system for analyzing contention data and following resource blockers to find root causes of computer problems, comprising:

a processor;

a communication network configured to communicate with one or more processes running on the processing system, and connect one or more computer systems of a collaborative distributed computer system;

a graphical user interface configured to display a process of finding root causes of the computer problems, and one or more intermediate results; and

a memory storing an operating system and a root cause analysis module having computer executable instructions, when executed at the processor of the processing system, the computer executable instructions cause the processor to perform a method of analyzing contention data and following resource blockers to find root causes of computer problems, comprising:

detecting, using the processor of the processing system, one or more resource waiters in a first computer system of a collaborative distributed computer system, wherein each of the one or more resource waiters is associated with a corresponding one of one or more processes;

iteratively determining whether one of the one or more resource waiters is blocked by a resource blocker, until a final resource blocker is found;

responsive to finding the final resource blocker:

determining whether the final resource blocker is in the first computer system or a second computer system of the collaborative distributed computer system;

responsive to determining that the final resource blocker is in the first computer system of the collaborative distributed computer system, defining the final resource blocker as a final resource event; and

responsive to determining that the final resource blocker is in the second computer system of the collaborative distributed computer system, iteratively executing the method on the second computer system until a final resource event is found, wherein the final resource event comprises a final resource blocker not waiting for another resource in the collaborative distributed computer system; wherein:

the resource waiter comprises a process waiting longer than a predetermined time period, and wherein the resource blocker comprises a process holding a resource.

8. The processing system of claim 7 , wherein the method further comprises:

determining, using the processor, whether the final resource event has more than one symptom; and

responsive to determining that the final resource event has more than one symptom, each having a priority associated with the symptom, selecting a symptom that has the highest priority as a primary root cause of the computer problems; and

generating, using the processor, a report of one or more root causes of the computer problems.

9. The processing system of claim 7 , wherein the computer system comprises:

the processing system having one or more processes running; and

one or more computer systems of the collaborative distributed computer system connected through the communication network.

10. The processing system of claim 7 , wherein the generating comprises generating a report having:

one or more root causes of the computer problems;

one or more symptoms according to their priorities; and

one or more resource blockers detected along a serializable resource chain.

11. The processing system of claim 7 , wherein the generating comprises:

generating the report in text form for transmission to one or more operators;

generating a display of the report on a graphical user interface for one or more operators; or

generating the report having one or more solutions to the computer problems according to an analysis of the one or more root causes of the computer problems, one or more symptoms, and one or more resource blockers.

12. The processing system of claim 7 , further comprising:

identifying a resource blocker as a resource waiter when the resource blocker is waiting for a resource.

13. A computer program product comprising:

a non-transitory storage medium readable by a processor of a processing system and storing computer executable instructions for execution by the processor to perform a method of analyzing contention data and following resource blockers to find root causes of computer problems, the method comprising:

detecting, using the processor of the processing system, one or more resource waiters in a first computer system of a collaborative distributed computer system, wherein each of the one or more resource waiters is associated with a corresponding one of one or more processes;

iteratively determining whether one of the one or more resource waiters is blocked by a resource blocker, until a final resource blocker is found;

responsive to finding the final resource blocker:

determining whether the final resource blocker is in the first computer system or a second computer system of the collaborative distributed computer system;

responsive to determining that the final resource blocker is in the first computer system of the collaborative distributed computer system, defining the final resource blocker as a final resource event; and

responsive to determining that the final resource blocker is in the second computer system of the collaborative distributed computer system, iteratively executing the method on the second computer system until a final resource event is found, wherein the final resource event comprises a final resource blocker not waiting for another resource in the collaborative distributed computer system; wherein:

the resource waiter comprises a process waiting longer than a predetermined time period, and wherein the resource blocker comprises a process holding a resource.

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

determining, using the processor, whether the final resource event has more than one symptom; and

responsive to determining that the final resource event has more than one symptom, each having a priority associated with the symptom, selecting a symptom that has the highest priority as a primary root cause of the computer problems; and

generating, using the processor, a report of one or more root causes of the computer problems.

15. The computer program product of claim 13 , wherein the computer system comprises:

the processing system having one or more processes running; and

one or more computer systems of the collaborative distributed computer system connected through the communication network.

16. The computer program product of claim 13 , wherein the generating comprises generating a report having:

one or more root causes of the computer problems;

one or more symptoms according to their priorities; and

one or more resource blockers detected along a serializable resource chain.

17. The computer program product of claim 13 , further comprising:

identifying a resource blocker as a resource waiter when the resource blocker is waiting for a resource.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2016
From: ABRAMS, ROBERT M.; ARNDT, KARLA K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039027/0764 →
Continuity (1)
Related Publication 20170373925A1 · Dec 28, 2017