在N模冗余(NMR)及N版本编程技术(NVP)系统中,通过对冗余模块的输出执行表决可以屏蔽子系统或部件产生的错误,处理分布式计算系统中出现的Byzantine故障、同步多个计算进程以及维护数据复制品一致性等;表决算法还可以用做某些容忍入侵应用的触发策略,发现故障并触发故障部件的状态恢复。在经过对大量的表决算法分析与研究后,对其进行归类,并对每种类型中具有代表性的算法进行了描述,指出它们的应用领域,同时从复杂度及可靠性等方面对这些算法进行横向比较。
In N-modular redundant(NMR) and N-version programming(NVP) system, the fault of the subsystem (component), the Byzantine failures of the distributed computing systems, clock synchronization between computing processors and the consistency of the replicated data objects could be handled by voting on the output of the redundant modules (versions). Moreover, the voting algorithm could be used as the trigger of some intrusion tolerance applications to find the fault component and drive it return to the normal state. Having surveyed a large number of references, the voting algorithms were classified, the typical algorithms of each category were described, application areas were proposed and the comparison of algorithm behavior were also survey based on the complexity and reliability.