A method for providing redundancy in a network centric process control system , where at least one node comprises at least one control service as well as at least one middleware service for communicating in the process control system, where the control service and middleware service is each a separate executable running in a separate operating system process provided by a real time operating system thereof, where a first control service in a first node communicating via a first middleware service and implementing a first control function (A) is set to act as an active control service for the first control function (A) and a second control service communicating via a second middleware service and implementing the first control function (A; A') is set to act as a standby control service for the first control function, the method comprising: performing (S102), by the first control service, the first control function through subscribing (S102a), via the first middleware service , to input process data of the first control function and publishing, (S102b), via the first middleware service , output process data of the first control function (A), synchronizing (S104) the first control service with the second control service ; taking over (S108), by the second control service based on a determination that a fault has occurred in the first node , the role of active control service, the taking over comprising publishing (S108b), by the second control service via the second middleware service , the output process data of the first control function based on a subscription of the second control service to the input process data, wherein the publishing of data comprises copying by a control service to a middleware service and publishing, by the middleware service , the data in the network centric process control system and/or to another control service executing in the same node through grouping, by the middleware service , publishing process data in data sets, wherein each data set is assigned a multicast address. performing (S102), by the first control service, the first control function through subscribing (S102a), via the first middleware service , to input process data of the first control function and publishing, (S102b), via the first middleware service , output process data of the first control function (A), synchronizing (S104) the first control service with the second control service ; taking over (S108), by the second control service based on a determination that a fault has occurred in the first node , the role of active control service, the taking over comprising publishing (S108b), by the second control service via the second middleware service , the output process data of the first control function based on a subscription of the second control service to the input process data, wherein the publishing of data comprises copying by a control service to a middleware service and publishing, by the middleware service , the data in the network centric process control system and/or to another control service executing in the same node through grouping, by the middleware service , publishing process data in data sets, wherein each data set is assigned a multicast address. <EOS>