Prosecution Insights
Last updated: April 19, 2026
Application No. 17/963,645

METHODS AND SYSTEMS FOR PROGRAMMING COMPUTER NUMERICAL CONTROL MACHINES

Non-Final OA §102
Filed
Oct 11, 2022
Examiner
JARRETT, RYAN A
Art Unit
2116
Tech Center
2100 — Computer Architecture & Software
Assignee
Ats Corporation
OA Round
3 (Non-Final)
81%
Grant Probability
Favorable
3-4
OA Rounds
2y 10m
To Grant
88%
With Interview

Examiner Intelligence

Grants 81% — above average
81%
Career Allow Rate
695 granted / 861 resolved
+25.7% vs TC avg
Moderate +8% lift
Without
With
+7.7%
Interview Lift
resolved cases with interview
Typical timeline
2y 10m
Avg Prosecution
20 currently pending
Career history
881
Total Applications
across all art units

Statute-Specific Performance

§101
8.2%
-31.8% vs TC avg
§103
29.9%
-10.1% vs TC avg
§102
34.3%
-5.7% vs TC avg
§112
20.0%
-20.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 861 resolved cases

Office Action

§102
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Continued Examination Under 37 CFR 1.114 A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 01/29/26 has been entered. Response to Arguments Applicant's arguments filed 01/29/26 have been fully considered but they are not persuasive. Applicant argues that only the function units 16 control the motion of the tooling components, and not the apps 30. However, Examiner notes that Manner discloses that “the functionality of the runtime environment 14 can be amended or extended with an update or upgrade of the runtime environment 14” and that this extension to the functionality of the function units is accomplished via configurable apps 30 (e.g., [0037]-[0040]). Manner also discloses that these “Apps which come into consideration as apps downloaded onto a production machine or machine tool are preferably such apps which function in one embodiment of the production machine or machine tool as IoT extensions of the production or machine tool” (e.g., [0025]), and, “In the context of Industry 4.0 and the so-called Internet of Things(IoT), a possibility exists for extending a specific function of such a machine with further functions or micro-services by means of so-called apps” (e.g., [0005]). Applicant also argues that Manner does not teach loading the application into the generic application slot and then subsequently configuring the loaded application as recited in claim 15. However, Examiner notes that Manner discloses downloading the app 30 and then checking the configuration of the app 30 to see if it needs to be modified (e.g., [0054]) Claim Rejections - 35 USC § 102 The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. Claims 1-20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Männer US 2020/0142377 (“Männer”). Männer discloses: 1. A computer numerically controlled part-processing device including one or more tooling components and a part-processing control system, the part-processing control system comprising: a storage component (e.g., Fig. 1 #12, [0036]: “memory store 12 included by the machine”) having stored thereon: i) a software backplane (e.g., Fig. 1 #52, [0019]: “The administration unit is a computer program, a computer program module, where relevant also a distributed computer program or computer program module, which is loaded into the memory store of the production machine or machine tool and is executed when the method is carried out by a processing unit of the production machine or machine tool”) arranged to run on an operating system (e.g., [0037]-[0039]: “A so-called runtime environment 14 of the machine 10 is loaded into the memory store 12”) of the part-processing control system and to interface (e.g., Fig. 1 #54, [0020]: “the administration unit can function as an interface between the downloaded app and the production machine or machine tool in that the administration unit makes available defined interfaces for the downloaded app”, [0023]) with one or more configurable applications associated with the one or more tooling components (e.g., Fig. 1 #30, [0005]: “extending a specific function of such a machine with further functions or micro-services by means of so-called apps”, [0042]: “at least one software functionality 34 belong to app 30”); and ii) the one or more configurable applications associated with the one or more tooling components (e.g., Fig. 1 #30, [0005]: “extending a specific function of such a machine with further functions or micro-services by means of so-called apps”, [0042]: “at least one software functionality 34 belong to app 30”), the one or more configurable applications each being arranged in a respective slot of a plurality of generic application slots (e.g., [0049]: “the downloading of an app 30 to a machine 10 is also the downloading of the app 30 from a remote memory store 24 into the memory store 12 of the machine 10”) configured to interface (e.g., Fig. 1 #54, [0053]: “Such interfaces 54 are shown…in Fig. 1 as ‘channels’ through the administrative unit 52”) with the software backplane (e.g., Fig. 1 #52), wherein the one or more configurable applications are loaded onto the storage component (e.g., [0049]) as part of a factory software load (e.g., [0049], does not limit the structure of the claimed device); and a processor (e.g., Fig. 1 #18, [0038]) arranged to receive configuration information and to configure the one or more configurable applications loaded onto the storage component to control motion of the one or more tooling components (e.g., [0011]-[0017], [0025]: “Apps which come into consideration as apps downloaded onto a production machine or machine tool are preferably such apps which function in one embodiment of the production machine or machine tool as IoT extensions of the production or machine tool”, [0005]: “In the context of Industry 4.0 and the so-called Internet of Things(IoT), a possibility exists for extending a specific function of such a machine with further functions or micro-services by means of so-called apps”, [0037]-[0039]: “the functionality of the runtime environment 14 can be amended or extended with an update or upgrade of the runtime environment 14”, [0052]). 2. The computer numerically controlled part-processing device of claim 1, wherein the configuration information includes configuration settings and work instructions (e.g., [0011]-[0017], [0052]). 3. The computer numerically controlled part-processing device of claim 2, wherein the configuration settings relating to a configurable application of the one or more configurable applications include information relating to the type of a tooling component associated with the configurable application (e.g., [0011]-[0017], [0052]). 4. The computer numerically controlled part-processing device of claim 2, wherein the work instructions relating to a configurable application of the one or more configurable applications include one or more of: timing, position, speed, velocity, or acceleration of a tooling component associated with the configurable application (e.g., [0004], [0017], [0037]-[0039], [0052]). 5. The computer numerically controlled part-processing device of claim 1, wherein each the one or more tooling components comprises one or more actuators, and wherein each of the one or more actuators is controlled by a dedicated configurable application (e.g., [0004], [0017], [0037]-[0039], [0052]). 6. The computer numerically controlled part-processing device of claim 1, further comprising a sensor system including one or more sensors that collect data from the environment of the part-processing device, and wherein: the storage component has stored thereon one or more configurable sensor applications associated with the one or more sensors; and the processor is further arranged to configure the one or more configurable sensor applications associated with the one or more sensors to control the one or more sensors (e.g., [0004], [0017], [0037]-[0039], [0052]). 7. The computer numerically controlled part-processing device of claim 1, further comprising a motion system including one or more motion actuators that facilitate motion of the one or more tooling components of the part-processing device, and wherein: the storage component has stored thereon one or more configurable motion actuator applications associated with the one or more motion actuators; and the processor is further arranged to configure the one or more configurable motion actuator applications associated with the one or more motion actuators to control the one or more motion actuators (e.g., [0004], [0017], [0037]-[0039], [0052]). 8. The computer numerically controlled part-processing device of claim 1, wherein the processor is further configured to receive configuration information from an application configuration tool (e.g., [0055]: “The positive list 42 or the positive list 42 and the negative list 44 is or are generated on the basis of the interfaces 54 made available by the administration unit 52, either automatically by the administration unit 52 or through a human user, for example by the person who installs the administration unit 52 on the respective machine 10 and thus possesses knowledge both about the functional scope of the administration unit 52 as well as about the functional scope of the machine 10 and about its runtime environment 14 and over devices and resources therein”). 9. The computer numerically controlled part-processing device of claim 8, wherein the configuration tool comprises a software program comprising a user interface that allows a user to enter configuration information and visualize how the configuration information will affect the operation of the part-processing device (e.g., [0055]: “The positive list 42 or the positive list 42 and the negative list 44 is or are generated on the basis of the interfaces 54 made available by the administration unit 52, either automatically by the administration unit 52 or through a human user, for example by the person who installs the administration unit 52 on the respective machine 10 and thus possesses knowledge both about the functional scope of the administration unit 52 as well as about the functional scope of the machine 10 and about its runtime environment 14 and over devices and resources therein”). 10. The computer numerically controlled part-processing device of claim 1, wherein the software backplane is programmed with routing of work and configuration information (e.g., [0053]-[0055]). 11. The computer numerically controlled part-processing device of claim 10, wherein the routing of work and configuration information includes the software connections, constructs, and definitions relating to how software elements interact with each other (e.g., [0053]-[0055]). 12. A method of programming a part-processing control system of a computer numerically controlled part-processing device including one or more tooling components, the method comprising: loading a software backplane (e.g., Fig. 1 #52, [0019]: “The administration unit is a computer program, a computer program module, where relevant also a distributed computer program or computer program module, which is loaded into the memory store of the production machine or machine tool and is executed when the method is carried out by a processing unit of the production machine or machine tool”) onto a storage component of the part-processing control system (e.g., Fig. 1 #12, [0036]: “memory store 12 included by the machine”), the software backplane being arranged to run on an operating system (e.g., [0037]-[0039]: “A so-called runtime environment 14 of the machine 10 is loaded into the memory store 12”) of the part-processing control system and to interface (e.g., Fig. 1 #54, [0020]: “the administration unit can function as an interface between the downloaded app and the production machine or machine tool in that the administration unit makes available defined interfaces for the downloaded app”, [0023]) with one or more configurable applications associated with the one or more tooling components (e.g., Fig. 1 #30, [0005]: “extending a specific function of such a machine with further functions or micro-services by means of so-called apps”, [0042]: “at least one software functionality 34 belong to app 30”); loading the one or more configurable applications associated with the one or more tooling components (e.g., Fig. 1 #30, [0005]: “extending a specific function of such a machine with further functions or micro-services by means of so-called apps”, [0042]: “at least one software functionality 34 belong to app 30”) onto a storage component of the part-processing control system (e.g., [0040]: “downloading means a data transfer from the Cloud 20 and the app store 22 there into the memory store of the machine 10”), the one or more configurable applications each being arranged in a respective slot of a plurality of generic application slots (e.g., [0049]: “the downloading of an app 30 to a machine 10 is also the downloading of the app 30 from a remote memory store 24 into the memory store 12 of the machine 10”) configured to interface (e.g., Fig. 1 #54, [0053]: “Such interfaces 54 are shown…in Fig. 1 as ‘channels’ through the administrative unit 52”) with the software backplane (e.g., Fig. 1 #52); and subsequent to loading to the one or more configurable applications, configuring the one or more configurable applications loaded onto the storage component of the part-processing control system (e.g., [0054]: “One function of the administration unit is that it automatically prevents immediate starting of a downloaded app and the containers included thereby. A starting of the app and containers included thereby only takes place under the control of the administration unit and only once it has checked the app configuration of the app and—if necessary—modified it”), to control motion of the one or more tooling components (e.g., [0011]-[0017], [0025]: “Apps which come into consideration as apps downloaded onto a production machine or machine tool are preferably such apps which function in one embodiment of the production machine or machine tool as IoT extensions of the production or machine tool”, [0005]: “In the context of Industry 4.0 and the so-called Internet of Things(IoT), a possibility exists for extending a specific function of such a machine with further functions or micro-services by means of so-called apps”, [0037]-[0039]: “the functionality of the runtime environment 14 can be amended or extended with an update or upgrade of the runtime environment 14”, [0052]). 13. The method of claim 12, wherein the computer numerically controlled part-processing device further comprises a sensor system including one or more sensors that collect data from the environment of the part-processing device, and wherein the method further comprises: loading one or more configurable applications associated with the one or more sensors, the one or more configurable sensor applications being arranged to interface with the software backplane; and configuring the one or more configurable sensor applications to control the one or more sensors (e.g., [0004], [0017], [0037]-[0039], [0052]). 14. The method of claim 12, wherein the computer numerically controlled part-processing device further comprises a motion system including one or more motion actuators that facilitate motion of the one or more tooling components of the part-processing device, and wherein the method further includes: loading one or more configurable motion actuator applications associated with the one or more motion actuators, the one or more configurable motion actuator applications being arranged to interface with the software backplane; and configuring the one or more configurable motion actuator applications to control the one or more sensors (e.g., [0004], [0017], [0037]-[0039], [0052]). 15. A system for programming a part-processing control system of a computer numerically controlled part-processing device including one or more tooling components, the part-processing control system arranged to control the one or more tooling components, the system comprising: a first computing device (e.g., [0055]: “The positive list 42 or the positive list 42 and the negative list 44 is or are generated on the basis of the interfaces 54 made available by the administration unit 52, either automatically by the administration unit 52 or through a human user, for example by the person who installs the administration unit 52 on the respective machine 10 and thus possesses knowledge both about the functional scope of the administration unit 52 as well as about the functional scope of the machine 10 and about its runtime environment 14 and over devices and resources therein”) in data communication with the part-processing control system, the first computing device including a first processor and a first non-transitory computer-readable medium storing instructions that, when executed by the first processor cause the first computing device to: load a software backplane (e.g., Fig. 1 #52, [0019]: “The administration unit is a computer program, a computer program module, where relevant also a distributed computer program or computer program module, which is loaded into the memory store of the production machine or machine tool and is executed when the method is carried out by a processing unit of the production machine or machine tool”) onto a storage component of the part-processing control system (e.g., Fig. 1 #12, [0036]: “memory store 12 included by the machine”), the software backplane being arranged to run on an operating system (e.g., [0037]-[0039]: “A so-called runtime environment 14 of the machine 10 is loaded into the memory store 12”) of the part-processing control system and to interface (e.g., Fig. 1 #54, [0020]: “the administration unit can function as an interface between the downloaded app and the production machine or machine tool in that the administration unit makes available defined interfaces for the downloaded app”, [0023]) with one or more configurable applications associated with the one or more tooling components (e.g., Fig. 1 #30, [0005]: “extending a specific function of such a machine with further functions or micro-services by means of so-called apps”, [0042]: “at least one software functionality 34 belong to app 30”); and load the one or more configurable applications associated with the one or more tooling components (e.g., Fig. 1 #30, [0005]: “extending a specific function of such a machine with further functions or micro-services by means of so-called apps”, [0042]: “at least one software functionality 34 belong to app 30”) onto a storage component of the part-processing control system (e.g., [0040]: “downloading means a data transfer from the Cloud 20 and the app store 22 there into the memory store of the machine 10”), the one or more configurable applications each being arranged in a respective slot of a plurality of generic application slots (e.g., [0049]: “the downloading of an app 30 to a machine 10 is also the downloading of the app 30 from a remote memory store 24 into the memory store 12 of the machine 10”) configured to interface (e.g., Fig. 1 #54, [0053]: “Such interfaces 54 are shown…in Fig. 1 as ‘channels’ through the administrative unit 52”) with the software backplane (e.g., Fig. 1 #52); and a second computing device (e.g., Fig. 1 #20) in data communication with the control system, the second computing device including a second processor and a second non-transitory computer-readable medium storing instructions that, when executed by the second processor cause the second computing device to: load configuration information onto the storage component of the part-processing control system to configure the one or more configurable applications to control the one or more tooling components (e.g., [0011]-[0017], [0025]: “Apps which come into consideration as apps downloaded onto a production machine or machine tool are preferably such apps which function in one embodiment of the production machine or machine tool as IoT extensions of the production or machine tool”, [0005]: “In the context of Industry 4.0 and the so-called Internet of Things(IoT), a possibility exists for extending a specific function of such a machine with further functions or micro-services by means of so-called apps”, [0037]-[0039]: “the functionality of the runtime environment 14 can be amended or extended with an update or upgrade of the runtime environment 14”, [0052]). 16. The system of claim 15, wherein the configuration information includes configuration settings and work instructions (e.g., [0011]-[0017], [0052]). 17. The system of claim 16, wherein the configuration settings relating to a configurable application of the one or more configurable applications include information relating to the type of a tooling component associated with the configurable application (e.g., [0011]-[0017], [0052]). 18. The system of claim 16, wherein the work instructions relating to a configurable application of the one or more configurable applications include one or more of: timing, position, speed, velocity, or acceleration of a tooling component associated with the configurable application (e.g., [0017], [0037]-[0039], [0052]). 19. The system of claim 15, wherein the instructions, when executed by the second processor further cause second computing device to implement a user interface that allows a user to enter configuration information and visualize how the configuration information will affect the operation of the part-processing device (e.g., [0055]: “The positive list 42 or the positive list 42 and the negative list 44 is or are generated on the basis of the interfaces 54 made available by the administration unit 52, either automatically by the administration unit 52 or through a human user, for example by the person who installs the administration unit 52 on the respective machine 10 and thus possesses knowledge both about the functional scope of the administration unit 52 as well as about the functional scope of the machine 10 and about its runtime environment 14 and over devices and resources therein”). 20. The system of claims 15, wherein the software backplane is programmed with routing of work and configuration information (e.g., [0053]-[0055]). Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to RYAN A JARRETT whose telephone number is (571)272-3742. The examiner can normally be reached M-F 9:00-5:30. 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, Kenneth Lo can be reached at 571-272-9774. 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. /RYAN A JARRETT/Primary Examiner, Art Unit 2116 03/02/26
Read full office action

