US2011246408A1PendingUtilityA1

Rules Engine for Enterprise System

Assignee: PAYMO INCPriority: Jan 19, 2006Filed: Jun 7, 2011Published: Oct 6, 2011
Est. expiryJan 19, 2026(expired)· nominal 20-yr term from priority
G06Q 10/10G06N 5/04
47
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An example embodiment provides a process relating to an inference engine for enterprise systems and enterprise contracts. In the example, the inference engine receives a fact and stores it in an input queue. Then the inference engine retrieves the fact from the input queue and routes the fact to a schedule queue on the basis of the fact's processing schedule and a condition that is part of a rule. The inference engine retrieves the fact from the schedule queue in accordance with the processing schedule and routes the fact to a rule executer on the basis of the fact's contents. The rule executer applies an action to the fact, where the action is also part of the rule and the action transforms the fact or creates new facts. Then the inference engine routes the transformed fact or new facts to the input queue and possibly to a persistent storage device.

Claims

exact text as granted — not AI-modified
1 . A method, comprising:
 queuing, in a first input queue, facts that are received for processing by an inference engine and facts that have been processed by rule executers of the inference engine, wherein the inference engine is implemented on a cluster of computers;   routing, by a router of the inference engine, facts from the first input queue, into a plurality of second input queues based on pre-specified conditions associated with the second input queues;   processing, by the rule executers, facts in the second input queues, wherein results of the processing is routed to the first input queue.   
     
     
         2 . The method of  claim 1 , further comprising:
 routing, by the router of the inference engine, facts that meet a condition for persistent storage from the first input queue to a queue for a saver coupled to a database.   
     
     
         3 . The method of  claim 2 , wherein the router is configured to route facts from the first input queue to the plurality of second input queues based on predetermined processing schedules associated the second input queues. 
     
     
         4 . The method of  claim 3 , wherein the second input queues include a daily queue, wherein facts in the daily queue are scheduled for processing in a daily basis. 
     
     
         5 . The method of  claim 4 , wherein the second input queues further includes a monthly queue, wherein facts in the monthly queue are scheduled for processing in a monthly basis. 
     
     
         6 . The method of  claim 5 , wherein the second input queues further includes a real-time queue, wherein facts in the real-time queue are scheduled for processing in a real-time basis. 
     
     
         7 . The method of  claim 1 , further comprising:
 routing, by a second router of the inference engine, facts from the plurality of second input queues into a plurality of third input queues associated with the plurality of rule executers respectively, wherein each of the rule executers is configured to process facts from a respective one of the third input queues.   
     
     
         8 . The method of  claim 7 , wherein the routing of the facts from the plurality of second input queues into the plurality of third input queues are based on contents of the facts being routed from the plurality of second input queues. 
     
     
         9 . The method of  claim 1 , wherein each of the rule executers is configured to apply an action to an received fact to generate one or more second facts for the first input queue. 
     
     
         10 . The method of  claim 1 , wherein each of facts in the first input queue is configured as a message in an Extensible Markup Language. 
     
     
         11 . The method of  claim 10 , wherein each of the second input queues is implemented via Java Message Service. 
     
     
         12 . The method of  claim 1 , wherein the inference engine comprises a contract execution engine. 
     
     
         13 . The method of  claim 12 , wherein the router of the inference engine is configured to route according to term sets; each of the rule executers includes a term executer; and each of facts in the first input queue includes an event associated with a contract having a term. 
     
     
         14 . The method of  claim 13 , wherein the router of the inference engine is configured to route a respective fact from the first input queue to one of the plurality of second input queues based on a processing schedule for a respective term to be processed for the respective fact. 
     
     
         15 . The method of  claim 13 , further comprising:
 routing, by a second router of the inference engine and based on contents of, facts from the plurality of second input queues into a plurality of third input queues associated with the plurality of rule executers respectively, wherein each of the rule executers is configured to process facts from a respective one of the third input queues.   
     
     
         16 . The method of  claim 15 , wherein the routing by the second router is based at least in part on participants of contracts involved in respective facts that are being routed. 
     
     
         17 . The method of  claim 16 , further comprising:
 retrieving data regarding the participants from a database during the routing of the facts from the first input queue into the plurality of second input queues; and   caching the data.   
     
     
         18 . An apparatus, comprising one or more storage media storing thereon instructions configured to instruct a cluster of computers to:
 queue, in a first input queue, first facts received for processing by an inference engine and second facts having been processed by rule executers of the inference engine, wherein the inference engine is implemented on the cluster of computers;   route, by a router of the inference engine, facts from the first input queue, into a plurality of second input queues based on pre-specified conditions associated with the second input queues;   process, by the rule executers, facts in the second input queues, wherein results of the processing is routed to the first input queue.   
     
     
         19 . An inference engine, comprising:
 a cluster of computers configured to include a first router and a plurality of rule executers;   wherein the inference engine is configured to queue, in a first input queue, facts received for processing by the inference engine and facts having been processed by the rule executers of the inference engine;   wherein the first router of the inference engine is configured to route facts from the first input queue, into a plurality of second input queues based on pre-specified conditions associated with the second input queues; and   wherein the rule executers are configured to process facts in the second input queues to generate facts for the first input queue.   
     
     
         20 . The inference engine of  claim 19 , wherein the cluster of computers are further configured to include a second router; and the second router is configured to route, based on contents of, facts from the plurality of second input queues into a plurality of third input queues associated with the plurality of rule executers respectively, wherein each of the rule executers is configured to process facts from a respective one of the third input queues.

Join the waitlist — get patent alerts

Track US2011246408A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.