scispace - formally typeset
Search or ask a question

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


Patent
02 Feb 1995
TL;DR: In this article, an extension of the two phase commit protocol allows distributed participation among physically distant agents independent of the communications mechanism being used in a data processing system, which enables a distribution of the coordinator function across systems using any communication mechanism.
Abstract: An extension of the two phase commit protocol allows distributed participation among physically distant agents independent of the communications mechanism being used in a data processing system. An extra stage of processing is added to the two phase commit protocol called End Phase One Processing (EPOP) which enables a distribution of the coordinator function across systems using any communication mechanism. EPOP is an extra stage in which a participant can receive control. In this extra stage, a participant flows two phase commit protocol sequences to distributed systems. The communication mechanism is used in such a way that it becomes part of a distributed coordinator. The coordinator itself does not need knowledge of other systems. The extra stage of processing is enabled by an operating system service called Enable End Phase One Exit Processing (EEPOEP). EEPOEP causes an extension of two phase commit protocol to be used on the issuing system. In this way, not only distributed databases can be supported, but also distributed users and distributed generic resource managers. A new response, called ABSTAIN, can be used by a resource manager in response to a PREPARE signal from the coordinator. This response from the resource manager to the coordinator indicates that the resource manager wants to continue to be involved with the unit of work two phase commit process but does not want to influence the final decision (i.e., COMMIT or BACKOUT) of the unit of work.

81 citations


Proceedings ArticleDOI
07 Nov 1995
TL;DR: The Totem multiple-ring protocol is presented, a novel reliable ordered multicast protocol for multiple interconnected local-area networks that simplifies the maintenance of consistency of replicated data, and eases the development of fault-tolerant distributed systems.
Abstract: We present-the Totem multiple-ring protocol, a novel reliable ordered multicast protocol for multiple interconnected local-area networks. The protocol exhibits excellent performance and maintains a consistent network-wide total order of messages despite network partitioning and remerging, or processor failure and recovery with stable storage intact. The Totem protocol is designed for fault-tolerant distributed systems, which replicate data to guard against failures and must ensure that replicated data remain consistent despite failures. The network-wide total order of messages provided by Totem simplifies the maintenance of consistency of replicated data, and, thus, eases the development of fault-tolerant distributed systems.

70 citations


Journal ArticleDOI
TL;DR: Various optimizations are presented and analyzed in terms of reliability, savings in log writes and network traffic, and reduction in resource lock time and the feasibility and performance of several optimization combinations are analyzed.
Abstract: An atomic commit protocol can ensure that all participants in a distributed transaction reach consistent states, whether or not system or network failures occur. The atomic commit protocol used in industry and academia is the well-known two-phase commit (2PC) protocol, which has been the subject of considerable work and technical literature for some years.

65 citations


Proceedings ArticleDOI
22 May 1995
TL;DR: A new atomic commitment protocol that always allows a quorum in the system to make progress, and is demonstrated, using a simple algorithm, how protocols that always allow a majority to makeProgress can be constructed.
Abstract: This paper presents a new atomic commitment protocol that always allows a quorum in the system to make progress. Previously suggested quorum-based protocols (e.g. [12]) allow a quorum to make progress in case of one failure. If failures cascade, however, and the quorum in the system is \lost" (i.e. at a given time no quorum component exists, e.g. because of a total crash), a quorum can later become connected and still remain blocked. The importance of this work is in demonstrating, using a simple algorithm, how protocols that always allow a majority to make progress can be constructed.

64 citations


Patent
19 Jan 1995
TL;DR: In this paper, a system is described in which recovery scenarios in a system for global transaction processing are testable with application programs, and a client application program initiates a global transaction that results in multiple service requests to be processed by one or more server application programs.
Abstract: A system is disclosed in which recovery scenarios in a system for global transaction processing are testable with application programs. A client application program initiates a global transaction that results in multiple service requests to be processed by one or more server application programs. After processing of the service requests is complete, the client application program issues a selected test command that partially performs two-phase commit processing according to a predetermined recovery scenario. Recovery processing is initiated to recover the databases affected by the global transaction Control and status information are then returned to the client application program. After recovery processing is complete, the databases are compared to the expected states according the recovery scenario.

61 citations


