Network Working Group R. Braden
Request for Comments: 955 UCLA OAC
September 1985
Towards a Transport Service for Transaction Processing Applications
1. INTRODUCTION
The DoD Internet protocol suite includes two alternative transport service [1] protocols, TCP and UDP, which provide virtual circuit and datagram service, respectively [RFC-793, RFC-768]. These two protocols represent points in the space of possible transport service attributes which are quite "far apart". We want to examine an important class of applications, those which perform what is often called "transaction processing". We will see that the communication needs for these applications fall into the gap "between" TCP and UDP -- neither protocol is very appropriate.
Braden [Page 1]
RFC 955 September 1985
Transaction Protocol
* Assumption 2: We need to develop appropriate service requirements for a "transaction processing protocol".
2. TRANSACTION PROCESSING COMMUNICATIONS
We begin by listing the characteristics of the communication patterns typical in "transaction processing" applications.
Braden [Page 2]
RFC 955 September 1985
Transaction Protocol
* Short Duration
3. EXAMPLE: NAME SERVERS
To focus our ideas, we will now discuss several particular types of distributed applications which are of pressing concern to members of the Internet research community, and which require transaction-oriented communication.
Braden [Page 3]
RFC 955 September 1985
Transaction Protocol
At present, name servers are being operated using UDP for transaction communication. Note that name server requests have a special property, idempotency; as a result, lost, duplicated, or reordered queries do not prevent the name-server system from working. This would seem to favor the use of UDP.
Braden [Page 4]
RFC 955 September 1985
Transaction Protocol
* The name resolver/server applications must know the maximum size of a UDP datagram.
4. ANOTHER EXAMPLE: DISTRIBUTED OPERATING SYSTEMS
Distributed operating systems represent another potential application for a transaction-oriented transport service. A number of examples of distributed operating systems have been built using high-speed local area networks (LAN's) for communication (e.g, Cronus, Locus, V-System). Typically, these systems use private communication protocols above the network layer, and the private transport-level protocol is carefully designed to minimize latency across the LAN. They make use of the inherent reliability of the LAN and of simple transactions using single-packet exchanges.
Braden [Page 5]
RFC 955 September 1985
Transaction Protocol
* No Explicit Connection Setup or Teardown Phases;
5. OBJECTIVES FOR A PROTOCOL
We believe that it is possible to design a new transport protocol for the Internet which is suitable for a wide variety of transaction-oriented applications. Such a transport protocol would have the following attributes:
Braden [Page 6]
RFC 955 September 1985
Transaction Protocol
* Minimum Number of Packets in Simple Cases
Braden [Page 7]
RFC 955 September 1985
Transaction Protocol
* Multicast Capability
Braden [Page 8]
RFC 955 September 1985
Transaction Protocol
1. Application Interface
6. CONCLUSION
Distributed processing and distributed data bases will underlie many of the future computer system research projects and applications based upon the Internet. As a result, transaction-based communication will be an increasingly important activity on the Internet. We claim that there is a pressing need for an appropriate transport protocol for transaction processing. In this memo, we have given examples to support this claim, and have outlined the service which such a new transport protocol would provide.
Braden [Page 9]
RFC 955 September 1985
Transaction Protocol
REFERENCES