Increasing the Trustworthiness of Collaborative Applications

Increasing the Trustworthiness of Collaborative Applications

Mamdouh Babi, Wenbing Zhao
DOI: 10.4018/978-1-4666-5888-2.ch424
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Chapter Preview

Top

Background

Collaborative work applications involve shared views by multiple users. For example, in Collaborative Editing, multiple users can view, edit, and save the same document at the same instant. Therefore, any infrastructure in collaborative work must support consistency and some type of concurrency. Some systems support strict consistency mode. In this type of architecture, all participants will share the exact same view. The mechanisms in these types of setting are supported by floor control and pessimistic locking. Other systems support replicas divergence. The mechanisms of these types of setting are supported by optimistic locking and operation transformation strategies. The developer needs to make a clear choice of the type of consistency control that he/she should be using by applications. The choice made represents the form of consistency against performance and scalability. No matter what choice is made, any system designed should contain the dependability factor. For a system to be dependable, it must be reliable, available, safe, secure, and trustworthy. A solution for protecting real-time collaborative editing systems against Byzantine faults was presented in a recent paper (Zhao & Babi, 2013). A key contribution of the proposed solution is to maximize the protection of a collaborative editing system without resorting to the use of additional redundant resources such as a separate Byzantine fault tolerance service cluster. Next, we will define quantitative dependability measures:

  • Reliability: The measure of continuous delivery of proper service or equivalently of the time of failure. In other words, it is the probability of the system to survive, despite failure, over an interval of time.

  • Availability: The measure of delivery of the correct service at any given time. Meaning, the system must be available to deliver the service at all time.

  • Safety: The acceptable misshape risk that does not have any type catastrophic consequences, within all constraints of operation throughout all phases of the systems lifecycle.

  • Secrecy: The ability of the system to preserve confidentiality of all information and data at all time.

  • Trustworthiness: The ability of the system to do what it exactly expected to do despite all type of disruption including: environmental disruption, users, operator errors, and all types of attacks, malicious and non-malicious, by hostile parties.

Key Terms in this Chapter

Redo: the operation to redo what has been done or going back to the state before going back to the pervious state.

Synchronization: The coordination of activities and events among users working or collaborating using the same systems.

Byzantine Fault Tolerance: the ability to defend against Byzantine.

Byzantine Fault: an arbitrary fault that occurs during the execution of an algorithm by a distributed system.

Trustworthiness: The ability of the system to do what it exactly expected to do.

Computer Supported Collaborative Work: the interaction among multiple users using the same applications to achieve specific task or results.

Undo: the operation to undo what has been done or going back to the pervious state.

Operation Transformation: the concept of out of order operation is been detected, it is transformed before being applied to the system state to preserve consistency.

Complete Chapter List

Search this Book:
Reset