Prosecution Insights
Last updated: August 18, 2026
Application No. 15/945,454

CONDITIONAL GRAPH EXECUTION BASED ON PRIOR SIMPLIFIED GRAPH EXECUTION

Final Rejection §101
Filed
Apr 04, 2018
Priority
Apr 07, 2017 — provisional 62/483,133
Examiner
WONG, WILLIAM
Art Unit
2123
Tech Center
2100 — Computer Architecture & Software
Assignee
Tenstorrent AI Ulc
OA Round
8 (Final)
30%
Grant Probability
At Risk
9-10
OA Rounds
0m
Est. Remaining
58%
With Interview

Examiner Intelligence

Grants only 30% of cases
30%
Career Allowance Rate
123 granted / 404 resolved
-24.6% vs TC avg
Strong +27% interview lift
Without
With
+27.3%
Interview Lift
resolved cases with interview
Typical timeline
4y 5m
Avg Prosecution
20 currently pending
Career history
438
Total Applications
across all art units

Statute-Specific Performance

§101
12.0%
-28.0% vs TC avg
§103
47.0%
+7.0% vs TC avg
§102
13.2%
-26.8% vs TC avg
§112
23.6%
-16.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 404 resolved cases

Office Action

§101
DETAILED ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Information Disclosure Statement The information disclosure statements (IDS) submitted on 2024-07-02, 2024-07-23, 2024-10-25, 2025-05-20, and 2025-07-18 are being considered by the examiner. Amendment after Board Decision This amendment is filed after PTAB observed in “Decision on Reconsideration” dated 2025-06-25, that “The Examiner’s Final Office Action adequately explains the 35 USC 101 rejection” but has remanded prosecution to the Examiner to reopen the case “out of an abundance of fairness”. Applicant’s submission dated 2025-08-25 has been entered. The status of claims is as follows: Claims 1-10, 12-13, 16-17, 19-20, 23-28, and 30-35 are pending in the application. Claims 1, 17, 19, and 23-24 are amended. Claims 11, 14-15, 21-22, and 29 are cancelled. Claims 31-35 are new. Claim 30 is called “New”, but Claim 30 previously existed. See Objections below. Response to Arguments Applicant's arguments filed in response to rejections under 35 US 101 have been fully considered but they are not persuasive. Applicant argues on Pages 14-17 that the recitation of “packets” amounts to a technical improvement. Applicant states that “this represents a specific memory architecture” that is “enabling single-address retrieval of both types of data”, in which “the claimed elements … do not merely require storing data in memory, but rather represent a specific technical solution to the problem of efficiently accessing both control information (execution data) and computational data (weights) simultaneously during neural network execution.” Examiner respectfully disagrees, and points out that “packets” are a fundamentally basic element of transferring data through networks, and all packets include a “header” and a “payload” in which data and metadata is stored. Examiner further notes that this is still part of insignificant extra solution activity, as the inventive concept is the conditional execution of the directed graph – how such data is stored and transferred is insignificant with respect to the claimed invention. Furthermore, as explained above, the recitation of “packets” with “header” and “payload” is nothing more than generic computer components, and is thus well-understood, routine, and conventional activity. Claim Objections The numbering of claims is not in accordance with 37 CFR 1.126 which requires the original numbering of the claims to be preserved throughout the prosecution. When claims are canceled, the remaining claims must not be renumbered. When new claims are presented, they must be numbered consecutively beginning with the number next following the highest numbered claims previously presented (whether entered or not). Misnumbered claim 30 should be “Cancelled”, and called New Claim 36. 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. The table below indicates where the examiner has interpreted the structural means of each limitation to be disclosed. 19 means for deriving a simplified version of the directed graph [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” Fig. 2. 201 [0019] “The simplified version of the directed graph may be a down-sampled version of the directed graph. The down-sampling can involve reducing the resolution of the individual elements associated with the edges and vertices of the directed graph. For example, with specific reference to an ANN with convolutional and fully connected layers, the weight and filter values could be rounded off to reduce the number of bits required to represent each value. The simplification can be conducted at the graph, sector, layer, or element level.” Fig. 3, [0031], “Fig. 3 provides an illustration of one approach for executing step 201 from Fig. 2. Two sets of axes 300 and 310 illustrate one approach for deriving simplified version of direct graph 212 from directed graph 211. The x-axis of both sets of axes is "i" which is a counter variable for representing the elements of a tensor used in the execution of a directed graph. In this example, the tensor is a set of weights in a layer of an ANN represented by the directed graph. In a modern ANN, the number of weights can be quite large, for example, the tensor may include a million elements. The y-axis of graph 300 illustrates the value of the weight associated with counter "i". In this example, simplified version of directed graph 212 is obtained by down-sampling weight tensor 301 using polynomial interpolation. In this approach, polynomial 311 is derived to produce a function F(i) that will give an approximation of the value of weight wi. The polynomial can be represented by a set of coefficients equal to one plus the order of the polynomial. A computation utilizing weight tensor 301 can thereby be greatly simplified by transforming the computation into the polynomial space, and operating on the inputs to the weight layer using the much smaller coefficient tensor 312. Aside from the overhead associated with deriving the polynomial and transforming to and from the coefficient space, the simplified version of the directed graph will be less computationally intensive due to the reduced number of multiplications that need to take to execute the layer associated with weight tensor 301 in the directed graph and coefficient tensor 312 in the simplified version of the directed graph.” 19 means for applying a pilot input tensor to the simplified version of the directed graph [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” Fig. 2. 202 [0018] “The application of an input to the directed graph can be conceptualized as the provisioning of values to the origin vertices of the graph. For example, with reference to Fig. 1, applying input tensor X to directed graph 100 involves obtaining the values of the elements of tensor X from memory and making them available to the hardware that will conduct the calculations associated with the first set of edges of directed graph 100.” [0032], “Once the simplified version of the directed graph is obtained, a pilot tensor is applied to the simplified version as described above with reference to step 202. The pilot tensor and simplified version of the directed graph are used to obtain relevant information regarding how the actual directed graph will respond when a live input tensor is applied to the directed graph. As such, the pilot input tensor can in some cases be identical to the live input tensor. However, the pilot input tensor can also be modified if needed to operate with the simplified version of the directed graph, or to further simplify execution of the simplified version of the directed graph. For example, the pilot input tensor could have a lower rank or dimensionality than the live input tensor if the simplified version of the directed graph was not compatible with the rank or dimensionality of the live input tensor. The pilot input tensor could also be a down sampled or otherwise simplified version of the live input tensor. For example, the pilot input tensor could be a version of the live input tensor in which the data structures used to store the values of the tensor have been replaced with more simplified structures.” 19 means for obtaining a collection of execution data during the application of the pilot input tensor to the simplified version of the directed graph [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” Fig. 2. 203 [0022] “Data flow diagram 210 represents the pilot input tensor X being applied to the simplified version of the directed graph 212 to produce execution data 213. The execution data 213 is represented as a markup of the simplified version of the directed graph wherein highlighted portions are identified as having a near negligible contribution to the output tensor. However, the execution data can take on numerous other forms.” Fig. 4 [0033], “When the pilot input tensor is applied to the simplified version of the directed graph, execution data is obtained that will be later used to condition the execution of the directed graph. The data is generally obtained during execution of the directed graph, but can be separate and distinct from the actual values that are produced to obtain the output of the directed graph. For example, the execution data can be a set of execution data values such as the outputs of each hidden layer in an ANN. However, the execution data values can also be derived from those values via a comparison or other computation. The execution data values can represent, or can be used to derive, an approximation of the relative importance of the computation from which they were generated on the overall execution of the directed graph. For example, the execution data values could each uniquely correspond with a set of vertices in the directed graph, each vertex in the set of vertices could product a contribution to the inference tensor produced by the directed graph, and each execution data value cold be proportional in magnitude to the contribution to the inference tensor of each vertex. The execution data values can correspond to any aspect of the directed graph and can represent the importance of that aspect of the directed graph in any number of ways. In specific approaches, the relative importance will be represented by set levels such as high, medium, or low. However, the relative importance could be represented by a numerical value that is proportional to an impact on the inference tensor of the corresponding aspect of the directed graph. The proportionality may be linear or logarithmic.” [0038] “Fig. 4 provides a conceptual data flow diagram for how the execution data and markup can be generated during the execution of the directed graph. As illustrated, different edges of the directed graph will be associated with different calculations 405 and 406. The two illustrated calculations are two matrix multiplications that could represent the multiplication of a set of weights with an input from a prior layer for purposes of generating a data element for the next layer in an artificially neural network. In the basic example illustrated in Fig. 4, the output of these calculations are compared to a threshold value Z. If the threshold is exceeded, the calculation is considered of high priority. If the threshold is not exceeded, the calculation is considered of low priority. In this example, the execution data is the determination made by this calculation. The execution data can then be used to contribute to a markup of the directed graph as illustrated by the different shading levels in markup 404.” 19 means for applying a live input tensor to the directed graph [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” Fig. 2. 205 [0018] “The application of an input to the directed graph can be conceptualized as the provisioning of values to the origin vertices of the graph. For example, with reference to Fig. 1, applying input tensor X to directed graph 100 involves obtaining the values of the elements of tensor X from memory and making them available to the hardware that will conduct the calculations associated with the first set of edges of directed graph 100.” [0032] “Once the simplified version of the directed graph is obtained, a pilot tensor is applied to the simplified version as described above with reference to step 202. The pilot tensor and simplified version of the directed graph are used to obtain relevant information regarding how the actual directed graph will respond when a live input tensor is applied to the directed graph. As such, the pilot input tensor can in some cases be identical to the live input tensor. However, the pilot input tensor can also be modified if needed to operate with the simplified version of the directed graph, or to further simplify execution of the simplified version of the directed graph. For example, the pilot input tensor could have a lower rank or dimensionality than the live input tensor if the simplified version of the directed graph was not compatible with the rank or dimensionality of the live input tensor. The pilot input tensor could also be a down sampled or otherwise simplified version of the live input tensor. For example, the pilot input tensor could be a version of the live input tensor in which the data structures used to store the values of the tensor have been replaced with more simplified structures.” 19 means for conditioning the execution of the directed graph, during the application of the live input tensor to the directed graph, using the collection of execution data [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” Fig. 2. 204-205 [0035], “The execution data can be utilized to produce a markup of the simplified version of the directed graph which tags the directed graph with different levels of priority such as high, medium, or low. These priority values could then be stored in association with different portions of the directed graph. The different levels of priority can describe how much of a contribution to the output tensor the various portions of the directed graph contributed. The markup can have fixed gradations or can be a heat map with smooth transitions across the graph to indicate the various levels of priority. The priority values for each edge or vertex can be calculated in real time as the directed graph is executing calculations associated with that edge or vertex. For example, the magnitude of a specific computation can be used as a proxy for the priority of that computation, and the execution data can be saved as soon as the computation has been carried out. However, the values can also be updated continuously as the graph continues to carry out the overall computation. Such approaches are beneficial where downstream calculations effectively negate the perceived impact of upstream calculations. As such, the magnitude of downstream calculations can be fed back to impact the stored execution data from prior computations along the same path through the directed graph. The effect of this feedback can be tailored based on how many layers in the directed graph have passed between the value that is being updated and the newly obtained value. “ [0036], “The execution data can also be used to generate specific instructions for a later execution of the directed graph. For example, in the same way that the execution data can be used to generate a tag to indicate that a specific edge of the directed graph is of "low" priority, the execution data can also be used to generate an instruction to reduce the fidelity of the calculations associated with that edge of the directed graph, or to suppress the calculations associated with that edge of the directed graph. Specific approaches for conditioning the execution of the directed graph are discussed in more detail below. Many of these approaches can be triggered by reading the priority information from a tag, and triggering some form of conditional computation based off that tag. However, approaches in which the execution data is the instruction itself short circuits this intermediate lookup step by directly generating the instruction for how a portion of the directed graph should be executed at a later time.” [0039], “The execution data can be used to condition the execution of the directed graph in numerous ways. In general, the approaches used to simplify the directed graph for purposes of generating the simplified version of the directed graph can also be applied to condition the execution of the directed graph. However, as the conditional execution is being guided by information that has been obtained about the performance of the graph, the degree by which the computations are simplified can be much greater in the case of the conditioned execution than in the case of generating the simplified version. As stated previously, the steps associated with conditional execution in Fig. 2 are drawn along separate paths because in different approaches they will exhibit various temporal relationships to each other. For example, the directed graph could be primed for conditional execution prior to the conditional execution of the directed graph, using the stored execution data. In particular, in the approach in which the execution data is stored in the header of packets representing the directed graph, the directed graph would thereby be effectively primed for conditional execution because the priority data would be available for utilization to condition execution in real time as the payload of the packet was pulled for computation during the execution of the directed graph. The priming could include identifying the associated portion of directed graph data, packaging the execution and directed graph data into a data package, and storing the data package at a set location in memory. In another example, the execution of the directed graph will reference a separate data structure as computation is being carried out to determine if and how the associated computation should be conditioned. The separate data structure could be a markup with priorities stored in combination with identifiers of specific locations in the directed graph and the execution of the directed graph could involve obtaining the priorities from the separate data structure using the identifiers as the associated calculation was being carried out.” Fig. 5 [0040] “The execution of the directed graph can be conditioned in numerous ways. Generally, the degree to which the computation is conditioned can be set to vary across the directed graph and can include various gradations that align with the relative priority of that portion of the graph. For example, regions of relatively high priority could be computed just as they would be in the unconditionally executed directed graph, while regions of relatively low priority could be excluded from computation entirely. The various approaches for conditional computation discussed below could be mixed and assigned in various ways to the levels of priority. For example, high, medium, and low priorities could be associated with three entirely separate conditional computation schemes. As another example, the conditional computation scheme could be held constant across the directed graph, but the relative accuracy of the scheme could be modified in accordance with the priorities. For example, a degree of rounding or down-sampling could be set proportional to the priority level with a smooth transition from original value execution, to rounded value execution, to execution conducted independently of the original values. Such approaches could be efficiently applied if the priority value was a smoothly varying numerical value.” [0041] “The actual conditional execution of the directed graph can be conducted in various ways. The conditioning and the forms of conditional computation being separated concepts. Based on the execution data, the fidelity of various computations in the execution of the directed graph can be selectively decreased to different levels. For example, the conditional computation could involve decreasing the number of bits used to represent the inputs or outputs of a given computation. As another example, the data structure used to represent the inputs or outputs of a given computation could be simplified (e.g., from 8-bit floating point to 4- bit fixed point). As another example, the conditional computation could involve providing a fixed value in place of executing the computation. In one particular example, this value could be stored in a header of a data structure that would have been involved in the computation. As another example, the actual arithmetic portion of the computation could be simplified such that it discarded a certain number of LSBs from the computation. As another example, the computation could be suppressed altogether without even the need for providing a masked value. In even more specific approaches, replacement values for the output of the computation could be stored downstream in association with later stages of the directed graph.” 19 means for obtaining an output tensor from the conditional execution of the directed graph [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” “Execution of the directed graph will involve the execution of calculations associated with the edges of the directed graph, and the ultimate generation of output tensor Y. Tensor Y is therefore obtained from the directed graph and can be stored in memory as a distinct unit of data once the directed graph has been executed. Tensor Y can be an inference tensor generated by a machine intelligence system. However, the directed graphs executed by the methods of flow chart 200 can include multiple inputs or multiple outputs and can represent other computational systems besides those associated with machine intelligence.” Fig. 2. 206 20 means for storing the execution data in memory as stored execution data [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” [0021] “Steps 202 and 203 are illustrated as sequential because the execution data is generally available for storage in memory after the input tensor has been applied and the graph has completed execution.” Fig. 2 202-203. [0034] “However, the execution data 404 is produced and stored orthogonally to the main data flow of the directed graph. The execution data can be obtained and stored in various ways. The execution data can be obtained during the application of the input tensor to the simplified version of the directed graph by monitoring the values produced internally during the calculations associated with the edges of the directed graph.” [0035], “The execution data can be utilized to produce a markup of the simplified version of the directed graph which tags the directed graph with different levels of priority such as high, medium, or low. These priority values could then be stored in association with different portions of the directed graph. The different levels of priority can describe how much of a contribution to the output tensor the various portions of the directed graph contributed. The markup can have fixed gradations or can be a heat map with smooth transitions across the graph to indicate the various levels of priority. The priority values for each edge or vertex can be calculated in real time as the directed graph is executing calculations associated with that edge or vertex. For example, the magnitude of a specific computation can be used as a proxy for the priority of that computation, and the execution data can be saved as soon as the computation has been carried out. However, the values can also be updated continuously as the graph continues to carry out the overall computation. Such approaches are beneficial where downstream calculations effectively negate the perceived impact of upstream calculations. As such, the magnitude of downstream calculations can be fed back to impact the stored execution data from prior computations along the same path through the directed graph. The effect of this feedback can be tailored based on how many layers in the directed graph have passed between the value that is being updated and the newly obtained value.” [0037], “The execution data can be stored in association with the portions of the directed graph to which they relate in various ways. For example, a markup could be stored in a distributed set of memory locations, or at a single memory location such that all of the data could be recalled using a single memory address or a contiguous sequence of memory addresses. The data can also be stored as an entirely separate data structure in memory. To use the example of 213, the heat map could be stored separately with priority levels and tags identifying specific portions of the graph. Alternatively, the data or markup can be stored directly within the data structures that represent the directed graph and can be obtained along with the data for the directed graph via a single address call to memory. For example, the execution data could be stored in packet headers where the payload of each packet was the data that represented the directed graph itself. To use the example of a directed graph that implements an ANN, the weights or filters of the ANN could be stored along with a value that represented the impact of that weight or filter on the output tensor in response to the pilot input tensor. In a specific example that is in accordance with this class of approaches, a priority value for a weight tensor and the weight tensor itself could be obtained from a memory location using a single memory address.” 20 means for priming the directed graph for the conditional execution, prior to the conditional execution of the directed graph, using the stored execution data [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” Fig. 2. 204-205 [0039] “For example, the directed graph could be primed for conditional execution prior to the conditional execution of the directed graph, using the stored execution data. In particular, in the approach in which the execution data is stored in the header of packets representing the directed graph, the directed graph would thereby be effectively primed for conditional execution because the priority data would be available for utilization to condition execution in real time as the payload of the packet was pulled for computation during the execution of the directed graph. The priming could include identifying the associated portion of directed graph data, packaging the execution and directed graph data into a data package, and storing the data package at a set location in memory. In another example, the execution of the directed graph will reference a separate data structure as computation is being carried out to determine if and how the associated computation should be conditioned. The separate data structure could be a markup with priorities stored in combination with identifiers of specific locations in the directed graph and the execution of the directed graph could involve obtaining the priorities from the separate data structure using the identifiers as the associated calculation was being carried out.” 21 means for generating a markup of the directed graph using the collection of execution data [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” [0035] “The execution data can be utilized to produce a markup of the simplified version of the directed graph which tags the directed graph with different levels of priority such as high, medium, or low. These priority values could then be stored in association with different portions of the directed graph. The different levels of priority can describe how much of a contribution to the output tensor the various portions of the directed graph contributed. The markup can have fixed gradations or can be a heat map with smooth transitions across the graph to indicate the various levels of priority. The priority values for each edge or vertex can be calculated in real time as the directed graph is executing calculations associated with that edge or vertex. For example, the magnitude of a specific computation can be used as a proxy for the priority of that computation, and the execution data can be saved as soon as the computation has been carried out. However, the values can also be updated continuously as the graph continues to carry out the overall computation.” [0038] “The execution data can then be used to contribute to a markup of the directed graph as illustrated by the different shading levels in markup 404.” Figures 2, 4. 22 means for storing the markup in a distributed set of memory locations [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” [0021] “Steps 202 and 203 are illustrated as sequential because the execution data is generally available for storage in memory after the input tensor has been applied and the graph has completed execution.” Fig. 2 202-203. [0037] “The execution data can be stored in association with the portions of the directed graph to which they relate in various ways. For example, a markup could be stored in a distributed set of memory locations, or at a single memory location such that all of the data could be recalled using a single memory address or a contiguous sequence of memory addresses. The data can also be stored as an entirely separate data structure in memory. To use the example of 213, the heat map could be stored separately with priority levels and tags identifying specific portions of the graph. Alternatively, the data or markup can be stored directly within the data structures that represent the directed graph and can be obtained along with the data for the directed graph via a single address call to memory. For example, the execution data could be stored in packet headers where the payload of each packet was the data that represented the directed graph itself. To use the example of a directed graph that implements an ANN, the weights or filters of the ANN could be stored along with a value that represented the impact of that weight or filter on the output tensor in response to the pilot input tensor.” 22 means for obtaining the priority value and the weight tensor from a memory location in the distributed set of memory locations using a single address [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” [0021] “Steps 202 and 203 are illustrated as sequential because the execution data is generally available for storage in memory after the input tensor has been applied and the graph has completed execution.” Fig. 2 202-203. [0037] “The execution data can be stored in association with the portions of the directed graph to which they relate in various ways. For example, a markup could be stored in a distributed set of memory locations, or at a single memory location such that all of the data could be recalled using a single memory address or a contiguous sequence of memory addresses. The data can also be stored as an entirely separate data structure in memory. To use the example of 213, the heat map could be stored separately with priority levels and tags identifying specific portions of the graph. Alternatively, the data or markup can be stored directly within the data structures that represent the directed graph and can be obtained along with the data for the directed graph via a single address call to memory. For example, the execution data could be stored in packet headers where the payload of each packet was the data that represented the directed graph itself. To use the example of a directed graph that implements an ANN, the weights or filters of the ANN could be stored along with a value that represented the impact of that weight or filter on the output tensor in response to the pilot input tensor. In a specific example that is in accordance with this class of approaches, a priority value for a weight tensor and the weight tensor itself could be obtained from a memory location using a single memory address.” 23 means for generating a markup of the directed graph using the collection of execution data [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” [0035] “The execution data can be utilized to produce a markup of the simplified version of the directed graph which tags the directed graph with different levels of priority such as high, medium, or low. These priority values could then be stored in association with different portions of the directed graph. The different levels of priority can describe how much of a contribution to the output tensor the various portions of the directed graph contributed. The markup can have fixed gradations or can be a heat map with smooth transitions across the graph to indicate the various levels of priority. The priority values for each edge or vertex can be calculated in real time as the directed graph is executing calculations associated with that edge or vertex. For example, the magnitude of a specific computation can be used as a proxy for the priority of that computation, and the execution data can be saved as soon as the computation has been carried out. However, the values can also be updated continuously as the graph continues to carry out the overall computation.” [0038] “The execution data can then be used to contribute to a markup of the directed graph as illustrated by the different shading levels in markup 404.” Figures 2, 4. 23 means for storing the markup in a distributed set of memory locations [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” [0021] “Steps 202 and 203 are illustrated as sequential because the execution data is generally available for storage in memory after the input tensor has been applied and the graph has completed execution.” Fig. 2 202-203. [0037] “The execution data can be stored in association with the portions of the directed graph to which they relate in various ways. For example, a markup could be stored in a distributed set of memory locations, or at a single memory location such that all of the data could be recalled using a single memory address or a contiguous sequence of memory addresses. The data can also be stored as an entirely separate data structure in memory. To use the example of 213, the heat map could be stored separately with priority levels and tags identifying specific portions of the graph. Alternatively, the data or markup can be stored directly within the data structures that represent the directed graph and can be obtained along with the data for the directed graph via a single address call to memory. For example, the execution data could be stored in packet headers where the payload of each packet was the data that represented the directed graph itself. To use the example of a directed graph that implements an ANN, the weights or filters of the ANN could be stored along with a value that represented the impact of that weight or filter on the output tensor in response to the pilot input tensor.” 23 means for conditioning an update of the direct graph using the markup [0018] “The steps of flow chart 200 can be explained with reference to conceptual data flow diagram 210. Each of the steps can be conducted by a processor operating in combination with a memory for storing the related data structures and the instructions necessary to carry out the steps.” [0035] “The execution data can be utilized to produce a markup of the simplified version of the directed graph which tags the directed graph with different levels of priority such as high, medium, or low. These priority values could then be stored in association with different portions of the directed graph. The different levels of priority can describe how much of a contribution to the output tensor the various portions of the directed graph contributed. The markup can have fixed gradations or can be a heat map with smooth transitions across the graph to indicate the various levels of priority. The priority values for each edge or vertex can be calculated in real time as the directed graph is executing calculations associated with that edge or vertex. For example, the magnitude of a specific computation can be used as a proxy for the priority of that computation, and the execution data can be saved as soon as the computation has been carried out. However, the values can also be updated continuously as the graph continues to carry out the overall computation. Such approaches are beneficial where downstream calculations effectively negate the perceived impact of upstream calculations. As such, the magnitude of downstream calculations can be fed back to impact the stored execution data from prior computations along the same path through the directed graph. The effect of this feedback can be tailored based on how many layers in the directed graph have passed between the value that is being updated and the newly obtained value.” [0038] “The execution data can then be used to contribute to a markup of the directed graph as illustrated by the different shading levels in markup 404.” Figures 2, 4. [0045], “In the specific application of an ANN the conditional computation can be used in both the generation of an inference tensor from the ANN and in training of the ANN. In approaches using back propagation, the updating of the weights during back propagation could be varied based on a known priority of that section of the network. For example, the degree to which weights are updated or modified could be limited by the priority of that portion of the ANN. Weights in highly sensitive and important portions of the neural network could be updated with high precision while weights in low sensitivity portions of the neural network could be kept constant during back propagation.” 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-10, 12-13, 16-17, 30, and 33 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Step 1: Claims 1-10, 12-13, 16-17, 30, and 33 are directed to a method. Therefore, the claims are all directed to one of the four statutory categories of patent eligible subject matter. Step 2A Prong 1: Claim 1 recites: A computer-implemented method for executing a directed graph, wherein the directed graph is a neural network including a set of weights including at least one weight tensor in which each step is conducted by a processor (“In summary, we construe the claim preamble to mean performing operations using a processor wherein the purpose of the recited steps (processes) is executing a directed graph that represents a neural network that includes a set of weights that further includes a weight tensor”; PTAB Decision Page 10) deriving a simplified version of the directed graph, wherein the directed graph is an original directed graph; mental process (“the steps involve making evaluations and judgments … which are mental tasks humans routinely perform”; PTAB Decision Page 12) applying an input tensor to the directed graph, wherein the directed graph is the original directed graph and not the simplified version of the directed graph; mental process (“the steps involve making evaluations and judgments … which are mental tasks humans routinely perform”; PTAB Decision Page 12) conditioning the execution of the directed graph by selecting, in real time and during the application of the input tensor to the directed graph, computations for suppression using the collection of execution data; mental process (“the steps involve making evaluations and judgments … which are mental tasks humans routinely perform”; PTAB Decision Page 12; Examiner notes that “in real time” does not change this analysis, as mental processes are performed “in real time” obtaining an output tensor from the conditional execution of the directed graph; mental process (“the steps involve making evaluations and judgments … which are mental tasks humans routinely perform”; PTAB Decision Page 12) Step 2A Prong 2: This judicial exception is not integrated into a practical application because the additional elements are as follows: “computer-implemented”; “neural network”; mere instructions to apply the abstract idea (PTAB Decision Page 19) “and the set of weights are stored in a set of packets, comprising”; packets are a generic computing element associated with transferring data, and therefore PTAB’s statement that “using generic computing elements or components … does not integrate the abstract idea into a practical application” (PTAB Decision Pages 17-18) is applicable – thus, this is mere instructions to apply the abstract idea. “obtaining a collection of execution data during an execution of the simplified version of the directed graph”; insignificant extra solution activity (“these features are extra-solution activity to the central idea of claim 1”; PTAB Decision Page 13) “storing the execution data in a set of headers of the set of packets, wherein the execution data is obtained and stored orthogonally to a main data flow of the directed graph”; insignificant extra solution activity (“these features are extra-solution activity to the central idea of claim 1”; PTAB Decision Page 13) “obtaining, during the application of the input tensor to the directed graph and from a packet in the set of packets using a single address, both: (i) a subset of execution data from the execution data from a header of the packet; and (ii) the weight tensor from the set of weights from a payload of the packet, whereby the execution data is available for utilization to condition execution of the directed graph in real time as the set of weights are retrieved from memory for computation”; insignificant extra solution activity (“these features are extra-solution activity to the central idea of claim 1”; PTAB Decision Page 13) Step 2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements are as follows: “computer-implemented”; “neural network”; well-understood, routine, and conventional activity (“the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23) “and the set of weights are stored in a set of packets, comprising”; packets are a generic computing element associated with transferring data, and therefore PTAB’s statement that “the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23) is applicable; thus this is well-understood, routine, and conventional activity “obtaining a collection of execution data during an execution of the simplified version of the directed graph”; well-understood, routine, and conventional activity (“the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23) “storing the execution data in a set of headers of the set of packets, wherein the execution data is obtained and stored orthogonally to a main data flow of the directed graph”; well-understood, routine, and conventional activity (“the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23) “obtaining, during the application of the input tensor to the directed graph and from a packet in the set of packets using a single address, both: (i) a subset of execution data from the execution data from a header of the packet; and (ii) the weight tensor from the set of weights from a payload of the packet, whereby the execution data is available for utilization to condition execution of the directed graph in real time as the set of weights are retrieved from memory for computation”; well-understood, routine, and conventional activity (“the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23). Regarding the “header of the packet” and “payload of the packet”, Examiner notes that these are well-understood, routine, and conventional computer components used in the transmission of data over a network, and are thus also “well-understood, routine, and conventional computer components and functions” as per PTAB Decision Page 23 Dependent Claims Dependent claims 2-10, 12-13, 16-17, 30, and 33 are also rejected under 35 USC 101 for the following reasons: Claim 2 recites: “applying a pilot input tensor to the simplified version of the directed graph, to conduct the execution of the simplified version of the directed graph; wherein the input tensor is a live input tensor; the pilot input tensor and the live input tensor are not identical; and the pilot input tensor and the live input tensor are stochastically dependent”; mental process (Confirmed by PTAB Decision Page 27) Claim 3 recites: “storing the execution data in memory as stored execution data; and priming the directed graph for the conditional execution, prior to the conditional execution of the directed graph, using the stored execution data”. Examiner notes that “priming” is described in Spec [0039] as “The priming could include identifying the associated portion of directed graph data, packaging the execution and directed graph data into a data package, and storing the data package at a set location in memory”. Examiner notes that storing and retrieving data in memory is insignificant extra solution activity (data gathering and outputting) under Step 2A Prong 2, and WURC under Step 2B. The claims are still directed to a mental process. (Confirmed by PTAB Decision Page 29) Claim 4 recites: - “the directed graph includes a set of vertices and a set of edges interconnecting the set of vertices”; this describes the conditions of the mathematical calculation of executing a directed graph - “the directed graph is a neural network”; a neural network, generically recited, amounts to mere instructions to apply the abstract idea on a computer in Step 2A Prong 2. A neural network, in the field of machine learning, is also WURC under Step 2B. The claim is still directed to a mental process. - “the set of edges of the directed graph are calculations involving a set of weights for the neural network, wherein the set of weights include at least one weight tensor”; this describes the conditions of the mathematical calculation of executing a directed graph - “at least a subset of the set of vertices are weights for the neural network” ; this describes the conditions of the mathematical calculation of executing a directed graph. A neural network, generically recited, amounts to mere instructions to apply the abstract idea on a computer in Step 2A Prong 2. A neural network, in the field of machine learning, is also WURC under Step 2B. - “the conditional execution of the directed graph produces an inference tensor”; executing a directed graph to produce an inference tensor is a mathematical calculation - “and the inference tensor is a response of the neural network to the input tensor”; producing the inference tensor, as shown above, is a mathematical calculation. A neural network, generically recited, amounts to mere instructions to apply the abstract idea on a computer in Step 2A Prong 2. A neural network, in the field of machine learning, is also WURC under Step 2B. Claim 5 recites “an edge in the set of edges is a calculation using a four dimensional tensor”; the claim is directed to a mathematical calculation. Claim 6 recites “the deriving of the simplified version of the directed graph includes down-sampling the directed graph by a sampling factor; the simplified version of the directed graph is thereby a down-sampled version of the directed graph; a first complete set of tensors used for executing the simplified version of the directed graph has a rank; and a second complete set of tensors used for executing the directed graph has the rank”; each of these limitations describes the mathematical calculation. Claim 7 recites “the down-sampling of the directed graph utilizes polynomial interpolation”; this recites a mathematical calculation. Claim 8 recites “the deriving of the simplified version of the directed graph includes replacing a set of original values of the set of weights with a set of replacement values; and the simplified version of the directed graph has a same number of layers as the directed graph”; replacing values with replacement values can be performed by a human with pen and paper, and is thus a mental process. Claim 9 recites “wherein the replacing comprises one of: reducing a number of bits used to represent the set of original values to obtain the set of replacement values; and calculating the set of replacement values using a set of exponents of the set of original values”; this recites a mathematical calculation. Claim 10 recites “the collection of execution data includes a set of execution data values”; the collection of data is insufficient extra solution activity (mere data gathering) under Step 2A Prong 2 and WURC under Step 2B. It also recites “the set of execution data values and the set of vertices have uniquely corresponding elements; each uniquely corresponding vertex in the set of vertices produces a contribution to the inference tensor in response to a pilot input tensor; and each execution data value in the set of execution data values is proportional in magnitude to the contribution to the inference tensor of each uniquely corresponding vertex in the set of vertices”; these limitations recite a mental process Claim 12 recites “generating a markup of the directed graph using the collection of execution data; storing the markup in a distributed set of memory locations; and conditioning an update of the set of weights using the markup”; generating a markup and conditioning the graph with the markup can be performed by a human with pen and paper, and is thus a mental process. The “storing” amounts to insufficient extra solution activity (mere data gathering) under Step 2A Prong 2 and WURC under Step 2B. Claim 13 recites “generating a markup of the directed graph using the collection of execution data; wherein the markup identifies a priority value for a weight tensor; and wherein conditioning of the execution of the directed graph uses the markup”; generating a markup and conditioning the graph with the markup can be performed by a human with pen and paper, and is thus a mental process Claim 16 recites “reducing an accuracy of a computation using the weight tensor based on the priority value”; this describes details of the mathematical calculation. Claim 17 recites “obtaining a first subset of weights from the set of weights from memory; replacing a set of original values of a second subset of the set of weights with a set of replacement values; and wherein the first subset of weights is selected using the markup”; replacing and selecting weights can be performed by a human with pen and paper, and are thus a mental process. Obtaining data from memory amounts to insufficient extra solution activity (mere data gathering) under Step 2A Prong 2 and WURC under Step 2B. Claim 30 recites: “storing a set of fixed values in the set of headers”; insignificant extra solution activity under Step 2A Prong 2; WURC under Step 2B “suppressing the computations for suppression by providing fixed values from the set of fixed values as outputs of the computations”; mental process Claim 33 recites: “storing the original directed graph in a memory at a set of addresses”; insignificant extra solution activity under Step 2A Prong 2; WURC under Step 2B “storing the simplified version of the directed graph in the memory using pointers to a subset of the set of addresses for shared portions of the original directed graph; insignificant extra solution activity under Step 2A Prong 2; WURC under Step 2B Claims 19-20, 23, 31, and 34 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Step 1: Claims 19-20, 23, 31, and 34 are directed to a system. Therefore, the claims are all directed to one of the four statutory categories of patent eligible subject matter. Step 2A Prong 1: Claim 19 recites: A system for executing a directed graph, wherein the directed graph is a neural network including a set of weights including at least one weight tensor (“In summary, we construe the claim preamble to mean performing operations using a processor wherein the purpose of the recited steps (processes) is executing a directed graph that represents a neural network that includes a set of weights that further includes a weight tensor”; PTAB Decision Page 10) a means for deriving a simplified version of the directed graph, wherein the directed graph is an original directed graph; mental process (“the steps involve making evaluations and judgments … which are mental tasks humans routinely perform”; PTAB Decision Page 12) a means for applying an input tensor to the directed graph, wherein the directed graph is the original directed graph and not the simplified version of the directed graph; mental process (“the steps involve making evaluations and judgments … which are mental tasks humans routinely perform”; PTAB Decision Page 12) a means for conditioning the execution of the directed graph, in real time, during the application of the input tensor to the directed graph, by selecting, during the application of the input tensor to the directed graph, computations for suppression using the collection of execution data; mental process (“the steps involve making evaluations and judgments … which are mental tasks humans routinely perform”; PTAB Decision Page 12; Examiner notes that “in real time” does not change this analysis, as mental processes are performed “in real time” a means for obtaining an output tensor from the conditional execution of the directed graph; mental process (“the steps involve making evaluations and judgments … which are mental tasks humans routinely perform”; PTAB Decision Page 12) Step 2A Prong 2: This judicial exception is not integrated into a practical application because the additional elements are as follows: “system”; “neural network”; mere instructions to apply the abstract idea (PTAB Decision Page 19) “means for”; mere instructions to apply the abstract idea (“the ‘means plus function’ analysis does not materially alter our claim interpretation and subject atter eligibility analysis. As we explain above, the computing components disclosed in the Specification for performing the process steps (the claimed functionality) are a processor and memory”; PTAB Decision Page 26) “and the set of weights are stored in a set of packets, comprising”; packets are a generic computing element associated with transferring data, and therefore PTAB’s statement that “using generic computing elements or components … does not integrate the abstract idea into a practical application” (PTAB Decision Pages 17-18) is applicable – thus, this is mere instructions to apply the abstract idea. “a means for obtaining a collection of execution data during an execution of the simplified version of the directed graph and orthogonally to the execution of the simplified version of the directed graph”; insignificant extra solution activity (“these features are extra-solution activity to the central idea of claim 1”; PTAB Decision Page 13) “a means for storing the execution data in memory, wherein the execution data is stored in a set of headers of the set of packets such that a subset of execution data from the execution data and a weight tensor from the set of weights are addressed using a single address by retrieving a packet from the set of packets”; insignificant extra solution activity (“these features are extra-solution activity to the central idea of claim 1”; PTAB Decision Page 13) “as obtained from the set of headers of the set of packets while the set of weights are obtained from a set of payloads of the set of packets”; insignificant extra solution activity (“these features are extra-solution activity to the central idea of claim 1”; PTAB Decision Page 13) Step 2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements are as follows: “system”; “neural network”; well-understood, routine, and conventional activity (“the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23) “means for”; well-understood, routine, and conventional activity (“the ‘means plus function’ analysis does not materially alter our claim interpretation and subject atter eligibility analysis. As we explain above, the computing components disclosed in the Specification for performing the process steps (the claimed functionality) are a processor and memory”; PTAB Decision Page 26) “and the set of weights are stored in a set of packets, comprising”; packets are a generic computing element associated with transferring data, and therefore PTAB’s statement that “the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23) is applicable; thus this is well-understood, routine, and conventional activity “a means for obtaining a collection of execution data during an execution of the simplified version of the directed graph and orthogonally to the execution of the simplified version of the directed graph”; well-understood, routine, and conventional activity (“the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23) “a means for storing the execution data in memory, wherein the execution data is stored in a set of headers of the set of packets such that a subset of execution data from the execution data and a weight tensor from the set of weights are addressed using a single address by retrieving a packet from the set of packets”; well-understood, routine, and conventional activity (“the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23); Regarding the “header of the packet” and “payload of the packet”, Examiner notes that these are well-understood, routine, and conventional computer components used in the transmission of data over a network, and are thus also “well-understood, routine, and conventional computer components and functions” as per PTAB Decision Page 23 “as obtained from the set of headers of the set of packets while the set of weights are obtained from a set of payloads of the set of packets”; well-understood, routine, and conventional activity (“the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23). Regarding the “header of the packet” and “payload of the packet”, Examiner notes that these are well-understood, routine, and conventional computer components used in the transmission of data over a network, and are thus also “well-understood, routine, and conventional computer components and functions” as per PTAB Decision Page 23 Dependent Claims Dependent claims 20, 23, 31, and 34 are also rejected under 35 USC 101 for the following reasons: Claim 20 recites: “a means for priming the directed graph for the conditional execution, prior to the conditional execution of the directed graph, using the execution data”. Examiner notes that “priming” is described in Spec [0039] as “The priming could include identifying the associated portion of directed graph data, packaging the execution and directed graph data into a data package, and storing the data package at a set location in memory”. Examiner notes that storing and retrieving data in memory is insignificant extra solution activity (data gathering and outputting) under Step 2A Prong 2, and WURC under Step 2B. The claims are still directed to a mental process. (Confirmed by PTAB Decision Page 29) Claim 23 recites: “a means for generating a markup of the directed graph using the collection of execution data; a means for storing the markup in a distributed set of memory locations; and a means for conditioning an update of the directed graph using the markup”; generating a markup and conditioning the graph with the markup can be performed by a human with pen and paper, and is thus a mental process. The “storing” amounts to insufficient extra solution activity (mere data gathering) under Step 2A Prong 2 and WURC under Step 2B. Claim 31 recites: “the set of headers include a set of fixed values”; insignificant extra solution activity under Step 2A Prong 2; WURC under Step 2B “the means for conditioning the execution of the directed graph substitute the output of the computations with the set of fixed value”; mental process Claim 34 recites: “a memory storing the original directed graph in a memory at a set of addresses”; insignificant extra solution activity under Step 2A Prong 2; WURC under Step 2B “wherein the memory stores the simplified version of the directed graph using pointers to a subset of the set of addresses for shared portions of the original directed graph; insignificant extra solution activity under Step 2A Prong 2; WURC under Step 2B Claims 24-28, 32, and 35 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Step 1: Claims 24-28, 32, and 35 are directed to a method. Therefore, the claims are all directed to one of the four statutory categories of patent eligible subject matter. Step 2A Prong 1: Claim 24 recites: A computer-implemented method for generating an inference from a neural network including a set of weights including a weight tensor, in which each step is conducted by a processor; “The intended purpose of the ‘method’ … does not further limit the claim”; (PTAB Decision Page 9); here the intended purpose is “for generating an inference from a neural network”. deriving a simplified version of the neural network, wherein the neural network is an original neural network; mental process (“the steps involve making evaluations and judgments … which are mental tasks humans routinely perform”; PTAB Decision Page 12) applying an input tensor to the neural network, wherein the neural network is the original neural network and not the simplified version of the neural network; mental process (“the steps involve making evaluations and judgments … which are mental tasks humans routinely perform”; PTAB Decision Page 12) conditioning the computation of the neural network by selecting, in real time and during the application of the input tensor to the neural network, computations for conditional execution using the collection of execution data; mental process (“the steps involve making evaluations and judgments … which are mental tasks humans routinely perform”; PTAB Decision Page 12; Examiner notes that “in real time” does not change this analysis, as mental processes are performed “in real time” obtaining an inference from the conditional computation of the neural network; wherein: the conditional computation of the neural network is conditioned using the execution data; and the conditional computation of the neural network is less computationally intensive than a non-conditional computation of the neural network using the input tensor”; mental process (“the steps involve making evaluations and judgments … which are mental tasks humans routinely perform”; PTAB Decision Page 12); Examiner notes that “less computationally intensive” refers merely to an intended purpose, and does not further limit the claim Step 2A Prong 2: This judicial exception is not integrated into a practical application because the additional elements are as follows: “computer-implemented”; “neural network”; mere instructions to apply the abstract idea (PTAB Decision Page 19) “and the set of weights are stored in a set of packets, comprising”; packets are a generic computing element associated with transferring data, and therefore PTAB’s statement that “using generic computing elements or components … does not integrate the abstract idea into a practical application” (PTAB Decision Pages 17-18) is applicable – thus, this is mere instructions to apply the abstract idea. “obtaining a collection of execution data during an execution of the neural network, wherein the collection of execution data is obtained and stored: (i) orthogonally to a main data flow of the neural network; and (ii) in a set of headers of the set of packets”; insignificant extra solution activity (“these features are extra-solution activity to the central idea of claim 1”; PTAB Decision Page 13) “storing the execution data in a set of headers of the set of packets, wherein the execution data is obtained and stored orthogonally to a main data flow of the directed graph”; insignificant extra solution activity (“these features are extra-solution activity to the central idea of claim 1”; PTAB Decision Page 13) “obtaining, during the application of the input tensor to the neural network and from a packet in the set of packets using a single address, both: (i) a subset of execution data from the execution data from a header of the packet; and (ii) the weight tensor from the set of weights from a payload of the packet, whereby the execution data is available for utilization to condition execution of the directed graph in real time as the set of weights are retrieved from memory for computation”; insignificant extra solution activity (“these features are extra-solution activity to the central idea of claim 1”; PTAB Decision Page 13) Step 2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements are as follows: “computer-implemented”; “neural network”; well-understood, routine, and conventional activity (“the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23) “and the set of weights are stored in a set of packets, comprising”; packets are a generic computing element associated with transferring data, and therefore PTAB’s statement that “the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23) is applicable; thus this is well-understood, routine, and conventional activity “obtaining a collection of execution data during an execution of the neural network, wherein the collection of execution data is obtained and stored: (i) orthogonally to a main data flow of the neural network; and (ii) in a set of headers of the set of packets”; well-understood, routine, and conventional activity (“the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23). Regarding the “header of the packet” and “payload of the packet”, Examiner notes that these are well-understood, routine, and conventional computer components used in the transmission of data over a network, and are thus also “well-understood, routine, and conventional computer components and functions” as per PTAB Decision Page 23 “storing the execution data in a set of headers of the set of packets, wherein the execution data is obtained and stored orthogonally to a main data flow of the directed graph”; well-understood, routine, and conventional activity (“the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23) “obtaining, during the application of the input tensor to the neural network and from a packet in the set of packets using a single address, both: (i) a subset of execution data from the execution data from a header of the packet; and (ii) the weight tensor from the set of weights from a payload of the packet, whereby the execution data is available for utilization to condition execution of the directed graph in real time as the set of weights are retrieved from memory for computation”; well-understood, routine, and conventional activity (“the additional elements are well-understood, routine, and conventional computer components and functions”; PTAB Decision Page 23). Regarding the “header of the packet” and “payload of the packet”, Examiner notes that these are well-understood, routine, and conventional computer components used in the transmission of data over a network, and are thus also “well-understood, routine, and conventional computer components and functions” as per PTAB Decision Page 23 Dependent Claims Dependent claims 25-28, 32, and 35 are also rejected under 35 USC 101 for the following reasons: Claim 25 recites: “applying a first input tensor to the simplified version of the neural network, to conduct the execution of the simplified version of the neural network; wherein the input tensor is a second input tensor; wherein the first input and the second input are not identical; and the first input tensor and the second input are stochastically dependent”; mental process (Confirmed by PTAB Decision Page 27) Claim 26 recites: “priming the directed graph for the conditional execution, prior to the conditional execution of the directed graph, using the stored execution data”. Examiner notes that “priming” is described in Spec [0039] as “The priming could include identifying the associated portion of directed graph data, packaging the execution and directed graph data into a data package, and storing the data package at a set location in memory”. Examiner notes that storing and retrieving data in memory is insignificant extra solution activity (data gathering and outputting) under Step 2A Prong 2, and WURC under Step 2B. The claims are still directed to a mental process. (Confirmed by PTAB Decision Page 29) Claim 27 recites “the deriving of the simplified version of the neural network includes down-sampling a set of weights of the neural network by a sampling factor”; each of these limitations describes the mathematical calculation. Claim 28 recites “the deriving of the simplified version of the neural network includes replacing a set of weight values of the neural network with a set of replacement values; replacing values with replacement values can be performed by a human with pen and paper, and is thus a mental process. Claim 32 recites: “storing a set of fixed values in the set of headers”; insignificant extra solution activity under Step 2A Prong 2; WURC under Step 2B “suppressing the computations for suppression by providing fixed values from the set of fixed values as outputs of the computations”; mental process Claim 35 recites: “storing the original neural network in the memory at a set of addresses”; insignificant extra solution activity under Step 2A Prong 2; WURC under Step 2B “storing the simplified version of the neural network in the memory using pointers to a subset of the set of addresses for shared portions of the original directneural network; insignificant extra solution activity under Step 2A Prong 2; WURC under Step 2B Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to LEONARD A SIEGER whose telephone number is (571)272-9710. The examiner can normally be reached M-F 8:00 am - 5:00 pm. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, David Yi can be reached at (571) 270-7519. 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. /LEONARD A SIEGER/Examiner, Art Unit 2126
Read full office action

