US 9,811,588 B1
Methods and apparatus for generating causality matrix and impacts using graph processing
David Ohsie, Baltimore, MD (US); and Cheuk Lam, Yorktown Heights, NY (US)
Assigned to EMC IP HOLDING COMPANY LLC, Hopkinton, MA (US)
Filed by EMC CORPORATION, Hopkinton, MA (US)
Filed on Mar. 31, 2015, as Appl. No. 14/674,128.
Int. Cl. G06F 17/30 (2006.01); G06F 17/27 (2006.01)
CPC G06F 17/3071 (2013.01) [G06F 17/2785 (2013.01); G06F 17/3051 (2013.01); G06F 17/30864 (2013.01); G06F 17/30917 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A method, comprising:
processing a domain model of a system, the domain model including classes having attributes including relationship, external, and computed, wherein vertices for the system correspond to a respective one of the classes, wherein the domain model includes causality defined between problems and symptoms in the system;
generating a semantic model as an instantiation of the domain model;
importing topology information based on the instantiation of the domain model and the relationship attributes;
for each vertex in the topology;
determining a node in the semantic model that corresponds to the class of the vertex;
finding reference expressions in the vertex and placing them into a processing queue of expressions;
for each expression in the processing queue;
determining a semantic model node that corresponds to a first expression;
evaluating and updating a value of the first expression;
finding expressions that depend on the first expression;
for each dependent expression;
determining whether the found dependent expression is in the same class as the first expression;
creating a new output message for a dependent vertex when the found dependent expression is not in the same class as the first expression;
for the found dependent expression in the same class as the first expression:
re-evaluating the found dependent expression;
adding the dependent expression to the processing queue;
sending generated messages to target vertices;
for each vertex that receives messages;
determining a node in the semantic model that corresponds to the class of the target vertex;
for each message for the target vertex;
determining a semantic model node that corresponds to the expression described in the messages of the first expression;
updating the first expression;
finding expressions that depend on the first expression;
for each dependent expression;
determining whether the found dependent expression is in the same class as the first expression;
creating a new output message for a dependent vertex when the found dependent expression is not in the same class as the first expression;
for the found dependent expression in the same class as the first expression:
re-evaluating the found dependent expression;
adding to a list of messages to be processed for a vertex corresponding to where the re-evaluated found dependent expressions changes value;
sending and processing messages as described above until no more messages generated; and
gathering problem closures at each vertex;
processing updates of the attributes;
for each batch of attribute updates;
sending and processing messages for the attribute updates until no more messages generated;
extracting and sending out changes; and
processing further attribute updates,
wherein the system comprises a data center environment having elastic converged storage.