Research Article
Fault Tolerance in Heterogeneous Distributed Systems
@INPROCEEDINGS{10.4108/icst.collaboratecom.2014.257585, author={Zhe Wang and Naftaly Minsky}, title={Fault Tolerance in Heterogeneous Distributed Systems}, proceedings={The 9th IEEE International Workshop on Trusted Collaboration}, publisher={IEEE}, proceedings_a={TRUSTCOL}, year={2014}, month={11}, keywords={fault tolerance dependability coordination distributed systems heterogeneous application level law-governed interaction coordinated atomic actions}, doi={10.4108/icst.collaboratecom.2014.257585} }
- Zhe Wang
Naftaly Minsky
Year: 2014
Fault Tolerance in Heterogeneous Distributed Systems
TRUSTCOL
ICST
DOI: 10.4108/icst.collaboratecom.2014.257585
Abstract
Dependability of heterogeneous distributed systems is an important issue. Coordination failures may occur even if the given coordination protocol is adhered to by all participants. The fault tolerance (FT) properties of systems are difficult to achieve, especially at application level. What is common to current FT-techniques is their reliance on the code of the various system components, which are often required to be written in a specific language. From the viewpoint of distributed systems, such techniques are feasible for homogeneous systems, or at least systems that are designed and maintained by a single administrative domain. But they are generally unreliable for open systems, due to the lack of overall control over the code of components. This leaves open distributed systems vulnerable to their own faults and to attack on them.
However, certain types of FT measures can be established in distributed systems by controlling the flow of messages between system components, independently of the code of system components---which we plan to do via a distributed coordination and control mechanism called Law-Governed Interaction. We demonstrate in this paper, there is a substantial range of FT measures that can be established completely by controlling messaging. Moreover, although the FT-measures to be developed are meant mostly for open systems, some of them can be useful for distributed systems in general, even where traditional code-based techniques are feasible.