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 .
This office action is a response to an amendment/arguments filed on 6/2/2026 which was in response to the office action mailed on 3/11/2026 (hereinafter the prior office action).
Claim(s) 1, 3-12 and 14-20 is/are pending.
Claim(s) 1 and 16 is/are amended.
Claim(s) 2 and 13 is/are cancelled.
Claim(s) 1 and 16 is/are independent.
Applicant’s amendments have overcome prior rejection(s) based on 35 U.S.C. 112.
Response to Arguments
Applicant’s arguments, filed on 6/2/2026, have been fully considered but they are not persuasive.
Applicant states in Pg. 8 in “Remarks” regarding claim 1 that the prior art does not teach the add-on function including a function name, a variable and return type data. Applicant elaborates in Pg. 9 that Jarrett’s cited Para. 34 and 42 do not teach the add-on function with function name because Jarrett teaches add-on instruction while Applicant has claimed add-on function.
Examiner respectfully disagrees because Jarrett discloses in Para. 25 add-on instructions used in and industrial environment. This is further elaborated in Jarrett’s Para. 27 that the add-ons can also be implemented in programming environments containing routines, i.e. functions. Further Jarrett’s Para. 37, 46 discloses add-on instructions or other programs including functions. Lopez also teaches in Para. 306 the add-on as a plug-in or extension, i.e. add-on function. In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986). In this case, it is the combination of Jarrett and Lopez that teaches the claim as a whole.
Applicant further states in Pg. 9-10 in “Remarks” regarding claim 1 that Jarrett does not teach the newly added limitation of a return data type input by user, and that Jarrett’s cited Para. 25 with respect to the previous claim 2 (currently canceled) does not teach return type.
Examiner respectfully disagrees because the previous claim 2 recited parameter or return data type, i.e. in the alternative, while Jarrett’s Para. 25 was cited to teach parameter. With respect to return data type, it is Lopez’ Para. 406, 489, 513, and not Jarrett, that teach that type of return data can be defined, i.e. input, by user. Thus, the arguments regarding Jarrett are moot.
Applicant further states in Pg. 12 in “Remarks” regarding claim 4 that Jarrett’s cited Para. 54 does not teach utilizing add-on function output as an operand (of subsequent operation).
Examiner respectfully disagrees because Jarrett discloses in Fig. 6 that object file generates add-on instructions; further, Jarrett discloses in Fig. 9, Para. 54 - - industrial device utilizes add-on output for a subsequent operation, i.e. operation is performed after add-on output is generated. The claimed operand is being taken as its plain meaning, because Applicant has not further defined the operand in the Specification or how it is being used. Thus, Jarrett’s Fig. 9 and Para. 54 teach utilizing add-on output as an operand
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 of this title, 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 set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied 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, 3-12 and 14-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Jarrett et al. (U.S. Pub. No. 2013/0198493) (hereinafter “Jarrett”) in view of Lopez et al. (U.S. Pub. No. 2010/0324956) (hereinafter “Lopez”).
Regarding claim 1 and corresponding claim 16, Jarrett teaches a system for facilitating add-on functions for industrial devices, (Para. 25 - - add-on instructions can be used in an industrial environment)
the system comprising: one or more electronic processors configured (Para. 24, Claim 1 - - processor is used)
to: receive, via a user interface, a user input defining an add-on function, wherein the user input includes a function name for the add-on function, (Para. 34 - - user inputs information defining add-on instructions; Para. 42 - - add-on instruction has a name, i.e. function name)
a variable to be utilized by the add-on function during execution of the add-on function, (Para. 25 - - user can edit/input parameter, i.e. variable, for add-on instruction/function)
…, based on the user input, an object file for the add-on function; (Para. 29 - - object file is for add-on function/instruction)
control access to the object file for executing the add-on function; (Para. 39 - - access to instructions is controlled using encryption, passwords, etc.)
receive, from an industrial device of an industrial system, a request for the object file; (Para. 25 - - instruction is called, i.e. request for object file is received)
and transmit, to the industrial device of the industrial system, the object file for executing the add-on function. (Para. 43 - - instructions/functions can be located within a network or web server, where the function is transmitted over the network; Para. 54 - - industrial device executes the add-on function)
But Jarrett does not explicitly teach and a return type of data to be returned by the add-on function as a result of execution of the add-on function;
compile
However, Lopez teaches and a return type of data to be returned by the add-on function as a result of execution of the add-on function; (Para. 406, 489, 513 - - type of return data can be defined, i.e. input, by user)
compile (Para. 401 - - code is compiled)
Jarrett and Lopez are analogous art because they are from the same field of endeavor and contain overlapping structural and/or functional similarities. They both contain computer code used in an industrial environment.
Therefore, before the effective filing date of the claimed invention (AIA ), it would have been obvious to a person of ordinary skill in the art to modify the above limitation(s) as taught by Jarrett, by incorporating the above limitation(s) as taught by Lopez.
One of ordinary skill in the art would have been motivated to do this modification in order to execute source code via an executable file, as suggested by Lopez (Para. 401).
Regarding claim 3, Jarrett further teaches the industrial device, the industrial device is configured to: store the object file in a memory of the industrial device; (Para. 54 - - industrial device executes the add-on function; Fig. 9 - - instruction is stored in memory of industrial device 900)
and execute object code included in the object file to perform the add-on function. (Para. 54 - - add-on instructions are executed)
Regarding claim 4, Jarrett further teaches wherein execution of the object code included in the object file generates an output of the add-on function, (Fig. 6 - - object file generates add-on instructions, i.e. add-on function outputs)
wherein the industrial device is configured to utilize the output of the add-on function as an operand for a subsequent operation. (Fig. 6 - - object file generates add-on instructions; Fig. 9, Para. 54 - - industrial device utilizes add-on output for a subsequent operation, i.e. operation is performed after add-on output is generated)
Regarding claim 5 and corresponding claim 17, Jarrett further teaches a second industrial device of a second industrial system, the second industrial system different from the industrial system, (Para. 34 - - add-on instruction calls can be from multiple locations, i.e. including a second industrial device of a different second industrial system)
and wherein the one or more electronic processors are configured to: receive, from the second industrial device of the second industrial system, a second request for the object file; (Para. 25 - - instruction is called, i.e. request for object file is received)
and transmit, to the second industrial device of the second industrial system, the object file for executing the add-on function. (Para. 43 - - instructions/functions can be located within a network or web server, where the function is transmitted over the network; Para. 54 - - industrial device executes the add-on function)
Regarding claim 6, Jarrett further teaches wherein the add-on function is configured to perform an OR operation on at least three inputs. (Para. 27 - - logical elements are used, where logical elements include OR operation; Para. 54 - - input channel allows multiple inputs through channel in the industrial device)
Regarding claim 7, Jarrett further teaches wherein the add-on function is configured to perform a data type conversion, wherein the data type conversion includes converting a numeric data type to a string data type. (Para. 30 - - any object/data type can be supported, i.e. data conversion is performed from one type to another)
Regarding claim 8, Jarrett further teaches to: store, in a database, the object file for the add-on function in a function library; (Para. 39 - - add-on instructions are assembled in a library)
and responsive to receiving the request for the object file, access, from the database, the object file for the add-on function from the function library; (Para. 43 - - instructions/functions can be located within a network or web server, where the function is transmitted over the network; Para. 54 - - industrial device executes the add-on function)
and transmit the object file to the industrial device. (Para. 43 - - function is transmitted over the network; Para. 54 - - industrial device executes the add-on function)
Regarding claim 9, Lopez further teaches wherein the one or more electronic processors are configured to: determine a domain of the add-on function; (Para. 309 - - domain of application/function is known/determined)
and Jarrett further teaches store, based on the domain, the object file in a function library specific to the domain. (Para. 39 - - add-on instructions are assembled in a library)
One of ordinary skill in the art would have been motivated to do this modification in order to execute source code via an executable file, as suggested by Lopez (Para. 401).
Regarding claim 10, Jarrett further teaches to: determine, for the add-on function, a namespace prefix specific to a domain relevant to the add-on function; and augment a function name of the add-on function with the namespace prefix. (Para. 42, 52 - - name of add-on instruction can be updated using tags, where updates function as prefix)
Regarding claim 11, Jarrett further teaches wherein execution of the add-on function using an expression as an input that triggers an event in the industrial system. (Para. 54, Claim 10, 19 - - execution of add-on function triggers industrial device, where such trigger creates an event in the industrial system)
Regarding claim 12, Jarrett further teaches wherein the add-on function stops or resumes execution of at least one task associated with a user program of the industrial system. (Para. 29 - - add-on instruction can stop or resume states of the industrial device in the industrial system)
Regarding claim 14, Lopez further teaches wherein the add-on function is configured to measure a performance metric associated with a routine associated with a user program of the industrial system. (Para. 335 - - performance characteristics/metrics are associated with software/routine in industrial system)
One of ordinary skill in the art would have been motivated to do this modification in order to manage enterprise software, as suggested by Lopez (Para. 335).
Regarding claim 15, Jarrett further teaches to generate an annotated call graph based on the performance metric. (Para. 35 - - graphic boxes can be used, where performance metric has already been taught by Lopez (see above))
Regarding claim 18, Jarrett further teaches transmitting, to the first industrial device, a second object file included in the set of object files, (Fig. 9, Para. 54 - - instruction bank includes multiple add-on instructions, where multiple add-ons include a first and a second object file)
wherein the second object file includes object code for performing a second add-on function of the plurality of add-on functions, (Fig. 9, Para. 54 - - multiple add-ons include a first and a second object file containing a first and a second add-on function;)
wherein the second add-on function is configured to identify an error associated with a user program of the first industrial device. (Para. 27 - - errors are mitigated, i.e. errors are identified; Fig. 9, Para. 54 - add-ons include a first and a second object file containing a first and a second add-on function)
Regarding claim 19, Jarrett further teaches transmitting, to the first industrial device, a second object file including object code that, when executed, performs a second add-on function of the plurality of add-on functions, (Fig. 9, Para. 54 - - instruction bank includes multiple add-on instructions, where multiple add-ons include a first and a second object file containing a first and a second add-on function)
wherein the first add-on function is a user defined function and the second add-on function is a pre-existing function. (Para. 34 - - user inputs information defining add-on instructions; Para. 42 - - instruction can include existing instructions/functions)
Regarding claim 20, Lopez further teaches controlling, with the one or more electronic processors, access to the set of object files pursuant to a license model. (Para. 310 - - licensed software is used)
One of ordinary skill in the art would have been motivated to do this modification in order to execute source code via an executable file, as suggested by Lopez (Para. 401).
It is noted that any citations to specific, pages, columns, lines, or figures in the prior art references and any interpretation of the reference should not be considered to be limiting in any way. A reference is relevant for all it contains and may be relied upon for all that it would have reasonably suggested to one having ordinary skill in the art. See MPEP 2123.
Citation of Pertinent Prior Art
The following prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
U.S. Pub. No. 2018/0217571 by Rischar et al., which discloses techniques for improving industrial control systems including modify/updating systems without disrupting or compromising ability of industrial controller to maintain continuous control (Title/Abstract).
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Saad M. Kabir whose telephone number is 571-270-0608 (direct fax number is 571-270-9933). The examiner can normally be reached on Mondays to Fridays 9am to 5pm EST.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Mohammad Ali can be reached on 571-272-4105. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/SAAD M KABIR/
Examiner, Art Unit 2119
/MOHAMMAD ALI/Supervisory Patent Examiner, Art Unit 2119