Extensible rules engine in a database management system
First Claim
1. A method for evaluating rules in a database system, the method comprising the steps of:
- receiving, at the database system and from a particular application, an evaluation context;
wherein the evaluation context specifies a definition of a data object associated with the particular application;
receiving, at the database system and from the particular application, a set of one or more rules;
wherein each rule in the set of one or more rules includes at least one rule condition;
wherein a particular rule in the set of one of more rules includes a particular rule condition that references said data object;
within the database system, (a) selecting the evaluation context, from a plurality of available evaluation contexts, as the evaluation context to use to evaluate the particular rule, (b) using the evaluation context to determine the definition of the data object, and (c) evaluating the particular rule against the data object based on the definition of the data object, to determine whether the particular rule condition is satisfied; and
sending, from the database system to the particular application, an indication of whether the particular rule condition is satisfied.
1 Assignment
0 Petitions
Accused Products
Abstract
An extensible rules engine that uses database technology provides a rules evaluation service for applications external to the database server or database management system. Applications are able to utilize the rules engine to provide alternative behaviors based on information against which specified conditions are evaluated. A framework is provided for specifying data definitions that can be referenced by user-defined rules, through creation and use of an evaluation context. Application-specific data types can be defined by specifying data tables and/or variables that can be referenced by rules created for evaluation against data that is associated with the evaluation context. The data against which rules are evaluated can be provided as an in-memory object. A security model is provided in which the privilege to create rules according to a particular evaluation context is controlled by one privilege, whereas the privilege to access underlying tables or variables is controlled by another privilege.
-
Citations
27 Claims
-
1. A method for evaluating rules in a database system, the method comprising the steps of:
-
receiving, at the database system and from a particular application, an evaluation context; wherein the evaluation context specifies a definition of a data object associated with the particular application; receiving, at the database system and from the particular application, a set of one or more rules; wherein each rule in the set of one or more rules includes at least one rule condition; wherein a particular rule in the set of one of more rules includes a particular rule condition that references said data object; within the database system, (a) selecting the evaluation context, from a plurality of available evaluation contexts, as the evaluation context to use to evaluate the particular rule, (b) using the evaluation context to determine the definition of the data object, and (c) evaluating the particular rule against the data object based on the definition of the data object, to determine whether the particular rule condition is satisfied; and sending, from the database system to the particular application, an indication of whether the particular rule condition is satisfied. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. An apparatus for evaluating rules in a database system, the apparatus comprising:
-
one or more processors; memory, operatively coupled to the one or more processors; means for receiving, at the database system and from a particular application, an evaluation context; wherein the evaluation context specifies a definition of a data object associated with the particular application; means for receiving, at the database system and from the particular application, a set of one or more rules; wherein each rule in the set of one or more rules includes at least one rule condition; wherein a particular rule in the set of one of more rules includes a particular rule condition that references said data object; means, within the database system, for (a) selecting the evaluation context, from a plurality of available evaluation contexts, as the evaluation context to use to evaluate the particular rule, (b) using the evaluation context to determine the definition of the data object, and (c) evaluating the particular rule against the data object based on the definition of the data object, to determine whether the particular rule condition is satisfied; and means for sending, from the database system to the particular application, an indication of whether the particular rule condition is satisfied.
-
Specification