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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 08 April 2026 has been entered.
Claim Objections
Claims 1-3, 5-6 are objected to because of the following informalities: Claim 1 recites the limitation “responsive to a request to perform a matrix multiply operation on a first matrix and a weights matrix” in lines 9-10, however for consistency of the corresponding independent claims 7 and 14 it should be recited as “responsive to a request to perform a matrix multiply operation on a first matrix and the weights matrix” as the first instance of the weights matrix was in the claim element beforehand (in line 6). Claims 2-3, 5-6 inherit the deficiency by reasons of dependence.
Appropriate correction is required.
Claim Construction
Regarding claim 14, the preamble is given patentable weight. Claim 20 contains the limitation “the one or more non-transitory, computer-readable storage media” and “the one or more computing devices” in the body, which are referring to the limitations as recited in the preamble of claim 14. A skilled person in the art reading the claims would consider the claim in view of the body and preamble, and identify them limited to the technological environment of the one or more non-transitory, computer-readable storage media and one or more computing devices performing the particular matrix multiplication operation. The body of the claim depends on the preamble for completeness, and gives life, meaning, and vitality to this claim. Therefore, the preamble of claim 14 should be afforded patentable weight.
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-3, 5-9, 11-16, 18-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., an abstract idea) without significantly more.
Regarding claim 1, under the Alice Framework Step 1 analysis, the claim falls within the four statutory categories of patentable subject matter: an apparatus.
Under the Alice Framework Step 2A Prong 1 analysis, the claim recites Mathematical Concepts and/or Mental Processes. The claim recites Mathematical Calculations, which is specifically identified as an exemplar in the Mathematical Concepts grouping of abstract ideas, and/or recites Evaluations, which is specifically identified as an exemplar in the Mental Processes grouping of abstract ideas:
“a portion of a plurality of versions of a weights matrix, the portion comprising at least a transposed version of the weights matrix and a non-transposed version of the weights matrix; and
responsive to a request to perform a matrix multiply operation on a first matrix and a weights matrix:
select a version of the plurality of stored versions of the weights matrix to perform the matrix multiply operation based, at least in part, on a performance profile identified for the matrix multiply operation; and
perform the requested matrix multiply operation according to the selected version of the weights matrix.”
See specification ([0030-0031], [0033], [0041], [0045]) describing a portion of a plurality of versions of a weights matrix. See specification ([0041], [0043]) describing responsive to a request. See specification ([0042-0043], [0045-0049]) describing selecting. See specification ([0014], [0026-0027]) describing performing the requested matrix multiply operation. For these reasons, the claim recites Mathematical Concepts and/or Mental Processes.
Under the Alice Framework Step 2A Prong 2 analysis, the claim recites the combination of the following additional elements: at least one processor, a memory comprising program instructions that when executed by the at least one processor cause the at least one processor to implement a machine learning system, the machine learning system, and storing. At least one processor, a memory comprising program instructions that when executed by the at least one processor cause the at least one processor to implement a machine learning system, and the machine learning system are recited at a high level of generality, and are examples of generic computing elements, and/or merely generally linked to a particular technological environment (see MPEP 2106.05(h)(vi): Limiting the abstract idea of collecting information, analyzing it, and displaying certain results of the collection analysis to data related to the electric power grid, because limiting application of the abstract idea to power-grid monitoring is simply an attempt to limit the use of the abstract idea to a particular technological environment). The storing limitation is an example of insignificant extra-solution activity, mere data gathering (see MPEP 2106.05(g): Insignificant Extra-Solution Activity). Taken alone or in combination, they fail to integrate the judicial exception into a practical application.
Under the Alice Framework Step 2B Analysis, the additional elements recited above, taken alone or in combination, do not amount to significantly more than the judicial exception. As discussed in the Step 2A Prong 2 Analysis, the claim recites at least one processor, a memory comprising program instructions that when executed by the at least one processor cause the at least one processor to implement a machine learning system, and the machine learning system at a high level of generality, which merely result in “apply it” on a computer and/or generally link the abstract idea to a particular technological environment. The limitation described above as an insignificant extra-solution activity are also well-understood, routine, or conventional (for storing: see MPEP 2106.05(d)(II)(iv): Storing and retrieving information in memory). Since the claim does not include additional elements that, alone or in combination, amount to significantly more than the judicial exception, claim 1 is ineligible.
Claims 2-3 and 5 merely further limits the mathematical concepts. Claims 2-3 and 5 do not recite any new additional elements.
Under the Alice Framework Step 2A Prong 1 analysis, claim 6 recites Mathematical Concepts and/or Mental Processes. The claim recites Mathematical Calculations, which is specifically identified as an exemplar in the Mathematical Concepts grouping of abstract ideas, and/or recites Evaluations, which is specifically identified as an exemplar in the Mental Processes grouping of abstract ideas:
“ the matrix multiply operation,
generating an inference”
See specification ([0014]) describing the matrix multiplying operation. See specification ([0025-0026], [0030-0031]) describing generating an inference. For these reasons, the claim recites Mathematical Concepts and/or Mental Processes.
Under the Alice Framework Step 2A Prong 2 analysis, the claim recites the combination of the following additional elements: requesting and a machine learning model. The machine learning model is an example of generic computing elements, and/or merely generally linked to a particular technological environment (see MPEP 2106.05(h)(vi): Limiting the abstract idea of collecting information, analyzing it, and displaying certain results of the collection analysis to data related to the electric power grid, because limiting application of the abstract idea to power-grid monitoring is simply an attempt to limit the use of the abstract idea to a particular technological environment). The claim recites limitations which are examples of generic computing elements that result in “apply it” on a computer and/or generally link the abstract idea to a particular technological environment. The requesting limitation is an example of insignificant extra-solution activities, mere data gathering (see MPEP 2106.05(g): Insignificant Extra-Solution Activity). Taken alone or in combination, they fail to integrate the judicial exception into a practical application.
Under the Alice Framework Step 2B Analysis, the additional elements recited above, taken alone or in combination, do not amount to significantly more than the judicial exception. As discussed in the Step 2A Prong 2 Analysis, the claim recites generic computing components which merely result in “apply it” on a computer and/or generally link the abstract idea to a particular technological environment. The insignificant extra-solution activity described above is also well-understood, routine, or conventional (see MPEP 2106.05(d)(II)(ii): Performing repetitive calculations). Since the claim does not include additional elements that, alone or in combination, amount to significantly more than the judicial exception, claim 6 is ineligible.
Claims 7-9, 11-12 are directed to a method that would be performed by the apparatus of claims 1-3, 5-6, respectively. The claims 1-3, 5-6 analysis equally applies.
Claims 14-16, 18-19 are directed to a computer program product that when executed would perform the apparatus of claims 1-3, 5-6, respectively. The claims 1-3, 5-6 analysis equally applies.
Under the Alice Framework Step 2A Prong 1 analysis, claim 20 recites Mathematical Concepts and/or Mental Processes. The claim recites Mathematical Calculations, which is specifically identified as an exemplar in the Mathematical Concepts grouping of abstract ideas, and/or recites Evaluations, which is specifically identified as an exemplar in the Mental Processes grouping of abstract ideas:
“ detecting an event to reduce store matrices; and
responsive to detecting the event, selecting one or more of the plurality of versions of the weights matrix to remove from storage.”
See specification ([0051]) describing detecting an event. See specification ([0052-0053]) describing response to detecting. For these reasons, the claim recites Mathematical Concepts and/or Mental Processes.
Under the Alice Framework Step 2A Prong 2 analysis, the claim recites the combination of the following additional elements: wherein the one or more non-transitory, computer-readable storage media store additional program instructions that when executed on or across the one or more computing devices. The one or more non-transitory, computer-readable storage media store additional program instructions that when executed on or across the one or more computing devices are recited at a high level of generality, and are examples of generic computing elements, and/or merely generally linked to a particular technological environment (see MPEP 2106.05(h)(vi): Limiting the abstract idea of collecting information, analyzing it, and displaying certain results of the collection analysis to data related to the electric power grid, because limiting application of the abstract idea to power-grid monitoring is simply an attempt to limit the use of the abstract idea to a particular technological environment). Taken alone or in combination, they fail to integrate the judicial exception into a practical application.
Under the Alice Framework Step 2B Analysis, the additional elements recited above, taken alone or in combination, do not amount to significantly more than the judicial exception. As discussed in the Step 2A Prong 2 Analysis, the claim recites insignificant extra-solution activities and generic computing components which merely result in “apply it” on a computer and/or generally link the abstract idea to a particular technological environment. Since the claim does not include additional elements that, alone or in combination, amount to significantly more than the judicial exception, claim 20 is ineligible.
Claim 13 recites similar limitations to claim 20. The claim 20 analysis similarly applies, and claim 13 is equally rejected.
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 1-3, 5-9, 11-12, 14-16, 18-19 are rejected under 35 U.S.C. 103 as being unpatentable over US 20210173895 A1 Han et al. (hereinafter “Han”) in view of G. Huang, G. Dai, Y. Wang and H. Yang, "GE-SpMM: General-Purpose Sparse Matrix-Matrix Multiplication on GPUs for Graph Neural Networks," SC20: International Conference for High Performance Computing, Networking, Storage and Analysis, Atlanta, GA, USA, 2020, pp. 1-12, doi: 10.1109/SC41405.2020.00076. (hereinafter “Huang”) in view of US 20200356837 A1 Hargil et al. (hereinafter “Hargil”).
Regarding claim 1, Han teaches a system, comprising:
at least one processor (Fig. 9, 910, [0117]);
a memory (Fig. 9, 920, [0118]), comprising program instructions that when executed by the at least one processor cause the at least one processor ([0118], [0133]) to implement a machine learning system (Fig. 9, 900, [0115]), the machine learning system configured to:
store (Fig. 9, Weight Data, [0118]) a portion of a plurality of version (Fig. 8, 831, 832, 833, [0111-0112] weight) of a weights matrix (Fig. 8 “820” [0109-0110]), the portion comprising at least a transposed version of the weights matrix and a non-transposed version of the weights matrix ([0113]); and
responsive to a request ([0007], [0133]) to perform a matrix multiply operation ([0108]) on a first matrix (Fig. 8, 810, 811, [0109]) and a weights matrix (Fig. 8, 820, [0109-0110]):
select a version (Fig. 8, one of 831, 832, 833, [0111-0112]) of the plurality of stored versions of the weights matrix (Fig. 8, 831, 832, 833, [0111-0112] columns) to perform the matrix multiply operation ([0112]) based, at least in part, on a performance profile identified for the matrix multiply operation ([0110]); and
perform the requested matrix multiply operation according to the selected version of the weights matrix (Fig. 8, a11 matrix multiplied by 831, b11 matrix multiplied by 832, c11 matrix multiplied by 833, [0110-0113]).
Although Han teaches the matrix multiplication, they are silent with explicitly disclosing the system as a machine learning system and basing the matrix multiplication, at least in part, on a performance profile identified. Further, Han is silent with disclosing the logical AND of: a portion comprising at least a transposed version of the weights matrix and a non-transposed version of the weights matrix.
Huang teaches machine learning (Pg. 1, Col. 1, Sec. I., Para. 1; Pg. 3, Col. 2, Sec. II-C, Para. 1; Pg. 6, Col. 2, Sec. IV-B, Para. 1) and basing, at least in part, on a performance profile identified (Pg. 7, Col. 2, V-B-1; Pg. 8, Col. 1, V-B-2).
It would have been obvious to one of ordinary skill in the art before the effective filing date to modify Han’s matrix multiplication system with Huang’s machine learning and profiling techniques because they are in the claimed invention’s same field of endeavor of matrix multiplication [Abstract]. It would have been obvious to one of ordinary skill in the art to try Han’s techniques in a machine learning environment as Han’s techniques are already directed to a neural network system. It would have been obvious to try, with predictable results to apply the neural network in a machine learning environment, and would be beneficial as it would give Han’s neural network apparatus more applications, such as link prediction and node classification (Pg. 1, Col. 1, Sec. I, Para. 1). It would have been obvious to one of ordinary skill in the art to implement profiling techniques, as by implementing these features provides more support for designers to configure matrix multiplication devices. By providing designers the capability of analyzing performances of different matrices in a machine learning environment (Pg. 7, Col. 2, V-B-1; Pg. 8, Col. 1, V-B-2) they are better equipped to effectively improve efficiency of global data access, which leads to significant speedups and significant training time reduction (Pg. 11, Sec. V). It is through having more control over configurability via the types of data applied to different matrix multiplication systems and applications that they are able to achieve the benefits of this modification.
Further, Huang and Han in view of Huang are silent with disclosing the logical AND: of a portion comprising at least a transposed version of the weights matrix and a non-transposed version of the weights matrix.
Hargil teaches a portion (Fig. 6 WO0 – WOM columns in “320” [0059]) comprising at least a transposed version of the weights matrix and a non-transposed version of the weights matrix ([0059] transposed columns WO0 – WOM stored in place; [0066] portions of columns associated with remainder rows are not transposed, other portions of columns are transposed).
It would have been obvious to one of ordinary skill in the art before the effective filing date to modify Han in view of Huang’s matrix multiplication system with Hargil’s portion comprising at least a transposed version feature because they are in the claimed invention’s same field of endeavor of matrix multiplication [Abstract]. It would have been obvious to one of ordinary skill in the art to try Hargil’s portion comprising at least a transposed version feature and apply it to Han’s weight matrix as Han’s techniques are already directed to utilizing different versions of the weight matrix for the matrix multiplication operation. It would have been obvious to try with predictable results, as applying the portion comprising at least a transposed version to the weight matrix would be beneficial since it would improve the matrix multiplication operation efficiency ([0033], [0038], [0058]).
Regarding claim 2, in addition to the teachings addressed in the claim 1 analysis, the rejection of claim 1 is incorporated and Han teaches the system wherein the machine learning system is further configured to:
generate different respective test matrices with different respective shapes (Fig. 3A, 311, 312, 313, [0060-0062]; Fig. 8, 810, 811, [0109], [0113]);
compare performance of matrix multiplication ([0110], [0112]) between the different respective test matrices with the different versions of the weights matrix (Fig. 8, 831, 832, 833, [0111-0112] columns); and
based on the comparison, generate the performance profile for the matrix multiply operation ([0110], [0112]).
Although Han teaches the matrix multiplication, they are silent with explicitly disclosing generating different respective test matrices, comparing performance between the different respective test matrices, and based on the comparison, generate the performance profile.
Huang teaches generating different respective test matrices (Fig. 8 and 9, matrix_id; Pg. 7, Col. 2, V-B-1, matrices in tests), comparing performance between the different respective test matrices (Fig. 8 and 9, speedup; Pg. 8, Col. 1, V-B-1), and based on the comparison, generate the performance profile (Table VI, Pg. 8, Col. 1, V-B-2, profiling three metrics: gld_transactions, gld_throughput, achieved_occupancy).
The motivation to combine provided with respect to claim 1 equally applies.
Regarding claim 3, in addition to the teachings addressed in the claim 1 analysis, the rejection of claim 1 is incorporated and Han teaches the system wherein the machine learning system is further configured to:
responsive to another selection of the version of the weights matrix (Fig. 8, one of 831, 832, 833 not previously selected, [0111-0112]):
generate the selected version of the weights matrix (Fig. 8, one of 831, 832, 833, [0111-0112]) from another one of the plurality of versions of the weights matrix (Fig. 8, 831, 832, 833, [0111-0112] columns).
Regarding claim 5, in addition to the teachings addressed in the claim 1 analysis, the rejection of claim 1 is incorporated and Han teaches the system wherein:
the performance profile is an array of values that respectively specify the version of the plurality of versions of the weights matrix (Fig. 8, 831, 832, 833, [0111-0112] columns) in different respective entries corresponding to different shapes of the first matrix (Fig. 3A, 311, 312, 313, [0060-0062]; Fig. 8, 810, 811, [0109], [0113]) and wherein to select the version of the plurality of versions of the weights matrix (Fig. 8, 831, 832, 833, [0111-0112] columns) to perform the matrix multiply operation ([0110], [0112]), the machine learning system (Fig. 9, 900, [0115]) is configured to access one of the entries in the array of values identified according to a shape of the first matrix (Fig. 3A, 311, 312, 313, [0060-0062]; Fig. 8, 810, 811, [0109], [0113]).
Although Han teaches the matrix multiplication, they are silent with explicitly disclosing the performance profile is an array of values that respectively specify, in different respective entries, and machine learning is configured to access one of the entries in the array of values identified.
Huang teaches the performance profile is an array of values that respectively specify (Table VI, Pg. 8, Col. 1, V-B-2, profiling three metrics: gld_transactions, gld_throughput, achieved_occupancy), in different respective entries (Table VI contains five rows and four columns), and machine learning (Pg. 1, Col. 1, Sec. I., Para. 1; Pg. 3, Col. 2, Sec. II-C, Para. 1; Pg. 6, Col. 2, Sec. IV-B, Para. 1) is configured to access (Pg. 8, Col. 1, V-B-2, tested on one of the random graphs) one of the entries in the array of values identified (Table VI, Pg. 8, Col. 1, V-B-2, profiling three metrics: gld_transactions, gld_throughput, achieved_occupancy).
The motivation to combine provided with respect to claim 1 equally applies.
Regarding claim 6, in addition to the teachings addressed in the claim 1 analysis, the rejection of claim 1 is incorporated and Han teaches the system wherein:
the matrix multiply operation ([0110], [0112]) is requested as part of generating an inference of a machine learning model.
Although Han teaches the matrix multiplication, they are silent with explicitly disclosing the multiplication operation is requested as part of generating an inference of a machine learning model.
Huang teaches is requested as part of generating an inference (Pg. 2, Sec. I, Col. 1, Para. 1; Pg. 3, Col. 2, II-B, Para. 2, GNN inference) of a machine learning model (Pg. 1, Col. 1, Sec. I., Para. 1; Pg. 3, Col. 2, II-B, Para. 2; Pg. 3, Col. 2, Sec. II-C, Para. 1; Pg. 6, Col. 2, Sec. IV-B, Para. 1; Pg. 8, Col. 2, V-C, Para. 1-2, GNN models).
The motivation to combine provided with respect to claim 1 equally applies.
Claims 7-9, 11-12 are directed to a method that would be performed by the apparatus of claims 1-3, 5-6, respectively. The claims 1-3, 5-6 analysis equally applies.
Claims 14-16, 18-19 are directed to a computer program product that when executed would be perform the apparatus of claims 1-3, 5-6, respectively. The claims 1-3, 5-6 analysis equally applies.
Claims 13 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Han in view of Huang in view of Hargil as applied to claims 1, 7, and 14 above, and further in view of US 20170169332 A1 Graves et al. (hereinafter “Graves”).
Regarding claim 20, in addition to the teachings addressed in the claim 14 analysis, the rejection of claim 14 is incorporated and Han teaches the one or more non-transitory, computer-readable storage media wherein:
the one or more non-transitory, computer-readable storage media store additional program instructions that when executed on or across ([0007], [0133]) the one or more computing devices, cause the one or more computing devices ([0115], [0133]) to further implement:
detecting an event to reduce store matrices; and
responsive to detecting the event, selecting one or more of the plurality of versions of the weights matrix (Fig. 8, 831, 832, 833, [0111-0112] columns) to remove from storage.
Although Han teaches the matrix multiplication, they are silent with explicitly disclosing detecting an event to reduce store matrices, and response to detecting the event, to remove from storage.
Similarly, Huang is silent with disclosing detecting an event to reduce store matrices, and response to detecting the event, to remove from storage.
Thus, Han in view of Huang are silent with disclosing detecting an event to reduce store matrices, and response to detecting the event, to remove from storage.
Han in view of Huang in view of Hargil are silent with disclosing detecting an event to reduce store matrices, and response to detecting the event, to remove from storage.
Graves teaches detecting an event to reduce store matrices (Fig. 2, 212, [0053-0054], as the event before 214), and response to detecting the event, to remove from storage (Fig. 2, 214, [0056]).
It would have been obvious to one of ordinary skill in the art before the effective filing date to modify Han in view of Huang in view of Hargil’s modified matrix multiplication system with Graves’ detection and removal techniques because they are in the claimed invention’s same field of endeavor of matrix multiplication [0107]. It would have been obvious to one of ordinary skill in the art to implement the detection and removal techniques, as by implementing these features provides more support for designers to configure matrix multiplication devices through the capability of removing unnecessary data. By removing data, it allows the architecture to make better use of the memory ([0008]). Thus, it would be beneficial to make this modification to allocate such memory resources in other areas of need.
Claim 13 recites similar limitations to claim 20. The claim 20 analysis similarly applies, and claim 13 is equally rejected.
Response to Arguments
Claim Objections. The objections have been withdrawn based on the amendment to the claims. A new grounds of objection is made as necessitated by the amendment.
35 USC 103. Applicant argues the following in substance:
Applicant asserts that, the claims have been amended to incorporate features of claim 4, therefore the rejection of claim 4 is additionally considered. In the rejection of claim 1, the Action recognizes that Han, as modified by Huang, fails to disclose multiple versions of a matrix including transposed and non-transposed versions and instead cites the newly added Hargil paragraph [0038] which states (emphasis added):
Typically, performing a matrix multiplication operation using a two- dimensional input matrix arranged in row-major order and a two- dimensional weight matrix arranged in column-major order, can be inefficient as the processor does not perform consecutive memory read operations to retrieve respective input elements and weight values, which may significantly slow training of the convolutional neural network and/or use of the convolutional neural network by other system. Typically, in order to improve efficiency of the matrix multiplication operation, the processor may first transpose the two-dimensional weight matrix 20', such that, the two-dimensional weight matrix 20' is converted from being arranged in column-major order to being arranged in row-major order. The processor then performs the matrix multiplication operation between the two-dimensional input matrix 10 and the transposed version of the two-dimensional weight matrix 20' (e.g., arranged in row-major order).
Hargil discloses that, to perform a matrix multiplication, a process may first transpose a weight matrix and then perform a multiplication using the modified matrix. Hargil therefore does not disclose either storing of transposed matrixes or selecting from among a plurality of stored matrixes according to a performance profile. For the storing and selecting features, the Action cited Han in both claim 1 and claim 4 for disclosing weight data (Figure 9 920 and Figure 8 elements 831, 832 and 833), however Han does not disclose storing and selecting from among multiple versions of a same weight matrix, including transposed and non-transposed versions, but merely discloses different weight matrixes, therefore incorporating Hargil into Han, can at best disclose use of a transposed weight matrix to perform matrix multiplication but does not disclose storing and selecting from among multiple versions of a single weight matrix. As Huang is not cited for and does not disclose this feature, the combination of references therefore fails to teach or suggest a machine learning system configured to store a portion of a plurality of versions of a weights matrix, the portion comprising at least a transposed version of the weights matrix and a non-transposed version of the weights matrix and responsive to a request to perform a matrix multiply operation on a first matrix and a weights matrix, select a version of the plurality of stored versions of the weights matrix to perform the matrix multiply operation based, at least in part, on a performance profile identified for the matrix multiply operation, as claimed (see Remarks p. 9-10).
Examiner respectfully disagrees. In light of the amendments to the claims, additional citations of Hargil are relied upon to disclose “a portion comprising at least a transposed version”. In [0066], Hargil discloses portions of columns associated with remainder rows are not transposed, while other portions of columns are transposed of the weight matrix.
35 USC 101. Applicant argues the following in substance:
Applicant asserts that, the claims have been amended herein to recite "perform[ing] the requested matrix multiply operation" rather than previously recited multiply feature, and Applicant respectfully submits that neither the request feature nor the perform feature recite an explicit mathematical computation (see Remarks p. 11-12).
Examiner respectfully disagrees. This amended merely rephrases the multiply feature and does not somehow negate the essence of an abstract idea, mathematical concepts and/or mental processes, by reciting “perform[ing]”. The “requested” merely described which of the operations is being performed, and the “performing” merely describes executing the matrix multiply operation. Therefore, the abstract idea is still recited in this claim element.
See MPEP 2106.04(a)(2)(I)(C): That is, a claim does not have to recite the word "calculating" in order to be considered a mathematical calculation. For example, a step of "determining" a variable or number using mathematical methods or "performing" a mathematical operation may also be considered mathematical calculations when the broadest reasonable interpretation of the claim in light of the specification encompasses a mathematical calculation.
Applicant asserts that, the select feature also does not recite a mathematical computation, in contradiction to the Action's claim (see Remarks p. 12).
Examiner respectfully disagrees. The “selecting” feature as described in light of the specification ([0042-0043], [0045-0049]) is performed based on a performance profile (an array or other data structure) identified for the matrix multiply operation, where a transposeFlags array is generated based on performance comparisons.
Furthermore, the “selecting” feature can be performed in the mind, under the broadest reasonable interpretation. For example, selecting a version among a plurality of versions of the weights matrix is a process capable of being performed by use of pen and paper as illustrated in (Fig. 4 “420” [0042]; Fig. 5 [0045-49]; Fig. 6 “630” [0052]). See MPEP 2106.04(a)(2)(III)(A): In contrast, claims do recite a mental process when they contain limitations that can practically be performed in the human mind, including for example, observations, evaluations, judgments, and opinions. Examples of claims that recite mental processes include: a claim to collecting and comparing known information (claim 1), which are steps that can be practically performed in the human mind, Classen Immunotherapies, Inc. v. Biogen IDEC, 659 F.3d 1057, 1067, 100 USPQ2d 1492, 1500 (Fed. Cir. 2011).
Applicant asserts that, like Example 39, the performing of a requested matrix multiplication may involve or rely upon mathematical concepts but the receive and perform features do not set forth or describe any mathematical relationships, calculations, formulas, or equations using words or mathematical symbols. Similarly, Example 39 concludes, regarding Prong 1 analysis.
Applicant respectfully submits that the present claims are similar to the claim of Example 39 in that they do not recite any mathematical relationships, formulas, or calculations nor do they recite a mental process because recited steps are not practically performed in the human mind (see Remarks p. 12).
Examiner respectfully disagrees. Example 39 has been considered but is unlike the recited claims of the instant application. This difference is due to the claims of the instant application reciting abstract ideas, as evidenced in the 35 USC 101 Rejection section and supplemented further in response above to Arguments 1 and 2. Furthermore, the instant application does not claim training a neural network for facial detection and its claimed processes, which is dissimilar to the instant application which claims performing matrix multiplication by generic computer components.
4) Applicant respectfully submits that the claims are directed to improving performance of a machine learning system, where a performance limitation is a direct result of implementing matrix multiplication using computer processor. Integral to implementation is a performance profile that is identified for the particular requested multiplication and it is difficult to imagine what such a profile would represent if the claims represented a mere mental process. Thus, Applicant respectfully submits that the claims are rooted in computer technology in order to overcome a problem specifically arising in the realm of computer processing. Guidance also notes that "because revised Step 2A does not evaluate whether an additional element is well-understood, routine, conventional activity, examiners are reminded that a claim that includes conventional elements may still integrate an exception into a practical application, thereby satisfying the subject matter eligibility requirement of Section 101." Applicant therefore respectfully submits that the present claims represent significantly more than a judicial exception and are patent eligible (see Remarks p. 13).
Examiner respectfully disagrees. The purported improvements are a direct result
of applying the abstract idea, the mathematical concepts and/or mental processes,
and other than reciting “at least one processor”, “a memory comprising program instructions that when executed by the at least one processor cause the at least one processor to implement a machine learning system”, “a machine learning system”, and “storing” in claim 1 there is nothing in the claim elements that precludes the steps from practically being performed in the human mind, and/or using pen and paper.
No additional elements and/or combination of additional elements are claimed
that result in the purported improvement beyond the mathematical concepts and/or
mental processes.
With respect to “improving performance of a machine learning system” it is the abstract idea, the manner of applying the mathematical relationships and/or mental processes to perform the matrix multiplication operation based on a performance profile identified that yields the purported improvements. See specification para. ([0014], [0041-0043]).
See MPEP 2106.05(a)(I). “Examples that the courts have indicated may not be
sufficient to show an improvement in computer-functionality”.
See MPEP 2106.05(a)(II). “It is important to keep in mind that an improvement in
the abstract idea itself (e.g. a recited fundamental economic concept) is not an
improvement in technology.”
See also MPEP 2106.05. An inventive concept "cannot be furnished by the
unpatentable law of nature (or natural phenomenon or abstract idea) itself."
To the extent Applicant is arguing mere recitation of “machine learning” integrates the abstract idea into a practical application, this does not add a meaningful limitation as it is merely a nominal or a generic component of the claim, and is nothing more than an attempt to generally link the abstract idea to a particular technological environment. See MPEP 2106.05(b)(III).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MARKUS A VILLANUEVA whose telephone number is (703)756-1603. The examiner can normally be reached M - F 8:30 am - 5:30 pm.
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, James Trujillo can be reached at (571) 272-3677. 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.
/MARKUS ANTHONY VILLANUEVA/Examiner, Art Unit 2151
/James Trujillo/Supervisory Patent Examiner, Art Unit 2151