Proceedings ArticleDOI
13 Sep 1995
TL;DR: Chandra and Toueg as discussed by the authors presented a non-blocking atomic commitment protocol in an asynchronous system augmented with an unreliable failure detector that can make an infinity of false failure suspicions. But this protocol does not require any additional termination protocol: failure scenarios are handled within their regular protocol and are thus much simpler to manage.
Abstract: In a transactional system, an atomic commitment protocol ensures that for any transaction, all data manager processes agree on the same outcome (commit or abort). A non-blocking atomic commitment protocol enables an outcome to be decided at every correct process despite the failure of others. In this paper we apply, for the first time, the fundamental result of T. Chandra and S. Toueg (1991) on solving the abstract consensus problem, to non-blocking atomic commitment. More precisely, we present a non-blocking atomic commitment protocol in an asynchronous system augmented with an unreliable failure detector that can make an infinity of false failure suspicions. If no process is suspected to have failed, then our protocol is similar to a three phase commit protocol. In the case where processes are suspected, our protocol does not require any additional termination protocol: failure scenarios are handled within our regular protocol and are thus much simpler to manage.

54 citations


Proceedings ArticleDOI
25 Oct 1995
TL;DR: It is shown that DNB-AC is non-blocking when a majority of data managers are correct, and the failure detector is in the class OS, which means that the protocol is almost as efficient as the 2PC.
Abstract: In a transactional system, an atomic commitment protocol ensures that for any transaction, all data managers agree on the same outcome: commit or abort. A non-blocking atomic commitment protocol enables an outcome to be decided at every correct data manager despite the failure of others. It is well known that the famous Two Phase Commit protocol (2PC) is a blocking protocol, whereas the Three Phase Commit protocol (2PC) is a non-blocking protocol. Both protocols are centralized. We discuss a Decentralized Non-Blocking Atomic Commitment protocol, named DNB-AC. In the absence of failures, the DNB-AC protocol requires the same number of steps to commit than the 2PC protocol (three steps). Performance measures show that the DNB-AC protocol is significantly faster that the 3PC and in the case of a broadcast network, is almost as efficient as the 2PC. The DNB-AC protocol uses a uniform consensus protocol as a termination protocol. Using the recent results by Chandra and Toueg (1991) on solving consensus in an asynchronous system augmented with unreliable failure detectors, we give a precise characterization of the liveness of DNB-AC. We show that DNB-AC is non-blocking when a majority of data managers are correct, and the failure detector is in the class OS.

37 citations


Proceedings ArticleDOI
06 Mar 1995
TL;DR: A prototype implementation and initial measurements that compare transaction processing with 2PC versus distributed multi-level transaction management and are applicable to any notion of distributed object management system are described.
Abstract: The 2PC (two-phase commit) protocol together with strict 2PL (two-phase locking) can be considered as a de-facto standard for distributed transaction processing. However, 2PC is often unacceptable from a performance and execution-autonomy point of view. Multilevel transaction management offers an alternative solution that allows early commits of subtransactions and thus improves performance and execution autonomy. While the theory of this approach is well established, a practical evaluation in a multi-database environment is still lacking. This paper describes a prototype implementation and initial measurements that compare transaction processing with 2PC versus distributed multi-level transaction management. Although we used SQL in our examples, the concepts presented are applicable to any notion of distributed object management system. >

32 citations


Proceedings ArticleDOI
15 May 1995
TL;DR: A new real-time optimistic protocol that uses a dynamic adjustment of the serialization order by backward-adjusting the non-serious conflicting transactions before the committing transactions, so that many unnecessary restarts can be eliminated.
Abstract: Proposes a new real-time optimistic protocol. By using a dynamic adjustment of the serialization order by backward-adjusting the non-serious conflicting transactions before the committing transactions, many unnecessary restarts can be eliminated. In the protocol, no conflict or serialization constraints have to be recorded during the read phase of a transaction. Different priority conflict resolution methods can be easily incorporated in the protocol. In addition, with the use of Thomas's write rule, the number of transaction restarts can further be much reduced.

28 citations


Proceedings ArticleDOI
02 Dec 1995
TL;DR: This paper introduces a new algorithm, the RenlnJation Algorithm (RA), that does not necessitate the incurring of message overheads for the commitment of mobile transactions, and addresses two issues related to the RA algorithm: a termination protocol and a protocol for non_partition.
Abstract: In a mobile computing environment, a user carrying a portable computer can execute a mobile t11m,,· action by submitting the ope.rations of the transaction to distributed data servers from different locations. M a result of this mobility, the operations of the transaction may be executed at different servers. The distribution oC operations implies that the transmission of messages (such as those involved in a two phase commit protocol) may be required among these data servers in order to coordinate the execution ofthese operations. In this paper, we will address the distribution oC operations that update partitioned data in mobile environments. We show that, for operations pertaining to resource allocation, the message overhead (e.g., for a 2PC protocol) introduced by the distribution of operations is undesirable and unnecessary. We introduce a new algorithm, the RenlnJation Algorithm (RA), that does not necessitate the incurring of message overheads Cor the commitment of mobile transactions. We address two issues related to the RA algorithm: a termination protocol and a protocol for non_partition.commutotive operation". We perform a comparison between the proposed RA algorithm and existing solutions that use a 2PC protocol.

