随着Web服务的高速发展,其可靠性已经受到了越来越多的重视.针对当前拜占庭错误容忍算法对Web服务支持的不足,提出并设计了一种面向Web服务的拜占庭错误容忍算法.该算法与著名的CLBFT算法有显著区别.在Web服务中,为了支持组合服务必须对进行通信的Web服务双方都创建复制品,而CLBFT算法只在服务器方创建复制品.使用基于状态机的主动复制技术,在进行通信的Web服务双方都创建复制品.引入接收窗口和接收点对异步环境下的消息进行批量确认,同步各复制品收到消息的时间.用I/O自动机给出该算法的自动机模型,并通过遵循TPC-App Benchmark规范的实验平台实现了算法,验证了算法可行性.
With the rapid development of web services,its reliability has more and more attentions.To make up for lack of support of the Byzantine Fault Tolerant algorithm for Web Services,A Byzantine Fault Tolerant Algorithm for Web services is proposed considering the features of Web services.There are significant differences between the algorithm and the Castro and Liskov′s well-known practical Byzantine fault tolerance method.We have to create replicas on both sides of communicating web services for building composite web services,while in CLBFT′s method,replicas are created only on the server side.In this paper,replicas on both sides of communicating Web services are created using active replication based on active replication.Receiving Window and Receiving Point are introducted to confirm the batch messages of asynchronous environment which needing synchronizing the timing of the receiving of messages among replicas.The I/O automata model of the algorithm is presented.The algorithm is implemented on testbed which following the standard of TPC-App Benchmark,which verifying the correctness of the algorithm.