IP Library › Granted Patent US 12,189,379
Granted Patent B2
US 12,189,379 · App. 18/226,234 · Granted Jan 7, 2025

Virtualized real-time I/O in process control systems

Inventors: Mark J. Nixon (Thorndale, TX); Anthony Amaro, Jr. (Cedar Park, TX); Noel Howard Bell (Austin, TX); John M. Caldwell (Austin, TX); Gary K. Law (Georgetown, TX)
Assignee: FISHER-ROSEMOUNT SYSTEMS, INC.
G05B19/41885G05B19/4183G05B19/41845G05B19/4185G05B19/41865G06F13/4022H04L67/12G05B17/00G05B2219/13125G05B2219/13185G05B2219/31231G05B2219/32301G05B2219/32343G05B2219/32355G05B2219/32407
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,189,379
App. No.
18/226,234
Granted
Jan 7, 2025
Kind
B2
Abstract

A Multi-Purpose Dynamic Simulation and run-time Control platform includes a virtual process environment coupled to a physical process environment, where components/nodes of the virtual and physical process environments cooperate to dynamically perform run-time process control of an industrial process plant and/or simulations thereof. Virtual components may include virtual run-time nodes and/or simulated nodes. The MPDSC includes an I/O Switch which delivers I/O data between virtual and/or physical nodes, e.g., by using publish/subscribe mechanisms, thereby virtualizing physical I/O process data delivery. Nodes serviced by the I/O Switch may include respective component behavior modules that are unaware as to whether or not they are being utilized on a virtual or physical node. Simulations may be performed in real-time and even in conjunction with run-time operations of the plant, and/or simulations may be manipulated as desired (speed, values, administration, etc.). The platform simultaneously supports simulation and run-time operations and interactions/intersections therebetween.

Claims (49)

1. A method of controlling an industrial process, the method comprising:

switching, by an input/output (I/O) router communicatively coupled to a plurality of field devices and to a plurality of nodes, I/O data between the plurality of field devices and the plurality of nodes, the switching based on a set of records stored at the I/O router,

the plurality of nodes including at least one process controller,

the switching based on a first subscription of the I/O router to a publication of first I/O data indicative of information generated by a field device of the plurality of field devices and based on a second subscription of the I/O router to a publication of second I/O data indicative of a control signal generated by a node included in the plurality of nodes, and

the switching thereby controlling at least a portion of the industrial process.

2. The method of claim 1 , wherein the switching includes:

obtaining, by the I/O router and based on the second subscription, the publication of the second I/O data; and

publishing, by the I/O router, third I/O data indicative of the second I/O data, the publishing based on an indication, included in the set of records, of at least one node that is a recipient of the third I/O data and that corresponds to the field device or to another field device, of the plurality of field devices, that operates in response to the control signal to thereby control the at least the portion of the industrial process.

3. The method of claim 2 , wherein the switching further includes:

obtaining, by the I/O router and based on the first subscription to the publication of the first I/O data, the publication of the first I/O data; and

publishing, by the I/O router, fourth I/O data indicative of the first I/O data, the publishing of the fourth I/O data based on an indication, included in the set of records, of the node or another node, of the plurality of the nodes, that is a recipient of the information generated by the field device.

4. The method of claim 3 , wherein the node or the another node is a process controller or another controller.

5. The method of claim 1 , wherein:

the set of records indicate a set of sending nodes that publish respective information and a set of recipient nodes that are respective receivers of the respective information, the set of sending nodes including at least a first portion of the plurality of nodes and at least a first portion of the plurality of field devices, and the set of receiving nodes including at least a second portion of the plurality of nodes and at least a second portion of the plurality of field devices; and

the method further comprises switching, by the I/O router, the respective information between the set of sending nodes and the set of receiving nodes based on the set of records.

6. The method of claim 5 , wherein at least one of:

the set of sending nodes includes a first at least one physical node excluded from the plurality of field devices and a first at least one virtual node excluded from the plurality of nodes; and

the set of recipient nodes includes a second at least one physical node excluded from the plurality of field devices and a second at least one virtual node excluded from the plurality of nodes.

7. The method of claim 5 , wherein the switching of the respective information between the set of sending nodes and the set of receiving nodes includes:

