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 .
Response to Amendment/Arguments
The amendment to claim 4 overcomes the previous objection. The objection to claim 4 is withdrawn.
On pages 10-11, applicant argues that the claims are patent eligible because “[t]he claimed invention introduces a way in which computers may accelerate decision tree inferences by using tensor operations, all of which are performed by the computer within the field of machine learning”.
Examiner respectfully disagrees. As explained in the 35 USC 101 rejection below, the claims are directed to a series of steps that includes mental processes and mathematical concepts to identify subtrees of a plurality of decision trees for processing. The steps of loading the arrays and performing tensor operations by operands using the array data are directed to mere instruction to apply the abstract idea on a generic computer, see MPEP 2106.05(f).
On pages 11-14, applicant argues that the prior art does not teach “loading one or more first arrays capturing feature values of the K input records for use by first operands and one or more further arrays capturing the attributes of the remaining nodes of all of the subtrees formed, for use by second operands, wherein the one or more further arrays include second arrays capturing attributes of internal nodes of the subtrees and third arrays capturing attributes of leaf nodes of the subtrees.”
Applicant’s arguments are moot in view of the new grounds of rejection necessitated by amendments.
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-6 and 8-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed towards an abstract idea without significantly more.
(Step 1) Claims 1 – 6 and 9-13 are directed to a method, claims 14 – 17 are directed to a system comprising of hardware processor and memory, and claims 18-20 are program product claims. Therefore, claims 1-6 and 8-20 fall into one of four statutory categories (i.e., process, machine, article of manufacture, or composition of matter).
(Step 2A: Prong One) Claim 1 recites the following abstract ideas:
performing machine learning inferences on K input records, K >2, based on N decision trees, N>2, wherein each decision tree Ti of the N decision trees has nodes extending from a root node to leaf nodes across Li levels, wherein the method comprises (This is interpreted as a mathematical concept.);
wherein the method comprises: identifying an optimal value M representing a number of top levels of N decision trees, wherein 1< M < Min(Li,...., LN) and wherein the M top levels define top nodes for individual decision trees Ti of the N decision trees including root nodes, (This is a mental process, an evaluation carried out in the human mind with or without a physical aid. The use of a physical aid would not negate the mental nature of this limitation. (See MPEP 2106.04(a)(2), subsection III.B));
wherein for the individual decision tree Ti: identifying a plurality of subtrees subtended by respective subsets of remaining nodes of the individual decision trees Ti, remaining nodes being all nodes of the N decision trees except for the top nodes as defined by the optimal value M (This is a mental process, an evaluation carried out in the human mind with or without a physical aid. The use of a physical aid would not negate the mental nature of this limitation. (See MPEP 2106.04(a)(2), subsection III.B); and
processing K input records through the top nodes of the N decision trees to associate each input record of the K input records with a single, respective subtree of the plurality of the N decision trees, wherein K x N associations are obtained in total for the N decision trees and the K input records (This is a mental process, an evaluation carried out in the human mind with or without a physical aid. The use of a physical aid would not negate the mental nature of this limitation. (See MPEP 2106.04(a)(2), subsection III.B);
processing the K input records by executing tensor operations, in accordance with the K x N associations obtained (This a mental process, an evaluation carried out in the human mind with or without a physical aid. The use of a physical aid would not negate the mental nature of this limitation. (See MPEP 2106.04(a)(2), subsection III.B), to perform machine learning inferences, wherein the tensor operations use the first operands capturing feature values of the K input records and the second operands capturing attributes of the respective subsets of remaining nodes of the subtrees (This is interpreted as a mathematical concept.)
(Step 2A: Prong Two and Step 2B) Claim 1 recites the additional elements of:
loading one or more first arrays capturing feature values of the K input records for use by first operands and one or more further arrays capturing attributes of the remaining nodes of the plurality of subtrees, for use by second operands, wherein the one or more further arrays include second arrays capturing attributes of internal nodes of the plurality of subtrees and third arrays capturing attributes of leaf nodes of the plurality of subtrees (This limitation is interpreted as loading two arrays into memory. The arrays include data from input records and data/attributes of the nodes of the subtrees. Loading or storing data into memory is a well-understood, routine, convention activity, see MPEP 2106.05(d)(II)(iv). Finally, the operands are interpreted as mathematical calculations. The use of a computer to perform calculations are mere instructions to apply the abstract idea on a generic computer, see MPEP MPEP 2106.05(f)). The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
Claim 2, dependent upon Claim 1, recites further comprising offloading, the tensor operations to be executed to a hardware accelerator, which is an insignificant extra-solution activity of transferring data (see MPEP 2106.05(g)) and cannot integrate an abstract idea into a practical application. Transferring data is a well-understood, routine, and conventional activity of transmitting data over a network (by MPEP 2106.05(d), and performance of the abstract idea on a computer alone also cannot provide an inventive concept, by MPEP 2106.05(f)). The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
Claim 3, dependent upon Claim 2, recites wherein the operations are offloaded to a dedicated chip, which is specifically designed to perform tensor operations, which is an insignificant extra-solution activity of transferring data (see MPEP 2106.05(g)) and cannot integrate an abstract idea into a practical application. Transferring data is a well-understood, routine, and conventional activity of transmitting data over a network (by MPEP 2106.05(d), and performance of the abstract idea on a computer alone also cannot provide an inventive concept, by MPEP 2106.05(f)). The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
Claim 4, dependent upon Claim 1, recites further comprising setting, the value M to M = 1 for each of the N decision trees, such that, for each of the N decision trees: one top level is identified, wherein the one top level includes a single top node that is the root node, and two subtrees are identified, wherein each subtree of the two subtrees includes a respective subset of the remaining nodes, which is a mental process, an evaluation carried out in the human mind with or without a physical aid. The use of a physical aid would not negate the mental nature of this limitation. (See MPEP 2106.04(a)(2), subsection III.B). The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
Claim 5, dependent upon Claim 1, recites wherein: the optimal value M is based on computer resources available at the computerized system, at a corresponding computerized system, which is a mental process, an evaluation carried out in the human mind with or without a physical aid. The use of a physical aid would not negate the mental nature of this limitation. (See MPEP 2106.04(a)(2), subsection III.B); and further comprising: storing, the optimal value M for later use (This limitation directed to storing data in memory, which is a well-understood, routine, conventional activity, see MPEP 2106.05(d)(II)(iv)). The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
Claim 6, dependent upon Claim 5, recites comparing an additional computational complexity induced by a processing of each of the K input records through the top nodes of each of the decision trees with a reduction of computational complexity allowed by the K x N associations obtained and the second operands used to execute the tensor operations, which is a mathematical concept. Claim 6 does not recite any additional elements. The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
Claim 8, dependent upon Claim 1, recites wherein: the one or more first arrays comprise an array x for individual input records of the K input records, the array x reflecting a row vector X including the feature values of the individual input records; and the one or more second arrays comprise two arrays for individual subtrees of the plurality of subtrees, wherein the two arrays comprise an array a reflecting a matrix A having a number of columns corresponding to a number of the individual subtrees and an array b reflecting a row vector B of first comparands, and wherein the third arrays comprise three arrays for the individual subtrees, wherein the three arrays comprise an array c reflecting a matrix C having a number of columns corresponding to a number of leaf nodes of the individual subtrees, an array d reflecting a row vector D of second comparands and an array e reflecting a matrix E encoding potential inference results which is a mathematical concept; and wherein executing the tensor operations further comprises, for the individual input records and the individual subtrees, decomposing the tensor operations into a sequence of five operations, which is a mental process, an evaluation carried out in the human mind with or without a physical aid. The use of a physical aid would not negate the mental nature of this limitation. (See MPEP 2106.04(a)(2), subsection III.B); the five operations including: a dot product of the row vector X by the matrix A, the dot product resulting in a first result as a row vector; a comparison of this first result to the row vector B, to obtain a second result as an array y encoding an outcome of this comparison, the array y reflecting a row vector Y; a dot product of the row vector Y by the matrix C, this dot product resulting in a third result as a row vector; a comparison of this third result with the row vector D, to obtain a fourth result as an array z encoding an outcome of this comparison, the array z reflecting a row vector Z; and a dot product of the row vector Z by the matrix E, this resulting in a fifth result as a row vector, based on which an inference result is formulated for the individual subtrees with respect to the individual input records, which is a mathematical concept. The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
Claim 9, dependent upon Claim 7, recites further comprising: building, a tensor representation of the machine learning inferences based on statistics on nodes of the N decision trees and the further arrays, to be performed by forming complementary tensor subsets that respectively correspond to complementary subsets of the leaf nodes of the plurality subtrees, wherein the complementary tensor subsets are ranked such that a first tensor subset and a second tensor subset of the complementary tensor subsets correspond to a first leaf node subset and a second leaf node subset of the complementary leaf node subsets, respectively, and the leaf nodes of the first leaf node subset are more likely to be reached than the leaf nodes of the second leaf node subset according to the statistics accessed which is a mathematical concept; and executing the tensor operations comprising: processing, the K input records by performing tensor operations of the first tensor subset, in accordance with the K x N associations obtained, to obtain first inference results for a first subset of the K input records, in accordance with leaf nodes of the first leaf node subset, whereby remaining input records, for which no inference result has yet been obtained, form a second subset of the K input records; and processing the input records of the second subset of the K input records, in accordance with a corresponding subset of the K x N associations obtained, by performing the tensor operations of the second tensor subset to obtain second inference results for the second subset of the input records in accordance with leaf nodes of the second leaf node subset which is a mathematical concept. The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
Claim 10, dependent upon Claim 9, recites wherein the complementary tensor subsets are formed by reordering, one or more columns of the third arrays according to the statistics accessed, the columns corresponding to respective leaf nodes of the subtrees, and splitting, by one or more computer processors, the one or more columns of the third arrays as reordered to obtain complementary subarrays, these including first subarrays and second subarrays, whereby the first tensor subset is formed based on the first subarrays, and the second tensor subset is formed based on the second subarrays, which is a mental process, an evaluation carried out in the human mind with or without a physical aid. The use of a physical aid would not negate the mental nature of this limitation. (See MPEP 2106.04(a)(2), subsection III.B). The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
Claim 11, dependent upon Claim 10, recites wherein the third arrays, once reordered, are split according to at least one threshold value in respect of the statistics accessed for the leaf nodes, which is a mental process, an evaluation carried out in the human mind with or without a physical aid. The use of a physical aid would not negate the mental nature of this limitation. (See MPEP 2106.04(a)(2), subsection III.B). The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
Claim 12, dependent upon Claim 1, recites wherein the N decision trees form an ensemble model, and the machine learning inferences are performed to obtain an ensemble result for each of the K input records, which is a mathematical concept. The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
Claim 13, dependent upon Claim 1, recites wherein each of the N decision trees is a binary tree and each ensemble result obtained is one of a binary classification result and a regression result, which is a mathematical concept. The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
Claim 14 recites a system comprising processors and computer readable storage media, thus a machine, one of the four statutory categories of patentable subject matter. However, it recites this processor at a high level, and is thus an additional element and cannot integrate the claim into a practical application (see MPEP 2106.05(f)). Further, Claims 14-17 recite a system comprising instructions to perform precisely the method of Claims 1-3 and 5, and are therefore rejected by the reasons set forth in the rejection of Claims 1-3 and 5. The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
Claim 18 recites a computer program product with a computer readable storage media, thus a machine, one of the four statutory categories of patentable subject matter. However, it recites this product and medium at a high level and are thus additional elements and cannot integrate the claim into a practical application (see MPEP 2106.05(f)). Further Claims 18-20 recite a computer program product comprising instructions to perform precisely the method of Claims 1-3, and are therefore rejected by the reasons set forth in the rejection of Claims 1-3. The claim as a whole, looking at the additional elements individually and in combination, does not integrate the judicial exception into a practical application and does not amount to significantly more than the identified judicial exception.
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.
Claim(s) 1-6, and 12-20 are rejected under 35 U.S.C. 103 as being unpatentable over
Van Essen et al., “Accelerating a random forest classifier: multi-core, GP-GPU, or FPGA?” in view of Frencesco Lettich et al., “Parallel Traversal of Large Ensembles of Decision Trees”.
Regarding Claim 1, Van Essen teaches a computer-implemented method of performing machine learning inferences on K input records, K >2, based on N decision trees, N>2, wherein each decision tree Ti of the N decision trees has nodes extending from a root node to leaf nodes across Li levels (Van Essen, Abstract, "Random forest classification is a well known machine learning technique" … & Page 3, I. Introduction, Paragraph 1, "In this work we consider hardware acceleration of classification using random forests", & Figure 1 which visualizes example decision trees with nodes extending from a root node to leaf nodes & Page 4, III. Training Compact Random Forest Classifiers (CRF) Paragraph 3, "The input training data sets are the two-class classification data sets from the UCI Machine Learning Repository"); wherein the method comprises:
accessing, by one or more computer processors, a value M identifying M top levels of one or more N decision trees, wherein 1< M < Min(Li, .... , LN) and wherein a M top levels defines top nodes for each of the N decision trees (Van Essen, Page 5, IV. Using OpenMP on a Shared-Memory Multiprocessor, Paragraph 2, "for(int lvl = 0; lvl < max_depth; lvl++) …" this for loop iteratively accesses a value lvl, M, which identifies some top levels of nodes); and wherein for the individual decision tree Ti:
identifying a plurality of subtrees subtended by respective subsets of remaining nodes of the individual decision trees Ti, remaining nodes being all nodes of the N decision trees except for the top nodes as defined by the optimal value M (Van Essen, Page 5, IV. Using OpenMP on a Shared-Memory Multiprocessor, Paragraph 2, "if(lvl < max_depth - 1) { // Split node…" this line identifies that at a given node, there are subtrees as the current level is not the max depth of the tree); and
processing K input records through the top nodes of the N decision trees to associate each input record of the K input records with a single, respective subtree of the plurality of the N decision trees, wherein K x N associations are obtained in total for the N decision trees and the K input records (Van Essen, Page 5, IV. Using OpenMP on a Shared-Memory Multiprocessor, Paragraph 1, "In software, the classification task can be implemented as a doubly nested loop that iterates over samples and trees in the forest" & Paragraph 2, "real feature = data -> FeatureColumn(feature_idx)[j];" which extracts a feature from the input record. The for loop "for(int lvl = 0; lvl < max_depth; lvl++)" iterates through all levels of the tree, thus the top nodes, and a variable called "local_result" is computed per tree, per input record, thus K X N associations);
loading one or more first arrays capturing feature values of the K input records for use by first operands and one or more further arrays capturing attributes of the remaining nodes of the plurality of subtrees, for use by second operands (page 236, Section VI, “2) selecting the best location in the storage hierarchy to hold the input data (samples) and the CRF model (forest). Figure 5 shows both the memory hierarchy of the GP-GPU and the distribution of data and computation for the CRF classification. Note that texture caches and L1 caches are both private to each streaming multiprocessor; furthermore, the texture caches are optimized for unaligned single word accesses, and the L1 cache is optimized for coalesced multiword accesses”), wherein the one or more further arrays include second arrays capturing attributes of internal nodes of the plurality of subtrees and third arrays capturing attributes of leaf nodes of the plurality of subtrees (Van Essen, Page 5, 3) Decision Tree, “single block of logic at each level (i.e. stage) in the tree to implement the functionality of any node at that level. To “customize” a stage to behave like a particular node, a node index from the previous stage is used to address local, unshared memory and load from it node variables that describe the behavior of the current stage”)
processing the K input records by executing tensor operations, in accordance with the K x N associations obtained, to perform machine learning inferences (Van Essen, Page 5, IV. Using OpenMP on a Shared-Memory Multiprocessor, Paragraph 2, "real feature = data -> FeatureColumn(feature_idx)[j];" an array can be considered a tensor, and this line accesses an element from an array, this element used in accordance with the K x N associations); wherein the tensor operations use the first operands capturing feature values of the K input records and the second operands capturing attributes of the respective subsets of remaining nodes of the subtrees (Van Essen, Page 5, IV. Using OpenMP on a Shared-Memory Multiprocessor, Paragraph 2, "local_result = nodes[node_idx].weight * feature + nodes[node_idx].offset", wherein feature is a feature from the input record, and nodes[node_idx].weight is an attribute of a node).
Van Essen does not specifically teach:
identifying an optimal value M representing a number of top levels of N decision trees, wherein 1< M < Min(Li,...., LN) and wherein the M top levels define top nodes for individual decision trees Ti of the N decision trees including root nodes.
However, Lettich teaches:
identifying an optimal value M representing a number of top levels of N decision trees, wherein 1< M < Min(Li,...., LN) and wherein the M top levels define top nodes for individual decision trees Ti of the N decision trees including root nodes (page 2086, right column, “In the batch of experiments that follows we validate our analytic performance model and the choice of t for optimal performance. We vary t in the ½1;000-10;000_ range, and for each value of t we set the number of threads per thread-block, n threads, by means of the previously illustrated policy” and page 2081:
PNG
media_image1.png
390
608
media_image1.png
Greyscale
); and
loading one or more first arrays capturing feature values of the K input records for use by first operands and one or more further arrays capturing attributes of the remaining nodes of the plurality of subtrees, for use by second operands, (page 2081, left column, “Model Partition and Allocation. We recall that QS adopts two main data structures besides the input vector D”) wherein the one or more further arrays include second arrays capturing attributes of internal nodes of the plurality of subtrees and third arrays capturing attributes of leaf nodes of the plurality of subtrees (page 2081, left column).
PNG
media_image2.png
240
604
media_image2.png
Greyscale
It would have been obvious to a person of ordinary skilled in the art before the effective filing date of the invention to modify the invention of Van Essen to incorporate the features of Lettich because this allows for multi/many-core parallelization strategies for speeding up the traversal of large ensembles of regression trees thus obtaining machine-learnt models that are, at the same time, effective, fast, and scalable (see abstract of Lettich).
Claim 14 recites a system comprising one or more processors and a computer readable storage media configured to perform the method of Claim 1, and thus is rejected for the reasons set forth in Claim 1. Van Essen teaches using a processor (Van Essen, Page 4, Column 1, Paragraph 2, “In this work we will compare three approaches to accelerating classification: using a multi-core chip multiprocessor (CMP), an FPGA, and a GP-GPU” thus a processor & Figure 5 & Page 7, Column 2, VI. GP-GPU Algorithm, Paragraph 1, “Figure 5 shows both the memory hierarchy of the GP-GPU and the distribution of data…” thus a computer readable storage medium)
Claim 18 recites a computer program product comprising a computer readable storage media with instruction to perform precisely the method of Claim 1, and thus is rejected for the reasons set forth in Claim 1. Van Essen teaches using a computer program product (Van Essen, Page 4, Column 1, Paragraph 2, “In this work we will compare three approaches to accelerating classification: using a multi-core chip multiprocessor (CMP), an FPGA, and a GP-GPU” thus a computer program product & Figure 5 & Page 7, Column 2, VI. GP-GPU Algorithm, Paragraph 1, “Figure 5 shows both the memory hierarchy of the GP-GPU and the distribution of data…” thus a computer readable storage medium).
Regarding Claim 2, Van Essen teaches the method of Claim 1 (and thus the rejection of Claim 1 is incorporated). Van Essen further teaches further comprising offloading the tensor operations to be executed to a hardware accelerator (Van Essen, Abstract, "We show that FPGAs provide the highest performance solution" & Page 5, V. FPGA Implementation ,"To accelerate the classification on FPGA's, we have transformed the code snippet shown in Section IV into a hardware implementation" thus the tensor operations are loaded onto an FPGA which is a hardware accelerator).
Claim 15 incorporates substantively all the limitations of Claim 2 in the form of a system and is therefore rejected under the same rationale.
Claim 19 incorporates substantively all the limitations of Claim 2 in the form of a computer program product and is therefore rejected under the same rationale.
Regarding Claim 3, Van Essen teaches the method of claim 2 (and thus the rejection of Claim 2 is incorporated). Van Essen further teaches wherein the operations are offloaded to a dedicated chip, which is specifically designed to perform tensor operations (Van Essen, Page 4, Paragraph 2, "In this work we will compare three approaches to accelerating classification: using a multi-core chip multiprocessor (CMP)" thus the tensor operations are performed on a dedicated chip).
Claim 16 incorporates substantively all the limitations of Claim 3 in the form of a system and is therefore rejected under the same rationale.
Claim 20 incorporates substantively all the limitations of Claim 3 in the form of a computer program product and is therefore rejected under the same rationale.
Regarding Claim 4, Van Essen teaches the method of claim 1 (and thus the rejection of Claim 1 is incorporated). Van Essen further teaches further comprising setting the value M to M = 1 for each of the N decision trees, such that, for each of the N decision trees: one top level is identified, wherein the one top level includes a single top node that is the root node, and two subtrees are identified, wherein each subtree of the two subtrees includes a respective subset of the remaining nodes (Van Essen, Page 5, IV. Using OpenMP on a Shared-Memory Multiprocessor, Paragraph 2, "for(int lvl = 0; lvl < max_depth; lvl++) …" wherein on second iteration, the lvl would be 1, thus M = 1, and this occurs iteratively per tree. Further in Paragraph 2, “if(lvl < max_depth – 1) { // split node” implies the assumption that there will be split nodes, in other words, nodes with children, or sub trees which include a respective subset of the remaining nodes. Further in Figure 2, the flow between “Internal Stages” to “Leaf Stage” implies that there are internal nodes with respective subtrees as well).
Regarding Claim 5, Van Essen teaches the method of claim 1 (and thus the rejection of Claim 1 is incorporated). Van Essen further teaches wherein: the optimal value M is based on computer resources available at a corresponding computerized system, and storing the optimal value M for later use (Van Essen, Page 6, 4) Decision Tree Node, Paragraph 1, "We found that the best split was to use BRAMs for stages with 32 or more nodes and logic for the other stages" thus in binary trees that translates to 5 levels. Thus, they determine an optimal number of top levels at 5).
Claim 17 incorporates substantively all the limitations of Claim 5 in the form of a system and is therefore rejected under the same rationale.
Regarding Claim 6, Van Essen teaches the method of claim 5 (and thus the rejection of Claim 5 is incorporated). Van Essen further teaches wherein determining the optimal number of top levels comprises comparing an additional computational complexity induced by a processing of each of the K input records through the top nodes of each of the decision trees with a reduction of computational complexity allowed by the K x N associations obtained and the second operands used to execute the tensor operations (Van Essen, Page 6, 4) Decision Tree Node, Paragraph 1, "While BRAMs are efficient, they are a scarce resource and underutilized by low-level stages. Conversely, flip-flops are plentiful, but inefficient for the large fan-in (-out) at higher stages" thus they consider the gains afforded by focusing more on BRAM computation by cutting down tree size, compared to the complexity of processing through the whole tree, using flip-flops).
Regarding Claim 12, Van Essen teaches the method of claim 1 (and thus the rejection of Claim 1 is incorporated). Van Essen further teaches wherein the N decision trees form an ensemble model, and the machine learning inferences are performed to obtain an ensemble result for each of the K input records (Van Essen, Page 1, I. Introduction, Paragraph 1, "… the only synchronization occurring when the results of all the decision tree are combined to provide a final classification for a sample").
Regarding Claim 13, Van Essen teaches the method of claim 1 (and thus the rejection of Claim 1 is incorporated). Van Essen further teaches wherein: each of the N decision trees is a binary tree (Van Essen, Figure 1, which shows examples of binary trees used in the experiment); and each ensemble result obtained is one of a binary classification result and a regression result (Van Essen, Page 4, Column 1, Last 2 Paragraphs, “The input training data sets are the two-class classification data sets…” & “… a set of features derived from URLs that are labeled as either malicious … or benign” thus the data is two class and the classification result is binary).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to LI B ZHEN whose telephone number is (571)272-3768. The examiner can normally be reached M-F, 7:30a-4p.
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.
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.
/Li B. Zhen/Supervisory Patent Examiner, Art Unit 2121