A system comprising: a client device comprising a web-based human-machine interface; and a distributed control system in networked communication with the client device and a process, wherein the distributed control system is configured to control the process and comprises: a plurality of controllers, each being configured to provide data from the process to the web-based HMI of the client device when acting as a designated controller; and designated controller selection logic configured to detect an interruption in communication between a previous designated controller and the web-based client, characterized in polling each of the plurality of controllers for a response, and select a current designated controller as the controller that responds first to the polling; wherein the client device is configured to automatically establish communication with the current designated controller by switching over to obtain data from the process, and wherein a first portion of the designated controller selection logic is stored in a memory of a first controller, and wherein the first portion of the designated controller selection logic is configured to: when the first controller is the previous designated controller, determine if communication between the client device and the first controller is interrupted; if the communication between the client device and the first controller is interrupted, poll the first, a second and a third controller for a response; determine which of the first, second, and third controllers responds first to the polling; and select the first responding controller as the current designated controller and stop the polling of the remaining controllers. a client device comprising a web-based human-machine interface; and a distributed control system in networked communication with the client device and a process, wherein the distributed control system is configured to control the process and comprises: a plurality of controllers, each being configured to provide data from the process to the web-based HMI of the client device when acting as a designated controller; and designated controller selection logic configured to detect an interruption in communication between a previous designated controller and the web-based client, characterized in polling each of the plurality of controllers for a response, and select a current designated controller as the controller that responds first to the polling; wherein the client device is configured to automatically establish communication with the current designated controller by switching over to obtain data from the process, and a plurality of controllers, each being configured to provide data from the process to the web-based HMI of the client device when acting as a designated controller; and designated controller selection logic configured to detect an interruption in communication between a previous designated controller and the web-based client, characterized in polling each of the plurality of controllers for a response, and select a current designated controller as the controller that responds first to the polling; wherein the client device is configured to automatically establish communication with the current designated controller by switching over to obtain data from the process, and wherein a first portion of the designated controller selection logic is stored in a memory of a first controller, and wherein the first portion of the designated controller selection logic is configured to: when the first controller is the previous designated controller, determine if communication between the client device and the first controller is interrupted; if the communication between the client device and the first controller is interrupted, poll the first, a second and a third controller for a response; determine which of the first, second, and third controllers responds first to the polling; and select the first responding controller as the current designated controller and stop the polling of the remaining controllers. when the first controller is the previous designated controller, determine if communication between the client device and the first controller is interrupted; if the communication between the client device and the first controller is interrupted, poll the first, a second and a third controller for a response; determine which of the first, second, and third controllers responds first to the polling; and select the first responding controller as the current designated controller and stop the polling of the remaining controllers.