Byzantine Fault Tolerant Collaborative Editing

Byzantine Fault Tolerant Collaborative Editing

BYZANTINE FAULT TOLERANT COLLABORATIVE EDITING MAMDOUH O. BABI Master of Science in Computer Information Systems Bellevue University January 2006 Submitted in partial fulfillment of the requirements for the degree of Doctor of Engineering at the CLEVELAND STATE UNIVERSITY May 2017 We hereby approve this dissertation for (Mamdouh O. Babi) Candidate for the Doctor of Engineering degree. This dissertation has been approved for the specialization of Electrical and Computer Engineering and CLEVELAND STATE UNIVERSITY College of Graduate Studies by _________________________________________________________________ Dissertation Chairperson, (Wenbing Zhao) _____________ Electrical Engineering & Computer Science__4/28/17________ Department & Date _________________________________________________________________ Dissertation Committee Member, (Lili Dong) ______________ Electrical Engineering & Computer Science__4/28/17________ Department & Date _________________________________________________________________ Dissertation Committee Member, (Timothy J. Arndt) ________________ Department of Information Systems______5/1/17________ Department & Date _________________________________________________________________ Dissertation Committee Member (Janche Sang) _______________Electrical Engineering & Computer Science__5/1/17_______ Department & Date _________________________________________________________________ Dissertation Committee Member (Sanchita Mal-Sarkar) _______________Electrical Engineering & Computer Science__5/1/17______ Department & Date Student’s Date of Defense: (April 28, 2017) ACKNOWLEDGMENT Every dissertation is a joint effort and my dissertation is no exception. I would like to express my gratitude to all the people who supported this work. It has been a long journey involved with major research challenges and overcoming critical developments obstacles. First and foremost, I would like to thank my advisor Professor, Dr. Wenbing Zhao, for his critical eye and foresight. It has been pleasure learning from his experience and insights for the past five years. Without his guidance and encouragement, my years as a Doctoral student would have been far less productive. I want to thank him for his encouragement, patience, support, and knowledge. I also would like to thank my committee members: Professor Dr. Rama Gorla, Professor Dr. Timothy Arndt, Professor Dr. Janche Sang, Professor Dr. Lili Dong, and Professor Dr. Sanchita Mal-Sarkar for their encouragement and constructive criticism about the presented research and the formatting of this dissertation. They have been a strong supporter of my work and they provided invaluable feedback. I would like to thank everyone in the Electrical and Computer Science Department who helped me through this process. This work would have been much more difficult without them. Finally, I want to thank my family. My late father and my late mother for raising me well and taught me to be respectful. I want also to thank my beautiful kids: Samer, Rami, and Sara for providing me with the strengths and energy to achieve my goal. Mamdouh O. Babi To Samer, Rami, and Sara… I Love You! BYZANTINE FAULT TOLERANT COLLABORATIVE EDITING MAMDOUH O. BABI ABSTRACT Collaborative work applications involve shared views by multiple users. In a collaborative editing system, multiple users can view, edit, and save the same document simultaneously. Therefore, any infrastructure in collaborative work must support consistency and some type of concurrency. Some systems support strict consistency. Driven by the needs for highly reliable real-time collaborative editing systems, I am introducing a lightweight solution for protecting real-time collaborative editing systems against Byzantine faults. The Byzantine Fault Tolerance (BFT) mechanisms are being used to protect such systems from malicious faults. I observe that a centralized coordination algorithm not only reduces the complexity of the editing system, but it also makes it easier to harden the system with Byzantine fault tolerance. In this dissertation, a comprehensive analysis of the potential threats towards collaborative editing systems will be described and a set of Byzantine fault tolerance mechanisms without requiring any additional redundant resources will be introduced. If the system has sufficient redundancy, such mechanisms can be used to ensure strong protection against various malicious faults. Even without sufficient redundancy in the system, mechanisms outlined in this dissertation would still help limit the damages caused by a faulty participant. v My contributions are outlined as follows: (1) A case will be made to favor the use of centralized coordination algorithms for real-time collaborative editing systems. (2) A comprehensive threat analysis on collaborative editing systems will be performed. (3) A set of lightweight BFT mechanisms that can be used to protect such editing systems from malicious faults without restoring to additional redundant resources will be presented. It has been shown, during my threat analysis, that threats from faulty participant and/or from publisher can case a serious damage to the system. It has also been shown that a centralized algorithm has the side benefits that the participants are insulated from each other. In the next phase of my dissertation research, lightweight BFT mechanisms to control any inconsistent updates and to some degree, to control malicious updates will be implemented. The former could help to develop robust real-time collaborative editing systems able to overcome malicious activities and help limit the damage caused by a faulty participant. vi TABLE OF CONTENTS Page ABSTRACT .................................................................................................................... v LIST OF FIGURES ........................................................................................................ x ACRONYMS ................................................................................................................ xii CHAPTER I: INTRODUCTION ....................................................................................1 1.1 Motive of Research ...................................................................................4 1.2 Research Problems ....................................................................................6 1.3 Methodology .............................................................................................7 1.3.1 Algorithm Construction………………………………………...7 1.3.2 Testing and Performance Evaluation…………………………...8 CHAPTER II: LITERATURE REVIEW ........................................................................9 2.1 Background ..............................................................................................9 2.1.1 Computer Supported Collaborative Work……………………...9 2.2 Pessimistic Concurrent Control for CSCW ............................................12 2.3 Optimistic Concurrent Control with Operational Transformation for CSCW .....................................................................................................13 2.4 Concurrency Control with Commutative Replicated Data Types for CSCW ....................................................................................................16 2.5 Related Work .........................................................................................19 vii CHAPTER III: COLLABORATIVE EDITING BASED ON OPERATIONAL TRANSFORMATION ………………………………………………………………...23 3.1 Real-Time Collaborative Editing ...........................................................23 3.2 Correctness criteria ................................................................................25 3.3 Tracking causality using vector clocks ..................................................25 3.4 Update propagation ................................................................................27 3.5 Operational Transformation ...................................................................28 3.6 Collaborative Editor Applications with OT base ...................................30 3.6.1 Gobby .........................................................................................30 3.6.2 MoonEdit ...................................................................................30 3.6.3 Etherpad .....................................................................................31 3.6.4 FirePad Text Editor .....................................................................31 3.6.5 Google Docs ...............................................................................32 3.6.6 ACE Collaborative Editor ...........................................................33 CHAPTER IV: BYZABTINE FAULT TOLERANCE FOR COLLABORATIVE EDITING BASED ON OPERATIONAL TRANSFORMATION ................................43 4.1 Collaborative Editing Architecture ........................................................43 4.2 Threat Analysis .......................................................................................46 4.2.1 Threat from a Faulty Publisher ..................................................47 4.2.2 Threat from a Faulty Participant ................................................47 4.3 System Model and Solution Design .......................................................48 4.3.1 The Lightweight BFT mechanisms ............................................48 4.3.2 System Model ............................................................................51 4.3.3 Consistent Membership .............................................................52

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    131 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us