IP Library Granted Patent US 12,379,919
Granted Patent B2
US 12,379,919 · App. 18/402,423 · Granted Aug 5, 2025

Containerized modeling of device updates or modifications via digital twins

Inventors: Nathaniel S. Sandler (Chagrin Falls, OH); Rob A Entzminger (Shawnee, KS); David C. Mazur (Mequon, WI); Bruce T. McCleave, Jr. (Mission Viejo, CA); Jonathan Alan Mills (Mayfield Heights, OH); Patrick E. Ozimek (Mequon, WI); Tim S. Biernat (Franklin, WI); Michael J. Anthony (Milwaukee, WI); Chris Softley (Midlothian, GB)
Assignee: Rockwell Automation Technologies, Inc.
G06F8/65
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,379,919
App. No.
18/402,423
Granted
Aug 5, 2025
Kind
B2
Abstract

A method may include receiving an indication of an available updated container. The method may also involve identifying one or more compute surfaces comprising a first container and a second container that correspond to the available container, such that the first container may control one or more operations of an operational technology (OT) device. The method may also include scheduling a deployment of the updated container to replace the second container, receiving expected output data associated with a digital model associated with the OT device, and scheduling a switchover of control of the one or more operations to the second container based on the expected output data.

Claims (48)

1. A system, comprising:

a plurality of devices configured to perform a plurality of operations within an industrial automation system, wherein each of the plurality of devices comprises a compute surface configured to execute a respective container of a plurality of containers of a container orchestration system;

a processing system configured to:

receive an indication of inoperability of a device of the plurality of devices, the device associated with a first container of the plurality of containers configured to control one or more operations of the device;

identify a second container of the plurality of containers performing digital twin operations of the first container in response to receiving the indication, wherein the second container is configured to store data associated with a period of time preceding the indication of inoperability;

receive the data from the second container;

identify one or more additional operations of the device associated with the inoperability of the device based on the data;

identify a cause associated with the indication of inoperability based on the one or more additional operations of the device; and

transfer the control of the one or more operations of the device to the second container.

2. The system of claim 1 , wherein the processing system is configured to execute a master container node configured to schedule deployment of the first container, the second container, or both to a respective compute surface.

3. The system of claim 1 , wherein the data comprises state information of the first container, state information of the compute surface, machine state data associated with the device, or any combination thereof.

4. The system of claim 1 , wherein the indication of inoperability is associated with inoperability of the first container.

5. The system of claim 4 , wherein the second container is configured to retrieve the data in response to receiving the indication of inoperability.

6. The system of claim 1 , wherein the processing system is configured to:

retrieve a plurality of machine state datasets associated with a plurality of computing nodes of the container orchestration system;

identify a computing node of the plurality of computing nodes to host the second container based on the plurality of machine state datasets; and

cause deployment of the second container to the computing node, wherein the second container is configured to replace the first container.

7. The system of claim 1 , wherein the plurality of devices comprises at least one operational technology device configured to operate within an operational technology network.

8. The system of claim 1 , wherein the first container is deployed on a first computing surface and the second container is deployed on a second computing surface.

9. The system of claim 8 , wherein the first computing surface is different from the second computing surface.

10. A method, comprising:

receiving, via a processing system, an indication of inoperability of an operational technology (OT) device of a plurality of OT devices, wherein the indication of inoperability is associated with inoperability of one or more operations of a first container;

in response to receiving the indication of inoperability, identifying, via the processing system, one or more compute surfaces of a plurality of computing surfaces comprising the first container and a second container that correspond to the OT device, wherein the first container is configured to control one or more operations of the OT device and the second container is configured to perform digital twin operations of the first container;

receiving, via the processing system and from the second container, data associated with the indication of inoperability of the OT device, wherein the second container is configured to retrieve the data in response to the indication of inoperability, the data associated with a period of time preceding the indication of inoperability;

identifying, via the processing system, a cause associated with the inoperability of the first container based on the data; and

transferring, via the processing system, the control of the one or more operations of the OT device to the second container.

11. The method of claim 10 , wherein the data comprises state information of the first container, state information of a compute surface of the plurality of computing surfaces associated with the first container, machine state datasets associated with the OT device, or any combination thereof.

12. The method of claim 10 , comprising:

receiving, via the processing system, a plurality of machine state datasets associated with the plurality of computing surfaces;

identifying, via the processing system, an additional computing surface of the plurality of computing surfaces as a suitable host for the second container based on the plurality of machine state datasets; and

scheduling, via the processing system, a deployment of the second container to the additional computing surface.

13. The method of claim 10 , wherein the indication of inoperability is associated with inoperability of the OT device, and wherein the second container is configured to store the data in response to the indication of inoperability, and wherein the method comprises:

