IP Library Granted Patent US 11,928,609
Granted Patent B2
US 11,928,609 · App. 17/099,861 · Granted Mar 12, 2024

Node sharing for a rule engine coded in a compiled language

Inventors: Luca Molteni (Milan, IT); Mark Proctor (London, GB)
Assignee: RED HAT, INC.
G06N5/047G06F8/35G06N5/022G06N5/025
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 11,928,609
App. No.
17/099,861
Granted
Mar 12, 2024
Kind
B2
Abstract

Aspects and features of the present disclosure can reconcile node sharing within a production rule network that is fully coded in a compiled language. As an example, the shared, stateless class can represent constraints shared by the alpha node of a rete network. Code can be post processed to create a shared stateless class defined in memory. When the rule engine is executed and the rule network is produced, the shared stateless class can be referenced to evaluate a constraint shared by a node of the production rule network, reducing the number of classes stored in memory. Garbage collection can be used within the shared stateless class, deleting objects from memory structure when no longer used, further improving storage efficiency.

Claims (37)

1. A system comprising:

a processor device; and

at least one memory device including instructions that are executable by the processor device for causing the processor device to perform operations comprising:

defining a constraint using a lambda expression;

calculating a digital fingerprint based on the constraint;

producing, using the digital fingerprint, a shared stateless class for a production rule engine represented in a compiled language;

executing the production rule engine to store a production rule network and the shared stateless class in the at least one memory device, the production rule network including a node configured to share the constraint; and

referencing the shared stateless class to evaluate the constraint shared by the node.

2. The system of claim 1 , wherein the digital fingerprint is based on a body of the constraint.

3. The system of claim 2 , wherein the operations further comprise interpreting an enumeration pattern for the production rule engine, and wherein the shared stateless class is based on the enumeration pattern and the digital fingerprint.

4. The system of claim 3 , wherein the shared stateless class comprises a single-instance class for the production rule engine represented in the compiled language.

5. The system of claim 1 , wherein the production rule network comprises a rete network and the node comprises an alpha node in the rete network.

6. The system of claim 5 , wherein the compiled language is a domain-specific language.

7. The system of claim 1 , wherein the operations further comprise deleting an object created in the shared stateless class from the at least one memory device based on usage of the object.

8. A method comprising:

defining, by a processor device using a lambda expression, a constraint;

calculating, by the processor device, a digital fingerprint for the constraint;

producing, by the processor device using the digital fingerprint, a shared stateless class for a production rule engine represented in a compiled language;

executing, by the processor device, the production rule engine to store a production rule network and the shared stateless class in memory, the production rule network including a node configured to share the constraint; and

referencing, by the processor device, the shared stateless class to evaluate the constraint shared by the node.

9. The method of claim 8 , further comprising interpreting an enumeration pattern for the production rule engine, wherein the shared stateless class is based on the enumeration pattern and the digital fingerprint.

10. The method of claim 9 , wherein the shared stateless class comprises a single-instance class for the production rule engine represented in the compiled language.

11. The method of claim 8 , wherein the production rule network comprises a rete network and the node comprises an alpha node in the rete network.

12. The method of claim 11 , wherein the compiled language is a domain-specific language.

13. The method of claim 8 , further comprising deleting an object created in the shared stateless class from the memory based on usage of the object.

14. A non-transitory computer-readable medium comprising program instructions that are executable by a processor device for causing the processor device to:

define a constraint using a lambda expression;

calculate a digital fingerprint for the constraint;

produce, using the digital fingerprint, a shared stateless class for a production rule engine represented in a compiled language;

execute the production rule engine to store a production rule network and the shared stateless class in memory, the production rule network including a node configured to share the constraint; and

reference the shared stateless class to evaluate the constraint shared by the node.

15. The non-transitory computer-readable medium of claim 14 , wherein the digital fingerprint is based on a body of the constraint.

16. The non-transitory computer-readable medium of claim 15 , wherein the program instructions are executable for causing the processor device to interpret an enumeration pattern for the production rule engine, and wherein the shared stateless class is based on the enumeration pattern and the digital fingerprint.

17. The non-transitory computer-readable medium of claim 16 , wherein the shared stateless class comprises a single-instance class for the production rule engine represented in the compiled language.

18. The non-transitory computer-readable medium of claim 14 , wherein the production rule network comprises a rete network and the node comprises an alpha node in the rete network.

19. The non-transitory computer-readable medium of claim 18 , wherein the compiled language is a domain-specific language.

20. The non-transitory computer-readable medium of claim 14 , wherein the program instructions are executable for causing the processor device to delete an object created in the shared stateless class from the memory based on usage of the object.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2020
From: MOLTENI, LUCA; PROCTOR, MARK
To: RED HAT, INC.
Reel/Frame 054385/0241 →