Jump to content

Patent Application 17561227 - METHODS OF COMMUNICATION AVOIDANCE IN PARALLEL - Rejection

From WikiPatents

Patent Application 17561227 - METHODS OF COMMUNICATION AVOIDANCE IN PARALLEL

Title: METHODS OF COMMUNICATION AVOIDANCE IN PARALLEL SOLUTIONS OF PARTIAL DIFFERENTIAL EQUATIONS

Application Information

  • Invention Title: METHODS OF COMMUNICATION AVOIDANCE IN PARALLEL SOLUTIONS OF PARTIAL DIFFERENTIAL EQUATIONS
  • Application Number: 17561227
  • Submission Date: 2025-05-15T00:00:00.000Z
  • Effective Filing Date: 2021-12-23T00:00:00.000Z
  • Filing Date: 2021-12-23T00:00:00.000Z
  • National Class: 703
  • National Sub-Class: 002000
  • Examiner Employee Number: 100655
  • Art Unit: 2188
  • Tech Center: 2100

Rejection Summary

  • 102 Rejections: 0
  • 103 Rejections: 5

Cited Patents

No patents were cited in this rejection.

Office Action Text



    DETAILED ACTION
This action is responsive to the claims filed on January 7, 2022. Claims 1-26 are under examination. 

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 (IDSs) submitted on January 19, 2022 and October 24, 2024, were filed prior to mailing of the first office action. The submissions are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the examiner.

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-26 are rejected under 35 U.S.C. 101 because the claims are directed to an abstract idea without significantly more.

Independent Claims

Claim 21 (Statutory Category – Machine)
Step 2A – Prong 1: Judicial Exception Recited?
Yes, the claims recite a mental process and a mathematical operation, which are abstract ideas.
MPEP 2106.04(a)(2)(Ill): “Accordingly, the "mental processes" abstract idea grouping is defined as concepts performed in the human mind, and examples of mental processes include observations, evaluations, Judgments, and opinions. […] The courts do not distinguish between mental processes that are performed entirely in the human mind and mental processes that require a human to use a physical aid (e.g., pen and paper or a slide rule) to perform the claim limitation.”
MPEP 2106.04(a)(2)(I): “When determining whether a claim recites a mathematical concept (i.e., mathematical relationships, mathematical formulas or equations, and mathematical calculations), examiners should consider whether the claim recites a mathematical concept or merely limitations that are based on or involve a mathematical concept […] a mathematical concept need not be expressed in mathematical symbols, because "[w]ords used in a claim operating on data to solve a problem can serve the same purpose as a formula." In re Grams, 888 F.2d 835, 837 and n.1, 12 USPQ2d 1824, 1826 and n.1 (Fed. Cir. 1989). See, e.g., SAP America, Inc. v. InvestPic, LLC, 898 F.3d 1161, 1163, 127 USPQ2d 1597, 1599 (Fed. Cir. 2018) (holding that claims to a ‘‘series of mathematical calculations based on selected information’’ are directed to abstract ideas); Digitech Image Techs., LLC v. Elecs. for Imaging, Inc., 758 F.3d 1344, 1350, 111 USPQ2d 1717, 1721 (Fed. Cir. 2014) (holding that claims to a ‘‘process of organizing information through mathematical correlations’’ are directed to an abstract idea).
MPEP 2106.04(a)(2)(I)(A): “Mathematical Relationships. A mathematical relationship is a relationship between variables or numbers. A mathematical relationship may be expressed in words or using mathematical symbols.”

Claim 21 recites (claim features in italics, paragraph references are to the Applicant’s specification): 

execute a model of a physical system including a plurality of elements for a plurality of time steps such that, for at least a portion of the plurality of time steps, exchange of data between at least a portion of the plurality of elements is suppressed.  
(Note On Interpretation - The execution of a model of a physical system with an exchange of data between elements is a common operation for finite element analysis, Navier-Stokes equations systems, Maxwell’s equations systems, and acoustic wave equations systems. (Background [0001]) In these models, data is shared to affect neighboring elements, but few or no remote ones. As written, the broadest reasonable interpretation include instances in which data is never shared between remote elements, which is a standard execution in the aforementioned systems.)
Regarding the question of eligibility, the execution of a model of a physical system is an evaluation, which is a mental process, and represents mathematical operations on mathematical relationships, which are mathematical concepts. ([0028]-[0033] PDEs are solved to update state variables. Calculations are conducted to determine whether to calculate based on transmitted information or based on mathematical extrapolation). Mental processes and mathematical concepts are abstract ideas.
Claim 21 recites an abstract idea.

Step 2A – Prong 2: Integrated into a Practical Solution?
No. 
MPEP 2106.04(d): “[A]fter determining that a claim recites a judicial exception in Step 2A Prong One, examiners should evaluate whether the claim as a whole integrates the recited judicial exception into a practical application of the exception in Step 2A Prong Two. A claim that integrates a judicial exception into a practical application will apply, rely on, or use the judicial exception in a manner that imposes a meaningful limit on the judicial exception, such that the claim is more than a drafting effort designed to monopolize the judicial exception. Whether or not a claim integrates a judicial exception into a practical application is evaluated using the considerations set forth in subsection I below, in accordance with the procedure described below in subsection II.”
MPEP 2106.05(f) Mere Instructions To Apply An Exception: “Another consideration when determining whether a claim integrates a judicial exception into a practical application in Step 2A Prong Two or recites significantly more than a judicial exception in Step 2B is whether the additional elements amount to […] more than a recitation of the words "apply it" (or an equivalent), such as mere instructions to implement an abstract idea on a computer, examiners should explain why they do not meaningfully limit the claim in an eligibility rejection. For example, an examiner could explain that implementing an abstract idea on a generic computer, does not integrate the abstract idea into a practical application in Step 2A Prong Two or add significantly more in Step 2B.

The additional elements:
one or more processing devices; 
one or more memory devices operably coupled to the one or more processing devices, the one or more memory devices storing executable code that, when executed by the one or more processing devices, causes the one or more processing devices to: 
The execution of code on generic processor and memory devices is a recitation of a general purpose computer with no specific configurations to execute the claimed method. As such, under MPEP 2106.05(f), the computer implementation implements the recited abstract idea on a generic computer, and does not integrate the abstract idea into a practical application in Step 2A Prong Two.
Claim 21 does not integrate the abstract idea into a practical application and is directed to the abstract idea. 

Step 2B: Claim provides an Inventive Concept?
No. 
MPEP 2106.05(I) “An inventive concept "cannot be furnished by the unpatentable law of nature (or natural phenomenon or abstract idea) itself. […] Instead, an "inventive concept" is furnished by an element or combination of elements that is recited in the claim in addition to (beyond) the judicial exception, and is sufficient to ensure that the claim, as a whole, amounts to significantly more than the judicial exception itself.”
MPEP 2106.05(f) Mere Instructions To Apply An Exception: “[I]mplementing an abstract idea on a generic computer, does not integrate the abstract idea into a practical application in Step 2A Prong Two or add significantly more in Step 2B.

The additional elements:
one or more processing devices; 
one or more memory devices operably coupled to the one or more processing devices, the one or more memory devices storing executable code that, when executed by the one or more processing devices, causes the one or more processing devices to: 
As discussed, the additional limitation of executing code on generic processing and memory devices is mere execution on a generic computer, and, therefore, neither of the additional limitations can provide the abstract idea with significantly more to render the combination of the additional limitations an inventive concept, under MPEP 2106.05(f) respectively.
Therefore, there are no additional limitations in claim 21 that furnish claim 21 with an inventive concept to ensure that claim 21, as a whole, amounts to significantly more than the bolded abstract idea.
	Claim 21 is ineligible.

Claim 1 (Statutory Category – Process)
	Claim 1 recites the method performed by the machine in claim 21 and is ineligible for at least the same reasons as claim 21.Claim 1 is ineligible.

