Standards Update, IEEE 1003.11: Transaction Processing
Jeffrey S. Haemer
jsh at usenix.org
Tue Mar 20 07:51:53 AEST 1990
From: Jeffrey S. Haemer <jsh at usenix.org>
An Update on UNIX* and C Standards Activities
January 1990
USENIX Standards Watchdog Committee
Jeffrey S. Haemer, Report Editor
IEEE 1003.11: Transaction Processing Update
Bob Snead <bobs at ico.isc.com> reports on the January 8-12, 1990 meeting
in New Orleans, LA:
Context
Our charter is to develop an application profile for POSIX Transaction
Processing (TP). We're wrestling with both the content of our profile
and the idea of a profile, since the profiles are new to POSIX.
[Editor: Jim Isaak reviews application profiles in the February IEEE
Computer.]
The content is influenced by two other TP efforts: OSI's DTP and
X/OPEN's XTP. We must handle OSI DTP, just to gain ISO acceptance--a
goal of all the 1003 efforts. In theory, XTP is just another
proprietary concern. In fact, XTP's ongoing deliberations are
currently confidential. Moreover, X/OPEN isn't an official standards
body so we can't officially reference XTP in our profile.
Nevertheless, XTP will carry considerable weight, since it will be a
multi-vendor consensus on how to do UNIX TP.
Models
As at previous meetings, we spent much time discussing TP models. For
the most part these discussions were based on a snapshot of XTP's
model released to non-X/OPEN members some time ago. Each model we
discussed consisted of three or four of the following elements:
Application Programs (APs), Resource Managers (RMs, like database
managers), Communications Managers (CMs, like TCP/IP), and Transaction
Managers (TMs, which enforce the transaction protocol among APs, CMs
and RMs). Here, in chronological order, were the major topics of
discussion.
We discussed whether a CM might just be an instance of an RM (viewing
an instance of a communications protocol or link as a resource), but
concluded that attributes of CMs make them fundamentally different
beasts (though, to be honest, it's still not clear to me why).
__________
* UNIX is a registered trademark of AT&T in the U.S. and other
countries.
January 1990 Standards Update IEEE 1003.11: Transaction Processing
- 2 -
We considered several models based on XTP, but differing from one
another in the roles of the CM and the interfaces between the AP and
CM. We concluded that each communications protocol would have to have
its own CM, and that our model must support multiple concurrently
active CMs. A CM, though, is more than just its protocol support. It
has to include support for additional functionality required for DTP.
We never concluded whether or not an AP should talk directly to a CM,
or to a CM via the TM.
Requirements
In the course of the model discussions, it became clear that many of
us had different requirements in mind, so we shifted our focus to
requirements to try to reach some consensus. Ultimately, we decided
that POSIX TP must:
- be mappable onto OSI DTP,
- support global (distributed) transactions,
- support chained and unchained transactions,
- support a conversational mode,
- provide data conversion (e.g., ASN.1),
- ensure that POSIX RPC supports DTP semantics,
- ensure that DTP can be accomplished through RPC,
- provide for location independence via directory services, and
- provide for security of data.
Exercises
We decided to break the modeling deadlock by focusing on the AP/TM
interface and ignoring communication. We worked several examples,
following ISO DTP services but using an RPC paradigm, and concluded
that an API based in RPCs would need at least four services:
- one for a caller to start a transaction,
- one for a callee to find out if it is participating in a
transaction,
- one for a callee to abort a transaction,
January 1990 Standards Update IEEE 1003.11: Transaction Processing
- 3 -
- one for a caller to commit or abort a transaction.
We also identified the following assumptions for TP via RPC:
- A thread of control (TOC) can be in at most one transaction at
any given time.
- If one TOC communicates with another, the latter joins the
former's transaction by default.
- No nested transactions are permitted.
- A GTRID (Global TRansaction ID) can be associated with multiple
TOCs and multiple RMs.
- A transaction has only one initiator and only the initiator can
issue commit. Any TOC may abort.
January 1990 Standards Update IEEE 1003.11: Transaction Processing
Volume-Number: Volume 19, Number 9
More information about the Comp.std.unix
mailing list