Design and implementation of a Byzantine fault tolerance framework for Web services

Many Web services are expected to run with high degree of security and dependability. To achieve this goal, it is essential to use a Web services compatible framework that tolerates not only crash faults, but Byzantine faults as well, due to the untrusted communication environment in which the Web services operate. In this paper, we describe the design and implementation of such a framework, called BFT-WS. BFT-WS is designed to operate on top of the standard SOAP messaging framework for maximum interoperability. It is implemented as a pluggable module within the Axis2 architecture, as such, it requires minimum changes to the Web applications. The core fault tolerance mechanisms used in BFT-WS are based on the well-known Castro and Liskov's BFT algorithm for optimal efficiency. Our performance measurements confirm that BFT-WS incurs only moderate runtime overhead considering the complexity of the mechanisms.

[1]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[2]  Wenbing Zhao,et al.  BFT-WS: A Byzantine Fault Tolerance Framework for Web Services , 2007, 2007 Eleventh International IEEE EDOC Conference Workshop.

[3]  Phillip Hallam-Baker,et al.  Web services security: soap message security , 2003 .

[4]  Louise E. Moser,et al.  Making Web services dependable , 2006, First International Conference on Availability, Reliability and Security (ARES'06).

[5]  Glen Dobson,et al.  Using WS-BPEL to Implement Software Fault Tolerance for Web Services , 2006, 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO'06).

[6]  Abdelkarim Erradi,et al.  A broker-based approach for improving Web services reliability , 2005, IEEE International Conference on Web Services (ICWS'05).

[7]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[8]  Jie Xu,et al.  Increasing Web Service Dependability Through Consensus Voting , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

[9]  Louise E. Moser,et al.  Design and Implementation of a Pluggable Fault-Tolerant CORBA Infrastructure , 2004, Cluster Computing.

[10]  Michael Luck,et al.  Transparent Fault Tolerance for Web Services Based Architectures , 2002, Euro-Par.

[11]  Liming Chen,et al.  N-VERSION PROGRAMMINC: A FAULT-TOLERANCE APPROACH TO RELlABlLlTY OF SOFTWARE OPERATlON , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing, 1995, ' Highlights from Twenty-Five Years'..

[12]  Robbert van Renesse,et al.  Adding high availability and autonomic behavior to Web services , 2004, Proceedings. 26th International Conference on Software Engineering.

[13]  Deron Liang,et al.  Fault tolerant Web Services , 2007, J. Syst. Archit..

[14]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[15]  Miguel Castro,et al.  Using abstraction to improve fault tolerance , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[16]  Miguel Castro,et al.  BASE: using abstraction to improve fault tolerance , 2001, SOSP.

[17]  Wei Li,et al.  A framework to support survivable Web services , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[18]  Kenneth J. Goldman,et al.  Byzantine Fault-Tolerant Web Services for n-Tier and Service Oriented Architectures , 2008, 2008 The 28th International Conference on Distributed Computing Systems.

[19]  Liuba Shrira,et al.  HQ replication: a hybrid quorum protocol for byzantine fault tolerance , 2006, OSDI '06.

[20]  Michael R. Lyu,et al.  Making Services Fault Tolerant , 2006, ISAS.

[21]  Ramakrishna Kotla,et al.  Zyzzyva , 2007, SOSP.

[22]  Arun Venkataramani,et al.  Separating agreement from execution for byzantine fault tolerant services , 2003, SOSP '03.

[23]  Michael K. Reiter,et al.  Fault-scalable Byzantine fault-tolerant services , 2005, SOSP '05.

[24]  Priya Narasimhan,et al.  Thema: Byzantine-fault-tolerant middleware for Web-service applications , 2005, 24th IEEE Symposium on Reliable Distributed Systems (SRDS'05).

[25]  Ricardo Jiménez-Peris,et al.  WS-replication: a framework for highly available web services , 2006, WWW '06.

[26]  Wenbing Zhao,et al.  Byzantine Fault Tolerance for Nondeterministic Applications , 2007, Third IEEE International Symposium on Dependable, Autonomic and Secure Computing (DASC 2007).