ISO/IEC 10026-2:1992
(Main)Information technology — Open Systems Interconnection — Distributed Transaction Processing — Part 2: OSI TP Service
Information technology — Open Systems Interconnection — Distributed Transaction Processing — Part 2: OSI TP Service
Technologies de l'information — Interconnexion de systèmes ouverts (OSI) — Traitement transactionnel réparti — Partie 2: Service OSI TP
General Information
Relations
Standards Content (Sample)
I NTERNAT I O NAL
ISOIIEC
STANDARD
10026-2
First edition
1992-1 2-01
Information technology - Open Systems
Interconnection - Distributed Transaction
Processing -
Part 2:
OS1 TP Service
Technologies de l'information - Interconnexion de systèmes ouverts -
Traitement Transactionnel Réparti -
Partie 2: Service OS1 TP
Reference number
ISO/IEC 10026-2:1992(E)
---------------------- Page: 1 ----------------------
ISO/IEC 10026-2 : 1992 (E)
Page
Con tents
Foreword . iv
Introduction . v
1 Scope . 1
2 Normative references . 1
3 Definitions . 1
4 Abbreviations . 3
............................................................................................................................
5 Conventions 3 *
5.1 Service conventions . 3
5.2 Usage of the term transaction . 3
5.3 Usage of italics for notations . 3
6 Overview of the OS1 TP Service . 3
..
7 Service facilities . 4
7.1 Functional unit descriptions . 4
7.2 Services contained in functional units . 5
7.3 Service for modelling data transfer . 5
7.4 Structure of service descriptions . 5
7.5 Effects of dialogue termination . 6
8 Service primitives and their parameters . 7
9 Data transfer . 8
9.1 Overview of data transfer . . 8
9.2 Data transfer service. TP-DATA . 8
10 The Dialogue functional unit . . : . 9
e
10.1 Overview of the Dialogue functional unit . . 9
10.2 Dialogue Establishment service. TP-BEGIN-DIALOGUE . 9
10.3 Dialogue Termination service. TP-END-DIALOGUE . 13
10.4 User Error Reporting service. TP-U-ERROR . 14
10.5 User Abort service. TP-U-ABORT . 16
10.6 Provider Abort service. TP-P-ABORT . . 17
11 The Shared Control functional unit . . 18
11.1 Overview of the Shared . 18
12 The Polarized Control functional unit . 19
12.1 Overview of the Polarized Control functional unit . 19
12.2 Grant Control service. TP-GRANT-CONTROL . . 19
12.3 Request Control service. TP-REQUEST-CONTROL . : . 20
8 ISO/IEC 1992
All rights reserved . No part of this publication may be reproduced or utilized in any form or
by any means. electronic or mechanical. including photocopying and microfilm. without per-
mission in writing from the publisher .
ISO/IEC Copyright Office Case Postale 56 CH-I211 Genève 20 Switzerland
Printed in Switzerland
ii
---------------------- Page: 2 ----------------------
ISO/IEC 10026-2 : 1992 (E)
13 The Handshake functional unit . 21
13.1 Overview of the Handshake functional unit . 21
13.2 Handshake service, TP-HANDSHAKE . 21
13.3 Handshake and Grant Control service, TP-HANDSHAKE-AND-
GRANT-CONTROL . 22
The commitment-related functional units . . 24
14
14.1 Introduction . . .24
14.2 Overview of the Commit functional unit . . 24
14.3 Overview of the Chained Transactions functional unit . 25
14.4 Overview of the Unchained Transactions functional unit . 25
14.5 Begin Transaction service, TP-BEGIN-TRANSACTION . 26
14.6 Deferred End Dialogue service, TP-DEFERRED-END-DIALOGUE .
..................... 29
14.10 TP-READY indication .
4.11 TP-COMMIT request
4.13 TP-DONE request
4.14 TP-COMMIT-COM .
4.15 TP-ROLLBACK reques . .33
14.18 Heuristic Reporting service, TP-HEURISTIC-REPORT indication . 35
Annexes
A Service State Table . 36
A.l Overview .
A.2 Dialogue States
A.3 Variables .
A.4 Actions .
..................... 41
....................................... .42
............................... 42
iii
---------------------- Page: 3 ----------------------
ISO/IEC 10026-2 : 1992 (E)
Foreword
IS0 (the International Organization for Standardization) and IEC (the Inter-
national Electrotechnical Commission) form the specialized system for
worldwide standardization. National bodies that are members of IS0 or
IEC participate in the development of International Standards through
technical committees established by the respective organization to deal
with particular fields of technical activity. IS0 and IEC technical com-
mittees collaborate in fields of mutual interest. Other international organ-
izations, governmental and non-governmental, in liaison with IS0 and IEC,
also take part in the work.
In the field of information technology, IS0 and IEC have established a joint
technical committee, ISO/IEC JTC 1. Draft International Standards adopted
by the joint technical committee are circulated to national bodies for vot-
ing. Publication as an International Standard requires approval by at least
75 % of the national bodies casting a vote.
International Standard ISO/IEC 10026-2 was prepared by Joint Technical
Committee ISO/IEC JTC 1, Information technology.
ISO/IEC 10026 consists of the following parts, under the general title In-
formation technology - Open Systems Interconnection - Distributed
Transaction Processing:
- Part 1: OS1 TP Model
- Part 2: OS1 TP Service
- Part 3: Protocol specification
- Part 4: Protocol implementation conformance statement fPICSj
proforma
I
- Part 5: Application context proforma
- fart 6: Unstructured data transfer
Annex A forms an integral part of this part of ISO/IEC 10026.
---------------------- Page: 4 ----------------------
ISO/IEC 10026-2 : 1992 (E)
INTRODUCTION
ISO/IEC 10026 is one of a set of standards produced to facilitate the
It is related to other International
interconnection of computer systems.
Standards in the set as defined by the Reference Model for Open Systems
Interconnection (IS0 7498). The Reference Model subdivides the area of
standardization for interconnection into a series of layers of specification, each
of manageable size.
The aim of Open Systems Interconnection is to allow, with a minimum of
technical agreement outside the interconnection standards, the interconnection
of computer systems
a) from different manufacture rs ;
b)under different management;
c) of different levels of complexity; and,
d)of different technologies.
ISO/IEC 10026 defines an OS1 TP Model, an OS1 TP Service and specifies an
OS1 TP Protocol available within the Application Layer of the OS1 Reference
Model.
The OS1 TP Service is an Application Layer service. It is concerned with
information which can be related as transactions, which may involve two or
more open systems.
This part of ISO/IEC 10026 defines a basic OS1 TP Service. It provides
sufficient facilities to support transaction processing, and establishes a
framework for coordination across multiple TP resources in separate open
systems.
ISO/IEC 10026 does not specify the interface to local resources or access
facilities that are provided within the local system. However, future
enhancement of the standard may deal with these issues.
V
---------------------- Page: 5 ----------------------
ISO/IEC 10026-2 : 1992 (E)
---------------------- Page: 6 ----------------------
INTERNATIONAL STANDARD
ISO/IEC 10026-2 : 1992 (E)
Information technology - Open Systems
I ntercon nection - Distributed Tra nsaction
Processing -
Part 2:
OS1 TP Service
lSO/TR 8509:1987, Information processing systems -
1 Scope
Open Systems Interconnection - Service conventions.
This part of ISOAEC 10026 defines in an abstract way the
ISOAEC 10026-1 3992, Information technology - Open
Distributed Transaction Processing Service within the
Systems Interconnection - Distributed Transaction
Application Layer in terms of
Processing - Part 1: OS1 TP Model.
a) the actions and events of the service primitives;
ISOAEC 10026-3:1992, Information technology - Open
Systems Interconnection - Distributed Transaction
b) the parameter data associated with each service
Processing - Part 3: Protocol specification.
primitive's action and event; and,
c) the relationship between, and the valid sequences
3 Definitions
of these actions and events.
It does not specify individual implementations or products, For the purpose of this pari of ISOAEC 10026, the
nor does it constrain the implementation of entities or definitions of ISOAEC 10026-1 and the following
interfaces within a computer system. definitions apply.
3.1 dialogue establishment indication outstanding: A
2 Normative references
dialogue state in which a TP-BEGIN-DIALOGUE indication
with the Confirmation parameter set to "always" has been
The following standards contain provisions which, through
issued but has not yet been responded to by a TP-
reference in this text, constitute provisions of this part of
BEGIN-DIALOGUE response.
ISO/IEC 10026. At the time of publication, the editions
indicated were valid. All standards are subject to revision,
and the parties to agreements based on this part of
3.2 dialogue establishment request outstanding: A
ISO/IEC 10026 are encouraged to investigate the
dialogue state in which a TP-BEGIN-DIALOGUE request
possibility of applying the most recent editions of the
with the Confirmation parameter set to "always" has been
standards indicated below. Members of IS0 and IEC
issued but has not yet been responded to by a TP-
maintain registers of currently valid International
BEGIN-DIALOGUE confirm.
Standards.
IS0 86493 988, Information processing systems - Open
3.3 dialogue termination indication outstanding: A
Systems Interconnection - Service definition for the
dialogue state in which a TP-END-DIALOGUE indication
Association Control Service Element.
1
---------------------- Page: 7 ----------------------
ISO/IEC 10026-2 : 1992 (E)
with the Confirmation parameter set to "true" has been 3.8 rollback-initiating request: A request that triggers a
issued while there is no user error request outstanding, rollback; it is one of the following service primitives:
but has not yet been responded to by a TP-END-
DIALOGUE response, or by a TP-U-ERROR request. - TP-ROLLBACK request;
- TP-U-ABORT request for a dialogue with a
coordination level of "cornmitment" not issued during
3.4 dialogue termination request outstanding: A the termination phase of a transaction.
diaiogue state in which a TP-END-DIALOGUE request
with the Confirmation parameter set to "true" has been
issued, but has not yet been responded to by a TP-END- 3.9 rollback-initiating service primitive: A service
DIALOGUE confirm, or by a TP-U-ERROR indication. primitive that triggers a rollback; it may be either a
rollback-initiating request or a rollback-ir?itiating indication.
3.5 handshake indication outstanding: A dialogue
state in which one of the following service primitives: 3.10 subordinate dialogue: A dialogue with a
subordinate.
- TP-HANDSHAKE indication;
- TP-HANDSHAKE-AND-GRANT-CONTROL
3.1 1 subordinate subtree: A subtree of a subordinate.
indication:
user error request
has been issued while there is no
outstanding, but has not yet been responded to by one of 3.12 superior dialogue: The dialogue with the superior.
the following service primitives (respectively):
- TP-HANDSHAKE response; 3.13 termination phase of a transaction: The phase of
- TP-HANDSHAKE-AND-GRANT-CONTROL response; a transaction between initiation of commitment or rollback
and the end of the transaction.
or by a TP-U-ERROR request, or, if the coordination
level of the dialogue is "commitment", by any rollback- This phase is entered, for a given TPSUI, upon issuance
initiating service primitive. of a TP-COMMIT request or any rollback-initiating service
primitive.
For a TPSUI which does not have a dialogue
3.6 handshake request outstanding: A dialogue state
establishment indication outstanding, this phase is exited
in which one of the following service primitives:
upon issuance of a TP-COMMIT-COMPLETE indication or
a TP-ROLLBACK-COMPLETE indication.
- TP-HANDSHAKE request;
- TP-HANDSHAKE-AND-GRANT-CONTROL request;
For a TPSUI which does have a dialogue establishment
indication outstanding when the termination phase is
has been issued, but has not yet been responded to by
one of the following service primitives (respectively): entered (this can only happen when a TP-ROLLBACK
indication is issued), this phase is exited by a TP-BEGIN-
- TP-HANDSHAKE confirm; DMLOGUE response with the Result parameter set to
"rejected(user)" or by a TP-P-ABORT indication for the
- TP-HANDSHAKE-AND-GRANT-CONTROL confirm:
dialogue; if the dialogue is accepted during the
or by a TP-U-ERROR indication, or, if the coordination termination phase, the termination phase is exited by the
subsequent TP-ROLLBACK-COMPLETE indication.
level of the dialogue is "commitment", by any rollback-
initiating service primitive.
3.1 4 transaction tree constraint: A constraint that
cannot be checked at a single node.
3.7 rollback-initiating indication: An indication or
confirm that triggers a rollback; it is one of the following
service primitives:
3.15 user error indication outstanding:
A state of a
- TP-ROLLBACK indication; dialogue with the Polarized Control functional unit
- TP-U-ABORT indication with the Rollback parameter selected. In this state, a TP-U-ERROR indication, issued
set to "true"; while the recipient had control of the dialogue and has
neither a handshake request oufstanding nor a dialogue
- TP-P-ABORT indication with the Rollback parameter
termination request Outstanding, has not yet been
set to "true";
- TP-BEGIN-DIALOGUE confirm with the Rollback responded Po by a TP-GRANT-CONTROL request, or, il
parameter set to "true".
2
---------------------- Page: 8 ----------------------
ISO/IEC 10026-2 1992 (E)
whereas indications and confirms are described as being
the coordination level of the dialogue is "commitment", by
issued by the TPSP.
an y rollback-initiating service primitive.
For a given primitive, the presence of each parameter is
described by one of the following values:
3.16 user error request outstanding: A state of a
dialogue with the Polarized Control functional unit
blank: not applicable;
selected. In this state, a TP-U-ERROR request, issued
M: presence is mandatory;
without having control of the dialogue and without having
U: presence is a user option;
either a handshake indication outstanding or a dialogue
O: presence is a provider option; and,
termination indication outstanding, has not yet been
C: presence is conditional.
responded to by a TP-GRANT-CONTROL indication, a
TP-HANDSHAKE indication, a TP-HANDSHAKE-AND-
In addition the notation (=) indicates that a parameter
GRANT-CONTROL indication, a TP-END-DIALOGUE
value is semantically equal to the value of the parameter
indication with the Confirmation parameter set to "true",
of the preceding primitive in the table.
or, if the coordination level of the dialogue is
"Co mm it m e nt " , by an y rollback-initiating service primitive.
5.2 Usage of the term transaction
4 Abbreviations
In this part of ISO/IEC 10026-2, the term "transaction" is
used to denote a distributed provider-supported
Abbreviations used in this part of ISO/IEC 10026 are
transaction.
defined in ISO/IEC 10026-1 (OS1 TP Model), except for
the following which are used in some tables:
5.3 Usage of italics for notations
cnf confirm service primitive;
ind indication service primitive;
In this part of ISO/IEC 10026-2, the following notations,
req request service primitive;
defined in clause 3, appear in italics:
rsP response service primitive.
- dialogue establishment indication outstanding;
- dialogue establishment request outstanding;
5 Conventions
- dialogue termination indication outstanding;
- dialogue termination request outstanding;
5.1 Service conventions
- handshake indication outstanding;
- handshake request outstanding;
This part of ISO/IEC 10026 defines services for
- rollback-initiating indication;
Distributed Transaction Processing guided by the
- rollback-initiating request;
descriptive conventions defined in ISO/TR 8509.
- rollback-initiating service primitive;
- subordinate dialogue;
However, the terms "request" and "indication" are
- subordinate subtree;
sometimes used in the following ways:
- superior dialogue;
- termination phase of a transaction;
a) a single request may result in multiple indications
- user error indication outstanding;
(an example is that a single TP-COMMIT request
- user error request outstanding.
may result in TP-PREPARE indications to each
direct subordinate TPSUI);
6 Overview of the OS1 TP Service
b) several requests may result in a single indication (an
example is that a single TP-COMMIT-COMPLETE
The Distributed Transaction Processing Service and its
indication may be issued to a superior TPSUI only
supporting protocol are concerned with creating an
after TP-DONE requests have been issued by this
environment in which two or more users may interact to
TPSUI and by all subordinate TPSUIs in the
transaction tree);
a) establish dialogues;
c) the convention that a request primitive results in an
b) invoke services of specific user application service
indication primitive of the same name, is not always
elements, subject to the constraints of the TPSP;
followed (for example, the issuance of a TP-
COMMIT request will cause a TP-PREPARE
6) delimit provider-supported transactions;
indication to be issued).
d) coordinate work for application-supported Irans-
NOTE - In this part of ISO/IEC 10026-2, requests and
actions or provider-supported transactions;
responses are described as being issued by the TPSUI
3
---------------------- Page: 9 ----------------------
ISWIEC 10026-2 : 1992 (E)
e) prepare for commitment, and commit or rollback a c) Polarized Control: the Polarized Control functional
provider-supported transaction; unit allows only one TPSUl to have control of the
dialogue at any point in time. Many request
primitives may be issued only by the TPSUl which
f) heuristically place bound data either in the final or
initial state; has control of the dialogue. This restriction is in
addition to the normal sequencing constraints for
8) report errors; the primitives. For example, a handshake may only
be requested by the TPSUl which has control of the
h) terminate dialogues allowing all resources allocated dialogue;
to these dialogues to be freed;
d) Handshake: the Handshake functional unit allows
i) terminate dialogues abnormally; the TPSUls to synchronize their processing with one
another:
j) synchronize processing by handshaking;
e) Commit: the Commit functional unit allows reliable
k) support chained or unchained sequences of
commitment and rollback of transactions;
provider-supported transaction branches for a
dialogue.
f) Chained Transactions: the Chained Transactions
functional unit supports coordination of both TPSUIs
A node crash may result in the TPSP issuing certain TP with a chained sequence of transaction branches.
service primitives more than once (i.e., TP-COMMIT The coordination level of the dialogue will always be
indication, TP-ROLLBACK indication, and TP-
"commitment". The subordinate TPSUl will always
HEURISTIC-REPORT indication). The TPSP and the
be a participant in the same transaction as the
TPSUl are both aware of the node crash through local superior TPSUI;
means.
g) Unchained Transactions: the Unchained Transac-
tions functional unit supports coordination of both
TPSUIs with an unchained sequence of transaction
7 Service facilities
branches. The superior determines when the
coordination level of the dialogue is "commitment".
7.1 Functional unit descriptions
At a given point in time, the two TPSUls may be
participants in the same transaction, in different
The following functional units are defined:
transactions, or one or both TPSUls may not be
involved in a transaction.
a) Dialogue: the Dialogue functional unit supports the
basic services required to establish a dialogue
The Dialogue functional unit shall always be selected.
between two TPSUls within which U-ASE primitives
may be invoked, signal user-initiated errors and
For a given dialogue, the Shared Control and Polarized
terminate the dialogue. The user or the provider
Control functional units are mutually exclusive. One and
may signal abnormal termination;
only one of these two functional units shall be selected.
b) Shared Control: the Shared Control functional unit
For a given dialogue, the Chained Transactions and
supports both TPSUls having control of the dialogue
Unchained Transactions functional units are mutually
at the same time and allows them to issue request
exclusive. If the Commit functional unit is selected, one
primitives subject only to the normal sequencing
and only one of them shall be selected. If the Commit
constraints of the primitives. For example, data
functional unit is not selected, neither one shall be
may be transferred by both TPSUIs at the same
selected.
time;
4
---------------------- Page: 10 ----------------------
ISO/IEC 10026-2 : 1992 (E)
7.2 Services contained in functional units
Table 1 lists the functional units and the associated services.
Table 1 - Functional units and their services
Functional Unit Services
Dialogue TP-BEGIN-DIALOGUE
TP-END-DIALOGUE *
TP-U-ERROR
TP- U-ABORT
TP-P-ABORT
~~ ~
Shared Control (no associated services)
Polarized Control TP-GRANT-CONTROL
TP-REQUEST-CONTROL
Handshake TP-HANDSHAKE
TP-HANDSHAKE-AND-GRANT-CONTROL **
Commit TP-DEFERRED-END-DIALOGUE
TP-DEFERRED-GRANT-CONTROL **
TP-PREPARE
TP-READY
TP-COMM IT
TP-DONE
TP-COMMIT-COMPLETE
TP-ROLLBACK
TP-ROLLBACK-COM PLETE
TP-HEURISTIC-REPORT
Chained Transactions (no associated services)
Unchained Transactions TP-BEGIN-TRANSACTION
* This service shall not be used if the Chained Transactions functional unit is
selected.
** This service may be used only if the Polarized Control functional unit is also
selected.
7.3 Service for modelling data transfer
Table 2 shows the service for modelling data transfer.
Table 2 - Service for modelling data transfer
I Data Transfer 1 TP-DATA
TP-DATA is not a service in the normal sense. It represents the capability of a TPSUl to invoke specific U-ASE services on
a dialogue, constrained by the TPSP.
7.4 Structure of service descriptions 7.4.2 "Service and parameters" subclause
7.4.1 "Purpose" subclause The "Service and parameters" subclause describes the
service primitives and their parameters.
The "Purpose" subclause describes, in a few words, the
The constraints or conditions on the presence or values of
purpose of the service.
these parameters are described in this subclause.
---------------------- Page: 11 ----------------------
ISWIEC 10026-2 : 1992 (E)
7.4.3 "Sequences of primitives" subclause
transaction resulting from the issuance of a service
primitive.
The "Sequence of primitives" subclause is included for
certain services; it shows the relationship in time between Effects include
the service request and the resulting indication, and, if
applicable, the subsequent response and the resulting - initiating or terminating the dialogue or the
confirm.
transaction;
- control of the dialogue;
- superior or subordinate status;
7.4.4 "TPSUI conditions" subclause - change of the coordination level;
- issuance of resulting service primitives.
The "TPSUI conditions" subclause applies to certain
NOTE - Effects of a service primitive on certain lower layers
requests and responses only; it specifies prerequisites for
facilities (e.g. Session tokens) are described in ISOAEC 10026-3.
the respective request or response to be issued by the
TPSUI. TPSUl conditions cannot be monitored by the
TPSP, nevertheless it is vital for orderly cooperation of the
7.4.7 "Collisions" subclause
TPSUl and for atomicity that they are obeyed.
There is a collision of two requests if the requests have
TPSUl conditions include
been issued:
- the state of bound data;
- on opposite sides of the same dialogue; and
- the success of synchronization.
- before the indication resulting from the request issued
on the other side is either issued or suppressed.
7.4.5 "TPSP constraints" subclause
The "Collisions" subclause describes any effects on a
service request or response caused by collision with a
The "TPSP constraints" subclause applies to all service
service primitive issued by the partner TPSUI.
primitives. For request and response service primitives, it
specifies prerequisites for issuance by the TPSUl that are
In general, the effects of a collision involving a particular
enforced by the TPSP. For indication and confirm service
service are described in the "Collisions" subclause for that
primitives, it specifies constraints on the issuance of the
service.
service primitives by the TPSP. Constraints on the values
of parameters for service primitives are described
These effects include
separately in the "Service and parameters" subclause for
each service.
- suppression of an indication;
- generation of a different indication.
In general, the constraints are based on information
associated with the state of the TPSUI at the time the
service primitive is issued. Constraints for service
7.5 Effects of dialogue termination
primitives that are associated with a particular dialogue
relate only to that dialogue unless the constraints explicitly
Whenever a dialogue is terminated for a particular TPSUI,
reference other dialogues or attributes that are not related
no further service primitives are issued to the TPSUl for
to a particular dialogue.
the dialogue, except TP-HEURISTIC-REPORT indication,
which may be issued during the termination phase of the
Information on which constraints are based includes
transaction.
- functional units selected for a dialogue;
For a particular TPSUI, a dialogue is terminated by one of
- superior or subordinate status;
the following service primitives:
- control of the dialogue;
- coordination level;
- TP-END-DIALOGUE request with the Confirmation
- state of bound data;
parameter set to "false";
- transaction state;
- TP-END-DIALOGUE indication with the Confirmation
- sequence of service primitives and associated
parameter set to "false";
parameter values.
- TP-END-DIALOGUE response;
- TP-END-DIALOGUE confirm;
- TP-BEGIN-DIALOGUE response with the Result
7.4.6 "Effects of a service primitive" subclause
parameter set to "rejected(user)";
- TP-BEGIN-DIALOGUE confirm with the Result
The "Effects of a service primitive" subclause describes
parameter set to "rejected(provider)" or
any effects on the characteristics of the dialogue or the
"rejected( user)"
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.