24 citations


Patent
Andrew David James Banks1
31 Aug 1995
TL;DR: In this article, a two phase commit protocol is proposed to reduce the number of agents writing to a log and the number points in a transaction at which the log must guarantee the durability of the data.
Abstract: A method for use in a two phase commit protocol, of reducing the number of agents writing to a log and the number of points in a transaction at which the log must guarantee the durability of the data is disclosed. If all of the agents involved in a transaction have access to the same log and if in a network it is relatively expensive to send a message, but little penalty for sending a long message compared to a short one, then improved performance can be obtained by sending both the data to be written to the log and the request commit flows in the same communications buffer. Data representing commit records to be logged for a first and subsequent agent is added respectively by each of said first and said subsequent agents to the commit request prior to sending said commit request received from a previous agent in a chain to a net agent in the chain and logging of said commit records is completed by the last agent only.

Journal ArticleDOI
TL;DR: The issue related to recovery is tackled here, and an efficient procedure for the recovery in communications protocols is described, which requires less time for rollback and fewer recovery control messages than other procedures.

Proceedings ArticleDOI
05 Dec 1995
TL;DR: Since the protocol enables the distributed allocation of critical sections, the benefits of various allocations can be analyzed and the system optimized to provide minimal blocking, this has important application in global optimization techniques for allocating large numbers of hard real-time tasks in multiprocessor systems.
Abstract: A distributed protocol is proposed for the synchronization of real-time tasks that have variable resource requirements. The protocol is simple to implement and is intended for large-scale distributed or parallel systems in which processes communicate by message passing. Critical sections, even when nested, may be executed on any processor. Thus, given an adequate number of processors, the execution of critical sections can be completely distributed. More significantly, since the protocol enables the distributed allocation of critical sections, the benefits of various allocations can be analyzed and the system optimized to provide minimal blocking. This has important application in global optimization techniques for allocating large numbers of hard real-time tasks in multiprocessor systems.

Proceedings ArticleDOI
28 Aug 1995
TL;DR: This paper presents a generic primitive, named dynamic-terminating-multicast (or DTM), of which instances enable to implement a locking protocol and an atomic commitment protocol and shows that this primitive can be implemented in an asynchronous system based on an unreliable failure detector.
Abstract: Locking and atomic commitment are two fundamental problems underlying transaction management in fault-tolerant distributed systems. In this paper we discuss these problems in the context of an asynchronous system with replicated objects. We present a generic primitive, named dynamic-terminating-multicast (or DTM) of which instances enable to implement a locking protocol and an atomic commitment protocol. By unifying the mechanisms needed to implement these protocols, we believe that the DTM primitive can be considered as a basic building block of distributed transactional systems. We show that this primitive can be implemented in an asynchronous system based on an unreliable failure detector.

Proceedings ArticleDOI
14 Aug 1995
TL;DR: An approach for adding fault tolerance, based on consistent checkpointing, to distributed shared memory applications, is proposed such that the communication overhead required to take a consistent checkpoint is the same as that of systems using a one-phase commit protocol, while the protocol utilises stable storage more efficiently.
Abstract: The paper proposes an approach for adding fault tolerance, based on consistent checkpointing, to distributed shared memory applications. Two different mechanisms are presented to efficiently address the issue of message losses due to either site failures or unreliable non-FIFO channels. Both guarantee a correct and efficient recovery from a consistent distributed system state following a failure. A variant of the two-phase commit protocol is employed such that the communication overhead required to take a consistent checkpoint is the same as that of systems using a one-phase commit protocol, while our protocol utilises stable storage more efficiently. A consistent checkpoint is committed when the first phase of the protocol finishes. >

