IP Library › Granted Patent US 12,498,707
Granted Patent B2
US 12,498,707 · App. 18/438,250 · Granted Dec 16, 2025

Automatic load balancing and performance leveling of virtual nodes running real-time control 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/41835G05B19/41845G05B19/4185G05B19/41865G06F9/3017G06F13/4022H04L67/12G05B17/00G05B2219/13125G05B2219/13185G05B2219/2214G05B2219/31231G05B2219/32301G05B2219/32343G05B2219/32355G05B2219/32359G05B2219/32407G05B2219/40311
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,498,707
App. No.
18/438,250
Granted
Dec 16, 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 (46)

1 . A system of an industrial process plant, the system comprising:

one or more physical field devices operating in a field environment of the industrial process plant and one or more virtual nodes that are implemented on a virtualization platform of the industrial process plant and that are communicatively coupled to the one or more physical field devices; and

a virtualization management node including a set of computer-executable instructions stored on one or more tangible, non-transitory memories of the virtualization platform and executable by one or more processors of the virtualization platform so that the virtualization management node:

balances, based on one or more configured boundary conditions, a load of the virtualization platform across a plurality of virtual nodes of the virtualization platform,

the balancing of the load including a re-assignment of an input/output (I/O) assignment from a first virtual node to a second virtual node, the I/O assignment indicating an association between a respective virtual node and a respective logical identifier indicative of data, a set or grouping of data, and/or a data type that is utilized within the industrial process plant and that is subscribed to and/or published by the respective virtual node for communicating with at least one physical field device to thereby control a respective at least a portion of an industrial process.

2 . The system of claim 1 , wherein the respective logical identifier is defined in a configuration database of the industrial process plant.

3 . The system of claim 1 , wherein the respective virtual node and the at least one at least one physical field device are included in a control loop of the industrial process plant that operates to control the respective at least the portion of the industrial process.

4 . The system of claim 1 , wherein the virtualization management node balances the load while the industrial process plant is operating during run-time.

5 . The system of claim 1 , wherein the virtualization management node balances the load based on at least one of a maximum, a minimum, or a target threshold of a dynamic condition associated with the virtualization platform.

6 . The system of claim 1 , wherein the virtualization management node balances the load by at least one of:

adjusting one or more of a software resource load, a hardware resource load, a processor utilization load, a memory resource load, or a traffic load of at least a portion of the virtualization platform;

adjusting a utilization of one or more processors of the virtualization platform;

adjusting a utilization of a network or one or more links of the virtualization platform, the network or the one or more links interconnecting the one or more processors of the virtualization platform;

removing a first virtual node from the plurality of nodes implemented on the virtualization platform;

creating an additional virtual node implemented on the virtualization platform; or

moving a second virtual node from being supported by a first set of computing resources of the virtualization platform to being supported by a second set of computing resources of the virtualization platform.

7 . The system of claim 1 , wherein the virtualization management node is included in the plurality of virtual nodes.

8 . A method in an industrial process plant, the method comprising:

balancing, based on one or more configured boundary conditions, a load of a virtualization platform of an industrial process plant across a plurality of virtual nodes implemented on the virtualization platform,

the industrial process plant including one or more physical field devices disposed in a field environment of the industrial process plant and one or more virtual nodes implemented on the virtualization platform, and

the balancing of the load including re-assigning an input/output (I/O) assignment from a first virtual node to a second virtual node, the I/O assignment indicating an association between a respective virtual node and a respective logical identifier that is indicative of data, a set or grouping of data, and/or a data type that is utilized within the industrial process plant and that is subscribed to and/or published by the respective virtual node for communicating with at least one physical field device to thereby control a respective at least a portion of an industrial process.

9 . The method of claim 8 , wherein the balancing of the load comprises balancing the load while the industrial process plant is operating during run-time.

10 . The method of claim 8 , wherein the respective virtual node and the at least one at least one physical field device are included in a control loop of the industrial process plant that operates to control the respective at least the portion of the industrial process.

11 . The method of claim 10 , wherein the industrial process plant includes a plurality of control loops that execute to control the industrial process, and each control loop includes a respective at least one virtual node implemented on the virtualization platform and a respective at least one physical field device disposed in the field environment.

12 . The method of claim 8 , wherein the balancing of the load based on the one or more configured boundary conditions comprises balancing the load based on at least one of a maximum, a minimum, or a target threshold of a performance level or a resource utilization of the virtualization platform.

13 . The method of claim 8 , wherein the balancing of the load comprises at least one of:

adjusting one or more of a software resource load, a hardware resource load, a processor utilization load, a memory resource load, a traffic load of at least a portion of the virtualization platform, a utilization of one or more processors of the virtualization platform, or a utilization of a network or one or more links of the virtualization platform, the network or the one or more links interconnecting the one or more processors of the virtualization platform;

removing a first virtual node from the plurality of virtual nodes implemented on the virtualization platform;

creating an additional virtual node implemented on the virtualization platform; or

moving a second virtual node from being supported by a first set of computing resources of the virtualization platform to being supported by a second set of computing resources of the virtualization platform.

14 . The method of claim 8 , further comprising:

detecting or predicting a change to the one or more configured boundary conditions; and

re-balancing the load responsive to the detected or predicted change.

15 . One or more tangible, non-transitory computer-readable storage media comprising computer-executable instructions that, when executed by one or more processors, cause the one or more processors to:

balance a load of a virtualization platform of an industrial process plant across a plurality of virtual nodes implemented on the virtualization platform based on one or more configured boundary conditions,

the industrial process plant including one or more physical field devices operating in a field environment of the industrial process plant, and