Prosecution Timeline

Show 24 earlier events
Mar 26, 2024
Response after Non-Final Action
Mar 26, 2024
Response after Non-Final Action
Feb 28, 2025
Response after Non-Final Action
May 05, 2025
Response after Non-Final Action
Jun 24, 2025
Response after Non-Final Action
Sep 18, 2025
Non-Final Rejection mailed — §101
Jan 16, 2026
Response Filed
Aug 17, 2026
Final Rejection mailed — §101 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12705009
SHARED AUGMENTED REALITY UNBOXING EXPERIENCE
2y 5m to grant Granted Aug 11, 2026
Patent 12688394
SYSTEM AND METHOD FOR MOLECULAR PROPERTY PREDICTION USING EDGE CONDITIONED IDENTITY MAPPING CONVOLUTION NEURAL NETWORK
4y 9m to grant Granted Jul 21, 2026
Patent 12682258
OPERATIONAL FORECASTING SYSTEM BASED ON ANOMALOUS BEHAVIORS IN COMPLEX SYSTEMS
5y 1m to grant Granted Jul 14, 2026
Patent 12639585
PROACTIVE ALERT AGGREGATION AND CORRELATION MANAGEMENT WITH AUTOMATED SUMMARIZATION
5y 0m to grant Granted May 26, 2026
Patent 12639566
METHOD, SYSTEM, AND COMPUTER PROGRAM PRODUCT FOR MANAGING MODEL UPDATES
4y 2m to grant Granted May 26, 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

9-10
Expected OA Rounds
30%
Grant Probability
58%
With Interview (+27.3%)
4y 5m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 404 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