01 Oct 1995
TL;DR: A new technique called protocol pruning is developed that reduces the complexity of the protocols by pruning them to keep only that part which is required for a specified subset of services, and takes polynomial time and space in the size of the protocol specification.
Abstract: A communication system uses a precise set of rules called a protocol, to define interactions among its entities. With advancing computer transmission and switching technology, communication systems are providing sophisticated services demanded by users over a wide area. Protocol standards include a very, large number of options to take care of different service possibilities and to please all the people involved in the Standards Committees. Consequently, protocols have become large and complex, and, therefore their design and analysis have become a formidable task. To cope with this problem, a variety of approaches to simplify the protocols have been proposed in the published literature, such as protocol projection, homomorphism, selective resolution, and many others. We have recently developed a new technique called protocol pruning. It reduces the complexity of the protocols by pruning them to keep only that part which is required for a specified subset of services. More importantly, it takes polynomial (rather than exponential) time and space in the size of the protocol specification. This makes the algorithm feasible for engineers to use for practical problems involving large and complex protocols. We describe the technique and discuss applications to synthesis of protocol converters/gateways, protocol conformance testing, and thinning for lightweight and high performance protocols. The technique could also be useful for protocol implementation, synthesis, validation, and verification. >

Journal ArticleDOI
TL;DR: This paper presents the design and implementation of a distributed transaction system that uses atomic data types to provide synchronization and recovery and requires programmers to do very little extra work to make an object atomic.
Abstract: The complexity of potential interactions among concurrent activities and the multitude of failure modes that can occur in distributed systems make it hard to reason about distributed programs. Transactions provide the programmer with a mechanism that simplifies the development of concurrent and distributed programs. In this paper we present the design and implementation of a distributed transaction system that uses atomic data types to provide synchronization and recovery. Generally speaking, implementing user-defined atomic data types is a difficult task. However, unlike existing systems, our system requires programmers to do very little extra work to make an object atomic. Programmers implement atomic data types as if for a sequential and reliable environment and specify the concurrent semantics of object operations separately in a small, but expressive declarative language. Appropriate synchronization and recovery code for atomic data types is generated automatically by the system according to this information.

Dissertation
01 Jan 1995
TL;DR: The detailed design and implementation of the two-phase commit protocol for Thor, a new object-oriented database management system, incorporates a number of performance optimizations, including presumed abort, short-circuited prepare, the coordinator log protocol, and further optimization of read-only transactions.
Abstract: This thesis describes the detailed design and implementation of the two-phase commit protocol for Thor, a new object-oriented database management system. The protocol relies on an optimistic concurrency control scheme and loosely synchronized clocks for transaction validation. It incorporates a number of performance optimizations, including presumed abort, short-circuited prepare, the coordinator log protocol, and further optimization of read-only transactions. The thesis also discusses some features of the protocol unique to Thor, such as client cache invalidation and the assignment of new object names. Thesis Supervisor: Barbara Liskov Title: NEC Professor of Software Science and Engineering

Proceedings ArticleDOI
09 Aug 1995
TL;DR: A semantics-based concurrency control scheme and a commit protocol which ensure the proposed correctness criterion without requiring local DBMSs to provide prepare-to-commit operations are presented.
Abstract: We propose a multidatabase transaction management scheme using the flexible transaction model. In our approach, global subtransactions can be committed unilaterally at local sites before the global commit. Since such executions may not guarantee the traditional atomicity requirement of global transactions, a new correctness criterion is proposed. We also present a semantics-based concurrency control scheme and a commit protocol which ensure the proposed correctness criterion without requiring local DBMSs to provide prepare-to-commit operations.

Proceedings ArticleDOI
07 Nov 1995
TL;DR: An asymmetric protocol for wireless communication in a step-by-step manner is developed, proving the correctness of the protocol at each step as the assumptions are relaxed, which is also efficient for wireless channels.
Abstract: We develop an asymmetric protocol for wireless communication in a step-by-step manner. We start with a very simple protocol and prove its correctness. Then we relax the assumptions of the simple protocol one by one, verifying the correctness of the protocol at each step as we relax the assumptions. This process is continued in a systematic manner until no assumptions are left. The novelty of the paper lies in the way the assumptions are relaxed without violating the correctness properties of the protocol while at the same time making the protocol efficient. The final result is a provably correct protocol which is also efficient for wireless channels.

01 Sep 1995
TL;DR: A novel notion of a fail-stop protocol is proposed, which automatically halts in response to any active attack that interferes with protocol execution, thus reducing protocol security analysis to that of passive attacks only.
Abstract: : We present a methodology to facilitate the design and analysis of secure cryptographic protocols. We advocate the general approach, and a new avenue for research, of restricting protocol designs to well-defined practices, instead of ever increasing the complexity of protocol security analysis mechanisms to deal with every newly discovered attack and the endless variations in protocol construction. In particular, we propose a novel notion of a fail-stop protocol, which automatically halts in response to any active attack that interferes with protocol execution, thus reducing protocol security analysis to that of passive attacks only. We suggest types of protocols that are fail-stop, outline some proof techniques for them, and use examples to illustrate how the notion of a fail-stop protocol can make protocol design easier and can provide a more solid basis for some available protocol analysis methods.

