IP Library Granted Patent US 12,487,582
Granted Patent B2
US 12,487,582 · App. 17/955,114 · Granted Dec 2, 2025

Systems and methods for condition-based deployment of chainable compute operations for constrained computing devices

Inventors: Nathaniel S. Sandler (Chagrin Falls, OH); Christopher W. Como (Chagrin Falls, OH); Todd A. Wiese (Hubertus, WI); James M Teal (New Brunswick, NJ); Michael J. Anthony (Milwaukee, WI)
Assignee: Rockwell Automation Technologies, Inc.
G05B19/4155G05B2219/31368
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,487,582
App. No.
17/955,114
Granted
Dec 2, 2025
Kind
B2
Abstract

A non-transitory computer readable medium stores instructions that cause a processor to receive an indication of an event associated with an industrial automation system, wherein the industrial automation system includes a plurality of devices configured to perform a plurality of operations within the industrial automation system, and wherein each of the plurality of devices includes a compute surface configured to perform one or more software tasks, determine a plurality of data processing tasks to perform based on the event, identify a portion of the plurality of devices to perform the plurality of data processing tasks based on the compute surface available for each of the plurality of devices, and deploy a container to each of the portion of the plurality of devices, wherein each container of each of the portion of the plurality of devices is configured to perform at least one of the plurality of data processing tasks.

Claims (44)

1 . A non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to perform actions comprising:

receiving an indication of an event associated with an industrial automation system, wherein the industrial automation system comprises a plurality of devices configured to perform a plurality of operations within the industrial automation system, and wherein each of the plurality of devices comprises a compute surface configured to perform one or more software tasks;

determining a plurality of data processing tasks to perform based on the event;

identifying a portion of the plurality of devices to perform the plurality of data processing tasks based on the compute surface available for each of the plurality of devices; and

deploying a container to each of the portion of the plurality of devices, wherein each container of each of the portion of the plurality of devices is configured to perform at least one of the plurality of data processing tasks, and wherein at least one of each container deployed to each of the portion of the plurality of devices is configured to:

receive resultant data from at least two additional containers of each container deployed to the portion of the plurality of devices; and

compare the resultant data received from the at least two additional containers of each container deployed to the portion of the plurality of devices.

2 . The non-transitory computer readable medium of claim 1 , wherein at least two of the containers deployed to the portion of the plurality of devices are configured to perform parallel data processing tasks.

3 . The non-transitory computer readable medium of claim 2 , wherein the parallel data processing tasks are the same.

4 . The non-transitory computer readable medium of claim 2 , wherein the parallel data processing tasks are different from one another.

5 . The non-transitory computer readable medium of claim 1 , wherein the at least one of the containers deployed to the portion of the plurality of devices is configured to:

combine the resultant data received from a first container and a second container of the at least two of the containers deployed to the portion of the plurality of devices; and

transmit the combined resultant data to a third container deployed to a device of the portion of the plurality of devices.

6 . The non-transitory computer readable medium of claim 1 , wherein the instructions, when executed by the processor, cause the processor to perform the actions comprising:

receiving an indication that one of the deployed containers has stopped executing; and

deploy a replacement container, wherein the replacement container is configured to reconstruct data lost as a result of the one of the deployed containers stopping execution.

7 . The non-transitory computer readable medium of claim 1 , wherein deploying the container to each of the portion of the plurality of devices comprises deploying a pod of containers, wherein the pod of containers comprises a plurality of containers configured to coordinate to perform one or more of the plurality of data processing tasks.

8 . A method, comprising:

receiving, via one or more processors, an alert associated with an industrial automation system, wherein the industrial automation system comprises a plurality of devices configured to perform a plurality of operations within the industrial automation system, and wherein each of the plurality of devices comprises a respective compute surface configured to perform one or more software tasks;

determining, via the one or more processors, a plurality of data processing tasks to perform based on the alert;

identifying, via the one or more processors, a portion of the plurality of devices to perform the plurality of data processing tasks based on respective resources available to the respective compute surface available for each of the plurality of devices;

