DETAILED ACTION
Notice of 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 .
Priority
Regarding Chinese Patent Application No. CN202110729805.X (filed 6/28/2021), receipt is acknowledged of certified copies of papers required by 37 CFR 1.55.
Regarding PCT Application No. PCT/CN2022/101826 (filed 6/28/2022), Applicant’s claim for the benefit of a prior-filed application under 35 U.S.C. 120, 121, 365(c), or 386(c) is acknowledged.
Information Disclosure Statement
The information disclosure statements submitted on 1/3/2025, 1/8/2025, and 2/9/2026 have been considered.
Drawings
The drawings are objected to because Figure 5 should be corrected to comply with the applicable sections of 37 CFR 1.84 set forth below. In particular, Fig. 5 should be drawn using India ink or its equivalent.
(a) Drawings. There are two acceptable categories for presenting drawings in utility and design patent applications.
(1) Black ink. Black and white drawings are normally required. India ink, or its equivalent that secures solid black lines, must be used for drawings; or
Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. The figure or figure number of an amended drawing should not be labeled as “amended.” If a drawing figure is to be canceled, the appropriate figure must be removed from the replacement sheet, and where necessary, the remaining figures must be renumbered and appropriate changes made to the brief description of the several views of the drawings for consistency. Additional replacement sheets may be necessary to show the renumbering of the remaining figures. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
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 is directed to an abstract idea without significantly more. Moreover, claims 17-20 are rejected under 35 U.S.C. 101 because claims 17-20 are not directed to an eligible statutory category of invention.
Regarding Step 1 of the Alice/Mayo framework, Claims 1-12 are directed to a method (a process), and claims 13-16 are directed to an apparatus (a machine), which each fall within one of the four statutory categories of inventions. However, claims 17-20 are directed to a “computer-readable storage medium” and because the broadest reasonable interpretation of this term, in view of the specification, includes transitory forms of signal transmission (“signals per se”), these claims are rejected as not pertaining to an eligible statutory category. MPEP 2106.03. The specification does not contain and clear language excluding transitory forms of signal transmission from the interpretation of “computer-readable storage medium.” The examiner suggests amending claims 17-20 to recite a “non-transitory computer-readable storage medium” in order to overcome the rejection.
Regarding Claim 1
Step 2A, prong 1 (Is the claim directed to a law of nature, a natural phenomenon or an abstract idea).
Claim 1 recites the following mental processes, that in each case under the broadest reasonable interpretation, covers performance of the limitation in the mind (including an observation, evaluation, judgment, opinion) or with the aid of pencil and paper but for the recitation of generic computer components (e.g., “database system”, “to-be-trained model”, and “trained model).
generating an execution plan of the model training policy and an estimated execution cost of the execution plan; (under the broadest reasonable interpretation, a human can mentally determine a plan for training a machine learning model, such as a plan to train a model for a particular task, using backpropagation with SGD, and a human can mentally estimate the resource cost of such plan (e.g., needing 12 hours to train on available servers))
obtaining, based on the estimated execution cost, M training sample groups in the N training sample groups; (under the broadest reasonable interpretation, a human can mentally determine a subset of the training samples to use for training based on the estimated execution cost that the human wants to meet)
Step 2A, prong 2 (Does the claim recite additional elements that integrate the judicial exception into a practical application?).
The judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements (e.g., “database system”, “to-be-trained model”, and “trained model) which are recited at a high-level of generality such that they amount to no more than mere instructions to apply the exception using a generic computer component (See MPEP 2106.05(f)).
Regarding the “data processing method, applied to a database system” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception. In particular, the claim only recites the additional element of a database system. This additional element is recited at a high-level of generality and amounts to no more than mere instructions to apply the exception using a generic computer component (a database system). Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea (See MPEP 2106.05(f)).
Regarding the “obtaining a model training request, wherein the model training request comprises a plurality of training samples and a model training policy, and the plurality of training samples is grouped into N training sample groups” limitation, such additional element of a data gathering step is recited at a high level of generality and amounts to extra-solution activity of receiving data, i.e. pre-solution activity of gathering data for use in the claimed process (see MPEP 2106.05(g)).
Regarding the “executed by the database system” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception. In particular, the claim only recites the additional element of a database system. This additional element is recited at a high-level of generality and amounts to no more than mere instructions to apply the exception using a generic computer component (a database system). Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea (See MPEP 2106.05(f)).
Regarding the “training a to-be-trained model in parallel by using the M training sample groups, to obtain M pieces of parameter update data” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception. In particular, the claim only recites the additional element of generic training of a model. This additional element is recited at a high-level of generality and amounts to no more than mere instructions to apply the exception using a generic computer component (generic training of a model). Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea (See MPEP 2106.05(f)).
Regarding the “updating the to-be-trained model based on the M pieces of parameter update data, to obtain a trained model” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception. In particular, the claim only recites the additional element of generic training of a model. This additional element is recited at a high-level of generality and amounts to no more than mere instructions to apply the exception using a generic computer component (generic training of a model). Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea (See MPEP 2106.05(f)).
Accordingly, at Step 2A, prong two, after considering all claim elements individually and as an ordered combination, it is determined that the claims do not integrate the judicial exception into a practical application.
Step 2B (Does the claim recite additional elements that amount to significantly more than the judicial exception?)
In accordance with Step 2B, the claim does not include additional elements that are sufficient to amount to significantly more that the judicial exception. As discussed above, the additional elements (e.g., “database system”, “to-be-trained model”, and “trained model) are recited at a high-level of generality such that they amount to no more than mere instructions to apply the exception using a generic computer component (See MPEP 2106.05(f)).
Regarding the “data processing method, applied to a database system” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception, because the limitation merely provides instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea. Accordingly, this additional element does not add significantly more than the judicial exception. (See MPEP 2106.05(f)).
Regarding the “obtaining a model training request, wherein the model training request comprises a plurality of training samples and a model training policy, and the plurality of training samples is grouped into N training sample groups” limitation, as discussed above, the additional element of a data gathering step is recited at a high level of generality and amounts to extra-solution activity of receiving data, i.e. pre-solution activity of gathering data for use in the claimed process. The courts have found limitations directed to obtaining information electronically, recited at a high level of generality, to be well-understood, routine, and conventional (see MPEP 2106.05(d)(II), “receiving or transmitting data over a network”, "electronic record keeping," and "storing and retrieving information in memory").
Regarding the “executed by the database system” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception, because the limitation merely provides instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea. Accordingly, this additional element does not add significantly more than the judicial exception. (See MPEP 2106.05(f)).
Regarding the “training a to-be-trained model in parallel by using the M training sample groups, to obtain M pieces of parameter update data” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception, because the limitation merely provides instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea. Accordingly, this additional element does not add significantly more than the judicial exception. (See MPEP 2106.05(f)).
Regarding the “updating the to-be-trained model based on the M pieces of parameter update data, to obtain a trained model” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception, because the limitation merely provides instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea. Accordingly, this additional element does not add significantly more than the judicial exception. (See MPEP 2106.05(f)).
Accordingly, at Step 2B after considering all claim elements individually and as an ordered combination, it is determined that the claims do not integrate the judicial exception into a practical application.
Regarding Claim 2
Step 2A, Prong 2
Regarding the “wherein the parameter update data is an update gradient of the to-be-trained model” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception. In particular, the claim only recites the additional element of generic training techniques. This additional element is recited at a high-level of generality and amounts to no more than mere instructions to apply the exception using a generic computer component (generic training techniques). Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea (See MPEP 2106.05(f)).
Moreover, such limitation amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (training using gradients, such as SGD). As explained by the Supreme Court, a claim directed to a judicial exception cannot be made eligible "simply by having the applicant acquiesce to limiting the reach of the patent for the formula to a particular technological use." Diamond v. Diehr, 450 U.S. 175, 192 n.14, 209 USPQ 1, 10 n. 14 (1981). Thus, limitations that amount to merely indicating a field of use or technological environment in which to apply a judicial exception do not integrate a judicial exception into a practical application.
Step 2B
Regarding the “wherein the parameter update data is an update gradient of the to-be-trained model” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception, because the limitation merely provides instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea. Accordingly, this additional element does not add significantly more than the judicial exception. (See MPEP 2106.05(f)).
Moreover, such limitation amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use as explained above, which does not amount to significantly more than the judicial exception. MPEP 2106.05(h).
Regarding Claim 3
Step 2A, Prong 1
wherein the execution plan comprises a plurality of AI operators (under the broadest reasonable interpretation, a human can mentally include specific AI operators in the execution plan, such as training using SGD, with an ADAM optimizer)
Step 2A, Prong 2
Regarding the “an operator type of each of the plurality of AI operators is preconfigured on the database system” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception. In particular, the claim only recites the additional element of a database system. This additional element is recited at a high-level of generality and amounts to no more than mere instructions to apply the exception using a generic computer component (a database system). Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea (See MPEP 2106.05(f)).
Step 2B
Regarding the “an operator type of each of the plurality of AI operators is preconfigured on the database system” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception, because the limitation merely provides instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea. Accordingly, this additional element does not add significantly more than the judicial exception. (See MPEP 2106.05(f)).
Regarding Claim 4
Step 2A, Prong 1
wherein the estimated execution cost of the execution plan is obtained based on estimated execution costs of the plurality of AI operators (under the broadest reasonable interpretation, a human can estimate the execution cost based on the AI operators, such as estimating the amount of resources and time to train a model with a particular number of samples, using SGD and ADAM, based on personal experience)
Regarding Step 2A, Prong 2, the claim does not include any additional elements that integrate the judicial exception into a practical application and regarding Step 2B, there are no additional elements recited that amount to significantly more than the judicial exception.
Regarding Claim 5
Step 2A, Prong 1
obtaining, based on the plurality of AI operators, the estimated execution costs of the plurality of AI operators (under the broadest reasonable interpretation, a human can estimate the execution cost based on the AI operators, such as estimating the amount of resources and time to train a model with a particular number of samples, using SGD and ADAM, based on personal experience)
Step 2A, Prong 2
Regarding the “by using an execution plan query statement” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception. In particular, the claim only recites the additional element of a basic SQL database command. This additional element is recited at a high-level of generality and amounts to no more than mere instructions to apply the exception using a generic computer component (a basic SQL database command). Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea (See MPEP 2106.05(f)).
Step 2B
Regarding the “by using an execution plan query statement” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception, because the limitation merely provides instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea. Accordingly, this additional element does not add significantly more than the judicial exception. (See MPEP 2106.05(f)).
Regarding Claim 6
Step 2A, Prong 1
wherein a value of M is negatively correlated with the estimated execution cost. (under the broadest reasonable interpretation, a human can mentally determine M, as a subset of the entire training set, where M goes down as the estimated execution cost goes up, because more training samples requires more training resources)
Regarding Step 2A, Prong 2, the claim does not include any additional elements that integrate the judicial exception into a practical application and regarding Step 2B, there are no additional elements recited that amount to significantly more than the judicial exception.
Regarding Claim 7
Step 2A, Prong 1
the obtaining of the M training sample groups in the N training sample groups comprises: obtaining, based on the estimated execution cost and the currently available computing resource, the M training sample groups in the N training sample groups, wherein a value of M is positively correlated with the currently available computing resource (under the broadest reasonable interpretation, a human can mentally determine M, as a subset of the entire training set, where M goes up as the available resources for training goes up)
Step 2A, Prong 2
Regarding the “obtaining a currently available computing resource of the database system” limitation, such additional element of a data gathering step is recited at a high level of generality and amounts to extra-solution activity of receiving data, i.e. pre-solution activity of gathering data for use in the claimed process (see MPEP 2106.05(g)).
Step 2B
Regarding the “obtaining a currently available computing resource of the database system” limitation, as discussed above, the additional element of a data gathering step is recited at a high level of generality and amounts to extra-solution activity of receiving data, i.e. pre-solution activity of gathering data for use in the claimed process. The courts have found limitations directed to obtaining information electronically, recited at a high level of generality, to be well-understood, routine, and conventional (see MPEP 2106.05(d)(II), “receiving or transmitting data over a network”, "electronic record keeping," and "storing and retrieving information in memory").
Regarding Claim 8
Step 2A, Prong 2
Regarding the “performing a shuffle operation on the plurality of training samples, to obtain a plurality of shuffled training samples; and grouping the plurality of shuffled training samples, to obtain the N training sample groups” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception, because the limitation attempts to cover a solution to an identified problem with no restriction on how the result is accomplished, or provides no description of the mechanism for accomplishing the result. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea (See MPEP 2106.05(f)).
Step 2B
Regarding the “performing a shuffle operation on the plurality of training samples, to obtain a plurality of shuffled training samples; and grouping the plurality of shuffled training samples, to obtain the N training sample groups” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception, because the limitation attempts to cover a solution to an identified problem with no restriction on how the result is accomplished, or provides no description of the mechanism for accomplishing the result. Accordingly, this additional element does not add significantly more than the judicial exception. (See MPEP 2106.05(f)).
Regarding Claim 9
Step 2A, Prong 1
obtaining ... an execution cost of each of the X trained models (under the broadest reasonable interpretation, a human can mentally estimate the execution cost for a particular model based on personal experience)
determining a target model from the X trained models (under the broadest reasonable interpretation, a human can mentally determine a particular model from a set of models)
Step 2A, Prong 2
Regarding the “wherein there are X to-be-trained models in a one-to-one correspondence to X trained models, the X trained models are different models used to implement a target task” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception. In particular, the claim only recites the additional element of trained models. This additional element is recited at a high-level of generality and amounts to no more than mere instructions to apply the exception using a generic computer component (trained models). Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea (See MPEP 2106.05(f)).
Regarding the “after the updating the to-be-trained model based on the M pieces of parameter update data, to obtain a trained model, the method further comprises: obtaining a model inference request indicating the target task; obtaining currently available computing resource” limitation, such additional element of a data gathering step is recited at a high level of generality and amounts to extra-solution activity of receiving data, i.e. pre-solution activity of gathering data for use in the claimed process (see MPEP 2106.05(g)).
Regarding the “performing model inference by using the target model” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception. In particular, the claim only recites the additional element of model inference. This additional element is recited at a high-level of generality and amounts to no more than mere instructions to apply the exception using a generic computer component (model inference). Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea (See MPEP 2106.05(f)).
Step 2B
Regarding the “wherein there are X to-be-trained models in a one-to-one correspondence to X trained models, the X trained models are different models used to implement a target task” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception, because the limitation merely provides instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea. Accordingly, this additional element does not add significantly more than the judicial exception. (See MPEP 2106.05(f)).
Regarding the “after the updating the to-be-trained model based on the M pieces of parameter update data, to obtain a trained model, the method further comprises: obtaining a model inference request indicating the target task; obtaining currently available computing resource” limitation, as discussed above, the additional element of a data gathering step is recited at a high level of generality and amounts to extra-solution activity of receiving data, i.e. pre-solution activity of gathering data for use in the claimed process. The courts have found limitations directed to obtaining information electronically, recited at a high level of generality, to be well-understood, routine, and conventional (see MPEP 2106.05(d)(II), “receiving or transmitting data over a network”, "electronic record keeping," and "storing and retrieving information in memory").
Regarding the “performing model inference by using the target model” limitation, such limitation is recited at a high-level of generality and amounts to no more than adding the words “apply it” (or an equivalent) with the judicial exception, because the limitation merely provides instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea. Accordingly, this additional element does not add significantly more than the judicial exception. (See MPEP 2106.05(f)).
Regarding Claim 10
Step 2A, Prong 2
Regarding the “wherein the computing resource comprises: an input/output (I/O) resource, a central processing unit (CPU) resource, a graphics processing unit (GPU) resource, and/or a memory resource” limitation, such limitation amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use. As explained by the Supreme Court, a claim directed to a judicial exception cannot be made eligible "simply by having the applicant acquiesce to limiting the reach of the patent for the formula to a particular technological use." Diamond v. Diehr, 450 U.S. 175, 192 n.14, 209 USPQ 1, 10 n. 14 (1981). Thus, limitations that amount to merely indicating a field of use or technological environment in which to apply a judicial exception do not integrate a judicial exception into a practical application.
Step 2B
Regarding the “wherein the computing resource comprises: an input/output (I/O) resource, a central processing unit (CPU) resource, a graphics processing unit (GPU) resource, and/or a memory resource” limitation, such limitation amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use as explained above, which does not amount to significantly more than the judicial exception. MPEP 2106.05(h).
Regarding Claim 11
Step 2A, Prong 2
Regarding the “wherein the model inference request is a structured query language (SQL) statement” limitation, such limitation amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use. As explained by the Supreme Court, a claim directed to a judicial exception cannot be made eligible "simply by having the applicant acquiesce to limiting the reach of the patent for the formula to a particular technological use." Diamond v. Diehr, 450 U.S. 175, 192 n.14, 209 USPQ 1, 10 n. 14 (1981). Thus, limitations that amount to merely indicating a field of use or technological environment in which to apply a judicial exception do not integrate a judicial exception into a practical application.
Step 2B
Regarding the “wherein the model inference request is a structured query language (SQL) statement” limitation, such limitation amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use as explained above, which does not amount to significantly more than the judicial exception. MPEP 2106.05(h).
Regarding Claim 12
Step 2A, Prong 2
Regarding the “wherein the model training request is an SQL statement” limitation, such limitation amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use. As explained by the Supreme Court, a claim directed to a judicial exception cannot be made eligible "simply by having the applicant acquiesce to limiting the reach of the patent for the formula to a particular technological use." Diamond v. Diehr, 450 U.S. 175, 192 n.14, 209 USPQ 1, 10 n. 14 (1981). Thus, limitations that amount to merely indicating a field of use or technological environment in which to apply a judicial exception do not integrate a judicial exception into a practical application.
Step 2B
Regarding the “wherein the model training request is an SQL statement” limitation, such limitation amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use as explained above, which does not amount to significantly more than the judicial exception. MPEP 2106.05(h).
Regarding Claim 13
Step 2A, Prong 1
Claim 13 recites an apparatus that corresponds to the method of claim 1, and therefore the analysis under Step 2A, Prong 1 with respect to claim 1 also applies to this claim 13. While claim 13 recites additional generic computing components (“processor”, “memory”, and “instructions”), such additional generic computing components do not change the analysis under Step 2A, Prong 1.
Step 2A, Prong 2
Claim 13 recites an apparatus that corresponds to the method of claim 1, and therefore the analysis under Step 2A, Prong 2 with respect to claim 1 also applies to this claim 13. While claim 13 recites additional generic computing components (“processor”, “memory”, and “instructions”), such additional generic computing components do not change the analysis under Step 2A, Prong 2.
Step 2B
Claim 13 recites an apparatus that corresponds to the method of claim 1, and therefore the analysis under Step 2B with respect to claim 1 also applies to this claim 13. While claim 13 recites additional generic computing components (“processor”, “memory”, and “instructions”), such additional generic computing components do not change the analysis under Step 2B.
Claim 14 depends from claim 13 and claims an apparatus that corresponds to the method of claim 2 and is therefore rejected for the same reasons explained above with respect to claims 2 and 13.
Claim 15 depends from claim 13 and claims an apparatus that corresponds to the method of claim 3 and is therefore rejected for the same reasons explained above with respect to claims 3 and 13.
Claim 16 depends from claim 15 and claims an apparatus that corresponds to the method of claim 4 and is therefore rejected for the same reasons explained above with respect to claims 4 and 15.
Regarding Claim 17
Step 2A, Prong 1
Claim 17 recites a computer-readable storage medium that corresponds to the method of claim 1, and therefore the analysis under Step 2A, Prong 1 with respect to claim 1 also applies to this claim 17. While claim 17 recites additional generic computing components (“computer-readable storage medium”, “data processing apparatus”, and “instructions”), such additional generic computing components do not change the analysis under Step 2A, Prong 1.
Step 2A, Prong 2
Claim 17 recites a computer-readable storage medium that corresponds to the method of claim 1, and therefore the analysis under Step 2A, Prong 2 with respect to claim 1 also applies to this claim 17. While claim 17 recites additional generic computing components (“computer-readable storage medium”, “data processing apparatus”, and “instructions”), such additional generic computing components do not change the analysis under Step 2A, Prong 2.
Step 2B
Claim 17 recites a computer-readable storage medium that corresponds to the method of claim 1, and therefore the analysis under Step 2B with respect to claim 1 also applies to this claim 17. While claim 17 recites additional generic computing components (“computer-readable storage medium”, “data processing apparatus”, and “instructions”), such additional generic computing components do not change the analysis under Step 2B.
Claim 18 depends from claim 17 and claims a computer-readable storage medium that corresponds to the method of claim 2 and is therefore rejected for the same reasons explained above with respect to claims 2 and 17.
Claim 19 depends from claim 17 and claims a computer-readable storage medium that corresponds to the method of claim 3 and is therefore rejected for the same reasons explained above with respect to claims 3 and 17.
Claim 20 depends from claim 19 and claims a computer-readable storage medium that corresponds to the method of claim 4 and is therefore rejected for the same reasons explained above with respect to claims 4 and 19.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-4, 6-7, and 9-20 are rejected under 35 U.S.C. 103 as being unpatentable over US 12387132 B1, hereinafter referenced as TONG, in view of US 20200202210 A1, hereinafter referenced as KUSHNIR, and further in view of Alonso, Gustavo, et al. "doppioDB 1.0: Machine Learning inside a Relational Engine." IEEE Data Eng. Bull. 42.2 (2019): 19-31, hereinafter referenced as ALONSO (NPL2 in Applicant’s 1/3/2025 IDS).
Regarding Claim 1
TONG teaches:
A data processing method, applied to a database system, comprising: (TONG, col. 2, line 60-67: “FIG. 1 illustrates a logical block diagram of orchestration for building and executing machine learning pipelines for graph data sets, according to some embodiments. Machine learning pipeline building system 110 may implement and/or support various interfaces to handle both requests to train and build machine learning pipelines 150 on graph data sets 142 and access graph data sets 112 in graph database 140”)
obtaining a model training request, wherein the model training request comprises a plurality of training samples and a model training policy, and the plurality of training samples is grouped into N training sample groups; (TONG, col. 3, lines 1-5: “For example, a request 150 can include a graph data set identifier 152 and execution configuration 154 (e.g., which may include requested algorithms(s)) or other applications in which a machine learning pipeline may be deployed to build and train on graph data set 142.”;
Examiner’s Note: Request 150 includes a graph data set identifier 152 (corresponding to recited “plurality of training samples” and an execution configuration 154 (corresponding to recited “model training policy” which includes the specific algorithms to build and train), where each sample within the graph data set 142 is its own group such that N = number of samples within graph data set 142)
generating an execution plan of the model training policy and an estimated execution cost of the execution plan ...; (TONG, col. 3, lines 3-14: “Machine learning pipeline building system 110 may be able to generate an execution plan (e.g., according to the various techniques discussed below with regard to FIGS. 3-5 and 7-9) performing graph profiling 122 on graph data set 142 (e.g., to determine various characteristics of graph data set 142), machine learning algorithm selection 124 (e.g., to include in the requested machine learning pipeline), and plan optimization 126 (e.g., to identify performance efficiencies to reduce building and executing costs).”
TONG, col. 3, lines 15-22: “Execution plan generation 120 may then provide the execution plan 128 to execution plan orchestration 130. Execution plan orchestration 130 may identify and instruct various processing resources (e.g., as discussed below with regard to FIGS. 3 and 7), which build and train machine learning pipelines efficiently according to execution plan 128, including accessing 112 graph data set 142 in graph database 140.”;
TONG, col. 5, lines 52-59: “In various embodiments, graph database service 270 may store and provide access to graphs, such as graph data set 272. These graph data sets may be used to train machine learning models. As discussed in detail below with regard to FIG. 6, in some embodiments, graph database service 270 may implement techniques for performs orchestration for building and executing machine learning models for graph data sets.”
TONG, col. 14, lines 3-26: “As discussed above with regard to FIGS. 4 and 5, various possible workflows to build and train identified models may be used. As discussed in detail below with regard to FIG. 9, techniques to optimize performance of the execution plan (e.g., by identifying sharing opportunities and/or other performance efficiencies). In some embodiments, various other configurations or options that are specified for the request to train and build the machine learning pipeline(s) may be accounted for in the execution plan (e.g., including configuration information to configure hyperparameter ranges, custom evaluation metrics, or other default automation override information). For example, access to external sources of data for reference data objects and operations to process the referenced data, like documents or images, may be included as operations in the execution plan. Operations to access data sources, select a transformer to process data objects from the data sources, such as transformers like BERT for text documents and/or pre-trained neural networks (e.g., Convolutional Neural Networks (CNN) trained for images). In some embodiments, configuration information may specify constraints like maximum cost and/or training time for performing the request (e.g., a time limit and building and executing the machine learning pipeline(s)).”;
Examiner’s Note: TONG discloses generating and executing execution plan 128, according to cost optimizations and a maximum cost constraint (corresponding to recited “estimated execution cost” conservatively assuming that the maximum cost will be met), which is orchestrated by graph database service 270)
training a to-be-trained model in parallel (TONG, col. 8, lines 38-41: “Parallelized operations, such as various feature extraction techniques like random walk samples, 2.sup.nd order neighborhood subgraphs 514, constructed adjacency matrix 516 and constructed node feature matrices 518 may be ordered at the same time.”;
TONG, col. 8, lines 54-66: “Turning back to FIG. 3, execution plan generator 314 may provide the optimized execution plan to execution plan coordinator 316. Execution plan coordinator may direct various execution tasks, utilizing graph-based pipeline processing 214 directly and/or utilizing training tuner 318. For example, graph-based pipeline processing 215 may implement various different resources (e.g., different types of nodes or other computing systems 2000 discussed below with regard to FIG. 11), which may have installed and configured the various software applications and hardware to perform feature processing tasks 322, batch inference tasks 324, training jobs 326, and/or data integration tasks 328.”
TONG, col. 15, lines 42-58: “ As indicated at 920, operations in the execution plan may be evaluated for parallelism. For example, various feature processors or other techniques that operate on raw data may have no dependencies between them and as such may be performed in parallel. As indicated by the positive exit from 920, the initial execution plan may be modified to order the identified operations in parallel, in some embodiments.”;
Examiner’s Note: TONG teaches that operations of the machine line training pipeline can be performed in parallel)
updating the to-be-trained model ..., to obtain a trained model. (TONG, col. 3, lines 22-25: “Request result 160 may provide the trained model(s) 162 (e.g., for deployment or other serving options, as discussed below with regard to FIGS. 3, 7, and 10).”;
TONG, col. 16, lines 12-20: “Deployment of machine learning pipelines trained on graph data sets may be manually requested and performed, in some embodiments. Automation of deployment, however, may offer further performance benefits in, for instance, scenarios, where a new machine learning algorithm may be automatically deployed to replace an older version of the trained machine learning algorithm, and thus provide an automatic system update for a system that uses the trained pipeline.”;
Examiner’s Note: TONG discloses that after training the model, the model is now a trained model)
However, TONG fails to explicitly teach:
... executed by the database system
obtaining, based on the estimated execution cost, M training sample groups in the N training sample groups;
... by using the M training sample groups, to obtain M pieces of parameter update data; and
... based on the M pieces of parameter update data ...
However, in a related field of endeavor (training neural networks, see para. 0001), KUSHNIR teaches and makes obvious:
obtaining, based on the estimated execution cost, M training sample groups in the N training sample groups; (KUSHNIR, para. 0036: “In step 206, the query unit 114 dynamically selects, from the data points in subset A determined in step 205, one or more candidate data points, which when included in the training data set along with its predicted label, most reduces or minimizes the computed entropy value of the labels predicted by the Neural Network 104 for the test data set 110. Thus, for every data point in set subset A, the data point is applied to the Neural Network unit and the entropy value of test set 110 is computed based on the labels predicted by the neural network unit for the data points in subset A. The data point(s) in A that most reduces the entropy of the test set 110 is identified as a candidate data point for addition to the training data set 108. The number candidate data points that are selected may be based on a predetermined training label budget.”;
Examiner’s Note: KUSHNIR teaches that a subset of data points (corresponding to recited “M training sample groups”) can be used for neural network training, where the number of the subset of data points is based on a predetermined training label budget; the TONG-KUSHNIR combination now trains the models of TONG using a subset of the graph data set 142 of TONG as taught by KUSHNIR, where such subset is based on a predetermined training budget as in KUSHNIR)
training a to-be-trained model in parallel by using the M training sample groups, to obtain M pieces of parameter update data; and (KUSHNIR, para. 0036: “In step 206, the query unit 114 dynamically selects, from the data points in subset A determined in step 205, one or more candidate data points, which when included in the training data set along with its predicted label, most reduces or minimizes the computed entropy value of the labels predicted by the Neural Network 104 for the test data set 110. Thus, for every data point in set subset A, the data point is applied to the Neural Network unit and the entropy value of test set 110 is computed based on the labels predicted by the neural network unit for the data points in subset A. The data point(s) in A that most reduces the entropy of the test set 110 is identified as a candidate data point for addition to the training data set 108. The number candidate data points that are selected may be based on a predetermined training label budget.”;
Examiner’s Note: KUSHNIR teaches that a subset of data points (corresponding to recited “M training sample groups”) can be used for neural network training, where the number of the subset of data points is based on a predetermined training label budget; the TONG-KUSHNIR combination now trains the models of TONG using the subset of data points as in KUSHNIR, where for each training iteration, an input data produces an intermediate output data (so M-to-M) corresponding to the recited “parameter update data”)
updating the to-be-trained model based on the M pieces of parameter update data to obtain a trained model. (KUSHNIR, para. 0036: “In step 206, the query unit 114 dynamically selects, from the data points in subset A determined in step 205, one or more candidate data points, which when included in the training data set along with its predicted label, most reduces or minimizes the computed entropy value of the labels predicted by the Neural Network 104 for the test data set 110. Thus, for every data point in set subset A, the data point is applied to the Neural Network unit and the entropy value of test set 110 is computed based on the labels predicted by the neural network unit for the data points in subset A. The data point(s) in A that most reduces the entropy of the test set 110 is identified as a candidate data point for addition to the training data set 108. The number candidate data points that are selected may be based on a predetermined training label budget.”;
Examiner’s Note: KUSHNIR teaches that a subset of data points (corresponding to recited “M training sample groups”) can be used for neural network training, where the number of the subset of data points is based on a predetermined training label budget; the TONG-KUSHNIR combination now trains the models of TONG using the subset of data points as in KUSHNIR, where for each training iteration, an input data produces an intermediate output data (so M-to-M) corresponding to the recited “parameter update data”, where such intermediate output data is used to train the model, such as through backpropagation)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of TONG and KUSHNIR as explained above. As disclosed by KUSHNIR, one of ordinary skill would have been motivated to do so because KUSHNIR teaches techniques for augmenting training data set to improve labeling predictions of neural networks. (para. 0024). As further disclosed by KUSHNIR, one of ordinary skill would have been motivated to do so in order “to find and use a training set that maximizes the accuracy of the model while keeping overall size of the training data within acceptable budgetary limits.” (para. 0023).
However, TONG and KUSHNIR fail to explicitly teach:
... executed by the database system
However, in a related field of endeavor (machine learning with respect to database systems, see p. 19, section 1), ALONSO teaches and makes obvious:
generating an execution plan of the model training policy and an estimated execution cost of the execution plan executed by the database system (ALONSO, p. 19, section 1: “We have implemented this idea in a first prototype of doppioDB, identified here as doppioDB 1.0 to distinguish it from future versions, showing how to integrate machine learning operators into the database engine in a way that is both efficient (i.e., compute-intensive algorithms do not impose overhead on native database workloads) and effective (i.e., standard operator models and execution patterns do not need to be modified).”;
Examiner’s Note: ALONSO teaches that a database engine can integrate and execute machine learning operators; the TONG-KUSHNIR-ALONSO combination now has the database engine of ALONSO train the models of TONG)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of TONG, KUSHNIR, and ALONSO as explained above. As disclosed by ALONSO, one of ordinary skill would have been motivated to do so because ALONSO teaches that it is “important to extend the role of the database management system to a more comprehensive platform supporting complex and computationally intensive data processing.” (p. 19, section 1). As further disclosed by ALONSO, one of ordinary skill would have been motivated to do so because “businesses have massive amounts of data in their existing DBMS and there is a high potential for using ML to extract valuable information from it. In addition, the rich relational operators provided by the DBMS can be used conveniently to denormalize a complex schema for the purposes of ML tasks.” (p. 20, section 1).
Regarding Claim 2
TONG, KUSHNIR, and ALONSO teach the method of claim 1 as explained above. However, TONG and KUSHNIR fail to explicitly teach:
wherein the parameter update data is an update gradient of the to-be-trained model.
However, in a related field of endeavor (machine learning with respect to database systems, see p. 19, section 1), ALONSO teaches and makes obvious:
wherein the parameter update data is an update gradient of the to-be-trained model. (ALONSO, p. 24, section 5: “By including a stochastic gradient descent (SGD) in doppioDB, our goal is to show that the FPGA-enabled database is capable of efficiently handling iterative model-training tasks. The SGD operator enables us to train linear regression models and support vector machines (SVM) on the FPGA using relational data as input.”
Examiner’s Note: ALONSO teaches training models using stochastic gradient descent; the TONG-KUSHNIR-ALONSO combination now has the database engine of ALONSO train the models of TONG using stochastic gradient descent to update the models during training)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of TONG, KUSHNIR, and ALONSO as explained above. As disclosed by ALONSO, one of ordinary skill would have been motivated to do so because ALONSO teaches that it is “important to extend the role of the database management system to a more comprehensive platform supporting complex and computationally intensive data processing.” (p. 19, section 1). As further disclosed by ALONSO, one of ordinary skill would have been motivated to do so because “businesses have massive amounts of data in their existing DBMS and there is a high potential for using ML to extract valuable information from it. In addition, the rich relational operators provided by the DBMS can be used conveniently to denormalize a complex schema for the purposes of ML tasks.” (p. 20, section 1).
Regarding Claim 3
TONG, KUSHNIR, and ALONSO teach the method of claim 1 as explained above. However, TONG and KUSHNIR fail to explicitly teach:
wherein the execution plan comprises a plurality of AI operators, and an operator type of each of the plurality of AI operators is preconfigured on the database system.
However, in a related field of endeavor (machine learning with respect to database systems, see p. 19, section 1), ALONSO teaches and makes obvious:
wherein the execution plan comprises a plurality of AI operators, and an operator type of each of the plurality of AI operators is preconfigured on the database system. (ALONSO, p. 25, section 5: “With the structure shown in Listing 2, the user specifies (1) the model name after CREATE MODEL, (2) the attributes and the label that the model should be trained on after ON, (3) the type of the ML model after WITH (e.g., support vector machine, logistic regression, decision trees, neural networks etc.), (4) the training algorithm along with the parameters after USING (e.g., SGD, ADAM etc.).”;
ALONSO, pp. 27-28, section 6: “The trained model can be obtained from any machine learning framework for decision trees such as XGBoost”;
Examiner’s Note: the broadest reasonable interpretation of “AI operators” includes “an algorithm used when an AI-related operation is performed” as set forth in para. 0017 of the instant specification, and SGD is specifically identified as a type of AI operator; ALONSO teaches that the SGD and ADAM operators are options, and p. 28, Listing 5 shows that XGBoost is also an option; the TONG-KUSHNIR-ALONSO combination now modifies the execution plan of TONG to designate the particular types of training algorithms and optimization algorithms (e.g., SGD, ADAM, XGBoost) as disclosed by ALONSO)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of TONG, KUSHNIR, and ALONSO as explained above. As disclosed by ALONSO, one of ordinary skill would have been motivated to do so because ALONSO teaches that it is “important to extend the role of the database management system to a more comprehensive platform supporting complex and computationally intensive data processing.” (p. 19, section 1). As further disclosed by ALONSO, one of ordinary skill would have been motivated to do so because “businesses have massive amounts of data in their existing DBMS and there is a high potential for using ML to extract valuable information from it. In addition, the rich relational operators provided by the DBMS can be used conveniently to denormalize a complex schema for the purposes of ML tasks.” (p. 20, section 1).
Regarding Claim 4
TONG, KUSHNIR, and ALONSO teach the method of claim 3 as explained above. However, TONG and KUSHNIR fail to explicitly teach:
wherein the estimated execution cost of the execution plan is obtained based on estimated execution costs of the plurality of AI operators.
However, in a related field of endeavor (machine learning with respect to database systems, see p. 19, section 1), ALONSO teaches and makes obvious:
wherein the estimated execution cost of the execution plan is obtained based on estimated execution costs of the plurality of AI operators. (ALONSO, p. 25, section 5: “With the structure shown in Listing 2, the user specifies (1) the model name after CREATE MODEL, (2) the attributes and the label that the model should be trained on after ON, (3) the type of the ML model after WITH (e.g., support vector machine, logistic regression, decision trees, neural networks etc.), (4) the training algorithm along with the parameters after USING (e.g., SGD, ADAM etc.).”;
ALONSO, pp. 27-28, section 6: “The trained model can be obtained from any machine learning framework for decision trees such as XGBoost”;
Examiner’s Note: ALONSO teaches that the SGD and ADAM operators are options, and p. 28, Listing 5 shows that XGBoost is also an option; the TONG-KUSHNIR-ALONSO combination now modifies the execution plan of TONG to designate the particular types of training algorithms and optimization algorithms (e.g., SGD, ADAM, XGBoost) as disclosed by ALONSO, and to determine the maximum cost according to the estimated execution costs of such algorithms)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of TONG, KUSHNIR, and ALONSO as explained above. As disclosed by ALONSO, one of ordinary skill would have been motivated to do so because ALONSO teaches that it is “important to extend the role of the database management system to a more comprehensive platform supporting complex and computationally intensive data processing.” (p. 19, section 1). As further disclosed by ALONSO, one of ordinary skill would have been motivated to do so because “businesses have massive amounts of data in their existing DBMS and there is a high potential for using ML to extract valuable information from it. In addition, the rich relational operators provided by the DBMS can be used conveniently to denormalize a complex schema for the purposes of ML tasks.” (p. 20, section 1).
Regarding Claim 6
TONG, KUSHNIR, and ALONSO teach the method of claim 1 as explained above. However, TONG fails to explicitly teach:
wherein a value of M is negatively correlated with the estimated execution cost.
However, in a related field of endeavor (training neural networks, see para. 0001), KUSHNIR teaches and makes obvious:
wherein a value of M is negatively correlated with the estimated execution cost. (KUSHNIR, para. 0036: “In step 206, the query unit 114 dynamically selects, from the data points in subset A determined in step 205, one or more candidate data points, which when included in the training data set along with its predicted label, most reduces or minimizes the computed entropy value of the labels predicted by the Neural Network 104 for the test data set 110. Thus, for every data point in set subset A, the data point is applied to the Neural Network unit and the entropy value of test set 110 is computed based on the labels predicted by the neural network unit for the data points in subset A. The data point(s) in A that most reduces the entropy of the test set 110 is identified as a candidate data point for addition to the training data set 108. The number candidate data points that are selected may be based on a predetermined training label budget.”;
Examiner’s Note: KUSHNIR teaches that a subset of data points (corresponding to recited “M training sample groups”) can be used for neural network training, where the number of the subset of data points is based on a predetermined training label budget; the TONG-KUSHNIR-ALONSO combination now trains the models of TONG using a subset of the graph data set 142 of TONG as taught by KUSHNIR, where the subset of data points needs to be reduced to meet the training budget and maximum training cost of TONG (corresponding to recited “M is negatively correlated with the estimated execution cost”))
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of TONG, KUSHNIR, and ALONSO as explained above. As disclosed by KUSHNIR, one of ordinary skill would have been motivated to do so because KUSHNIR teaches techniques for augmenting training data set to improve labeling predictions of neural networks. (para. 0024). As further disclosed by KUSHNIR, one of ordinary skill would have been motivated to do so in order “to find and use a training set that maximizes the accuracy of the model while keeping overall size of the training data within acceptable budgetary limits.” (para. 0023).
Regarding Claim 7
TONG, KUSHNIR, and ALONSO teach the method of claim 1 as explained above. TONG further teaches:
obtaining a currently available computing resource of the database system; (TONG, col. 3, lines 17-22: “Execution plan orchestration 130 may identify and instruct various processing resources (e.g., as discussed below with regard to FIGS. 3 and 7), which build and train machine learning pipelines efficiently according to execution plan 128, including accessing 112 graph data set 142 in graph database 140.”)
TONG, col. 8, line 54 – col. 9, line 2: “Turning back to FIG. 3, execution plan generator 314 may provide the optimized execution plan to execution plan coordinator 316. Execution plan coordinator may direct various execution tasks, utilizing graph-based pipeline processing 214 directly and/or utilizing training tuner 318. For example, graph-based pipeline processing 215 may implement various different resources (e.g., different types of nodes or other computing systems 2000 discussed below with regard to FIG. 11), which may have installed and configured the various software applications and hardware to perform feature processing tasks 322, batch inference tasks 324, training jobs 326, and/or data integration tasks 328. For example, some resources may be provided with greater CPU resources to handle CPU intensive tasks, while other resources in graph-based model processing 215 with greater GPU resources may handle GPU intensive tasks.”)
However, TONG fails to explicitly teach:
the obtaining of the M training sample groups in the N training sample groups comprises: obtaining, based on the estimated execution cost and the currently available computing resource, the M training sample groups in the N training sample groups, wherein a value of M is positively correlated with the currently available computing resource.
However, in a related field of endeavor (training neural networks, see para. 0001), KUSHNIR teaches and makes obvious:
the obtaining of the M training sample groups in the N training sample groups comprises: obtaining, based on the estimated execution cost and the currently available computing resource, the M training sample groups in the N training sample groups, wherein a value of M is positively correlated with the currently available computing resource. (KUSHNIR, para. 0036: “In step 206, the query unit 114 dynamically selects, from the data points in subset A determined in step 205, one or more candidate data points, which when included in the training data set along with its predicted label, most reduces or minimizes the computed entropy value of the labels predicted by the Neural Network 104 for the test data set 110. Thus, for every data point in set subset A, the data point is applied to the Neural Network unit and the entropy value of test set 110 is computed based on the labels predicted by the neural network unit for the data points in subset A. The data point(s) in A that most reduces the entropy of the test set 110 is identified as a candidate data point for addition to the training data set 108. The number candidate data points that are selected may be based on a predetermined training label budget.”;
Examiner’s Note: KUSHNIR teaches that a subset of data points (corresponding to recited “M training sample groups”) can be used for neural network training, where the number of the subset of data points is based on a predetermined training label budget; the TONG-KUSHNIR-ALONSO combination now trains the models of TONG using the subset of data points as in KUSHNIR, where there can be more data points if there are more computational resources raising the budget for computations)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of TONG and KUSHNIR as explained above. As disclosed by KUSHNIR, one of ordinary skill would have been motivated to do so because KUSHNIR teaches techniques for augmenting training data set to improve labeling predictions of neural networks. (para. 0024). As further disclosed by KUSHNIR, one of ordinary skill would have been motivated to do so in order “to find and use a training set that maximizes the accuracy of the model while keeping overall size of the training data within acceptable budgetary limits.” (para. 0023).
Regarding Claim 9
TONG, KUSHNIR, and ALONSO teach the method of claim 1 as explained above. TONG further teaches:
wherein there are X to-be-trained models in a one-to-one correspondence to X trained models, the X trained models are different models used to implement a target task (TONG, col. 5, lines 2-8: “Machine learning service 210 may implement graph-based pipeline serving 217, which may store and deploy various machine learning pipeline trained on graph data to perform various tasks (e.g., according to the type of machine learning algorithm, such as clustering, regression, and/or classification, among others) as part of or for various applications.”;
Examiner’s Note: TONG teaches different tasks including clustering, regression, and/or classification, where 1 to-be-trained model is trained into a trained model)
obtaining currently available computing resource and an execution cost of each of the X trained models, and (TONG, col. 3, lines 3-14: “Machine learning pipeline building system 110 may be able to generate an execution plan (e.g., according to the various techniques discussed below with regard to FIGS. 3-5 and 7-9) performing graph profiling 122 on graph data set 142 (e.g., to determine various characteristics of graph data set 142), machine learning algorithm selection 124 (e.g., to include in the requested machine learning pipeline), and plan optimization 126 (e.g., to identify performance efficiencies to reduce building and executing costs).”
TONG, col. 3, lines 17-22: “Execution plan orchestration 130 may identify and instruct various processing resources (e.g., as discussed below with regard to FIGS. 3 and 7), which build and train machine learning pipelines efficiently according to execution plan 128, including accessing 112 graph data set 142 in graph database 140.”)
TONG, col. 8, line 54 – col. 9, line 2: “Turning back to FIG. 3, execution plan generator 314 may provide the optimized execution plan to execution plan coordinator 316. Execution plan coordinator may direct various execution tasks, utilizing graph-based pipeline processing 214 directly and/or utilizing training tuner 318. For example, graph-based pipeline processing 215 may implement various different resources (e.g., different types of nodes or other computing systems 2000 discussed below with regard to FIG. 11), which may have installed and configured the various software applications and hardware to perform feature processing tasks 322, batch inference tasks 324, training jobs 326, and/or data integration tasks 328. For example, some resources may be provided with greater CPU resources to handle CPU intensive tasks, while other resources in graph-based model processing 215 with greater GPU resources may handle GPU intensive tasks.”)
However, TONG and KUSHNIR fail to explicitly teach:
after the updating the to-be-trained model based on the M pieces of parameter update data, to obtain a trained model, the method further comprises: obtaining a model inference request indicating the target task;
determining a target model from the X trained models; and
performing model inference by using the target model.
However, in a related field of endeavor (machine learning with respect to database systems, see p. 19, section 1), ALONSO teaches and makes obvious:
after the updating the to-be-trained model based on the M pieces of parameter update data, to obtain a trained model, the method further comprises: obtaining a model inference request indicating the target task; (ALONSO, p. 25, section 5: “After the model is created, we can use it for inference on new tables using the INFER keyword, passing the model name.”;
Examiner’s Note: As shown in Listing 2 on page 25, a database system can receive a (INFER (‘model_name’) FROM new_data_set)) command from a user to perform a particular inference for the task the model was created to perform; the TONG-KUSHNIR-ALONSO combination now modifies the system of TONG to receive a model inference request from a user, such as a database systems analyst)
determining a target model from the X trained models; and (ALONSO, p. 25, section 5: “After the model is created, we can use it for inference on new tables using the INFER keyword, passing the model name.”;
Examiner’s Note: As shown in Listing 2 on page 25, a database system can receive a (INFER (‘model_name’) FROM new_data_set)) command from a user identifying a particular model; the TONG-KUSHNIR-ALONSO combination now modifies the system of TONG to receive a model inference request from a user, such as a database systems analyst, which determines which specific model to use for inference)
performing model inference by using the target model. (ALONSO, p. 25, section 5: “After the model is created, we can use it for inference on new tables using the INFER keyword, passing the model name.”;
Examiner’s Note: As shown in Listing 2 on page 25, a database system can receive a (INFER (‘model_name’) FROM new_data_set)) command from a user identifying a particular model; the TONG-KUSHNIR-ALONSO combination now modifies the system of TONG to receive a model inference request from a user, and to actually execute the INFER command)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of TONG, KUSHNIR, and ALONSO as explained above. As disclosed by ALONSO, one of ordinary skill would have been motivated to do so because ALONSO teaches that it is “important to extend the role of the database management system to a more comprehensive platform supporting complex and computationally intensive data processing.” (p. 19, section 1). As further disclosed by ALONSO, one of ordinary skill would have been motivated to do so because “businesses have massive amounts of data in their existing DBMS and there is a high potential for using ML to extract valuable information from it. In addition, the rich relational operators provided by the DBMS can be used conveniently to denormalize a complex schema for the purposes of ML tasks.” (p. 20, section 1).
Regarding Claim 10
TONG, KUSHNIR, and ALONSO teach the method of claim 9 as explained above. TONG further teaches:
wherein the computing resource comprises: an input/output (I/O) resource, a central processing unit (CPU) resource, a graphics processing unit (GPU) resource, and/or a memory resource. (TONG, col. 3, lines 17-22: “Execution plan orchestration 130 may identify and instruct various processing resources (e.g., as discussed below with regard to FIGS. 3 and 7), which build and train machine learning pipelines efficiently according to execution plan 128, including accessing 112 graph data set 142 in graph database 140.”)
TONG, col. 8, line 54 – col. 9, line 2: “Turning back to FIG. 3, execution plan generator 314 may provide the optimized execution plan to execution plan coordinator 316. Execution plan coordinator may direct various execution tasks, utilizing graph-based pipeline processing 214 directly and/or utilizing training tuner 318. For example, graph-based pipeline processing 215 may implement various different resources (e.g., different types of nodes or other computing systems 2000 discussed below with regard to FIG. 11), which may have installed and configured the various software applications and hardware to perform feature processing tasks 322, batch inference tasks 324, training jobs 326, and/or data integration tasks 328. For example, some resources may be provided with greater CPU resources to handle CPU intensive tasks, while other resources in graph-based model processing 215 with greater GPU resources may handle GPU intensive tasks.”)
Regarding Claim 11
TONG, KUSHNIR, and ALONSO teach the method of claim 9 as explained above. However, TONG and KUSHNIR fail to explicitly teach:
wherein the model inference request is a structured query language (SQL) statement.
However, in a related field of endeavor (machine learning with respect to database systems, see p. 19, section 1), ALONSO teaches and makes obvious:
wherein the model inference request is a structured query language (SQL) statement. (ALONSO, p. 25, Listing 2: “
PNG
media_image1.png
258
786
media_image1.png
Greyscale
Examiner’s Note: Listing 2 shows the SELECT INFER command in SQL)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of TONG, KUSHNIR, and ALONSO as explained above. As disclosed by ALONSO, one of ordinary skill would have been motivated to do so because ALONSO teaches that it is “important to extend the role of the database management system to a more comprehensive platform supporting complex and computationally intensive data processing.” (p. 19, section 1). As further disclosed by ALONSO, one of ordinary skill would have been motivated to do so because “businesses have massive amounts of data in their existing DBMS and there is a high potential for using ML to extract valuable information from it. In addition, the rich relational operators provided by the DBMS can be used conveniently to denormalize a complex schema for the purposes of ML tasks.” (p. 20, section 1).
Regarding Claim 12
TONG, KUSHNIR, and ALONSO teach the method of claim 1 as explained above. However, TONG and KUSHNIR fail to explicitly teach:
wherein the model training request is an SQL statement.
However, in a related field of endeavor (machine learning with respect to database systems, see p. 19, section 1), ALONSO teaches and makes obvious:
wherein the model training request is an SQL statement. (ALONSO, p. 25, Listing 2: “
PNG
media_image1.png
258
786
media_image1.png
Greyscale
Examiner’s Note: Listing 2 shows the CREATE MODEL command in SQL, which includes the training algorithm and training set for training)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of TONG, KUSHNIR, and ALONSO as explained above. As disclosed by ALONSO, one of ordinary skill would have been motivated to do so because ALONSO teaches that it is “important to extend the role of the database management system to a more comprehensive platform supporting complex and computationally intensive data processing.” (p. 19, section 1). As further disclosed by ALONSO, one of ordinary skill would have been motivated to do so because “businesses have massive amounts of data in their existing DBMS and there is a high potential for using ML to extract valuable information from it. In addition, the rich relational operators provided by the DBMS can be used conveniently to denormalize a complex schema for the purposes of ML tasks.” (p. 20, section 1).
Regarding Claim 13
TONG teaches:
A data processing apparatus, comprising at least one processor, a memory storing instructions that, when executed by the at least one processor, cause the data processing apparatus to perform operations comprising: (TONG, col. 16, lines 54-63: “ For example, in one embodiment, the methods may be implemented on or across one or more computer systems (e.g., a computer system as in FIG. 11) that includes one or more processors executing program instructions stored on one or more computer-readable storage media coupled to the processors. The program instructions may implement the functionality described herein (e.g., the functionality of various servers and other components that implement the network-based virtual computing resource provider described herein).”)
The remaining limitations of claim 13 correspond to the method of claim 1 and therefore claim 13 is rejected for the same reasons explained above with respect to claim 1.
Claim 14 depends from claim 13 and claims an apparatus that corresponds to the method of claim 2 and is therefore rejected for the same reasons explained above with respect to claims 2 and 13.
Claim 15 depends from claim 13 and claims an apparatus that corresponds to the method of claim 3 and is therefore rejected for the same reasons explained above with respect to claims 3 and 13.
Claim 16 depends from claim 15 and claims an apparatus that corresponds to the method of claim 4 and is therefore rejected for the same reasons explained above with respect to claims 4 and 15.
Regarding Claim 17
TONG teaches:
A computer-readable storage medium, storing a computer program including instructions that, when executed by a data processing apparatus, cause the data processing apparatus to perform operations comprising: (TONG, col. 16, lines 54-63: “ For example, in one embodiment, the methods may be implemented on or across one or more computer systems (e.g., a computer system as in FIG. 11) that includes one or more processors executing program instructions stored on one or more computer-readable storage media coupled to the processors. The program instructions may implement the functionality described herein (e.g., the functionality of various servers and other components that implement the network-based virtual computing resource provider described herein).”)
The remaining limitations of claim 17 correspond to the method of claim 1 and therefore claim 17 is rejected for the same reasons explained above with respect to claim 1.
Claim 18 depends from claim 17 and claims a computer-readable storage medium that corresponds to the method of claim 2 and is therefore rejected for the same reasons explained above with respect to claims 2 and 17.
Claim 19 depends from claim 17 and claims a computer-readable storage medium that corresponds to the method of claim 3 and is therefore rejected for the same reasons explained above with respect to claims 3 and 17.
Claim 20 depends from claim 19 and claims a computer-readable storage medium that corresponds to the method of claim 4 and is therefore rejected for the same reasons explained above with respect to claims 4 and 19.
Claim 5 is rejected under 35 U.S.C. 103 as being unpatentable over TONG in view of KUSHNIR and ALONSO and further in view of US 20130086038 A1, hereinafter referenced as PERRY.
Regarding Claim 5
TONG, KUSHNIR, and ALONSO teach the method of claim 4 as explained above. However, TONG, KUSHNIR, and ALONSO fail to explicitly teach:
obtaining, based on the plurality of AI operators, the estimated execution costs of the plurality of AI operators by using an execution plan query statement.
However, in a related field of endeavor (accessing data in databases using structured query language, see para. 0002), PERRY teaches and makes obvious:
obtaining, based on the plurality of AI operators, the estimated execution costs of the plurality of AI operators by using an execution plan query statement. (PERRY, para. 0068: “Once all SQL statements of the workload have been selected, and have had associated estimation/execution costs stored within the explain data 324, then the candidate index provider 328 may proceed by fetching the stored explain/cost data (420).”;
Examiner’s Note: the TONG-KUSHNIR-ALONSO-PERRY combination now uses the “explain” data 324, accessed by a SQL command, to store cost data of TONG)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of TONG, KUSHNIR, ALONSO, and PERRY as explained above. As disclosed by PERRY, one of ordinary skill would have been motivated to do so to provide “a user with an ability to easily design and implement database queries in a manner which returns fast and accurate query results” using the machine learning techniques of TONG as applied to database systems as in ALONSO. (para. 0009).
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over TONG in view of KUSHNIR and ALONSO and further in view of US 20210073909 A1, hereinafter referenced as LE ROUX.
Regarding Claim 8
TONG, KUSHNIR, and ALONSO teach the method of claim 1 as explained above. However, TONG, KUSHNIR, and ALONSO fail to explicitly teach:
performing a shuffle operation on the plurality of training samples, to obtain a plurality of shuffled training samples; and grouping the plurality of shuffled training samples, to obtain the N training sample groups.
However, in a related field of endeavor (training machine learning models, see para. 0004), LE ROUX teaches and makes obvious:
performing a shuffle operation on the plurality of training samples, to obtain a plurality of shuffled training samples; and grouping the plurality of shuffled training samples, to obtain the N training sample groups. (LE ROUX, para. 0109: “In one embodiment, the training data, which may be obtained from the various sources, is shuffled or otherwise processed to increase the speed of the training, reduce variance, and/or reduce overfitting.”;
Examiner’s Note: the TONG-KUSHNI-ALONSO-LE ROUX combination now shuffles the training data of TONG as taught by LU, and then re-groups the entire training set (where each group is a single sample) to obtain the N training sample groups, just in a shuffled order as in LE ROUX)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of TONG, KUSHNIR, ALONSO, and LE ROUX as explained above. As disclosed by LE ROUX, one of ordinary skill would have been motivated to do so to “increase the speed of the training, reduce variance, and/or reduce overfitting.” (para. 0109).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US 11966396 B1 (Finnerty). “In some embodiments, the user, a data scientist, or other entity, can send a request to the machine learning service to begin model training using the training data 400. At numeral 3, a model training system 400 of the machine learning service 116 can obtain the training data and train a new mode using a machine learning training container which may implement one or more training algorithms which may be selected by the user or selected by the machine learning service based on, e.g., the type of training data, inputs from the user that identify the intended application of the resulting model, etc.” (col. 10, lines 53-63).
US 20210390702 A1 (Juillard). “The supervisor 508 is the system aggregating the input data and applying logic to determine the performance status of a given model, and issuing a training request (the stimulus). The model training services 510 represent a model training pipeline receiving the request to train the model, the data to be trained on, and deployment policy/configuration.” (para. 0080).
US 20160078361 A1 (Brueckner). “The costs (e.g., in terms of resources used or time required) for making decision-tree based predictions may be broadly categorized into two categories: training costs and execution/prediction costs. Execution/prediction costs may also be called run-time costs herein. Training costs refer to the resources used to construct the trees and train the model using the training data set, while the execution costs refer to the resources used when the models make predictions on new data (or test data) that was not used for the training phase. In at least some embodiments, as described below, tradeoffs may be possible between the training costs and the quality of the predictions made on new data.” (para. 0182).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHAEL C LEE whose telephone number is (571)272-4933. The examiner can normally be reached M-F 12:00 pm - 8:00 pm ET.
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, Omar Fernandez Rivas can be reached at 571-272-2589. 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.
/MICHAEL C. LEE/Examiner, Art Unit 2128