Prosecution Insights
Last updated: July 17, 2026
Application No. 19/208,206

SYSTEMS AND METHODS FOR EXECUTING MODELS BASED ON METADATA

Non-Final OA §103§112
Filed
May 14, 2025
Priority
Aug 27, 2021 — provisional 63/237,901 +1 more
Examiner
HUDSON, MARLA LAVETTE
Art Unit
Tech Center
Assignee
Bank of Montreal
OA Round
1 (Non-Final)
56%
Grant Probability
Moderate
1-2
OA Rounds
1y 6m
Est. Remaining
82%
With Interview

Examiner Intelligence

Grants 56% of resolved cases
56%
Career Allowance Rate
66 granted / 117 resolved
-3.6% vs TC avg
Strong +26% interview lift
Without
With
+25.7%
Interview Lift
resolved cases with interview
Typical timeline
2y 8m
Avg Prosecution
24 currently pending
Career history
141
Total Applications
across all art units

Statute-Specific Performance

§101
34.2%
-5.8% vs TC avg
§103
49.2%
+9.2% vs TC avg
§102
2.7%
-37.3% vs TC avg
§112
6.8%
-33.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 117 resolved cases

Office Action

§103 §112
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 . Status of Claims The following is Office Action on the merits in response to the communication received on 5/14/25. Claim status: Amended claims: none Canceled claims: none Added New claims: None Pending claims: 1-20 Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer. Claim 1 is rejected on the ground of nonstatutory double patenting as being unpatentable over claim 1 of U.S. Patent No. 12,307,512. Although the claims at issue are not identical, they are not patentably distinct from each other because they claim patentably indistinct inventions and the claimed invention and the patent were commonly owned. Claim 1 of the Examined Application And Claim 1 of U.S. Patent No. 12,307,512 The two independent claims are substantially similar to one another. Both are directed to a method that includes partitioning, by one or more processors, user application data into first data and second data in accordance with relational database metadata; responsive to determining, by the one or more processors, an allocation of the first data to a first execution node of a plurality of execution nodes and the second data to a second execution node of the plurality of execution nodes: executing, by the one or more processors, a first computer model using the first data to output a first score; and executing, by the one or more processors, in parallel with execution of the first computer model, a second computer model using the second data to output a second score; and transmitting, by the one or more processors, a notification based on a score. However, the 512 Patent has additional limitations and is a species of the present application. Thus, under an anticipation analysis in MPEP 804(II)(B)(2), the differences between claim 1 of the 512 Patent and claim 1 herein would have been obvious to an ordinarily skilled artisan at the time of the invention. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 16 and 19 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Claim16 recites the limitation "the set of instructions" at the first line. There is insufficient antecedent basis for this limitation in the claim. Claim19 recites the limitation "the set of instructions" at the first line. There is insufficient antecedent basis for this limitation in the claim. 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 following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 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. Claims 1-6, 8-13 and 15-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Ferdinand (U.S. Pub. No. 2013/0346274), in view of Srivastava (U.S. Pub. No. 2020/0311808). With respect to claims 1, 8 and 15: Ferdinand teaches: A method comprising: partitioning, by one or more processors, user application data into first data and second data in accordance with relational database metadata (“As noted above, the storage model 210 is an inert object that can be read from or written to, much like any memory device (either software or hardware) and is the structure that defines the meta-data, the content and the access methods. Meta-data associated with the storage model 210 describes the data layout of the storage model (e.g., how fields are arranged in the storage model and properties of those fields). The meta-data exposes an internal structure for identifying where information is stored and external access methods that allow applications to dynamically change the meta-data information (e.g., by deleting/adding fields or changing fields' properties). For example, with respect to price data for a particular financial product, the storage model may be an array whose entries each represent a different 3-element array: [symbol, price, size]. The meta-data includes information regarding the keys (e.g., symbol in this case), how to find the keys and how to find the values for a given key. If a user or program adds a new field (e.g., CHANGE field indicating a change in price from the last available price) to the array, this requires making structural changes to the array. For example, the number of rows may stay the same, but each row will be expanded to a 4-element array: [symbol, price, size, change]. The meta-data is updated to take the new field for “change” into account. Adding another symbol will make a structural change in the main array as array will need to expand to allow for a new entry. This means that the meta-data needs to be updated to account for the new entry” (Ferdinand Pgh. [0145]) and “The multiple storage model instances can be grouped together using a relational memory management system. The term “relational” is understood in this context to imply that the different memory managers serve as specialized tables and the memory management system becomes a data base management system (DBMS)” Ferdinand Pgh. [0252]); responsive to determining, by the one or more processors, an allocation of the first data to a first execution node of a plurality of execution nodes and the second data to a second execution node of the plurality of execution nodes: executing, by the one or more processors, a first computer model using the first data to output a first {. . . . .}; and executing, by the one or more processors, in parallel with execution of the first computer model, a second computer model using the second data to output a second {. . . . . .} (“In some implementations, the automation model is configured to trigger the one or more sets of processes according to a dependency graph. The dependency graph may include multiple nodes, each node corresponding to a different set of processes to be executed, in which the order of the nodes is non-cyclical, and in which execution of a set of processes represented by a first node in the graph begins after completion of a set of processes represented by a second node on which the first node depends. Execution of a set of processes represented by a third node in the graph may begin after completion of the set of processes represented by the second node, in which the sets of processes represented by the first and third nodes execute in parallel” (Ferdinand Pgh. [0010]) and “In certain implementations, the financial data analysis platform is configured to perform the real-time analysis by simultaneously executing multiple processing threads accessing a same portion of financial data” (Ferdinand Pgh. [0028]) and “Furthermore, the memory management system eliminates the requirement to evaluate each object, whether or not the values contained in the object are required for a module to perform a calculation. Instead, the automation model 230 of the memory management system 200 triggers operations by the modules or sub-modules (through observer components) when changes occur in the cells of the storage model to which the modules or sub-modules are registered. The memory management system 200 further employs a dependency manager to establish a dependency tree between observer components of the modules, so that the calculators or other components of the modules are triggered in a specific order based on their dependency and output. The dependency tree thus optimizes the execution of operations among the modules and allows the simultaneous parallel execution of processes on different data” (Ferdinand Pgh. [0143]) and “In some implementations, a thread pool exists in which the child observer nodes are notified and executed in parallel. That is, rather than using a single thread, multiple threads may be utilized to allow the nodes to be executed in parallel as they are cleared in the dependency graph. A condition of multi-threaded environments is that a thread must be available for processing the current node. Thus, in certain implementations, multi-threaded processing further optimizes the real-time performance of modules (and/or sub-modules) of the platform on top of the throughput advantages obtained from implementing the dependency tree” Ferdinand Pgh. [0238]); and and transmitting, by the one or more processors, a notification {. . . . .}(“In some implementations, the platform includes one or more databases to store information relating to financial assets, in which the at least one application module is configured to: receive, from one or more data sources, financial market data, in which the financial market data comprises information about a plurality of financial assets; perform a real-time analysis of at least one of the financial assets based on the marketplace data; and generate information relating to results of the real-time analysis to the financial trading platform. The one or more databases may be further configured to store market information relating to at least one pre-defined event scenario, in which the at least one application module is further configured to: perform a simulation of a financial transaction based on the information relating to the at least one pre-defined event scenario; and generate a report based on a result of the simulation” (Ferdinand Pgh. [0012]) and “In some implementations, the at least one application module is further configured to output one or more reports including the analysis of the at least one financial asset, in which the one or more reports are selected from the group consisting of: a financial asset profitability report, a financial asset performance report, a financial asset risk evaluation report, and combinations thereof” Ferdinand Pgh. [0014]). Ferdinand further teaches a computer-readable medium comprising a set of non-transitory instructions at paragraph [0084]. Ferdinand does not teach; however Srivastava teaches: {. . . . .} output a first application score; and {. . . . .} output a second application score {. . . . .} (“For example, a first approval model of the buyer may be associated with a first down payment percentage and a first interest rate associated with a first range of customer credit worthiness (e.g., a first range of credit score) and a second approval model of the same buyer may be associated with a second down payment percentage and a second interest rate associated with a second range of customer credit worthiness” Srivastava Pgh. [0043]); and {. . . . .} transmitting based on at least the first application score or the second application score {. . . . .} (“A plurality of different approval model byte code packages may be delivered to the seller blockchain server 116, for example different byte code packages corresponding to different approval models that can be concurrently valid or replacement approval models over time (e.g., a second approval model replacing an earlier approval model in the blockchain). A first approval model may be associated with a first range of customer credit scores or a first range of loan amounts. A second approval model may be associated with a second range of customer credit scores or a second range of loan amounts” Srivastava Pgh. [0084]). It would have been obvious to one of ordinary skill of the art to have modified Ferdinand’s teachings to incorporate Srivastava’s teachings, in order to “provide point-of-need (PON) credit and/or financing to customers” Srivastava Pgh. [0034]. With respect to claims 2, 9 and 16: Ferdinand teaches: configuring, by the one or more processors, the first computer model or the second computer model based on model data or the relational database metadata (“As noted above, the storage model 210 is an inert object that can be read from or written to, much like any memory device (either software or hardware) and is the structure that defines the meta-data, the content and the access methods. Meta-data associated with the storage model 210 describes the data layout of the storage model (e.g., how fields are arranged in the storage model and properties of those fields). The meta-data exposes an internal structure for identifying where information is stored and external access methods that allow applications to dynamically change the meta-data information (e.g., by deleting/adding fields or changing fields' properties). For example, with respect to price data for a particular financial product, the storage model may be an array whose entries each represent a different 3-element array: [symbol, price, size]. The meta-data includes information regarding the keys (e.g., symbol in this case), how to find the keys and how to find the values for a given key. If a user or program adds a new field (e.g., CHANGE field indicating a change in price from the last available price) to the array, this requires making structural changes to the array. For example, the number of rows may stay the same, but each row will be expanded to a 4-element array: [symbol, price, size, change]. The meta-data is updated to take the new field for “change” into account. Adding another symbol will make a structural change in the main array as array will need to expand to allow for a new entry. This means that the meta-data needs to be updated to account for the new entry” (Ferdinand Pgh. [0145]) and “The multiple storage model instances can be grouped together using a relational memory management system. The term “relational” is understood in this context to imply that the different memory managers serve as specialized tables and the memory management system becomes a data base management system (DBMS)” Ferdinand Pgh. [0252]). With respect to claims 3, 10 and 17: Ferdinand teaches: wherein the first execution node and the second execution node are computing nodes of a distributed computing cluster, and wherein the first and second computer models are executed in parallel across the distributed computing cluster (“In certain implementations, the financial data analysis platform is configured to perform the real-time analysis by simultaneously executing multiple processing threads accessing a same portion of financial data” (Ferdinand Pgh. [0028]) and “Furthermore, the memory management system eliminates the requirement to evaluate each object, whether or not the values contained in the object are required for a module to perform a calculation. Instead, the automation model 230 of the memory management system 200 triggers operations by the modules or sub-modules (through observer components) when changes occur in the cells of the storage model to which the modules or sub-modules are registered. The memory management system 200 further employs a dependency manager to establish a dependency tree between observer components of the modules, so that the calculators or other components of the modules are triggered in a specific order based on their dependency and output. The dependency tree thus optimizes the execution of operations among the modules and allows the simultaneous parallel execution of processes on different data” (Ferdinand Pgh. [0143]) and “In some implementations, a thread pool exists in which the child observer nodes are notified and executed in parallel. That is, rather than using a single thread, multiple threads may be utilized to allow the nodes to be executed in parallel as they are cleared in the dependency graph. A condition of multi-threaded environments is that a thread must be available for processing the current node. Thus, in certain implementations, multi-threaded processing further optimizes the real-time performance of modules (and/or sub-modules) of the platform on top of the throughput advantages obtained from implementing the dependency tree” Ferdinand Pgh. [0238]). With respect to claims 4, 11 and 18: Ferdinand teaches: wherein the first computer model or the second computer model is selected based on a type of user application data (“Multiple different instances of the storage model may be implemented in the memory managements system. For example, a storage model instance may include a price storage model that contains data relating to financial product pricing, or an order/position storage model that contains data relating to orders/positions of a user. Other storage model instances also may be defined” Ferdinand Pgh. [0149]). With respect to claims 5, 12 and 19: Ferdinand teaches: configuring, by one or more processors, one or more databases in a plurality of logical tables, each comprising at least one logical row and at least one logical column; and storing, by the one or more processors, the user application data into the plurality of logical tables such that the relational database metadata includes entities and relationships represented by the plurality of logical tables, wherein configuring comprises extracting definitions of the first and second models from the entities and relationships (“For the purposes of the following description of the memory management system 200, the models will be referred to in the context of the JAVA programming language. However, other object-oriented programming may be used to implement the memory management system as well. As explained above, a storage model used by the memory management system 200 may hold references to data, in which the references are conceptually stored as a matrix, though other storage models also may be used. For example, the storage model can be seen as a grid with rows representing symbols (e.g., financial products) and columns representing data fields (variable names, such as price or volume). The value of a variable is represented by a software object in this grid. Software objects include a “state” and a related behavior. A software object stores its state infields (also called “members,” “data members,” or “attributes” in some programming languages) and exposes its behavior through methods (functions in some programming languages). The object's fields may include variables or constants. Methods operate on an object's internal state and serve as the primary mechanism for object-to-object communication. Hiding internal state and requiring interaction to be performed through an object's methods is known as data encapsulation—a basis of object-oriented programming” Ferdinand Pgh. [0122]). With respect to claims 6, 13 and 20: Ferdinand teaches: wherein executing the first computer model or the second computer model comprises generating executable code based on model logic defined by the relational database metadata (“For the purposes of the following description of the memory management system 200, the models will be referred to in the context of the JAVA programming language. However, other object-oriented programming may be used to implement the memory management system as well. As explained above, a storage model used by the memory management system 200 may hold references to data, in which the references are conceptually stored as a matrix, though other storage models also may be used. For example, the storage model can be seen as a grid with rows representing symbols (e.g., financial products) and columns representing data fields (variable names, such as price or volume). The value of a variable is represented by a software object in this grid. Software objects include a “state” and a related behavior. A software object stores its state infields (also called “members,” “data members,” or “attributes” in some programming languages) and exposes its behavior through methods (functions in some programming languages). The object's fields may include variables or constants. Methods operate on an object's internal state and serve as the primary mechanism for object-to-object communication. Hiding internal state and requiring interaction to be performed through an object's methods is known as data encapsulation—a basis of object-oriented programming” (Ferdinand Pgh. [0122]) and “The automation model 230 is configured to trigger execution of one or more sets of processes from the application modules or other components upon specified changes in the content referenced by the storage model or when there are changes in the storage model itself The sets of processes can include calculator functions specific to the application modules or specific to other components of the platform 100. The automation model 230 includes different rules and constructs that allow for the definition of content providers” Ferdinand Pgh. [0139]). Claims 7 and 14 is/are rejected under 35 U.S.C. 103 as being unpatentable over Ferdinand (U.S. Pub. No. 2013/0346274), in view of Srivastava (U.S. Pub. No. 2020/0311808) and Zhao (U.S. Pub. No. 2019/0156417). With respect to claims 7 and 14: Ferdinand teaches: generating, by the one or more processors, a composite {. . . . .}, wherein the notification is based on the composite score (“In some implementations, the at least one application module is further configured to output one or more reports including the analysis of the at least one financial asset, in which the one or more reports are selected from the group consisting of: a financial asset profitability report, a financial asset performance report, a financial asset risk evaluation report, and combinations thereof” Ferdinand Pgh. [0014]). Ferdinand does not teach; however Zhao teaches: {. . . . .} a composite score based on the first application score and the second application score {. . . . .} (“Assume that the target data is service data from a specific loan service scenario (credit card), if credit scoring needs to be performed on the target data in the specific loan service scenario (credit card), the serving end can add corresponding credit scores of the several basic variables of the target data in the model and a score of the scenario variable of the target data in the model, and then output a sum of the scores to a user corresponding to the target data as a credit score of the user. The score output in this case is not universal, and therefore is applicable only to the loan service scenario (credit card)” Zhao Pgh. [0093]). It would have been obvious to one of ordinary skill of the art to have modified Ferdinand’s teachings to incorporate Srivastava’s teachings, in order “to produce a score applicable to multiple service scenarios” Zhao Abstract. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to MARLA HUDSON whose telephone number is (571)272-1063. The examiner can normally be reached M-F 9:30 a.m. - 5:30 p.m. ET. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Bennett Sigmond can be reached at (303) 297-4411. 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. /M.H./Examiner, Art Unit 3694 /BENNETT M SIGMOND/Supervisory Patent Examiner, Art Unit 3694
Read full office action

Prosecution Timeline

May 14, 2025
Application Filed
Jun 30, 2026
Non-Final Rejection mailed — §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12561744
DIFFERENTIAL EVOLUTION ALGORITHM TO ALLOCATE RESOURCES
1y 6m to grant Granted Feb 24, 2026
Patent 12530723
Optimization and Prioritization of Account Directed Distributions in an Asset Management System
1y 10m to grant Granted Jan 20, 2026
Patent 12469033
SERVICES FOR ENTITY TRUST CONVEYANCES
3y 0m to grant Granted Nov 11, 2025
Patent 12417504
CONTROL METHOD, CONTROLLER, DATA STRUCTURE, AND POWER TRANSACTION SYSTEM
1y 5m to grant Granted Sep 16, 2025
Patent 12387197
SECURE COMMUNICATIONS BETWEEN FUELING STATION COMPONENTS
2y 6m to grant Granted Aug 12, 2025
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

1-2
Expected OA Rounds
56%
Grant Probability
82%
With Interview (+25.7%)
2y 8m (~1y 6m remaining)
Median Time to Grant
Low
PTA Risk
Based on 117 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