generating, via the one or more processors, a data processing flow identifying one or more of the plurality of data processing tasks assigned to each of the portion of the plurality of devices; and

deploying, via the one or more processors, a plurality of containers to the portion of the plurality of devices, wherein each of the plurality of containers is configured to perform the one or more of the plurality of data processing tasks, and wherein at least one the plurality of containers deployed to the portion of the plurality of devices is configured to:

receive resultant data from at least two additional containers of the plurality of containers deployed to the portion of the plurality of devices; and

compare the resultant data received from the at least two additional containers of the plurality of containers.

9 . The method of claim 8 , wherein the plurality of containers comprises a data acquisition container configured to collect data from the industrial automation system.

10 . The method of claim 8 , wherein the plurality of containers comprises a condition identification container configured to identify a condition associated with the alert based on data collected from the industrial automation system.

11 . The method of claim 8 , wherein the plurality of containers comprises a causal analysis container configured to identify a cause associated with the alert based on data collected from the industrial automation system.

12 . The method of claim 8 , wherein the plurality of containers comprises a remedial action identification container configured to identify a remedial action to remedy a condition associated with the alert based on data collected from the industrial automation system.

13 . The method of claim 12 , comprising: transmitting for display via a graphical user interface (GUI), an indication of the identified remedial action to remedy the condition associated with the alert.

14 . The method of claim 13 , comprising: receiving, via the GUI, an input approving the remedial action.

15 . The method of claim 12 , comprising: automatically implementing the identified remedial action.

16 . The method of claim 12 , wherein the remedial action comprises adjusting one or more operating parameters, replacing a part, replacing a component, performing a maintenance operation, restarting a device of the plurality of devices, updating software, updating firmware, scheduling service, scheduling maintenance, or any combination thereof.

17 . A non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to perform actions comprising:

receiving an indication of an event associated with a device of a plurality of devices of an industrial automation system configured to perform a plurality of operations within the industrial automation system;

determining a plurality of data processing tasks to perform based on the event;

determining that the device does not have sufficient resources to perform the plurality of data processing tasks;

identifying a portion of the plurality of devices to perform the plurality of data processing tasks based on resources available for each of the plurality of devices;

assigning one or more of the plurality of data processing tasks to each of the portion of the plurality of devices; and

deploying a container to each of the portion of the plurality of devices, wherein each container of each of the portion of the plurality of devices is configured to perform a respective one or more of the plurality of data processing tasks, and wherein at least one of each container deployed to each of the portion of the plurality of devices is configured to:

receive resultant data from at least two additional containers of each container deployed to the portion of the plurality of devices;

combine the resultant data; and

transmit the combined resultant data to a third container of each container deployed to the portion of the plurality of devices.

