scispace - formally typeset
Search or ask a question

Showing papers on "Two-phase commit protocol published in 1987"


Book ChapterDOI
16 Aug 1987
TL;DR: The protocol can be usen as an essential tool in proving that all languages in IP have zero knowledge proof systems, i.e. any statement which can be proved interactively can also be proved in zero knowledge.
Abstract: A protocol is presented that allows a set of parties to collectively perform any agreed computation, where every party is able to choose secret inputs and verify that the resulting output is correct, and where all secret inputs are optimally protected. The protocol has the following properties: ? One participant is allowed to hide his secrets unconditionally, i.e. the protocol releases no Shannon information about these secrets. This means that a participant with bounded resources can perform computations securely with a participant who may have unlimited computing power. To the best of our knowledge, our protocol is the first of its kind to provide this possibility. ? The cost of our protocol is linear in the number of gates in a circuit performing the computation, and in the number of participants. We believe it is conceptually simpler and more efficient than other protocols solving related problems ([Y1], [GoMiWi] and [GaHaYu]). It therefore leads to practical solutions of problems involving small circuits. ? The protocol is openly verifiable, i.e. any number of people can later come in and rechallenge any participant to verify that no cheating has occurred. ? The protocol is optimally secure against conspiracies: even if n - 1 out of the n participants collude, they will not find out more about the remaining participants' secrets than what they could already infer from their own input and the public output. ? Each participant has a chance of undetected cheating that is only exponentially small in the amount of time and space needed for the protocol. ? The protocol adapts easily, and with negligible extra cost, to various additional requirements, e.g. making part of the output private to some participant, ensuring that the participants learn the output simultaneously, etc. ? Participants can prove relations between data used in different instances of the protocol, even if those instances involve different groups of participants. For example, it can be proved that the output of one computation was used as input to another, without revealing more about this data. ? The protocol can be usen as an essential tool in proving that all languages in IP have zero knowledge proof systems, i.e. any statement which can be proved interactively can also be proved in zero knowledge.The rest of this paper is organised as follows: First we survey some related results. Then Section 2 gives an intuitive introduction to the protocol. In Section 3, we present one of the main tools used in this paper: bit commitment schemes. Sections 4 and 5 contain the notation, terrninology, etc. used in the paper. In Section 6, the protocol is presented, along with proofs of its security and correctness. In Section 7, we show how to adapt the protocol to various extra requirements and discuss some generalisations and optimisations. Finally, Section 8 contains some remarks on how to construct zero knowledge proof systems for any language in IP.

268 citations


Proceedings ArticleDOI
01 Dec 1987
TL;DR: It is argued that a high performance, microprocessor based processing node can support a log server if it uses efficient communication protocols and low latency, non volatile storage to buffer log data.
Abstract: Increased interest in using workstations and small processors for distributed transaction processing raises the question of how to implement the logs needed for transaction recovery. Although logs can be implemented with data written to duplexed disks on each processing node, this paper argues there are advantages if log data is written to multiple log server nodes. A simple analysis of expected logging loads leads to the conclusion that a high performance, microprocessor based processing node can support a log server if it uses efficient communication protocols and low latency, non volatile storage to buffer log data. The buffer is needed to reduce the processing time per log record and to increase throughput to the logging disk. An interface to the log servers using simple, robust, and efficient protocols is presented. Also described are the disk data structures that the log servers use. This paper concludes with a brief discussion of remaining design issues, the status of a prototype implementation, and plans for its completion.

65 citations


Proceedings ArticleDOI
01 Dec 1987
TL;DR: A model for nested transaction is introduced allowing for synchronous and asynchronous transaction invocation as well as single call and conversational interfaces and properties and dependencies of transaction recovery are explored if a transaction is 'unit of recovery' and if savepoints within transactions are used to gain finer recovery units.
Abstract: The concept of nested transactions offers more decomposable execution units and finer grained control over recovery and concurrency as compared to 'flat' transactions. To exploit these advantages, especially transaction recovery has to be refined and adjusted to the requirements of the control structure.In this paper, we investigate transaction recovery for nested transactions. Therefore, a model for nested transaction is introduced allowing for synchronous and asynchronous transaction invocation as well as single call and conversational interfaces. For the resulting four parameter combinations, the properties and dependencies of transaction recovery are explored if a transaction is 'unit of recovery' and if savepoints within transactions are used to gain finer recovery units.

55 citations


Journal ArticleDOI
TL;DR: Three measures of evaluating the combined overhead of each locking protocol and the two-phase commit protocol, each most suitable to a different type of underlying communication network are proposed.
Abstract: The main purpose of a locking protocol is to ensure correct interleaving of actions executed by concurrent transactions. The locking protocol consists of a set of rules dictating how accessed entities should be locked and unlocked. As a result of obeying the rules, transactions in a distributed database incur an overhead. We propose three measures of evaluating this overhead, each most suitable to a different type of underlying communication network. Then, using a graph theoretic model, we analyze and compare three protocols according to each measure: two-phase locking, two-phase locking with a fixed order imposed on the database entities (ensuring deadlock freedom), and the tree protocol. In practice, a transaction also executes the two-phase commit protocol in order to guarantee atomicity. Therefore, the combined overhead of each locking protocol and the two-phase commit protocol is also determined.

18 citations


