Byzantine fault tolerant web applications using the UpRight library

Web applications are widely used for email, online sales, auctions, collaboration, etc. Most of today’s highly-available web applications implement fault tolerant protocols in order to tolerate crash faults. However, recent system-wide failures have been caused by arbitrary or Byzantine faults which...

Full description

Bibliographic Details
Main Author: Rebello, Rohan Francis
Format: Others
Language:English
Published: 2010
Subjects:
Online Access:http://hdl.handle.net/2152/ETD-UT-2009-08-362
id ndltd-UTEXAS-oai-repositories.lib.utexas.edu-2152-ETD-UT-2009-08-362
record_format oai_dc
spelling ndltd-UTEXAS-oai-repositories.lib.utexas.edu-2152-ETD-UT-2009-08-3622015-09-20T16:53:58ZByzantine fault tolerant web applications using the UpRight libraryRebello, Rohan Francisfault tolerancebyzantineweb applicationsUpRight libraryWeb applications are widely used for email, online sales, auctions, collaboration, etc. Most of today’s highly-available web applications implement fault tolerant protocols in order to tolerate crash faults. However, recent system-wide failures have been caused by arbitrary or Byzantine faults which these applications are not capable of handling. Despite the abundance of research on adding Byzantine fault tolerance (BFT) to a system, BFT systems have found little use outside the research community. Reasons typically cited for this are the difficulty in implementing such systems and the performance overhead associated with them. While most research focuses on improving the performance or lowering the replication cost of BFT protocols, little has been done on making them easy to implement. The goal of this thesis is to evaluate the viability of BFT web applications and show that, given the right abstraction, it is viable to build a Byzantine fault tolerant web application without extensive reimplementation of the web application. In order to achieve this goal, it demonstrates a BFT implementation of the Apache Tomcat servlet container and the VQWiki web application by using the UpRight BFT library. The UpRight library provides abstractions that make it easy to develop BFT applications and we leverage this abstraction to reduce the implementation cost of our system. Our results are encouraging — less than 2% of the original system needs to be modified while still retaining all the functionality of the original system. Given the design trade-offs that we make in implementing the system, we also get comparable performance, indicating that implementing BFT is a viable option to explore for highly-available web applications.text2010-06-04T14:46:02Z2010-06-04T14:46:02Z2009-082010-06-04T14:46:02ZAugust 2009thesisapplication/pdfhttp://hdl.handle.net/2152/ETD-UT-2009-08-362eng
collection NDLTD
language English
format Others
sources NDLTD
topic fault tolerance
byzantine
web applications
UpRight library
spellingShingle fault tolerance
byzantine
web applications
UpRight library
Rebello, Rohan Francis
Byzantine fault tolerant web applications using the UpRight library
description Web applications are widely used for email, online sales, auctions, collaboration, etc. Most of today’s highly-available web applications implement fault tolerant protocols in order to tolerate crash faults. However, recent system-wide failures have been caused by arbitrary or Byzantine faults which these applications are not capable of handling. Despite the abundance of research on adding Byzantine fault tolerance (BFT) to a system, BFT systems have found little use outside the research community. Reasons typically cited for this are the difficulty in implementing such systems and the performance overhead associated with them. While most research focuses on improving the performance or lowering the replication cost of BFT protocols, little has been done on making them easy to implement. The goal of this thesis is to evaluate the viability of BFT web applications and show that, given the right abstraction, it is viable to build a Byzantine fault tolerant web application without extensive reimplementation of the web application. In order to achieve this goal, it demonstrates a BFT implementation of the Apache Tomcat servlet container and the VQWiki web application by using the UpRight BFT library. The UpRight library provides abstractions that make it easy to develop BFT applications and we leverage this abstraction to reduce the implementation cost of our system. Our results are encouraging — less than 2% of the original system needs to be modified while still retaining all the functionality of the original system. Given the design trade-offs that we make in implementing the system, we also get comparable performance, indicating that implementing BFT is a viable option to explore for highly-available web applications. === text
author Rebello, Rohan Francis
author_facet Rebello, Rohan Francis
author_sort Rebello, Rohan Francis
title Byzantine fault tolerant web applications using the UpRight library
title_short Byzantine fault tolerant web applications using the UpRight library
title_full Byzantine fault tolerant web applications using the UpRight library
title_fullStr Byzantine fault tolerant web applications using the UpRight library
title_full_unstemmed Byzantine fault tolerant web applications using the UpRight library
title_sort byzantine fault tolerant web applications using the upright library
publishDate 2010
url http://hdl.handle.net/2152/ETD-UT-2009-08-362
work_keys_str_mv AT rebellorohanfrancis byzantinefaulttolerantwebapplicationsusingtheuprightlibrary
_version_ 1716820876295405568