摘要
Mission-critical services must be replicated in order to be available even if Byzantine faults happen. Castro and Liskov proposed a successful Byzantine fault tolerant protocol named CLBFT (Castro Liskov Byzantine Fault Tolerance), which overcame performance drawbacks of previous protocols. Other proposals extended CLBFT with further optimizations, but these protocols did not support asynchronous invocations from replicated calling services, thereby making these protocols unsuitable for nested computation model such as SOA (Service-Oriented Architecture). In this paper, we extend CLBFT to support asynchronous invocations, and we propose a window mechanism to support batch request and confirmation. A cycle-time-analysis model is proposed to analyze every stage of the protocol to measure performance improvements by window mechanism. Experimental results show effectiveness of proposed protocol.