IP Library Granted Patent US 7,949,739
Granted Patent B2
US 7,949,739 · App. 11/077,932 · Granted May 24, 2011

Method and apparatus for determining causality mapping of distributed systems

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 7,949,739
App. No.
11/077,932
Granted
May 24, 2011
Kind
B2
Abstract

A method and apparatus for determining causality mapping between causing events and detectable events among a plurality of nodes in a distributed system is disclosed. The method comprises the steps of automatically generating a causality mapping model of the dependences between causing events at the nodes of the distributed system and the detectable events in a subset of the nodes, the model suitable for representing the execution of at least one system operation. In one aspect the generation is perform by selecting nodes associated with each of the detectable events from the subset of the nodes and indicating the dependency between a causing event and at least one detectable event for each causing event at a node when the causing event node is a known distance from at least one node selected from the selected nodes. In still another aspect, the processing described herein is in the form of a computer-readable medium suitable for providing instruction to a computer or processing system for executing the processing claimed.

Claims (44)

1. A computer implemented method for determining causality mapping between causing events and detectable events among a plurality of nodes in a distributed system comprising physical devices, the method comprising the steps of:

automatically generating, in one or more computers, a causality mapping model, the mapping model mapping the dependences between causing events at the nodes and detectable events associated with a subset of the nodes, the model suitable for representing the execution of at least one system operation; wherein each causing event of the causing events corresponds to a cause of a problem in the distributed system; wherein each detectible event of the detectible events corresponds to a symptom of at least one problem in the distributed system; and wherein the mapping model may be used in determining at least one causing event contributing to the cause of the detected event;

wherein the step of generating the model comprises the steps of:

selecting nodes associated with each of the detectable events from the subset of the nodes;

indicating the dependency between a causing event and at least one detectable event for each causing event at a node when the causing event node divides the system into a plurality of disjoint partitions and at least one of the nodes associated with a selected detectable event is contained in one of the disjoint partitions and at least one other of the nodes associated with the selected detectable event is contained in another one of the disjoint partitions.

2. The method as recited in claim 1 , wherein the step of generating the model comprises the steps of: selecting nodes associated with each of the detectable events from the subset of the nodes; and indicating the dependency between causing events and each of the detectable events for each causing event at a node when the causing event node is in one of the routes between the selected nodes.

3. The method as recited in claim 1 , wherein the step of generating the model comprises the step of:

indicating the dependency between a causing event and at least one detectable event for each causing event at a node when the causing event node is a known distance from at least one node selected from the selected nodes.

4. The method as recited in claim 1 , wherein the step of generating the model comprises the steps of: selecting nodes associated with each of the detectable events from the subset of the nodes; and indicating the dependency between a causing event and at least one detectable event for each causing event at a node when the causing event node divides the system into a plurality of disjoint partitions and at least one of the nodes associated with a selected detectable event is contained in one of the disjoint partitions and at least one other of the nodes associated with the selected detectable event is contained in another one of the disjoint partitions.

5. The method as recited in claim 1 , wherein the step of generating the model comprises the steps of: selecting nodes associated with each of the detectable events from the subset of the nodes; and indicating the dependency between a causing event and at least one detectable event for each causing event when the causing event node is a known distance from at least one node associated with the detectable event, wherein the dependency is a function of the number of times the causing event node appears in the routes between the nodes.

6. The method as recited in claim 1 , wherein the system operation is selected from the group consisting of: fault detection, fault monitoring, performance, congestion, connectivity, interface failure, node failure, link failure, routing protocol error, routing control errors, and root-cause analysis.

7. The method as recited in claim 1 , wherein the dependency represents a probability a detected event was caused by a causing event.

8. The method as recited in claim 7 , wherein the probability decreases as a function of the number nodes from the causing event node.

9. The method as recited in claim 1 , wherein the dependency is a predetermined value.

10. The method as recited in claim 1 , wherein model is selected from the group consisting of: a causality matrix and causality graph.

11. The method as recited in claim 1 , wherein the path between nodes selected from the subset of nodes represents the shortest paths.

12. The method as recited in claim 1 , wherein the dependency is a measure of the number of times a causing event node appears in the total number of paths between the nodes selected from the subset of nodes.

13. An apparatus for determining causality mapping between causing events and detectable events among a plurality of nodes in a distributed system, the apparatus comprising: a processor in communication with a memory, the processor executing code for: automatically generating a causality mapping model, the mapping model mapping the dependences between causing events at the nodes and detectable events associated with a subset of the nodes, the model suitable for representing the execution of at least one system operation; wherein each causing event of the causing events corresponds to a cause of a problem in the distributed system; wherein each detectible event of the detectible events corresponds to a symptom of at least one problem in the distributed system; and wherein the mapping model may be used in determining at least one causing event contributing to the cause of the detected event; wherein the processor further executing code for generating the model comprising:

selecting nodes associated with each of the detectable events from the subset of the nodes;

indicating the dependency between a causing event and at least one detectable event for each causing event at a node when the causing event node divides the system into a plurality of disjoint partitions and at least one of the nodes associated with a selected detectable event is contained in one of the disjoint partitions and at least one other of the nodes associated with the selected detectable event is contained in another one of the disjoint partitions.

14. The apparatus as recited in claim 13 , the processor further executing code for generating the model comprising: selecting nodes associated with each of the detectable events from the subset of the nodes; and indicating the dependency between causing events and each of the detectable events for each causing event at a node when the causing event node is in one of the routes between the selected nodes.

15. The apparatus as recited in claim 13 , the processor further executing code for generating the model comprising:

