Nova Patents
US8700637B2

Complex event processing engine

Summary by NHIP

Dynamic Data Aggregation Tree

The method defines a real-time data aggregation tree where a self-organizing map arranges nodes into sub-trees. Weighted connections between parent and child nodes rely on user inputs, environmental circumstances, statuses, and business rules to calculate scores and trigger alerts.

Claim Score by NHIP

Read claim 1, the broadest

Abstract

A method, a data aggregation tool, and a set of instructions are disclosed. A data storage 120 may store a data aggregation tree with at least one entry node, a root node, and an initial entry status level for the at least one entry node. A processor 110 may detect an entry node status level change to a resulting entry status level at the at least one entry node. The processor 110 may aggregate a root node score at a root node based on an entry node score for the at least one entry node.

US8700637B2, drawing sheet 1
Sheet 1 of 12

Term

Projected expiry 8 August 2031.

  1. Priority and filed
  2. Granted
  3. Today
  4. Projected expiry

9 claims: 3 independent, 6 dependent

  1. 1
    Broadest claimClaim Score 15, narrow(NHIP)A method to aggregate data using a complex event processing engine, comprising:defining in real time, with a processor, a data aggregation tree, the data aggregation tree having at least one parent node and at least one child node associated with the at least one parent node, a self-organizing map arranging nodes into a data sub-tree on an as-needed basis and connections between the at least one parent node and the at least one child node being weighted based on at least one of user inputs, environmental circumstances, node statuses and node business rules to determine a weight value, the processor using a dynamic scorecard to calculate an initial data score for each data aggregation tree;determining, with the processor, the weight value assigned to the at least one child node;determining, with the processor, a threshold level assigned to the at least one child node, the threshold level being associated with child node data;assigning at least one generic rule to the at least one parent node, the at least one generic rule being associated with aggregating child node data from the at least one child node;assigning a specific business rule to the at least one child node based on the weight value, the threshold value, and the at least one generic rule;processing the child node data to determine a child node score for the child node based on the specific business rule and the child node data;assigning a status level of the at least one child node indicating a degree of priority based on the child node score;monitoring an entry status level to detect change in the status level triggering the display of an alert to a user, the change in the status level of the at least one child node being based on the specific business rule and a change in the child node-data;determining, with the processor, a parent node score at the parent node based on an aggregation of one or more of the child node data, parent node data, and the at least one child node score, the aggregation of the parent node score being re-initiated when the change in the status level of the at least one child node is detected;and categorizing, with the processor, the status level of the child node to indicate a degree of priority by way of a color coding of the categorized status level of the child node, the color coding representing an alarm level, a warning level, and a normal level.
  2. 4
    A data aggregation tool, comprising:a data storage that stores a data aggregation tree having at least one parent node and at least one child node associated with the at least one parent node;and a processor that is programmed to: define in real time a data aggregation tree, the data aggregation tree having at least one parent node and at least one child node associated with the at least one parent node, a self-organizing map arranging nodes into a data sub-tree on an as-needed basis and connections between the at least one parent node and the at least one child node being weighted based on at least one of user inputs, environmental circumstances, node statuses and node business rules to determine a weight value, the processor using a dynamic scorecard to calculate an initial data score for each data aggregation tree;determine the weight value assigned to the at least one child node;determine a threshold level assigned to the at least one child node, the threshold level being associated with child node data;assign at least one generic rule to the at least one parent node, the at least one generic rule being associated with aggregating child node data from the at least one child node;assign a specific business rule to the at least one child node based on the weight value, the threshold value, and the at least one generic rule;process the child node data to determine a child node score for the child node based on the specific business rule and the child node data;assign a status level of the at least one child node indicating a degree of priority to be assigned based on the child node score;monitoring an entry status level to detect change in the status level triggering the display of an alert to a user, the change in the status level of the at least one child node being based on the specific business rule and a change in the child node data;determine a parent node score at the parent node based on an aggregation of one or more of the child node data, parent node data, and the at least one child node score, the aggregation of the parent node score being re-initiated when the change in the status level of the at least one child node is detected;and categorize the status level of the child node to indicate a degree of priority by way of a color coding of the categorized status level of the child node, the color coding representing an alarm level, a warning level, and a normal level.
  3. 7
    A non-transitory storage medium on which is recorded instructions that, when executed by a processor, cause the processor to implement a method for processing complex events, the method comprising:defining in real time a data aggregation tree, the data aggregation tree having at least one parent node and at least one child node associated with the at least one parent node, a self-organizing map arranging nodes into a data sub-tree on an as-needed basis and connections between the at least one parent node and the at least one child node being weighted based on at least one of user inputs, environmental circumstances, node statuses and node business rules to determine a weight value, the processor using a dynamic scorecard to calculate an initial data score for each data aggregation tree;determining the weight value assigned to the at least one child node;determining a threshold level assigned to the at least one child node, the threshold level being associated with child node data;assigning at least one generic rule to the at least one parent node, the at least one generic rule being associated with aggregating child node data from the at least one child node;assigning a specific business rule to the at least one child node based on the weight value, the threshold value, and the at least one generic rule;processing the child node data to determine a child node score for the child node based on the specific business rule and the child node data;assigning a status level of the at least one child node indicating a degree of priority based on the child node score;monitoring an entry status level to detect change in the status level triggering the display of an alert to a user, the change in the status level of the at least one child node being based on the specific business rule and a change in the child node data;determining a parent node score at the parent node based on an aggregation of one or more of the child node data, parent node data, and the at least one child node score, the aggregation of the parent node score being re-initiated when the change in the status level of the at least one child node is detected;and categorizing the status level of the child node to indicate a degree of priority by way of a color coding of the categorized status level of the child node, the color coding representing an alarm level, a warning level, and a normal level.