DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This Office Action is in response to application filed on March 25, 2024.
Claims 1-20 are pending.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 9-16 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 9 recites the limitation "a new processing rules" (plural) in 5 and “the new processing rule” (singular) in lines 13-16. There is insufficient antecedent basis for this limitation in the claim. In the interest of compact prosecution, the Examiner subsequently interprets this limitation as reading “a new processing rule” in line 5 for the purpose of further examination.
Claims 10-16 depend on the rejected claims and do not resolve the deficiencies and thus, are rejected for at least the same reasons.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention recites a judicial exception, is directed to that judicial exception, an abstract idea, as it has not been integrated into practical application and the claims further do not recite significantly more than the judicial exception. Examiner has evaluated the claims under the framework provided in the 2019 Patent Eligibility Guidance published in the Federal Register 01/07/2019 and has provided such analysis below.
Step 1: Claims 1-8 are directed to a system and fall within the statutory category of machines; Claims 9-16 is directed to a non-transitory computer readable medium and fall within the statutory category of articles of manufacture; and Claims 17-20 are directed to methods and fall within the statutory category of processes. Therefore, “Are the claims to a process, machine, manufacture or composition of matter?” Yes.
In order to evaluate the Step 2A inquiry “Is the claim directed to a law of nature, a natural phenomenon or an abstract idea?” we must determine, at Step 2A Prong 1, whether the claim recites a law of nature, a natural phenomenon or an abstract idea and further whether the claim recites additional elements that integrate the judicial exception into a practical application.
Step 2A Prong 1:
Claim 1: The limitation “extract a set of conditional variables from the set of processing rules included in the data file”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe, judge and evaluate a data file and mentally extract, with or without the use of pen and paper, a set of conditional variables from the set of processing rules included in the data file. The limitation “determine a set of possible values for the set of conditional variables”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe, judge and evaluate a set of conditional variables and mentally determine, with or without the use of pen and paper, a set of possible values for the set of conditional variables.
The limitation “generate a set of test cases, wherein a test case, of the set of test cases, represents a combination of a plurality of values, of the set of possible values, for the set of conditional variables”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe, judge and evaluate a set of conditional variables and mentally generate, with or without the use of pen and paper, a set of test cases, wherein a test case, of the set of test cases, represents a combination of a plurality of values, of the set of possible values, for the set of conditional variables. The limitation “evaluate, using the set of test cases, the set of processing rules to identify one or more error cases associated with one or more processing rules of the set of processing rules”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe, judge and evaluate a set of test cases and mentally evaluate, with or without the use of pen and paper, a set of processing rules to identify one or more error cases associated with one or more processing rules of the set of processing rules using the set of test cases.
Claim 9: The limitation “extract a set of conditional variables from the set of processing rules included in the data file and the new processing rule”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe, judge and evaluate a data file and mentally extract, with or without the use of pen and paper, a set of conditional variables from the set of processing rules included in the data file and the new processing rule. The limitation “determine a set of possible values for the set of conditional variables”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe, judge and evaluate a set of conditional variables and mentally determine, with or without the use of pen and paper, a set of possible values for the set of conditional variables.
The limitation “generate a set of test cases, wherein a test case, of the set of test cases, represents a combination of a plurality of values, of the set of possible values, for the set of conditional variables”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe, judge and evaluate a set of conditional variables and mentally generate, with or without the use of pen and paper, a set of test cases, wherein a test case, of the set of test cases, represents a combination of a plurality of values, of the set of possible values, for the set of conditional variables. The limitation “evaluate, using the set of test cases, the set of processing rules and the new processing rule to identify one or more error cases associated with the new processing rule”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe, judge and evaluate a set of test cases and mentally evaluate, with or without the use of pen and paper, a set of processing rules and a new processing rule to identify one or more error cases associated with the new processing rule using the set of test cases.
The limitation “selectively add the new processing rule to the data file based on evaluating the set of processing rules”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe, judge and evaluate an evaluation of a set of processing rules and mentally add, with or without the use of pen and paper, selectively, a new processing rule to the data file based on the evaluating of the set of processing rules.
Claim 17: The limitation “extracting, by the rule evaluation system, a set of conditional variables from the set of processing rules included in the data file”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe, judge and evaluate a data file and mentally extract, with or without the use of pen and paper, a set of conditional variables from the set of processing rules included in the data file. The limitation “determining, by the rule evaluation system, a set of possible values for the set of conditional variables”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe, judge and evaluate a set of conditional variables and mentally determine, with or without the use of pen and paper, a set of possible values for the set of conditional variables.
The limitation “generating, by the rule evaluation system, a set of test cases, wherein a test case, of the set of test cases, represents a combination of a plurality of values, of the set of possible values, for the set of conditional variables”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe, judge and evaluate a set of conditional variables and mentally generate, with or without the use of pen and paper, a set of test cases, wherein a test case, of the set of test cases, represents a combination of a plurality of values, of the set of possible values, for the set of conditional variables. The limitation “evaluating, by the rule evaluation system and using the set of test cases, the set of processing rules to identify one or more error cases associated with one or more processing rules of the set of processing rules”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe, judge and evaluate a set of processing rules and mentally identify, with or without the use of pen and paper, one or more error cases associated with one or more processing rules of the set of processing rules using the set of test cases.
Therefore, Yes, claims 1, 9 and 17 recite judicial exceptions.
The claims have been identified to recite judicial exceptions, Step 2A Prong 2 will evaluate whether the claims are directed to the judicial exception.
Step 2A Prong 2:
Claim 1: The judicial exception is not integrated into a practical application. In particular, the claim recites the following additional elements –“one or more memories; and one or more processors, communicatively coupled to the one or more memories,
configured to:…” which are merely recitations of generic computing components and functions being used as a tool to apply the abstract idea (see MPEP § 2106.05(f)) which does not integrate a judicial exception into practical application. Further, claim 1 recites the following additional elements – “receive a data file including a set of processing rules for processing a dataset” and “transmit information identifying the one or more processing rules associated with the one or more error cases” which are merely recitation of insignificant data gathering activity (see MPEP § 2106.05(g)) which does not integrate a judicial exception into practical application and will also be addressed below in Step 2B as also being Well-Understood, Routine and Conventional.
Claim 9: The judicial exception is not integrated into a practical application. In particular, the claim recites the following additional elements –“ A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising…” and “one or more instructions that, when executed by one or more processors of a system, cause the system to:..” which are merely recitations of generic computing components and functions being used as a tool to apply the abstract idea (see MPEP § 2106.05(f)) which does not integrate a judicial exception into practical application. Further, claim 9 recites the following additional elements – “receive a new processing rules for inclusion in a data file, wherein the data file includes a set of processing rules for processing a dataset” which is merely a recitation of insignificant data gathering activity (see MPEP § 2106.05(g)) which does not integrate a judicial exception into practical application and will also be addressed below in Step 2B as also being Well-Understood, Routine and Conventional.
Claim 17: The judicial exception is not integrated into a practical application. In particular, the claim recites the following additional elements –“a rule evaluation system” which is merely a recitation of generic computing components and functions being used as a tool to apply the abstract idea (see MPEP § 2106.05(f)) which does not integrate a judicial exception into practical application. Further, claim 17 recites the following additional elements – “receiving, by a rule evaluation system, a data file including a set of processing rules for processing a dataset” and “providing, by the rule evaluation system, output identifying a result of evaluating the set of processing rules” which are merely recitation of insignificant data gathering and output activity (see MPEP § 2106.05(g)) which does not integrate a judicial exception into practical application and will also be addressed below in Step 2B as also being Well-Understood, Routine and Conventional.
Therefore, “Do the claims recite additional elements that integrate the judicial exception into a practical application? No, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
After having evaluating the inquires set forth in Steps 2A Prong 1 and 2, it has been concluded that claims 1, 9 and 17 not only recite a judicial exception but that the claims are directed to the judicial exception as the judicial exception has not been integrated into a practical application.
Step 2B:
Claims 1, 9 and 17: The claims do not include additional elements, alone or in combination, that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements amount to no more than generic computing components and mere instructions to apply an exception which do not amount to significantly more than the abstract idea. Moreover, the recitations of insignificant data gathering and output activity as also Well-Understood, Routine and Conventional. See at least MPEP § 2106.05(d)(II) “The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. Receiving or transmitting data over a network, e.g., using the Internet to gather data”. That is, in the instant claims these limitations merely receive or transmit/provide or output data which is Well-Understood, Routine and Conventional.
Therefore, “Do the claims recite additional elements that amount to significantly more than the judicial exception? No, these additional elements, alone or in combination, do not amount to significantly more than the judicial exception.
Having concluded analysis within the provided framework, Claims 1, 9 and 17 do not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 2, it recites additional abstract idea recitations of “insert, for a particular test case of the set of test cases, a particular set of values associated with the particular test case” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a particular test case, just as in the independent claims above, mentally insert, with or without the use of pen and paper, for the particular test case of the set of test cases, a particular set of values associated with the particular test case. Further, claim 2 recites additional abstract idea recitations of “identify, for the set of processing rules, a subset of processing rules for which the particular set of values are applicable” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a set of processing rules, just as in the independent claims above, mentally identify, with or without the use of pen and paper, for the set of processing rules, a subset of processing rules for which the particular set of values are applicable. Further still, claim 2 recites additional abstract idea recitations of “store, for the subset of processing rules, an indicator that the particular test case included the particular set of values that are applicable to the subset of processing rules” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a particular test case, just as in the independent claims above, mentally store, with or without the use of pen and paper, an indicator that the particular test case included the particular set of values that are applicable to the subset of processing rules. Further still, claim 2 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 2 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 2 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 3, it recites additional abstract idea recitations of “detect an error case, of the one or more error cases, based on a quantity of instances of a particular processing rule, of the one or more processing rules, being executed satisfying a threshold” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a particular processing rule, just as in the independent claims above, mentally detect, with or without the use of pen and paper, an error case, of the one or more error cases, based on a quantity of instances of the particular processing rule, of the one or more processing rules, being executed satisfying a threshold. Further, claim 3 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 3 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 3 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 4, it recites additional abstract idea recitations of “remove the one or more processing rules from the data file to generate a new data file” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate one or more processing rules, just as in the independent claims above, mentally remove, with or without the use of pen and paper, the one or more processing rules from the data file to generate a new data file. Further, claim 4 recites additional element of “transmit the new data file” which is merely an insignificant data gathering activity (see MPEP § 2106.05(g)) which does not integrate a judicial exception into practical application and is also Well-Understood, Routine and Conventional. See at least MPEP § 2106.05(d)(II) “The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. Receiving or transmitting data over a network, e.g., using the Internet to gather data”. That is, in the instant claims these limitations merely receive or transmit/provide data which is Well-Understood, Routine and Conventional. Further still, claim 4 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 4 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 4 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 5, it recites additional abstract idea recitations of “determine that a group of one or more values, of the set of possible values, is applicable to both a first processing rule, of the set of processing rules, and a second processing rule, of the set of processing rules” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a first and second processing rule, just as in the independent claims above, mentally determine, with or without the use of pen and paper, that a group of one or more values, of the set of possible values, is applicable to both the first processing rule, of the set of processing rules, and the second processing rule, of the set of processing rules. Further, claim 5 recites additional abstract idea recitations of “detect an error case, of the one or more error cases, for the first processing rule and the second processing rule based on determining that the group of one or more values is applicable to both the first processing rule and the second processing rule” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a first and second processing rule, just as in the independent claims above, mentally detect, with or without the use of pen and paper, an error case, of the one or more error cases, for the first processing rule and the second processing rule based on determining that the group of one or more values is applicable to both the first processing rule and the second processing rule. Further still, claim 5 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 5 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 5 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 6, it recites additional abstract idea recitations of “determine a relationship between a first conditional variable, of the set of conditional variables, and a second conditional variable, of the set of conditional variables” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a set of conditional variables, just as in the independent claims above, mentally determine, with or without the use of pen and paper, a relationship between a first conditional variable, of the set of conditional variables, and a second conditional variable, of the set of conditional variables. Further, claim 6 recites additional abstract idea recitations of “determine a group of possible values for the second conditional variable based on the relationship between the first conditional variable and the second conditional variable” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a first and second conditional variables, just as in the independent claims above, mentally determine, with or without the use of pen and paper, a group of possible values for the second conditional variable based on the relationship between the first conditional variable and the second conditional variable. Further still, claim 6 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 6 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 6 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 7, it recites additional abstract idea recitations of “divide the data file into a plurality of sub-files based on at least one conditional variable, of the set of conditional variables” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a data file, just as in the independent claims above, mentally divide, with or without the use of pen and paper, the data file into a plurality of sub-files based on at least one conditional variable, of the set of conditional variables. Further, claim 7 recites additional abstract idea recitations of “determine a plurality of sets of possible values for the plurality of sub-files” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a plurality of sub-files, just as in the independent claims above, mentally determine, with or without the use of pen and paper, a plurality of sets of possible values for the plurality of sub-files. Further still, claim 7 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 7 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 7 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 8, it recites additional element of “evaluate a first subset of processing rules of a first sub-file, of the plurality of sub-files, in parallel with evaluating a second subset of processing rules of a second sub-file of the plurality of sub-files” which is merely a recitation of generic computing components and functions being used as a tool to apply the abstract idea (see MPEP § 2106.05(f)) which does not integrate a judicial exception into practical application and does not amount to significantly more. Further still, claim 8 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 8 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 8 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 10, it recites additional abstract idea recitations of “evaluate the dataset using the data file based on adding the new processing rule to the data file” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a data set, just as in the independent claims above, mentally evaluate, with or without the use of pen and paper, the dataset using the data file based on adding the new processing rule to the data file. Further, claim 10 recites additional element of “transmit an output identifying a result of evaluating the dataset” which is merely an insignificant data gathering activity (see MPEP § 2106.05(g)) which does not integrate a judicial exception into practical application and is also Well-Understood, Routine and Conventional. See at least MPEP § 2106.05(d)(II) “The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. Receiving or transmitting data over a network, e.g., using the Internet to gather data”. That is, in the instant claims these limitations merely receive or transmit/provide data which is Well-Understood, Routine and Conventional. Further still, claim 10 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 10 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 10 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 11, it recites additional abstract idea recitations of “identify a combination of values, of the set of possible values, that is not applicable to any processing rule, of the set of processing rules and the new processing rule” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a set of possible values, just as in the independent claims above, mentally identify, with or without the use of pen and paper, a combination of values, of the set of possible values, that is not applicable to any processing rule, of the set of processing rules and the new processing rule. Further, claim 11 recites additional abstract idea recitations of “detect an error case for the combination of values” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a combination of values, just as in the independent claims above, mentally detect, with or without the use of pen and paper, an error case for the combination of values. Further still, claim 11 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 11 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 11 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 12, it recites additional abstract idea recitations of “detect an error case, of the one or more error cases, relating to an ordering of the set of processing rules and the new processing rule” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate one or more error cases, just as in the independent claims above, mentally detect, with or without the use of pen and paper, an error case, of the one or more error cases, relating to an ordering of the set of processing rules and the new processing rule. Further, claim 12 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 12 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 12 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 13, it recites additional abstract idea recitations of “detect an error case, of the one or more error cases, relating to a redundancy between the set of processing rules and the new processing rule” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate one or more error cases, just as in the independent claims above, mentally detect, with or without the use of pen and paper, an error case, of the one or more error cases, relating to a redundancy between the
set of processing rules and the new processing rule. Further, claim 13 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 13 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 13 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 14, it recites additional abstract idea recitations of “evaluate the set of processing rules and the new processing rule based on a prioritization of the set of processing rules and the new processing rule” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate set of processing rules and a new processing rule, just as in the independent claims above, mentally evaluate, with or without the use of pen and paper, the set of processing rules and the new processing rule based on a prioritization of the set of processing rules and the new processing rule. Further, claim 14 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 14 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 14 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 15, it recites additional abstract idea recitations of “determine a subset of possible values for each processing rule of the set of processing rules and the new processing rule” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate each processing rule of a set of processing rules and a new processing rule, just as in the independent claims above, mentally determine, with or without the use of pen and paper, a subset of possible values for each processing rule of the set of processing rules and the new processing rule. Further, claim 15 recites additional abstract idea recitations of “generate a set of combinations of the subset of possible values” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a subset of possible values, just as in the independent claims above, mentally generate, with or without the use of pen and paper, a set of combinations of the subset of possible values. Further still, claim 15 recites additional abstract idea recitations of “add the set of combinations to the set of possible values for the set of processing rules” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a set of combinations, just as in the independent claims above, mentally add, with or without the use of pen and paper, the set of combinations to a set of possible values for a set of processing rules. Further still, claim 15 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 15 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 15 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 16, it recites additional abstract idea recitations of “determine the set of possible values for the set of processing rules and the new processing rule” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate each processing rule of a set of processing rules and a new processing rule, just as in the independent claims above, mentally determine, with or without the use of pen and paper, a set of possible values for the set of processing rules and the new processing rule. Further, claim 16 recites additional abstract idea recitations of “generate a set of combinations of the set of possible values” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a set of possible values, just as in the independent claims above, mentally generate, with or without the use of pen and paper, a set of combinations of the set of possible values. Further still, claim 16 recites additional abstract idea recitations of “add the set of combinations to the set of possible values” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a set of combinations, just as in the independent claims above, mentally add, with or without the use of pen and paper, the set of combinations to a set of possible values. Further still, claim 16 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 16 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 16 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 18, it recites additional abstract idea recitations of “removing one or more processing rules, of the set of processing rules, from the data file to generate a new data file” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a data set, just as in the independent claims above, mentally remove, with or without the use of pen and paper, one or more processing rules, of a set of processing rules, from the data file to generate a new data file. Further, claim 18 recites additional element of “transmit the new data file” which is merely an insignificant data gathering activity (see MPEP § 2106.05(g)) which does not integrate a judicial exception into practical application and is also Well-Understood, Routine and Conventional. See at least MPEP § 2106.05(d)(II) “The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. Receiving or transmitting data over a network, e.g., using the Internet to gather data”. That is, in the instant claims these limitations merely receive or transmit/provide data which is Well-Understood, Routine and Conventional. Further still, claim 18 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 18 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 18 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 19, it recites additional element of “executing a subset of processing rules, of the set of processing rules, on the dataset based on evaluating the set of processing rules” which is merely a recitation of generic computing components and functions being used as a tool to apply the abstract idea (see MPEP § 2106.05(f)) which does not integrate a judicial exception into practical application and does not amount to significantly more. Further, claim 19 recites additional element of “providing the output to identify the result of executing the subset of processing rules” which is merely an insignificant data output activity (see MPEP § 2106.05(g)) which does not integrate a judicial exception into practical application and is also Well-Understood, Routine and Conventional. See at least MPEP § 2106.05(d)(II) “The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. Receiving or transmitting data over a network, e.g., using the Internet to gather data”. That is, in the instant claims these limitations merely transmit/provide or output data which is Well-Understood, Routine and Conventional. Further still, claim 19 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 19 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 19 does not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 20, it recites additional abstract idea recitations of dividing the data file into a plurality of sub-files based on at least one conditional variable, of the set of conditional variables” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a data file, just as in the independent claims above, mentally divide, with or without the use of pen and paper, the data file into a plurality of sub-files based on at least one conditional variable, of the set of conditional variables. Further, claim 20 recites additional abstract idea recitations of “determine a plurality of sets of possible values for the plurality of sub-files” as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about and observe, judge and evaluate a plurality of sub-files, just as in the independent claims above, mentally determine, with or without the use of pen and paper, a plurality of sets of possible values for the plurality of sub-files. Further still, claim 20 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 20 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 20 does not recite patent eligible subject matter under 35 U.S.C. § 101.
Therefore, Claims 1-20 do not recite patent eligible subject matter under 35 U.S.C. §101.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-3, 6, 17 and 19 are rejected under 35 U.S.C. 102(a)(1) and (a)(2) as being anticipated by Chikkala et al. (US 2021/0200665).
With respect to Claim 1, Chikkala et al. disclose:
one or more memories; (see Figure 5; memory 514)
and one or more processors, communicatively coupled to the one or more memories, configured to: (see Figure 5; processor 512)
receive a data file including a set of processing rules for processing a dataset (rules 124 (data file) may correspond to business rules or decision-making rules and expressions for service provider server 110 that provide deterministic outcomes or outputs based on the input for variables of attributes 126 that make up rules 124. Thus, one of rules 124 may be associated with a risk practice, a business practice, an online marketplace platform, a benefit conferrable to users of the service provider system, an advertising strategy, or a promotional program (a set of processing rules for processing a dataset). Each one of rules 124 provides a specific decision based on the input for a user, account, transaction, or other available input data. For example, one of rules 124 may provide a product, an advertisement, a benefit, a risk evaluation, a loan or credit determination, an account establishment determination, an authentication process, or other outcome provided by the services of service provider server 130 (a set of processing rules for processing a dataset), Paragraph 24; a rule for testing in a transaction processor system is received (data file), Paragraph 54)
extract a set of conditional variables from the set of processing rules included in the data file; (variables and a Boolean expression for a rule are determined, which may correspond to the coded expression for the rule that provides an outcome or output based on input data for each of the variables that make up the Boolean expression. Each of these variables is associated with a particular logical statement or Boolean condition that evaluates to be TRUE or FALSE depending on the input data for the variable (e.g., an integer, a specific value, a denomination type, a country of residence, a transaction type or class, etc.) (set of conditional variables), Paragraph 55)
determine a set of possible values for the set of conditional variables; (all of the other variables in the Boolean expression have their values set so that the selected variable is the output of the Boolean expression (determine a set of possible values). In this regard, when a variable is selected, that variable becomes the determining reference variable for the Boolean expression. Therefore, that variable should now be the determining factor of whether the Boolean expression evaluates to be TRUE of FALSE, Paragraphs 56-57)
generate a set of test cases, wherein a test case, of the set of test cases, represents a combination of a plurality of values, of the set of possible values, for the set of conditional variables; (all of the other variables in the Boolean expression have their values set so that the selected variable is the output of the Boolean expression (combination of a plurality of values). In this regard, when a variable is selected, that variable becomes the determining reference variable for the Boolean expression. Therefore, that variable should now be the determining factor of whether the Boolean expression evaluates to be TRUE of FALSE (generating a set of test cases), Paragraphs 56-57)
evaluate, using the set of test cases, the set of processing rules to identify one or more error cases associated with one or more processing rules of the set of processing rules; (a test result is generated for the variable and the values of the other variables. This allows a tester of the rule to view the outcome of a particular variable for the rule and whether that variable is properly functioning within the rule with the other variables (e.g., based on the desired outcome of the rule) (error case if the rule is not properly functioning) , Paragraph 58)
and transmit information identifying the one or more processing rules associated with the one or more error cases. (This allows a tester of the rule to view the outcome of a particular variable for the rule and whether that variable is properly functioning within the rule with the other variables (e.g., based on the desired outcome of the rule), Paragraph 58)
With respect to Claim 2, all the limitations of Claim 1 have been addressed above; and Chikkala et al. further disclose:
wherein the one or more processors, to evaluate the set of processing rules, are configured to:
insert, for a particular test case of the set of test cases, a particular set of values associated with the particular test case; (all of the other variables in the Boolean expression have their values set so that the selected variable is the output of the Boolean expression (combination of a plurality of values). In this regard, when a variable is selected, that variable becomes the determining reference variable for the Boolean expression. Therefore, that variable should now be the determining factor of whether the Boolean expression evaluates to be TRUE of FALSE (generating a set of test cases), Paragraphs 56-57)
identify, for the set of processing rules, a subset of processing rules for which the
particular set of values are applicable; (a rule (subset of processing rules) for testing in a transaction processor system is received. The rule corresponds to some coded expression that evaluates to provide a specific output based on the input data from the system. This input data (particular set of values are applicable) may depend on the application, process, or operation utilizing the rule, as well as the specific input scenario (e.g., a user, item, and merchant within a transaction for electronic processing. For example, a rule may assert whether a transaction is allowed to be processed based on correct input data (e.g., credit card, amount, shipping/billing address, etc.), Paragraph 54)
and store, for the subset of processing rules, an indicator that the particular test case included the particular set of values that are applicable to the subset of processing rules. (Thereafter, at step 412, the rule testing operation iterates through all other variables testing in a similar manner to generate (store) a full set of test results (indicator). This allows a tester of the rule to view the outcome of a particular variable for the rule and whether that variable is properly functioning within the rule with the other variables (e.g., based on the desired outcome of the rule)., Paragraph 58)
With respect to Claim 3, all the limitations of Claim 1 have been addressed above; and Chikkala et al. further disclose:
wherein the one or more processors, to evaluate the set of processing rules, are configured to:
detect an error case, of the one or more error cases, based on a quantity of instances of a particular processing rule, of the one or more processing rules, being executed satisfying a threshold. (a test result (quantity of instances of a particular processing rule) is generated for the variable and the values of the other variables. This allows a tester of the rule to view the outcome of a particular variable for the rule and whether that variable is properly functioning within the rule with the other variables (e.g., based on the desired outcome of the rule), Paragraph 58)
With respect to Claim 6, all the limitations of Claim 1 have been addressed above; and Chikkala et al. further disclose:
wherein the one or more processors, to determine the set of possible values, are configured to:
determine a relationship between a first conditional variable, of the set of conditional variables, and a second conditional variable, of the set of conditional variables; (all of the other variables in the Boolean expression (second conditional variable) have their values set so that the selected variable (first conditional variable) is the output of the Boolean expression (determine a relationship). In this regard, when a variable is selected, that variable becomes the determining reference variable for the Boolean expression. Therefore, that variable should now be the determining factor of whether the Boolean expression evaluates to be TRUE of FALSE. For example, if A is selected in the above example, the other variables' values are set so that only when A is greater than or equal to 5 (thereby making the corresponding Boolean condition TRUE) does the Boolean expression of the rule evaluate to be TRUE, and vice versa for when A is less than 5 (e.g., the Boolean expression now evaluates to be FALSE based on the values set for the rest of the variables)., Paragraph 57)
and determine a group of possible values for the second conditional variable based on the relationship between the first conditional variable and the second conditional variable. (all of the other variables in the Boolean expression (second conditional variable) have their values set (determine a group of possible values) so that the selected variable (first conditional variable) is the output of the Boolean expression (determine a relationship). In this regard, when a variable is selected, that variable becomes the determining reference variable for the Boolean expression. Therefore, that variable should now be the determining factor of whether the Boolean expression evaluates to be TRUE of FALSE. For example, if A is selected in the above example, the other variables' values are set so that only when A is greater than or equal to 5 (thereby making the corresponding Boolean condition TRUE) does the Boolean expression of the rule evaluate to be TRUE, and vice versa for when A is less than 5 (e.g., the Boolean expression now evaluates to be FALSE based on the values set for the rest of the variables)., Paragraph 57)
With respect to Claim 17, Chikkala et al. disclose:
receiving, by a rule evaluation system, a data file including a set of processing rules for processing a dataset; (rules 124 (data file) may correspond to business rules or decision-making rules and expressions for service provider server 110 that provide deterministic outcomes or outputs based on the input for variables of attributes 126 that make up rules 124. Thus, one of rules 124 may be associated with a risk practice, a business practice, an online marketplace platform, a benefit conferrable to users of the service provider system, an advertising strategy, or a promotional program (a set of processing rules for processing a dataset). Each one of rules 124 provides a specific decision based on the input for a user, account, transaction, or other available input data. For example, one of rules 124 may provide a product, an advertisement, a benefit, a risk evaluation, a loan or credit determination, an account establishment determination, an authentication process, or other outcome provided by the services of service provider server 130 (a set of processing rules for processing a dataset), Paragraph 24; a rule for testing in a transaction processor system is received (data file) at a rule testing framework, Paragraph 54)
extracting, by the rule evaluation system, a set of conditional variables from the set of processing rules included in the data file; (variables and a Boolean expression for a rule are determined, which may correspond to the coded expression for the rule that provides an outcome or output based on input data for each of the variables that make up the Boolean expression. Each of these variables is associated with a particular logical statement or Boolean condition that evaluates to be TRUE or FALSE depending on the input data for the variable (e.g., an integer, a specific value, a denomination type, a country of residence, a transaction type or class, etc.) (set of conditional variables), Paragraph 55; utilizing a rule testing framework, see Figure 1, Paragraphs 23-24)
determining, by the rule evaluation system, a set of possible values for the set of
conditional variables; (all of the other variables in the Boolean expression have their values set so that the selected variable is the output of the Boolean expression (determine a set of possible values). In this regard, when a variable is selected, that variable becomes the determining reference variable for the Boolean expression. Therefore, that variable should now be the determining factor of whether the Boolean expression evaluates to be TRUE of FALSE, Paragraphs 56-57)
generating, by the rule evaluation system, a set of test cases, wherein a test case, of the set of test cases, represents a combination of a plurality of values, of the set of possible values, for the set of conditional variables; (all of the other variables in the Boolean expression have their values set so that the selected variable is the output of the Boolean expression (combination of a plurality of values). In this regard, when a variable is selected, that variable becomes the determining reference variable for the Boolean expression. Therefore, that variable should now be the determining factor of whether the Boolean expression evaluates to be TRUE of FALSE (generating a set of test cases), Paragraphs 56-57)
evaluating, by the rule evaluation system and using the set of test cases, the set of processing rules to identify one or more error cases associated with one or more processing rules of the set of processing rules; (a test result is generated for the variable and the values of the other variables. This allows a tester of the rule to view the outcome of a particular variable for the rule and whether that variable is properly functioning within the rule with the other variables (e.g., based on the desired outcome of the rule) (error case if the rule is not properly functioning) , Paragraph 58)
and providing, by the rule evaluation system, output identifying a result of evaluating the set of processing rules. (This allows a tester of the rule to view the outcome of a particular variable for the rule and whether that variable is properly functioning within the rule with the other variables (e.g., based on the desired outcome of the rule), Paragraph 58)
With respect to Claim 19, all the limitations of Claim 17 have been addressed above; and Chikkala et al. further disclose:
wherein providing the output comprises:
executing a subset of processing rules, of the set of processing rules, on the dataset based on evaluating the set of processing rules; (implement/executing the rule in production after the rule has been tested, Paragraph 25; service applications 130 may implement one or more rules to provide these services (subset of processing rules), which may also provide for rule-based validation when providing processes to users, Paragraph 28)
and providing the output to identify the result of executing the subset of processing rules. (one of rules 124 may provide a product, an advertisement, a benefit, a risk evaluation, a loan or credit determination, an account establishment determination, an authentication process, or other outcome provided by the services of service provider server 130 (providing an output), Paragraph 24)
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 4 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Chikkala et al. (US 2021/0200665) in view of Chintagunta et al. (US 2020/0159622).
With respect to Claim 4, all the limitations of Claim 1 have been addressed above; and Chikkala et al. do not disclose:
wherein the one or more processors, to transmit information identifying the one or more processing rules, are configured to:
remove the one or more processing rules from the data file to generate a new data file;
and transmit the new data file.
However, Chintagunta et al. disclose:
wherein the one or more processors, to transmit information identifying the one or more processing rules, are configured to:
remove the one or more processing rules from the data file to generate a new data file; (removing rules form a configuration file (data file) to generated a modified configuration file, Paragraph 32)
and transmit the new data file. (see Figure 2; utilizing (transmit) the modified configuration file by the software application, Paragraph 46)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Chintagunta et al. into the teaching of Chikkala et al. to include remove the one or more processing rules from the data file to generate a new data file and transmit the new data file in order to allow a software application to continue executing after encountering a failure. (Chintagunta et al., Abstract, lines 5-10)
With respect to Claim 18, all the limitations of Claim 17 have been addressed above; and Chikkala et al. do not disclose:
wherein providing the output comprises:
removing one or more processing rules, of the set of processing rules, from the data file to generate a new data file;
and transmitting the new data file.
However, Chintagunta et al. disclose:
wherein providing the output comprises:
removing one or more processing rules, of the set of processing rules, from the data file to generate a new data file; (removing rules form a configuration file (data file) to generated a modified configuration file, Paragraph 32)
and transmitting the new data file. (see Figure 2; utilizing (transmit) the modified configuration file by the software application, Paragraph 46)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Chintagunta et al. into the teaching of Chikkala et al. to include wherein providing the output comprises removing one or more processing rules, of the set of processing rules, from the data file to generate a new data file and transmitting the new data file in order to allow a software application to continue executing after encountering a failure. (Chintagunta et al., Abstract, lines 5-10)
Claims 5, 9-11 and 15-16 are rejected under 35 U.S.C. 103 as being unpatentable over Chikkala et al. (US 2021/0200665) in further view of Nayak et al. (US 2012/0209800).
With respect to Claim 5, all the limitations of Claim 1 have been addressed above; and Chikkala et al. do not disclose:
wherein the one or more processors, to evaluate the set of processing rules, are configured to:
determine that a group of one or more values, of the set of possible values, is applicable to both a first processing rule, of the set of processing rules, and a second processing rule, of the set of processing rules; and
detect an error case, of the one or more error cases, for the first processing rule and the second processing rule based on determining that the group of one or more values is applicable to both the first processing rule and the second processing rule.
However, Nayak et al. disclose:
wherein the one or more processors, to evaluate the set of processing rules, are configured to:
determine that a group of one or more values, of the set of possible values, is applicable to both a first processing rule, of the set of processing rules, and a second processing rule, of the set of processing rules; (Are the rules deterministic? In other words, does a set of conditions (group of one or more values) map to one and only one set of one or more actions (applicable to two rules). For example, a decision table like table 400 illustrated in FIG. 4 may not pass validation if two rows of the table have the exact same conditions only while having different actions. For example, if the first row (first processing rule) includes the conditions that the customer's age is less than 18 and the customer is not married (group of one or more values) and the second row (second processing rule) also includes those same conditions, the decision table may not pass validation as two different discounts may be associated with the same set of conditions. (first/second processing rules), Paragraph 52)
and detect an error case, of the one or more error cases, for the first processing rule and the second processing rule based on determining that the group of one or more values is applicable to both the first processing rule and the second processing rule. (Are the rules deterministic? In other words, does a set of conditions (group of one or more values) map to one and only one set of one or more actions (applicable to two rules). For example, a decision table like table 400 illustrated in FIG. 4 may not pass validation (detect error case) if two rows of the table have the exact same conditions only while having different actions. For example, if the first row (first processing rule) includes the conditions that the customer's age is less than 18 and the customer is not married (group of one or more values) and the second row (second processing rule) also includes those same conditions, the decision table may not pass validation as two different discounts may be associated with the same set of conditions. (first/second processing rules), Paragraph 52)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Nayak et al. into the teaching of Chikkala et al. to include determine that a group of one or more values, of the set of possible values, is applicable to both a first processing rule, of the set of processing rules, and a second processing rule, of the set of processing rules; and detect an error case, of the one or more error cases, for the first processing rule and the second processing rule based on determining that the group of one or more values is applicable to both the first processing rule and the second processing rule in order to ensure that a set of conditions map to one and only one set of one or more actions and do not cause a conflict. (Nayak et al., Paragraph 52)
With respect to Claim 9, Chikkala et al. disclose:
receive a new processing rule for inclusion in a data file, (the rule may be required to be rolled out and implemented in an existing or new production system. (new processing rule), Paragraph 25) wherein the data file includes a set of processing rules for processing a dataset; (rules 124 (data file) may correspond to business rules or decision-making rules and expressions for service provider server 110 that provide deterministic outcomes or outputs based on the input for variables of attributes 126 that make up rules 124. Thus, one of rules 124 may be associated with a risk practice, a business practice, an online marketplace platform, a benefit conferrable to users of the service provider system, an advertising strategy, or a promotional program (a set of processing rules for processing a dataset). Each one of rules 124 provides a specific decision based on the input for a user, account, transaction, or other available input data. For example, one of rules 124 may provide a product, an advertisement, a benefit, a risk evaluation, a loan or credit determination, an account establishment determination, an authentication process, or other outcome provided by the services of service provider server 130 (a set of processing rules for processing a dataset), Paragraph 24)
extract a set of conditional variables from the new processing rule; (variables and a Boolean expression for a rule (set of processing rules including in the data file and the new processing rule) are determined, which may correspond to the coded expression for the rule that provides an outcome or output based on input data for each of the variables that make up the Boolean expression. Each of these variables is associated with a particular logical statement or Boolean condition that evaluates to be TRUE or FALSE depending on the input data for the variable (e.g., an integer, a specific value, a denomination type, a country of residence, a transaction type or class, etc.) (set of conditional variables), Paragraph 55)
determine a set of possible values for the set of conditional variables; (all of the other variables in the Boolean expression have their values set so that the selected variable is the output of the Boolean expression (determine a set of possible values). In this regard, when a variable is selected, that variable becomes the determining reference variable for the Boolean expression. Therefore, that variable should now be the determining factor of whether the Boolean expression evaluates to be TRUE of FALSE, Paragraphs 56-57)
generate a set of test cases, wherein a test case, of the set of test cases, represents a combination of a plurality of values, of the set of possible values, for the set of conditional variables; (all of the other variables in the Boolean expression have their values set so that the selected variable is the output of the Boolean expression (combination of a plurality of values). In this regard, when a variable is selected, that variable becomes the determining reference variable for the Boolean expression. Therefore, that variable should now be the determining factor of whether the Boolean expression evaluates to be TRUE of FALSE (generating a set of test cases), Paragraphs 56-57)
evaluate, using the set of test cases, the new processing rule to identify one or more error cases associated with the new processing rule; (a test result is generated for the variable and the values of the other variables. This allows a tester of the rule to view the outcome of a particular variable for the rule and whether that variable is properly functioning within the rule with the other variables (e.g., based on the desired outcome of the rule) (error case if the rule is not properly functioning) , Paragraph 58)
and selectively add the new processing rule to the data file based on evaluating. (once testing has been completed and the rule is determined to be properly functioning, the business rule(s) are deployed, updated or revised (selectively add the new processing rule based on the evaluation), Paragraph 17)
Chikkala et al. do not disclose:
extract a set of conditional variables from the set of processing rules included in the data file and the new processing rule;
evaluate, using the set of test cases, the set of processing rules and the new processing rule to identify one or more errors associated with the new processing rule;
and selectively add the new processing rule to the data file based on evaluating the set of processing rules.
However, Nayak et al. disclose:
extract a set of conditional variables from the set of processing rules included in the data file and the new processing rule; (determine a set of conditions for a first row (new processing rule) and second row (set of processing rules), Paragraph 52)
evaluate, using the set of test cases, the set of processing rules and the new processing rule to identify one or more error cases associated with the new processing rule; (Are the rules deterministic? In other words, does a set of conditions (group of one or more values) map to one and only one set of one or more actions (applicable to two rules). For example, a decision table like table 400 illustrated in FIG. 4 may not pass validation if two rows of the table (evaluate the set of processing rules and the new processing rule to identify one or more error cases) have the exact same conditions only while having different actions. For example, if the first row (new processing rule) includes the conditions that the customer's age is less than 18 and the customer is not married (group of one or more values) and the second row (set of processing rules) also includes those same conditions, the decision table may not pass validation as two different discounts may be associated with the same set of conditions., Paragraph 52)
and selectively add the new processing rule to the data file based on evaluating the set of processing rules. (based on whether the validation passes, the rules are kept (selectively added) or changes need to be made, Paragraph 52)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Nayak et al. into the teaching of Chikkala et al. to include extract a set of conditional variables from the set of processing rules included in the data file and the new processing rule, evaluate, using the set of test cases, the set of processing rules and the new processing rule to identify one or more errors associated with the new processing rule and selectively add the new processing rule to the data file based on evaluating the set of processing rules in order to ensure that a set of conditions map to one and only one set of one or more actions and do not cause a conflict. (Nayak et al., Paragraph 52)
With respect to Claim 10, all the limitations of Claim 9 have been addressed above; and Chikkala et al. further disclose:
evaluate the dataset using the data file based on adding the new processing rule to the data file; (implement/executing the rule in production after the rule has been tested, Paragraph 25; service applications 130 may implement one or more rules to provide these services (new processing rule), which may also provide for rule-based validation when providing processes to users, Paragraph 28)
and transmit an output identifying a result of evaluating the dataset. (one of rules 124 may provide a product, an advertisement, a benefit, a risk evaluation, a loan or credit determination, an account establishment determination, an authentication process, or other outcome provided by the services of service provider server 130 (transmit an output), Paragraph 24)
With respect to Claim 11, all the limitations of Claim 9 have been addressed above; and Chikkala et al. further disclose:
identify a combination of values, that are applicable to any processing rule, of the set of processing rules and the new processing rule; (all of the other variables in the Boolean expression have their values set so that the selected variable is the output of the Boolean expression (determine a combination of values). In this regard, when a variable is selected, that variable becomes the determining reference variable for the Boolean expression. Therefore, that variable should now be the determining factor of whether the Boolean expression evaluates to be TRUE of FALSE, Paragraphs 56-57)
and detect an error case for the combination of values. (a test result is generated for the variable and the values of the other variables. This allows a tester of the rule to view the outcome of a particular variable for the rule and whether that variable is properly functioning within the rule with the other variables (e.g., based on the desired outcome of the rule) (error case) , Paragraph 58)
Chikkala et al. do not disclose:
identify a combination of values that is not applicable
However, Nayak et al. disclose:
identify a combination of values that is not applicable (Are there gaps in the conditions? For example, if the customer's age in the decision table of table 400 did not provide conditions for ages greater than or equal to 45, what discount to give customers with ages greater than or equal to 45 would be undefined (combination of values that are not applicable). This undefined behavior may be undesirable in some implementations and may be checked for during validation., Paragraph 53)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Nayak et al. into any/all the rules taught by Chikkala et al. to include identify a combination of values that is not applicable in order to determine if there are any gaps in the conditions during validation of the rules. (Nayak et al., Paragraph 53)
With respect to Claim 15, all the limitations of Claim 9 have been addressed above; and Chikkala et al. further disclose:
wherein the one or more instructions, that cause the system to determine the set of possible values, cause the system to:
determine a subset of possible values for each processing rule of the set of processing rules and the new processing rule; (if A is selected in the above example, the other variables' values are set so that only when A is greater than or equal to 5 (thereby making the corresponding Boolean condition TRUE) does the Boolean expression of the rule evaluate to be TRUE, and vice versa for when A is less than 5 (e.g., the Boolean expression now evaluates to be FALSE based on the values set for the rest of the variables) (subset of possible values), Paragraph 57; iteratively testing a set of business rules (each processing rule including the new processing rule), Paragraphs 13 and 58)
generate a set of combinations of the subset of possible values; (setting all of the other variable’s values in the Boolean expression (set of combinations of the subset of possible values), Paragraph 57; iterates through all other variables testing in a similar manner to generate a full set of test results. This allows a tester of the rule to view the outcome of a particular variable for the rule and whether that variable is properly functioning within the rule with the other variables (e.g., based on the desired outcome of the rule) (a set of combinations of the subset of possible values), Paragraph 58)
and add the set of combinations to the set of possible values for the set of processing rules. (iterates through all other variables (add the set of combinations) testing in a similar manner to generate a full set of test results. This allows a tester of the rule to view the outcome of a particular variable for the rule and whether that variable is properly functioning within the rule with the other variables (e.g., based on the desired outcome of the rule), Paragraph 58)
With respect to Claim 16, all the limitations of Claim 9 have been addressed above; and Chikkala et al. do not disclose:
wherein the one or more instructions, that cause the system to determine the set of possible values, cause the system to:
determine the set of possible values for the new processing rule; (all of the other variables in the Boolean expression have their values set so that the selected variable is the output of the Boolean expression (determine a set of possible values). In this regard, when a variable is selected, that variable becomes the determining reference variable for the Boolean expression. Therefore, that variable should now be the determining factor of whether the Boolean expression evaluates to be TRUE of FALSE, Paragraphs 56-57)
generate a set of combinations of the set of possible values; (all of the other variables in the Boolean expression have their values set so that the selected variable is the output of the Boolean expression (determine a set of possible values). In this regard, when a variable is selected, that variable becomes the determining reference variable for the Boolean expression. Therefore, that variable should now be the determining factor of whether the Boolean expression evaluates to be TRUE of FALSE, Paragraphs 56-57)
and add the set of combinations to the set of possible values. (all of the other variables in the Boolean expression have their values set so that the selected variable is the output of the Boolean expression (determine a set of possible values). In this regard, when a variable is selected, that variable becomes the determining reference variable for the Boolean expression. Therefore, that variable should now be the determining factor of whether the Boolean expression evaluates to be TRUE of FALSE, Paragraphs 56-57)
Chikkala et al. do not disclose:
determine the set of possible values for the set of processing rules
However, Nayak et al. disclose:
determine the set of possible values for the set of processing rules; (determine a set of conditions (possible values) for a first row and second row (set of processing rules), Paragraph 52; Are the rules deterministic? In other words, does a set of conditions (group of one or more values) map to one and only one set of one or more actions (applicable to two rules). For example, a decision table like table 400 illustrated in FIG. 4 may not pass validation if two rows of the table (evaluate the set of processing rules and the new processing rule to identify one or more error cases) have the exact same conditions only while having different actions. For example, if the first row (new processing rule) includes the conditions that the customer's age is less than 18 and the customer is not married (group of one or more values) and the second row (set of processing rules) also includes those same conditions, the decision table may not pass validation as two different discounts may be associated with the same set of conditions., Paragraph 52)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Nayak et al. into the teaching of Chikkala et al. to include determining the set of possible values for the set of processing rules in order to ensure that a set of conditions map to one and only one set of one or more actions and do not cause a conflict. (Nayak et al., Paragraph 52)
Claims 7 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Chikkala et al. (US 2021/0200665) in view of Singla (US 2024/0089293) and in further view of Itsuki et al. (US 5,212,768).
With respect to Claim 7, all the limitations of Claim 1 have been addressed above; and Chikkala et al. further disclose:
and wherein the one or more processors, to determine the set of possible values, are configured to:
determine a plurality of sets of possible values for the plurality of [rules]. (During processing rule implementation and/or testing for rules (plurality of rules) currently implemented in production systems, different values for the variables and attributes of the rule (determine a plurality of sets of possible values) may be required to be tested to ensure proper rule functioning, Abstract, lines 3-6)
Chikkala et al. do not disclose:
wherein the one or more processors are further configured to:
divide the data file into a plurality of sub-files based on at least one conditional variable, of the set of conditional variables;
However, Singla discloses:
wherein the one or more processors are further configured to:
divide the data file into a plurality of [sub-rules] based on at least one conditional variable, of the set of conditional variables; (The RUM 114 may split the rule (data file) into two or more experimental rules (sub-files) that contain conditions based on subsets of the sets of attributes associated with the true positive and false positive alerts (at least one conditional variable), Paragraphs 75-76)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Singla into the teaching of Chikkala et al. to include divide the data file into a plurality of sub-files based on at least one conditional variable, of the set of conditional variables in order to help reduce the number of false positive alerts. (Singla, Paragraph 75)
Chikkala et al. and Singla do not disclose:
[sub-rules] are stored in sub-files
However, Itsuki et al. disclose:
[sub-rules] are stored in sub-files (rules file can be divided into a plurality of files such as rule files 920,…,930, Column 1, lines 30-33)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Itsuki et al. into the teaching of Chikkala et al. and Singla to include [sub-rules] are stored in sub-files in order to better organize a set of rules.
Claim 20 is a method claim corresponding to the system claim above (Claim 7) and, therefore, is rejected for the same reasons set forth in the rejection of Claim 7.
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Chikkala et al. (US 2021/0200665) in view of Singla (US 2024/0089293) in view of Itsuki et al. (US 5,212,768) and in further view of Saurabh et al. (US 8,930,380).
With respect to Claim 8, all the limitations of Claim 7 have been addressed above; and Chikkala et al., Singla and Itsuki et al. further disclose:
wherein the one or more processors, to evaluate the set of processing rules, are configured to:
evaluate a first subset of processing rules of a first sub-file, of the plurality of sub-files, [and] evaluating a second subset of processing rules of a second sub-file of the plurality of sub-files. (Chikkala et al., During processing rule implementation and/or testing for rules (plurality of sub-files) currently implemented in production systems, different values for the variables and attributes of the rule (first/second subset of processing rules) may be required to be tested to ensure proper rule functioning, Abstract, lines 3-6; through the combination of Chikkala et al., Singla and Itsuki et al. disclose dividing a rule into two or more rules (first/second sub-file))
Chikkala et al., Singla and Itsuki et al. do not disclose:
evaluating in parallel
However, Saurabh et al. disclose:
evaluating in parallel (rules are evaluated in parallel, Paragraph 13, lines 18-19)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Saurabh et al. into the teaching of Chikkala et al., Singla and Itsuki et al. to include evaluating in parallel in order to reducing evaluation processing time and optimize resource utilization.
Claims 12 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Chikkala et al. (US 2021/0200665) in view of Nayak et al. (US 2012/0209800) and in further view of Sproule (US 2004/0133876).
With respect to Claim 12, all the limitations of Claim 9 have been addressed above; and Chikkala et al. and Nayak et al. further disclose:
wherein the one or more instructions, that cause the system to evaluate the set of processing rules and the new processing rule, cause the system to:
detect an error case, of the one or more error cases, relating to the new processing rule. (Chikkala et al., a test result is generated for the variable and the values of the other variables. This allows a tester of the rule to view the outcome of a particular variable for the rule and whether that variable is properly functioning within the rule with the other variables (e.g., based on the desired outcome of the rule) (error case if the rule is not properly functioning) , Paragraph 58)
Chikkala et al. and Nayak et al. do not disclose:
detect an error case, of the one or more error cases, relating to an ordering of the set of processing rules and the new processing rule.
However, Sproule discloses:
detect an error case, of the one or more error cases, relating to an ordering of the set of processing rules and the new processing rule. (the system is unable to determine a correction execution order of business rules due to conditional logic and gives a warning to an engineer, Paragraph 602)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Sproule into the teaching of Chikkala et al. and Nayak et al. to include detect an error case, of the one or more error cases, relating to an ordering of the set of processing rules and the new processing rule in order to allow a user to rewrite the rules in question in order to remove any ambiguities. (Sproule, Paragraph 602, lines 9-11)
With respect to Claim 14, all the limitations of Claim 9 have been addressed above; and Chikkala et al. and Nayak et al. do not disclose:
wherein the one or more instructions, that cause the system to evaluate the set of processing rules and the new processing rule, cause the system to:
evaluate the set of processing rules and the new processing rule based on a prioritization of the set of processing rules and the new processing rule.
However, Sproule discloses:
wherein the one or more instructions, that cause the system to evaluate the set of processing rules and the new processing rule, cause the system to:
evaluate the set of processing rules and the new processing rule based on a prioritization of the set of processing rules and the new processing rule. (The order in which business rules are executed is determined by Visual Enterprise (prioritization) based on the dependencies of each business rule. For a business rule to be processed correctly it is important to execute that rule only after executing all rules on which the rule is dependent, Paragraph 589)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Sproule into the teaching of Chikkala et al. and Nayak et al. to include evaluate the set of processing rules and the new processing rule based on a prioritization of the set of processing rules and the new processing rule in order to process business rules correctly without errors. (Sproule, Paragraph 589)
Claim 13 is rejected under 35 U.S.C. 103 as being unpatentable over Chikkala et al. (US 2021/0200665) in view of Nayak et al. (US 2012/0209800) and in further view of Ghosh et al. (US 2013/0204657).
With respect to Claim 13, all the limitations of Claim 9 have been addressed above; and Chikkala et al. and Nayak et al. further disclose:
wherein the one or more instructions, that cause the system to evaluate the set of processing rules and the new processing rule, cause the system to:
detect an error case, of the one or more error cases, relating to the new processing rule. (Chikkala et al., a test result is generated for the variable and the values of the other variables. This allows a tester of the rule to view the outcome of a particular variable for the rule and whether that variable is properly functioning within the rule with the other variables (e.g., based on the desired outcome of the rule) (error case if the rule is not properly functioning) , Paragraph 58)
Chikkala et al. and Nayak et al. do not disclose:
detect an error case, of the one or more error cases, relating to a redundancy between the set of processing rules and the new processing rule.
However, Ghosh et al. disclose:
detect an error case, of the one or more error cases, relating to a redundancy between the set of processing rules and the new processing rule. (identifying potential fault (detect an error case) in business rules based on inconsistency, contradiction, circularity, subsumption, redundancy and incompleteness, Paragraph 40)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Ghosh et al. into the teaching of Chikkala et al. and Nayak et al. to include detect an error case, of the one or more error cases, relating to a redundancy between the set of processing rules and the new processing rule in order to be able to integrated a set of rules associated with a set of business processes that are consistent and do not interact to produce errors or other undesirable results. (Ghosh et al., Paragraph 40)
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Pelland et al. (US 8,638,906) discloses automated application testing.
Murugesan (US 2015/0356001) discloses unit test automation for business rules and applications.
Choudhury et al. (US 2017/0315905) discloses validating data against a pre-defined data specification.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to LANNY N UNG whose telephone number is (571)270-7708. The examiner can normally be reached Mon-Thurs 6am-4pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Bradley Teets can be reached at 571-272-3338. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/LANNY N UNG/Examiner, Art Unit 2197