Prosecution Insights
Last updated: April 19, 2026
Application No. 17/991,934

SYSTEM AND METHOD FOR MANAGING AUTOMATION SYSTEMS WITH SYNCHRONOUS ELEMENTS

Non-Final OA §103
Filed
Nov 22, 2022
Examiner
SKRZYCKI, JONATHAN MICHAEL
Art Unit
2116
Tech Center
2100 — Computer Architecture & Software
Assignee
Ats Automation Tooling Systems Inc.
OA Round
3 (Non-Final)
66%
Grant Probability
Favorable
3-4
OA Rounds
3y 0m
To Grant
99%
With Interview

Examiner Intelligence

Grants 66% — above average
66%
Career Allow Rate
146 granted / 221 resolved
+11.1% vs TC avg
Strong +33% interview lift
Without
With
+33.1%
Interview Lift
resolved cases with interview
Typical timeline
3y 0m
Avg Prosecution
18 currently pending
Career history
239
Total Applications
across all art units

Statute-Specific Performance

§101
11.4%
-28.6% vs TC avg
§103
42.2%
+2.2% vs TC avg
§102
15.1%
-24.9% vs TC avg
§112
27.3%
-12.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 221 resolved cases

Office Action

§103
DETAILED ACTION Claims 1-13 (filed 11/13/2025) have been considered in this action. Claims 1 and 7 have been amended. Claims 2-6 and 8-13 have been filed in the same format as previously presented. 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 11/13/2025 has been entered. Response to Arguments Applicant’s arguments, see page 6 paragraph 3, filed 11/13/2025, with respect to objection to the specification regarding the title have been fully considered and are persuasive. The objection of the specification has been withdrawn. Applicant’s arguments, see page 6 paragraph 4, filed 11/13/2025, with respect to rejection of claims 1-13 under 35 U.S.C. 101 have been fully considered and are persuasive. The rejection of claims 1-13 under 35 U.S.C. 101 has been withdrawn. Applicant’s arguments, see page 9 paragraph 4, filed 11/13/2025, with respect to rejection of claims 7-13 under 35 U.S.C. 112(b) have been fully considered and are persuasive. The rejection of claims 7-13 under 35 U.S.C. 112(b) has been withdrawn. Applicant’s arguments, see page 9 paragraph 4, filed 11/13/2025, with respect to rejection of claims 1-13 under 35 U.S.C. 112(a) have been fully considered and are persuasive. The rejection of claims 1-13 under 35 U.S.C. 112(a) has been withdrawn. Applicant's arguments, see page 9 paragraph 7, filed 11/13/2025 with regards to the rejection of claims 1-13 under 35 U.S.C. 103 have been fully considered but they are not persuasive. When considering the method of claim 1 and the amended subject matter of “such that logical predictions can be made and small instabilities in the master signal can be ignored/filtered” the examiner considers this language to be a recitation of optional language. The method is modified by the word “can” which has the plain-language meaning of “be able to” or “be possible to” but does not effectively limit the invention to a positively recited process/method step as there is no positive required action being performed. The amended limitations are merely suggestions of features performed in the form of optional functional language, but are not true positively recited actions performed in the course of a process/method. In other words, under the BRI, the examiner considers this optional language that fails to positively recite a required step/action performed under the method of claim 1, and instead merely suggests a possibility of an intended result being realized through what the system is able to perform. Furthermore, regarding the claimed “small instabilities in the master signal can be filtered/ignored” it is considered that under the BRI, this means that nothing happens because “ignoring” under its plain meaning is to disregard/do nothing in response to something. Essentially, the claim limitation can be interpreted to mean nothing happens when small instabilities occur, as the claim does not positively recite that instabilities are first detected/determined after which they are ignored, but instead claims in an optional and functional language based means of being able to ignore the small instabilities. What is left unclaimed leaves a vacuum of subject matter that can be filled with broad interpretation. Regardless, in an effort to promote compact prosecution, when looking to the provided specification for support in how this optional language is implemented by the invention, it is noted that paragraph [0058] recites that: “…if, while traveling at constant velocity, a connected or synchronous element receives a unique master position, but the master position is received one scan late, it is possible to verify that the commanded velocity and acceleration of the system haven't changed, meaning the master signal should have stayed on the path that the master signal was on previously, and then filter the setpoint information based on a predicted/logical next setpoint, checking the setpoint information with any previous setpoints that may have been assigned to the master to see if instability in the signal has occurred. If there is an instability, the instabilities can be filtered out by adapting a methodology of always being slightly behind, or matching in-line, with the master signal. By staying behind the master signal by a value less than the least significant digit of the normally processed signal, it is possible to effectively ignore instabilities such as late erroneous information since the late information would always result in being ahead of the master signal. If this kind of instability occurs, the instability is typically accompanied, at some point, by a correction signal that may be received one scan early, due to the master signal following a periodic send clock, which will cancel the previous delay. In this case, where the commanded velocity and acceleration are also sent, this allows logical predictions to be made and the system can ignore/filter small instabilities in the signal.” Based upon a reasonable plain-meaning interpretation of this paragraph that describes how the logical predictions are made by noticing an instability such as the late information being ahead of the master signal, an instability is ignored/filtered by either having a delay, or making an adjustment to a delay, as underlined in the quoted paragraph. Therefore, in order for a system to have the ability to make logical predictions and instabilities to be filtered/ignored (i.e. “logical predictions can be made and small instabilities in the master signal can be filtered/ignored”) all that is required is to have an intentionally introduced delay between a master and slave that have their clocks synchronized, and for that delay to be adjustable. Such features are readily present in Horiguchi (US 20170090464) in at least [0030]-[0032] which describes how instabilities are predicted by estimating when the position of a master and slave are in disagreement and [0052]-[0057] which describes how an introduced delay in the sharing of master and slave clock synchronization is changed/modified. In other words, the applicant has claimed possible features in a results oriented/intended result type manner, while Horiguchi teaches the features which allow such intended results to be realized via their teaching of those same elements that make such intended results possible. In other words, the structures and functions of the instant application that enable “logical predictions can be made and small instabilities in the master signal can be filtered/ignored” are present in Horiguchi, and thus the same intended results are possible as is claimed. Horiguchi “can” make logical predictions and filter/ignore instabilities because it operates with the same required structures (configured delays between master and slave) that afford this intended result. 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. 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. Claim(s) 1, 2, 4, 6-8, 10 and 12-13 are rejected under 35 U.S.C. 103 as being unpatentable over Horiguchi (US 20170090464, hereinafter Horiguchi) in view of Fujino et al. (US 12403604, hereinafter Fujino). In regards to Claim 1, Horiguchi discloses “A method for managing an automation system involving a plurality of synchronous elements, the method comprising” ([0002] The present invention relates to a numerical control system, and in particular, relates to a numerical control system capable of maintaining synchronization accuracy in synchronous control between numerical controllers. [0056] Also, the master unit and the slave unit constituting a synchronous control system need to have each at least one unit and the number of master units and the number of slave units are not limited. For example, no problem arises if a plurality of slave units are provided for one master unit) “designating a master signal for controlling the plurality of synchronous elements” ([0004] If, in a machine in which many axes need to be synchronized such as a printing machine, the number of axes to be synchronized is not sufficient for the number of control axes of one numerical controller, two or more numerical controllers are connected by a communication path and axes to be controlled of each numerical controller are synchronized. When synchronous control of a plurality of numerical controllers is performed in such a synchronous control system, axes in a synchronous relationship are each set as a master axis and a slave axis, a numerical controller to control an axis to be a master axis is called a master unit, a numerical controller to control an axis to be a slave axis is called a slave unit, and the master unit and the slave unit are connected by a bus or a network. Then, the master unit transfers information for synchronization (synchronization information) to the slave unit in accordance with the control period to synchronize the slave axis with the master axis. [0009] A numerical control system according to the present invention includes a master unit and a slave unit that perform numerical control and are connected by a communication path) “using a communication protocol for communicating the master signal to the plurality of synchronous elements” ([0006] The lag of time information can be determined from a phase difference between the generation timing of a bus cycle generated in the slave unit in response to reception of transfer data from the master unit and the start timing of the control period of the slave unit. When axes controlled by the master unit and the slave unit are synchronized using the technology, information about control of the master axis is transferred from the master unit to the slave unit in predetermined timing in the control period and the slave unit can determine a lag of the clocks of the master unit and the slave unit from the received time to correct the information about control of the master axis and output a synchronization command to the slave axis based on the corrected axis information of the master axis; wherein the determining of a lag or delay would in turn result in different values for different protocols, and thus the protocol delay is determined from the testing of lag/delay [0048] a predefined constant may be used as the tolerance Th, or a value obtained by multiplying the retransmission time defined by the communication protocol used for communication between the master unit 10 and the slave unit 20 by a fixed ratio [0050] the average value at reception times of a predetermined number in the past recorded as reception time history data may be used or the retransmission time of synchronization information determined by the communication protocol or the like may be subtracted from the reception time of the synchronization information received this time) “wherein the communication protocol comprises the master signal having a predetermined period … while each of the plurality of synchronized elements processes tasks at a task period that is a divisor of the master signal predetermined period” ([0037] The timing signal generation means 12 periodically generates a reference timing signal for synchronous control with the slave unit 20 using a clock contained in the CPU (not shown) or a clock output from another clock generator (not shown) provided in the master unit 10. The generation period of a timing signal is determined by the design and set to the period of, for example, 10 milliseconds; [0041] The timing signal generation means 22 is similar to the timing signal generation means 12 provided in the master unit 10 and periodically generates a reference timing signal for synchronous control with the master unit 10 using a clock contained in the CPU (not shown) or a clock output from another clock generator (not shown) provided in the slave unit 20. The generation period of a timing signal may be the same as the generation period of a timing signal by the timing signal generation means 12 of the master unit 10 or a period that is not the same, for example, integral multiples or integral divisions thereof; wherein the slave units are synchronized elements to the master unit signals, and are integral divisions of periods of the master unit cycles) “such that logical predictions can be made and small instabilities in the master signal can be ignored/filtered” ([0030] to correct the received position of the master axis to the position on the time base of the slave unit, the position after a “lag time T on the time base” is estimated by assuming that the current master axis moves at a constant speed; wherein an estimating of the position is a logical prediction; [0052] With the above configuration, synchronization accuracy can be maintained by correcting a delay due to retransmission of transfer data…. in the slave unit 20, the reception time acquiring section 24 determines deviations T1′, T2′, T3′ on the time base between the units by subtracting the transmission delay times Ta, Tb, Tc from the reception times T1, T2, T3. The calculated times T1′, T2′, T3′ correspond to T1, T2, T3 in FIG. 3, respectively, and synchronization accuracy can be maintained without being affected by a transfer processing delay in the master unit 10; wherein the use of a correction to a delay between the master and slave enables the instabilities to be filtered/ignored) “determining a compensation profile for each of the plurality of synchronous elements based on the communication protocol and characteristics of each of the plurality of synchronous elements” ([0030] To eliminate the synchronization error, the slave unit corrects the received position of the master axis (position Am of the master axis) to the position of the command timing to the slave axis on the time base of the slave unit (position Bm of the master axis at the time of the timing signal b) and determines the synchronous position Bs of the slave axis for the corrected position to issue a synchronization command to the slave axis. Here, to correct the received position of the master axis to the position on the time base of the slave unit, the position after a “lag time T on the time base” is estimated by assuming that the current master axis moves at a constant speed. [0048] a predefined constant may be used as the tolerance Th, or a value obtained by multiplying the retransmission time defined by the communication protocol used for communication between the master unit 10 and the slave unit 20 by a fixed ratio [0055] If configured in this manner, in the slave unit 20, the reception time acquiring section 24 determines deviations T1′, T2′, T3′ on the time base between the units by subtracting the transmission delay times Ta, Tb, Tc from the reception times T1, T2, T3. The calculated times T1′, T2′, T3′ correspond to T1, T2, T3 in FIG. 3, respectively, and synchronization accuracy can be maintained without being affected by a transfer processing delay in the master unit 10; wherein the deviations are characteristics of the data, as they represent the transmission delay times) “utilizing the compensation profile in the control of the automation system” ([0051] The synchronous position correcting section 28 corrects the synchronous position of the slave axis in the timing in which a timing signal is output from the timing signal generation means 22 by the method described with reference to FIG. 2, based on the reception time corrected by the reception time correcting section 27. Then, the numerical control unit 21 outputs movement command data to a machine such that the slave axis is in a synchronous position corrected by the synchronous position correcting section 28 in the timing in which a timing signal is output from the timing signal generation means 22). Horiguchi fails to teach “…a sending interval at another predetermined period that is less than the predetermined period…”. Fujino teaches “wherein the communication protocol comprises the master signal having a predetermined period and a sending interval at another predetermined period that is less than the predetermined period…” ([col 6 line 48] In machine control, generation of a machine command by execution of a motion program and control of the machine 4 according to the machine command in a predetermined control cycle… the machine control cycle is a cycle having a cycle length that is equal to a cycle length of the control cycle; wherein a control cycle is a predetermined period of a master (timing) signal; [col 10 line 63] …the communication cycle generation unit 131 is configured to set a start timing synchronized with the start timing of the control cycle based on the cycle timing, and repeatedly generates a cycle pulse in the communication cycle from the time when the controller time reaches the start timing. The start timing synchronized with the start timing of the control cycle is a predetermined period (for example, half of the cycle length of the control cycle) with respect to the start timing of the control cycle. It includes a shifted start timing. The cycle length of the communication cycle is an integer multiple (including 1 times) of the cycle length of the control cycle. The cycle length of the communication cycle may be an integer fraction of the cycle length of the control cycle; wherein when a communication cycle is a fraction or multiple of the cycle length of the control cycle, it is a predetermined period less than the cycle period). It would have been obvious to a person having ordinary skill in the art before the effective file date of the claimed invention to have modified the system for synchronizing element using a calculated lag time between a master and slave controller as taught by Horiguchi, with the use of a communication protocol which has a communication cycle period that is less than the master control cycle period as taught by Fujino, because both inventions are in the related art of synchronization of control elements on the basis of a master signal, thus making the use of the communication protocol of Fujino into the synchronization controls of Horiguchi obvious. Furthermore, by incorporating these features of Fujino, PHOSITA would understand that it would assist in adding the stated benefit of Fujino, namely “[col 3 line 43] by the function of buffering the first information until the use timing thereof, the transmission of the first information from the first device side may be advanced a margin in the period from a reception timing of the first information in the second device to the use timing of the first information may be provided. This margin absorbs the fluctuation of the reception timing expanded due to the communication state or the like, and the buffered first information can be called at a designated use timing. Therefore, the reliability of synchronous communication can be improved”. By combining these elements, it can be considered taking the known communication protocol which provides a master signal at a predetermined period and which utilizes a sending interval that is less than the predetermined period, and incorporating this protocol as one of use in the synchronization system of Horiguchi that synchronizes elements on the basis of a compensation profile determined based on the lag time of communication protocols by testing the lag time in a known way that achieves predictable results. In regards to Claim 2, the combination of Horiguchi and Fujino teaches the method as incorporated by claim 1 above. Horiguchi further teaches “A method according to claim 1, wherein the compensation profile comprises a lag time between the sending of the master signal and the receipt of the master signal at each synchronous element” ([0005] if clocks are not set among a plurality of numerical controllers for which the synchronous control is performed, the master unit and the slave unit have different time information and cannot correctly perform synchronous control. Therefore, it is necessary to perform synchronous control while correcting a lag of time information of the clock held by each numerical controller. [0006] The lag of time information can be determined from a phase difference between the generation timing of a bus cycle generated in the slave unit in response to reception of transfer data from the master unit and the start timing of the control period of the slave unit; [0030] To eliminate the synchronization error, the slave unit corrects the received position of the master axis (position Am of the master axis) to the position of the command timing to the slave axis on the time base of the slave unit (position Bm of the master axis at the time of the timing signal b) and determines the synchronous position Bs of the slave axis for the corrected position to issue a synchronization command to the slave axis. Here, to correct the received position of the master axis to the position on the time base of the slave unit, the position after a “lag time T on the time base” is estimated by assuming that the current master axis moves at a constant speed). In regards to Claim 4, the combination of Horiguchi and Fujino teaches the method as incorporated by claim 1 above. Horiguchi further teaches “A method according to claim 1, wherein the compensation profile comprises compensation based on at least one of commanded position, commanded velocity, and commanded acceleration” ([0028] Here, if the case where the slave axis attempts to directly synchronize with the position Am of the master axis is considered, the slave axis outputs such that the slave axis moves to a synchronous position As of the slave axis with respect to the position Am of the master axis at the time of the timing signal b, but at that time, the master axis has moved to a position Bm of the master axis. The synchronous position of the slave axis with respect to the position Bm of the master axis is a synchronous position Bs and thus, the slave axis causes a “synchronization error” by the difference between the synchronous position As and the synchronous position Bs. This becomes the synchronization error due to a deviation on a time base between the master unit and the slave unit. [0030] To eliminate the synchronization error, the slave unit corrects the received position of the master axis (position Am of the master axis) to the position of the command timing to the slave axis on the time base of the slave unit (position Bm of the master axis at the time of the timing signal b) and determines the synchronous position Bs of the slave axis for the corrected position to issue a synchronization command to the slave axis. Here, to correct the received position of the master axis to the position on the time base of the slave unit, the position after a “lag time T on the time base” is estimated by assuming that the current master axis moves at a constant speed). In regards to Claim 6, the combination of Horiguchi and Fujino teaches the method as incorporated by claim 1 above. Horiguchi further teaches “A method according to claim 1, wherein the compensation profile comprises predetermined compensation graphs to reduce computation time and complexity” ([0044] The reception time recording section 25 records a history of the reception time of synchronization information acquired by the reception time acquiring section 24 in a memory (not shown), as reception time history data. The reception time recording section 25 which records the reception time history data may record all reception times from the start of control operation, and may also record only a predetermined number of reception times in consideration of the amount of memory or the like of the slave unit 20; wherein limiting the number of reception times to a memory can be considered reduced computation time because fewer calculations occur due to the limited memory space as opposed to larger memory space [0050] Returning to FIG. 4, when a correction command of the reception time is received from the retransmission detection section 26, the reception time correcting section 27 corrects the reception time of the synchronization information received this time using reception time history data recorded by the reception time recording section 25. In the correction, for example, the average value at reception times of a predetermined number in the past recorded as reception time history data may be used or the retransmission time of synchronization information determined by the communication protocol or the like may be subtracted from the reception time of the synchronization information received this time; wherein because the retransmission time delay is based on protocol which is predetermined, it removes the computation time of having to determine the timing delay on the fly for retransmission; [0057] Further, the master unit and the slave unit may be connected via a repeater or the like. In such a case, even if data transfer is delayed in accordance with operating conditions of the repeater, the slave unit 20 can maintain synchronization accuracy by correcting the delay thereof; wherein complexity is reduced because even with use of repeaters the same methods can still be employed). In regards to Claim 7, Horiguchi discloses “A system for managing an automation system involving at least two synchronous elements, the system comprising: a first controller for controlling a first of the synchronous elements” (Fig. 4 shows system configuration; [0035] The master unit 10 includes a numerical control unit 11 that controls a motor 15 (such as the master axis) via a servo control unit 14; [0056] Also, the master unit and the slave unit constituting a synchronous control system need to have each at least one unit and the number of master units and the number of slave units are not limited. For example, no problem arises if a plurality of slave units are provided for one master unit or one slave unit is provided for a plurality of master units.) “a second controller for controlling at least a second of the synchronous elements;” ([0039] The slave unit 20 includes a numerical control unit 21 that controls a motor 30 (such as the slave axis) via a servo control unit 29, a timing signal generation means 22 for generating a timing signal used for synchronous control, and a communication interface 23 that communicates with the master unit 10 via the communication path 40; ) “a configuration module for configuring at least the second synchronous element” ([0040] The numerical control unit 21 creates movement command data by performing processing such as analysis and interpolation on a program read from a memory (not shown) and controls the slave axis by outputting the created movement command data) “a memory storing instructions that, when executed by the first controller and second controller, cause the first controller and second controller to: designate the first controller as a provider of a master signal for controlling the at least two synchronous elements” (Fig. 4 shows slave unit 20 with various algorithms in memory as blocks; [0004] If, in a machine in which many axes need to be synchronized such as a printing machine, the number of axes to be synchronized is not sufficient for the number of control axes of one numerical controller, two or more numerical controllers are connected by a communication path and axes to be controlled of each numerical controller are synchronized. When synchronous control of a plurality of numerical controllers is performed in such a synchronous control system, axes in a synchronous relationship are each set as a master axis and a slave axis, a numerical controller to control an axis to be a master axis is called a master unit, a numerical controller to control an axis to be a slave axis is called a slave unit, and the master unit and the slave unit are connected by a bus or a network. Then, the master unit transfers information for synchronization (synchronization information) to the slave unit in accordance with the control period to synchronize the slave axis with the master axis. [0009] A numerical control system according to the present invention includes a master unit and a slave unit that perform numerical control and are connected by a communication path) “use a communication protocol for communicating the master signal to the at least two synchronous elements;” ([0006] The lag of time information can be determined from a phase difference between the generation timing of a bus cycle generated in the slave unit in response to reception of transfer data from the master unit and the start timing of the control period of the slave unit. When axes controlled by the master unit and the slave unit are synchronized using the technology, information about control of the master axis is transferred from the master unit to the slave unit in predetermined timing in the control period and the slave unit can determine a lag of the clocks of the master unit and the slave unit from the received time to correct the information about control of the master axis and output a synchronization command to the slave axis based on the corrected axis information of the master axis; wherein the determining of a lag or delay would in turn result in different values for different protocols, and thus the protocol delay is determined from the testing of lag/delay [0048] a predefined constant may be used as the tolerance Th, or a value obtained by multiplying the retransmission time defined by the communication protocol used for communication between the master unit 10 and the slave unit 20 by a fixed ratio [0050] the average value at reception times of a predetermined number in the past recorded as reception time history data may be used or the retransmission time of synchronization information determined by the communication protocol or the like may be subtracted from the reception time of the synchronization information received this time) “wherein the communication protocol comprises the master signal having a predetermined period … while each of the at least two synchronized elements processes tasks at a task period that is a divisor of the master signal predetermined period” ([0037] The timing signal generation means 12 periodically generates a reference timing signal for synchronous control with the slave unit 20 using a clock contained in the CPU (not shown) or a clock output from another clock generator (not shown) provided in the master unit 10. The generation period of a timing signal is determined by the design and set to the period of, for example, 10 milliseconds; [0041] The timing signal generation means 22 is similar to the timing signal generation means 12 provided in the master unit 10 and periodically generates a reference timing signal for synchronous control with the master unit 10 using a clock contained in the CPU (not shown) or a clock output from another clock generator (not shown) provided in the slave unit 20. The generation period of a timing signal may be the same as the generation period of a timing signal by the timing signal generation means 12 of the master unit 10 or a period that is not the same, for example, integral multiples or integral divisions thereof; wherein the slave units are synchronized elements to the master unit signals, and are integral divisions of periods of the master unit cycles) “such that logical predictions can be made and small instabilities in the master signal can be ignored/filtered” ([0030] to correct the received position of the master axis to the position on the time base of the slave unit, the position after a “lag time T on the time base” is estimated by assuming that the current master axis moves at a constant speed; wherein an estimating of the position is a logical prediction; [0052] With the above configuration, synchronization accuracy can be maintained by correcting a delay due to retransmission of transfer data…. in the slave unit 20, the reception time acquiring section 24 determines deviations T1′, T2′, T3′ on the time base between the units by subtracting the transmission delay times Ta, Tb, Tc from the reception times T1, T2, T3. The calculated times T1′, T2′, T3′ correspond to T1, T2, T3 in FIG. 3, respectively, and synchronization accuracy can be maintained without being affected by a transfer processing delay in the master unit 10; wherein the use of a correction to a delay between the master and slave enables the instabilities to be filtered/ignored) “determine a compensation profile for each of the at least two synchronous elements based on the communication protocol and characteristics of each of the at least two synchronous elements; and” ([0030] To eliminate the synchronization error, the slave unit corrects the received position of the master axis (position Am of the master axis) to the position of the command timing to the slave axis on the time base of the slave unit (position Bm of the master axis at the time of the timing signal b) and determines the synchronous position Bs of the slave axis for the corrected position to issue a synchronization command to the slave axis. Here, to correct the received position of the master axis to the position on the time base of the slave unit, the position after a “lag time T on the time base” is estimated by assuming that the current master axis moves at a constant speed.[0055] If configured in this manner, in the slave unit 20, the reception time acquiring section 24 determines deviations T1′, T2′, T3′ on the time base between the units by subtracting the transmission delay times Ta, Tb, Tc from the reception times T1, T2, T3. The calculated times T1′, T2′, T3′ correspond to T1, T2, T3 in FIG. 3, respectively, and synchronization accuracy can be maintained without being affected by a transfer processing delay in the master unit 10; wherein the times are between the master and slave, and thus relate to both relatively) “utilize the compensation profile in the control of the automation system” ([0051] The synchronous position correcting section 28 corrects the synchronous position of the slave axis in the timing in which a timing signal is output from the timing signal generation means 22 by the method described with reference to FIG. 2, based on the reception time corrected by the reception time correcting section 27. Then, the numerical control unit 21 outputs movement command data to a machine such that the slave axis is in a synchronous position corrected by the synchronous position correcting section 28 in the timing in which a timing signal is output from the timing signal generation means 22). Horiguchi fails to teach “…a sending interval at another predetermined period that is less than the predetermined period…”. Fujino teaches “wherein the communication protocol comprises the master signal having a predetermined period and a sending interval at another predetermined period that is less than the predetermined period…” ([col 6 line 48] In machine control, generation of a machine command by execution of a motion program and control of the machine 4 according to the machine command in a predetermined control cycle… the machine control cycle is a cycle having a cycle length that is equal to a cycle length of the control cycle; wherein a control cycle is a predetermined period of a master (timing) signal; [col 10 line 63] …the communication cycle generation unit 131 is configured to set a start timing synchronized with the start timing of the control cycle based on the cycle timing, and repeatedly generates a cycle pulse in the communication cycle from the time when the controller time reaches the start timing. The start timing synchronized with the start timing of the control cycle is a predetermined period (for example, half of the cycle length of the control cycle) with respect to the start timing of the control cycle. It includes a shifted start timing. The cycle length of the communication cycle is an integer multiple (including 1 times) of the cycle length of the control cycle. The cycle length of the communication cycle may be an integer fraction of the cycle length of the control cycle; wherein when a communication cycle is a fraction or multiple of the cycle length of the control cycle, it is a predetermined period less than the cycle period). It would have been obvious to a person having ordinary skill in the art before the effective file date of the claimed invention to have modified the system for synchronizing element using a calculated lag time between a master and slave controller as taught by Horiguchi, with the use of a communication protocol which has a communication cycle period that is less than the master control cycle period as taught by Fujino, because both inventions are in the related art of synchronization of control elements on the basis of a master signal, thus making the use of the communication protocol of Fujino into the synchronization controls of Horiguchi obvious. Furthermore, by incorporating these features of Fujino, PHOSITA would understand that it would assist in adding the stated benefit of Fujino, namely “[col 3 line 43] by the function of buffering the first information until the use timing thereof, the transmission of the first information from the first device side may be advanced a margin in the period from a reception timing of the first information in the second device to the use timing of the first information may be provided. This margin absorbs the fluctuation of the reception timing expanded due to the communication state or the like, and the buffered first information can be called at a designated use timing. Therefore, the reliability of synchronous communication can be improved”. By combining these elements, it can be considered taking the known communication protocol which provides a master signal at a predetermined period and which utilizes a sending interval that is less than the predetermined period, and incorporating this protocol as one of use in the synchronization system of Horiguchi that synchronizes elements on the basis of a compensation profile determined based on the lag time of communication protocols by testing the lag time in a known way that achieves predictable results. In regards to Claim 8, the combination of Horiguchi and Fujino teaches the system as incorporated by claim 7 above. Horiguchi further teaches “A system according to claim 7, wherein the compensation profile comprises a lag time between the sending of the master signal and the receipt of the master signal at each synchronous element” ([0005] if clocks are not set among a plurality of numerical controllers for which the synchronous control is performed, the master unit and the slave unit have different time information and cannot correctly perform synchronous control. Therefore, it is necessary to perform synchronous control while correcting a lag of time information of the clock held by each numerical controller. [0006] The lag of time information can be determined from a phase difference between the generation timing of a bus cycle generated in the slave unit in response to reception of transfer data from the master unit and the start timing of the control period of the slave unit; [0030] To eliminate the synchronization error, the slave unit corrects the received position of the master axis (position Am of the master axis) to the position of the command timing to the slave axis on the time base of the slave unit (position Bm of the master axis at the time of the timing signal b) and determines the synchronous position Bs of the slave axis for the corrected position to issue a synchronization command to the slave axis. Here, to correct the received position of the master axis to the position on the time base of the slave unit, the position after a “lag time T on the time base” is estimated by assuming that the current master axis moves at a constant speed). In regards to Claim 10, the combination of Horiguchi and Fujino teaches the system as incorporated by claim 7 above. Horiguchi further teaches “A system according to claim 7, wherein the compensation profile comprises compensation based on at least one of commanded position, commanded velocity, and commanded acceleration” ([0028] Here, if the case where the slave axis attempts to directly synchronize with the position Am of the master axis is considered, the slave axis outputs such that the slave axis moves to a synchronous position As of the slave axis with respect to the position Am of the master axis at the time of the timing signal b, but at that time, the master axis has moved to a position Bm of the master axis. The synchronous position of the slave axis with respect to the position Bm of the master axis is a synchronous position Bs and thus, the slave axis causes a “synchronization error” by the difference between the synchronous position As and the synchronous position Bs. This becomes the synchronization error due to a deviation on a time base between the master unit and the slave unit. [0030] To eliminate the synchronization error, the slave unit corrects the received position of the master axis (position Am of the master axis) to the position of the command timing to the slave axis on the time base of the slave unit (position Bm of the master axis at the time of the timing signal b) and determines the synchronous position Bs of the slave axis for the corrected position to issue a synchronization command to the slave axis. Here, to correct the received position of the master axis to the position on the time base of the slave unit, the position after a “lag time T on the time base” is estimated by assuming that the current master axis moves at a constant speed). In regards to Claim 12, the combination of Horiguchi and Fujino teaches the system as incorporated by claim 7 above. Horiguchi further teaches “A system according to claim 7, wherein the compensation profile comprises predetermined compensation graphs to reduce computation time and complexity” ([0044] The reception time recording section 25 records a history of the reception time of synchronization information acquired by the reception time acquiring section 24 in a memory (not shown), as reception time history data. The reception time recording section 25 which records the reception time history data may record all reception times from the start of control operation, and may also record only a predetermined number of reception times in consideration of the amount of memory or the like of the slave unit 20; wherein limiting the number of reception times to a memory limitation can be considered reduced computation time because fewer calculations occur [0050] Returning to FIG. 4, when a correction command of the reception time is received from the retransmission detection section 26, the reception time correcting section 27 corrects the reception time of the synchronization information received this time using reception time history data recorded by the reception time recording section 25. In the correction, for example, the average value at reception times of a predetermined number in the past recorded as reception time history data may be used or the retransmission time of synchronization information determined by the communication protocol or the like may be subtracted from the reception time of the synchronization information received this time; wherein because the retransmission time delay is based on protocol which is predetermined, it removes the computation time of having to determine the timing delay on the fly for retransmission; [0057] Further, the master unit and the slave unit may be connected via a repeater or the like. In such a case, even if data transfer is delayed in accordance with operating conditions of the repeater, the slave unit 20 can maintain synchronization accuracy by correcting the delay thereof; wherein complexity is reduced because even with use of repeaters the same methods can still be employed). In regards to Claim 13, the combination of Horiguchi and Fujino teaches the system as incorporated by claim 7 above. Horiguchi further teaches “A system according to claim 7, wherein the configuration module provides data to the second controller regarding communication protocols and compensation profiles” ([0042] The numerical control unit 21 outputs movement command data in which the position is corrected by the synchronous position correcting section 28 described below to the servo control unit 29 in the timing in which a timing signal is output from the timing signal generation means 22. [0048] In this case, a reception time T3 when synchronization information concerning a “master axis position C” is received is a value larger than the reception times T1, T2 by the time required for retransmission. Thus, the average value of the past reception times T1, T2 recorded in the reception time history data and the latest reception time T3 are compared with each other, and if the difference the average value and the reception time T3 exceeds a tolerance Th, then it can be estimated that synchronization information is retransmitted, thereby enabling detection of retransmission. At this point, a predefined constant may be used as the tolerance Th, or a value obtained by multiplying the retransmission time defined by the communication protocol used for communication between the master unit 10 and the slave unit 20 by a fixed ratio may be used as the tolerance Th. Also, the tolerance Th may be specified based on the variance of past reception times. Further, the retransmission can be estimated by a statistical test using statistics determined from past reception times. [0050] Returning to FIG. 4, when a correction command of the reception time is received from the retransmission detection section 26, the reception time correcting section 27 corrects the reception time of the synchronization information received this time using reception time history data recorded by the reception time recording section 25. In the correction, for example, the average value at reception times of a predetermined number in the past recorded as reception time history data may be used or the retransmission time of synchronization information determined by the communication protocol or the like may be subtracted from the reception time of the synchroization information received this time; wherein the use of protocol corrections of retransmission for correcting position commands means predetermined protocol corrections are known by the control unit and used in effecting a change in commands, meaning the slave gets configured, while the use of corrections to positional commands is considered a compensation profile). Claims 3, 5, 9 and 11 are rejected under 35 U.S.C. 103 as being unpatentable over Horiguchi and Fujino as applied to claims 1 and 7 above, and further in view of Cavalaglio et al. (“A new method for motion synchronization among multivendor programmable controllers”, hereinafter Cavalaglio). In regards to Claim 3, the combination of Horiguchi and Fujino teaches the method of managing an automation system comprising a plurality of synchronous elements as incorporated by claim 1 above. The combination of Horiguchi and Fujino fails to teach “wherein the compensation profile is also based on characteristics of the data being sent”. Cavalaglio teaches “wherein the compensation profile is also based on characteristics of the data being sent” ([page 204 column 2] Different vendors use different methods for the motion of axes. Some of them can directly move an axis point by point defining its pi ,vi and ai at each motion task. Other vendors, who cannot control a motor point by point, use motion instructions in order to impose the desired trajectory. This case is the most interesting because it requires to impose the desired trajectory by using a predefined motion profile. If the axes to be moved are real, the programmable controller computes their pi ,vi and ai and sends them to the drivers. In order to synchronize two or more virtual or real axes between two programmable controllers, the MotS needs to take into account the pi ,vi,ai and ji of the MotM with respect to the instant of time in which the MotM will actuate these commands; [page 205] In case the MotS uses a point-by-point control it is possible to directly impose pf ,v f i i and afi on the axes so synchronization is insured except for the jitter of the task. In case the programmable controller cannot directly impose the kinematic values on the axes by means of point-to-point control but it can only use motion instructions, it is necessary to use different algorithms to respect the kinematic constraints. In order to develop a global method for the motion synchronization between two different controllers, the motion instruction used to move the axes of the MotS is a jog. The choice of this type of motion instruction depends on the fact that the jog is a trapezoidal velocity profile and it is used in any type of automation PLCs or iPCs. Different vendors give different names to this instruction but, independently from the name, its behavior is the same. The jog instruction allows to carry out a trapezoidal velocity profile (Fig. 7) by defining the velocity that the axis has to reach and the acceleration with which it has to obtain the desired velocity; wherein the determination of whether the data is a point by point vs. a motion instruction (profile) uses a different compensation algorithm for synchronization, and thus the compensation is different on the basis of the data sent identifying it as point by point vs motion profile for using one of the two methods of compensation). It would have been obvious to a person having ordinary skill in the art before the effective file date of the claimed invention to have modified the system which synchronizes a master and slave axis on the basis of a compensation profile that takes into account the protocol and characteristics of each axis as taught by Horiguchi and Fujino, with the use of additional data that identifies what type of motion command is being sent so that one of two different types of synchronization commands for the compensation of motion synchronization on the basis of the axis being point to point vs. motion profile controlled as taught by Cavalaglio because it would afford the stated benefit of Cavalaglio, namely that different vendors can be mixed in the same network, which would improve “[page 202 column 2] The advantages of a distributed motion control system, which can be used with drives and motors of different vendors, are the increase of re-usability, reconfigurability and extension of distributed systems”. In other words, by improving the compensation profile of Horiguchi which synchronizes a master and slave axis in accordance with network protocol and characteristics of synchronous elements that include the historical average of network lag, with the compensation profile of Cavalaglio which determines between two different motion control strategies on the basis of what is supported by the slave axis being controller by the master, it can be considered taking a known method and improving it with a known method in a similar field in a known way that achieves predictable results. In regards to Claim 5, the combination of Horiguchi and Fujino teaches the method of managing an automation system comprising a plurality of synchronous elements as incorporated by claim 4 above. The combination of Horiguchi and Fujino fails to teach “A method according to claim 4, wherein the compensation profile comprises compensation for jerk”. Cavalaglio teaches “A method according to claim 4, wherein the compensation profile comprises compensation for jerk” ([[page 204 column 1] In order to synchronize two or more virtual or real axes between two programmable controllers, the MotS needs to take into account the pi ,vi,ai and ji of the MotM with respect to the instant of time in which the MotM will actuate these commands. Thanks to the time synchronization, the two CPUs have the same clock reference and so it is possible to correlate the time instant in both CPUs is due to the fact that it can be used with typical control networks, it is reliable and it is real-time communication. The MotM can send the synchronization data for multiple axes within a data path. For each axis the shortest data path necessary for the synchronization of the i-th axis (Fig. 3) consists of: Time of master commands (Tmci (i)) and Set Position, Velocity, Acceleration, Jerk (pi (i + Tstt),vi (i + Tstt),ai (i + Tstt),ji (i + Tstt)) of the axis with a look ahead equal to the Motion Task Time of the MotS (Tstt)....In order to synchronize two or more virtual or real axes between two programmable controllers, the MotS needs to take into account the pi ,vi,ai and ji of the MotM with respect to the instant of time in which the MotM will actuate these commands. Thanks to the time synchronization, the two CPUs have the same clock reference and so it is possible to correlate the time instant in both CPUs; wherein ji is well-known as jolt/jerk). It would have been obvious to a person having ordinary skill in the art before the effective file date of the claimed invention to have modified the system which synchronizes a master and slave by determining a compensation profile between the two on the basis of protocol delay introduced so that movement control between the two is followed along in synchronization as taught by Horiguchi and Fujino, with the use of a movement control in which the movement control uses jerk in its consideration as taught by Cavalaglio, because it can be considered using the known technique of considering jerk in a motion profile compensation for master-slave axis synchronization to improve a similar device in a similar way. The claim is unspecific in how jerk is utilized in the compensation profile, aside from it being a consideration for compensation. Cavalaglio states that first a synchronization for clocks should be performed (see section 4.1) and then a motion profile synchronization can be performed for synchronizing the motion of axis, thus the methods of Horiguchi could be utilized to synchronize clocks before the methods of Cavalaglio is utilized to synchronize motion of axis in a known way that achieves predictable results. In regards to Claim 9, the combination of Horiguchi and Fujino teaches the system for managing an automation system comprising a plurality of synchronous elements as incorporated by claim 7 above. The combination of Horiguchi and Fujino fails to teach “wherein the compensation profile is also based on characteristics of the data being sent”. Cavalaglio teaches “wherein the compensation profile is also based on characteristics of the data being sent” ([page 204 column 2] Different vendors use different methods for the motion of axes. Some of them can directly move an axis point by point defining its pi ,vi and ai at each motion task. Other vendors, who cannot control a motor point by point, use motion instructions in order to impose the desired trajectory. This case is the most interesting because it requires to impose the desired trajectory by using a predefined motion profile. If the axes to be moved are real, the programmable controller computes their pi ,vi and ai and sends them to the drivers. In order to synchronize two or more virtual or real axes between two programmable controllers, the MotS needs to take into account the pi ,vi,ai and ji of the MotM with respect to the instant of time in which the MotM will actuate these commands; [page 205] In case the MotS uses a point-by-point control it is possible to directly impose pf ,v f i i and afi on the axes so synchronization is insured except for the jitter of the task. In case the programmable controller cannot directly impose the kinematic values on the axes by means of point-to-point control but it can only use motion instructions, it is necessary to use different algorithms to respect the kinematic constraints. In order to develop a global method for the motion synchronization between two different controllers, the motion instruction used to move the axes of the MotS is a jog. The choice of this type of motion instruction depends on the fact that the jog is a trapezoidal velocity profile and it is used in any type of automation PLCs or iPCs. Different vendors give different names to this instruction but, independently from the name, its behavior is the same. The jog instruction allows to carry out a trapezoidal velocity profile (Fig. 7) by defining the velocity that the axis has to reach and the acceleration with which it has to obtain the desired velocity; wherein the determination of whether the data is a point by point vs. a motion instruction (profile) uses a different compensation algorithm for synchronization, and thus the compensation is different on the basis of the data sent identifying it as point by point vs motion profile). It would have been obvious to a person having ordinary skill in the art before the effective file date of the claimed invention to have modified the system which synchronizes a master and slave axis on the basis of a compensation profile that takes into account the protocol and characteristics of each axis as taught by Horiguchi and Fujino, with the use of additional data that identifies what type of motion command is being sent so that one of two different types of synchronization commands for the compensation of motion synchronization on the basis of the axis being point to point vs. motion profile controlled as taught by Cavalaglio because it would afford the stated benefit of Cavalaglio, namely that different vendors can be mixed in the same network, which would improve “[page 202 column 2] The advantages of a distributed motion control system, which can be used with drives and motors of different vendors, are the increase of re-usability, reconfigurability and extension of distributed systems”. In other words, by improving the compensation profile of Horiguchi which synchronizes a master and slave axis in accordance with network protocol and characteristics of synchronous elements that include the historical average of network lag, with the compensation profile of Cavalaglio which determines between two different motion control strategies on the basis of what is supported by the slave axis being controller by the master, it can be considered taking a known method and improving it with a known method in a similar field in a known way that achieves predictable results. In regards to Claim 11, the combination of Horiguchi and Fujino teaches the system of managing an automation system comprising at least two synchronous elements as incorporated by claim 10 above. The combination of Horiguchi and Fujino fails to teach “A system according to claim 10, wherein the compensation profile comprises compensation for jerk”. Cavalaglio teaches “A system according to claim 10, wherein the compensation profile comprises compensation for jerk” ([[page 204 column 1] In order to synchronize two or more virtual or real axes between two programmable controllers, the MotS needs to take into account the pi ,vi,ai and ji of the MotM with respect to the instant of time in which the MotM will actuate these commands. Thanks to the time synchronization, the two CPUs have the same clock reference and so it is possible to correlate the time instant in both CPUs is due to the fact that it can be used with typical control networks, it is reliable and it is real-time communication. The MotM can send the synchronization data for multiple axes within a data path. For each axis the shortest data path necessary for the synchronization of the i-th axis (Fig. 3) consists of: Time of master commands (Tmci (i)) and Set Position, Velocity, Acceleration, Jerk (pi (i + Tstt),vi (i + Tstt),ai (i + Tstt),ji (i + Tstt)) of the axis with a look ahead equal to the Motion Task Time of the MotS (Tstt)....In order to synchronize two or more virtual or real axes between two programmable controllers, the MotS needs to take into account the pi ,vi,ai and ji of the MotM with respect to the instant of time in which the MotM will actuate these commands. Thanks to the time synchronization, the two CPUs have the same clock reference and so it is possible to correlate the time instant in both CPUs; wherein ji is well-known as jolt/jerk). It would have been obvious to a person having ordinary skill in the art before the effective file date of the claimed invention to have modified the system which synchronizes a master and slave by determining a compensation profile between the two on the basis of protocol delay introduced so that movement control between the two is followed along in synchronization as taught by Horiguchi and Fujino, with the use of a movement control in which the movement control uses jerk in its consideration as taught by Cavalaglio, because it can be considered using the known technique of considering jerk in a motion profile compensation for master-slave axis synchronization to improve a similar device in a similar way. The claim is unspecific in how jerk is utilized in the compensation profile, aside from it being a consideration for compensation. Cavalaglio states that first a synchronization for clocks should be performed (see section 4.1) and then a motion profile synchronization can be performed for synchronizing the motion of axis, thus the methods of Horiguchi could be utilized to synchronize clocks before the methods of Cavalaglio is utilized to synchronize motion of axis in a known way that achieves predictable results. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to JONATHAN M SKRZYCKI whose telephone number is (571)272-0933. The examiner can normally be reached M-Th 7:30-3: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. /JONATHAN MICHAEL SKRZYCKI/ Examiner, Art Unit 2116
Read full office action

Prosecution Timeline

Nov 22, 2022
Application Filed
Mar 24, 2025
Non-Final Rejection — §103
Jul 28, 2025
Response Filed
Sep 11, 2025
Final Rejection — §103
Nov 13, 2025
Response after Non-Final Action
Dec 16, 2025
Request for Continued Examination
Dec 31, 2025
Response after Non-Final Action
Jan 27, 2026
Non-Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12595886
CONTROL OF A WATER SUPPLY SYSTEM USING PUMPING STATIONS WITH RESOURCE OPTIMIZED PRESSURE AND FLOW TARGET VALUES
2y 5m to grant Granted Apr 07, 2026
Patent 12570003
SYSTEMS, AND METHODS FOR REAL TIME CALIBRATION OF MULTIPLE RANGE SENSORS ON A ROBOT
2y 5m to grant Granted Mar 10, 2026
Patent 12562352
PREDICTION METHOD AND INFORMATION PROCESSING APPARATUS FOR PREDICTING THE PROCESS RESULT IN A PLASMA ETCHING PROCESS
2y 5m to grant Granted Feb 24, 2026
Patent 12560918
PRODUCTION SEQUENCING OPTIMIZATION FOR AUTOMOTIVE ACCESSORY INSTALLATION
2y 5m to grant Granted Feb 24, 2026
Patent 12530014
PROCESS MODEL AUTOMATIC GENERATION SYSTEM AND PROCESS MODEL AUTOMATIC GENERATION METHOD
2y 5m to grant Granted Jan 20, 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
66%
Grant Probability
99%
With Interview (+33.1%)
3y 0m
Median Time to Grant
High
PTA Risk
Based on 221 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