Abstract:
Automatically generating a rule set implementation is disclosed. A set of rules is accessed. For each non-const rule in the set of rules, one or more implication directed acyclic graphs (DAGs) are constructed. The non-const rule directly causes at least one external output or at least one external action. The one or more implication DAGs specify rule conditions, including one or more observable rule conditions. Implication DAGs that are constructed for the set of rules are compiled to obtain a compiled result that is configured to evaluate rule conditions associated with the set of rules and determine one or more actions when at least one of the rule conditions evaluates to true. The compiled result is output.
Abstract:
A set of observed symptoms of a physical system is received. The set of observed symptoms is matched with a database of fault scenarios to generate a plurality of matched fault scenarios, wherein the database of fault scenarios comprises combinations of symptoms and corresponding root cause identifiers. The plurality of matched fault scenarios are refined. It is determined whether a first fault scenario of the plurality of matched fault scenarios is to be subsumed by a second fault scenario. In response to a determination that the first fault scenario of the plurality of matched fault scenarios is to be subsumed by a second fault scenario, the second fault scenario is included in the plurality of matched fault scenarios, the first fault scenario is deprioritized, or both. The plurality of matched fault scenarios as potential root causes is output.
Abstract:
A plurality of potential fault scenarios are accessed, wherein a given potential fault scenario of the plurality of potential fault scenarios has at least one corresponding root cause, and a representation of the given potential fault scenario comprises a don't care value. An actual fault scenario from telemetry received from a monitored system is generated. The actual fault scenario is matched against the plurality of potential fault scenarios. One or more matched causes are output as one or more probable root cause failures of the monitored system.
Abstract:
Improved utilization of connections that can be either available or blocked is provided by associating an atemporal connection state with each connection. If a connection is available, messages are transmitted on the connection normally. If a connection is blocked, the atemporal connection state is updated to reflect the changes that were made but not transmitted. In this manner, a record is kept that allows correct transmission of the information when the connection comes back up. More specifically, after a connection status changes from blocked to available, recovery messages are automatically generated from the atemporal connection state and transmitted on the connection.
Abstract:
Memory reclamation includes executing a process that has a plurality of objects, the objects being accessible via a plurality of references, at least some of the plurality of references being transient references, at least some of the plurality of references being persistent references; reaching a reclamation point at which a process state has no transient references, or has transient references only at known locations; and at the reclamation point, destructing objects that have no persistent references and no transient references.
Abstract:
Efficient processing of concurrent atomic transactions is provided by identifying the constraints that need to be satisfied for correct application behavior. With these constraints identified, commit processing for a transaction can then refer to the constraints to see if committing the current transaction causes a problem with the constraints. If there is a conflict with the constraints, the transaction aborts. If there is no conflict with the constraints, the transaction commits.