Proceedings ArticleDOI
01 Aug 1987
TL;DR: A connection management protocol for use between entities connected by channels that can lose, reorder, and duplicate messages and verified the safety property that when an entity is open, its remote incarnation number matches the remote entity's local incarnation number.
Abstract: We specify and verify a connection management protocol for use between entities connected by channels that can lose, reorder, and duplicate messages. The protocol is symmetric. Each entity is in one of the following states: closed, listen, open, active opening, passive opening, or closing. The first three are stable states to be exited only by user request, while the last three are transient states. Each entity maintains a local incarnation number at all times, and a remote incarnation number only when opening, open, and closing. Our protocol employs the 3-way handshake used in TCP and ISO Transport Protocol (Class 4).We verify the safety property that when an entity is open, its remote incarnation number matches the remote entity's local incarnation number. This ensures that data messages from past connection instances are not delivered to the user. We verify the following progress properties: an actively opening entity will eventually establish a connection, provided that the remote entity is willing to communicate or is itself actively opening; the states of active opening, passive opening, and closing are transient; if the entities remain closed, the channels will eventually become empty, assuming messages have a maximum lifetime.This protocol specification can be immediately combined with the data transfer protocol specifications presented in [SHAN1, SHAN2, SHAN3] to provide a transport layer protocol with the functions of connection management and two-way data transfer. The verifications too can be immediately combined to provide a hierarchical verification of the multi-function protocol. The specifications and verifications can be combined because the connection management and data transfer protocols are images of the multi-function protocol. This illustrates the power of protocol projections in constructing multi-function protocols.

16 citations


Proceedings ArticleDOI
01 Jun 1987
TL;DR: The necessary cost for transaction commitment is established, and a simple distributed algorithm is presented to prove sufficiency, and it is shown that the timing of the algorithm is optimal within a natural class of commit-protocols.
Abstract: We consider the communication protocol for transaction commitment in a distributed database. Specifically, the connection between the structure of communication among the participating sites, and the communication network topology is investigated. In order to do so, the cost of transaction commitment is defined as the number of network hops that messages of the protocol must traverse. We establish the necessary cost for transaction commitment, and show that it is also sufficient. A simple distributed algorithm is presented to prove sufficiency. Our algorithm is also time-efficient, and in order to prove that we show that the timing of our algorithm is optimal within a natural class of commit-protocols.

14 citations


Journal ArticleDOI
TL;DR: The progressive recovery protocols are shown to reduce normal processing overhead and lead to performance improvement over the pessimistic protocol.
Abstract: The demand for on-line transaction processing has grown rapidly in recent years. To meet the transaction demand, several DB (database management) and DC (data communication management) subsystems can be coupled together to form a distributed DB/DC system. A key problem is to provide these distributed systems with effective means to recover transactions upon failure while paying little performance penalty during normal processing. Also, there should be minimal interference of fault-free components, during the recovery of failed component. By decentralizing recovery management, and using transaction level structural information to eliminate costly lower level handshaking protocols, proposed progressive transaction recovery protocols seek to solve the problem. A queueing model for evaluating the transaction response time during normal processing for the progressive and pessimistic protocols is developed and solved, via simulation. The progressive recovery protocols are shown to reduce normal processing overhead and lead to performance improvement over the pessimistic protocol.

9 citations


Journal ArticleDOI
TL;DR: This paper presents a survey of transaction techniques and discusses the application of the transaction model to distributed programming environments.
Abstract: Considerable research effort in the software engineering domain has been focused on the development of more advanced programming environments A key aspect in this development is distribution Distributed computer systems have the potential for high reliability This is primarily because resources can be provided redundantly at different sites However, the possibility of partial system failure and the high level of parallel activity in distributed systems make it difficult to realise this potential In an attempt to simplify the treatment of these problems in distributed database systems, the notion of atomic transactions was introduced The transaction concept is equally applicable to the area of distributed programming environments However, traditional database transaction mechanisms are not efficient or flexible enough to meet the requirements of distributed programming environments This paper presents a survey of transaction techniques and discusses the application of the transaction model to distributed programming environments

6 citations


Proceedings ArticleDOI
03 Feb 1987
TL;DR: This work analyzes and compares three protocols according to each measure for evaluating the combined overhead of the locking protocol and the two phase commit protocol, finding one most suitable to a different type of underlying communication network.
Abstract: The main purpose of a locking protocol is to ensure correct interleaving of actions executed by concurrent transactions. The locking protocol consists of a set of rules dictating how accessed entities should be locked and unlocked. As a result of obeying the rules, transactions incur an overhead, particularly in a distributed database. We propose three measures for evaluating this overhead, each most suitable to a different type of underlying communication network. Then, using a graph theoretic model, we analyze and compare three protocols according to each measure: two-phase-locking ([EGLT]), two-phase-locking with a fixed order imposed on the database-entities (ensuring deadlock freedom), and the tree protocol ([SK]). The combined overhead of the locking protocol and the two phase commit protocol ([G]) is also determined.

3 citations


Proceedings ArticleDOI
03 Feb 1987
TL;DR: A termination protocol that makes the three-phase commit protocol resilient is designed and can be generalized to design termination protocols for other commit protocols in multisite simple network partitioning.
Abstract: Resilient commit protocols for multisite simple network partitioning are studied in this paper. The necessity of termination protocols to make commit protocols resilient in multisite simple network partitioning is presented. A termination protocol that makes the three-phase commit protocol resilient is designed. This protocol is valid even for transient network partitioning. The method can be generalized to design termination protocols for other commit protocols in multisite simple network partitioning.

3 citations