Distributed Industrial Control Systems: a Fault Tolerant Architecture