DETAILED ACTION
This final action is in response to the amendment and remarks filed on 09/16/2025 for application 17/740,969.
Claims 1, 3-9, 11-17, and 19-20 have been amended. Claims 2, 10, and 18 are cancelled. Claims 1, 3-9, 11-17, and 19-20 are pending in the application. Claims 1, 9, and 17 are independent claims.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendment
The amendment filed 09/16/2025 has been entered.
Applicant’s amendment to the drawings has been considered. and overcomes the objections set forth in the office action mailed 06/25/2025. Consequently, the replacement drawings are accepted and the objection is withdrawn.
Applicant’s amendment to the claims with respect to resolving claim objections and indefiniteness rejections under 35 U.S.C. 112(b) has been considered, and overcomes the objections and 112(b) rejections set forth in the office action mailed 06/25/2025. Consequently, the previous objections and rejections are withdrawn.
Claim Objections
Claims 1, 3-5, 7-9, 11-13, 15-17, and 19-20 are objected to because of the following informalities:
In claims 1, 9, and 17, “adjust[ing] the operators of the types” should read “adjust[ing] the operators of identified types” to have clearer antecedent basis.
In claims 1, 9, and 17, “wherein analyz[ing] input and output of each operator of the n number of operators in the broken operator group(s) and identify[ing] types of operators by:” should read “wherein analyz[ing] input and output of each operator of the n number of operators in the broken operator group(s) and identify[ing] types of operators further comprises:” to improve clarity.
In claims 1, 9, and 17, “identifying operators of a second type that corresponding to inputs of the operators of the first type” should read “identifying operators of a second type that correspond to inputs of the operators of the first type” to correct a grammatical error.
In claims 3, 11, and 19, “wherein the identifying operators of the first type that with inconsistent input and inconsistent output comprises:” should read “wherein identifying operators of a first type having an input and output that are inconsistent with one another further comprises:” to maintain consistency with the independent claims as amended.
In claims 4, 12, and 20, “wherein the identifying operators of a second type that corresponding to inputs of the operators of the first type comprises:” should read “wherein identifying operators of a second type that correspond to inputs of the operators of the first type further comprises:” to maintain consistency with the independent claims as amended.
In claims 5 and 13, “wherein adjusting the operators of the specific type to rearrange the m number of regions comprises:” should read “wherein adjusting the operators of the identified types to rearrange the m number of regions further comprises:” to maintain consistency with the independent claims as amended.
In claims 7 and 15, “wherein scan[ning] every operator group in the neural network model comprises:” should read “wherein scanning the neural network model to group the n number of operators into a plurality of operator groups further comprises:” to maintain consistency with the independent claims as amended.
In claims 8 and 16, “wherein rescan[ning] every operator group in the neural network model and identifying broken operator group(s) comprises:” should read “wherein rescan[ning] the plurality of operator groups in the neural network model and identifying broken operator group(s) further comprises:” to maintain consistency with the independent claims as amended.
Appropriate corrections are required.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1, 3-9, 11-17, and 19-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Regarding claim 1, it recites the limitation “analyzing input and output of each operator of the n number of operators in the broken operator group(s)”. There is insufficient antecedent basis for “the n number of operators in the broken operator group(s)” in the claim, because the claim previously recites “obtaining a neural network model comprising n number of operators” – therefore, the “n” number of operators is already recited as being equivalent to the number of operators in the neural network model as a whole, rather than only the number of operators included in broken operator groups within the model. Consequently, one of ordinary skill in the art would not be reasonably apprised of the scope of the invention.
For purposes of examination, the limitation is interpreted as “analyzing input and output of each operator in the broken operator group(s)”. The examiner notes that if this suggestion is incorporated into a further amendment, that the redundant limitation “analyzing input and output of each operator in the broken operator group(s)” recited in dependent claim 3 should then be appropriately omitted or modified to avoid further clarity issues.
Regarding claim 7, it recites the limitation “wherein each region of the m number of regions comprises a corresponding number of the operators”. In the context of the claimed elements, the meaning of relative term “corresponding” is unclear, as the claim may be interpreted as reciting a number that corresponds to the previously recited “m number of regions”, or interpreted as reciting a different number respective to each region. Consequently, one of ordinary skill in the art would not be reasonably apprised of the scope of the invention.
For purposes of examination, the limitation is interpreted as “for each region of the m number of regions, the region comprising a number of operators from the n number of operators of the neural network model”.
Regarding claims 9 and 17, they have substantially similar deficiencies to those found in claim 1 above. Consequently, they are rejected for the same reasons and are interpreted as detailed above.
Regarding claim 15, it has substantially similar deficiencies to those found in claim 7 above. Consequently, it is rejected for the same reasons and is interpreted as detailed above.
Regarding claims 3-6, 8, 11-14, 16, and 19-20, they inherit the deficiencies of their parent claims. Consequently, they are also rejected under 35 U.S.C. 112(b) as being indefinite for depending on an indefinite parent claim.
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-9, 11-17, and 19-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The analysis of the claims will follow the 2019 Revised Patent Subject Matter Eligibility Guidance, 84 Fed. Reg. 50 (“2019 PEG”).
Independent Claims (Claim 1, Claim 9, Claim 17):
Step 1: Claim 1 is drawn to a method, claim 9 is drawn to a system/apparatus, and claim 17 is drawn to a product. Therefore, each of these claims falls under one of the four categories of statutory subject matter (process/method, machine/apparatus, manufacture/product, or composition of matter).
Step 2A Prong 1: Claims 1, 9, and 17 each recite a judicially recognized exception of an abstract idea.
Claim 1 recites, inter alia:
scanning the neural network model to group the n number of operators into a plurality of operator groups – This limitation amounts to merely observing operators (i.e., operations) within a neural network and grouping said operations based on analysis and reasoning (e.g., identifying and grouping operations that share a similarity); therefore, it recites a process of evaluation capable of being performed in the human mind or using pen and paper.
dividing the neural network model into m number of regions – This limitation amounts to breaking up a neural network into regions based on analysis and reasoning (e.g., each region comprising elements that share a similarity), and therefore recites a process of evaluation capable of being performed in the human mind or using pen and paper.
rescanning the plurality of operator groups in the neural network model and identifying broken operator group(s) – This limitation amounts to merely observing/ re-analyzing the grouped operations, and identifying operations that are broken up or distributed in some manner (e.g., having operators in different regions); therefore, it recites a process of evaluation capable of being performed in the human mind or using pen and paper.
analyzing input and output of each operator of the n number of operators in the broken operator group(s) and identifying types of operators – This limitation amounts to performing an observation of operators and input/output data in order to make a judgement on the type (i.e., particular feature/concept/category) of an operator; therefore, it recites a process of evaluation capable of being performed in the human mind or using pen and paper.
and adjusting the operators of the specific type to rearrange the m number of regions – This limitation amounts to a high-level reallocation of operators to different regions based on previous judgement and analysis (e.g., re-evaluating similarities); therefore, it recites a process of evaluation capable of being performed in the human mind or using pen and paper. It can also be reasonably interpreted as reciting a mathematical relationship; organizing data (rearrange the m number of regions) through mathematical correlations (adjusting the operators of the specific type to [rearrange]).
wherein analyzing input and output of each operator of the n number of operators in the broken operator group(s) and identifying types of operators by: identifying operators of a first type having an input and output that are inconsistent with one another; identifying operators of a second type that corresponding to inputs of the operators of the first type – This limitation amounts to merely observing and identifying operators that have an input and output that are different in some manner (e.g., are from different regions), as well as merely observing passing of data between operators, and identifying operators that pass input data to other operators; therefore, it recites processes of evaluation capable of being performed in the human mind or using pen and paper.
Claims 9 and 17 recite substantially similar abstract idea limitations to those recited in claim 1, and therefore recite the same judicial exception.
Step 2A Prong 2: The following additional elements recited in claims 1, 9, and 17 do not integrate the recited judicial exceptions into a practical application.
Claim 1 additionally recites:
A method of dividing neural network applied in an apparatus, the method comprising: – The elements recited in the preamble amount to mere instructions to apply an exception, merely invoking a generic apparatus as a tool to perform the recited abstract ideas.
obtaining a neural network model comprising n number of operators – This limitation amounts to specifying a particular data source or type of data to be manipulated, and is therefore insignificant extra-solution activity.
Claim 9 recites substantially similar additional elements to those recited in claim 1, and further recites:
An apparatus comprising: at least one processor; and a storage device storing computer-readable instructions, which when executed by the at least one processor, cause the at least one processor to: – The elements recited in the preamble amount to mere instructions to implement an abstract idea on a computer or computer components.
Claim 17 recites substantially similar additional elements to those recited in claim 1, and further recites:
A non-transitory storage medium having stored thereon computer-readable instructions that, when the computer-readable instructions are executed by a processor to implement the following method: – The elements recited in the preamble amount to mere instructions to implement an abstract idea on a computer or computer components
Step 2B: The additional elements recited in claims 1, 9, and 17, viewed individually or as a combination, do not provide an inventive concept or otherwise amount to significantly more than the recited abstract ideas themselves.
Claim 1 additionally recites:
A method of dividing neural network applied in an apparatus – Mere instructions to apply an exception using an apparatus do not provide an inventive concept or significantly more to the recited abstract idea.
obtaining a neural network model comprising n number of operators – Representing a neural network as a series of operations (e.g., computational graph) is well understood, routine, and conventional activity (see Qararyah et al., “A Computational-Graph Partitioning Method for Training Memory-Constrained DNNs” [page 1 Introduction]) and therefore does not provide an inventive concept or significantly more to the recited abstract idea.
Claim 9 recites substantially similar additional elements to those recited in claim 1, and further recites:
An apparatus comprising: at least one processor; and a storage device storing computer-readable instructions, which when executed by the at least one processor, cause the at least one processor to: – Mere instructions to implement an abstract idea on a computer or computer components do not provide an inventive concept or significantly more to the recited abstract idea.
Claim 17 recites substantially similar additional elements to those recited in claim 1, and further recites:
A non-transitory storage medium having stored thereon computer-readable instructions that, when the computer-readable instructions are executed by a processor to implement the following method: – Mere instructions to implement an abstract idea on a computer or computer components do not provide an inventive concept or significantly more to the recited abstract idea.
As such, claims 1, 9, and 17 are not patent eligible.
Dependent Claims (Claims 3-8, Claims 11-16, Claims 19-20):
Dependent claims 3-8, 11-16, and 19-20 narrow the scope of independent claims 1, 9, and 17, and thus merely narrow the recited judicial exceptions. With respect to the independent claims, the recited judicial exceptions are not meaningfully integrated into a practical application, and also do not amount to significantly more than the recited abstract ideas themselves. The dependent claims recite abstract idea limitations similar to those recited within the independent claims, as they also do not provide anything more than mathematical concepts or mental processes that are capable of being performed in the human mind and/or using pen and paper. The dependent claims also do not recite any further additional elements that successfully integrate the recited judicial exceptions into a practical application or amount to significantly more than the recited abstract ideas themselves. Consequently, claims 3-8, 11-16, and 19-20 are also rejected under 35 U.S.C. 101.
Step 1: Claims 3-8 are drawn to a method, claim 11-16 are drawn to a system/apparatus, and claims 19-20 are drawn to a product. Therefore, each of these claims falls under one of the four categories of statutory subject matter (process/method, machine/apparatus, manufacture/product, or composition of matter).
Step 2A Prong 1: Claims 3-8, 11-16, and 19-20 each recite a judicially recognized exception of an abstract idea.
Claim 3 recites, inter alia:
analyzing input and output of each operator in the broken operator group(s); and identifying operators whose input and output are in different regions as operators of the first type – This limitation amounts to merely observing and identifying operators that have an input and output that are from different regions; therefore, it recites a process of evaluation capable of being performed in the human mind or using pen and paper.
Claim 4 recites, inter alia:
identifying operators that correspond to the inputs of the operators of the first type as operators of the second type – This limitation amounts to merely observing passing of data between operators, and identifying operators that pass input data to other operators; therefore, it recites a process of evaluation capable of being performed in the human mind or using pen and paper.
Claim 5 recites, inter alia:
adjusting outputs of the operators of the second type to a region that the outputs of the operators of the first type are positioned in. – This limitation amounts to a high-level reallocation of operators to different regions based on previous judgement and analysis (e.g., re-evaluating similarities); therefore, it recites a process of evaluation capable of being performed in the human mind or using pen and paper. It can also be reasonably interpreted as reciting a mathematical relationship; organizing data (adjusting outputs of the operators of the second type to a region that the outputs of the operators of the first type positioned in) through mathematical correlations (e.g., correlations between operators).
Claim 6 recites the same judicial exception as claim 1.
Claim 7 recites, inter alia:
dividing the n number of operators of the neural network model into the m number of regions, wherein m is an integer of two or more than two, and wherein each of the m number of regions comprises a corresponding number of the operators – This limitation amounts to determining an appropriate range for number of regions based on observation and judgement, and allocating a certain number of operators to each region based on said judgement. Therefore, it recites a process of evaluation capable of being performed in the human mind or using pen and paper.
Claim 8 recites, inter alia:
rescanning every operator group in the neural network model to identify whether the operator group is positioned in more than one region – This limitation amounts to merely observing/re-analyzing the grouped operations, and identifying groups that have operators in different regions; therefore, it recites a process of evaluation capable of being performed in the human mind or using pen and paper.
Claims 10-16 recite substantially similar abstract idea limitations to those recited in claims 2-8, and therefore recite the same judicial exceptions.
Claims 18-20 recite substantially similar abstract idea limitations to those recited in claims 2-4, and therefore recite the same judicial exceptions.
Step 2A Prong 2: Claims 3-5, 7-8, 11-13, 15-16, and 19-20 do not recite any further additional elements besides those recited in the independent claims, and the following additional elements recited in claims 6 and 14 do not integrate the recited judicial exceptions into a practical application.
Claim 6 additionally recites:
wherein each operator of the n number of operators comprises one or more input and one or more output; for adjacent operators comprising a preceding operator and a following operator, an output of the preceding operator is an input of the following operator; an output of an operator is input(s) for one or more operators; an input of an operator is from output(s) of one or more operators – These limitations amount to mere data gathering steps of passing data between operators (i.e., elements of a neural network), which is already performed within a neural network architecture by necessity; therefore, they recite insignificant extra-solution activity.
Claim 14 recites substantially similar additional elements to those recited in claim 6, and therefore also recites insignificant extra-solution activity.
Step 2B: The additional elements recited in claims 6 and 14, viewed individually or holistically, do not provide an inventive concept or otherwise amount to significantly more than the recited abstract ideas themselves.
Claim 6 additionally recites:
wherein each of the n number of operators comprises one or more input and one or more output; for adjacent operators, an output of an earlier operator is an input of a later operator; an output of an operator is input(s) for one or more operators, an input of an operator is from output(s) of one or more operators – Transmitting data over a network is well-understood, routine, and conventional activity (see MPEP § 2106.05(d); “Receiving or transmitting data over a network”) and therefore does not provide an inventive concept or significantly more to the recited abstract idea.
Claim 14 recites substantially similar additional elements to those recited in claim 6, and therefore also recites well understood, routine, and conventional activity.
As such, claims 3-8, 11-16, and 19-20 also are not patent eligible.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1, 3-9, 11-17, and 19-20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Qararyah et al., ("A Computational-Graph Partitioning Method for Training Memory-Constrained DNNs", available arXiv 05/05/2021), hereinafter Qararyah.
Regarding claim 1, Qararyah teaches A method of dividing neural network (“We adopt the system-level approach and propose a generic, efficient, and non-intrusive partitioning strategy (ParDNN) that avoids the drawbacks of the related work. ParDNN directly works on the computational graph representation of the neural network adopted by the most popular general-purpose DL frameworks such as TensorFlow [20] and MXNet [21]” [Qararyah page 1 Introduction]) applied in an apparatus, (“For models that do not fit into a single GPU’s memory, ParDNN enables training models having up to 5.1 billion parameters using only 4 GPUs… ParDNN’s overhead is negligible. For a graph having hundreds of thousands of nodes representing DNNs with billions of parameters, it takes ∼ 2 minutes to find a partition for 16 GPUs, while training these models takes days or even weeks” [Qararyah page 2 Introduction]; “We conducted all our experiments on a NVIDIA DGX2 with 16 Tesla V100 SXM3 32GB GPUs connected via NVSwitch. The throughput measurements are conducted over the interval between the 100th and the 150th training iterations to get stable results. We use TensorFlow 1.15 and CUDA 10.0” [Qararyah page 9 Environment, Models, and Datasets]) the method comprising:
obtaining a neural network model comprising n number of operators; (“In a TensorFlow graph G = (V, E), each node n ∈ V represents the instantiation of an operation (e.g., matrix multiplication or convolution) and it has zero or more inputs and zero or more outputs” [Qararyah page 2 Background]; See Figure 1: ParDNN Overview [Qararyah page 3]; See Figure 2(a) [Qararyah page 5]; A deep learning model (1 in Figure 1) is transformed into a computational graph (2 in Figure 1) representation (i.e., neural network model) of nodes (i.e., operators, A through Q in Figure 2(a)) upon which the ParDNN (3, 4, 5 in Figure 1) method operates. The examiner notes that the terms “nodes” and “operators” are herein used interchangeably; however, “n number of operators” may also be reasonably interpreted as referring to any subset of nodes within the computational graph (e.g., all nodes excluding root nodes and output nodes, B through P in Figure 2(a)))
scanning the neural network model to group the n number of operators into a plurality of operator groups; (“ParDNN’s strategy is composed of two main steps. First, we cluster the operation-nodes of the computational graph into K partitions, where K represents the number of available devices” [Qararyah page 2 Introduction]; “Our strategy is divided into two major steps. Step-1 aims to obtain a partitioning that has a minimal makespan. Step-1 is further divided into two stages. Stage-I, graph slicing splits the graph into K disjoint primary and S disjoint secondary clusters. This splitting enables working at a coarser level in the upcoming stages” [Qararyah page 3 ParDNN: A Partitioning Strategy for DNNs]; Under broadest reasonable interpretation in light of the instant specification [¶ 0019], “scanning every operator groups in the neural network model” is interpreted as grouping operators in the neural network model into a plurality of operator groups (also see interpretation set forth in section Claim Rejections - 35 USC § 112 above [page 6]). The computational graph (i.e., neural network (NN) model) is split (i.e., grouped) into K + S number of clusters (i.e., operator groups), each cluster comprising a number of nodes)
dividing the neural network model into m number of regions; (“ParDNN’s strategy is composed of two main steps. First, we cluster the operation-nodes of the computational graph into K partitions, where K represents the number of available devices” [Qararyah page 2 Introduction]; “Our strategy is divided into two major steps. Step-1 aims to obtain a partitioning that has a minimal makespan. Step-1 is further divided into two stages. Stage-I, graph slicing splits the graph into K disjoint primary and S disjoint secondary clusters. This splitting enables working at a coarser level in the upcoming stages” [Qararyah page 3 ParDNN: A Partitioning Strategy for DNNs]; “This stage groups the nodes of the graph into disjoint clusters. It iteratively finds the critical path (CP) in the graph and removes CP’s nodes and their incident edges from the graph by marking them as visited so that they are not explored in the following iterations. This is repeated K times and the resulting K many CPs are called primary clusters, which are the initial partitions assigned to different processing elements. Hence, the terms primary cluster and pe are going to be used interchangeably. After finding those primary clusters, the remaining nodes are grouped into secondary clusters” [Qararyah page 4 Graph slicing]; Within the graph-slicing stage comprising K + S total clusters (i.e., operator groups), primary clusters are assigned to (i.e., divided into) K partitions (i.e., regions) representing the number of available devices/processing elements)
rescanning the plurality of operator groups in the neural network model and identifying broken operator group(s); (“After finding those primary clusters, the remaining nodes are grouped into secondary clusters. A secondary cluster, which is a linear cluster [30], is either a single node or a path. All the secondary clusters are identified and tagged until there is no node left on the graph that is not part of any cluster” [Qararyah page 4 Graph slicing]; “Step-1 is further divided into two stages. Stage-I, graph slicing…Stage-II, mapping, merges these S secondary clusters into the K primary clusters using a novel mapping algorithm” [Qararyah page 3 ParDNN: A Partitioning Strategy for DNNs]; “This stage attaches the secondary clusters to the primaries with the goal of obtaining a partition with minimal makespan by addressing the locality parallelism trade-off” [Qararyah page 4 Mapping]; See Figure 2(b) and 2(d) [Qararyah page 5]; Remaining nodes in the computational graph are grouped into clusters (i.e., operator groups) until all nodes are grouped (i.e., nodes are continually clustered (i.e., rescanned) until every operator group is formed). Prior to the mapping stage (i.e., Stage-II) of Step-1 of ParDNN, secondary clusters ({H}, {N}, {F}, {D,L} in 2(b)) unlike primary clusters ({A, B, E, I, M, O, P, Q}, {C, G, J, K} in 2(b)) are not yet partitioned to a particular processing element, and are therefore not ready for implementation on the distributed system of devices (i.e., are broken operator groups) until they are merged (2(d)) with primary clusters)
analyzing input and output of each operator of the n number of operators in the broken operator group(s) and identifying types of operators; (“In a TensorFlow graph G = (V, E), each node n ∈ V represents the instantiation of an operation (e.g., matrix multiplication or convolution) and it has zero or more inputs and zero or more outputs” [Qararyah page 2 Background]; “We divide the secondary clusters into two groups: totally-communicating and maximally-communicating clusters. Totally-communicating clusters are the ones whose all the incoming and outgoing communications are with only one of the primaries. A maximally-communicating cluster is the one whose communication with one of the primaries is greater than its all communication/K” [Qararyah page 5 Locality-First Lookahead Mapping]; For each secondary cluster (i.e., broken operator group and its operators therein), incoming and outcoming communications (i.e., inputs and outputs of each node) are analyzed to place the clusters into groups (i.e., types), such as maximally-communicating clusters) and
adjusting the operators of the types to rearrange the m number of regions; (“For graphs which have equal or higher CCR value than the threshold, clusters from both totally-communicating and maximally-communicating are considered because we need to save as much communication as possible” [Qararyah page 5 Locality-First Lookahead Mapping]; “Then the desired clusters, depending on the CCR threshold, are traversed and any secondary cluster is mapped to its most communicating primary if any of three conditions holds” [Qararyah page 6 Locality-First Lookahead Mapping]; “Next, level-aware load balancing is applied to map the clusters that were not mapped in the previous step…sc is the secondary cluster that is going to be mapped to one of the primary clusters. sc is mapped to a pe that has the minimal computational load within the span(sc) and minimizes the incurred communication with the other processing elements. Equation (1) shows the selection criteria…[equation 1]…[algorithm 2]…Line 14 performs the selection criteria defined in Equation (1) to select the best primary cluster to merge the sc with” [Qararyah page 6 Level-Aware Load Balancing]; Via locality-first lookahead mapping and level-aware load balancing, all nodes of secondary clusters, including nodes from maximally-communicating clusters, are mapped (i.e., adjusted) to primary clusters, therefore rearranging the K primary clusters and their associated partitions (i.e., regions) such that all operators are now assigned to a device)
wherein analyzing input and output of each of the n number of operators in the broken operator group(s) and identifying types of operators ([Qararyah page 2 Background] and [Qararyah page 5 Locality-First Lookahead Mapping], as detailed above) by:
identifying operators of a first type having an input and output that are inconsistent with one another; ([Qararyah page 2 Background] and [Qararyah page 5 Locality-First Lookahead Mapping], as detailed above; Secondary clusters (i.e., broken operator groups) may be maximally-communicating clusters, which are of a type other than totally-communicating clusters (i.e., they communicate with more than one primary cluster). Given communication can occur through both incoming communication (i.e., input) and outgoing communication (i.e., output), maximally-communicating clusters include secondary clusters (and their nodes therein) which may receive incoming communication from a first primary cluster, and send outgoing communication to a second primary cluster (i.e., have inconsistent input and output))
identifying operators of a second type that corresponding to inputs of the operators of the first type ([Qararyah page 2 Background] and [Qararyah page 5 Locality-First Lookahead Mapping], as detailed above; See Figure 2(a) [Qararyah page 5]; For any cluster (including maximally-communicating clusters with incoming and outcoming communication from differing primary clusters (i.e., of a first type)) and its nodes therein, nodes may receive input from preceding (i.e., of a second type) identified nodes (e.g., nodes G, H in 2(a) receive input from C))
Regarding claim 3, Qararyah teaches the limitations of parent claim 1 and wherein the identifying operators of the first type that with inconsistent input and inconsistent output ([Qararyah page 2 Background] and [Qararyah page 5 Locality-First Lookahead Mapping], as detailed above) comprises:
analyzing input and output of each operator in the broken operator group(s); ([Qararyah page 2 Background] and [Qararyah page 5 Locality-First Lookahead Mapping], as detailed above) and
identifying operators whose input and output are in different regions as operators of the first type ([Qararyah page 2 Background] and [Qararyah page 5 Locality-First Lookahead Mapping], as detailed above)
Regarding claim 4, Qararyah teaches the limitations of parent claim 3 and wherein the identifying operators of the second type that corresponding to inputs of the operators of the first type ([Qararyah page 2 Background] and [Qararyah page 5 Locality-First Lookahead Mapping] and Figure 2(a) [Qararyah page 5], as detailed above) comprises:
identifying operators that correspond to the inputs of the operators of the first type as operators of the second type ([Qararyah page 2 Background] and [Qararyah page 5 Locality-First Lookahead Mapping] and Figure 2(a) [Qararyah page 5], as detailed above)
Regarding claim 5, Qararyah teaches the limitations of parent claim 4 and wherein adjusting the operators of the specific type to rearrange the m number of regions ([Qararyah page 5 Locality-First Lookahead Mapping] and [Qararyah page 6 Locality-First Lookahead Mapping] and [Qararyah page 6 Level-Aware Load Balancing], as detailed above) comprises:
adjusting outputs of the operators of the second type to a region that the outputs of the operators of the first type are positioned in (“A maximally-communicating cluster is the one whose communication with one of the primaries is greater than its all communication/K… For graphs which have equal or higher CCR value than the threshold, clusters from both totally-communicating and maximally-communicating are considered because we need to save as much communication as possible” [Qararyah page 5 Locality-First Lookahead Mapping]; “Then the desired clusters, depending on the CCR threshold, are traversed and any secondary cluster is mapped to its most communicating primary if any of three conditions holds” [Qararyah page 6 Locality-First Lookahead Mapping]; Under broadest reasonable interpretation in light of the instant specification [¶ 0035-0037], “outputs of the operators of the second type” may refer to operators of the first type, given that operators of the second type are previously recited as “corresponding to inputs of the operators of the first type”. Thus, a maximally-communicating cluster with incoming and outcoming communication from differing primary clusters (i.e., of a first type) may be mapped (i.e., adjusted) to its most communicating primary (and thereby associated partition (i.e., region)), wherein said primary is an outcoming communication (i.e., output)).
Regarding claim 6, Qararyah teaches the limitations of parent claim 1 and wherein each operator of the n number of operators comprises one or more input and one or more output; for adjacent operators comprising a preceding operator and a following operator, an output of the preceding operator is an input of the following operator; an output of an operator is input(s) for one or more operators; an input of an operator is from output(s) of one or more operators (“In a TensorFlow graph G = (V, E), each node n ∈ V represents the instantiation of an operation (e.g., matrix multiplication or convolution) and it has zero or more inputs and zero or more outputs” [Qararyah page 2 Background]; See Figure 2(a) [Qararyah page 5]; For an n number of operators (i.e., subset; see examiner note [page 20]) comprising all nodes excluding root nodes and output nodes (e.g., B through P in Figure 2(a)), each node has one or more input and one or more output. For adjacent nodes (e.g., C and G in 2(a)), output of a preceding node (C) is input of a following node (G). An output of an operator is input for another operator (e.g., in 2(a), G, output of C, is input to J), and an input of an operator is from output of another operator (e.g., in 2(a), G, input to J, is output of C)).
Regarding claim 7, Qararyah teaches the limitations of parent claim 1 and wherein scanning every operator group in the neural network model ([Qararyah page 2 Introduction] and [Qararyah page 3 ParDNN: A Partitioning Strategy for DNNs], as detailed above) comprises:
dividing the n number of operators of the neural network model into the m number of regions, wherein m is an integer of two or more than two, and wherein each region of the m number of regions comprises a corresponding number of the operators (See Figure 2(b) [Qararyah page 5]; After grouping the nodes into clusters (i.e., operator groups), there may be two or more primary clusters (e.g., two primary clusters in 2(b), {A, B, E, I, M, O, P, Q} and {C, G, J, K}), wherein the primary clusters (and their associated partitions (i.e., regions)) each comprise at least one node)
Regarding claim 8, Qararyah teaches the limitations of parent claim 1 and wherein the rescanning every operator group in the neural network model and identifying broken operator group(s) ([Qararyah page 4 Graph slicing] and [Qararyah page 3 ParDNN: A Partitioning Strategy for DNNs] and [Qararyah page 4 Mapping] and Figure 2(b) and 2(d) [Qararyah page 5], as detailed above) comprises:
rescanning every operator group in the neural network model to identify whether the operator group is positioned in more than one region ([Qararyah page 2 Background] and [Qararyah page 5 Locality-First Lookahead Mapping], as detailed above; Under broadest reasonable interpretation in light of the specification, an “operator group that is positioned in more than one region” may refer to an operator group placed between partitions (i.e., corresponding with more than one region). Given communication can occur through both incoming communication (i.e., input) and outgoing communication (i.e., output), maximally-communicating clusters (i.e., type of operator group) may receive incoming communication from a first primary cluster (and associated partition), and send outgoing communication to a second primary cluster (and associated partition), thereby corresponding with more than one region).
Regarding claims 9 and 11-16, they are apparatus claims that correspond to the method of claims 1 and 3-8. Qararyah further teaches An apparatus comprising: at least one processor; and a storage device storing computer-readable instructions, which when executed by the at least one processor, cause the at least one processor to: perform the claimed functions (“For models that do not fit into a single GPU’s memory, ParDNN enables training models having up to 5.1 billion parameters using only 4 GPUs… ParDNN’s overhead is negligible. For a graph having hundreds of thousands of nodes representing DNNs with billions of parameters, it takes ∼ 2 minutes to find a partition for 16 GPUs, while training these models takes days or even weeks” [Qararyah page 2 Introduction]; “We conducted all our experiments on a NVIDIA DGX2 with 16 Tesla V100 SXM3 32GB GPUs connected via NVSwitch. The throughput measurements are conducted over the interval between the 100th and the 150th training iterations to get stable results. We use TensorFlow 1.15 and CUDA 10.0” [Qararyah page 9 Environment, Models, and Datasets]). Consequently, claims 9 and 11-16 are rejected for the same reasons as claims 1 and 3-8.
Regarding claims 17 and 19-20, they are product claims that correspond to the method of claims 1 and 3-4. Qararyah further teaches A non-transitory storage medium having stored thereon computer-readable instructions that, when the computer-readable instructions are executed by a processor, implement the following method: (“For models that do not fit into a single GPU’s memory, ParDNN enables training models having up to 5.1 billion parameters using only 4 GPUs… ParDNN’s overhead is negligible. For a graph having hundreds of thousands of nodes representing DNNs with billions of parameters, it takes ∼ 2 minutes to find a partition for 16 GPUs, while training these models takes days or even weeks” [Qararyah page 2 Introduction]; “We conducted all our experiments on a NVIDIA DGX2 with 16 Tesla V100 SXM3 32GB GPUs connected via NVSwitch. The throughput measurements are conducted over the interval between the 100th and the 150th training iterations to get stable results. We use TensorFlow 1.15 and CUDA 10.0” [Qararyah page 9 Environment, Models, and Datasets]). Consequently, claims 17-20 are rejected for the same reasons as claims 1 and 3-4.
Response to Arguments
The remarks filed 09/16/2025 have been fully considered.
Applicant’s remarks [Remarks pages 4-6] traversing the non-eligible subject matter rejection under 35 U.S.C. 101 set forth in the office action mailed 06/25/2025, in view of claims 1, 3-9, 11-17, and 19-20 as amended, have been considered but are not persuasive.
Applicant alleges that amended claim 1 (and corresponding claims 9 and 17) are not directed to any judicial exception and reflect an improvement to data updating technology.
The examiner respectfully disagrees. Applicant is directed towards the grounds of rejection under 35 U.S.C. 101 with respect to amended claims 1, 3-9, 11-17, and 19-20 set forth above. Applicant’s arguments are further summarized and addressed below.
Applicant argues [Remarks page 5, para. 2] that “obtaining”, “scanning”, “dividing”, “rescanning”, “analyzing”, “adjusting”, “identifying”, as recited in the claims, should be executions or actions of the neural network technology, and not any user manual actions as interpreted by the Office Action.
In response, the examiner respectfully notes that, as per MPEP § 2106.04(a)(2)(III)(C), a claim that requires a computer may still recite a mental process. The claims at issue do no more than link abstract concepts capable of being performed in the human mind to a generic neural network model executed on a generic apparatus, and therefore fail to be directed to anything more than the recited abstract concepts themselves. The examiner further notes that performing actions on a “model” of a neural network, as recited in the claims, is not equivalent to performing said actions on the underlying neural network itself.
Applicant argues [Remarks page 6, para. 1] that the efficiency of updating the rule data is improved, by “analyzing the operators of the first type and the second type”, and “adjusting the operators of the types to rearrange the m number of regions”, and that therefore, data transmission or data merge of the operators in a same path of the rearranged regions may better match and improve data safety, which is not disclosed by the prior arts.
In response, the examiner respectfully notes that applicant has not made a sufficient showing to explain how the claims adequately reflect an improvement set forth in the specification. It is not clear how the limitations at issue correspond to the alleged improvement, and applicant has not provided the factual evidence or specific details necessary to support their argument. Mere allegations of patentability without appropriate justification or explanation are inadequate to overcome the standing rejection. Further, as per MPEP § 2106.05(I), (“Because they are separate and distinct requirements from eligibility, patentability of the claimed invention under 35 U.S.C. 102 and 103, with respect to the prior art is neither required for, nor a guarantee of, patent eligibility under 35 U.S.C. 101”), whether or not a claim allegedly overcomes the prior art is irrelevant to an analysis regarding whether or not it recites patent eligible subject matter.
Applicant has not presented further arguments with respect to the dependent claims. As such, amended claims 1, 3-9. 11-17, and 19-20 stand rejected under 35 U.S.C. 101.
Applicant’s remarks [Remarks pages 6-8] traversing the anticipation rejection under 35 U.S.C. 102 set forth in the office action mailed 06/25/2025, in view of claims 1, 3-9, 11-17, and 19-20 as amended, have been considered but are not persuasive.
Applicant alleges that in view of portions of Qararyah ([page 2 Background] and [page 5 Locality-First Lookahead Mapping]), “it’s obvious that the nodes of Qararyah are not classified or divided based on whether their input and output are consistent”, that Qararyah fails to disclose or teach “analyzing input and output of the nodes to classify or divide the nodes into different types”, and that that “the first type and the second type of the operators” are different than “the primary clusters and the secondary clusters” of Qararyah which are not related to input and output of the nodes.
In response, the examiner respectfully notes that applicant has not adequately explained their position in their response, which does no more than set forth mere allegations of differences between the cited prior art and the claimed invention without providing adequate explanation or evidence, or tying the analysis to a broadest reasonable interpretation of the actual language of the claims. The response also appears to disregard the actual portions of Qararyah that were cited and analyzed to teach the claimed limitations. The examiner’s rejection does not respectively map primary clusters and secondary clusters to a first type and a second type of the operators, as applicant’s argument appears to allege, but rather maps secondary clusters to broken operator groups, and maps nodes (i.e., operators) of maximally-communicating clusters, which are an identified type of secondary cluster that communicates with more than one primary cluster, and therefore may have incoming and outcoming communication from differing primary clusters (i.e., its operators are a specific type identified based on analyzing incoming and outcoming communication (i.e., inputs and outputs)), to operators of “a first type”, and maps nodes that provide input to said nodes of maximally-communicating clusters, wherein inputs to nodes of every cluster (i.e., operator group) are expressly identified by the corresponding computational graph representation (i.e., neural network model) of the neural network, as explained via Figure 2 on page 5 of Qararyah, to operators of “a second type”.
Applicant has not presented further arguments with respect to the dependent claims. As such, amended claims 1, 3-9, 11-17, and 19-20 stand rejected under 35 U.S.C. 102.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to VIJAY M BALAKRISHNAN whose telephone number is (571) 272-0455. The examiner can normally be reached 10am-5pm EST Mon-Thurs.
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, JENNIFER WELCH can be reached on (571) 272-7212. 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.
/V.M.B./
Examiner, Art Unit 2143
/JENNIFER N WELCH/Supervisory Patent Examiner, Art Unit 2143