the balancing of the load including re-assigning an input/output (I/O) assignment from a first virtual node to a second virtual node, the I/O assignment indicating an association between a respective virtual node and a respective logical identifier that is indicative of data, a set or grouping of data, and/or a data type that is utilized within the industrial process plant and that is subscribed to and/or published by the respective virtual node for communicating with at least one physical field device to thereby control a respective at least a portion of an industrial process.

16 . The one or more tangible, non-transitory computer-readable storage media of claim 15 , wherein the load of the virtualization platform is balanced while the industrial process plant is operating during run-time.

17 . The one or more tangible, non-transitory computer-readable storage media of claim 15 , wherein the respective virtual node and the at least one at least one physical field device are included in a control loop of the industrial process plant that operates to control the respective at least the portion of the industrial process.

18 . The one or more tangible, non-transitory computer-readable storage media of claim 15 , wherein the load of the virtualization platform is balanced based on at least one of a maximum, a minimum, or a target threshold of a performance level or a resource utilization of the virtualization platform.

19 . The one or more tangible, non-transitory computer-readable storage media of claim 15 , wherein the load of the virtualization platform is balanced by at least one of:

an adjustment of one or more of a software resource load, a hardware resource load, a processor utilization load, a memory resource load, a traffic load of at least a portion of the virtualization platform, a utilization of one or more processors of the virtualization platform, or a utilization of a network or one or more links of the virtualization platform, the network or the one or more links interconnecting the one or more processors of the virtualization platform;

a removal of a first virtual node from the plurality of nodes implemented on the virtualization platform;

a creation of an additional virtual node implemented on the virtualization platform; or

a movement of a second virtual node from being supported by a first set of computing resources of the virtualization platform to being supported by a second set of computing resources of the virtualization platform.

20 . The one or more tangible, non-transitory computer-readable storage media of claim 15 , wherein the computer-executable instructions, when executed by the one or more processors, cause the one or more processors further to detect or predict a change to the one or more configured boundary conditions, and re-balance the load responsive to the detected or predicted change.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2024
From: NIXON, MARK J.; AMARO, ANTHONY, JR.; BELL, NOEL HOWARD; CALDWELL, JOHN M.; LAW, GARY K.
To: FISHER-ROSEMOUNT SYSTEMS, INC.
Reel/Frame 067325/0604 →
Continuity (4)
Continuation 18085805 · Dec 21, 2022
Continuation 16874216 · May 14, 2020
Provisional Application 62859508 · Jun 10, 2019
Related Publication 20240184279A1 · Jun 6, 2024
References Cited (172)
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 10530748B2 · Rotvold et al. · 2020 [cited by applicant]
US 10620613B2 · Ong et al. · 2020 [cited by applicant]
US 11320797B2 · Nixon et al. · 2022 [cited by applicant]
US 20020107699A1 · Rivera · 2002 [cited by applicant]
US 20030038842A1 · Peck · 2003 [cited by applicant]
US 20040158442A1 · Kondo · 2004 [cited by applicant]
US 20060146991A1 · Thompson · 2006 [cited by applicant]
US 20070043860A1 · Pabari · 2007 [cited by applicant]
US 20070150079A1 · Blevins et al. · 2007 [cited by applicant]
US 20070202471A1 · Petruzziello · 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 20140107808A1 · Yamamoto et al. · 2014 [cited by applicant]
US 20140149029A1 · Sakakibara et al. · 2014 [cited by applicant]
US 20140266392A1 · Devarajan · 2014 [cited by applicant]
US 20140269764A1 · Borgeson et al. · 2014 [cited by applicant]
US 20140336786A1 · Asenjo et al. · 2014 [cited by applicant]
US 20140355581A1 · Pulini et al. · 2014 [cited by applicant]
US 20150052519A1 · Yu · 2015 [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 20160169956A1 · Kim · 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 20160359664A1 · Malegaonkar 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 20170118102A1 · Majumder · 2017 [cited by applicant]
US 20170201085A1 · Dunn · 2017 [cited by applicant]
US 20170269577A1 · De Ligt et al. · 2017 [cited by applicant]
US 20170300024A1 · Nixon · 2017 [cited by examiner]
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 · 2019 [cited by examiner]
US 20190068618A1 · Mestha · 2019 [cited by applicant]
US 20190101882A1 · Strinden et al. · 2019 [cited by applicant]
US 20190101899A1 · Enver · 2019 [cited by applicant]
US 20190102068A1 · Naidoo et al. · 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 · 2019 [cited by examiner]
US 20190289091A1 · Burns et al. · 2019 [cited by applicant]
US 20190384393A1 · Cruz-Hernandez · 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 107976967A · 2018 [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 2003091310A · 2003 [cited by applicant]
JP 2003140711A · 2003 [cited by applicant]
JP 2003241638A · 2003 [cited by applicant]
JP 2011505613A · 2011 [cited by applicant]
JP 2013041596A · 2013 [cited by applicant]
JP 201361762A · 2013 [cited by applicant]
JP 2013200669A · 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]
Amaro Jr A. Improving Bandwidth Allocation in Cloud Computing Environments via“ Bandwidth as a Service” Partitioning Scheme. (Year: 2016). [cited by examiner]
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]
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]
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]
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]
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]
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. GB2315298.6, dated Dec. 1, 2023. [cited by applicant]
Office Action for Japanese Application No. 2020-097851, dated Jan. 9, 2024. [cited by applicant]
Combined Search and Examination Report for Application No. GB2316287.8, dated Feb. 16, 2024. [cited by applicant]
Office Action for Japanese Application No. 2020-097855, dated Jan. 9, 2024. [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]
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]
Office Action for Japanese Application No. 2024-033655, dated Feb. 4, 2025. [cited by applicant]
Search Report for Application No. GB2318173.8, dated Mar. 22, 2024. [cited by applicant]