Claim 9 (Statutory Category – Process)
Step 2A – Prong 1: Judicial Exception Recited?
Yes, the claims recite a mental process and a mathematical concept, which are abstract ideas.
MPEP 2106.04(a)(2)(Ill): “Accordingly, the "mental processes" abstract idea grouping is defined as concepts performed in the human mind, and examples of mental processes include observations, evaluations, Judgments, and opinions. […] The courts do not distinguish between mental processes that are performed entirely in the human mind and mental processes that require a human to use a physical aid (e.g., pen and paper or a slide rule) to perform the claim limitation.”
MPEP 2106.04(a)(2)(I): “When determining whether a claim recites a mathematical concept (i.e., mathematical relationships, mathematical formulas or equations, and mathematical calculations), examiners should consider whether the claim recites a mathematical concept or merely limitations that are based on or involve a mathematical concept […] a mathematical concept need not be expressed in mathematical symbols, because "[w]ords used in a claim operating on data to solve a problem can serve the same purpose as a formula." In re Grams, 888 F.2d 835, 837 and n.1, 12 USPQ2d 1824, 1826 and n.1 (Fed. Cir. 1989). See, e.g., SAP America, Inc. v. InvestPic, LLC, 898 F.3d 1161, 1163, 127 USPQ2d 1597, 1599 (Fed. Cir. 2018) (holding that claims to a ‘‘series of mathematical calculations based on selected information’’ are directed to abstract ideas); Digitech Image Techs., LLC v. Elecs. for Imaging, Inc., 758 F.3d 1344, 1350, 111 USPQ2d 1717, 1721 (Fed. Cir. 2014) (holding that claims to a ‘‘process of organizing information through mathematical correlations’’ are directed to an abstract idea).
MPEP 2106.04(a)(2)(I)(A): “Mathematical Relationships. A mathematical relationship is a relationship between variables or numbers. A mathematical relationship may be expressed in words or using mathematical symbols.”

Claim 9 recites (claim features in italics, paragraph references are to the Applicant’s specification):