18 . The non-transitory computer readable medium of claim 17 , wherein the instructions, when executed by the processor, cause the processor to perform the actions comprising: determining that the device does not have sufficient computing resources to perform the plurality of operations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2022
From: SANDLER, NATHANIEL S.; COMO, CHRISTOPHER W.; WIESE, TODD A.; TEAL, JAMES M.; ANTHONY, MICHAEL J.
To: ROCKWELL AUTOMATION TECHNOLOGIES, INC.
Reel/Frame 061246/0449 →
Continuity (1)
Related Publication 20240103493A1 · Mar 28, 2024
References Cited (47)
US 9256467B1 · Singh · 2016 [cited by examiner]
US 9794287B1 · Koster · 2017 [cited by examiner]
US 10715388B2 · Fildebrandt et al. · 2020 [cited by applicant]
US 11182206B2 · Jung et al. · 2021 [cited by applicant]
US 11474873B2 · Biernat et al. · 2022 [cited by applicant]
US 11513877B2 · Biernat et al. · 2022 [cited by applicant]
US 20130212129A1 · Lawson · 2013 [cited by examiner]
US 20160350173A1 · Ahad · 2016 [cited by examiner]
US 20170142203A1 · Zhang · 2017 [cited by examiner]
US 20180024537A1 · Chauvet et al. · 2018 [cited by applicant]
US 20180054469A1 · Simoncelli · 2018 [cited by applicant]
US 20190042378A1 · Wouhaybi · 2019 [cited by examiner]
US 20190101884A1 · Miller · 2019 [cited by examiner]
US 20190340048A1 · Brown · 2019 [cited by examiner]
US 20190377604A1 · Cybulski · 2019 [cited by applicant]
US 20200136906A1 · Bernat et al. · 2020 [cited by applicant]
US 20200249928A1 · Zeng et al. · 2020 [cited by applicant]
US 20200278892A1 · Nainar et al. · 2020 [cited by applicant]
US 20200311617A1 · Swan et al. · 2020 [cited by applicant]
US 20200320034A1 · Stawikowski · 2020 [cited by examiner]
US 20200401089A1 · McLaughlin · 2020 [cited by examiner]
US 20210021619A1 · Smith et al. · 2021 [cited by applicant]
US 20210048998A1 · Myers · 2021 [cited by examiner]
US 20210089354A1 · Nixon et al. · 2021 [cited by applicant]
US 20210200814A1 · Tal et al. · 2021 [cited by applicant]
US 20210218617A1 · Palavalli et al. · 2021 [cited by applicant]
US 20210303365A1 · Li · 2021 [cited by examiner]
US 20210382727A1 · Vigil et al. · 2021 [cited by applicant]
US 20220012149A1 · Doshi · 2022 [cited by examiner]
US 20220027217A1 · Thoemmes et al. · 2022 [cited by applicant]
US 20220091572A1 · Biernat et al. · 2022 [cited by applicant]
US 20220171648A1 · Rodriguez et al. · 2022 [cited by applicant]
US 20220308859A1 · Koziolek · 2022 [cited by examiner]
US 20220404799A1 · Amaro, Jr. · 2022 [cited by examiner]
US 20230169168A1 · Magen Medina · 2023 [cited by examiner]
KR 20200027783A · 2020 [cited by applicant]
WO 2020184362A1 · 2020 [cited by applicant]
Extended European Search Report for European Patent Application No. 21179775.8, dated Nov. 25, 2021, 9 pages. [cited by applicant]
Partial European Search Report for European Patent Application No. 21180068.5, dated Dec. 8, 2021, 17 pages. [cited by applicant]
Marshall, “Industry 4.0: The PLC evolves from Controller to Cloud Interface,” Feb. 9, 2018, https://www.rs-online.com/designspark/evolution-of-the-industrial-picfrom-controller-to-cloud-interface , retrieved on Nov. 29,… [cited by applicant]
European Search Report for European Patent Application No. 21180068.5, dated Mar. 28, 2022,19 Pages. [cited by applicant]
Anonymous, “Pull an Image from a Private Registry”, Kubernetes, retrieved on Mar. 18, 2022, 5 Pages, https://web.archive.org/web/20171003051312/https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private… [cited by applicant]
European Search Report for European Patent Application No. 21180279.8, dated Apr. 19, 2022,12 Pages. [cited by applicant]
D. Elliott, C. Otero, M. Ridley and X. Merino, “A Cloud-Agnostic Container Orchestrator for Improving Interoperability,” 2018 IEEE 11th International Conference on Cloud Computing (CLOUD), 2018, pp. 958-961, doi: 10.110… [cited by applicant]
A. Khan, “Key Characteristics of a Container Orchestration Platform to Enable a Modern Application,” in IEEE Cloud Computing, vol. 4, No. 5, pp. 42-48, Sep./Oct. 2017, doi: 10.1109/MCC.2017.4250933. (Year: 2017). [cited by applicant]
Liu, Y. et al., “A Data-Centric Internet of Things Framework Based on Azure Cloud,” IEEE Access, vol. 7, Mar. 27, 2019, 20 pages. [cited by applicant]
Extended European Search Report for Application No. 23198473.3 mailed Jan. 29, 2024, 10 pages. [cited by applicant]