US7284245B2

Query trees including or nodes for event filtering

Summary by NHIP

Event Filter Tree Merging

The method merges two filtering trees by combining their topmost OR nodes into a single output tree. Child nodes from both original trees are added as children to this resulting OR node to identify reportable events.

Claim Score by NHIP

Read claim 1, the broadest

Abstract

Filtering trees for selectively notifying subscribers of events are provided, and are constructed with OR nodes to substantially reduce their size. The filtering trees have nodes representing event variables that ultimately branch to leaf nodes thereunder, and the leaf nodes identify which of a set of queries are satisfied by an actual event. A mechanism recursively merges nodes of trees into a single tree, and uses OR nodes when nodes cannot be combined, to essentially add a parallel path in the resulting tree to traverse. Nodes that can be combined are those that represent the same event variable, and may have data points that are merged into a combined node. Threshold gains in efficiency may be evaluated to determine whether the original trees should be kept instead of the resulting tree.

US7284245B2, drawing sheet 1
Sheet 1 of 13

Term

Term ended

Expired 7 May 2022, 4.4 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

9 claims: 1 independent, 8 dependent

  1. 1
    Broadest claimClaim Score 17, narrow(NHIP)In a computer system having an event management system for detecting events as they occur and selectively reporting them to one or more subscriber applications, a method of combining first and second filtering trees usable for determining which detected events should be reported to the one or more subscriber events by merging the first and second filtering trees to create an output filter tree used to selectively report events, the method comprising:accessing first and second filtering trees used to determine whether an event detected by a computing system should be reported to one or more subscriber applications;determining that a first node at a topmost level of the first filtering tree is an OR node;determining that a second node at a topmost level of the second filtering tree is also an OR node;in response to determining that an OR node is at the topmost level of each of the first and second filtering trees, creating a single output filtering tree and storing it on computer readable storage media, the single output filtering tree providing a resulting OR node at a topmost level of the output filtering tree;and adding each child node of the first tree and each child of the second tree into the single output filtering tree as child nodes, and such that the single output filtering tree when traversed with actual event data, is configured to identify when an event corresponding to the actual event data is to be reported to the one or more subscriber applications, and wherein adding each child of the first tree and each child of the second tree comprises: merging each child node of the first tree with a child node of the second tree into a merged node when such nodes can be successfully combined, and adding to the single output filtering tree each merged node as a child node of the resulting OR node;adding to the single output filtering tree each child node of the first tree and each child node of the second tree that cannot be successfully combined as a child node of the resulting OR node;and after any child node of the first tree and the second filtering tree have been added to the output filtering tree in a merged node or as a child node of the resulting OR node, eliminating each child from further consideration for merging.