Prosecution Insights
Last updated: July 17, 2026
Application No. 18/774,509

METHOD AND SYSTEM FOR AUTOMATED PRODUCT MIGRATION

Non-Final OA §101§103§112
Filed
Jul 16, 2024
Priority
May 31, 2024 — IN 202411042552
Examiner
LUU, CUONG V
Art Unit
Tech Center
Assignee
JPMorgan Chase Bank, N.A.
OA Round
1 (Non-Final)
72%
Grant Probability
Favorable
1-2
OA Rounds
1y 6m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 72% — above average
72%
Career Allowance Rate
693 granted / 967 resolved
+11.7% vs TC avg
Strong +37% interview lift
Without
With
+36.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 6m
Avg Prosecution
13 currently pending
Career history
985
Total Applications
across all art units

Statute-Specific Performance

§101
7.4%
-32.6% vs TC avg
§103
82.3%
+42.3% vs TC avg
§102
6.3%
-33.7% vs TC avg
§112
3.8%
-36.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 967 resolved cases

Office Action

§101 §103 §112
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 . DETAILED ACTION An effective filing date of 05/31/2024 is acknowledge. Claims 1 – 20 are pending. Claim Objections Claims 1 – 20 are objected to because of the following informalities: Claim 1 Lines 16-17, “the identified at least one project” lacks proper antecedent basis. Please note that “identifying ...” in lines 6-7 of the claim is for “at least one project of the first version”. Claim 6 First occurrence of acronym (“API”) should be spelled out as shown in claim 4. Claims 2 – 5 and 7– 8 These claims are dependent claims of claim 1 either directly or indirectly; thus, they inherit issues of claim 1. Claim 9 Line 19, “the identified at least one project” lacks proper antecedent basis. Please note that “identify ...” in lines 10-11 of the claim is for “at least one project of the first version”. Claim 14 First occurrence of acronym (“API”) should be spelled out as shown in claim 12. Claims 10 – 13 These claims are dependent claims of claim 9 either directly or indirectly; thus, they inherit issues of claim 9. Claim 15 Amend lines 4 – 16 as follow: --perform at least one of identifying the at least one project of the first version of the computing product to be migrated, deploy the first intermediate instance for the first version of the computing product, copy the at least one first data file of the identified at least one project from [[a]] the source instance to the first intermediate instance, import the identified at least one project from the at least one first data file into the first intermediate instance, import the first intermediate instance to [[a]] the second intermediate instance for the second version of the computing product, copy the at least one second data file of the identified at least one project of the second version of the computing product from the second intermediate instance to [[a]] the destination instance for the second version of the computing product, and import the identified at least one Claim 16 The claim is dependent claim of claim 15; thus, it inherits issues of claim 15. Claim 17 Lines 1 – 4 should be amended as follow for claim clarity: --A non-transitory computer readable storage medium storing executable code Line 15; “the identified at least one project” lacks proper antecedent basis. Please note that “identify ...” in lines 6-7 of the claim is for “at least one project of the first version”. Claims 18 – 20 These claims are dependent claims of claim 17 either directly or indirectly; thus, they inherit issues of claim 17. Appropriate correction is required. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 5 and 13 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. Claim 5, line 1 “the intermediate instance” is unclear whether it refers to “a first intermediate instance” in line 8 or “a second intermediate instance” in lines 14-15 of claim 1. For the examination purposes, “the intermediate instance” in claim 5 will be treated as “the second intermediate instance”. Claim 13 has the same issue. 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 – 20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more. Claim 1 Step 1 The claim is statutory because it is directed to a method. Step 2A, prong 1 The claim recites limitations “identifying … based on the at least one input, at least one project of the first version of the computing product to be migrated; modifying … the first intermediate instance to a second intermediate instance for the second version of the computing product.” The limitation “identifying” is directed to a mental process as they rely on human observation and evaluation to identify a project based on the observed input. And, the limitation “modifying” is also directed to the mental process as human with an aid of paper and pen is able to modify instance to create a second instance. Thus, these limitations do not integrate the judicial exception into a practical application. Step 2A, prong 2 The claim further recites additional element “at least on processor” and additional limitations: “receiving … at least one input relating to projects of the computing product; deploying … a first intermediate instance for the first version of the computing product; copying … at least one first data file of the identified at least one project from a source instance to the first intermediate instance; importing … the identified at least one project from the at least one first data file into the first intermediate instance; copying … at least one second data file of the identified at least one project of the second version of the computing product from the second intermediate instance to a destination instance for the second version of the computing product; and importing … the at least one identified project of the second version of the computing product from the at least one second data file into the destination instance.” The additional limitations merely receive input, deploy an instance, and copy and import data. These limitations constituting insignificant extra solution activities. The additional element is recited as high level of generality and used as a tool to perform the limitations. Thus, the additional element and additional limitations are not indicative of an integration into a practical application. Steps 2B The claim as a whole is not amounted to significantly more than the judicial exception. Claim 7 is directed to an abstract idea. Therefore, claim 7 is not patent eligible. Analyses of claims 2 – 8 as follow: Claim 2 The claim recites “the identifying of the at least one project is performed by applying an artificial intelligence (AI) model that generates a phased migration plan.” The limitation utilizes the AI to perform “the identifying”. Thus, the limitation recites the AI as a tool to perform the limitations. Thus, the limitation is not indicative of an integration into a practical application. Claim 3 The claim recites “the AI model uses at least one from among a project identifier, a builder node, a programming language version, a requested line of business, a number of impacted users, a business impact, and a production impact as the at least one input for the identifying of the at least one project.” The limitation states AI to use elements for “the identifying”. Thus, the limitation recites the AI as a tool to perform the limitations. Thus, the limitation is not indicative of an integration into a practical application. Claim 4 The claim recites “exporting … the identified at least one project to an export directory of the source instance using an Application Programming Interface (API), and wherein a plurality of projects from the identified at least one project are grouped and processed together.” The limitation utilizes API to export the project, wherein the “export” is just an insignificant extra-solution activity and the API is just a tool to perform the “export”. Thus, the limitation recites the AI as a tool to perform the limitations. Thus, the limitation is not indicative of an integration into a practical application. Claim 5 The claim recites “the intermediate instance is created using an Infrastructure as Code (IaC) based on a size of the at least one project.” The limitation uses IaC to create the intermediate instance. The IaC is just a tool to perform limitations. The limitation is not indicative of an integration into a practical application. Claim 6 The claim recites “prompting a user to provide input using an API for the modifying of the first intermediate instance.” The limitation prompt user for input by the API. The “prompting” is an insignificant extra-solution activity and is not indicative of an integration into a practical application. Claim 7 The claim recites limitations “comparing … metric data between the source instance and the destination instance; performing, … when there is a difference in the metric data between the source instance and the destination instance, each operation of claim 1; repeating … the comparing and the performing until there is no difference in the metric data between the source instance and the destination instance; and transmitting … a notification that the first version of the computing product has been successfully migrated to the second version of the computing product.” The steps “comparing,” “performing” and “repeating” are directed to a mental process as they rely on human observing and evaluating difference of metric data to decide whether to repeat steps in claim 1. The step “transmitting” merely notify a successful migration. It is just an insignificant extra-solution activity. The limitations, as drafted, under its broadest reasonable interpretation, covers performance of the limitation in the mind, and it is not integrated into a practical application because they do not impose any meaningful limits on practicing the abstract idea. So, it does not include any additional element that is sufficient to amount to significantly more than the judicial exception. Claim 8 The claim recites “deleting, … following successful migration of the identified at least one project from the first version to the second version, the at least one first data file and the at least one second data file.” The limitation merely deletes the data file. It is an insignificant extra-solution activity and is not indicative of an integration into a practical application. Claims 9 and 17 Step 1 Claim 9 is statutory because it is directed to a system Claim 17 is statutory because it is directed to a product. Step 2A, prong 1 Claims 9 and 17 are recited in the same manner as claim 1; therefore, they are also rejected for the same reasons. Step 2A, prong 2 Claims 9 and 17 further recite “a processor, a memory, a communication interface, and a non-transitory computer readable storage medium.” These are a tool recited as high level of generality and used as a tool to perform the limitations. Thus, the additional element and additional limitations are not indicative of an integration into a practical application. Steps 2B The claim as a whole is not amounted to significantly more than the judicial exception. Claims 9 and 17 are directed to an abstract idea and are not patent eligible. Claims 10 – 16 and 18 – 20 Claims 10 – 12 and 18 – 20 recite limitations in the same manner as claims 2 – 4 respectively; therefore, they are also rejected for the same reasons. Claims 13 – 16 recite limitations in the same manner as claims 5 – 8 respectively; therefore, they are also rejected for the same reasons. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1 – 6, 9 – 14, and 17 – 20 are rejected under 35 U.S.C. 103 as being unpatentable over Benassi (Pub. No. US 2023/0153076 A1) in view of Cardenas et al. (Pub. No. US 2022/0300340 A1; hereinafter Cardenas.) Claim 1 Benassi teaches a method for migrating a first version of a computing product to a second version of the computing product in a first computing environment (Benassi; [0019] … A lifecycle call may refer to a call pertaining to standing up, tearing down, and/or updating (migrate first version to second version) an instance of an object …; [0021] The OOIACP may use a run command to: establish a class hierarchy of objects based on the received request, each class and subclass within the class hierarchy having one or more predefined class behaviors …), the method being implemented by at least one processor, the method comprising: receiving, by the at least one processor, at least one input relating to projects of the computing product (Benassi; [0019] … A lifecycle call may refer to a call pertaining to standing up, tearing down, and/or updating (migrate first version to second version) an instance of an object (instance == project, product) …; [0185] In the non-limiting embodiment of FIG. 8A, method 800, at block 802, may comprise receiving, by a computing system and from a requesting device, a request to perform a function. In some instances, the computing system may include, without limitation, an object-oriented infrastructure-as-code platform (“OOIACP”), or the like. In some cases, the request to perform the function may include, but is not limited to, a request to process one or more lifecycle events, or the like. [0186] At block 804, method 800 may comprise, when the request to process the one or more lifecycle events is received, performing, by the computing system, a first set of tasks comprising: selecting and scaling across a first plurality of OOIACP instances (project, product, first version) for processing the one or more lifecycle events (block 806); and causing the selected first plurality of OOIACP instances to process the one or more lifecycle events (block 808) … Also see Figs. 5A – 5C and related texts, a process for implementing OOIACP.); identifying, by the at least one processor based on the at least one input, at least one project of the first version of the computing product to be migrated (Benassi; [0186] At block 804, method 800 may comprise, when the request to process the one or more lifecycle events is received, performing, by the computing system, a first set of tasks comprising: selecting and scaling across a first plurality of OOIACP instances (project, product, first version) for processing the one or more lifecycle events (block 806); and causing the selected first plurality of OOIACP instances to process the one or more lifecycle events (block 808) … Also see Figs. 5A – 5C and related texts, a process for implementing OOIACP.); deploying, by the at least one processor, a first intermediate instance for the first version of the computing product (Benassi; Fig. 8A; [0186] At block 804, method 800 may comprise, when the request to process the one or more lifecycle events is received, performing, by the computing system, a first set of tasks comprising: selecting and scaling across a first plurality of OOIACP instances for processing the one or more lifecycle events (block 806); and causing the selected first plurality of OOIACP instances to process the one or more lifecycle events (block 808) …); copying, by the at least one processor, at least one first data file of the identified at least one project from a source instance to the first intermediate instance (Benassi; Figs. 8A & 8E; [0195] In some embodiments, the request to perform the function may comprise a representational state transfer (“REST”) call, the REST call including a context_in file (data file) containing one or more custom environment variables. In such cases, the method 800 (following circular marker denoted, “A,” in FIG. 8A) may further comprise: receiving, at each first OOIACP instance, the request via an Internet of Components (“IoC”) factory application programming interface (“API”) (block 822); storing, using an IoC factory command line interface (“CLI”) script at each first OOIACP instance, the context_in file in disk storage (block 824); sourcing, using the IoC factory CLI script, the context_in file within a customized environment within the first OOIACP instance (block 826) …); importing, by the at least one processor, the identified at least one project into the first intermediate instance (Benassi; Figs. 8A & 8E; [0195] In some embodiments, the request to perform the function may comprise a representational state transfer (“REST”) call, the REST call including a context_in file (data file) containing one or more custom environment variables. In such cases, the method 800 (following circular marker denoted, “A,” in FIG. 8A) may further comprise: receiving, at each first OOIACP instance, the request via an Internet of Components (“IoC”) factory application programming interface (“API”) (block 822); storing, using an IoC factory command line interface (“CLI”) script at each first OOIACP instance, the context_in file in disk storage (block 824); sourcing, using the IoC factory CLI script, the context_in file within a customized environment within the first OOIACP instance (block 826) …); modifying, by the at least one processor, the first intermediate instance to a second intermediate instance for the second version of the computing product (Benassi; [0019] … A lifecycle call may refer to a call pertaining to standing up, tearing down, and/or updating (migrate first version to second version) an instance of an object …; [0021] The OOIACP may use a run command to: establish a class hierarchy of objects based on the received request, each class and subclass within the class hierarchy having one or more predefined class behaviors …; Figs. 5A & 5C; [0161] In the non-limiting embodiment of FIG. 5A, method 500, at block 505, may comprise receiving, with a computing system and from a requesting device, a request to perform a function … Alternatively, or additionally, the request to perform the function may comprise one of an operational call or a lifecycle call … [0169] At optional block 555 in FIG. 5C (following the circular marker denoted, “A”), method 500 might comprise receiving, with the OOIACP, a request to update or replace at least one behavior in at least one class among the identified one or more classes within the class hierarchy associated with the requested function. Method 500, at block 560, may comprise updating or replacing, by the OOIACP, the at least one behavior in the at least one class with an updated or replacement behavior, the updated or replacement behavior comprising an updated or replacement set of procedures. Method 500 may further comprise, at block 565, using, by the OOIACP, the run command to repeat performance of the requested function, by initiating the updated or replacement set of procedures in each of the at least one class and initiating the set of procedures in each of the other identified one or more classes); copying, by the at least one processor, at least one second data file of the identified at least one project of the second version of the computing product from the second intermediate instance to a destination instance for the second version of the computing product (Benassi; Figs. 8A & 8E; [0195] In some embodiments, the request to perform the function may comprise a representational state transfer (“REST”) call, the REST call including a context_in file (data file) containing one or more custom environment variables. In such cases, the method 800 (following circular marker denoted, “A,” in FIG. 8A) may further comprise: receiving, at each first OOIACP instance, the request via an Internet of Components (“IoC”) factory application programming interface (“API”) (block 822); storing, using an IoC factory command line interface (“CLI”) script at each first OOIACP instance, the context_in file in disk storage (block 824); sourcing, using the IoC factory CLI script, the context_in file within a customized environment within the first OOIACP instance (block 826) …); and importing, by the at least one processor, the at least one identified project of the second version of the computing product the destination instance (Benassi; Figs. 8A & 8E; [0195] In some embodiments, the request to perform the function may comprise a representational state transfer (“REST”) call, the REST call including a context_in file (data file) containing one or more custom environment variables. In such cases, the method 800 (following circular marker denoted, “A,” in FIG. 8A) may further comprise: receiving, at each first OOIACP instance, the request via an Internet of Components (“IoC”) factory application programming interface (“API”) (block 822); storing, using an IoC factory command line interface (“CLI”) script at each first OOIACP instance, the context_in file in disk storage (block 824); sourcing, using the IoC factory CLI script, the context_in file within a customized environment within the first OOIACP instance (block 826) …) But Benassi does not explicitly teach importing, by the at least one processor, the identified at least one project from the at least one first data file into the first intermediate instance. However, Cardenas teaches importing, by the at least one processor, the identified at least one project from the at least one data file into the intermediate instance (Cardenas; [0017 – 0018] … various user interfaces may be provided that are configured to receive organization-specific and/or project-specific configuration variables, such as an organization name, project name, network constructs, administrator names, and/or deployment environment type (e.g., research, test, or production) … The environment configuration interface 106 may include any interface through which the cloud environment generator 104 receives one or more cloud environment configuration data (e.g., configuration variables) from an operator of the organization … Examples of configuration variables may include, but are not limited to, account names and/or alias associated with the environment, the organizations and/or projects associated with the environment … [0038] FIG. 5 is a flow diagram illustrating a process 500 of creating and provisioning a cloud environment based on based on configuration variable data provided via an interface … [0043 – 0044] At operation 510, the cloud environment generator 104 may determine whether or not to deploy the requested cloud environment (intermediate instance) into the cloud. As shown in this example, in some instances creating and deploying the cloud environment may correspond to a merge of the IaC configuration files (data file) in the repository, into a main branch associated with the project or organization …; IaC configuration file includes project name and environment variables within project; if the operator elects to submit and/or merge the updated configuration files (e.g., variabilized templates) (510:Yes), then at operation 512 the cloud environment generator 104 may initiate a CI/CD pipeline, and at operation 514 the cloud environment generator 104 may use the CI/CD pipeline to execute the files created within the repository. Based on the execution of the files within the repository (e.g., IaC configuration files based on the variabilized templates), the cloud provisioning system 110 causes provisioning instructions to be transmitted to one or more cloud service providers in operation 516, deploying the cloud environment (intermediate instance) …); cloud environment is created based on provisioning instructions. The Provisioning instructions are generated based on configuration files comprising project name and environment variables within project [Wingdings font/0xE0] project is imported into cloud environment (intermediate instance.) Benassi and Cardenas are in the same analogous art as they are in the same field of endeavor, provisioning an environment using infrastructure as code. Therefore, it would have been obvious to a person of ordinary skill, in the art before the effective filing date of the claimed invention, to incorporate Cardenas into Benassi to explicitly include project information in context_in file to provision an environment based on the project information in the context_in file to improve automation of provisioning the environment as suggested by Cardenas ([0060].) Claim 2 Benassi also teaches the identifying of the at least one project is performed by applying an artificial intelligence (AI) model that generates a phased migration plan (Benassi; [0061] … The method may also comprise, when the request to process one or more lifecycle events is received, performing, by the computing system using at least one of a subject-based multicast (“SBM”) system, a distributed business process management system (“DBPMS”) engine platform, or an artificial intelligence for information technology operations (“AIOps”) system, the following: selecting and scaling across a first plurality of OOIACP instances for processing the one or more lifecycle events; and causing the selected first plurality of OOIACP instances to process the one or more lifecycle events, each first OOIACP instance among the first plurality of OOIACP instances comprising an infrastructure-as-code (“IAC”) command line that instantiates component infrastructure among a plurality of component infrastructure to process at least one lifecycle event among the one or more lifecycle events concurrently and independently of other OOIACP instances among the first plurality of OOIACP instances …) Claim 3 Benassi teaches the AI model (Benassi; [0061] … The method may also comprise, when the request to process one or more lifecycle events is received, performing, by the computing system using at least one of a subject-based multicast (“SBM”) system, a distributed business process management system (“DBPMS”) engine platform, or an artificial intelligence for information technology operations (“AIOps”) system …) Cardenas teaches the model uses at least one from among a project identifier, Claim 4 Benassi teaches wherein a plurality of projects from the identified at least one project are grouped and processed together (Benassi; [0023] … selecting and scaling across a first plurality of OOIACP instances for processing the one or more lifecycle events…) Cardenas teaches exporting, by the at least one processor prior to the deploying of the first intermediate instance, the identified at least one project to an export directory of the source instance using an Application Programming Interface (API), Claim 5 Benassi also teaches the intermediate instance is created using an Infrastructure as Code (IaC) based on a size of the at least one project (Benassi; [0018] Various embodiments provide tools and techniques for implementing infrastructure-as-code (“IAC”) functionalities, and, more particularly, to methods, systems, and apparatuses for implementing object-oriented infrastructure-as-code platform (“OOIACP”) and its functionalities. [0023] … selecting and scaling across a first plurality of OOIACP instances for processing the one or more lifecycle events; and causing the selected first plurality of OOIACP instances to process the one or more lifecycle events …) Claim 6 Benassi also teaches prompting a user to provide input using an API for the modifying of the first intermediate instance (Benassi; [0019] In various embodiments, a computing system may receive, from a requesting device associated with a user, a request to perform a web service function. In some cases, the request to perform the web service function may include, without limitation, one of an operational call or a lifecycle call … A lifecycle call may refer to a call pertaining to standing up, tearing down, and/or updating an instance of an object … [0040] In some embodiments, the request to perform the function may comprise a request to perform a web service function. Alternatively, or additionally, the request to perform the function may comprise one of an operational call or a lifecycle call. Alternatively, or additionally, the request to perform the function may comprise one of an application programming interface (“API”) call or a command line interface (“CLI”) call.) Claim 9 This is a computing apparatus version of the method version in claim 1; therefore, it is rejected for the same reasons. Furthermore, Benassi also teaches a computing apparatus comprising a processor; a memory; and a communication interface coupled to each of the processor and the memory (Benassi; Fig. 9; system 900 comprising processor(s) 910, memory 935, and communication 930.) Claim 10 This limitation is already discussed in claim 2; therefore, it is rejected for the same reasons. Claim 11 This limitation is already discussed in claim 3; therefore, it is rejected for the same reasons. Claim 12 This limitation is already discussed in claim 4; therefore, it is rejected for the same reasons. Claim 13 This limitation is already discussed in claim 5; therefore, it is rejected for the same reasons. Claim 14 This limitation is already discussed in claim 6; therefore, it is rejected for the same reasons. Claim 17 This is a non-transitory computer readable storage medium version of the method version in claim 1; therefore, it is rejected for the same reasons. Furthermore, Benassi also teaches a non-transitory computer readable storage medium storing instructions (Benassi; [0205] A set of these instructions and/or code might be encoded and/or stored on a non-transitory computer readable storage medium.) Claim 18 This limitation is already discussed in claim 2; therefore, it is rejected for the same reasons. Claim 19 This limitation is already discussed in claim 3; therefore, it is rejected for the same reasons. Claim 20 This limitation is already discussed in claim 4; therefore, it is rejected for the same reasons. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to CUONG V LUU whose telephone number is (571)270-1733. The examiner can normally be reached 6:30 AM - 3:00 PM. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Hyung S. Sough can be reached at (571) 272-6799. 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. /CUONG V LUU/Examiner, Art Unit 2192 /S. Sough/SPE, Art Unit 2192
Read full office action

Prosecution Timeline

Jul 16, 2024
Application Filed
Jun 10, 2026
Non-Final Rejection mailed — §101, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12663975
SOFTWARE WIDGET INSTALLATION ON A CLIENT DEVICE
2y 5m to grant Granted Jun 23, 2026
Patent 12664079
Using Hierarchical Models and Artificial Intelligence (AI) to Improve Recognition of Graphical Objects
2y 6m to grant Granted Jun 23, 2026
Patent 12653648
GAUGE FOR VERIFICATION OF 3-D IMAGES
5y 12m to grant Granted Jun 16, 2026
Patent 12646036
IMPACT ANALYSIS OF INFRASTRUCTURE AS CODE WITH RECOMMENDATIONS AND JUSTIFICATIONS
2y 6m to grant Granted Jun 02, 2026
Patent 12639491
METHODS AND SYSTEMS FOR ASSESSING COMPLIANCE OF AIRCRAFT ENGINES
5y 2m to grant Granted May 26, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

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

Prosecution Projections

1-2
Expected OA Rounds
72%
Grant Probability
99%
With Interview (+36.9%)
3y 6m (~1y 6m remaining)
Median Time to Grant
Low
PTA Risk
Based on 967 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