identifying, via the processing system, one or more additional operations of the OT device associated with the inoperability of the OT device based on the data.

14. A non-transitory computer-readable medium comprising instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations comprising:

receiving an indication of inoperability of an operational technology (OT) device of a plurality of OT devices;

in response to receiving the indication of inoperability, identifying a first container configured to perform one or more first operations of a digital model associated with the OT device;

retrieving data associated with the indication of inoperability of the OT device from the first container, the data associated with a period of time preceding the indication of inoperability;

identifying a cause associated with the indication of inoperability based on the data, wherein the data comprises state information of the device, state information of a compute surface associated with a device container, or machine state datasets associated with the OT device; and

transferring one or more second operations of the OT device from the device container to the first container.

15. The non-transitory computer-readable medium of claim 14 , wherein the instructions cause the processing circuitry to perform the operations comprising:

receiving a plurality of machine state datasets associated with a plurality of computing surfaces;

identifying a first computing surface of the plurality of computing surfaces as a suitable host for the first container based on the plurality of machine state datasets; and

scheduling a deployment of the first container to the first computing surface, wherein the first container is configured to replace the device container.

16. The method of claim 10 , comprising executing, via the processing system, a master container node configured to schedule deployment of the first container, the second container, or both to a respective compute surface.

17. The method of claim 10 , wherein the OT device is configured to operate within an operational technology network.

18. The non-transitory computer-readable medium of claim 14 , wherein the instructions cause the processing circuitry to perform the operations comprising executing a master container node configured to schedule deployment of the first container, the device container, or both to a respective compute surface.

19. The non-transitory computer-readable medium of claim 14 , wherein the OT device is configured to operate within an operational technology network.

20. The non-transitory computer-readable medium of claim 14 , wherein the first container is deployed on a first computing surface and the device container is deployed on a second computing surface different from the first computing surface.

Continuity (2)
Continuation 17953783 · Sep 27, 2022
Related Publication 20240134630A1 · Apr 25, 2024
References Cited (47)
US 9870219B1 · Manthiramoorthy · 2018 [cited by examiner]
US 10007509B1 · Qureshi · 2018 [cited by examiner]
US 10715388B2 · Fildebrandt et al. · 2020 [cited by applicant]
US 11182206B2 · Jung et al. · 2021 [cited by applicant]
US 11184233B1 · Neelakantam · 2021 [cited by examiner]
US 11237892B1 · Kedlaya · 2022 [cited by examiner]
US 11474873B2 · Biernat et al. · 2022 [cited by applicant]
US 11513877B2 · Biernat et al. · 2022 [cited by applicant]
US 11550562B2 · Jozsa · 2023 [cited by examiner]
US 20090276482A1 · Rae · 2009 [cited by examiner]
US 20170177860A1 · Suarez · 2017 [cited by examiner]
US 20180024537A1 · Chauvet et al. · 2018 [cited by applicant]
US 20180054469A1 · Simoncelli · 2018 [cited by applicant]
US 20190377604A1 · Cybulski · 2019 [cited by applicant]
US 20200034178A1 · Gupta · 2020 [cited by examiner]
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 20210089354A1 · Nixon et al. · 2021 [cited by applicant]
US 20210200814A1 · Tal et al. · 2021 [cited by applicant]
US 20210208576A1 · Muenzel · 2021 [cited by examiner]
US 20210218617A1 · Palavalli et al. · 2021 [cited by applicant]
US 20210382727A1 · Vigil et al. · 2021 [cited by applicant]
US 20220027721A1 · Thoemmes et al. · 2022 [cited by applicant]
US 20220091572A1 · Biernat et al. · 2022 [cited by applicant]
US 20220129606A1 · Sundararajan · 2022 [cited by examiner]
US 20220197306A1 · Cella · 2022 [cited by examiner]
US 20220229651A1 · Wu · 2022 [cited by examiner]
US 20220269496A1 · Haldar · 2022 [cited by examiner]
US 20220404786A1 · Amaro, Jr. · 2022 [cited by examiner]
US 20220404811A1 · Amaro, Jr. · 2022 [cited by examiner]
US 20220404812A1 · Amaro, Jr. · 2022 [cited by examiner]
US 20230214246A1 · Darji · 2023 [cited by examiner]
EP 3761564A1 · 2021 [cited by applicant]
KR 20200027783A · 2020 [cited by applicant]
KR 20220109175A · 2022 [cited by applicant]
WO 2020184362A1 · 2020 [cited by applicant]
EP Extended European Search Report (EESR) for European Application No. 23198197.8 mailed Nov. 23, 2023. [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-plcfrom-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]
Cited By (1)
US 12,688,026