01 Sep 1995
TL;DR: This first part of the dissertation discusses the restrictions imposed by the recovery mechanisms on the concurrency control protocol and proposes a new implementation that eliminates such restrictions.
Abstract: Transaction management encompasses a broad range of research fields. File systems, cache consistency problems, performance evaluation, I/O systems or parallel computation, to mention a few, are common issues in the design of a transaction manager. Such a variety of topics makes it very difficult to be comprehensive. This same diversity makes it almost impossible to limit the research in the area to a unique aspect of transaction processing, especially when dealing with advanced (non-traditional) applications. Hence the format of this dissertation. Part of the research leading towards this work has been centered around two subjects, and the dissertation is therefore divided in parts that address these different topics. The first part focuses on the relation between the correctness criteria defined to control transaction interactions and the mechanisms used to recover from failures. The second part deals with the extension of a traditional transaction management to support modeling in scientific databases. Both problems have in common that the starting point is the traditional interpretation and implementation of a transaction manager that is later modified to cope with the demands of a non-traditional application, in the first case to support a larger class of correct schedules, and in the second to implement an entire new application of databases. The first part of the dissertation is more formal in the sense of dealing with a known problem of transaction managers. The two main tasks of a transaction manager are to ensure that transaction interleaving does not produce any incorrect result and to restore the database to a consistent state when failures occur. The first task is usually known as concurrency control. The second is referred to as recovery. These two are considered as orthogonal problems. This first part of the dissertation discusses the restrictions imposed by the recovery mechanisms on the concurrency control protocol and proposes a new implementation that eliminates such restrictions. The second part of the dissertation addresses the application of databases in scientific research. In particular, how to provide support for the modeling activities characteristics of these environments. The approach is to examine the execution of transactions as a way to determine the flow of information among the different datasets stored in the database. By carefully tracking the relations and interactions among transactions it is possible to establish a map of the relations and dependencies among datasets, a key step in the modeling process. These ideas have been implemented in a prototype, GOOSE (Geographic Object Oriented Support Environment), which is described in detail in this last part of the dissertation.

01 Jan 1995
TL;DR: The Totem multiple-ring protocol is presented, a novel reliable ordered imulticast protocol for multiple interconnected locahrea networks that eases the development of fault-tolerant distributed systems.
Abstract: We present the Totem multiple-ring protocol, a novel reliable ordered imulticast protocol for multiple interconnected locahrea networks. The protocol exhibits excellent performance and maintains a consistent network-wide total order of messages despite network partitioning and remerging, or processor failure and recovery with stable storage intact. The Totem protocol is designed for fault-tolerant distributed systems, which replicate data to guard against failures and must ensure that replicated data remain consistent despite failures. The network-wide totd order of messages provided by Totem simplifies the maintenance of consistency of replicated data and, thus, eases the development of fault-tolerant distributed systems.

01 Jan 1995
TL;DR: This paper introduces a new algorithm, the Reservation Algon'thm (RA), that does not necessitate the incurring of message overheads for the commitment of mobile transactions and addresses two issues related to the RA algorithm: a termination protocol and a protocol for non-partitioncommutative operations.
Abstract: Rafael Alonso Matsushita Information Technology Laboratory, 2 Research Way Princeton, NJ 08540 USA alonso@research.panasonic.com In a mobile computing environment, a user carrymg a portable computer can execute a mobilf transaction by submilling the operations of the transaction to distributed data servers from different locations. As a result _9f this mobility, the operations of the transaclion may be executed at different servers. The distribution of operations implies that the transmission of messages (such as those involved in a two phase commit protocol) may be required among these data servers in order to coordinate the execution of these operations, In this paper, we will address the distribution of operations that update partitionfd data in mobile environments. We show that, for operations pertaining to resource allocation, the message overhead (e.g., for a 2PC protocol) introduced by the distribution of operations is undesirable and unnecessary. We introduce a new algorithm, the Reservation Algon'thm (RA), that does not necessitate the incurring of message overheads for the commitment of mobile transactions. We address two issues related to the RA algorithm: a termination protocol and a protocol for non-partitioncommutative operations. We perform a comparison between the proposed RA algorithm and existing solutions that use a 2PC protocol.