obtaining, by the I/O router via first respective publications of the set of sending nodes, respective portions of the respective information; and

publishing, by the I/O router, second respective publications indicative of the respective portions of the respective information.

8. The method of claim 7 , wherein the obtaining of the respective portions of the respective information via the first respective publications and the publishing of the second respective publications indicative of the respective portions of the respective information are based on a packet protocol.

9. The method of claim 5 , wherein the switching of the respective information between the set of sending nodes and the set of receiving nodes is based on unique identifiers of the set of sending nodes and the set of receiving nodes, the unique identifiers based on a configuration database associated with the industrial process and indicated in the set of records.

10. The method of claim 9 , wherein the switching of the respective information is further based on unique identifiers of different portions of the respective information, the unique identifiers of the different portions of the respective information indicated in the set of records.

11. The method of claim 5 , further comprising updating, by the I/O router, the set of records based on at least one of: a request of at least one node of the plurality of nodes to subscribe to specific information, a change to an existing subscription, or a change to an existing publication.

12. An input/output (I/O) router communicatively coupling a plurality of field devices and a plurality of nodes, the I/O router comprising:

one or more memories storing a set of records indicating sending nodes that publish various I/O data and recipient nodes that are respective receivers of the various I/O data, and

computer-executable instructions stored on the one or more memories and executable by one or more processors of the I/O router to, based on the set of records, switch the various I/O data between the plurality of field devices and the plurality of nodes,

the plurality of nodes including at least one process controller,

the switching of the various I/O data being based on the I/O router being a subscriber to a first publication of first I/O data indicative of data generated by a field device of the plurality of field devices and based on the I/O router being a subscriber to a second publication of second I/O data indicative of a control signal generated by a node included in the plurality of nodes, and

the switching of the various I/O data thereby controlling at least a portion of an industrial process.

13. The I/O router of claim 12 , wherein:

the I/O router is a publisher of third I/O data indicative of the first I/O data; and

the set of records indicates that a first node is a subscriber to a publication of the third I/O data, the first node corresponding to the node or to another node, of the plurality of nodes, that generates a respective control signal in response to the data generated by the field device to thereby control the at least the portion of the industrial process.

14. The I/O router of claim 13 , wherein:

the I/O router is a publisher of fourth I/O data indicative of the second I/O data; and

the set of records indicates that a second node is a subscriber to a publication of the fourth I/O data, the second node corresponding to the field device or to another field device, of the plurality of field devices, that operates in response to the respective control signal to thereby control the at least the portion of the industrial process.

15. The I/O router of claim 14 , wherein the second node is an intervening node or device communicatively coupled to the I/O router and to the field device or the another field device.

16. The I/O router of claim 12 , wherein:

the set of records indicates a set of sending nodes, each of which publishes respective information, and a set of recipient nodes that respectively receive the publications of the respective information, the set of sending nodes including at least a first portion of the plurality of nodes and at least a first portion of the plurality of field devices, and the set of recipient nodes including at least a second portion of the plurality of nodes and at least a second portion of the plurality of field devices; and

the computer-executable instructions are further executable by the one or more processors to cause the I/O router to switch the respective information between the set of sending nodes and the set of receiving nodes based on the set of records.

17. The I/O router of claim 16 ,

wherein at least one of:

the set of sending nodes includes a first at least one physical node other than the field device and a first at least one virtual node; and

the set of recipient nodes includes a second at least one physical node other than the field device and a second at least one virtual node; and

wherein the first at least one virtual node and the second at least one virtual node exclude any virtual process controllers.

18. The I/O router of claim 16 , wherein the set of sending nodes publishes the respective information by utilizing a packet protocol, and the set of receiving nodes receives the publications of the respective information via the packet protocol.

19. The I/O router of claim 12 , wherein the set of records stores indications of unique identifiers of each node included in the plurality of nodes, of each field device included in the plurality of field devices, and of the various I/O data, and wherein the switching is based on the unique identifiers.

