Rule compliance system and a rule definition language
First Claim
1. A method for executing a query in a computer to determine security trading compliance with a plurality of rules, said method comprising the steps of:
- loading, into system memory of a computer, a plurality of rules, wherein said rules comprise computer readable instructions for execution in said computer, wherein a query comprises a plurality of parameters and wherein said rules comprise at least one statement for evaluating said parameters of said query;
loading, into said system memory of said computer a plurality of global datum for use in executing said query, including the steps of generating at least one pre-loaded memory table for storage in said system memory and loading said global datum in said pre-loaded memory table, wherein at least one global datum comprises parameters or values used to determine compliance with said rules for said query;
thereafter, receiving at least one query for determining compliance with said rules loaded in said system memory, said query further comprising at least one local datum used to determine compliance of a corresponding query with said rules;
storing said local datum in said system memory of said computer; and
executing, in response to said query, said rules including accessing said system memory to utilize said local datum and said global datum, wherein said computer determines compliance with said rules from said system memory of said computer.
4 Assignments
0 Petitions
Accused Products
Abstract
A rule definition language (“RDL”) and a memory server are used to determine compliance with rules, such as rules used in determining compliance in securities trading. The rules, global data and local data are loaded into system memory of the server. The global datum consists of parameters or values used to determine compliance with said rules. The query, submitted to the memory server, contains the local data that is used to determine compliance of that query with the rules. The query is executed by accessing server memory to utilize the local datum and the global datum, such that the server determines compliance with the rules from the memory of the server. Syntax for the RDL, which permits programming in a manner particularly suitable for compliance checking procedures, is also disclosed.
130 Citations
25 Claims
-
1. A method for executing a query in a computer to determine security trading compliance with a plurality of rules, said method comprising the steps of:
-
loading, into system memory of a computer, a plurality of rules, wherein said rules comprise computer readable instructions for execution in said computer, wherein a query comprises a plurality of parameters and wherein said rules comprise at least one statement for evaluating said parameters of said query;
loading, into said system memory of said computer a plurality of global datum for use in executing said query, including the steps of generating at least one pre-loaded memory table for storage in said system memory and loading said global datum in said pre-loaded memory table, wherein at least one global datum comprises parameters or values used to determine compliance with said rules for said query;
thereafter, receiving at least one query for determining compliance with said rules loaded in said system memory, said query further comprising at least one local datum used to determine compliance of a corresponding query with said rules;
storing said local datum in said system memory of said computer; and
executing, in response to said query, said rules including accessing said system memory to utilize said local datum and said global datum, wherein said computer determines compliance with said rules from said system memory of said computer. - View Dependent Claims (2, 3, 4, 5, 6, 7)
receiving a first set of data for use in executing said query;
calculating, from said first set of data, intermediate data; and
storing said intermediate data in said system memory of said computer for use in determining compliance of queries with said rules.
-
-
3. The method as set forth in claim 1, wherein:
-
generating at least one pre-loaded memory table comprises generating at least one multi-dimensional associative array;
and loading a plurality of global datum for use in executing said query comprises loading said global datum into said multiple dimensional associative array.
-
-
4. The method as set forth in claim 1, wherein the step of loading into system memory a plurality of rules further comprises the steps of:
-
receiving a rule definition language input that defines said plurality of rules; and
compiling said RDL input to generate said computer readable instructions.
-
-
5. The method as set forth in claim 1, further comprising the step of:
receiving periodically updated versions of said global data for use in executing said query.
-
6. The method as set forth in claim 1, wherein:
-
the steps of loading said global datum, said local datum and said rules into system memory of a computer comprises the steps loading said global datum, said local datum and said rules into system memory of a server; and
the step of receiving at least one query for determining compliance with said rules comprises the step of receiving said query from a client computer of said server.
-
-
7. The method as set forth in claim 1 wherein the step of loading a plurality of rules comprises the step of loading compliance rules for security trading.
-
8. A method for specifying rules in a computer implemented security trading compliance system, said method comprising the steps of:
-
providing a syntax in a rule definition language to declare at least one local variable in memory, wherein a local variable comprises a declaration for storage, in system memory, query data for temporary use of said query data during execution of a query; and
providing a syntax in said language to declare at least one global variable, wherein a global variable comprises a declaration for storage, in system memory, data resident for use during execution queries; and
providing a syntax through said language to declare pre-loaded memory tables. - View Dependent Claims (9, 10, 11, 12)
providing a syntax to declare an operation comprising a plurality of Boolean operands to execute a plurality of variables; and
interpreting said syntax to execute Boolean operations subsequent to a final logical determination of said variables.
-
-
11. The method as set forth in claim 8, further comprising the step of providing a syntax to mark a function as mutually exclusive.
-
12. The method as set forth in claim 8, further comprising the step of providing a syntax to mark a function for execution a single time.
-
13. A computer readable medium comprising a plurality of instructions, which when executed by a computer, causes the computer to execute the security trading compliance steps of:
-
loading, into system memory of a computer, a plurality of rules, wherein said rules comprise computer readable instructions for execution in said computer, wherein a query comprises a plurality of parameters and wherein said rules comprise at least one statement for evaluating said parameters of said query;
loading, into said system memory of said computer a plurality of global datum for use in executing said query, including the steps of generating at least one pre-loaded memory table for storage in said system memory and loading said global datum in said pre-loaded memory table, wherein at least one global datum comprises parameters or values used to determine compliance with said rules for said query;
thereafter, receiving at least one query, for determining compliance with said rules loaded in said system memory, said query further comprising at least one local datum used to determine compliance of a corresponding query with said rules;
storing said local datum in said system memory of said computer; and
executing, in response to said query, said rules including accessing said system memory to utilize said local datum and said global datum, wherein said computer determines compliance with said rules from said system memory of said computer. - View Dependent Claims (14, 15, 16, 17, 18, 19)
receiving a first set of data for use in executing said query;
calculating, from said first set of data, intermediate data; and
storing said intermediate data in said system memory of said computer for use in determining compliance of queries with said rules.
-
-
15. The computer readable medium as set forth in claim 13, wherein;
-
generating at least one pre-loaded memory table comprises generating at least one multi-dimensional associative array; and
loading a plurality of global datum for use in executing said query comprises loading said global datum into said multiple dimensional associative array.
-
-
16. The computer readable medium as set forth in claim 13, wherein the step of loading into system memory a plurality of rules further comprises the steps of:
-
receiving a rule definition language input that defines said plurality of rules; and
compiling said RDL input to generate said computer readable instructions.
-
-
17. The computer readable medium as set forth in claim 13, further comprising the step of:
receiving periodically updated versions of said global data for use in executing said query.
-
18. The computer readable medium as set forth in claim 13, wherein:
-
the steps of loading said global datum, said local datum and said rules into system memory of a computer comprises the steps loading said global datum, said local datum and said rules into system memory of a server; and
the step of receiving at least one query for determining compliance with said rules comprises the step of receiving said query from a client computer of said server.
-
-
19. The computer readable medium as set forth in claim 13, wherein the step of loading a plurality of rules comprises the step of loading compliance rules for security trading.
-
20. A computer readable medium comprising a plurality of instructions, which when executed by a computer, causes tile computer to execute the security trading compliance steps of:
-
providing a syntax in a rule definition language to declare at least one local variable in memory, wherein a local variable comprises a declaration for storage, in system memory, query data for temporary use of said query data during execution of a query;
providing a syntax in said language to declare at least one global variable, wherein a global variable comprises a declaration for storage, in system memory, data resident for use during execution queries; and
providing a syntax through said language to declare pre-loaded memory tables. - View Dependent Claims (21, 22, 23, 24)
providing a syntax to declare an operation comprising a plurality of Boolean operands to execute a plurality of variables; and
interpreting said syntax to execute Boolean operations subsequent to a final logical determination of said variables.
-
-
23. The computer readable medium as set forth in claim 20, further comprising the step of providing a syntax to mark a function as mutually exclusive.
-
24. The computer readable medium asset forth in claim 20, further comprising the step of providing a syntax to mark a function for execution a single time.
-
25. A server for security trading compliance comprising:
-
system memory comprising at least one pre-loaded memory table, a plurality of rules and a plurality of global datum, wherein said rules comprise computer readable instructions for execution in said computer and at least one global datum comprises parameters or values used to determine compliance with said rules wherein a query comprises a plurality of parameters and wherein said rules comprise at least one statement for evaluating said parameters of said query, said system memory for storing said global datum in said pre-loaded memory table;
a port for receiving, after loading said rules, local datum and global datum, at least one query for determining compliance with said rules, said query comprising at least one local datum used to determine compliance of a corresponding query with said rules;
said system memory for storing said local datum; and
processor unit for executing, in response to said query, said rules including accessing said system memory to utilize said local datum and said global datum, wherein said server determines compliance with said rules from said system memory of said computer.
-
Specification