IP Library › Granted Patent US 8,417,659
Granted Patent B2
US 8,417,659 · App. 12/959,188 · Granted Apr 9, 2013

Multi-result set calculation support in rule engines

Inventors: Mark Proctor (London, GB); Edson Tirelli (Montreal, CA)
Assignee: Red Hat, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,417,659
App. No.
12/959,188
Granted
Apr 9, 2013
Kind
B2
Abstract

Some embodiments of a method to support multi-result set calculation in a rule engine have been presented. A rule engine can compile a set of rules to build a network for evaluating facts against the rules. The rules include at least one rule requiring multiple calculations to be executed for the same set of facts. The rule engine can create a single multi-result set calculation node for this rule in the network. The multi-result set calculation node can generate a set of results and add the set of results to a tuple to be propagated to a second node connected to an output of the multi-result set calculation node.

Claims (30)

1. A computer-implemented method, comprising:

compiling, by a rule engine running on a processing device, a plurality of rules to build a network to evaluate facts against the plurality of rules, wherein a rule of the plurality of rules requires multiple calculations to be executed for a set of facts; and

creating, by the rule engine, a single multi-result set calculation node for the rule, the multi-result set calculation node to generate a set of results and to add the set of results to a tuple to be propagated to a second node connected to an output of the multi-result set calculation node.

2. The method of claim 1 , wherein the tuple comprises a multi-dimensional tuple.

3. The method of claim 1 , wherein an element of the tuple comprises a tree structure having a plurality of leaf nodes, and the plurality of leaf nodes contain the set of results.

4. The method of claim 1 , further comprising:

performing, by the rule engine, the multiple calculations on the facts at the multi-result set calculation node.

5. The method of claim 1 , further comprising:

constraining, by the rule engine, results of the multiple calculations performed at the multi-result set calculation node using a virtual result type.

6. The method of claim 1 , wherein the rule is a business rule.

7. The method of claim 1 , wherein the rule engine comprises a Rete rule engine.

8. An apparatus comprising:

a storage device to store a plurality of rules, wherein a rule of the plurality of rules requires multiple calculations to be executed for a set of facts; and

a processing device coupled to the storage device, to compile the plurality of rules to build a network to evaluate facts against the plurality of rules and to create a single multi-result set calculation node for the rule, the multi-result set calculation node to generate a set of results and to add the set of results to a tuple to be propagated to a second node connected to an output of the multi-result set calculation node.

9. The apparatus of claim 8 , wherein the tuple comprises a multi-dimensional tuple.

10. The apparatus of claim 8 , wherein an element of the tuple comprises a tree structure having a plurality of leaf nodes, and the plurality of leaf nodes contain the set of results.

11. The apparatus of claim 8 , the processing device to perform the multiple calculations on the facts at the multi-result set calculation node.

12. The apparatus of claim 8 , wherein the processing device results of the multiple calculations performed at the multi-result set calculation node using a virtual result type.

13. The apparatus of claim 8 , wherein the plurality of rules comprise a plurality of business rules.

14. The apparatus of claim 8 , wherein the network comprises a Rete network.

15. A non-transitory computer-readable storage medium embodying instructions that, when executed by a processing device, will cause the processing device to perform operations comprising:

compiling, by a rule engine running on the processing device, a plurality of rules to build a network to evaluate facts against the plurality of rules, wherein a rule of the plurality of rules requires multiple calculations to be executed for a set of facts; and

creating, by the rule engine, a single multi-result set calculation node for the rule, the multi-result set calculation node to generate a set of results and to add the set of results to a tuple to be propagated to a second node connected to an output of the multi-result set calculation node.

16. The computer-readable storage medium of claim 15 , wherein the tuple comprises a multi-dimensional tuple.

17. The computer-readable storage medium of claim 15 , wherein an element of the tuple comprises a tree structure having a plurality of leaf nodes, and the plurality of leaf nodes contain the set of results.

18. The computer-readable storage medium of claim 15 , wherein the operations further comprise:

performing, by the rule engine, the multiple calculations on the facts at the multi-result set calculation node.

19. The computer-readable storage medium of claim 15 , wherein the operations further comprise:

constraining, by the rule engine, results of the multiple calculations performed at the multi-result set calculation node using a virtual result type.

20. The computer-readable storage medium of claim 15 , wherein the rule is a business rule and the rule engine comprises a Rete rule engine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2010
From: PROCTOR, MARK; TIRELLI, EDSON
To: RED HAT, INC.
Reel/Frame 025445/0187 →
Continuity (1)
Related Publication 20120143812A1 · Jun 7, 2012