Method for defining and applying rules for message distribution for transaction processing in a distributed application
First Claim
1. In a rules based message processing subsystem operable in a computing system, a method for evaluating rules comprising boolean predicate statements for message processing comprising the steps of:
- receiving a message for processing;
searching, responsive to reception of said message, a table of rule arguments to locate only rule arguments which apply to said message based upon information content of said message wherein each of said rule arguments in said table is a boolean predicate and wherein a rule is comprised of at least one of said rule arguments;
evaluating, responsive to the searching step, the located rule arguments to determine the truth of the boolean predicate statements contained therein; and
determining the truth of rules comprised of the evaluated rule arguments.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and associated structures for rapidly processing messages in a distributed computing application. Rules are stored in structures defined by the present invention and methods associated therewith rapidly process the boolean predicates of the rules to determine what actions need be taken in the distributed computing environment in response to receipt of a message published by a publishing application in the distributed computing environment. Rules argument tables store rule argument entries which each represent a single boolean predicate test clause which compare a column (field) of a published message with either a fixed value or with another column of a published message. All rule argument predicate clauses which are AND'"'"'ed to form a rule are related in the rules argument tables by a common rule-- id column value. An operations table stores entries each of which describes groups of attributes of rules stored in the rules argument tables. Rather than evaluating all rules against a received message as is known in the prior art, the tables of the present invention are searched using indexed random search methods to rapidly locate only those rule arguments (predicate clauses) which are applicable to the received message. The present invention thereby rapidly locates and evaluates all rules which are applicable to a particular published message without need to locate or evaluate other unrelated rules.
-
Citations
31 Claims
-
1. In a rules based message processing subsystem operable in a computing system, a method for evaluating rules comprising boolean predicate statements for message processing comprising the steps of:
-
receiving a message for processing; searching, responsive to reception of said message, a table of rule arguments to locate only rule arguments which apply to said message based upon information content of said message wherein each of said rule arguments in said table is a boolean predicate and wherein a rule is comprised of at least one of said rule arguments; evaluating, responsive to the searching step, the located rule arguments to determine the truth of the boolean predicate statements contained therein; and determining the truth of rules comprised of the evaluated rule arguments. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A message processing system for processing messages published by a computing system process comprising:
-
means for receiving a message for processing; means for searching, responsive to reception of said message, a table of rule arguments to only locate arguments which apply to said message based upon information content of said message wherein each of said rule arguments in said table is a boolean predicate and wherein a rule is comprised of at least one of said rule arguments; means for evaluating, responsive to the searching step, the located rule arguments to determine the truth of the boolean predicate statements contained therein; means for determining the truth of rules comprised of the evaluated rule arguments; and means for performing an action associated with said located rule responsive to the evaluation of a located rule resulting in a boolean true value. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A program storage device readable by a computer, tangibly embodying a program or instructions executable by the computer to perform the method steps for evaluating rules comprising boolean predicate statements for processing of messages, said method steps comprising:
-
receiving a message for processing; searching, responsive to reception of said message, a table of rule arguments to locate only rule arguments which apply to said message based upon information content of said message wherein each of said rule arguments in said table is a boolean predicate and wherein a rule is comprised of at least one of said rule arguments; evaluating, responsive to the searching step, the located rule arguments to determine the truth of the boolean predicate statements contained therein; and determining the truth of rules comprised of the evaluated rule arguments. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. In system for evaluating boolean rules in response to a received message comprising:
-
a rules argument table containing a plurality of entries wherein each of said entries defines a boolean predicate applicable to a field of said message and wherein each said entry includes a rule identifier field and wherein entries having a common value in said rule identifier field are ANDed predicates in a rule; and means for searching said rules argument table in response to receipt of said message to locate entries applicable to said message based on content of at least one field of said message; means for evaluating the boolean predicates in the located entries responsive to said means for searching; an ANDing table associated with said means for evaluating for recording the boolean truth of the evaluated boolean predicates; and means for determining the truth of rules for which entries are recorded in said ANDing table. - View Dependent Claims (31)
-
Specification