Patent ID: 7472130
Filing Date: 2008-12-30
Classification: G06F,Y10S

Abstract:
1. In an inverse query filter engine used in evaluating a plurality of query expressions against a plurality of inputs of a message, a method for efficiently evaluating select instructions of query expressions, wherein the select instructions of query expressions both diverge from a common branching node and operate on inputs nodes of the message that share a common axis, whereby outputs for the select instructions are produced simultaneously for the input node of the message sharing a common axis; the method comprising: sequentially executing instructions of query expressions in an instruction tree leading from a root node to a branching node based on one or more inputs within a received message, wherein the branching node includes a plurality of query sub-paths extending there from; identifying the branching node as a select index node in that the plurality of the query sub-paths extending from the branching node each include a select instruction node that operate on a plurality of inputs of a message that share a common axis relative to the processing context for the sequential execution up to the branching node; based upon identification of the branching node as a select index node, initializing empty node sets within an associative array data structure for each of the select instruction nodes; comparing identifiers for each of the plurality of inputs to indices within the associative array data structure for determining matches thereof; based upon the comparison, adding at least one of the inputs of the message to one or more of the empty node sets within the associative data structure, thereby simultaneously producing results of evaluating each of the select instruction nodes for the inputs of the message; and upon completion of the evaluation of the select input nodes, passing the results to the branches extending from each of the plurality of query sub-paths for further evaluation in parallel.