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 .
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, 6-9, 12-15, 18 are rejected under 35 U.S.C. 101 for being directed to an abstract idea without significantly more.
Step 1
According to the first part of the analysis, in the instant case, claims 1-6 are directed to a non-transitory computer-readable recording medium, claims 7-12 are directed to an apparatus, and claims 13-18 are directed to a method. Each of these claims fall within one of the four statutory categories (i.e., process, machine, manufacture, or composition of matter).
For claim 1
Step 2A Prong One
obtaining a waiting time until a resource to be used for the distributed training is secured and an execution time taken for the distributed training, for each of execution environments of different numbers of nodes;
(Mental process)
obtaining a score for each of the execution environments based on the waiting time and the execution time acquired for each of the execution environments;
(Mental process)
and determining the number of nodes to be used for the distributed training based on a plurality of the scores.
(Mental process)
Step 2A Prong Two
A non-transitory computer-readable recording medium storing an information processing program for causing a processor of an information processing apparatus that manages distributed training that uses a plurality of nodes to execute a process, the process comprising:
(Mere instructions to apply an exception. See MPEP 2106.05(f))
Step 2B
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because, when considered individually and in combination, they do not add significantly more (also known as an inventive concept) to the exception. The claim recites mental processes while the additional element of ‘performing the process on a generic computing device’ is mere instructions to apply an exception.
For claim 2
Step 2A Prong One
the determined number of nodes to be used for the distributed training is the number of nodes corresponding to an execution environment corresponding to a minimum score among the plurality of scores.
(mental process)
Step 2A Prong Two
The claim does not include any additional elements.
Step 2B
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because, when considered individually and in combination, they do not add significantly more (also known as an inventive concept) to the exception. The claim recites mental processes without any additional elements.
For claim 3
Step 2A Prong One
the score includes a first score related to the execution time and a second score related to a cost.
(mental process)
Step 2A Prong Two
The claim does not include any additional elements.
Step 2B
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because, when considered individually and in combination, they do not add significantly more (also known as an inventive concept) to the exception. The claim recites mental processes without any additional elements.
For claim 4
Step 2A Prong One
Claim 4 depends from claim 1, which recites mental processes.
Step 2A Prong Two
calculating potential energy of a protein by causing the plurality of nodes to process NNs provided for respective residue types that constitute the protein.
The additional elements do amount to significantly more than the judicial exception. Thus, claim 4 is not rejected under 101.
For claim 5
Step 2A Prong One
obtaining the execution time includes calculating a prediction performance improvement rate for each of a plurality of the execution environments based on a measurement result
(mental process)
and calculating the execution time by reflecting the prediction performance improvement rate in an execution time upper limit value.
(mental process)
Step 2A Prong Two
obtained by causing one node among the plurality of nodes to execute processing related to the distributed training,
The additional elements do amount to significantly more than the judicial exception. Thus, claim 5 is not rejected under 101.
For claim 6
Step 2A Prong One
obtaining the waiting time
(mental process)
Step 2A Prong Two
includes acquiring the waiting time by inputting processing state information in the node to a machine learning model
(Mere instructions to apply an exception. See MPEP 2106.05(f))
Step 2B
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because, when considered individually and in combination, they do not add significantly more (also known as an inventive concept) to the exception. The claim recites mental processes while the additional element of ‘acquiring by inputting information to a generic machine learning model’ is mere instructions to apply an exception.
For claims 7-12,
Claims 7-12 are substantially similar to claims 1-6 and are analyzed using the same reasoning.
For claims 13-18,
Claims 13-18 are substantially similar to claims 1-6 and are analyzed using the same reasoning.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-3, 7-9, 13-15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Vaibhav Saxena et al. (hereinafter Saxena) (US 20210034374 A1, 2021-02-04) in view of Allen B. Downey (hereinafter Downey) (“Using Queue Time Predictions for Processor Allocation,” 1997).
Regarding claim 1, Saxena teaches;
A non-transitory computer-readable recording medium storing an information processing program for causing a processor … to execute a process ([0044] computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out embodiments of the present invention … [0045] computer readable storage medium, as used herein, is not to be construed as being transitory signals) of an information processing apparatus that manages distributed training ([0015] determining optimal computing resources for a distributed batch based optimization job … [0032] The job may include at least one of: a Deep Learning job (such, as training a neural network, for example)) that uses a plurality of nodes ([0017] determines node counts … wherein each node count corresponds to a possible number of nodes that can be used to process a particular job) … the process comprising: obtaining … an execution time taken for the distributed training, for each of execution environments of different numbers of nodes ([0018] estimates the total execution time for each of the node counts)
Saxena fails to explicitly teach but Downey teaches;
obtaining a waiting time until a resource to be used for the distributed training is secured ([pg. 12 section 5.2] Q(n) is the queue time until n processors are available) … for each of execution environments ([pg. 12 section 5.2] evaluating each possibility, we find the value of n) … obtaining a score for each of the execution environments ([pg. 12 section 5.2] By evaluating each possibility, we find the value of n that minimizes Q(n)+R(n)) based on the waiting time ([pg. 12 section 5.2] Q(n) is the queue time until n processors are available) and the execution time ([pg. 12 section 5.2] R(n) is the run time of the job in n processors) acquired for each of the execution environments ([pg. 12 section 5.2] evaluating each possibility); and determining the number of nodes to be used … based on a plurality of the scores ([pg. 12 section 5.2] By evaluating each possibility, we find the value of n that minimizes Q(n)+R(n)).
OBVIOUSNESS TO COMBINE DOWNEY:
Downey is analogous art to the present disclosure as it pertains to optimal resource allocation for parallel jobs. It would have been obvious to one of ordinary skill in the art, before the effective filing date, to modify Saxena to additionally account for Downey’s predicted queue time when selecting among candidate node counts, because Downey teaches that a parallel job faces a tradeoff between executing on a smaller available cluster and waiting for additional processors ([pg. 3] if there is a job in queue and one idle processor, a utilization-maximizing system might require the job to run, whereas the job might obtain a shorter turnaround time by waiting for more processors), and that prediction based allocation utilizing both waiting time and execution time improves turnaround time ([pg. 13] Our application-centric strategy uses queue time predictions to minimize the turnaround time … we find the value of n that minimizes Q(n)+R(n)). Thus, one of ordinary skill would have been motivated to evaluate Saxena’s node counts for a distributed training job based on both predicted resource waiting time and execution time in order to select the node count providing improved expected turnaround time.
Regarding claim 2, Saxena teaches;
the determined number of nodes ([0025] the optimal number of nodes … are selected) to be used for the distributed training ([0015] determining optimal computing resources for a distributed batch based optimization job … [0032] The job may include at least one of: a Deep Learning job (such, as training a neural network, for example) is the number of nodes corresponding to an execution environment corresponding to a minimum score ([0025] the optimal number of nodes may be selected based on the following equation: Min (a×Execution Time+b×Execution Cost)).
Saxena fails to explicitly teach but Downey teaches;
… corresponding to an execution environment corresponding to a minimum score among the plurality of scores ([pg. 12 section 5.2] By evaluating each possibility, we find the value of n that minimizes Q(n)+R(n)).
OBVIOUSNESS:
Using the same reasoning from claim 1.
Regarding claim 3, Saxena teaches;
the score includes a first score related to the execution time and a second score related to a cost ([0025] outputting the execution time and cost for a different number of nodes … the optimal number of nodes may be selected based on the following equation: Min (a×Execution Time+b×Execution Cost)).
Regarding claims 7-9,
Claims 7-9 are apparatus claims directly corresponding to claims 1-3, respectively, and are rejected using the same reasoning.
Regarding claims 13-15,
Claims 13-15 are method claims directly corresponding to claims 1-3, respectively, and are rejected using the same reasoning.
Claim(s) 4, 10, 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Saxena (US 20210034374 A1, 2021-02-04) in view of Downey (“Using Queue Time Predictions for Processor Allocation,” 1997) as applied to claim 1, further in view of Hao Wang et al. (hereinafter Wang) (“Toward Building Protein Force Fields by Residue-Based Systematic Molecular Fragmentation and Neural Network,” 2019).
Regarding claim 4, Saxena teaches;
causing the plurality of nodes to process NN ([Abstract] one or more node counts corresponding to a number of nodes that can be used for processing said job … [0032] The job may include at least one of: a Deep Learning job (such, as training a neural network, for example))
Saxena and Downey fail to teach but Wang teaches;
calculating potential energy of a protein by … NNs provided for respective residue types that constitute the protein ([Abstract] partition general proteins into only 20 types of amino acid dipeptides … The total energy of proteins is the combination of the energies of these fragments … [pg. 3] construct NNs for 21 different types of small fragments, including 20 amino acid dipeptides).
OBVIOUSNESS TO COMBINE WANG: Wang is analogous art to the present disclosure as it pertains to calculating energy of a protein by using neural networks to process respective residue types. It would have been obvious to one of ordinary skill in the art, before the effective filing date, to modify Saxena’s distributed deep learning system to process Wang’s residue type specific neural networks using a plurality of nodes in order to reduce the computational time required for protein energy calculations. Wang expressly identifies the high computational cost of protein calculations as a problem (“[Wang, Abstract] Building accurate protein force fields from quantum mechanical (QM) calculations is challenging due to the complexity of proteins and high computational costs of QM methods”) and provides an efficient NN based residue fragment approach, while Saxena teaches using multiple nodes to process deep learning / NN jobs. Thus, distributing Wang’s plurality of residue specific NN computations among Saxena’s plurality of nodes would have been a predictable use of known parallel processing techniques to further improve computational efficiency and reduce execution time.
Regarding claims 10 and 16,
Claims 10 and 16 are both substantially similar to claim 4 and are rejected using the same reasoning.
Claim(s) 5, 11, 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Saxena (US 20210034374 A1, 2021-02-04) in view of Downey (“Using Queue Time Predictions for Processor Allocation,” 1997) as applied to claim 1, further in view of 박경수 Kyung-su Park et al. (hereinafter Park) (KR 102336297 B1, 2021-12-09) further in view of Yves Caniou et al. (hereinafter Caniou) (“Evaluation of Reallocation Heuristics for Moldable Tasks in Computational Dedicated and non Dedicated Grids,” 2010).
Regarding claim 5, Saxena teaches;
obtaining the execution time … each of a plurality of the execution environments ([0018] estimates the total execution time for each of the node counts)
Saxena and Downey fail to explicitly teach but Park teaches;
calculating a prediction performance improvement rate ([pg. 4] speed-up refers to a “learning rate increase rate” compared to a “standard learning rate (learning rate when using one GPU)”) … based on a measurement result ([pg. 2] assigning a specific number of GPUs to each learning task, and then actually measuring the learning rate) obtained by causing one node among the plurality of nodes to execute processing ([pg. 4] the speedup can be formulated as (learning rate when using one GPU) / (learning rate when additional GPU is allocated)) related to the distributed training ([Abstract] method for scheduling a distributed deep learning … scheduling a plurality of tasks for training a deep learning model on a GPU cluster at the same time),
OBVIOUSNESS TO COMBINE PARK:
Park is analogous art to the present disclosure as it pertains to optimizing job scheduling for distributed learning. It would have been obvious to one of ordinary skill in the art, before the effective filing date, to modify the distributed training resource allocation of Saxena and Downey to calculate a predicted performance improvement rate based on single node performance, as taught by Park, in order to more accurately determine the relative training performance improvement associated with different numbers of computing resources and thereby select an appropriate resource allocation. Park teaches that “[pg. 2] in order to efficiently use the GPUs, it is necessary to accurately investigate the improvement in the learning speed of the learning model according to the number of GPUs and allocate an appropriate number of GPUs accordingly.” The modification would have enabled Saxena to account for the differing performance improvements associated with each candidate node count, predictably allowing for more efficient allocation of nodes for the distributed training of Saxena as modified by Downey.
Saxena, Downey, and Park fail to explicitly teach but Caniou teaches;
and calculating the execution time ([pg. 4] The walltime is the expected execution time for this job) by reflecting the prediction performance improvement rate ([pg. 15] computes the speedup of the job for the current number of processors … spdb … computes the walltime for the job: wb = w1 / spdb) in an execution time upper limit value ([pg. 4] when the walltime is reached, the job is killed).
OBVIOUSNESS TO COMBINE CANIOU:
Caniou is analogous art to the present disclosure as it pertains to allocation of resources for parallel jobs. It would have been obvious to one of ordinary skill in the art, before the effective filing date, to further modify Saxena as modified by Downey and Park according to Caniou by reflecting the predicted performance improvement rate in an execution time upper limit value to obtain the execution time for each execution environment, because Caniou teaches calculating a job walltime (expected execution time) for a selected processor count as the baseline walltime divided by the corresponding speedup (wb = w1 / spdb), and further teaches that the walltime functions as an execution limit because the job is terminated when that walltime is reached. Applying Caniou’s known speedup to walltime relationship to Park’s predicted performance improvement rates (i.e., performance speedup) as utilized in Saxena as modified by Downey and Park would have predictably produced execution time estimates for each candidate node count that account for the expected performance improvement associated with that node count, thereby facilitating selection of appropriate node allocation based on the expected execution performance of the respective execution environments.
Regarding claims 11 and 17,
Claims 11 and 17 are both substantially similar to claim 5 and are rejected using the same reasoning.
Claim(s) 6, 12, 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Saxena (US 20210034374 A1, 2021-02-04) in view of Downey (“Using Queue Time Predictions for Processor Allocation,” 1997) as applied to claim 1, further in view of Nick Brown et al. (hereinafter Brown) (“Predicting batch queue job wait times for informed scheduling of urgent HPC workloads,” 2022-04-28).
Regarding claim 6, Saxena and Downey fail to teach but Brown teaches;
obtaining the waiting time ([Abstract] machine learning approach for predicting queue wait times) includes acquiring the waiting time by inputting processing state information in the node (Note: the queue state data includes processing state information of nodes, such as nodes allocated to running jobs, see Table IV below) to a machine learning model ([pg. 7] providing the state of the queue as an input to the machine learning model tends to generally improve prediction accuracy)
[pg. 6, TABLE IV] The features used in our queue state aware machine learning model:
PNG
media_image1.png
534
1042
media_image1.png
Greyscale
OBVIOUSNESS TO COMBINE BROWN:
Brown is analogous art to the present disclosure as it pertains to predicting waiting times via machine learning to improve job scheduling. It would have been obvious to one of ordinary skill in the art, before the effective filing date, to modify Downey’s waiting time prediction, as utilized in Saxena, according to Brown by inputting current node and queue processing state information to a machine learning model, because Brown teaches that providing this data as input to the machine learning model generally improves prediction accuracy ([Brown, pg. 7] providing the state of the queue as an input to the machine learning model tends to generally improve prediction accuracy). The modification would have predictably produced more accurate waiting time estimates, thereby facilitating improved accuracy when selecting an appropriate node-count execution environment.
Regarding claims 12 and 18,
Claims 12 and 18 are both substantially similar to claim 6 and are rejected using the same reasoning.
CONCLUSION
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Matthew Alan Cady whose telephone number is (571) 272-7229. The examiner can normally be reached Monday - Friday, 7:30 am - 5: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, Cesar Paula can be reached on (571)272-4128. 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.
/MATTHEW ALAN CADY/ Examiner, Art Unit 2145
/CESAR B PAULA/ Supervisory Patent Examiner, Art Unit 2145