Prosecution Insights
Last updated: July 23, 2026
Application No. 18/103,757

NEURAL TOPOLOGICAL ORDERING

Final Rejection §103§112
Filed
Jan 31, 2023
Priority
May 19, 2022 — provisional 63/343,961
Examiner
LIN, HSING CHUN
Art Unit
2195
Tech Center
2100 — Computer Architecture & Software
Assignee
Qualcomm Incorporated
OA Round
2 (Final)
60%
Grant Probability
Moderate
3-4
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 60% of resolved cases
60%
Career Allowance Rate
70 granted / 116 resolved
+5.3% vs TC avg
Strong +81% interview lift
Without
With
+81.2%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
21 currently pending
Career history
150
Total Applications
across all art units

Statute-Specific Performance

§101
2.2%
-37.8% vs TC avg
§103
87.5%
+47.5% vs TC avg
§102
3.6%
-36.4% vs TC avg
§112
6.0%
-34.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 116 resolved cases

Office Action

§103 §112
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claims 1-28 are pending in this application. Information Disclosure Statement The IDS filed on 01/15/2026 has been considered. Response to Arguments Applicant’s arguments regarding the rejections of claims 1-28 under 35 U.S.C. 112b have been fully considered and are persuasive. The rejections have been withdrawn. However, new 35 U.S.C. 112b rejections are applied to claims 1-28 based on the amendments. Applicant's arguments regarding the 35 U.S.C. 101 rejections of claims 1-28 have been fully considered and are persuasive. The rejections have been withdrawn. Applicant's arguments regarding the obviousness-type double patenting rejections of claims 1-28 have been fully considered and are persuasive. The rejections have been withdrawn. Applicant's arguments regarding the 35 U.S.C. 102/103 rejections of claims 1-28 have been fully considered but are moot in light of the references being applied in the current office action. Claim Interpretation The following is a quotation of 35 U.S.C. 112(f): (f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph: An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked. As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph: (A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function; (B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and (C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function. Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function. Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function. Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. These limitations include “means for receiving a set of tasks to be performed; means for representing the tasks in an original graph including multiple nodes connected by edges, each node of the multiple nodes corresponding to a task in the set of tasks; means for assigning a scheduling priority to each node in the original graph with a plurality of multi-head attention blocks; means for selecting a topological order of the tasks by repeating selection of a next node; and means for generating the topological order of the set of tasks by repeating the selection of the next node; and means for executing the set of tasks in the topological order”, “means for selecting, via an artificial neural network (ANN), the next node based on one of a greedy search of a probability distribution of the potential next nodes, sampling from the probability distribution of the potential next nodes, or a beam search process”, “means for assigning the scheduling priorities to the multiple nodes with a single inference”, “means for assigning the scheduling priorities to the multiple nodes based on one or more topological transforms”, and “means for performing the set of tasks according to the topological order”. Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof. The structure corresponding to these limitations is a processor. If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. 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-28 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. As per claims 1, 8, 15, and 22 (line numbers refer to claim 1): Lines 5-12 recite “assigning a scheduling priority to each node in the original graph with a plurality of multi-head attention blocks, each multi-head attention block assigned to a different topologically transformed graph induced by the original graph” and it is unclear how the scheduling priority of each node in the original graph can be assigned if each multi-head attention block is assigned to a different topologically transformed graph rather than the entirety of the original graph. Additionally, it is unclear if “each multi-head attention block” is within the plurality of multi-head attention blocks. As per claims 7, 14, 21, and 28 (line numbers refer to claim 7): Lines 1-2 recite “performing the set of tasks according to the topological order” and claim 1 recites “executing the set of tasks in the topological order” and it is unclear what the difference between executing and performing the set of tasks is. Claims 2-7, 9-14, 16-21, and 23-28 are dependent claims of claims 1, 8, 15, and 22 and fail to resolve the deficiencies of claims 1, 8, 15, and 22, so they are rejected for the same reasons. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-28 are rejected under 35 U.S.C. 103 as being -unpatentable over Englert et al. (US 20200218969 A1 hereinafter Englert) and in view of Lee et al. (A Global DAG Task Scheduler Using Deep Reinforcement Learning and Graph Convolution Network hereinafter Lee). As per claim 1, Englert teaches the invention substantially as claimed including a processor-implemented method comprising: receiving a set of tasks to be performed ([0057] The framework 260 determines input parameters and an output format of algorithms for a particular functionality provided by an electronic device (e.g., the electronic device 115) (610).); [0025] As illustrated, the computing architecture includes a compiler 215. A memory 240 includes source code 244, which after being compiled by the compiler 215, generates executables 242 that can be deployed to different target platforms for execution. In an example, the source code 244 may include code for various algorithms); representing the set of tasks in an original graph including multiple nodes connected by edges, each node of the multiple nodes corresponding to a task in the set of tasks ([0033] As discussed above, the subject technology, for example, generates a graph representing a data flow for performing a particular functionality that includes respective nodes representing various algorithms and an indication at each node of which processor executes the algorithm. Such algorithms may include one or more machine learning operations (e.g., predictions that utilize neural network models). Each node in the graph is connected to another node using a directed edge); assigning a scheduling priority to each node in the original graph ([0042] The graph 400 include nodes that are sorted in topological order; [0034] the graph generator 262 may determine the various algorithms that implement the functionality and perform a topological sort to produce a directed acrylic graph (e.g., the graph 300) where the nodes of respective algorithms are ordered in accordance with their dependencies, and includes directed edges between respective nodes); selecting a next node of potential next nodes based at least in part on the assigned scheduling priorities and a topology of the original graph; generating a topological order of the set of tasks by repeating the selecting of the next node ([0034] the graph generator 262 may determine the various algorithms that implement the functionality and perform a topological sort to produce a directed acrylic graph (e.g., the graph 300) where the nodes of respective algorithms are ordered in accordance with their dependencies, and includes directed edges between respective nodes. For example, graph generator 262 determines that a first algorithm depends on input data that is provided by a second algorithm, and therefore would order the second algorithm before the first algorithm when generating the graph; [0029] In some implementations, prior to runtime, the framework 260 determines, as part of an integration stage, input parameters and an output format of each algorithm for a particular functionality (e.g., computer vision application for analyzing images and/or videos) provided in the compiled code, and temporal dependencies to determine an order of the algorithms; [0057] The framework 260 determines input parameters and an output format of algorithms for a particular functionality provided by an electronic device (e.g., the electronic device 115) (610). The framework 260 determines an order of the algorithms for performing the particular functionality based at least in part on temporal dependencies of the algorithms, and the input parameters and the output format of the algorithms (612). The graph generator 262 generates a graph based at least in part on the order of algorithms (614); [0042] For example, the heterogeneous scheduler 264 selects node 410 in the graph 400 corresponding to a first algorithm (“Inference 1”), which is executed on the GPU. Upon completion of the first algorithm, the heterogeneous scheduler 264 selects a subsequent node connected, by a directed edge, to the node 410); and executing the set of tasks in the topological order ([0042] The graph 400 include nodes that are sorted in topological order. The heterogeneous scheduler 264 performs a weighted traversal of the graph 400 while dispatching algorithms to various processors for execution; [0057] The graph generator 262 generates a graph based at least in part on the order of algorithms (614). In an implementation, the graph is a directed acyclic graph including a set of nodes corresponding to the algorithms where each node indicates a particular processor provided by the electronic device for executing an algorithm. The heterogeneous scheduler 264 executes the particular functionality based on performing a traversal of the graph (616). In an implementation, the traversal is a topological traversal of the set of nodes). Englert fails to teach assigning a scheduling priority to each node in the original graph with a plurality of multi-head attention blocks, each multi-head attention block assigned to a different topologically transformed graph induced by the original graph; selecting a next node of potential next nodes according to a probability of each of the potential next nodes. Lee teaches assigning a scheduling priority to each node in the original graph with a plurality of multi-head attention blocks, each multi-head attention block assigned to a different topologically transformed graph induced by the original graph (Section I paragraph 7 Section IV presents our proposed encoder-decoder model structure with GCN-based DAG embeddings and Attention-based priority assignments for subtasks in a DAG; Section IV. paragraph 2 In the GCN-based encoder, the raw features of individual n nodes (or n subtasks) in a DAG task τ are first processed via a feed-forward network (FFN). The structural information of τ ’s task dependency graph is encoded via the message passing mechanism of a GCN, and then latent vectors of the nodes are generated. With the latent vectors, the Attention-based decoder generates a priority order for the nodes of τ; Section IV.A.2) Graph Level Embedding We exploit several Attention modules (heads) simultaneously and aggregate them to get the final latent representation. This is useful since different Attention heads can give weights more relevantly to different latent representations (h ). The Aggregate function is implemented using multi-head Attention, and is defined as Aggregateθ({h(k)j|vj∈N(vi)})=(Attθ,1⊕Attθ,2⊕…⊕Attθ,H) (12) where ⊕ concatenates vectors, and Attθ,1,…,Attθ,H are H -individual Attention modules. H denotes the number of distinct Attention heads per layer; Section V.A.3) Model Hyperparameters In the encoder, we set the number of graph convolution layers to K=2. For each graph convolution layer, we set the number of heads to 4 where two of them are forward-path Attention modules and the others are inverse-path Attention modules; Section IV.A.3) Two-Way Path Aggregation Thus, we adopt two types of Attention heads, incorporating them in the message-passing loop. This is similar with [22], [28] except we exploit different masks for each Attention head. Specifically, we define inverse neighbors as N-1(vi)={vk|eik∈E}∪{vi}.(14) Then, among H Attention heads, we set half of them to be forward-path graph Attention in Eq. (10) and the other half to be inverse-path graph Attention in Eq. (15). Attθ({h(k)j|vj∈N-1(vi)})(15) This graph path aggregation in a GCN with both forward-path and inverse-path is illustrated in Figure 3. Employing Attention from the two path types enables the model to learn features on predecessor conditions as well as successor conditions in a DAG while preserving their different relations; Figure 3 PNG media_image1.png 231 588 media_image1.png Greyscale ; Figure 3 Graph path aggregation with two path types, forward- and inverse-path: This illustrates how to produce the representation of node v7 in a DAG (in Figure 1) using the forward-path and inverse-path aggregation, where self-loops in the aggregate are omitted for simplicity); selecting a next node of potential next nodes according to a probability of each of the potential next nodes (Section IV.B.1) Sequential Node Selection As formulated in Eq. (5), we decompose the probability function of a priority order into a product of probabilities of node selection in sequence. The decoder chooses a node to have the highest priority by sampling from probability distribution pθ(π1|τ) . It then chooses another node with the next highest priority (i.e., the highest priority among nodes not chosen yet) by sampling from pθ(π2|π1,τ) . For each selection at step t , the embedding of a partial priority order (π1,…,πt−1,τ) is used to generate the respective conditioned probability. This procedure continues until no node is left, so it comprises n -iterative decoding.). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined Englert with the teachings of Lee to improve performance (see Lee Abstract With comprehensive evaluations, we verify that our model shows comparable performance to several state-of-the-art DAG task scheduling algorithms, and outperforms them by 2~3% in the slowdown of achieved makespans particularly in nontrivial system configurations where workloads are neither too small nor heavy compared to the given number of processors). As per claim 2, Englert and Lee teach the processor-implemented method of claim 1. Englert teaches in which the set of tasks comprise a set of operations to be processed by a compiler ([0025] As illustrated, the computing architecture includes a compiler 215. A memory 240 includes source code 244, which after being compiled by the compiler 215, generates executables 242 that can be deployed to different target platforms for execution. In an example, the source code 244 may include code for various algorithms). As per claim 3, Englert and Lee teach the processor-implemented method of claim 1. Lee teaches further comprising selecting the next node based on one of a greedy search of a probability distribution of the potential next nodes, sampling from the probability distribution of the potential next nodes, or a beam search process (Section IV.B.2) Sampling Priority From the Distribution Here we describe our strategy for sampling πt from the distribution at step t in Eq. (19). We can conduct successive selection in a greedy way using πt=argmax(pθ(πt|π1,…,πt−1,τ)).(21) It is also possible to use stochastic sampling that randomly draws πt according to the distribution. Note that there are other sampling strategies than those simple approaches, e.g., A∗ [30], Beam Search; Section IV.B.1) Sequential Node Selection As formulated in Eq. (5), we decompose the probability function of a priority order into a product of probabilities of node selection in sequence. The decoder chooses a node to have the highest priority by sampling from probability distribution pθ(π1|τ) . It then chooses another node with the next highest priority (i.e., the highest priority among nodes not chosen yet) by sampling from pθ(π2|π1,τ) . For each selection at step t , the embedding of a partial priority order (π1,…,πt−1,τ) is used to generate the respective conditioned probability. This procedure continues until no node is left, so it comprises n -iterative decoding). As per claim 4, Englert and Lee teach the processor-implemented method of claim 1. Lee teaches further comprising assigning, via an artificial neural network (ANN), the scheduling priorities to the multiple nodes with a single inference (Section IV.E.3) Baseline Reduction In model training, we employ an additional variance reduction technique with baseline [32]. Specifically, we exploit a greedy baseline method, similar to [21], in which a target model pθ and another base model pβ are used. The two models share the same neural network structure but have distinct θ and β parameters; Abstract Recently, deep reinforcement learning (DRL) was found to provide effective solutions to various combinatorial optimization problems. In this paper, inspired by recent achievements in DRL, we employ DRL techniques for scheduling a directed acyclic graph (DAG) task in which a set of non-preemptive subtasks are specified by precedence conditions among them; Section IV. paragraph 1 The modules are end-to-end trained through DRL to generate a priority order of a DAG task input; Figure 2; Section IV.B. paragraph 1 With the node embeddings (the final latent vectors h(k)i in Eq. (9)) from the encoder, for a DAG task τ of n nodes, the decoder sequentially selects nodes to generate an n -sized priority order; Section IV.D. paragraph 2 Therefore, the complexity to infer a priority order for a DAG task input is O(n2d2);). As per claim 5, Englert and Lee teach the processor-implemented method of claim 1. Englert teaches in which the original graph comprises a direct acyclic graph ([0030] the graph is a directed acyclic graph (DAG)). As per claim 6, Englert and Lee teach the processor-implemented method of claim 1. Lee teaches in which the scheduling priority is assigned based on one or more topological transforms (Figure 3; Section IV. paragraph 1 The modules are end-to-end trained through DRL to generate a priority order of a DAG task input, where the learning objective is to minimize the makespan of the task scheduled by the priority order. Specifically, we adapt graph learning with two-way path aggregation in the encoder to effectively extract the relational information in a DAG; Section IV.A.3) Two-Way Path Aggregation Thus, we adopt two types of Attention heads, incorporating them in the message-passing loop. This is similar with [22], [28] except we exploit different masks for each Attention head. Specifically, we define inverse neighbors as N-1(vi)={vk|eik∈E}∪{vi}.(14) Then, among H Attention heads, we set half of them to be forward-path graph Attention in Eq. (10) and the other half to be inverse-path graph Attention in Eq. (15). Attθ({h(k)j|vj∈N-1(vi)})(15) This graph path aggregation in a GCN with both forward-path and inverse-path is illustrated in Figure 3. Employing Attention from the two path types enables the model to learn features on predecessor conditions as well as successor conditions in a DAG while preserving their different relations). As per claim 7, Englert and Lee teach the processor-implemented method of claim 1. Englert teaches further comprising performing the set of tasks according to the topological order ([0042] The graph 400 include nodes that are sorted in topological order. The heterogeneous scheduler 264 performs a weighted traversal of the graph 400 while dispatching algorithms to various processors for execution. In an implementation, the heterogeneous scheduler 264 reevaluates the graph 400 after each algorithm is completed to select a subsequent node (e.g., algorithm) for executing. For example, the heterogeneous scheduler 264 selects node 410 in the graph 400 corresponding to a first algorithm (“Inference 1”), which is executed on the GPU. Upon completion of the first algorithm, the heterogeneous scheduler 264 selects a subsequent node connected, by a directed edge, to the node 410 in a manner described by the following discussion.). As per claim 8, it is an apparatus claim of claim 1, so it is rejected for similar reasons. Additionally, Englert teaches an apparatus, comprising: at least one memory; and at least one processor coupled to the at least one memory, the at least one processor configured to ([0059] the bus 708 communicatively connects the one or more processing unit(s) 712 with the ROM 710, the system memory 704). As per claims 9, 10, 12, 13, and 14, they are apparatus claims of claims 2, 3, 5, 6, and 7, so they are rejected for similar reasons. As per claim 11, Englert and Lee teach the apparatus of claim 8. Lee teaches in which the at least one processor is further configured to assign the scheduling priorities to the multiple nodes with a single inference (Figure 2; Section IV.B. paragraph 1 With the node embeddings (the final latent vectors h(k)i in Eq. (9)) from the encoder, for a DAG task τ of n nodes, the decoder sequentially selects nodes to generate an n -sized priority order; Section IV.D. paragraph 2 Therefore, the complexity to infer a priority order for a DAG task input is O(n2d2);). As per claim 15, it is a non-transitory computer-readable medium claim of claim 1, so it is rejected for similar reasons. Additionally, Englert teaches a non-transitory computer-readable medium having program code recorded thereon, the program code executed by a processor ([0065] The computer-readable storage medium can be any storage medium that can be read, written, or otherwise accessed by a general purpose or special purpose computing device, including any processing electronics and/or processing circuitry capable of executing instructions). As per claims 16, 18, 19, 20, and 21, they are non-transitory computer-readable medium claims of claims 2, 4, 5, 6, and 7, so they are rejected for similar reasons. As per claim 17, Englert and Lee teach the non-transitory computer-readable medium of claim 15. Lee teaches further comprising program code to select, via an artificial neural network (ANN), the next node based on one of a greedy search of a probability distribution of the potential next nodes, sampling the probability distribution of the potential next nodes or a beam search process (Section IV.E.3) Baseline Reduction In model training, we employ an additional variance reduction technique with baseline [32]. Specifically, we exploit a greedy baseline method, similar to [21], in which a target model pθ and another base model pβ are used. The two models share the same neural network structure but have distinct θ and β parameters; Abstract Recently, deep reinforcement learning (DRL) was found to provide effective solutions to various combinatorial optimization problems. In this paper, inspired by recent achievements in DRL, we employ DRL techniques for scheduling a directed acyclic graph (DAG) task in which a set of non-preemptive subtasks are specified by precedence conditions among them; Section IV.B.2) Sampling Priority From the Distribution Here we describe our strategy for sampling πt from the distribution at step t in Eq. (19). We can conduct successive selection in a greedy way using πt=argmax(pθ(πt|π1,…,πt−1,τ)).(21) It is also possible to use stochastic sampling that randomly draws πt according to the distribution. Note that there are other sampling strategies than those simple approaches, e.g., A∗ [30], Beam Search; Section IV.B.1) Sequential Node Selection As formulated in Eq. (5), we decompose the probability function of a priority order into a product of probabilities of node selection in sequence. The decoder chooses a node to have the highest priority by sampling from probability distribution pθ(π1|τ) . It then chooses another node with the next highest priority (i.e., the highest priority among nodes not chosen yet) by sampling from pθ(π2|π1,τ) . For each selection at step t , the embedding of a partial priority order (π1,…,πt−1,τ) is used to generate the respective conditioned probability. This procedure continues until no node is left, so it comprises n -iterative decoding). As per claim 22, Englert teaches an apparatus, comprising: means for receiving a set of tasks to be performed ([0057] The framework 260 determines input parameters and an output format of algorithms for a particular functionality provided by an electronic device (e.g., the electronic device 115) (610).); means for representing the tasks in an original graph including multiple nodes connected by edges, each node of the multiple nodes corresponding to a task in the set of tasks ([0033] As discussed above, the subject technology, for example, generates a graph representing a data flow for performing a particular functionality that includes respective nodes representing various algorithms and an indication at each node of which processor executes the algorithm. Such algorithms may include one or more machine learning operations (e.g., predictions that utilize neural network models). Each node in the graph is connected to another node using a directed edge); means for assigning a scheduling priority to each node in the original graph ([0042] The graph 400 include nodes that are sorted in topological order; [0034] the graph generator 262 may determine the various algorithms that implement the functionality and perform a topological sort to produce a directed acrylic graph (e.g., the graph 300) where the nodes of respective algorithms are ordered in accordance with their dependencies, and includes directed edges between respective nodes); means for selecting a topological order of the tasks by repeating selection of a next node; means for generating the topological order of the set of tasks by repeating the selection of the next node ([0034] the graph generator 262 may determine the various algorithms that implement the functionality and perform a topological sort to produce a directed acrylic graph (e.g., the graph 300) where the nodes of respective algorithms are ordered in accordance with their dependencies, and includes directed edges between respective nodes. For example, graph generator 262 determines that a first algorithm depends on input data that is provided by a second algorithm, and therefore would order the second algorithm before the first algorithm when generating the graph; [0029] In some implementations, prior to runtime, the framework 260 determines, as part of an integration stage, input parameters and an output format of each algorithm for a particular functionality (e.g., computer vision application for analyzing images and/or videos) provided in the compiled code, and temporal dependencies to determine an order of the algorithms; [0057] The framework 260 determines input parameters and an output format of algorithms for a particular functionality provided by an electronic device (e.g., the electronic device 115) (610). The framework 260 determines an order of the algorithms for performing the particular functionality based at least in part on temporal dependencies of the algorithms, and the input parameters and the output format of the algorithms (612). The graph generator 262 generates a graph based at least in part on the order of algorithms (614); [0042] For example, the heterogeneous scheduler 264 selects node 410 in the graph 400 corresponding to a first algorithm (“Inference 1”), which is executed on the GPU. Upon completion of the first algorithm, the heterogeneous scheduler 264 selects a subsequent node connected, by a directed edge, to the node 410); and means for executing the set of tasks in the topological order([0042] The graph 400 include nodes that are sorted in topological order. The heterogeneous scheduler 264 performs a weighted traversal of the graph 400 while dispatching algorithms to various processors for execution; [0057] The graph generator 262 generates a graph based at least in part on the order of algorithms (614). In an implementation, the graph is a directed acyclic graph including a set of nodes corresponding to the algorithms where each node indicates a particular processor provided by the electronic device for executing an algorithm. The heterogeneous scheduler 264 executes the particular functionality based on performing a traversal of the graph (616). In an implementation, the traversal is a topological traversal of the set of nodes). Englert fails to teach means for assigning a scheduling priority to each node in the original graph with a plurality of multi-head attention blocks, each multi-head attention block assigned to a different topologically transformed graph induced by the original graph. However, Lee teaches means for assigning a scheduling priority to each node in the original graph with a plurality of multi-head attention blocks, each multi-head attention block assigned to a different topologically transformed graph induced by the original graph (Section I paragraph 7 Section IV presents our proposed encoder-decoder model structure with GCN-based DAG embeddings and Attention-based priority assignments for subtasks in a DAG; Section IV. paragraph 2 In the GCN-based encoder, the raw features of individual n nodes (or n subtasks) in a DAG task τ are first processed via a feed-forward network (FFN). The structural information of τ ’s task dependency graph is encoded via the message passing mechanism of a GCN, and then latent vectors of the nodes are generated. With the latent vectors, the Attention-based decoder generates a priority order for the nodes of τ; Section IV.A.2) Graph Level Embedding We exploit several Attention modules (heads) simultaneously and aggregate them to get the final latent representation. This is useful since different Attention heads can give weights more relevantly to different latent representations (h ). The Aggregate function is implemented using multi-head Attention, and is defined as Aggregateθ({h(k)j|vj∈N(vi)})=(Attθ,1⊕Attθ,2⊕…⊕Attθ,H) (12) where ⊕ concatenates vectors, and Attθ,1,…,Attθ,H are H -individual Attention modules. H denotes the number of distinct Attention heads per layer; Section V.A.3) Model Hyperparameters In the encoder, we set the number of graph convolution layers to K=2. For each graph convolution layer, we set the number of heads to 4 where two of them are forward-path Attention modules and the others are inverse-path Attention modules; Section IV.A.3) Two-Way Path Aggregation Thus, we adopt two types of Attention heads, incorporating them in the message-passing loop. This is similar with [22], [28] except we exploit different masks for each Attention head. Specifically, we define inverse neighbors as N-1(vi)={vk|eik∈E}∪{vi}.(14) Then, among H Attention heads, we set half of them to be forward-path graph Attention in Eq. (10) and the other half to be inverse-path graph Attention in Eq. (15). Attθ({h(k)j|vj∈N-1(vi)})(15) This graph path aggregation in a GCN with both forward-path and inverse-path is illustrated in Figure 3. Employing Attention from the two path types enables the model to learn features on predecessor conditions as well as successor conditions in a DAG while preserving their different relations; Figure 3 PNG media_image1.png 231 588 media_image1.png Greyscale ; Figure 3 Graph path aggregation with two path types, forward- and inverse-path: This illustrates how to produce the representation of node v7 in a DAG (in Figure 1) using the forward-path and inverse-path aggregation, where self-loops in the aggregate are omitted for simplicity). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined Englert with the teachings of Lee to improve performance (see Lee Abstract With comprehensive evaluations, we verify that our model shows comparable performance to several state-of-the-art DAG task scheduling algorithms, and outperforms them by 2~3% in the slowdown of achieved makespans particularly in nontrivial system configurations where workloads are neither too small nor heavy compared to the given number of processors). As per claim 23, Englert and Lee teach the apparatus of claim 22. Englert teaches in which the tasks comprise a set of operations to be processed by a compiler ([0025] As illustrated, the computing architecture includes a compiler 215. A memory 240 includes source code 244, which after being compiled by the compiler 215, generates executables 242 that can be deployed to different target platforms for execution. In an example, the source code 244 may include code for various algorithms). As per claim 24, Englert and Lee teach the apparatus of claim 22. Lee teaches further comprising means for selecting, via an artificial neural network (ANN), the next node based on one of a greedy search of a probability distribution of the potential next nodes, sampling from the probability distribution of the potential next nodes, or a beam search process (Section IV.E.3) Baseline Reduction In model training, we employ an additional variance reduction technique with baseline [32]. Specifically, we exploit a greedy baseline method, similar to [21], in which a target model pθ and another base model pβ are used. The two models share the same neural network structure but have distinct θ and β parameters; Abstract Recently, deep reinforcement learning (DRL) was found to provide effective solutions to various combinatorial optimization problems. In this paper, inspired by recent achievements in DRL, we employ DRL techniques for scheduling a directed acyclic graph (DAG) task in which a set of non-preemptive subtasks are specified by precedence conditions among them; Section IV.B.2) Sampling Priority From the Distribution Here we describe our strategy for sampling πt from the distribution at step t in Eq. (19). We can conduct successive selection in a greedy way using πt=argmax(pθ(πt|π1,…,πt−1,τ)).(21) It is also possible to use stochastic sampling that randomly draws πt according to the distribution. Note that there are other sampling strategies than those simple approaches, e.g., A∗ [30], Beam Search; Section IV.B.1) Sequential Node Selection As formulated in Eq. (5), we decompose the probability function of a priority order into a product of probabilities of node selection in sequence. The decoder chooses a node to have the highest priority by sampling from probability distribution pθ(π1|τ) . It then chooses another node with the next highest priority (i.e., the highest priority among nodes not chosen yet) by sampling from pθ(π2|π1,τ) . For each selection at step t , the embedding of a partial priority order (π1,…,πt−1,τ) is used to generate the respective conditioned probability. This procedure continues until no node is left, so it comprises n -iterative decoding). As per claim 25, Englert and Lee teach the apparatus of claim 22. Lee teaches further comprising means for assigning the scheduling priorities to the multiple nodes with a single inference (Figure 2; Section IV.B. paragraph 1 With the node embeddings (the final latent vectors h(k)i in Eq. (9)) from the encoder, for a DAG task τ of n nodes, the decoder sequentially selects nodes to generate an n -sized priority order; Section IV.D. paragraph 2 Therefore, the complexity to infer a priority order for a DAG task input is O(n2d2);). As per claim 26, Englert and Lee teach the apparatus of claim 22. Englert teaches in which the original graph comprises a direct acyclic graph ([0030] the graph is a directed acyclic graph (DAG)). As per claim 27, Englert and Lee teach the apparatus of claim 22. Lee teaches further comprising means for assigning the scheduling priorities to the multiple nodes based on one or more topological transforms (Figure 3; Section IV. paragraph 1 The modules are end-to-end trained through DRL to generate a priority order of a DAG task input, where the learning objective is to minimize the makespan of the task scheduled by the priority order. Specifically, we adapt graph learning with two-way path aggregation in the encoder to effectively extract the relational information in a DAG; Section IV.A.3) Two-Way Path Aggregation Thus, we adopt two types of Attention heads, incorporating them in the message-passing loop. This is similar with [22], [28] except we exploit different masks for each Attention head. Specifically, we define inverse neighbors as N-1(vi)={vk|eik∈E}∪{vi}.(14) Then, among H Attention heads, we set half of them to be forward-path graph Attention in Eq. (10) and the other half to be inverse-path graph Attention in Eq. (15). Attθ({h(k)j|vj∈N-1(vi)})(15) This graph path aggregation in a GCN with both forward-path and inverse-path is illustrated in Figure 3. Employing Attention from the two path types enables the model to learn features on predecessor conditions as well as successor conditions in a DAG while preserving their different relations). As per claim 28, Englert and Lee teach the apparatus of claim 22. Englert teaches further comprising means for performing the set of tasks according to the topological order ([0042] The graph 400 include nodes that are sorted in topological order. The heterogeneous scheduler 264 performs a weighted traversal of the graph 400 while dispatching algorithms to various processors for execution. In an implementation, the heterogeneous scheduler 264 reevaluates the graph 400 after each algorithm is completed to select a subsequent node (e.g., algorithm) for executing. For example, the heterogeneous scheduler 264 selects node 410 in the graph 400 corresponding to a first algorithm (“Inference 1”), which is executed on the GPU. Upon completion of the first algorithm, the heterogeneous scheduler 264 selects a subsequent node connected, by a directed edge, to the node 410). 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 HSING CHUN LIN whose telephone number is (571)272-8522. The examiner can normally be reached Mon - Fri 9AM-5PM. 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, Aimee Li can be reached at (571) 272-4169. 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. /H.L./Examiner, Art Unit 2195 /Aimee Li/Supervisory Patent Examiner, Art Unit 2195
Read full office action

Prosecution Timeline

Jan 31, 2023
Application Filed
Oct 22, 2025
Non-Final Rejection mailed — §103, §112
Jan 14, 2026
Applicant Interview (Telephonic)
Jan 14, 2026
Examiner Interview Summary
Jan 15, 2026
Response Filed
May 26, 2026
Final Rejection mailed — §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12681757
ACCELERATED MEMORY ALLOCATION
3y 11m to grant Granted Jul 14, 2026
Patent 12675310
VIRTUAL MACHINE DEPLOYMENT BASED ON WORKLOAD AND HARDWARE IN A HYPER-CONVERGED INFRASTRUCTURE (HCI) ENVIRONMENT
3y 8m to grant Granted Jul 07, 2026
Patent 12670036
Identifying Cluster Idleness For Cluster Shutdown
3y 10m to grant Granted Jun 30, 2026
Patent 12664018
SCALABILITY ADVISOR
4y 10m to grant Granted Jun 23, 2026
Patent 12657064
METHOD OF CREATING CONTAINER, ELECTRONIC DEVICE AND STORAGE MEDIUM
3y 4m to grant Granted Jun 16, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
60%
Grant Probability
99%
With Interview (+81.2%)
3y 5m (~0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 116 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month