IP Library Granted Patent US 10,585,932
Granted Patent B1
US 10,585,932 · App. 15/784,334 · Granted Mar 10, 2020

Methods and apparatus for generating causality matrix and impacts using graph processing

Inventors: David Ohsie (Baltimore, MD); Cheuk Lam (Yorktown Heights, NY)
Assignee: EMC IP Holding Company LLC
G06F16/355G06F17/2785G06F16/24565G06F16/86G06F16/951
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,585,932
App. No.
15/784,334
Granted
Mar 10, 2020
Kind
B1
Abstract

Methods and apparatus for generating a causality matrix using vertex-centric processing framework to be used by a codebook correlation engine to determine a set of problems to explain active symptoms in a system. Methods and apparatus for calculating impacts of problems using vertex-centric processing framework.

Claims (69)

1. A method, comprising:

reading a domain model of a system, the domain model corresponding to a plurality of classes, wherein each of the classes correspond to a respective managed object in the system and have a plurality of attributes, the attribute being one of relationship attribute, external attribute, and computed attribute;

optimizing the domain model;

generating a semantic model as an instantiation of the domain model, the semantic model comprising a plurality of nodes, wherein each of the nodes corresponds to a respective one of the classes of the domain model;

importing topology information based on the semantic model and relationship among the plurality of classes, wherein vertices in the topology correspond to a respective one of the classes of the domain model;

generating initial messages for each vertex, wherein the initial messages correspond to updates in the external attributes of the classes;

for each vertex in the topology,

a) determining a semantic model that corresponds to the vertex;

b) processing messages in a processing queue of the vertex, the processing of any of the messages including identifying an update expression associated with the message, identifying a dependent expression that is associated with the update expression, detecting whether the update expression and the dependent expression belong to the same class, and re-evaluating the dependent expression when the update expression and the dependent expression belong to the same class;

c) sending dependent messages generated during step b) to the one or more target vertices corresponding to each of the dependent messages; repeating steps a)-c) until no more messages are generated; and

processing updates of the attributes caused by the processing of the messages.

2. The method according to claim 1 , further comprising:

processing impact information;

generating a semantic model including impact expressions as an instantiation of the domain model;

storing the impact information for problems in the system; and

updating impacts for each of the problems based upon messages containing the updates of the attributes.

3. The method according to claim 2 , wherein a first one of the problems includes a storage device being unavailable, further comprising propagating a message for the storage device being unavailable to indicate a potential data loss.

4. The method according to claim 1 , the processing messages further comprising:

determining a semantic model node corresponding the message being processed; and

evaluating and updating a value of the message.

5. The method according to claim 1 , wherein the plurality of classes includes storage devices, volumes, and storage pools.

6. The method according to claim 1 , further comprising maintaining an unavailable device count.

7. A system, comprising:

a processor and a memory configured to:

process a domain model of a system, the domain model corresponding to a plurality of classes, wherein each of the classes correspond to a respective managed object in the system and have a plurality of attributes, the attribute being one of relationship attribute, external attribute, and computed attribute;

generate a semantic model as an instantiation of the domain model, the semantic model comprising a plurality of nodes, wherein each of the nodes corresponds to a respective one of the classes of the domain model;

import topology information based on the semantic model and relationship among the plurality of classes, wherein vertices in the topology correspond to a respective one of the classes of the domain model;

generate initial messages for each vertex, wherein the initial messages correspond to updates in the external attributes of the classes;

for each vertex in the topology,

a) determine a semantic model node that corresponds to the vertex;

b) processing messages in a processing queue of the vertex, the processing of any of the messages including identifying an update expression associated with the message, identifying a dependent expression that is associated with the update expression, detecting whether the update expression and the dependent expression belong to the same class, and re-evaluating the dependent expression when the update expression and the dependent expression belong to the same class;

c) send dependent messages generated during step b) to the one or more target vertices corresponding to each of the dependent messages;

repeating steps a)-c) until no more message is generated; and

process updates of the attributes caused by the processing of the messages; and

maintain an unavailable device count.

8. The system according to claim 7 , the processor and a memory is further configured to:

process impact information;

generate an impact semantic model including impact expressions as an instantiation of the domain model;

store the impact information for problems in the system; and

update impacts for each of the problems based upon messages containing the updates of the attributes.

9. The system according to claim 8 , wherein a first one of the problems includes a storage device being unavailable, the processor and a memory is further configured to propagate a message for the storage device being unavailable to indicate a potential data loss.

10. The system according to claim 7 , the step to process messages further comprising:

determining a semantic model node corresponding the message being processed; and

evaluating and updating a value of the message.

11. The system according to claim 7 , wherein the system comprises a data center environment having elastic converged storage.

12. The system according to claim 7 , wherein the plurality of classes includes storage devices, volumes, and storage pools.

13. The system according to claim 7 , wherein the plurality of classes includes storage devices, volumes, and storage pools.

14. An article, comprising:

a non-transitory storage medium having stored instructions that enable a machine to:

process a domain model of a system, the domain model corresponding to a plurality of classes, wherein each of the classes correspond to a respective managed object in the system and have a plurality of attributes, the attribute being one of relationship attribute, external attribute, and computed attribute;

generate a semantic model as an instantiation of the domain model, the semantic model comprising a plurality of nodes, wherein each of the nodes corresponds to a respective one of the classes of the domain model;

import topology information based on the semantic model and relationship among the plurality of classes, wherein vertices in the topology correspond to a respective one of the classes of the domain model;

generate initial messages for each vertex, wherein the initial messages correspond to updates in the external attributes of the classes;

for each vertex in the topology,

a) determine a semantic model node that corresponds to the vertex;

b) processing messages in a processing queue of the vertex, the processing of any of the messages including identifying an update expression associated with the message, identifying a dependent expression that is associated with the update expression, detecting whether the update expression and the dependent expression belong to the same class, and re-evaluating the dependent expression when the update expression and the dependent expression belong to the same class;

c) send dependent messages generated during step b) to the one or more target vertices corresponding to each of the dependent messages;

repeating steps a)-c) until no more message is generated;

process updates of the attributes caused by the processing of the messages;

maintain an unavailable device count;

process impact information;

generate an impact semantic model including impact expressions as an instantiation of the domain model;

store the impact information for problems in the system; and

update impacts for each of the problems based upon messages containing the updates of the attributes.

15. The article according to claim 14 , wherein a first one of the problems includes a storage device being unavailable, and the instructions further enable the machine to propagate a message for the storage device being unavailable to indicate a potential data loss.

16. The article according to claim 14 , the step to process messages further comprising:

determining a semantic model node corresponding the message being processed; and

evaluating and updating a value of the message.

17. The article according to claim 14 , wherein the system comprises a data center environment having elastic converged storage.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (044535/0109) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →
TRANSFER OF OWNERSHIP Recorded Oct 24, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044664/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2017
From: OHSIE, DAVID; LAM, CHEUK
To: EMC CORPORATION
Reel/Frame 044279/0976 →