Prosecution Timeline

Oct 11, 2022
Application Filed
Jan 07, 2025
Non-Final Rejection — §102
Jun 13, 2025
Response Filed
Jul 26, 2025
Final Rejection — §102
Jan 13, 2026
Applicant Interview (Telephonic)
Jan 13, 2026
Examiner Interview Summary
Jan 29, 2026
Request for Continued Examination
Feb 08, 2026
Response after Non-Final Action
Mar 03, 2026
Non-Final Rejection — §102 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12596350
Linear Actuator Buckling Force Control
2y 5m to grant Granted Apr 07, 2026
Patent 12596356
METHOD AND SYSTEM FOR LOCALIZATION OF FAULTS IN AN INDUSTRIAL MANUFACTURING PLANT
2y 5m to grant Granted Apr 07, 2026
Patent 12593646
Automated Fault Detection in Microfabrication
2y 5m to grant Granted Mar 31, 2026
Patent 12591218
INDUSTRIAL DIGITAL TWIN MODEL ENVIRONMENT
2y 5m to grant Granted Mar 31, 2026
Patent 12591219
INDUSTRIAL INTERNET OF THINGS SYSTEMS FOR ABNORMAL ANALYSIS, METHODS, AND STORAGE MEDIUM THEREOF
2y 5m to grant Granted Mar 31, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

3-4
Expected OA Rounds
81%
Grant Probability
88%
With Interview (+7.7%)
2y 10m
Median Time to Grant
High
PTA Risk
Based on 861 resolved cases by this examiner. Grant probability derived from career allow 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