Byzantine fault tolerant web applications using the UpRight library

dc.contributor.advisorAlvisi, Lorenzoen
dc.contributor.committeeMemberDahlin, Michaelen
dc.creatorRebello, Rohan Francisen
dc.date.accessioned2010-06-04T14:46:02Zen
dc.date.accessioned2017-05-11T22:19:55Z
dc.date.available2010-06-04T14:46:02Zen
dc.date.available2017-05-11T22:19:55Z
dc.date.issued2009-08en
dc.date.submittedAugust 2009en
dc.descriptiontexten
dc.description.abstractWeb 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.en
dc.description.departmentComputer Sciencesen
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttp://hdl.handle.net/2152/ETD-UT-2009-08-362en
dc.language.isoengen
dc.subjectfault toleranceen
dc.subjectbyzantineen
dc.subjectweb applicationsen
dc.subjectUpRight libraryen
dc.titleByzantine fault tolerant web applications using the UpRight libraryen
dc.type.genrethesisen

Files