Dynamic external control of rule-based decision making through user rule inheritance for database performance optimization
First Claim
1. In a computer controlled database system having a processor coupled to a bus and a memory coupled to said bus, a method for tailoring hardcoded rules for a database environment, said method comprising the steps of:
- a) storing into said memory a parent-child hierarchy of objects of said database system wherein said parent-child hierarchy comprises a root object, parent objects, and child objects, wherein each child object has one parent object and wherein each parent object has one or more child objects;
b) defining a plurality of user rules applicable to said database environment wherein, for each respective user rule, each object of said parent-child hierarchy either contains an explicit user rule definition for said respective user rule or inherits its definition for said respective user rule from its closest ancestor object having an explicit user rule definition for said respective user rule;
c) accessing from said memory a plurality of hardcoded rules which, when executed, tune said database system by operating on objects of said parent-child hierarchy wherein respective hardcoded rules each have at least one user rule defined therein; and
d) performance tuning said database system to said database environment by executing said plurality of hardcoded rules, wherein the execution of a respective hardcoded rule on a respective object is preceded by the execution of an identified user rule defined with respect to said respective object and which supplies a value used to influence execution of said respective hardcoded rule.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for providing persistent, dynamic external control of rule-based decision making through inherited user defined rules (UDRs) within a computer controlled relational database management system (RDBMs). Within the novel system, objects are grouped together in a parent-child hierarchy where a child has one parent and each parent can have multiple children. Each object can have one or more pre-defined ("hardcoded") rules associated with it; these hardcoded rules are executed in a sequence to arrive at parameter values which, when applied, tune the database environment. The novel system provides a mechanism for creating UDRs which are associated with a particular object and used by particular hardcoded rules which process the particular object. For a given hardcoded rule, if a processed object does not have a UDR defined within, then a search is made up the object'"'"'s ancestry (e.g., its parentage) until a defined UDR is located within an ancestor object; this value is then used to modify the behavior of the hardcoded rule. The root of the object hierarchy contains defined UDRs ("base UDRs") for all hardcoded rules, so the above search is effective for all user rules. Before a hardcoded rule is executed, it automatically allows its associated UDR to customize data and/or execute a procedure. The UDRs offer a mechanism for customizing the performance tuning session based on external (user supplied) information and defining the scope of the attribute represented by the UDR from different levels of the object hierarchy.
49 Citations
16 Claims
-
1. In a computer controlled database system having a processor coupled to a bus and a memory coupled to said bus, a method for tailoring hardcoded rules for a database environment, said method comprising the steps of:
-
a) storing into said memory a parent-child hierarchy of objects of said database system wherein said parent-child hierarchy comprises a root object, parent objects, and child objects, wherein each child object has one parent object and wherein each parent object has one or more child objects; b) defining a plurality of user rules applicable to said database environment wherein, for each respective user rule, each object of said parent-child hierarchy either contains an explicit user rule definition for said respective user rule or inherits its definition for said respective user rule from its closest ancestor object having an explicit user rule definition for said respective user rule; c) accessing from said memory a plurality of hardcoded rules which, when executed, tune said database system by operating on objects of said parent-child hierarchy wherein respective hardcoded rules each have at least one user rule defined therein; and d) performance tuning said database system to said database environment by executing said plurality of hardcoded rules, wherein the execution of a respective hardcoded rule on a respective object is preceded by the execution of an identified user rule defined with respect to said respective object and which supplies a value used to influence execution of said respective hardcoded rule. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a database system, a method of performance tuning attributes organized within objects of a parent-child hierarchy of objects, said method comprising the steps of:
-
a) defining a plurality of user rules applicable to a database environment within said parent-child hierarchy of objects wherein, for each respective user rule, each object of said parent-child hierarchy either contains an explicit user rule definition for said respective user rule or inherits its definition for said respective user rule from its closest ancestor object having an explicit user rule definition for said respective user rule; and b) performance tuning said database system to said database environment by executing a plurality of hardcoded rules, wherein the execution of a respective hardcoded rule on a respective object is preceded by the execution of an identified user rule defined with respect to said respective object and which supplies a value used to influence execution of said respective hardcoded rule, said step b) comprising the steps of; b1) determining if said identified user rule is explicitly defined within said respective object; b2) responsive to said b1), provided said identified user rule is so explicitly defined, returning said identified user rule for said respective object; and b3) responsive to step b1), provided said identified user rule is not so explicitly defined, searching up ancestor objects from said respective object within said parent-child hierarchy until said identified user rule is explicitly defined within an ancestor object and thereupon returning said identified user rule for said respective object. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer readable medium containing program instructions stored therein that implement a method a method of performance tuning attributes organized within a parent-child hierarchy of objects, said instructions implementing the steps of:
-
a) defining a plurality of user rules applicable to a database environment within said parent-child hierarchy of objects wherein, for each respective user rule, each object of said parent-child hierarchy either contains an explicit user rule definition for said respective user rule or inherits its definition for said respective user rule from its closest ancestor object having an explicit user rule definition for said respective user rule; and b) performance tuning said database system to said database environment by executing a plurality of hardcoded rules, wherein the execution of a respective hardcoded rule on a respective object is preceded by the execution of an identified user rule defined with respect to said respective object and which supplies a value used to influence execution of said respective hardcoded rule, said step b) comprising the steps of; b1) determining if said identified user rule is explicitly defined within said respective object; b2) responsive to said b1), provided said identified user rule is so explicitly defined, returning said identified user rule for said respective object; and b3) responsive to step b1), provided said identified user rule is not so explicitly defined, searching up ancestor objects from said respective object within said parent-child hierarchy until said identified user rule is explicitly defined within an ancestor object and thereupon returning said identified user rule for said respective object. - View Dependent Claims (13, 14, 15, 16)
-
Specification