A method, comprising:
(evaluation, mathematical concept: [0028] “[T[he method 300 is preceded by initializing state variables of elements of the model for all partitions. In particular, the state variables of one or more elements may be set to initial conditions of the physical system being modeled. The state variables of elements of the boundary conditions where it is part of the physical system being modeled.”) 
		[…]
for each time step of one or more first time steps: 
	[…]
Processing […] the one or more state variables of the first element and the first flux data according to the model; and 
(evaluation, mathematical concept: [0030] “Performing 302 local calculations includes calculating flux between non-edge elements of the local partition.” The model is evaluated as a set of mathematical relationships.)
updating the one or more state variables according to the processing of the one or more state variables of the first element and the first flux data; 
(evaluation, mathematical operation/relationship: [0030]  “and updating the state variables of the non-edge elements using the flux and current values of the state variables. The manner in which the flux is calculated and the state variables are updated is according to the physical system being modeled and is performed using any modeling approach known in the art.”)

for a second time step subsequent to the one or more first time steps: 
calculating […] second flux data for the first element based on the first flux data from the one or more first time steps; 
(evaluation, mathematical operation/relationship: [0030] “Performing 302 local calculations includes calculating flux between non-edge elements of the local partition” Extrapolation, as described in [0031], is a mathematical operation and/or evaluation.)

processing […] the one or more state variables of the first element and the second flux data according to the model; and 
(evaluation, mathematical operation/relationship: [0030]  “and updating the state variables of the non-edge elements using the flux and current values of the state variables.” The manner in which the flux is calculated and the state variables are updated is according to the physical system being modeled and is performed using any modeling approach known in the art.”)

updating […] the one or more state variables of the first element according to the processing of the one or more state variables of the first element and the second flux data.  
(evaluation, Mathematical Operation/Relationship: [0030]  “and updating the state variables of the non-edge elements using the flux and current values of the state variables.” The manner in which the flux is calculated and the state variables are updated is according to the physical system being modeled and is performed using any modeling approach known in the art.” Any approach used in the art could include extrapolation as described in [0031].)

The elicited method steps of claim 9 are elements of an evaluation, a mental process, which can be performed in the mind of a person or with a pen and paper. ([0030]-[0031]). Further, the method steps of claim 9 as described in the claim and specification include and/or are expressed as mathematical calculations or mathematical relationships, which are mathematical concepts. ([0030]-[0031]). By reciting mental processes and mathematical concepts, the method steps recite an abstract idea. 
Claim 9 recites an abstract idea.

Step 2A – Prong 2: Integrated into a Practical Solution?
No. 
MPEP 2106.04(d): “[A]fter determining that a claim recites a judicial exception in Step 2A Prong One, examiners should evaluate whether the claim as a whole integrates the recited judicial exception into a practical application of the exception in Step 2A Prong Two. A claim that integrates a judicial exception into a practical application will apply, rely on, or use the judicial exception in a manner that imposes a meaningful limit on the judicial exception, such that the claim is more than a drafting effort designed to monopolize the judicial exception. Whether or not a claim integrates a judicial exception into a practical application is evaluated using the considerations set forth in subsection I below, in accordance with the procedure described below in subsection II.”
MPEP 2106.05(f) Mere Instructions To Apply An Exception: “Another consideration when determining whether a claim integrates a judicial exception into a practical application in Step 2A Prong Two or recites significantly more than a judicial exception in Step 2B is whether the additional elements amount to […] more than a recitation of the words "apply it" (or an equivalent), such as mere instructions to implement an abstract idea on a computer, examiners should explain why they do not meaningfully limit the claim in an eligibility rejection. For example, an examiner could explain that implementing an abstract idea on a generic computer, does not integrate the abstract idea into a practical application in Step 2A Prong Two or add significantly more in Step 2B.
MPEP 2106.05(g): “Another consideration when determining whether a claim integrates the judicial exception into a practical application in Step 2A Prong Two or recites significantly more in Step 2B is whether the additional elements add more than insignificant extra-solution activity to the judicial exception. The term "extra-solution activity" can be understood as activities incidental to the primary process or product that are merely a nominal or tangential addition to the claim. Extra-solution activity includes both pre-solution and post-solution activity. An example of pre-solution activity is a step of gathering data for use in a claimed process, e.g., a step of obtaining information about credit card transactions, which is recited as part of a claimed process of analyzing and manipulating the gathered information by a series of steps in order to detect whether the transactions were fraudulent.”
The additional elements (in italics):

	by the computer system
The computer implementation is a recitation of a general-purpose computer with no specific configurations to execute the claimed method. As such, the computer implementation implements the recited abstract idea on a generic computer, and, under 2106.05(f), does not integrate the abstract idea into a practical application in Step 2A Prong Two.

Providing […] a model of a physical system including a plurality of elements each having one or more state variables; 
Obtaining […] first flux data for a first element of the plurality of elements, the first flux data corresponding to the one or more state variables of one or more second elements of the plurality of elements; 
The providing and obtaining steps merely gather existing information for evaluation. Mere data gathering is insignificant extra solution activity under MPEP 2106.05(g). Under Mere Data Gathering, an analogous example is provided: “iv. Obtaining information about transactions using the Internet to verify credit card transactions, CyberSource v. Retail Decisions, Inc., 654 F.3d 1366, 1375, 99 USPQ2d 1690, 1694 (Fed. Cir. 2011).” Under MPEP 2106.05(g), receiving data for evaluation is not significant in meaningfully limiting the invention, and the receiving of the data is necessary to the evaluations and mathematical operations of the claim. Under MPEP 2106.05(g). The providing and obtaining steps add nothing more than insignificant extra solution activity, so it does not integrate the abstract idea into a practical application in Step 2A Prong Two.
Claim 9 does not integrate the abstract idea into a practical application and is directed to the abstract idea. 

Step 2B: Claim provides an Inventive Concept?
No. 
MPEP 2106.05(I) “An inventive concept "cannot be furnished by the unpatentable law of nature (or natural phenomenon or abstract idea) itself. […] Instead, an "inventive concept" is furnished by an element or combination of elements that is recited in the claim in addition to (beyond) the judicial exception, and is sufficient to ensure that the claim, as a whole, amounts to significantly more than the judicial exception itself.”
MPEP 2106.05(f) Mere Instructions To Apply An Exception: “[I]mplementing an abstract idea on a generic computer, does not integrate the abstract idea into a practical application in Step 2A Prong Two or add significantly more in Step 2B.
MPEP 2106.05(d)(II)(i): “The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. […] i. Receiving or transmitting data over a network, e.g., using the Internet to gather data […] iv. Storing and retrieving information in memory”
MPEP 2106.05(g): “As explained by the Supreme Court, the addition of insignificant extra-solution activity does not amount to an inventive concept, particularly when the activity is well-understood or conventional. Parker v. Flook, 437 U.S. 584, 588-89, 198 USPQ 193, 196 (1978).”

	The additional limitations (in italics):

by the computer system
Providing […] a model of a physical system including a plurality of elements each having one or more state variables; 
Obtaining […] first flux data for a first element of the plurality of elements, the first flux data corresponding to the one or more state variables of one or more second elements of the plurality of elements; 
The providing and obtaining steps amount to “receiving or transmitting data” and also “storing and retrieving information from memory,” so they are analogous to the examples cited in MPEP 2106.05(d)(II)(i) representing well-understood, routine, and conventional functions. 
As discussed the additional limitation of computer-implemented method, is mere execution on a generic computer, and the additional limitation of the receiving step is insignificant extra-solution activity and a well-understood, routine, and conventional function, and, therefore, neither of the additional limitations can provide the abstract idea with significantly more to render the combination of the additional limitations an inventive concept, under MPEP 2106.05(f), MPEP 2106.05(d), and MPEP 2106.05(g).
Claim 9 is ineligible.

	Dependent Claims
	Dependent claims 2-9, 10-20, and 22-26 are also ineligible for at least the following reasons:

	Claims 2 and 22
	Claim 2 (and similarly claim 22) recites:
wherein the plurality of elements is grouped into a plurality of partitions; and 
wherein the at least the portion of the plurality of elements are on edges of the plurality of partitions.  
	The claim 2 limitations merely specify the elements on which the evaluations and mathematical operations of the abstract idea are performed, and, therefore, are elements of the abstract idea. Elements of the abstract idea do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept. Claim 22 recites limitations similar to those of claim 2, and is treated similarly under this analysis. 
Claims 2 and 22 are ineligible.

Claims 3 and 23
Claim 3 (and similarly claim 23) recites:
further comprising, for each time step of the at least the portion of the time steps and each element of the at least the portion of the plurality of elements:
estimating current flux data corresponding to past flux data obtained from a state of a neighboring element of the plurality of elements in a time step immediately preceding said each time step.  
	The estimating step is an evaluation, which is a mental process and is a mathematical operation, which is a mathematical concept. Mental processes and mathematical concepts are abstract ideas, so the limitations of claim 3 are elements of the abstract idea and do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept. Claim 23 recites limitations similar to those of claim 3, and is treated similarly under this analysis. 
Claims 3 and 23 are ineligible.

	Claims 4 and 24
	Claim 4 (and similarly claim 24) recites:
further comprising, for each time step of the at least the portion of the time steps and each element of the at least the portion of the plurality of elements: 
estimating current flux data corresponding to past flux data obtained from states of a neighboring element of the plurality of elements in multiple time steps immediately preceding said each time step.  
	The estimating step is an evaluation, which is a mental process and is a mathematical operation, which is a mathematical concept. Mental processes and mathematical concepts are abstract ideas, so the limitations of claim 4 are elements of the abstract idea and do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept. Claim 24 recites limitations similar to those of claim 4, and is treated similarly under this analysis. 
Claims 4 and 24 are ineligible.

	Claims 5 and 25
	Claim 5 (and similarly claim 25) recites:
further comprising, for each time step of the at least the portion of the time steps and each element of the at least the portion of the plurality of elements: 
estimating current flux data by extrapolating past flux data obtained from states of a neighboring element of the plurality of elements in multiple time steps immediately preceding said each time step.  
	The estimating step is an evaluation, which is a mental process and is a mathematical operation, which is a mathematical concept. Mental processes and mathematical concepts are abstract ideas, so the limitations of claim 5 are elements of the abstract idea and do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept. Claim 25 recites limitations similar to those of claim 5, and is treated similarly under this analysis. 
Claims 5 and 25 are ineligible.

	Claims 6 and 26
	Claim 6 (and similarly claim 26) recites:
further comprising, for each time step of the at least the portion of the time steps and each element of the at least the portion of the plurality of elements: 
estimating current flux data by processing, using a machine learning model, past flux data obtained from a state of a neighboring element in a time step immediately preceding said each time step.  
The estimating step is an evaluation, which is a mental process and is a mathematical operation, which is a mathematical concept. Mental processes and mathematical concepts are abstract ideas, so the limitations of claim 6 are elements of the abstract idea and do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept. Claim 26 recites limitations similar to those of claim 6, and is treated similarly under this analysis. 
Claims 6 and 26 are ineligible.

	Claims 7 and 16
Claim 7 (and similarly claim 16) recites:
	wherein the machine learning model is a neural network.
	This merely recites a mathematical relationship (neural network) used for the evaluations and mathematical operations of the abstract idea and, is therefore, an element of the abstract idea. Therefore, the limitations of claim 7 are elements of the abstract idea and do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept. Claim 16 recites limitations similar to those of claim 7, and is treated similarly under this analysis.
Claims 7 and 16 are ineligible.

	Claims 8 and 17
Claim 8 recites:
	wherein the machine learning model is a neural network.
	Claim 17 recites:
	wherein the neural network is a deep neural network including one or more hidden layers.
	This merely recites a mathematical relationship (deep neural network) used for the evaluations and mathematical operations of the abstract idea and, is therefore, an element of the abstract idea. Therefore, the limitations of claim 8 are elements of the abstract idea and do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept. Claim 17 recites limitations similar to those of claim 8, and is treated similarly under this analysis.
Claims 8 and 17 are ineligible.

	Claim 10
	Claim 10 recites:
wherein calculating the second flux data comprises extrapolating the second flux data from the first flux data.
The extrapolating step, recited as an element of the one of the calculating steps, is itself an evaluation, which is a mental process and a mathematical operation, which is a mathematical concept ([0030]-[0031]). Mental processes and mathematical concepts are abstract ideas, so the limitations of claim 10 are elements of the abstract idea and do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept. 
Claims 10 is ineligible.

	Claim 11
	Claim 11 recites:
wherein calculating the second flux data comprises linearly extrapolating the second flux data from the first flux data.  
The linearly extrapolating step, recited as an element of the one of the calculating steps, is itself an evaluation, which is a mental process and a mathematical operation, which is a mathematical concept ([0030]-[0031]). Mental processes and mathematical concepts are abstract ideas, so the limitations of claim 11 are elements of the abstract idea and do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept. 
Claims 11 is ineligible.

	Claim 12
	Claim 12 recites:
	wherein the one or more first time steps include at least two time steps.  
	The number of time steps merely represents the number of evaluations and mathematical operations that occur or are used for a further evaluation or mathematical operation, which is an element of the evaluation and mathematical evaluation an abstract idea. Therefore, the limitations of claim 12 are elements of the abstract idea and do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept.
	Claim 12 is ineligible.

	Claim 13
Claim 13 recites,
calculating the second flux data comprises calculating the second flux data based on the first flux data and the one or more state variables of the first element.  
	This merely qualifies the basis for calculation in the calculation step that is an element of the abstract idea, and is, therefore, an element of the abstract idea. Therefore, the limitations of claim 13 are elements of the abstract idea and do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept.
	Claim 13 is ineligible.

	Claim 14
	Claim 14 recites:
wherein the one or more state variables include first variables and second variables that are partial derivatives of the first variables.  
	Claim 14 merely specifies the variables that are evaluated and mathematically calculated by the abstract idea, and are, therefore, elements of the abstract idea. Therefore, the limitations of claim 14 are elements of the abstract idea and do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept.
	Claim 14 is ineligible.

	Claim 15
	Claim 15 recites:
	wherein calculating the second flux data comprises processing the first flux data and the one or more state variables of the first element using a machine learning model.  
	Processing data using a machine learning model (a mathematical relationship) is an evaluation and a mathematical operation and mergers with the abstract idea that includes the calculating step the processing step qualifies. Therefore, the limitations of claim 15 are elements of the abstract idea and do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept.
	Claim 15 is ineligible.

	Claim 18
	Claim 18 recites,
wherein the plurality of elements are divided into a plurality of partitions, each partition including a group of contiguous elements of the plurality of elements.  
Under the broadest reasonable interpretation, this is merely parsing data into different groups (it need not involve any specific hardware allocation). This merely qualifies how the data is stored and is therefore insignificant extra solution activity akin to the example, under 2106.05(g), “An example of pre-solution activity is a step of gathering data for use in a claimed process, e.g., a step of obtaining information about credit card transactions, which is recited as part of a claimed process of analyzing and manipulating the gathered information by a series of steps in order to detect whether the transactions were fraudulent.” Insignificant extra-solution activity does not integrate the abstract idea into a practical application under Step 2A, Prong 2.
Also, the features of claim 18 are analogous to the examples provided in MPEP 2106.05(d)(II)(i), i. Receiving or transmitting data over a network, e.g., using the Internet to gather data […] iv. Storing and retrieving information in memory,” which are well‐understood, routine, and conventional functions. Because claim 18 recites well‐understood, routine, and conventional functions and insignificant extra-solution activity, the features of claim 18 do not combine with the abstract idea to provide significantly more to yield an inventive concept.
Claim 18 is ineligible.

	Claim 19
	Claim 19 recites,
wherein the first element is on an edge of a partition of the plurality of partitions.  
Under the broadest reasonable interpretation, this is merely parsing data into different groups (it need not involve any specific hardware allocation) and specifying an element within the partitions. This merely qualifies how the data is stored and is therefore insignificant extra solution activity akin to the example, under 2106.05(g), “An example of pre-solution activity is a step of gathering data for use in a claimed process, e.g., a step of obtaining information about credit card transactions, which is recited as part of a claimed process of analyzing and manipulating the gathered information by a series of steps in order to detect whether the transactions were fraudulent.” Insignificant extra-solution activity does not integrate the abstract idea into a practical application under Step 2A, Prong 2.
Also, the features of claim 19 are analogous to the examples provided in MPEP 2106.05(d)(II)(i), i. Receiving or transmitting data over a network, e.g., using the Internet to gather data […] iv. Storing and retrieving information in memory,” which are well‐understood, routine, and conventional functions. Because claim 19 recites well‐understood, routine, and conventional functions and insignificant extra-solution activity, the features of claim 19 do not combine with the abstract idea to provide significantly more to yield an inventive concept.
Claim 19 is ineligible.

	Claim 20
	Claim 20 recites:
obtaining third flux data for a third element of the plurality of elements corresponding to the one or more state variables of one or more fourth elements of the plurality of elements, the third element and fourth element being in a same partition of the plurality of partitions and the third element not being an edge element of the same partition; 
The obtaining step merely gathers data, and is therefore insignificant extra solution activity akin to the example, under 2106.05(g), “An example of pre-solution activity is a step of gathering data for use in a claimed process, e.g., a step of obtaining information about credit card transactions, which is recited as part of a claimed process of analyzing and manipulating the gathered information by a series of steps in order to detect whether the transactions were fraudulent.” Insignificant extra-solution activity does not integrate the abstract idea into a practical application under Step 2A, Prong 2.
Also, the obtaining step is analogous to the examples provided in MPEP 2106.05(d)(II)(i), i. Receiving or transmitting data over a network, e.g., using the Internet to gather data […] iv. Storing and retrieving information in memory,” which are well‐understood, routine, and conventional functions. Because the obtaining step recites well‐understood, routine, and conventional functions and insignificant extra-solution activity, the obtaining step does not combine with the abstract idea to provide significantly more to yield an inventive concept.

processing the one or more state variables of the third element and the third flux data according to the model; and 
updating the one or more state variables of the third element according to the processing of the one or more state variables of the third element and the third flux data.  
	The processing and updating steps are further evaluations and mathematical operations, which are elements of an abstract idea that merge with the abstract idea of the claims from which claim 20 depends. Therefore, the processing and updating steps are elements of the abstract idea and do not provide additional limitations to integrate the abstract idea into a practical application or combine with the abstract idea to contribute significantly more than the abstract idea to render the combination an inventive concept.
	Claim 20 is ineligible.














Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA  35 U.S.C. 102 and 103 (or as subject to pre-AIA  35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA  to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.  
The factual inquiries for establishing a background for determining obviousness under pre-AIA  35 U.S.C. 103(a) are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
This application currently names joint inventors. In considering patentability of the claims under pre-AIA  35 U.S.C. 103(a), the examiner presumes that the subject matter of the various claims was commonly owned at the time any inventions covered therein were made absent any evidence to the contrary.  Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and invention dates of each claim that was not commonly owned at the time a later invention was made in order for the examiner to consider the applicability of pre-AIA  35 U.S.C. 103(c) and potential pre-AIA  35 U.S.C. 102(e), (f) or (g) prior art under pre-AIA  35 U.S.C. 103(a).

Claims 1-2 and 21-22
Claims 1-2 and 21-22 are rejected under pre-AIA  35 U.S.C. 103(a) as being unpatentable over US Patent No. 5,630,129 A to Wheat (Wheat) and further in view of NPL: “More Effective Distributed ML via a Stale Synchronous Parallel Parameter Server” by Ho et al. (Ho).

Claims 1 and 21
Regarding claim 21, Wheat teaches:
An apparatus comprising: one or more processing devices; one or more memory devices operably coupled to the one or more processing devices, the one or more memory devices storing executable code that, when executed by the one or more processing devices, causes the one or more processing devices to: (Wheat Col. 4, Lines 39-42 “Element migration causes tiles to take on irregular shapes, leading to more complicated communication patterns. However, the larger per-processor memory sizes in recently introduced massively parallel machines.” Wheat is concerned with parallel processing using multiple processing and memory elements.) 
execute a model of a physical system including a plurality of elements for a plurality of time steps such that,  (Wheat Col. 1, Lines 27-36 “Structural mechanics and fluid dynamics applications, for example, are often solved by finite difference or finite element methods requiring millions of degrees of freedom to accurately simulate physical phenomenon. On massively parallel computers, finite difference and finite element methods frequently result in distributed processor load imbalances. To overcome load imbalance, many massively parallel methods use static load balancing as a preprocessor to the finite element calculation.”; These are types of physical system models with elements that Wheat executes.)

Wheat appears to fail to teach, but Ho teaches:
execute a model of a physical system including a plurality of elements for a plurality of time steps such that, for at least a portion of the plurality of time steps, exchange of data between at least a portion of the plurality of elements is suppressed. (Ho Page 2, Second Paragraph “When a worker asks for ϴ, the SSP model will give it a stale (i.e. delayed) version of ϴ that excludes recent updates. More formally, a worker reading ϴ at iteration c will see the effects of all from iteration 0 to c - s - 1, where s ≥ 0 is a user-controlled staleness threshold. In addition, the worker may get to see some recent updates beyond iteration c - s - 1. The idea is that SSP systems should deliver as many updates as possible, without missing any updates older than a given age—a concept referred to as bounded staleness [24]. The practical effect of this is twofold: (1) workers can perform more computation instead of waiting for other workers to finish, and (2) workers spend less time communicating with the parameter server, and more time doing useful computation.” Stale data is provided for boundary values instead of waiting for slower workers to communicate the data.)

It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claims to modify the system in Wheat to replace some partition boundary element values with values based on stale data in Ho because a person of ordinary skill in the art would be motivated to increase parallel computing efficiency by reducing the communication cost/time as expressed in Wheat by using stale data from Ho which expresses that using stale data can allow faster workers to rely on the stale data to continue working even with delayed communication. (Wheat Col. 2, lines 52-54 “A primary object of the present invention is […] to achieve high parallel efficiency.”; Ho Page 2, Second Paragraph “The idea is that SSP systems should deliver as many updates as possible, without missing any updates older than a given age—a concept referred to as bounded staleness [24]. The practical effect of this is twofold: (1) workers can perform more computation instead of waiting for other workers to finish, and (2) workers spend less time communicating with the parameter server, and more time doing useful computation.”)

Claim 1 recites the method features of claim 21 and is rejected for at least the same reasons as claim 21. 

Claims 2 and 22
Regarding claim 22, Wheat and Ho teach the apparatus of claim 21. Wheat further teaches:
wherein the plurality of elements is grouped into a plurality of partitions; and wherein the at least the portion of the plurality of elements are on edges of the plurality of partitions. (Wheat Col. 5, Lines 1-15 “"Data cells" are data structures (including elements) operated on by an application amenable to parallel processing. Data cells may be "local", "internal local", "ghost", and "boundary local", as with elements, and may be manipulated according to the tiling method of the present invention. A "processor neighborhood" or "neighborhood" is defined as a processor (the "the neighborhood center") and all other processors for which the center has ghost elements (see FIG. 3). Every processor is the center of one neighborhood, and may belong to many neighborhoods. Tiling neighborhoods are not related to the hardware interconnection of the processors as were the neighborhoods in the work by Leiss and Reddy. A neighborhood consists of many processors which are not necessarily nearest neighbors within the hardware interconnections.” See FIGs. 2 and 3. FIG - 2 shows a single partition with multiple contiguous cells/elements. FIG - 3 shows a map of the different partitions.)


    PNG
    media_image1.png
    424
    454
    media_image1.png
    Greyscale
 
    PNG
    media_image2.png
    398
    378
    media_image2.png
    Greyscale


Claim 2 recites the method features of claim 22 and is rejected for at least the same reasons as claim 22. 


Claims 3-5, 9-13, 18-20, 23-25
Claims 3-5, 9-13, 18-20, 23-25 are rejected under pre-AIA  35 U.S.C. 103(a) as being unpatentable over US Patent No. 5,630,129 A to Wheat (Wheat) and further in view of NPL: “More Effective Distributed ML via a Stale Synchronous Parallel Parameter Server” by Ho et al. (Ho) and NPL:” Asynchronous Stochastic Gradient Descent with Delay Compensation” by Zheng et al. (Zheng).

Claims 3 and 23
Regarding claim 23, Wheat and Ho teach the apparatus of claim 21. Wheat and Ho appear to fail to teach, but Zheng teaches:

for each time step of the at least the portion of the time steps and each element of the at least the portion of the plurality of elements: estimate current flux data corresponding to past flux data obtained from a state of a neighboring element of the plurality of elements in a time step immediately preceding said each time step. (Zheng Page 3, Second Paragraph – Page 4, Second Paragraph “As explained in the previous sections, ideally, the optimization algorithm should add gradient g(wt+ Τ) to the global model wt+Τ, however, ASGD adds a delayed version g(wt). In this section, we propose a novel method to bridge this gap by using Taylor expansion and Hessian approximation. […] With this insight, a straightforward and ideal method is to use the full Taylor expansion to compensate the delay. However, this is practically intractable, since it involves the sum of an infinite number of items. And even the simplest delay compensation, i.e., additionally keeping the first-order item in the Taylor expansion (which is shown below), is highly non-trivial […] Fortunately, as shown in the next subsection, we find an easy-to-compute/store approximator to the Hessian matrix, which makes our proposal of delay compensation technically feasible. […] First, we show that the outer product of the gradients is an asymptotically unbiased estimation of the Hessian matrix. […] Although the outer product of the gradients can achieve unbiased estimation to the Hessian matrix, it may induce high approximation error due to potentially large variance. To further control the variance, we use mean square error (MSE) to measure the quality of an approximator”; also, see equation 10 on Page 4; Zheng uses a Taylor series approximation on stale gradient data from slow workers to approximate a gradient for that worker based on data from prior time steps for the same system. This is a better estimate of the gradient/flux boundary value from a parallel processing coworker than just using the prior stale values.) 

It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claims to modify the provision of stale data in Ho with extrapolated stale data in Zheng because Ho attempts to provide stale data as substitute data (but is concerned with limiting staleness) to allow faster workers to continue working, and Zheng provides an extrapolation technique for stale data to better estimate a present state (limit staleness) for faster workers from the stale data. (Ho Page 2, Second Paragraph ““The idea is that SSP systems should deliver as many updates as possible, without missing any updates older than a given age—a concept referred to as bounded staleness [24]. The practical effect of this is twofold: (1) workers can perform more computation instead of waiting for other workers to finish, and (2) workers spend less time communicating with the parameter server, and more time doing useful computation.”: Zheng Page 1, Right Column, Second Paragraph “In this paper, we propose a novel method, called Delay Compensated ASGD (or DC-ASGD for short), to tackle the problem of delayed gradients. For this purpose, we study the Taylor expansion of the gradient function g(wt+Τ) at wt. We find that the delayed gradient g(wt) is just the zero-order approximator of the correct gradient g(wt+Τ), and we can leverage more items in the Taylor expansion to achieve more accurate approximation of g(wt+Τ).”)

Claim 3 recites the method features of claim 23 and is rejected for at least the same reasons as claim 23. 

Claims 4 and 24
Regarding claim 24, Wheat and Ho teach the apparatus of claim 21. Wheat and Ho appear to fail to teach, but Zheng teaches:
for each time step of the at least the portion of the time steps and each element of the at least the portion of the plurality of elements: estimate current flux data corresponding to past flux data obtained from states of a neighboring element of the plurality of elements in multiple time steps immediately preceding said each time step.  (Zheng Page 3, Second Paragraph – Page 4, Second Paragraph “As explained in the previous sections, ideally, the optimization algorithm should add gradient g(wt+ Τ) to the global model wt+Τ, however, ASGD adds a delayed version g(wt). In this section, we propose a novel method to bridge this gap by using Taylor expansion and Hessian approximation. […] With this insight, a straightforward and ideal method is to use the full Taylor expansion to compensate the delay. However, this is practically intractable, since it involves the sum of an infinite number of items. And even the simplest delay compensation, i.e., additionally keeping the first-order item in the Taylor expansion (which is shown below), is highly non-trivial […] Fortunately, as shown in the next subsection, we find an easy-to-compute/store approximator to the Hessian matrix, which makes our proposal of delay compensation technically feasible. […] First, we show that the outer product of the gradients is an asymptotically unbiased estimation of the Hessian matrix. […] Although the outer product of the gradients can achieve unbiased estimation to the Hessian matrix, it may induce high approximation error due to potentially large variance. To further control the variance, we use mean square error (MSE) to measure the quality of an approximator”; also, see equation 10 on Page 4; Zheng uses a Taylor series approximation on stale gradient data from slow workers to approximate a gradient for that worker based on data from prior time steps for the same system. This is a better estimate of the gradient/flux boundary value from a  parallel processing coworker than just using the prior stale values.) 

It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claims to modify the provision of stale data in Ho with extrapolated stale data in Zheng because Ho attempts to provide stale data as substitute data (but is concerned with limiting staleness) to allow faster workers to continue working, and Zheng provides an extrapolation technique for stale data to better estimate a present state (limit staleness) for faster workers from the stale data. (Ho Page 2, Second Paragraph ““The idea is that SSP systems should deliver as many updates as possible, without missing any updates older than a given age—a concept referred to as bounded staleness [24]. The practical effect of this is twofold: (1) workers can perform more computation instead of waiting for other workers to finish, and (2) workers spend less time communicating with the parameter server, and more time doing useful computation.”: Zheng Page 1, Right Column, Second Paragraph “In this paper, we propose a novel method, called Delay Compensated ASGD (or DC-ASGD for short), to tackle the problem of delayed gradients. For this purpose, we study the Taylor expansion of the gradient function g(wt+Τ) at wt. We find that the delayed gradient g(wt) is just the zero-order approximator of the correct gradient g(wt+Τ), and we can leverage more items in the Taylor expansion to achieve more accurate approximation of g(wt+Τ).”)

Claim 4 recites the method features of claim 24 and is rejected for at least the same reasons as claim 24.  

Claims 5 and 25
Regarding claim 25, Wheat and Ho teach the apparatus of claim 21. Wheat and Ho appear to fail to teach, but Zheng teaches:
for each time step of the at least the portion of the time steps and each element of the at least the portion of the plurality of elements: estimate current flux data by extrapolating past flux data obtained from states of a neighboring element of the plurality of elements in multiple time steps immediately preceding said each time step. (Zheng Page 3, Second Paragraph – Page 4, Second Paragraph “As explained in the previous sections, ideally, the optimization algorithm should add gradient g(wt+ Τ) to the global model wt+Τ, however, ASGD adds a delayed version g(wt). In this section, we propose a novel method to bridge this gap by using Taylor expansion and Hessian approximation. […] With this insight, a straightforward and ideal method is to use the full Taylor expansion to compensate the delay. However, this is practically intractable, since it involves the sum of an infinite number of items. And even the simplest delay compensation, i.e., additionally keeping the first-order item in the Taylor expansion (which is shown below), is highly non-trivial […] Fortunately, as shown in the next subsection, we find an easy-to-compute/store approximator to the Hessian matrix, which makes our proposal of delay compensation technically feasible. […] First, we show that the outer product of the gradients is an asymptotically unbiased estimation of the Hessian matrix. […] Although the outer product of the gradients can achieve unbiased estimation to the Hessian matrix, it may induce high approximation error due to potentially large variance. To further control the variance, we use mean square error (MSE) to measure the quality of an approximator”; also, see equation 10 on Page 4; Zheng uses a Taylor series approximation on stale gradient data from slow workers to approximate a gradient for that worker based on data from prior time steps for the same system. This is a better estimate of the gradient/flux boundary value from a parallel processing coworker than just using the prior stale values.) 

Claim 5 recites the method features of claim 25 and is rejected for at least the same reasons as claim 25.  

Claims 9-13
Regarding Claim 9, Wheat teaches,
providing, on a computer system, a model of a physical system including a plurality of elements each having one or more state variables; 
(Wheat Col. 4, lines 58-61 “The present invention is of a method and apparatus for dynamically load balancing applications on parallel computers (particularly massively parallel MIMD computers) to achieve high parallel efficiency.” On computers; Col. 5, lines 56-67 “In the present specification and claims, certain terms are defined as follows. "Elements" are the data structures that form the basis of finite-difference or finite-element numerical techniques. Elements are separated into two classes: "local" elements are elements assigned to a particular processor; and "ghost" elements represent element data and interconnections for elements that are assigned to other processors. An "internal local element" has all its element neighbors local to the same processor; a "boundary local element" has at least one element neighbor assigned to another processor. FIG. 2 illustrates the basic element classes for a given processor.”; Col. 9, lines 38-39 “where u is the system of conservation variables modelled by the finite element discretization, f and g are flux functions…”; Also, see equations (1a) and (1b); Finite element is for a model of a physical system including a plurality of elements. The elements have state variables such as flux in multiple directions.
for each time step of one or more first time steps: 
obtaining, by the computer system, first flux data for a first element of the plurality of elements, the first flux data corresponding to the one or more state variables of one or more second elements of the plurality of elements; (Wheat Col. 10, lines 32-39 “The boundary fluxes […] are computed by solving an approximate Riemann problem, […] requiring an exchange of information across neighboring elements' boundaries.”; flux data for state variables is exchanged between boundary cells)
processing, by the computer system, the one or more state variables of the first element and the first flux data according to the model; and  updating the one or more state variables according to the processing of the one or more state variables of the first element and the first flux data; (Wheat Col. 9, lines 40-45 “Ω is the physical problem domain, δΩ is the boundary of the domain, and subscripts t, x, and y denote differentiation with respect to time and space in the x- and y-directions. The Euler equations, used in computational fluid dynamics, and the shallow water equations, used in global climate modelling, are examples of hyperbolic conservation laws.” Col. 10, lines 32-39 “The boundary fluxes […] are computed by solving an approximate Riemann problem, […] requiring an exchange of information across neighboring elements' boundaries.”; Boundary fluxes are used to process and update the physical variables Ω)
for a second time step subsequent to the one or more first time steps: 

processing, by the computer system, the one or more state variables of the first element and the second flux data according to the model; and updating, by the computer system, the one or more state variables of the first element according to the processing of the one or more state variables of the first element and the second flux data.  (Wheat Col. 9, lines 40-45 “Ω is the physical problem domain, δΩ is the boundary of the domain, and subscripts t, x, and y denote differentiation with respect to time and space in the x- and y-directions. The Euler equations, used in computational fluid dynamics, and the shallow water equations, used in global climate modelling, are examples of hyperbolic conservation laws.” Col. 10, lines 32-39 “The boundary fluxes […] are computed by solving an approximate Riemann problem, […] requiring an exchange of information across neighboring elements' boundaries.”; Boundary fluxes are used to process and update the physical variables Ω)

Wheat appears to fail to teach, but Ho teaches,

(Ho Page 2, Second Paragraph “When a worker asks for ϴ, the SSP model will give it a stale (i.e. delayed) version of ϴ that excludes recent updates. More formally, a worker reading ϴ at iteration c will see the effects of all  from iteration 0 to c - s - 1, where s ≥ 0 is a user-controlled staleness threshold. In addition, the worker may get to see some recent updates beyond iteration c - s - 1. The idea is that SSP systems should deliver as many updates as possible, without missing any updates older than a given age—a concept referred to as bounded staleness [24]. The practical effect of this is twofold: (1) workers can perform more computation instead of waiting for other workers to finish, and (2) workers spend less time communicating with the parameter server, and more time doing useful computation.” Stale data is provided for boundary values instead of waiting for slower workers to communicate the data.)

It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claims to modify the system in Wheat to replace some partition boundary element values with values based on stale data in Ho because a person of ordinary skill in the art would be motivated to increase parallel computing efficiency by reducing the communication cost/time as expressed in Wheat by using stale data from Ho which expresses that using stale data can allow faster workers to rely on the stale data to continue working even with delayed communication. (Wheat Col. 2, lines 52-54 “A primary object of the present invention is […] to achieve high parallel efficiency.”; Ho Page 2, Second Paragraph “The idea is that SSP systems should deliver as many updates as possible, without missing any updates older than a given age—a concept referred to as bounded staleness [24]. The practical effect of this is twofold: (1) workers can perform more computation instead of waiting for other workers to finish, and (2) workers spend less time communicating with the parameter server, and more time doing useful computation.”)

Ho appears to fail to teach, but Zheng teaches:

calculating, by the computer system, second […] data for the first [worker] based on the first […] data from the one or more first time steps; (Zheng Page 3, Second Paragraph – Page 4, Second Paragraph “As explained in the previous sections, ideally, the optimization algorithm should add gradient g(wt+ Τ) to the global model wt+ Τ , however, ASGD adds a delayed version g(wt). In this section, we propose a novel method to bridge this gap by using Taylor expansion and Hessian approximation. […] With this insight, a straightforward and ideal method is to use the full Taylor expansion to compensate the delay. However, this is practically intractable, since it involves the sum of an infinite number of items. And even the simplest delay compensation, i.e., additionally keeping the first-order item in the Taylor expansion (which is shown below), is highly non-trivial […] Fortunately, as shown in the next subsection, we find an easy-to-compute/store approximator to the Hessian matrix, which makes our proposal of delay compensation technically feasible. […] First, we show that the outer product of the gradients is an asymptotically unbiased estimation of the Hessian matrix. […] Although the outer product of the gradients can achieve unbiased estimation to the Hessian matrix, it may induce high approximation error due to potentially large variance. To further control the variance, we use mean square error (MSE) to measure the quality of an approximator”; also, see equation 10 on Page 4; Zheng uses a Taylor series approximation on stale gradient data from slow workers to approximate a gradient for that worker based on data from prior time steps for the same system. This is a better estimate of the gradient value from a  parallel processing coworker than just using the prior values.) 

It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claims to modify the provision of stale data in Ho with extrapolated stale data in Zheng because Ho attempts to provide stale data as substitute data (but is concerned with limiting staleness) to allow faster workers to continue working, and Zheng provides an extrapolation technique for stale data to better estimate a present state (limit staleness) for faster workers from the stale data. (Ho Page 2, Second Paragraph ““The idea is that SSP systems should deliver as many updates as possible, without missing any updates older than a given age—a concept referred to as bounded staleness [24]. The practical effect of this is twofold: (1) workers can perform more computation instead of waiting for other workers to finish, and (2) workers spend less time communicating with the parameter server, and more time doing useful computation.”: Zheng Page 1, Right Column, Second Paragraph “In this paper, we propose a novel method, called Delay Compensated ASGD (or DC-ASGD for short), to tackle the problem of delayed gradients. For this purpose, we study the Taylor expansion of the gradient function g(wt+Τ) at wt. We find that the delayed gradient g(wt) is just the zero-order approximator of the correct gradient g(wt+Τ), and we can leverage more items in the Taylor expansion to achieve more accurate approximation of g(wt+Τ).”)

Regarding claim 10, Wheat, Ho and Zheng teach the method of claim 9. Zheng further teaches:
wherein calculating the second flux data comprises extrapolating the second flux data from the first flux data.  (Zheng Page 3, Second Paragraph – Page 4, Second Paragraph “As explained in the previous sections, ideally, the optimization algorithm should add gradient g(wt+Τ) to the global model wt+ Τ , however, ASGD adds a delayed version g(wt). In this section, we propose a novel method to bridge this gap by using Taylor expansion and Hessian approximation. […] With this insight, a straightforward and ideal method is to use the full Taylor expansion to compensate the delay. However, this is practically intractable, since it involves the sum of an infinite number of items. And even the simplest delay compensation, i.e., additionally keeping the first-order item in the Taylor expansion (which is shown below), is highly non-trivial […] Fortunately, as shown in the next subsection, we find an easy-to-compute/store approximator to the Hessian matrix, which makes our proposal of delay compensation technically feasible. […] First, we show that the outer product of the gradients is an asymptotically unbiased estimation of the Hessian matrix. […] Although the outer product of the gradients can achieve unbiased estimation to the Hessian matrix, it may induce high approximation error due to potentially large variance. To further control the variance, we use mean square error (MSE) to measure the quality of an approximator”; also, see equation 10 on Page 4; Zheng uses a Taylor series approximation on stale gradient data from slow workers to approximate a gradient for that worker based on data from prior time steps for the same system. This is an extrapolation from stale data.) 

Regarding claim 11, Wheat, Ho and Zheng teach the method of claim 9. Zheng further teaches:
wherein calculating the second flux data comprises linearly extrapolating the second flux data from the first flux data. (Zheng Page 3, Second Paragraph – Page 4, Second Paragraph “As explained in the previous sections, ideally, the optimization algorithm should add gradient g(wt+ Τ) to the global model wt+ Τ , however, ASGD adds a delayed version g(wt). In this section, we propose a novel method to bridge this gap by using Taylor expansion and Hessian approximation. […] With this insight, a straightforward and ideal method is to use the full Taylor expansion to compensate the delay. However, this is practically intractable, since it involves the sum of an infinite number of items. And even the simplest delay compensation, i.e., additionally keeping the first-order item in the Taylor expansion (which is shown below), is highly non-trivial […] Fortunately, as shown in the next subsection, we find an easy-to-compute/store approximator to the Hessian matrix, which makes our proposal of delay compensation technically feasible. […] First, we show that the outer product of the gradients is an asymptotically unbiased estimation of the Hessian matrix. […] Although the outer product of the gradients can achieve unbiased estimation to the Hessian matrix, it may induce high approximation error due to potentially large variance. To further control the variance, we use mean square error (MSE) to measure the quality of an approximator”; also, see equation 10 on Page 4; Zheng uses a Taylor series approximation on stale gradient data from slow workers to approximate a gradient for that worker based on data from prior time steps for the same system. This is an extrapolation from stale data. The first order term of the Taylor expansion is a linear extrapolation)

Regarding claim 12, Wheat, Ho and Zheng teach the method of claim 9. Wheat further teaches:
wherein the one or more first time steps include at least two time steps. (Wheat Col. 12, Lines 6-7 “FIG. 8 shows the processor domain decomposition after 20 time steps”; The communication/calculation of flux data is repeated for 20 time steps).

Regarding claim 13, Wheat, Ho and Zheng teach the method of claim 9. Zheng further teaches:
wherein calculating the second flux data comprises calculating the second flux data based on the first flux data and the one or more state variables of the first element. (Zheng Page 3, Second Paragraph – Page 4, Second Paragraph “As explained in the previous sections, ideally, the optimization algorithm should add gradient g(wt+ Τ) to the global model wt+ Τ , however, ASGD adds a delayed version g(wt). In this section, we propose a novel method to bridge this gap by using Taylor expansion and Hessian approximation.” In Zheng, the gradient is analogous to the claimed flux as presented in Wheat, and the weights of the model (w) are the state variables representing the nodes of the model. Therefore, the combination of Zheng with Wheat teaches calculating second flux (gradient) data based on prior flux (gradient) data and state variable data.)

Regarding claim 18, Wheat, Ho and Zheng teach the method of claim 9. Wheat further teaches:
wherein the plurality of elements are divided into a plurality of partitions, each partition including a group of contiguous elements of the plurality of elements. (Wheat Col. 5, Lines 1-15 “"Data cells" are data structures (including elements) operated on by an application amenable to parallel processing. Data cells may be "local", "internal local", "ghost", and "boundary local", as with elements, and may be manipulated according to the tiling method of the present invention. A "processor neighborhood" or "neighborhood" is defined as a processor (the "the neighborhood center") and all other processors for which the center has ghost elements (see FIG. 3). Every processor is the center of one neighborhood, and may belong to many neighborhoods. Tiling neighborhoods are not related to the hardware interconnection of the processors as were the neighborhoods in the work by Leiss and Reddy. A neighborhood consists of many processors which are not necessarily nearest neighbors within the hardware interconnections.” See FIGs. 2 and 3. FIG - 2 shows a single partition with multiple contiguous cells/elements. FIG - 3 shows a map of the different partitions.)


    PNG
    media_image1.png
    424
    454
    media_image1.png
    Greyscale
 
    PNG
    media_image2.png
    398
    378
    media_image2.png
    Greyscale


Regarding claim 19, Wheat, Ho and Zheng teach the method of claim 18. Wheat further teaches:
wherein the first element is on an edge of a partition of the plurality of partitions. (Wheat Col. 5, Lines 1-15 “’Data cells’ are data structures (including elements) operated on by an application amenable to parallel processing. Data cells may be "local", "internal local", "ghost", and "boundary local", as with elements, and may be manipulated according to the tiling method of the present invention.” See FIG - 2. FIG - 2 above shows cells on an edge of a partition.)

Regarding claim 20, Wheat, Ho and Zheng teach the method of claim 19. Wheat further teaches:
obtaining third flux data for a third element of the plurality of elements corresponding to the one or more state variables of one or more fourth elements of the plurality of elements, the third element and fourth element being in a same partition of the plurality of partitions and the third element not being an edge element of the same partition; processing the one or more state variables of the third element and the third flux data according to the model; and  updating the one or more state variables of the third element according to the processing of the one or more state variables of the third element and the third flux data. (Wheat Col. 10, lines 30-43 “The system of ordinary differential equations (3) is integrated in time using a Runge-Kutta method of order p+1. The boundary fluxes f(Uij(±1,η,t)) and g(Uij(ξ,±1,t)) are computed by solving an approximate Riemann problem, […], requiring an exchange of information across neighboring elements' boundaries.” See the example presented in Cols. 9-10 with the set of equations that are to be evaluated over all internal and boundary elements. Fluxes are computed for all elements (more than three elements, as illustrated above in FIG. 2). Boundary elements receive communicated data from other boundary elements to determine boundary fluxes.


Claims 6-8 and 26
Claims 6-8 and 26 are rejected under pre-AIA  35 U.S.C. 103(a) as being unpatentable over US Patent No. 5,630,129 A to Wheat (Wheat) and further in view of NPL: “More Effective Distributed ML via a Stale Synchronous Parallel Parameter Server” by Ho et al. (Ho) and NPL: “An Efficient Deep Learning Technique for the Navier-Stokes Equations: Application to Unsteady Wake Flow Dynamics” by Miyanawala et al (Miyanawala).

Claims 6 and 26
Regarding claim 26, Wheat and Ho teach the apparatus of claim 21. Ho further teaches:
For each time step of the at least the portion of the time steps and each element of the at least the portion of the plurality of elements:  (Ho 

Wheat and Ho fail to teach, but Miyanawala teaches:

estimate current flux data by processing, using a machine learning model, past flux data obtained from a state of a neighboring element in a time step immediately preceding said each time step. (Miyanawala Abstract “We present an efficient deep learning technique for the model reduction of the Navier-Stokes equations for unsteady flow problems. The proposed technique relies on the Convolutional Neural Network (CNN) and the stochastic gradient descent method. Of particular interest is to predict the unsteady fluid forces for different bluff-body shapes at low Reynolds number. The discrete convolution process with a nonlinear recti cation is employed to approximate the mapping between the bluff body shape and the fluid forces.” This teaches using a machine learning model to solve elements of the Navier-Stokes equations, including unsteady fluid forces, which are elements affecting calculation of flux. The model in Miyanawala is an estimate of flux and, in this combination would use the stale data from Ho to make the estimate of flux in the cells of Wheat.)

It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed claims to modify complicated FEM calculations of Wheat with some of the machine learning estimations of Miyanawala because a person of ordinary skill in the art would be motivated to more efficiently calculate the Navier-Stokes elements as suggested in Wheat with the computationally less costly and parallelizable determinations of the machine learning model in Miyanawala. (Wheat Col. 2, Lines 52-54 “A primary object of this invention is to […] achieve high parallel efficiency.”; Miyanawala Abstract “We present an efficient deep learning technique for the model reduction of the Navier-Stokes equations for unsteady flow problems.”)

Claim 6 recites the method features of claim 26 and is rejected for at least the same reasons as claim 26.  

Claims 7-8
Regarding claim 7, Wheat, Ho, Miyanawala teach the method of claim 6 (the method of the apparatus claim 26). Miyanawala further teaches:
wherein the machine learning model is a neural network.  (Miyanawala Abstract “We present an efficient deep learning technique for the model reduction of the Navier-Stokes equations for unsteady flow problems. The proposed technique relies on the Convolutional Neural Network (CNN) and the stochastic gradient descent method. Of particular interest is to predict the unsteady uid forces for different bluff-body shapes at low Reynolds number. The discrete convolution process with a nonlinear recti cation is employed to approximate the mapping between the bluff body shape and the fluid forces.” This teaches using a machine learning model to solve elements of the Navier-Stokes equations.)

It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed claims to modify complicated FEM calculations of Wheat with some of the machine learning estimations of Miyanawala because a person of ordinary skill in the art would be motivated to more efficiently calculate the Navier-Stokes elements as suggested in Wheat with the computationally less costly and parallelizable determinations of the machine learning model in Miyanawala. (Wheat Col. 2, Lines 52-54 “A primary object of this invention is to […] achieve high parallel efficiency.”; Miyanawala Abstract “We present an efficient deep learning technique for the model reduction of the Navier-Stokes equations for unsteady flow problems.”)

Regarding claim 8, Wheat, Ho, and Miyanawala teach the method of claim 7 (the method of the apparatus claim 27). Miyanawala further teaches:
wherein the neural network is a deep neural network.  (Miyanawala  Abstract “We present an efficient deep learning technique for the model reduction of the Navier-Stokes equations for unsteady flow problems. The proposed technique relies on the Convolutional Neural Network (CNN) and the stochastic gradient descent method.”)


Claim 14
Claim 14 is rejected under pre-AIA  35 U.S.C. 103(a) as being unpatentable over US Patent No. 5,630,129 A to Wheat (Wheat) and further in view of NPL: “More Effective Distributed ML via a Stale Synchronous Parallel Parameter Server” by Ho et al. (Ho), NPL:” Asynchronous Stochastic Gradient Descent with Delay Compensation” by Zheng et al. (Zheng), and NPL: “Advances in Numerical Reynolds-Averaged Navier–Stokes Modelling of Wave-Structure-Seabed Interactions and Scour” by Diaz-Carrasco et al. (Diaz).

Regarding claim 14, Wheat, Ho and Zheng teach the method of claim 13. Wheat, Ho, and Zheng appear to fail to teach, but Diaz teaches:
wherein the one or more state variables include first variables and second variables that are partial derivatives of the first variables.  (NOTE: partial derivatives of a variable include that variable, and almost all dynamic physical models include flux values that are represented as partial derivatives of values, such as pressure, in different directions; Also, the example provided in the Applicant’s specification, the acoustic wave equation, does not treat provide an example of what state variable would be included additionally as a partial derivative; Diaz Equation (2) is a Reynolds-Averaged Navier-Stokes (RANS) equation that uses a state variable uf,j and its partial derivative relative to xi (circled in the image below). These would be passed in a flux determination between different calculation nodes/partitions in a distributed computing environment.

    PNG
    media_image3.png
    197
    1426
    media_image3.png
    Greyscale

It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claims to modify the fluid dynamics models as taught in Wheat with the more specific RANS Navier-Stokes variant as taught in Diaz because a person of ordinary skill in the art would be motivated to improve the speed of the computation based on the teachings of Wheat with the simplifications that improve efficiency of fluid dynamics calculations using RANS in Diaz (Wheat Col. 1, Lines 25-31  “Distributed memory, massively parallel, MIMD technology has enabled the development of applications requiring computational resources previously unobtainable. Structural mechanics and fluid dynamics applications, for example, are often solved by finite difference or finite element methods requiring millions of degrees of freedom to accurately simulate physical phenomenon.”; Diaz Page 2, Third paragraph “When the depth profiles and turbulence effects are important, more complex and accurate models can be used based on the solution of the statistically Reynolds-Averaged Navier–Stokes equations (RANS), which provide the mean flow field through the domain as well as some turbulent quantities (turbulence kinetic energy and its dissipation rate in most of the models). Large-Eddy Simulation (LES) is another approach, which resolves a filtered version of the Navier–Stokes equations, and it provides significant accuracy as coherent 3D hydrodynamic structures that are larger than the grid scale are resolved. However, its computational cost is still too high for most practical problems. In the seabed response and sediment transport around maritime structures, the models that are based on RANS equations give an adequate description of the wave–structure interactions, as well as the turbulent flow and bottom boundary layer.”)


Claims 15-17
Claims 15-17 are rejected under pre-AIA  35 U.S.C. 103(a) as being unpatentable over US Patent No. 5,630,129 A to Wheat (Wheat) and further in view of NPL: “More Effective Distributed ML via a Stale Synchronous Parallel Parameter Server” by Ho et al. (Ho), NPL:” Asynchronous Stochastic Gradient Descent with Delay Compensation” by Zheng et al. (Zheng), and NPL: “An Efficient Deep Learning Technique for the Navier-Stokes Equations: Application to Unsteady Wake Flow Dynamics” by Miyanawala et al (Miyanawala).

Regarding claim 15, Wheat, Ho and Zheng teach the method of claim 13. Wheat, Ho, and Zheng appear to fail to teach, but Miyanawala teaches:
wherein calculating the second flux data comprises processing the first flux data and the one or more state variables of the first element using a machine learning model.  (Miyanawala Abstract “We present an efficient deep learning technique for the model reduction of the Navier-Stokes equations for unsteady flow problems. The proposed technique relies on the Convolutional Neural Network (CNN) and the stochastic gradient descent method. Of particular interest is to predict the unsteady uid forces for different bluff-body shapes at low Reynolds number. The discrete convolution process with a nonlinear recti cation is employed to approximate the mapping between the bluff body shape and the fluid forces.” This teaches using a machine learning model to solve elements of the Navier-Stokes equations.)

It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed claims to modify complicated FEM calculations of Wheat with some of the machine learning estimations of Miyanawala because a person of ordinary skill in the art would be motivated to more efficiently calculate the Navier-Stokes elements as suggested in Wheat with the computationally less costly and parallelizable determinations of the machine learning model in Miyanawala. (Wheat Col. 2, Lines 52-54 “A primary object of this invention is to […] achieve high parallel efficiency.”; Miyanawala Abstract “We present an efficient deep learning technique for the model reduction of the Navier-Stokes equations for unsteady flow problems.”)

Regarding claim 16, Wheat, Ho, Zheng, and Miyanawala teach the method of claim 15. Miyanawala further teaches:
wherein the machine learning model is a neural network. (Miyanawala  Abstract “We present an efficient deep learning technique for the model reduction of the Navier-Stokes equations for unsteady flow problems. The proposed technique relies on the Convolutional Neural Network (CNN) and the stochastic gradient descent method.”)

Regarding claim 17, Wheat, Ho, Zheng, and Miyanawala teach the method of claim 16. Miyanawala further teaches:
wherein the neural network is a deep neural network including one or more hidden layers. (Miyanawala  Abstract “We present an efficient deep learning technique for the model reduction of the Navier-Stokes equations for unsteady flow problems. The proposed technique relies on the Convolutional Neural Network (CNN) and the stochastic gradient descent method.”)


Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. 
NPL: “An unstructured-grid, finite-volume, nonhydrostatic, parallel coastal ocean simulator” by Fringer et al. (Discuses distributed computing solutions for finite-volume Navier-Stokes calculations).
	NPL: “3D Euler Calculations Using Characteristic Flux Extrapolation” by Eberle (Discusses extrapolation of flux values in 3D mesh calculations).
	NPL: “Spectral-element simulations of global seismic wave propagation—I. Validation” by Komatitsch et al (Discusses distributed computation of FEM).
	NPL: “Computational aspects of a scalable high-order discontinuous Galerkin
atmospheric dynamical core” by Nair et al. (Discusses reducing communication costs of distributed mesh model calculations).
	
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JAY MICHAEL WHITE whose telephone number is (571)272-7073. The examiner can normally be reached Mon-Fri 7:30-5:00 EST.
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, Ryan Pitaro can be reached at (571) 272-4071. 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.





/J.M.W./Examiner, Art Unit 2188                                                                                                                                                                                                        
/RYAN F PITARO/Supervisory Patent Examiner, Art Unit 2188                                                                                                                                                                                                        


    
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
    


Cookies help us deliver our services. By using our services, you agree to our use of cookies.