Transaction Internet Protocol Version 3.0 (RFC2371)
Original Publication Date: 1998-Jul-01
Included in the Prior Art Database: 2019-Feb-15
Internet Society Requests For Comment (RFCs)
J. Lyon: AUTHOR [+2]
In many applications where different nodes cooperate on some work, there is a need to guarantee that the work happens atomically. That is, each node must reach the same conclusion as to whether the work is to be completed, even in the face of failures. This document proposes a simple, easily-implemented protocol for achieving this end. [STANDARDS-TRACK]
Network Working Group J. Lyon Request for Comments: 2371 Microsoft Category: Standards Track K. Evans J. Klein Tandem Computers July 1998
Transaction Internet Protocol Version 3.0
Status of this Memo
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
Copyright (C) The Internet Society (1998). All Rights Reserved.
In many applications where different nodes cooperate on some work, there is a need to guarantee that the work happens atomically. That is, each node must reach the same conclusion as to whether the work is to be completed, even in the face of failures. This document proposes a simple, easily-implemented protocol for achieving this end.
Table of Contents
1. Introduction 2 2. Example Usage 3 3. Transactions 4 4. Connections 4 5. Transaction Identifiers 5 6. Pushing vs. Pulling Transactions 5 7. TIP Transaction Manager Identification & Connection Establishment 6 8. TIP Uniform Resource Locators 8 9. States of a Connection 10 10. Protocol Versioning 12 11. Commands and Responses 12 12. Command Pipelining 13 13. TIP Commands 13 14. Error Handling 20
Lyon, et. al. Standards Track [Page 1]
RFC 2371 TIP Version 3.0 July 1998
15. Connection Failure and Recovery 20 16. Security Considerations 22 17. References 25 18. Authors’ Addresses 26 19. Comments 26 Appendix A. The TIP Multiplexing Protocol Version 2.0. 27 Fully Copyright Statement 31
The standard method for achieving atomic commitment is the two-phase commit protocol; see  for an introduction to atomic commitment and two-phase commit protocols.
Numerous two-phase commit protocols have been implemented over the years. However, none of them has become widely used in the Internet, due mainly to their complexity. Most of that complexity comes from the fact that the two-phase commit protocol is bundled together with a specific program-to-program communication protocol, and that protocol lives on top of a very large infrastructure.
This memo proposes a very simple two-phase commit protocol. It achieves its simplicity by specifying only how different nodes agree on the outcome of a transaction; it allows (even requires) that the subject matter on which the nodes are agreeing be communicated via other protocols. By doing so, we avoid all of the issues related to application communication semantics and data representation (to name just a few). Independent of the application communication protocol a transaction manager may use the Transport Layer Security protocol  to authenticate other transaction managers and encrypt messages.
It is envisioned that this protocol will be used mainly for a transaction manager on one Internet node to communicate with a transaction manager...