20. The I/O router of claim 12 , wherein the computer-executable instructions are further executable by the one or more processors to cause the I/O router to update the set of records based on at least one of: a request of at least one node of the plurality of nodes to subscribe to specific information, a change to an existing subscription, or a change to an existing publication.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2023
From: NIXON, MARK J.; AMARO, ANTHONY, JR; BELL, NOEL HOWARD; CALDWELL, JOHN M.; LAW, GARY K.
To: FISHER-ROSEMOUNT SYSTEMS, INC.
Reel/Frame 065367/0925 →
Continuity (4)
Continuation 17878402 · Aug 1, 2022
Continuation 16874106 · May 14, 2020
Provisional Application 62859508 · Jun 10, 2019
Related Publication 20230376021A1 · Nov 23, 2023
References Cited (151)
US 6298377B1 · Hartikainen et al. · 2001 [cited by applicant]
US 7564805B1 · Cortez et al. · 2009 [cited by applicant]
US 7684875B2 · Jundt et al. · 2010 [cited by applicant]
US 8139474B2 · Nosley · 2012 [cited by applicant]
US 8332567B2 · Burr et al. · 2012 [cited by applicant]
US 8756041B2 · Maturana et al. · 2014 [cited by applicant]
US 8762618B2 · Burr et al. · 2014 [cited by applicant]
US 8977851B2 · Neitzel et al. · 2015 [cited by applicant]
US 9083548B2 · Holmes et al. · 2015 [cited by applicant]
US 9256222B2 · Blount et al. · 2016 [cited by applicant]
US 9304511B2 · Blount et al. · 2016 [cited by applicant]
US 9411769B2 · Erni et al. · 2016 [cited by applicant]
US 9495313B2 · Burr et al. · 2016 [cited by applicant]
US 9709978B2 · Asenjo et al. · 2017 [cited by applicant]
US 9912737B2 · Patin et al. · 2018 [cited by applicant]
US 9946240B2 · Erni · 2018 [cited by applicant]
US 9971914B2 · Maturana et al. · 2018 [cited by applicant]
US 9989958B2 · Asenjo et al. · 2018 [cited by applicant]
US 10037443B2 · Maturana et al. · 2018 [cited by applicant]
US 10372473B2 · Blount et al. · 2019 [cited by applicant]
US 10620613B2 · Ong et al. · 2020 [cited by applicant]
US 11320797B2 · Nixon et al. · 2022 [cited by applicant]
US 20040158442A1 · Kondo · 2004 [cited by applicant]
US 20070043860A1 · Pabari · 2007 [cited by applicant]
US 20070150079A1 · Blevins et al. · 2007 [cited by applicant]
US 20070204339A1 · Bou-Diab · 2007 [cited by applicant]
US 20080034364A1 · Lam et al. · 2008 [cited by applicant]
US 20090089359A1 · Siorek et al. · 2009 [cited by applicant]
US 20090089406A1 · Roush et al. · 2009 [cited by applicant]
US 20110054640A1 · Law et al. · 2011 [cited by applicant]
US 20110178611A1 · Daraiseh et al. · 2011 [cited by applicant]
US 20120232875A1 · Devereux · 2012 [cited by applicant]
US 20130136597A1 · Hansen et al. · 2013 [cited by applicant]
US 20130205277A1 · Seven et al. · 2013 [cited by applicant]
US 20130245843A1 · Bhageria et al. · 2013 [cited by applicant]
US 20140070617A1 · Detmers et al. · 2014 [cited by applicant]
US 20140149029A1 · Sakakibara et al. · 2014 [cited by applicant]
US 20140269764A1 · Borgeson et al. · 2014 [cited by applicant]
US 20140355581A1 · Pulini et al. · 2014 [cited by applicant]
US 20150205280A1 · Tsuchiya et al. · 2015 [cited by applicant]
US 20150381538A1 · Bunte et al. · 2015 [cited by applicant]
US 20160048408A1 · Madhu et al. · 2016 [cited by applicant]
US 20160054808A1 · Cho · 2016 [cited by applicant]
US 20160087854A1 · Jayanti Venkata et al. · 2016 [cited by applicant]
US 20160179993A1 · Maturana et al. · 2016 [cited by applicant]
US 20160182285A1 · Ferguson et al. · 2016 [cited by applicant]
US 20160182288A1 · Maenpaa · 2016 [cited by applicant]
US 20160182323A1 · Ferguson et al. · 2016 [cited by applicant]
US 20160182693A1 · Ferguson et al. · 2016 [cited by applicant]
US 20170017211A1 · Periasamy et al. · 2017 [cited by applicant]
US 20170025040A1 · Maturana et al. · 2017 [cited by applicant]
US 20170032281A1 · Hsu · 2017 [cited by applicant]
US 20170060574A1 · Malladi et al. · 2017 [cited by applicant]
US 20170102694A1 · Enver et al. · 2017 [cited by applicant]
US 20170104826A1 · Sait et al. · 2017 [cited by applicant]
US 20170269577A1 · De Ligt et al. · 2017 [cited by applicant]
US 20170300024A1 · Nixon et al. · 2017 [cited by applicant]
US 20170329322A1 · Downor · 2017 [cited by applicant]
US 20180024537A1 · Chauvet et al. · 2018 [cited by applicant]
US 20180026942A1 · De Ligt · 2018 [cited by applicant]
US 20180112795A1 · Anderson · 2018 [cited by applicant]
US 20180113442A1 · Nixon et al. · 2018 [cited by applicant]
US 20180115457A1 · Bonomi et al. · 2018 [cited by applicant]
US 20180115516A1 · Rotvold et al. · 2018 [cited by applicant]
US 20180115517A1 · Rotvold et al. · 2018 [cited by applicant]
US 20180115528A1 · Rotvold et al. · 2018 [cited by applicant]
US 20180210428A1 · Jundt et al. · 2018 [cited by applicant]
US 20180242312A1 · Gandhi et al. · 2018 [cited by applicant]
US 20180259222A1 · Murphy · 2018 [cited by applicant]
US 20180260251A1 · Beveridge et al. · 2018 [cited by applicant]
US 20180314240A1 · Velagapalli et al. · 2018 [cited by applicant]
US 20180321662A1 · Nixon et al. · 2018 [cited by applicant]
US 20180364688A1 · Sait et al. · 2018 [cited by applicant]
US 20190041824A1 · Chavez et al. · 2019 [cited by applicant]
US 20190101882A1 · Strinden et al. · 2019 [cited by applicant]
US 20190101899A1 · Enver · 2019 [cited by applicant]
US 20190102076A1 · Naidoo et al. · 2019 [cited by applicant]
US 20190173934A1 · Beattie, Jr. et al. · 2019 [cited by applicant]
US 20190220703A1 · Prakash et al. · 2019 [cited by applicant]
US 20190289091A1 · Burns et al. · 2019 [cited by applicant]
US 20200073682A1 · Strinden et al. · 2020 [cited by applicant]
US 20200145213A1 · Mohan et al. · 2020 [cited by applicant]
US 20200310614A1 · Choi et al. · 2020 [cited by applicant]
CN 103238143A · 2013 [cited by applicant]
CN 104142629A · 2014 [cited by applicant]
CN 104142630A · 2014 [cited by applicant]
CN 105654227A · 2016 [cited by applicant]
CN 106933204A · 2017 [cited by applicant]
CN 106933207A · 2017 [cited by applicant]
CN 107256007A · 2017 [cited by applicant]
CN 107431647A · 2017 [cited by applicant]
CN 108123994A · 2018 [cited by applicant]
CN 108513655A · 2018 [cited by applicant]
CN 109213702A · 2019 [cited by applicant]
CN 109564411A · 2019 [cited by applicant]
CN 109597374A · 2019 [cited by applicant]
CN 109716732A · 2019 [cited by applicant]
EP 2642360A1 · 2013 [cited by applicant]
EP 2801940A1 · 2014 [cited by applicant]
EP 2840453A2 · 2015 [cited by applicant]
EP 3276887A1 · 2018 [cited by applicant]
GB 2429540A · 2007 [cited by applicant]
GB 2536339A · 2016 [cited by applicant]
JP 2001209407A · 2001 [cited by applicant]
JP 2003140711A · 2003 [cited by applicant]
JP 2011505613A · 2011 [cited by applicant]
JP 2013041596A · 2013 [cited by applicant]
JP 201361762A · 2013 [cited by applicant]
JP 201980164A · 2019 [cited by applicant]
JP 2019515375A · 2019 [cited by applicant]
WO WO2012047654A1 · 2012 [cited by applicant]
WO WO2017223535A1 · 2017 [cited by applicant]
WO WO2018096641A1 · 2018 [cited by applicant]
WO WO2018202276A1 · 2018 [cited by applicant]
WO WO2018204225A1 · 2018 [cited by applicant]
WO WO2019099111A1 · 2019 [cited by applicant]
Notification of First Office Action for Chinese Application No. 202010525946.5, dated Jul. 22, 2023. [cited by applicant]
Notification of First Office Action for Chinese Application No. 202010525949.9, dated Jul. 23, 2023. [cited by applicant]
Amaro Jr, “Improving Bandwidth Allocation in Cloud Computing Environments via “Bandwidth as a Service” Partitioning Scheme”, Texas State University, (2016). [cited by applicant]
Examination Report for Application No. GB2008489.3, dated Feb. 13, 2023. [cited by applicant]
Examination Report for Application No. GB2008494.3, dated Feb. 9, 2023. [cited by applicant]
Search Report for Application No. GB2008489.3, dated Feb. 19, 2021. [cited by applicant]
Search Report for Application No. GB2008490.1, dated Dec. 8, 2020. [cited by applicant]
Search Report for Application No. GB2008491.9, dated Feb. 19, 2021. [cited by applicant]
Search Report for Application No. GB2008492.7, dated Feb. 19, 2021. [cited by applicant]
Search Report for Application No. GB2008493.5, dated Feb. 19, 2021. [cited by applicant]
Search Report for Application No. GB2008494.3, dated Mar. 1, 2021. [cited by applicant]
Zhang et al., “Hierarchical real-time networked CNC system based on the transparent model of industrial Ethernet,” Int J Adv Manul Technol, 34:161-167 (2007). [cited by applicant]
Combined Search and Examination Report for Application No. GB2318172.0, dated Mar. 22, 2024. [cited by applicant]
Combined Search and Examination Report for Application No. GB2402381.4, dated Mar. 8, 2024. [cited by applicant]
Notification of Second Office Action for Chinese Application No. 202010525409.0, dated Mar. 6, 2024. [cited by applicant]
Notification of Second Office Action for Chinese Application No. 202010525418.X, dated Mar. 6, 2024. [cited by applicant]
Notification of Second Office Action for Chinese Application No. 202010525949.9, dated Mar. 6, 2024. [cited by applicant]
Search Report for Application No. GB2318173.8, dated Mar. 22, 2024. [cited by applicant]
Combined Search and Examination Report for Application No. GB2315298.6, dated Dec. 1, 2023. [cited by applicant]
Combined Search and Examination Report for Application No. GB2316287.8, dated Feb. 16, 2024. [cited by applicant]
Notification of First Office Action for Chinese Application No. 202010525409.0, dated Jul. 22, 2023. [cited by applicant]
Notification of First Office Action for Chinese Application No. 202010525410.3, dated Jul. 23, 2023. [cited by applicant]
Notification of First Office Action for Chinese Application No. 202010525418.X, dated Jul. 22, 2023. [cited by applicant]
Notification of First Office Action for Chinese Application No. 202010525419.4, dated Jul. 23, 2023. [cited by applicant]
Office Action for Japanese Application No. 2020-097851, dated Jan. 9, 2024. [cited by applicant]
Office Action for Japanese Application No. 2020-097854, dated Feb. 6, 2024. [cited by applicant]
Office Action for Japanese Application No. 2020-097855, dated Jan. 9, 2024. [cited by applicant]
Search Report for Application No. GB2305512.2, dated Oct. 16, 2023. [cited by applicant]
Search Report for Application No. GB2305513.0, dated Oct. 16, 2023. [cited by applicant]
Search Report for Application No. GB2305514.8, dated Oct. 16, 2023. [cited by applicant]
Search Report for Application No. GB2316271.1, dated Feb. 14, 2024. [cited by applicant]
Search Report for Application No. GB2316285.2, dated Feb. 14, 2024. [cited by applicant]
Search Report for Application No. GB2316288.6, dated Feb. 12, 2024. [cited by applicant]
Search Report for Application No. GB2316289.4, dated Feb. 12, 2024. [cited by applicant]
Search Report for Application No. GB2316290.2, dated Feb. 8, 2024. [cited by applicant]