Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This office action is in response to amendments filed on March 17, 2026.
Claims 1, 3, 5, 9-11, and 13 have been amended.
Claim 2 has been canceled.
Claims 1 and 3-13 are pending.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 3, 5-7, and 9-13 are rejected under 35 U.S.C. 103 as being unpatentable over Almasan et al. (US20190121669A1) in further view of Nixon et al. (US20210089354A1).
Regarding claim 1, Almasan teaches a method … the method comprising:
sending an input data set from an … device to a container manager, the input data set comprising at least input metadata (Systems, methods, and articles of manufacture (collectively, the “system”) for executing tasks using modular code ... The system may receive a task request ... The task request may also be generated by another system ... Each task and/or feature may comprise at least one functional component and at least one data component ... functional components may comprise information indicating the metadata, identifier, etc.)([0003], [0020], and [0021]; input data set (i.e., task) is sent from a device (i.e., another system) to a container manager (i.e., system for processing tasks), the task comprises input metadata (i.e., information of functional components));
determining, by the container manager and based on the input metadata, a runtime container for processing input data (configured to select code containers 143 from code container environment 140 (step 208) ... based on the functional components)([0045]; a runtime container (i.e., code container) is selected based on functional components);
generating output data based on the input data by an application of the runtime container (configured to generate the result set (step 216) ... based on the selected code containers ... the result set may be generated by executing code from each selected code container 143 to process the corresponding data)([0048]; output data (i.e., a result) is generated by execution of the selected code container);
generating an output data set by the container manager, the output data set comprising at least output metadata (a result set may comprise data such as, “Country=USA, Population=300,000,000, Per-Capita income=$100,000.”... The generated result list may be formatted according to any suitable specification or format)([0042] and [0048]; an output data set (i.e., formatted result) is generated based on the result and includes output metadata (e.g., data such as “USA”, “300,000,000”, etc.)); and
sending the output data set from the container manager to the … device (be transmitted to a user, system, or the like that originated the task request)([0048]).
Although Almasan discloses of sending data directly to the container (generate the result set based on the selected code containers and the selected data containers or data … the result set may be generated by executing code from each selected code container 143 to process the corresponding data)([0048]). Almasan differs from the claim in that Almasan fails to teach implementing the method in an industrial automation system such that data is sent directly from an industrial control device to the container for processing, which then outputs data back to the industrial control device.
However, implementing a method in an industrial automation system comprising of sending data directly from an industrial control device to a container for processing and providing processed output to the industrial control device is taught by Nixon (The present disclosure relates generally to process plants and process control systems ... FIG. 9 depicts a control execution flow 320 ... the control execution flow 320 includes a function block diagram 322 … function block 326-4 being a shadow block that interfaces with a container 330 containing a custom calculation engine 332 ... custom calculation engine 332 processes that input data 334 to generate output data 336 ... which drives a set-point input of the PID function)([0001], [0113], and [0114]; Figure 9 reference elements 322 and 330 – an exemplary implementation of a plant PID controller sending data directly to a container for processing and providing processed output is shown).
The examiner notes Almasan and Nixon teach a method for using containers to process data. As such, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Almasan to include the implementing of Nixon such that the method is implemented in an industrial automation system which sends data directly from an industrial control device to a container for processing and provides processed output to the industrial control device. One would be motivated to make such a combination to provide the advantage of providing modular control to an industrial processes thereby increasing industrial efficiency.
Regarding claim 3, Almasan teaches a method performed by an … device in an … system, the method comprising:
sending an input data set to a container manager, the input data set comprising at least input metadata (Systems, methods, and articles of manufacture (collectively, the “system”) for executing tasks using modular code ... The system may receive a task request ... The task request may also be generated by another system ... Each task and/or feature may comprise at least one functional component and at least one data component ... functional components may comprise information indicating the metadata, identifier, etc.)([0003], [0020], and [0021]; input data set (i.e., task) is sent from a device (i.e., another system) to a container manager (i.e., system for processing tasks), the task comprises input metadata (i.e., information of functional components)), the input metadata facilitating the container manager to determine a runtime container to generate output data based on input data (configured to select code containers 143 from code container environment 140 (step 208) ... based on the functional components)([0045]; a runtime container (i.e., code container) is selected to generated output based on functional components); and
receiving an output data set from the container manager, the output data set comprising at least output metadata (a result set may comprise data such as, “Country=USA, Population=300,000,000, Per-Capita income=$100,000.”... configured to generate the result set (step 216) ... based on the selected code containers ... the result set may be generated by executing code from each selected code container 143 to process the corresponding data … The generated result list may be formatted according to any suitable specification or format … be transmitted to a user, system, or the like that originated the task request)([0042] and [0048]; output data (i.e., a result) is generated by execution of the selected code container and used to generate an output data set (i.e., formatted result), the output includes metadata (e.g., data such as “USA”, “300,000,000”, etc.) and is transmitted back to the device).
Although Almasan discloses of sending data directly to the container (generate the result set based on the selected code containers and the selected data containers or data … the result set may be generated by executing code from each selected code container 143 to process the corresponding data)([0048]). Almasan differs from the claim in that Almasan fails to teach the method is performed by industrial control device in an industrial automation system such that data is sent directly from the industrial control device to the container for processing, which then outputs data back to the industrial control device.
However, performing a method by an industrial control device in an industrial automation system comprising of sending data directly from the industrial control device to a container for processing and providing processed output to the industrial control device is taught by Nixon (The present disclosure relates generally to process plants and process control systems ... FIG. 9 depicts a control execution flow 320 ... the control execution flow 320 includes a function block diagram 322 … function block 326-4 being a shadow block that interfaces with a container 330 containing a custom calculation engine 332 ... custom calculation engine 332 processes that input data 334 to generate output data 336 ... which drives a set-point input of the PID function)([0001], [0113], and [0114]; Figure 9 reference elements 322 and 330 – an exemplary implementation of a plant PID controller sending data to a container for processing and providing processed output is shown).
The examiner notes Almasan and Nixon teach a method for using containers to process data. As such, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Almasan-Nixon to include the performing of Nixon such that the method is performed by an industrial control device in an industrial automation system in which data is sent directly from the industrial control device to a container for processing and provides processed output to the industrial control device. One would be motivated to make such a combination to provide the advantage of providing modular control to an industrial processes thereby increasing industrial efficiency.
Regarding claim 5, Almasan-Nixon teach the method according to claim 1, wherein the input metadata comprise an input identifier or a timestamp, wherein the output data set comprises the output metadata, and wherein the output metadata comprise a same input identifier as the associated input metadata (Almasan - For example, wherein a task request comprises data to “find the country with the highest per capita income from amongst the countries with most population,” a result set may comprise data such as, “Country=USA, Population=300,000,000, Per-Capita income=$100,000.”)([0042]; input and output metadata includes same identifiers (e.g., “capita income”)).
Regarding claim 6, Almasan-Nixon teach the method according to claim 1, wherein the input metadata comprise a return address (Almasan - Each task and/or feature may comprise at least one functional component and at least one data component ... The data components may comprise information indicating the data needed to complete each task and/or feature … identifier, key, etc. of the data)([0021]; input metadata includes a return address (i.e., an identifier where data is returned from)).
Regarding claim 7, Almasan-Nixon teach the method according to claim 1, wherein the input metadata comprise a container identifier (Almasan - the functional components may also comprise information indicating a specific code container 143 to execute (e.g., via code container ID, or the like)([0021]).
Regarding claim 9, Almasan-Nixon teach the method according to claim 1, wherein the output data set comprises the output metadata and the output metadata comprise a status (Almasan - the system and method may include alerting a subscriber when their computer is offline. The system may include generating customized information (e.g., the result set) and alerting a remote subscriber)([0050]).
Regarding claim 10, Almasan-Nixon teach the method according to claim 1, wherein the determining of the runtime container for processing the input data comprises:
initiating a new runtime container; or selecting an already running runtime container (Almasan -In response to feature processor 120 attempting to select code container 143A for a second task and/or feature, code container replicator module 145 may be configured to spawn a temporary copy of code container 143A)([0033]).
Regarding claim 11, Almasan-Nixon teach the method according to claim 1, wherein the determining of the runtime container for processing the input data is further based on a current utilization of processing resources for operating runtime containers (Almasan - In response to feature processor 120 selecting a code container 143 that was previously locked, feature processor 120 may instruct code container replicator module 145 to spawn a copy of that corresponding code container 143)([0045]; selection of a code container is based on if the code container is utilized (i.e., locked)).
Regarding claim 12, Almasan teaches a system or an apparatus (in various embodiments, the embodiments are directed toward one or more computer systems capable of carrying out the functionality described herein)([0062]) to perform the method comprising:
sending an input data set from an … device to a container manager, the input data set comprising at least input metadata (Systems, methods, and articles of manufacture (collectively, the “system”) for executing tasks using modular code ... The system may receive a task request ... The task request may also be generated by another system ... Each task and/or feature may comprise at least one functional component and at least one data component ... functional components may comprise information indicating the metadata, identifier, etc.)([0003], [0020], and [0021]; input data set (i.e., task) is sent from a device (i.e., another system) to a container manager (i.e., system for processing tasks), the task comprises input metadata (i.e., information of functional components));
determining, by the container manager and based on the input metadata, a runtime container for processing input data (configured to select code containers 143 from code container environment 140 (step 208) ... based on the functional components)([0045]; a runtime container (i.e., code container) is selected based on functional components);
generating output data based on the input data by an application of the runtime container (configured to generate the result set (step 216) ... based on the selected code containers ... the result set may be generated by executing code from each selected code container 143 to process the corresponding data)([0048]; output data (i.e., a result) is generated by execution of the selected code container);
generating an output data set by the container manager, the output data set comprising at least output metadata (a result set may comprise data such as, “Country=USA, Population=300,000,000, Per-Capita income=$100,000.”... The generated result list may be formatted according to any suitable specification or format)([0042] and [0048]; an output data set (i.e., formatted result) is generated based on the result and includes output metadata (e.g., data such as “USA”, “300,000,000”, etc.)); and
sending the output data set from the container manager to the … device (be transmitted to a user, system, or the like that originated the task request)([0048]).
Although Almasan discloses of sending data directly to the container (generate the result set based on the selected code containers and the selected data containers or data … the result set may be generated by executing code from each selected code container 143 to process the corresponding data)([0048]). Almasan differs from the claim in that Almasan fails to teach implementing the method in an industrial automation system such that data is sent directly from an industrial control device to the container for processing, which then outputs data back to the industrial control device.
However, implementing a method in an industrial automation system comprising of sending data directly from an industrial control device to a container for processing and providing processed output to the industrial control device is taught by Nixon (The present disclosure relates generally to process plants and process control systems ... FIG. 9 depicts a control execution flow 320 ... the control execution flow 320 includes a function block diagram 322 … function block 326-4 being a shadow block that interfaces with a container 330 containing a custom calculation engine 332 ... custom calculation engine 332 processes that input data 334 to generate output data 336 ... which drives a set-point input of the PID function)([0001], [0113], and [0114]; Figure 9 reference elements 322 and 330 – an exemplary implementation of a plant PID controller sending data directly to a container for processing and providing processed output is shown).
The examiner notes Almasan and Nixon teach a method for using containers to process data. As such, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Almasan to include the implementing of Nixon such that the method is implemented in an industrial automation system which sends data directly from an industrial control device to a container for processing and provides processed output to the industrial control device. One would be motivated to make such a combination to provide the advantage of providing modular control to an industrial processes thereby increasing industrial efficiency.
Regarding claim 13, Almasan teaches non-transitory computer-readable medium storing a computer program thereon (the system may take the form of a computer program product on a computer-readable storage medium having computer-readable program code means embodied in the storage medium)([0094]) that, when executed by a computer, cause the computer (the computer programs, when executed, enable the processor to perform the features of various embodiments)([0068]) to carry out the method comprising:
sending an input data set from an … device to a container manager, the input data set comprising at least input metadata (Systems, methods, and articles of manufacture (collectively, the “system”) for executing tasks using modular code ... The system may receive a task request ... The task request may also be generated by another system ... Each task and/or feature may comprise at least one functional component and at least one data component ... functional components may comprise information indicating the metadata, identifier, etc.)([0003], [0020], and [0021]; input data set (i.e., task) is sent from a device (i.e., another system) to a container manager (i.e., system for processing tasks), the task comprises input metadata (i.e., information of functional components));
determining, by the container manager and based on the input metadata, a runtime container for processing input data (configured to select code containers 143 from code container environment 140 (step 208) ... based on the functional components)([0045]; a runtime container (i.e., code container) is selected based on functional components);
generating output data based on the input data by an application of the runtime container (configured to generate the result set (step 216) ... based on the selected code containers ... the result set may be generated by executing code from each selected code container 143 to process the corresponding data)([0048]; output data (i.e., a result) is generated by execution of the selected code container);
generating an output data set by the container manager, the output data set comprising at least output metadata (a result set may comprise data such as, “Country=USA, Population=300,000,000, Per-Capita income=$100,000.”... The generated result list may be formatted according to any suitable specification or format)([0042] and [0048]; an output data set (i.e., formatted result) is generated based on the result and includes output metadata (e.g., data such as “USA”, “300,000,000”, etc.)); and
sending the output data set from the container manager to the … device (be transmitted to a user, system, or the like that originated the task request)([0048]).
Although Almasan discloses of sending data directly to the container (generate the result set based on the selected code containers and the selected data containers or data … the result set may be generated by executing code from each selected code container 143 to process the corresponding data)([0048]). Almasan differs from the claim in that Almasan fails to teach implementing the method in an industrial automation system such that data is sent directly from an industrial control device to the container for processing, which then outputs data back to the industrial control device.
However, implementing a method in an industrial automation system comprising of sending data directly from an industrial control device to a container for processing and providing processed output to the industrial control device is taught by Nixon (The present disclosure relates generally to process plants and process control systems ... FIG. 9 depicts a control execution flow 320 ... the control execution flow 320 includes a function block diagram 322 … function block 326-4 being a shadow block that interfaces with a container 330 containing a custom calculation engine 332 ... custom calculation engine 332 processes that input data 334 to generate output data 336 ... which drives a set-point input of the PID function)([0001], [0113], and [0114]; Figure 9 reference elements 322 and 330 – an exemplary implementation of a plant PID controller sending data directly to a container for processing and providing processed output is shown).
The examiner notes Almasan and Nixon teach a method for using containers to process data. As such, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Almasan to include the implementing of Nixon such that the method is implemented in an industrial automation system which sends data directly from an industrial control device to a container for processing and provides processed output to the industrial control device. One would be motivated to make such a combination to provide the advantage of providing modular control to an industrial processes thereby increasing industrial efficiency.
Claims 4 and 8 are rejected under 35 U.S.C. 103 as being unpatentable over Almasan, Nixon, and in further view of Wisniewski et al. (US20170177413A1).
Regarding claim 4, Almasan-Nixon teach the method as applied above, wherein input metadata is received (Almasan - The system may receive a task request)([0003]). Almasan-Nixon differs from the claim in that Almasan-Nixon fails to teach the input metadata comprises a container type.
However, receiving a request including metadata comprising a container type is taught by Wisniewski (The virtual compute system 110 can handle the acquisition and configuration of compute capacity (e.g., containers, instances, etc., which are described in greater detail below) based on the code execution request … each virtual machine instance is configured to satisfy at least one of the operating conditions that may be requested or specified by the user ... operating conditions may include program languages ... the amount of compute power to be used ... security policies)([0025] and [0035]; a request includes a desired type of container (e.g., program language)).
The examiner notes Almasan, Nixon, and Wisniewski teach a method for using containers to process data. As such, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Almasan-Nixon to include the receiving of Wisniewski such that the method receives input metadata comprising a container type. One would be motivated to make such a combination to provide the advantage of improving execution of code by facilitating proper container selection.
Regarding claim 8, Almasan-Nixon teach the method as applied above, wherein input metadata is received (Almasan - The system may receive a task request)([0003]). Almasan-Nixon differs from the claim in that Almasan-Nixon fails to teach the input metadata comprises a policy.
However, receiving a request including metadata comprising a policy is taught by Wisniewski (The virtual compute system 110 can handle the acquisition and configuration of compute capacity (e.g., containers, instances, etc., which are described in greater detail below) based on the code execution request … each virtual machine instance is configured to satisfy at least one of the operating conditions that may be requested or specified by the user ... operating conditions may include program languages ... the amount of compute power to be used ... security policies)([0025] and [0035]; a request includes security policies).
The examiner notes Almasan, Nixon, and Wisniewski teach a method for using containers to process data. As such, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Almasan-Nixon to include the receiving of Wisniewski such that the method receives input metadata comprising a policy. One would be motivated to make such a combination to provide the advantage of improving execution of code by facilitating proper container selection.
Response to Arguments
Applicant's arguments, see page 5 of applicant's remarks, filed March 17, 2026, with respect to the 35 U.S.C. §101 rejection have been fully considered and are persuasive. The 35 U.S.C. §101 rejection has been withdrawn.
Applicant's arguments, see pages 5-7 of applicant's remarks, filed March 17, 2026, with respect to the 35 U.S.C. §103 rejection have been fully considered but they are not persuasive.
Regarding claims 1 and 3-13, the applicant argue the combination of Almasan and Nixon fails to teach “sending the input data directly from the industrial control device to the runtime container”; the examiner respectfully disagrees.
Almasan discloses another device (i.e., another system) sending a data set (i.e., task) from another device (i.e., another system) to a container manager (i.e., system for processing tasks) “Systems, methods, and articles of manufacture (collectively, the “system”) for executing tasks using modular code ... The system may receive a task request ... The task request may also be generated by another system” ([0003], [0020]), determining a runtime container (i.e., code container) “configured to select code containers 143 from code container environment 140 (step 208)” ([0045]), and sending data directly to the runtime container to generate output data “configured to generate the result set (step 216) ... generate the result set based on the selected code containers and the selected data containers or data … the result set may be generated by executing code from each selected code container 143 to process the corresponding data” ([0048]).
Nixon discloses implementing a method in an industrial automation system comprising of sending data directly from an industrial control device to a container for processing and providing processed output to the industrial control device “The present disclosure relates generally to process plants and process control systems ... FIG. 9 depicts a control execution flow 320 ... the control execution flow 320 includes a function block diagram 322 … function block 326-4 being a shadow block that interfaces with a container 330 containing a custom calculation engine 332 ... custom calculation engine 332 processes that input data 334 to generate output data 336 ... which drives a set-point input of the PID function” ([0001], [0113], and [0114]). Notably, Nixon depicts in Figure 9 of an exemplary implementation of a plant PID controller (i.e., reference element 322) sending data directly to a container (i.e., reference element 330) for processing and providing processed output.
The examiner recognizes that obviousness may be established by combining or modifying the teachings of the prior art to produce the claimed invention where there is some teaching, suggestion, or motivation to do so found either in the references themselves or in the knowledge generally available to one of ordinary skill in the art. See In re Fine, 837 F.2d 1071, 5 USPQ2d 1596 (Fed. Cir. 1988), In re Jones, 958 F.2d 347, 21 USPQ2d 1941 (Fed. Cir. 1992), and KSR International Co. v. Teleflex, Inc., 550 U.S. 398, 82 USPQ2d 1385 (2007). In this case, Almasan and Nixon teach a method for using containers to process data. As such, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Almasan to include the implementing of Nixon such that the method is implemented in an industrial automation system which sends data directly from an industrial control device to a container for processing and provides processed output to the industrial control device. One would be motivated to make such a combination to provide the advantage of providing modular control to an industrial processes thereby increasing industrial efficiency.
Conclusion
The prior art made of record on form PTO-892 and not relied upon is considered pertinent to applicant's disclosure. Applicant is required under 37 C.F.R. § 1.111(c) to consider the reference fully when responding to this action. The document cited therein and enumerated below teaches a method and apparatus for using containers to control an industrial automation system.
US20200401089A1
US20210019416A1
US20240004688A1
A Container-based IoT-oriented Programmable Logical Controller
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 nonprovisional extension fee (37 CFR 1.17(a)) 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 Yongjia Pan whose telephone number is (571)270-1177. The examiner can normally be reached Monday - Friday, 9:00 AM - 5:00 PM EST.
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, Scott Baderman can be reached at 571-272-3644. 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.
/YONGJIA PAN/Primary Examiner, Art Unit 2118