indicating the dependency between a causing event and at least one detectable event for each causing event at a node when the causing event node is a known distance from at least one node selected from the selected nodes.

16. The apparatus as recited in claim 13 , wherein the processor further executing code for generating the model comprising: selecting nodes associated with each of the detectable events from the subset of the nodes; and indicating the dependency between a causing event and at least one detectable event for each causing event at a node when the causing event node divides the system into a plurality of disjoint partitions and at least one of the nodes associated with a selected detectable event is contained in one of the disjoint partitions and at least one other of the nodes associated with the selected detectable event is contained in another one of the disjoint partitions.

17. The apparatus as recited in claim 13 , the processor further executing code for generating the model comprising: selecting nodes associated with each of the detectable events from the subset of the nodes; and indicating the dependency between a causing event and at least one detectable event for each causing event when the causing event node is a known distance from at least one node associated with the detectable event, wherein the dependency is a function of the number of times the causing event node appears in the routes between the nodes.

18. The apparatus as recited in claim 13 , wherein the system operation is selected from the group consisting of: fault detection, fault monitoring, interface failure, node failure, link failure, routing protocol error, routing control errors, and root-cause analysis.

19. The apparatus as recited in claim 13 , wherein the dependency represents a probability a detected event was caused by a causing event.

20. The apparatus as recited in claim 13 , wherein the indication is a predetermined value.

21. The apparatus as recited in claim 13 , wherein model is selected from the group consisting of: a causality matrix and causality graph.

22. The apparatus as recited in claim 13 , wherein the path between nodes selected from the subset of nodes represents the shortest paths.

23. The apparatus as recited in claim 13 , wherein the dependency is a measure of the number of times a causing event node appears in the total number of paths between the nodes selected from the subset of nodes.

24. A non-transitory computer-readable medium containing code for determining causality mapping between causing events and detectable events among a plurality of nodes in a distributed system, the code providing instruction to a processing system for executing code for: automatically generating a causality mapping model, the mapping model mapping the dependences between causing events at the nodes and detectable events associated with a subset of the nodes, the model suitable for representing the execution of at least one system operation; wherein each causing event of the causing events corresponds to a cause of a problem in the distributed system; wherein each detectible event of the detectible events corresponds to a symptom of at least one problem in the distributed system; and wherein the mapping model may be used in determining at least one causing event contributing to the cause of the detected event.

25. The non-transitory computer-readable medium as recited in claim 24 , the code providing instruction to the processing system for generating the model comprising: selecting nodes associated with each of the detectable events from the subset of the nodes; and indicating the dependency between causing events and each of the detectable events for each causing event at a node when the causing event node is in one of the routes between the selected nodes.

26. The non-transitory computer-readable medium as recited in claim 24 the code providing instruction to the processing system for generating the model comprising:

indicating the dependency between a causing event and at least one detectable event for each causing event at a node when the causing event node is a known distance from at least one node selected from the selected nodes.

27. The non-transitory computer-readable medium as recited in claim 24 , the code providing instruction to the processing system for generating the model comprising: selecting nodes associated with each of the detectable events from the subset of the nodes; and indicating the dependency between a causing event and at least one detectable event for each causing event at a node when the causing event node divides the system into a plurality of disjoint partitions and at least one of the nodes associated with a selected detectable event is contained in one of the disjoint partitions and at least one other of the nodes associated with the selected detectable event is contained in another one of the disjoint partitions.

28. The non-transitory computer-readable medium as recited in claim 24 , the code providing instruction to the processing system for generating the model comprising: selecting nodes associated with each of the detectable events from the subset of the nodes; and indicating the dependency between a causing event and at least one detectable event when the causing event node is a known distance from at least one node associated with the detectable event, wherein the dependency is a function of the number of times the causing event node appears in the routes between the nodes.

29. The non-transitory computer-readable medium as recited in claim 24 , wherein the system operation is selected from the group consisting of: fault detection, fault monitoring, failure, node failure, link failure, routing protocol error, routing control errors, and root-cause analysis.

30. The non-transitory computer-readable medium as recited in claim 24 , wherein the dependency represents a probability a detected event was caused by a causing event.

31. The non-transitory computer-readable medium as recited in claim 24 , wherein the probability decreases as a function of the number nodes from the causing event node.

32. The non-transitory computer-readable medium as recited in claim 24 , wherein the dependency is a predetermined value.

33. The non-transitory computer-readable medium as recited in claim 24 , wherein model is selected from the group consisting of: a causality matrix and causality graph.

34. The non-transitory computer-readable medium as recited in claim 24 , wherein the path between nodes selected from the subset of nodes represents the shortest paths.

35. The non-transitory computer-readable medium as recited in claim 24 , wherein the dependency is a measure of the number of times a causing event node appears in the total number of paths between the nodes selected from the subset of nodes.

Assignments (10)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067103/0030 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2018
From: EMC IP HOLDING COMPANY LLC
To: VMWARE, INC.
Reel/Frame 046858/0845 →
RELEASE OF SECURITY INTEREST Recorded Sep 6, 2018
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC CORPORATION; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC; DELL USA L.P.; DELL INTERNATIONAL LLC; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 046800/0352 →
RELEASE OF SECURITY INTEREST Recorded Sep 6, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: AVENTAIL LLC; EMC CORPORATION; ASAP SOFTWARE EXPRESS, INC.; CREDANT TECHNOLOGIES, INC; DELL USA L.P.; DELL INTERNATIONAL LLC; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 046800/0075 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →