ISO/IEC 9804:1990
(Main)Information technology - Open Systems Interconnection - Service definition for the Commitment, Concurrency and Recovery service element
Information technology - Open Systems Interconnection - Service definition for the Commitment, Concurrency and Recovery service element
Technologies de l'information — Interconnexion de systèmes ouverts (OSI) — Définition du service pour l'élément de service de validation d'engagement, de concurrence et de reprise
General Information
Relations
Frequently Asked Questions
ISO/IEC 9804:1990 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology - Open Systems Interconnection - Service definition for the Commitment, Concurrency and Recovery service element". This standard covers: Information technology - Open Systems Interconnection - Service definition for the Commitment, Concurrency and Recovery service element
Information technology - Open Systems Interconnection - Service definition for the Commitment, Concurrency and Recovery service element
ISO/IEC 9804:1990 is classified under the following ICS (International Classification for Standards) categories: 35.100.70 - Application layer. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO/IEC 9804:1990 has the following relationships with other standards: It is inter standard links to ISO/IEC 9804:1990/Amd 2:1992, ISO/IEC 9804:1994; is excused to ISO/IEC 9804:1990/Amd 2:1992. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO/IEC 9804:1990 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.
Standards Content (Sample)
I N 7- ER NAT I O NA L ISO/IEC
S TA N DA R D
First edition
1990-11-15
Information technology - Open Systems
.Interconnection - Service definition for the
Commitment, Concurrency and Recovery
service element
Technologies de l'information - Interconnexion de systèmes ouverts -
Spécification du service pour l'élément de service d'engagement, concurrence et
reprise
Reference number
ISO/IEC 9804 : 1990 (E)
ISOllEC 9804 : 1990 (E)
Contents
Foreword . vi
Introduction . vii
1 Scope . 1
2 Normative references . 1
3 Definitions . 1
3.1 Reference model definitions . . 1
3.2 Naming and addressing definition . 2
3.3 Service conventions definitions . 2
3.4 Presentation service definitions . 2
3.5 ACSE service definitions . 2
3.6 Application Layer structure definitions . 2
3.7 CCR service definitions . 2
4 Abbreviations . 4
5 Conventions . 4
6 Concepts . 5
6.1 Use of CCR in a distributed application environment . 5
6.2 CCR facilities . 7
6.3 Heuristic decisions . 8
7 Service definition . 9
7.1 C-BEGIN service . 9
7.2 C-PREPARE service . 10
O ISO/IEC 1990
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 permission in
writing from the publisher .
International Organization for Standardization
Case postale 53 0 CH-I21 1 Genève 20 0 Switzerland
Printed in Switzerland
ii
ISO/IEC 9804 : 1990 (E)
7.3 C-READY service . 11
7.4 C-COMMIT service . 11
7.5 C-ROLLBACK service . 11
7.6 C-RECOVER service . 12
8 Sequencing information . 13
8.1 General . 13
8.2 Events . 14
8.3 States . 14
8.4 Interpretation of the state table . 14
8.5 Completing the branch . 14
8.6 Collisions and disruptive services . 14
9 Using CCR . 20
9.1 General . 20
9.2 Use of CCR by a cooperating main service . 20
9.3 Use of resynchronization . 20
9.4 Use of transport expedited service . 20
9.5 Starting a branch . 20
Annexes
A CCR service-user rules . 21
A.l Introduction . 21
A.l . 1 Rule categories . 21
A.1.2 Heuristic decision considerations . 21
A.2 Compliance . 21
A.3 CCR service primitive usage rules . 22
A.3.1 C-BEGIN request primitive . 22
A.3.2 C-PREPARE request primitive . 22
A.3.3 C-READY request primitive . 22
A.3.4 C-COMMIT request primitive . 22
A.3.5 C-COMMIT response primitive . 22
A.3.6 C-ROLLBACK request primitive . 22
A.3.7 C-ROLLBACK indication primitive . 23
A.3.8 C-RECOVERheady) request primitive . 23
A.3.9 C-RECOVERicommit) request primitive . 23
A.3.1 O C-RECOVER(donei response primitive . 23
iii
ISO/IEC 9804 : 1990 (E)
A.4 Atomic action data manipulation rules . 23
A.4.1 Recording atomic action data that indicates an offer of commitment . 23
A.4.2 Forgetting atomic action data that indicates an offer of commitment . 23
A.4.3 Recording atomic action data indicating an order of commitment . 23
A.4.4 Forgetting atomic action data indicating an order of commitment . 24
A.5 Bound data manipulation rules . 24
A.5.1 Changing bound data to produce the final state . 24
A.5.2 Releasing bound data in the initial state as part of rollback . 24
A.5.3 Releasing bound data in the final state as part of commitment . 24
A.5.4 Releasing bound data as part of a heuristic decision . 24
A.6 CCR service-user data transfer rules . 24
A.6.1 Data transfer request and response primitive . 24
A.6.2 Data transfer indication and confirm primitive . 24
B Relationship of CCR to the Application Layer Structure . 25
B.l CCR service-provider . 25
B.2 CCR service-user . 25
8.3 Atomic action tree . 25
C CCR tutorial . 27
C.l Introduction . 27
C.l . 1 What is CCR? . 27
C.1.2 Atomic action . 27
C.1.3 Purpose . 28
C.1.4 Using CCR . 28
C.2 Structure of an atomic action tree . 28
C.2.1 Model . 28
C.2.2 CCR service-user . 28
C.2.3 Branch and its identifiers . 30
C.2.4 An example using JTM . 30
C.3 CCR service-user information resources . 30
C.3.1 Bound data . 30
C.3.2 Atomic action data . 31
C.3.3 Operational data . 31
C.4 Concurrency . 31
C.4.1 General considerations . 31
C.4.2 Concurrency example - locking . 31
iv
ISO/IEC 9804 : 1990 (E)
C.5 Recovery . . . 32
C.5.1 Atomic action data . 32
C.5.2 Presumed rollback . 33
C.5.3 AP and AE invocation identifiers . 34
C.6 Time relations and sequence of service primitives . 39
C.7 Comments on implementation complexity . 39
C.8 Using the User Data parameter on CCR services . 40
C.8.1 Level of commitment . 40
C.8.2 CCR diagnostics . 40
C.8.3 Application-semantics . ._. 40
C.8.4 Heuristic warning . 40
C.9 Optional use of C-PREPARE . 40
C.9.1 Implicit prepare semantic . 41
Implicit conditional prepare and continue . 41
C.9.2
C-READY and application-semantics collision . 41
C.9.3
C.l O Use of session synchronize and resynchronize services . 42
V
ISO/iEC 9804 : 1990 (E)
Foreword
IS0 (the International Organization for Standardization) and IEC (the International
Electrotechnical Commission) form the specialized system for worldwide standardiz-
ation. 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
committees collaborate in fields of mutual interest. Other international organizations,
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 voting. Publication as an
International Standard requires approval by at least 75 % of the national bodies casting
a vote.
International Standard ISO/IEC 9804 was prepared by Joint Technical Committee
ISO/IEC JTC 1, Information technology.
Annexes A and B form an integral part of this International Standard. Annex C is for
information only.
ISO/IEC 9804 : 1990 (E)
Introduction
This International Standard is one of a set of International Standards produced to
facilitate the interconnection of information processing systems. It relates to other
International Standards in the set defined by the Reference Model for Open Systems
Interconnection (IS0 7498). The reference model subdivides the area of stand-
ardization for interconnection into a series of layers of specification, each of manage-
able size.
The goal of Open Systems Interconnection is to allow, with a minimum of technical
agreement outside the interconnection standards, the interconnection of information
processing systems
-from different manufacturers;
+rider different managements;
-of different levels of complexity; and
-of different technologies.
This International Standard recognizes that application-processes may wish to com-
municate with each other for a wide variety of reasons. However, any communica-
tion requires certain services independent of the reasons for communication. The
application-service-element defined in this International Standard provides such ser-
vices.
This International Standard defines the facilities of the application-service-element
for commitment, concurrency and recovery (CCR). CCR provides services for a single
association. A referencing specification uses these services for starting and ending
a specific sequence of distributed application operations despite application or com-
munication failure.
This International Standard is referenced by a specification to apply CCR to its
operation. CCR services may be used with presentation services (IS0 88221, or with
other Application Layer services. However, the use of CCR services is subject to the
restrictions specified in clause 9. The use of CCR services allows a referencing
specification to define its activity as an atomic action. An atomic action may use
many associations, possibly with different protocols on each association.
Annex A describes the rules that shall be followed by a specification that references
this International Standard.
Annex B presents the relationship of the CCR model and concepts to the Application
Layer Structure (ISOIIEC 9545).
Annex C is a tutorial to aid the understanding of the concepts and facilities of CCR.
vii
INTERNATIONAL STANDARD ISO/IEC 9804 : 1990 (E)
Information technology - Open Systems Interconnection -
Service definition for the Commitment, Concurrency and
Recovery service element
Members of IEC and IS0 maintain registers of currently valid
*Scope
International Standards.
This International Standard is intended for reference by other
specifications when the functionality of commitment, con- IS0 7498: 1 984. Information processing systems - Open
currency and recovery is required. It can be referenced Systems Interconnection - Basic Reference Mode/.
whenever the processing of two or more application-entity
IS0 7498-3: 1 989, lnformationprocessingsystems - Open
invocations in a distributed application needs to be organized
Systems Interconnection - Basic Reference Model - Part
into an atomic action.
3: Naming and addressing.
This International Standard defines services that are used on
IS0 8326: 1987, Information processing systems - Open
a single association to coordinate two application-entity
Systems Interconnection - Basic connection oriented ses-
invocations involved in an atomic action. The determination
sion service definition.
of which application-entity invocations are involved in an
atomic action is not within the scope of this International ISOITR 8509: 1986, Information processing systems -
Standard. Open Systems Interconnection - Service Conventions.
IS0 8649: 1988, Information processing systems - Open
This International Standard establishes the general principles
for the coordinated use of the CCR services when more than Systems interconnection - Service definition for the As-
two application-entity invocations are involved in a single sociation Control Service Element.
atomic action, or when recovery is required after failure. The
IS0 8822: 1 988. Information processing systems - Open
coordination of multiple associations and the related applica-
Systems Interconnection - Connection oriented presenta-
tion-entity invocations that constitute an atomic action is
tion service definition.
achieved by a referencing specification in conjunction with
this International Standard. ISOIIEC 9545: 1 989, Information technology - Open Sys-
tems Interconnection - Application Layer structure.
is International Standard is only applicable to a distributed
whose specification references this International
ISOIIEC 9805:1990, Information technology - Open Sys-
Standard. tems Interconnection - Protocol specification for the Com-
mitment, Concurrency and Recovery service element.
This International Standard does not specify individual im-
plementations or products. It does not constrain the im-
plementation of entities and interfaces within a computer
3 Definitions
system.
3.1 Reference model definitions
No requirement is made for conformance to this International
Standard.
This International Standard makes use of the following terms
derived from IS0 7498:
This International Standard includes requirements for com-
ai application-association; association;
pliance that apply to a referencing specification.
b) application-entity;
c) Application Layer;
2 Normative references
d) application-process;
The following standards contain provisions which, through
e) presentation-connection;
reference in this text, constitute provisions of this Interna-
tional Standard. At the time of publication, the editions
f) presentation-service;
indicated were valid. All standards are subject to revision,
g) session-service; and
and parties to agreements based on this International Stand-
h) session-connection.
ard are encouraged to investigate the possibility of applying
the most recent editions of the standards indicated below.
ISO/IEC 9804 : 1990 (E)
munication or application failure. It is begun by the use of
3.2 Naming and addressing definition
CCR services and later completed by either the use of CCR
This International Standard makes use of the following term
services or by an application or communication failure.
defined in IS0 7498-3:
3.7.5 atomic action branch identifier; branch identifier: A
a) application-entity title.
value assigned by the superior that uniquely identifies a
branch within the scope of the atomic action.
3.3 Service conventions definitions
3.7.6 atomic action data: State and control information
This International Standard makes use of the following terms
about an atomic action and its branches. Atomic action data
defined in lSO/TR 8509:
required for recovery persists if an application or communica-
a) confirmed service;
tion failure occurs.
b) non-confirmed service;
3.7.7 atomic action identifier: A value assigned by the
c) primitive;
master that uniquely identifies an atomic action within the
d) request (primitive); OS1 environment.
e) indication (primitive);
3.7.8 atomic action tree: A hierarchical relationship be-
f) response (primitive); and tween CCR service-users involved in the operations of a
g) confirm (primitive).
atomic action. io
3.7.9 atomicity: A property of a set of related operations
3.4 Presentation service definitions
such that the operations are either all performed, or none of
them are performed.
This International Standard makes use of the following terms
defined in IS0 8822:
3.7.10 bound data: Data that are accessed and manipulated
by a CCR service-user as part of an atomic action. Its state
a) abstract syntax;
is bound by the rules of CCR. Bound data survives applica-
b) abstract syntax name;
tion and communication failures and exists beyond the
c) defined context set;
atomic action branch.
d) presentation context; and
3.7.1 1 CCR service-provider: Two peer CCR application-
e) presentation data value.
service-elements involved in the same atomic action branch.
3.7.1 2 CCR service-user: That part of an application-entity
3.5 ACSE service definitions
invocation that makes use of CCR services to coordinate one
This International Standard makes use of the following terms
or more branches of an atomic action tree.
defined in IS0 8649:
3.7.1 3 commitment of an atomic action branch; commit-
a) association-initiator;
ment: Completion of an atomic action branch with the
b) association-initiator; and
release of bound data in the final state.
c) disrupt.
3.7.1 4 communication failure: The unexpected release of
the supporting association.
3.6 Application Layer structure definitions
3.7.1 5 compensating action: Operations used to re-est
This International Standard makes use of the following terms
lish either the initial or the final state from a mixed situat@
defined in ISO/IEC 9545:
that was brought about by a conflict between heuristic
a) application-entity-invocation;
decision(s) and the decision of the master.
b) application-service-element;
3.7.1 6 concurrency control: A real open system mechanism
c) multiple association control function;
that coordinates modifications to bound data used by con-
d) single association control function; and current atomic actions so the isolation property of the atomic
action is guaranteed.
e) single association object.
3.7.17 confirmation of commitment: A statement from a
3.7 CCR service definitions
subordinate to the superior that the subordinate has com-
pleted local commitment procedures.
3.7.1 acceptor: The CCR service-user that receives the
indication primitive for a particular CCR service. For a con-
3.7.18 consistency: A property of a set of related opera-
firmed service, it also issues the response primitive.
tions such that the effects of the operations are performed
accurately, correctly, and with validity, with respect to ap-
3.7.2 application failure: The failure of an application-entity
plication semantics.
invocation to meet its normal specification.
3.7.1 9 cooperating main service: A referencing specifica-
3.7.3 atomic action: A specific set of operations of a dis-
tion that incorporates the CCR semantics within its own
tributed application that may be characterized by the proper-
service primitives and carries CCR transfer syntax within its
ties of atomicity, consistency, isolation, and durability.
own protocol-data-units.
3.7.4 atomic action branch; branch: A relationship between
3.7.20 distributed application: An information processing
two CCR service-users representing an integral part of an
endeavor that is accomplished using two or more applica-
atomic action. The relationship may survive both com-
ISO/iEC 9804 : 1990 (E)
tion-entity invocations interconnected within the OS1 en- 3.7.35 offer of commitment of an atomic action branch;
vironment. offer of commitment: A statement from the subordinate to
the superior that the subordinate is ready for either commit-
NOTE - This term will be removed from this subclause when
ment or rollback.
its definition becomes available in another referenced standard.
3.7.36 order of commitment of an atomic action branch;
3.7.21 doubt period: For a CCR service-user (that is not the
order of commitment: A statement by the superior to the
master). the period during an atomic action that begins when
subordinate to initiate commitment of the atomic action
it decides to offer commitment to its superior and ends when
branch.
it receives either the order to commit or to rollback. The
master CCR service-user does not have a doubt period.
3.7.37 phase I: For a CCR service-user that is not the
master, the period during an atomic action that ends when
3.7.22 durability: A property of a completed set of related
it decides to offer commitment to its superior. For the
operations such that all the effects of the operations are not
master CCR service-user, phase I ends when it decides to
altered by any sort of failure.
commit the atomic action. This International Standard does
3.7.23 final state: The state of bound data produced as a
not specify when phase I starts.
result of the completed application operations of the atomic
3.7.38 phase Il: For a CCR service-user that is not the
master, the period during an atomic action that begins when
6::4 heuristic decision: A decision of a CCR service-user
it is ordered to commit by its superior. For the master CCR
that has offered commitment to the superior and then
service-user, phase II begins when it decides to commit the
releases all or part of its bound data before it is ordered to
atomic action. Phase II ends for any CCR service-user when
commit or to roil back by the superior.
it completes all of its branches and its involvement with the
atomic action ends.
3.7.25 initial state: The state of bound data at the time of
first use by an atomic action.
3.7.39 presumed rollback: The recovery mechanism used
by CCR. It conditionally allows a CCR service-user to treat
3.7.26 intermediate CCR service-user; intermediate: A CCR
an application or communiçation failure as a rollback. This
service-user that has the role of both subordinate and supe-
occurs if it has not recorged atomic action data for the
rior. It is a subordinate of the master CCR service-user or
branch. In addition, a CCR service-user acting as a subor-
another intermediate CCR service-user. It is the superior of
dinate may presume rollback under the following condition.
one or more other intermediate and/or leaf CCR service-
It has recorded atomic action data for the branch but, during
users.
recovery, it discovers that the superior does not.
3.7.27 intermediate state: One of the states of bound data
3.7.40 recovery of an atomic action branch; recovery: Pro-
produced during the manipulation of bound data that is
cedures used by a CCR service-user to complete an inter-
neither the initial nor the final state.
rupted atomic action branch for which it has recovery
3.7.28 interrupted branch: An atomic action branch whose
responsibility.
supporting association was released because of an applica-
3.7.41 recovery responsibility for an atomic action branch;
tion or communication failure.
recovery responsibility: A property of a CCR service-user
3.7.29 isolation: A property of a set of related operations
that determines whether it attempts recovery. The CCR
such that partial results of the set of operations are not
service-user acquires this property as a result of using certain
cessible, except by operations of the set. This definition
CCR services. It retains the property until the completion of
plies that different sets of related operations that havethis
the atomic action branch.
property and that share bound data are serializable.
3.7.42 referencing specification: An Application Layer In-
3.7.30 leaf CCR service-user; leaf: A CCR service-user that
ternational Standard or other specification that specifies the
only has the role of subordinate. It is the subordinate of the
use of CCR services. CCR services are always used in
master CCR service-user or an intermediate CCR service-
conjunction with a referencing specification.
user. It has no subordinates of its own.
3.7.43 requestor: The CCR service-user that issues the
3.7.31 local commitment procedures: Establishing the final
request primitive for a particular CCR service. For a con-
state of all bound data, removal of concurrency controls, and
firmed service, it also receives the confirm primitive.
release of all resources used in performing the atomic action.
3.7.44 rollback of an atomic action branch; rollback: Com-
3.7.32 local rollback procedures: Re-establishing the initial
pletion of an atomic action branch with the release of bound
state of all bound data, removal of concurrency controls, and
data in the initial state.
release of all resources used in performing the atomic action.
3.7.45 subordinate of an atomic action branch; subordinate:
3.7.33 master CCR service-user; master: A CCR service-
The CCR service-user that receives the request to begin the
user that has the role of superior. As the creator of the
branch, offers commitment and receives the order to com-
atomic action tree, it has no superior, but it is the superior of
mit.
one or more intermediate and/or leaf CCR service-users.
3.7.46 superior of an atomic action branch; superior: The
3.7.34 mixed heuristic situation; mixed situation: The state
CCR service-user that requests the beginning of the branch,
of bound data produced as the result of heuristic decision(s1
receives the offer of commitment and orders commitment.
when a CCR service-user releases bound data in a state
different from the master.
ISO/IEC 9804 : 1990 (E)
5 Conventions
4 Abbreviations
This International Standard defines services for CCR follow-
This International Standard uses the following abbreviations.
ing the descriptive conventions defined in ISOITR 8509.
Association Control Service Element
ACSE
In clause 7, the definition of each CCR service includes a
AE application-entity
table that lists the parameters of its primitives. For a given
primitive, the presence of each parameter is described by one
AEI application-entity invocation
of the following values.
application-service-element
ASE
blank not applicable
Commitment, Concurrency, and
CCR
C conditional
Recovery application-service-element
M mandatory
Commitment, Concurrency, and
CCR-SP
Recovery service-provider
U user option
cnf confirm primitive
In these tables, the notation (=I indicates that a parameter
value is semantically equal to the value to its left in the table.
ind indication primitive
MACF multiple association control function
Open Systems Interconnection
os1
OSlE Open Systems Interconnection environment
request primitive
req
response primitive
rsP
SACF single association control function
single association object
SA0
U-ASE User application-service-element
ISO/iEC 9804 : 1990 (E)
d) durability: A property of a set of related operations such
6 Concepts
that all the effects of the operations are not altered by any
sort of failure.
6.1 Use of CCR in a distributed application
environment
In the ideal case, all these atomic action properties are
maintained by the CCR service-user. However, the degree
CCR services are defined for a single association. They are
of achievement of these properties depends on the level of
not concerned with and do not address the organization and
compliance to the CCR service-user rules (see annex A) and
topology of a distributed application. A referencing
the local strategies of the CCR service-users.
s ecification is always required to coordinate the use of CCR
rvices. However, the use of CCR services requires an
Taking heuristic decisions is an example of a local strategy
4 nderstanding of the distributed application environment.
that might violate the atomic action properties (see 6.3).
Heuristic decisions do not guarantee atomicity of the atomic
6.1 .I Atomic action environment
action. Another example is the use of a concurrency
6.1 .I .I Atomic action properties
mechanism that allows intermediate states of bound data to
An atomic action is a specific set of related distributed be visible outside the atomic action.
application operations that may be characterized by the
6.1 .I .2 The atomic action tree
following properties.
The CCR service-users that participate in an atomic action
a) atomicity: A property of a set of related operations such
form a relationship that has a tree structure. For this Inter-
that the operations are either all performed or none of
national Standard, such a relationship is modelled as an
them are performed.
atomic action tree, as shown in figure 1. An atomic action
b) consistency: A property of a related set of operations
tree consists of CCR service-users and atomic action
such that the effect of the operations are performed
branches.
accurately, correctly and with validity, with respect to
application semantics. A given AEI can represent one or more CCR service-users of
the same or different atomic action trees.
c) isolation: A property of a set of related operations such
that partial results are not accessible, except by opera-
NOTE - Atomic action branches between CCR service-users in
tions of the set. This definition implies that different sets
the same AEI are outside of the scope of this International
of related operations that have this property and that Standard.
share bound data are serializable.
A branch of the atomic action is the relationship between
two logically adjacent CCR service-users.
ISO/IEC 9804 : 1990 (E)
tions are isolated from concurrent operations that take place
An atomic action tree is dynamically constructed by the
outside of the atomic action.
formation of its branches. The atomic action tree and its
branches only exist for the lifetime of the atomic action.
6.1.4 Atomic action data
An atomic action tree starts when a CCR service-user begins
For this International Standard, the term atomic action data
the first branch. This CCR service-user assigns this atomic
refers to state and control information about an atomic
action an atomic action identifier whose value uniquely iden-
action and its branches. Atomic action data needed for
tifies it within the OSIE. This value is propagated throughout
recovery is required to persist if an application or com-
the atomic action. A CCR service-user uses it to maintain
munication failure occurs.
concurrency controls. Following an application or com-
munication failure, it is used to correlate recovery for inter-
6.1.5 Operation of an atomic action
rupted branches of the atomic action.
The overall goal of an atomic action is to exchange applica-
Based on the requirements of the referencing specification,
tion semantics to coordinate the setting of the final state of
a CCR service-user can introduce another CCR service-user
all bound data. To achieve this, CCR supports a two-phase
into the atomic action tree. This adds a new branch to the
commitment mechanism. During phase I offers of commit-
atomic action tree.
ment are collected. During phase II commitment is ordered
and confirmed.
Beginning from any CCR service-user, an atomic action tree
e
can be ordered hierarchically. Such an ordering that begins
Within the atomic action, each CCR service-user may offer
with the CCR service-user that started the atomic action
commitment on one branch or it may make no offer of
defines the atomic action begin-tree. Figure 1 shows an
commitment. The atomic action may therefore be repre-
atomic action tree in this ordering started by CCR service-
sented as a hierarchical tree ordered on the basis of offers of
user A. The arrow on each branch shows the direction in
commitment - this is the atomic action commit-tree.
which it was started.
6.1.6 Roles in an atomic action
Following failure, the recovery facilities of CCR are used to
Offers of commitment on a branch are only made from the
ensure that branch completion procedures are correctly ap-
CCR service-user that received the C-BEGIN indication primi-
plied throughout the atomic action. An atomic action tree
tive for the branch.
ends with the completion of all the individual branches.
The following roles for a branch can therefore be distin-
6.1.2 Atomic action branch
guished.
An atomic action branch is a relationship between two logi-
a) superior (of the branch): the CCR service-user that
cally adjacent CCR service-users. This relationship performs
requests the beginning of the branch, receives the offer
a portion of the work of an atomic action. The branch is
of commitment and orders commitment.
requested by one of the CCR service-users and the other
b) subordinate (of the branch): the CCR service-user that
receives the request. Within the atomic action tree hierar-
receives the request to begin the branch, offers commit-
chy, the CCR service-user that receives the request is one
ment and receives the order to commit.
level lower than the CCR service-user that begins the branch.
Three types of CCR service-users exist within an atomic
The CCR service-user that begins a branch uses the ap-
action.
propriate atomic action identifier. It assigns a branch iden-
a) master: has the role of superior. As the creator of th
tifier whose value is unique within the scope of the atomic
atomic action tree, it has no superior, but it is the superio a
action. This branch identifier is used to identify a particular
of one or more intermediate and/or leaf CCR service-
branch of the atomic action tree during recovery following
users.
an application or communication failure.
b) intermediate: has the role of both subordinate and
A branch is supported by an association. If an application or
superior. It is a subordinate of the master CCR service-
communication failure occurs, the branch may endure and
user or of another intermediate CCR service-user. It is the
continue with another association (see 6.2.2.2).
superior of one or more other intermediate and/or leaf
CCR service-users.
6.1.3 Bound data
c) leaf: only has the role of subordinate. It is the subor-
The operations of an atomic action involve specific CCR
dinate of the master CCR service-user or an intermediate
service-user data as determined by the requirements of the
CCR service-user. It has no subordinates of its own.
referencing specification. For this International Standard,
such data under the control of an atomic action are called
6.1.7 Two-phase commitment
bound data.
CCR supports a two-phase commitment mechanism. During
Modifications made by the operations of the atomic action
I offers of commitment are collected. This Interna-
phase
change the bound data from an initial state to a final state.
tional Standard does not specify when phase l starts.
The modifications are indivisible and either all are applied
A CCR service-user offers commitment to its superior when
(placing the bound data in the final state) or none are applied
it has received offers of commitment from all its subor-
(placing the bound data in the initial state).
dinates and has completed all operations. At this point, it is
During an atomic action, an intermediate state of the bound
capable of placing its bound data in either the initial or final
data is invisible outside of the atomic action. Any modifica-
state.
ISO/IEC 9804 : 1990 (E)
same bound data. That is, the concurrent execution of atomic
The master leaves phase I and enters phase II when it decides
actions is serializable.
to commit the atomic action. To do this, it has received
offers of commitment from all its subordinates. It also is
CCR requires concurrency control for the control of atomic
capable of placing its bound data in the final state. The
actions. However, the facility to accomplish concurrency is
master then orders its subordinates to commit. The master
outside the scope of this International Standard.
leaves phase II after receiving commitment confirmation
from all its subordinates to which it has ordered commit-
6.2 CCR facilities
ment.
CCR facilities support the beginning and completion of a
A CCR service-user, that is not the master, leaves phase I
single branch. The overall goal of a branch is to exchange
and enters the doubt period when it decides to offer commit-
application semantics to cause the modification of bound
ment to its superior. It leaves the doubt period and enters
data in a coordinated manner.
phase II when it receives the order to commit from its
superior. An intermediate then orders its subordinates to
6.2.1 Operation of a branch
commit. Finally, it leaves phase II when it sends commit-
The operation of a branch is divided into two parts:
ment confirmation to its superior.
a) creation of the branch and the exchange of application
ml .8 Commitment procedure semantics between the two CCR service-users to
produce the final state of the bound data; and
Commitment is the procedure whereby the CCR service-
b) commitment whereby the final state of the bound data
users participating in an atomic action release their bound
data in the final state. is made permanent (i.e. committed) or rollback whereby
the bound data are restored to the initial state.
Commitment only occurs after all participating CCR service-
At any time before starting the commitment procedure,
users (other than the master) have offered commitment.
either CCR service-user may roll back the branch.
The master initiates commitment. When the master decides
to commit, it enters phase II. As each CCR service-user
A branch can be interrupted by an application or communica-
commits, it releases its bound data in the final state and
tion failure. A CCR service-user with recovery responsibility
orders all of its subordinates to commit.
attempts to recover an interrupted branch using another
association. A CCR service-user acquires recovery respon-
6.1.9 Rollback procedure
sibility for a branch before it uses specific CCR services (see
Rollback is the procedure used to force the completion of
6.2.2.2). Both CCR service-users may have recovery
some or all the branches of an atomic action. The procedure
responsibility for the branch.
results in the release of related bound data in the initial state.
This International Standard defines CCR services for creating
Rollback may apply to an entire atomic action. It may also
and controlling an individual branch. It also defines rules that
apply to a subtree of the atomic action tree whose root is an
govern the exchange of application semantics on a branch.
intermediate or a leaf.
NOTE - The exchange of application semantics within the
A CCR service-user, that is not the master, may initiate
framework of a branch is defined by the referencing specifica-
rollback prior to offering commitment. The master may
tion.
initiate rollback prior to ordering commitment.
6.2.2 Recovery
r rollback, a CCR service-user releases its bound data in
@ e initial state. It forces the completion of the branches to
CCR addresses failure and subsequent recovery at the
its subordinates by propagating the rollback on them. If it
branch level.
initiated rollback, it forces the completion of the branch to
6.2.2.1 Failure
its superior.
AEls involved in an atomic action can fail at any time.
Prior to offering commitment (i.e. before entering the doubt
However, CCR functionality and applicability rely upon the
phase), a CCR service-user may order any of its subordinates
preservation of the bound data and atomic action data over
to roll back even if it does not roll back or release its own
such failures. The loss of such data causes a breakdown of
bound data. The branches with such subordinates are com-
the CCR functionality and applicability and the atomic action
pleted. The CCR service-user remains in the atomic action.
properties are no longer guaranteed.
After offering commitment, a CCR service-user that has not
Following an application or communication failure, recovery
taken a heuristic decision only rolls back if it receives an order
on another association may be needed. This is done to
to roll back from its superior (see 6.3).
preserve the atomic action properties and t
...
NORME
ISO/CEI
I NTERNATI O NALE
Première édition
1990-1 1-1 5
Technologies de l’information -
Interconnexion de systèmes ouverts
(OSI) - Définition du service pour
l’élément de service de validation
d’engagement, de concurrence et de
reprise
information technology - Open Systems interconnection - Service
definition for the Commitment, Concurrency and Recovery service
element
Numéro de référence
ISO/CEI 9804:1990(F)
ISO/CEI 9804 : 1990 (FI
Sommaire
Page
............................................................................................................... V
Avant-propos
Introduction . vi
1 Domaine d'application . 1
2 Références normatives . 1
3 Définitions . 2
3.1 Définitions du Modèle de référence . 2
3.2 Définition relative à la dénomination et à l'adressage . 2
3.3 Définitions des conventions de service . 2
3.4 Définitions du service de présentation . 2
3.5 Définitions du service ACSE . 2
3.6 Définitions de la structure de la Couche Application . 3
3.7 Définitions du service CCR . 3
4 Abréviations . 5
5 Conventions . 6
6 Concepts . 6
6.1 Utilisation de CCR dans un environnement d'application répartie .
6.2 Facilités de CCR . 9
6.3 Décisions heuristiques . 10
7 Définition du service . 11
7.1 Service C-BEGIN . 12
7.2 Service C-PREPARE . 13
7.3 Service C-READY . 13
7.4 Service C-COMMIT . 13
7.5 Service C-ROLLBACK . 14
7.6 Service C-RECOVER . 15
Informations sur les séquences de primitives . 16
8.1 Généralités . 17
8.2 Événements . 17
8.3 États . 17
8.4 Interprétation des tables d'états . 17
8.5 Achèvement d'une branche . 17
8.6 Collisions et services interruptifs . 18
Q ISO/CEI 1990
. Aucune partie de cette publication ne peut être reproduite
Droits de reproduction réservés
ni utilisée sous quelque forme que ce soit et par aucun procédé. électronique ou mécanique.
y compris la photocopie et les microfilms. sans l'accord écrit de l'éditeur .
ISO/CEI Copyright Office Case Postale 56 CH-1211 Genève 20 Suisse
Version française tirée en 1993
Imprimé en Suisse
ii
ISO/CEI 9804 : 1990 (FI
Utilisation de CCR . 24
9.1 Généralités . 24
9.2 Utilisation de CCR par un service principal coopérant . 24
9.3 Utilisation de la resynchronisation . 24
9.4 Utilisation du service de transfert de données exprès de transport . 24
9.5 Démarrage d'une branche . 24
Annexes
A Règles d'utilisation de CCR . 25
A.l Introduction . 25
A.l.l Catégories de règles . 25
A.1.2 Considérations sur les décisions heuristiques . 25
A.2 Compatibilité . 25
A.3 Règles d'utilisation des primitives de service CCR . 25
A.3.1 Primitive de demande C-BEGIN . 26
A.3.2 Primitive de demande C-PREPARE . 26
A.3.3 Primitive de demande C-READY . 26
A.3.4 Primitive de demande C-COMMIT . 26
A.3.5 Primitive de réponse C-COMMIT . 27
A.3.6 Primitive de demande C-ROLLBACK . 27
A.3.7 Primitive d'indication C-ROLLBACK . 27
A.3.8 Primitive de demande C-RECOVER (prêt) . 27
A.3.9 Primitive de demande C-RECOVER (validé) . 27
A.3.10 Primitive de réponse C-RECOVER (terminé) . 28
Règles de manipulation de données d'action atomique . 28
A.4
A.4.1 Enregistrement de données d'action atomique indiquant une offre
de validation . 28
A.4.2 Oubli de données d'action atomique indiquant une offre de valida-
tion . 28
A.4.3 Enregistrement de données d'action atomique indiquant un ordre
de validation . 28
A.4.4 Oubli de données d'action atomique indiquant un ordre de valida-
tion . 28
A.5 Règles de manipulation de données liées . 28
A.5.1 Modifications de données liées jusqu'à production de l'état final . 28
A.5.2 Libération de données liées dans l'état initial. dans un retour
arrière . 29
A.5.3 Libération de données liées dans l'état final. dans une validation . 29
A.5.4 Libération de données liées. dans une décision heuristique . 29
Règles de transfert de données de l'utilisateur de service CCR . 29
A.6
A.6.1 Primitives de demande et de réponse de transfert de données . 29
A.6.2 Primitives de confirmation et d'indication de transfert de données 29
iii
ISO/CEI 9804 : 1990 (FI
Relations de CCR avec la structure de la Couche Application . 30
B
Fournisseur de service CCR . 30
B.l
Utilisateur de service CCR . 30
B.2
Arbre d'action atomique . 30
B.3
Tutoriel sur CCR . 32
C
Introduction . 32
c . 1
C.l.l Qu'est-ce que CCR 7 . 32
C.1.2 Action atomique . 33
C.1.3 Objet . 33
C.1.4 Utilisation de CCR . 33
c.2 Structure d'un arbre d'action atomique . 33
C.2.1 Modèle . 33
C.2.2 Utilisateur de service CCR . 34
C.2.3 Branche et identificateurs de branche . 34
C.2.4 Exemple d'arbre d'action atomique utilisant JTM . 34
Ressources-informations d'un utilisateur de service CCR . 37
c.3
C.3.1 Données liées . 37
C.3.2 Données d'action atomique . 37
C.3.3 Données opérationnelles . 37
c.4 Concurrence . 38
C.4.1 Considérations générales . 38
C.4.2 Exemple de concurrence - le verrouillage . 38
c.5 Reprise . 39
C.5.1 Données d'action atomique . 39
C.5.2 Retour arrière présumé . 40
C.5.3 Identificateurs d'invocations d'entité d'application et de processus
d'application . 42
Relations de temps et enchaînement des primitives de service . 43
C.6
Commentaires sur la complexité de mise en œuvre . 43
c.7
Utilisation du paramétre ((données de l'utilisateur)) des services CCR . 48
C.8
C.8.1 Niveau de validation . 48
C.8.2 Diagnostics CCR . 49
C.8.3 Sémantique d'application . 49
C.8.4 Alertes heuristiques . 49
Utilisation optionnelle de C-PREPARE . 49
c.9
C.9.1 Sémantique ((implicit prepare)) . 49
C.9.2 {(implicit conditional prepare)) et ((continue)) . 49
C.9.3 Collision de C-READY avec des données d'application . 50
C.10 Utilisation des services de synchronisation et de resynchronisation de
session . 51
iv
ISO/CEI 9804 : 1990 (FI
Avant-propos
L'ISO (Organisation internationale de normalisation) et la CE1 (Com-
mission électrotechnique internationale) forment ensemble un sys-
tème consacré à la normalisation internationale considérée comme un
tout. Les organismes nationaux membres de I'ISO ou de la CE1 partici-
pent au développement de Normes internationales par l'intermédiaire
des comités techniques créés par l'organisation concernée afin de
s'occuper des différents domaines particuliers de l'activité technique.
Les comités techniques de I'ISO et de la CE1 collaborent dans les
domaines d'intérêt commun. D'autres organisations internationales,
gouvernementales ou non gouvernementales, en liaison avec I'ISO et
la CE1 participent également aux travaux.
Dans le domaine des technologies de l'information, I'ISO et la CE1 ont
créé un comité technique mixte, I'ISO/CEI JTC 1. Les projets de Nor-
mes internationales adoptés par le comité technique mixte sont sou-
mis aux organismes nationaux pour approbation, avant leur
acceptation comme Normes internationales. Les Normes internationa-
les sont approuvées conformément aux procédures qui requièrent
l'approbation de 75 % au moins des organismes nationaux votants.
La Norme internationale ISO/CEI 9804 a été élaborée par le comité
technique mixte ISO/CEI JTC 1, Technologies de /'information.
Les annexes A et B font partie intégrante de la présente Norme inter-
nationale. L'annexe C est donnée à titre d'information uniquement.
V
iSO/CEI 9804 : 1990 (FI
Introduction
La présente Norme internationale fait partie d'un ensemble de Normes
internationales élaborées pour faciliter l'interconnexion des systèmes
de traitement de l'information. Elle fait partie d'un ensemble de nor-
mes dont les relations sont définies par le Modèle de référence pour
l'interconnexion de systèmes ouverts (IS0 7498). Le modèle de réfé-
rence subdivise le domaine de la normalisation pour l'interconnexion
en une série de couches de spécification, chacune de taille maîtrisable.
L'objectif de I'OSI est de permettre, avec un minimum d'accords tech-
niques en dehors des normes d'interconnexion, l'interconnexion de
systèmes de traitement de l'information
- provenant de divers fabricants ;
- gérés différemment ;
- de niveaux de complexité différents ; et
- d'âges différents.
La présente Norme internationale prend en compte le fait que les pro-
cessus d'application peuvent désirer communiquer pour les raisons
les plus diverses. Mais toute communication nécessite l'exécution de
certains services indépendants des raisons de cette communication.
L'élément de service d'application défini dans la présente Norme inter-
nationale fournit ces services.
La présente Norme internationale définit les facilités offertes par 1'618-
ment de service d'application pour la validation d'engagement'), la
concurrence et la reprise (CCR). CCR fournit des services pour une
seule association. Une spécification faisant référence à CCR utilise ces
services pour démarrer et terminer une séquence spécifique d'opéra-
tions d'application répartie sans tenir compte des pannes de commu-
nication ou d'une défaillance de l'application.
Une spécification fait référence à la présente Norme internationale
pour appliquer CCR à son fonctionnement. Les services CCR peuvent
être utilisés avec les services de présentation (IS0 88221, ou avec d'au-
tres services de la Couche Application. Toutefois l'utilisation des servi-
ces CCR est sujet aux restrictions spéficiées dans l'article 9.
L'utilisation des services CCR permet à une spécification faisant réfé-
rence à CCR de définir son activité comme une action atomique. Une
action atomique peut utiliser plusieurs associations, avec éventuelle-
ment différents protocoles sur chaque association.
L'annexe A décrit les règles qui devront être suivies par une spécifica-
tion qui fait référence à la présente Norme internationale.
L'annexe B explique les relations existant entre les concepts et le
modèle CCR et la structure de la Couche Application (ISO/CEI 9545).
L'annexe C est un tutoriel visant à aider à comprendre les concepts et
les services CCR.
1) La traduction du terme anglais ((commitment)) utilisée ici n'est pas la même que celle utilisée dans la version
française d'autres Normes internationales (IS0 857 1-3, par exemple). Cette traduction est définitive et remplacera
la traduction actuelle à l'occasion de la révision de ces normes.
II est bon de noter que ((validation d'engagement)) est utilisée dans le titre de I'ISO/CEI 9804 ; dans la suite du
texte, cette expression est remplacée par «validation» qui est équivalent.
Le terme «validation» est employé ici dans un sens différent de celui qu'il a dans l'expression ((validation de pro-
toc0 le )),
vi
NORME INTERNATIONALE ISOKEI 9804 : 1990 (FI
Technologies de l'information - Interconnexion de
systèmes ouverts (OSI) - Définition du service pour
l'élément de service de validation d'engagement, de
concurrence et de reprise
NOTE - La traduction du terme anglais ((commitment» utilisée ici n'est pas la même que celle utilisée dans la version française d'autres
Normes internationales (IS0 8571-3, par exemple). Cette traduction est définitive et remplacera la traduction actuelle à l'occasion de la révision
de ces normes.
II est bon de noter que ((validation d'engagement)) est utilisée dans le titre de I'ISO/CEI 9804; dans la suite du texte, cette expression est
remplacée par ((validation» qui est équivalent.
Le terme «validation» est employé ici dans un sens différent de celui qu'il a dans l'expression ((validation de protocole)).
La présente Norme internationale ne spécifie pas de
1 Domaine d'application
mises en œuvre ou de produits particuliers. Elle n'im-
pose aucune contrainte quant à la mise en œuvre des
La présente Norme internationale est destinée à être
entités et des interfaces dans un système informati-
citée en référence par d'autres spécifications lorsque
que.
les fonctionnalités de validation, de concurrence et de
reprise sont nécessaires. Elle peut être citée en réfé-
La présente Norme internationale ne spécifie pas de
rence chaque fois que le traitement d'une ou plu-
condition de conformité.
sieurs invocations d'entité d'application, dans un
contexte d'application répartie, nécessite d'être orga-
La présente Norme internationale spécifie les condi-
nisé en une action atomique.
tions que doit respecter une spécification faisant réfé-
rence à CCR déclarant être compatible avec la
La présente Norme internationale définit les services
présente Norme internationale.
qui sont utilisés sur une seule association afin de
coordonner deux invocations d'entité d'application
impliquées dans une action atomique. La détermina-
2 Références normatives
tion des invocations d'entité d'application qui sont
dans une action atomique est en dehors du domaine
d'application de la présente Norme internationale. Les Normes internationales suivantes contiennent
des dispositions qui, par suite de la référence qui en
La présente Norme internationale établit les principes est faite, constituent des dispositions valables pour la
généraux pour l'utilisation coordonnée des services
présente Norme internationale. Au moment de la
de CCR lorsque plus de deux invocations d'entité
publication, les éditions indiquées étaient en vigueur.
d'application sont impliquées dans une seule action
Toute norme est sujette à révision et les parties
atomique, ou lorsque une reprise est nécessaire
prenantes des accords fondés sur la présente Norme
après une défaillance de l'application. La coordina- internationale sont invitées à rechercher la possibilité
tion de plusieurs associations et des invocations d'appliquer les éditions les plus récentes des normes
d'entité d'application associées qui constituent une
indiquées ci-après. Les membres de la CE1 et de I'ISO
action atomique, est réalisée par une spécification
possèdent le registre de Normes internationales en
faisant référence à CCR en conjonction avec la pré- vigueur à un moment donné.
sente Norme internationale.
IS0 7498: 1984, Systèmes de traitement de /'informa-
La présente Norme internationale est applicable uni-
tion - Interconnexion de systèmes ouverts -
quement à une application répartie dont la spécifica-
Modèle de référence de base.
tion fait référence à la présente Norme internationale.
ISO/CEI 9804 : 1990 (FI
3.2 Définition relative à la dénomination et à i'adre-
IS0 7498-31989, Systèmes de traitement de I'infor-
ssage
mation - Interconnexion de systèmes ouverts -
Modèle de référence de base - Partie 3 : Dénomina-
La présente Norme internationale utilise le terme sui-
tion et adressage.
vant, défini dans I'ISO 7498-3 :
IS0 8326: 1987, Systèmes de traitement de I'informa-
a) titre d'entité d'application.
tion - Interconnexion de systèmes ouverts - Défini-
tion du service de session en mode connexion.
3.3 Définitions des conventions de service
ISO/TR 8509: 1986, Systèmes de traitement de I'infor-
mation - Interconnexion de systèmes ouverts -
La présente Norme internationale utilise les termes
Conventions de service.
suivants, définis dans I'ISO/TR 8509 :
IS0 8649: 1988, Systèmes de traitement de I'informa-
a) service confirmé ;
tion - Interconnexion de systèmes ouverts - Défini-
tion du service pour l'élément de service de contrsle
b) service non confirmé ;
d'association.
c) primitive ;
IS0 8822: 1988, Systèmes de traitement de I'informa-
tion - Interconnexion de systèmes ouverts - Défini- d) demande (primitive) ;
tion du service de présentation en mode connexion.
e) indication (primitive) ;
ISO/CEI 9545: 1989, Technologies de l'information -
f) réponse (primitive) ; et
Interconnexion de systèmes ouverts - Structure de
la Couche Application.
g) confirmation (primitive).
ISO/CEI 9805 1990, Technologies de l'information -
Interconnexion de systèmes ouverts - Spécification
3.4 Définitions du service de présentation
du protocole pour l'élément de service de validation
d'engagement '', de concurrence et de reprise.
La présente Norme internationale utilise les termes
suivants, définis dans I'ISO 8822 :
a) syntaxe abstraite ;
3 Définitions
b) nom de syntaxe abstraite ;
3.1 Définitions du Modèle de référence
c) ensemble des contextes définis ;
La présente Norme internationale utilise les termes
suivants, définis dans I'ISO 7498 :
d) contexte de présentation ; et
a) association d'application ; association ;
e) valeur de données de présentation.
b) entité d'application ;
3.5 Définitions du service ACSE
c) Couche Application ;
La présente Norme internationale utilise les termes
d) processus d'application ;
suivants, définis dans I'ISO 8649 :
e) connexion de présentation ;
a) demandeur de l'association ;
f) service de présentation ;
b) accepteur de l'association ; et
g) service de session ; et
c) interruption.
h) connexion de session.
1) La traduction du terme anglais «commitment» utilisée ici n'est pas la même que celle utilisée dans la version
française d'autres Normes internationales (IS0 857 1-3, par exemple). Cette traduction est définitive et rempla-
cera la traduction actuelle à l'occasion de la révision de ces normes.
II est bon de noter que ((validation d'engagement)) est utilisée dans le titre de I'ISO/CEI 9804 ; dans la suite du
texte, cette expression est remplacée par ((validation)) qui est équivalent.
Le terme ((validation)) est employé ici dans un sens différent de celui qu'il a dans l'expression «validation de
protocole)).
ISO/CEI 9804 : 1990 (FI
3.6 Définitions de la structure de la Couche Appli-
3.7.10 données liées : Données auxquelles accède et
cation
que manipule un utilisateur de service CCR, et faisant
partie d'une action atomique. L'état des données est
La présente Norme internationale utilise les termes
lié par les règles de CCR. Les données liées sont
suivants, définis dans I'ISO/CEI 9545 :
conservées en cas de défaillance de la communica-
tion ou de l'application et existent au-delà de la bran-
a) invocation d'entité d'application ;
che d'action atomique.
b) élément de service d'application ;
3.7.11 fournisseur de service CCR : Deux éléments
c) fonction de contrôle d'associations multiples ;
de service d'application CCR homologues, impliqués
dans la même branche d'action atomique.
d) fonction de contrôle d'association unique ; et
e) objet d'association unique.
3.7.12 utilisateur de service CCR : Partie de l'invoca-
tion d'entité d'application qui utilise des services CCR
pour coordonner une ou plusieurs branches d'un
3.7 Définitions du service CCR
arbre d'action atomique.
3.7.1 accepteur : Utilisateur du service CCR qui
reçoit la primitive d'indication pour un service CCR
3.7.13 validation d'une branche d'action atomique ;
donné. Pour un service confirmé, il émet également
validation : Achèvement d'une branche d'action ato-
une primitive de réponse.
mique avec la libération des données liées dans leur
état final.
3.7.2 défaillance de l'application : Invocation d'entité
d'application ne réussissant pas à assurer ses fonc-
3.7.14 défaillance de la communication : Terminai-
tions.
son inattendue de l'association.
3.7.3 action atomique : Ensemble spécifique d'opé-
3.7.15 action de compensation : Opérations utilisées
rations d'une application répartie qui peut être carac-
pour rétablir soit l'état initial soit l'état final à partir
térisé par les propriétés d'atomicité, de cohérence,
d'une situation mixte générée à la suite d'un conflit
d'isolation et de durabilité.
entre une ou plusieurs décisions heuristiques et la
3.7.4 branche d'action atomique ; branche : Relation décision du maître.
entre deux utilisateurs de service CCR représentant
une partie intégrale d'une action atomique. La rela-
3.7.16 contrôle de concurrence : Mécanisme de sys-
tion peut être maintenue en cas de défaillance de la
tème ouvert réel qui coordonne les modifications des
communication ou de l'application. Elle débute par
données liées utilisées par les actions atomiques
l'utilisation de services CCR et se termine plus tard
concurrentes afin de garantir la propriété d'isolation
soit par l'utilisation de services CCR soit par une
de l'action atomique.
défaillance de la communication ou de l'application.
3.7.17 confirmation de validation : Déclaration d'un
3.7.5 identificateur de branche d'action atomique ;
subordonné au supérieur confirmant quel subor-
identificateur de branche : Valeur attribuée par le
donné a achevé les procédures de validation locale.
supérieur qui identifie de façon unique une branche
dans le domaine d'application de l'action atomique.
3.7.18 cohérence : Propriété d'un ensemble d'opéra-
3.7.6 données d'action atomique : Informations de tions liées d'après laquelle ces opérations sont exécu-
tées de manière exacte, correcte et valide, par rapport
contrôle et d'état concernant une action atomique et
ses branches. Les données d'action atomique néces- à la sémantique de l'application.
saires pour la reprise sont conservées en cas de
défaillance de la communication ou de l'application,
3.7.19 service principal coopérant : Spécification fai-
à CCR qui incorpore la sémantique
sant référence
3.7.7 identificateur d'action atomique : Valeur, attri-
CCR dans ses propres primitives de service et qui
buée par le maître, qui identifie de façon unique une
véhicule la syntaxe de transfert CCR dans ses propres
action atomique dans l'environnement OSI.
unités de données de protocole.
3.7.8 arbre d'action atomique : Relation hiérarchi-
3.7.20 application répartie : Traitement de l'informa-
que entre les utilisateurs de service CCR impliqués
tion qui est réalisé en utilisant deux (ou plus de deux)
dans les opérations d'une action atomique.
invocations d'entité d'application interconnectées
dans l'environnement OSI.
3.7.9 atomicité : Propriété d'un ensemble d'opéra-
soit ces opérations sont
tions liées d'après laquelle
NOTE - Ce paragraphe sera supprimé lorsque le terme sera
toutes exécutées, soit aucune d'entre elles n'est exé-
défini dans une autre norme.
cutée.
ISO/CEI 9804 : 1990 (FI
3.7.32 procédures de retour arrière local : Rétablis-
3.7.21 période de doute : Pour un utilisateur de ser-
vice CCR (qui n'est pas le maftre), période au cours sement de l'état initial de toutes les données liées,
d'une action atomique, qui commence lorsqu'il suppression des contrôles de concurrence, et libéra-
décide de faire une offre de validation à son supérieur tion de toutes les ressources utilisées dans l'exécu-
et se termine lorsqu'il reçoit l'ordre de validation ou tion de l'action atomique.
de retour arrière. L'utilisateur de service CCR maître
n'a pas de période de doute.
3.7.33 utilisateur de service CCR maître ; ma?tre :
Utilisateur de service CCR qui a le rôle de supérieur.
3.7.22 durabilité : Propriété d'un ensemble d'opéra-
Comme créateur de l'arbre d'action atomique, il n'a
tions liées d'après laquelle tous les effets des opéra-
pas de supérieur, mais il est le supérieur d'un ou plu-
tions ne sont pas modifiés par une quelconque
sieurs utilisateurs de service CCR intermédiaires
défai I lance.
et/ou feuilles.
3.7.23 état final : État des données liées, résultant
3.7.34 situation heuristique mixte ; situation mixte :
des opérations de l'action atomique.
État des données liées résultant de décision(s) heuris-
tique(s) lorsque l'utilisateur de service CCR libère les
3.7.24 décision heuristique : Décision de l'utilisateur
données liées dans un état différent de celles du mal-
de service CCR qui a offert la validation au supérieur
tre.
et qui libère ensuite toutes ou une partie de ses don-
nées liées avant que Je supérieur ne lui ait ordonné
3.7.35 offre de validation d'une branche d'action
de valider ou d'effectuer le retour arrière.
atomique ; offre de validation : Déclaration du subor-
donné au supérieur indiquant que le subordonné est
3.7.25 état initial : État des données liées au
prêt pour la validation ou le retour arrière.
moment de leur première utilisation dans une action
atomique.
3.7.36 ordre de validation d'une branche d'action
atomique ; ordre de validation : Déclaration du supé-
3.7.26 utilisateur de service CCR intermédiaire ;
rieur à un subordonné lui demandant d'initialiser la
intermédiaire : Utilisateur de service CCR qui a le rôle
validation de la branche d'action atomique.
à la fois de supérieur et de surbordonné. II est un sub-
ordonné de l'utilisateur de service maître ou d'un
3.7.37 phase I : Pour un utilisateur de service CCR
autre utilisateur de service CCR intermédiaire. Il est le
qui n'est pas le maître, la période, durant une action
supérieur d'un ou plusieurs autres utilisateurs de ser-
atomique, qui se termine lorsqu'il décide d'offrir la
vice CCR intermédiaires et/ou feuilles.
validation à son supérieur. Pour l'utilisateur de ser-
vice CCR maître, la phase I se termine lorsqu'il décide
3.7.27 état intermédiaire : Un des états de données
de valider l'action atomique. La présente Norme
liées qui se présente durant la manipulation de don-
internationale ne spécifie pas à quel moment
nées liées et qui n'est ni l'état initial ni l'état final.
démarre la phase 1.
3.7.28 branche interrompue : Branche d'action ato-
mique dont l'association de prise en charge a été libé-
3.7.38 phase II : Pour un utilisateur de service CCR
rée par suite d'une défaillance de la communication
qui n'est pas le maître, la période, durant une action
ou de l'application.
atomique, qui commence lorsqu'il reçoit l'ordre de
validation émis par son supérieur. Pour l'utilisateur
3.7.29 isolation : Propriété d'un ensemble d'opéra- de service CCR maître, la phase II commence lorsqu'il
tions liées d'après laquelle les résultats partiels de décide de valider l'action atomique. La phase II se ter-
l'ensemble des opérations ne sont pas accessibles mine, pour tout utilisateur de service CCR. lorqu'il
sauf par les opérations. Cette définition implique que achève toutes ses branches et qu'il n'est plus
différents ensembles d'opérations liées ayant cette concerné par l'action atomique.
propriété et partageant des données liées soient
effectués en série.
3.7.39 retour arrière présumé : Mécanisme de
reprise utilisé par CCR. II permet, sous certaines
3.7.30 utilisateur de service CCR feuille ; feuille : Uti-
conditions, à un utilisateur de service CCR de traiter
lisateur de service CCR qui n'a qu'un rôle de subor-
une défaillance de la communication ou de l'applica-
donné. II est le subordonné d'un utilisateur de service
tion comme un retour arrière. Ceci se présente s'il n'a
CCR maître ou d'un utilisateur de service CCR inter-
pas enregistré de données d'action atomique pour la
médiaire. II n'a pas de subordonné.
branche. De plus, un utilisateur de service CCR agis-
sant comme un subordonné peut ((présumer» le
3.7.31 procédures de validation locale : Établisse-
retour arrière dans les conditions suivantes : il a enre-
ment de l'état final de toutes les données liées, sup-
gistré une donnée d'action atomique pour la branche
pression des contrôles de concurrence, et libération
mais, durant la reprise, il découvre que le supérieur
de toutes les ressources utilisées dans l'exécution de
ne l'a pas fait.
l'action atomique.
ISO/CEI 9804 : 1990 (F)
3.7.40 reprise d'une branche d'action atomique ; ACSE élément de service de contrôle d'association
reprise : Procédures utilisées par un utilisateur de ser- (Association Control Service Element)
vice CCR pour achever une branche d'action atomi-
que interrompue pour laquelle il a la responsabilité AE entité d'application
de la reprise. (Application Entity)
AE I invocation d'entité d'application
3.7.41 responsabilité de la reprise pour une branche
(Application Entity Invocation)
d'action atomique ; responsabilité de la reprise : Pro-
priété d'un utilisateur de service CCR qui détermine
ASE élément de service d'application
s'il tente ou non la reprise. L'utilisateur de service
(Application Service Element)
CCR acquiert cette propriété à la suite de l'utilisation
de certains services CCR. II la conserve jusqu'à l'achè-
CCR élément de service d'application de validation
vement de la branche d'action atomique.
d'engagement '), de concurrence et de
reprise
3.7.42 spécification faisant référence à CCR : Norme
(Commitment, Concurrency and Recovery
internationale de la Couche Application ou autre spé-
application-service-element)
cification qui spécifie l'utilisation de services CCR.
Les services CCR sont toujours utilisés conjointement
CCR-sp fournisseur de service CCR
avec une spécification faisant référence à CCR.
(Commitment, Concurrency and Recovery
service provider)
0 3.7.43 demandeur : L'utilisateur de service CCR qui
émet la primitive de demande pour un service CCR
cnf primitive de confirmation
donné. Pour un service confirmé, il reçoit également
(confirm primitive)
la primitive de confirmation.
ind primitive d'indication
3.7.44 retour arrière d'une branche d'action atomi-
(indication primitive)
que ; retour arrière : Achèvement d'une branche d'ac-
tion atomique avec la libération des données liées
MACF fonction de contrôle d'associations multiples
dans leur état initial.
(Multiple Association Control Function)
3.7.45 subordonné d'une branche d'action atomi-
OS1 interconnexion de systèmes ouverts
que ; subordonné : L'utilisateur de service CCR qui
(Open Systems Interconnection)
reçoit la demande de commencer une branche, qui
offre la validation et reçoit l'ordre de validation,
OSlE environnement OS1
(Open Systems Interconnection Environment)
3.7.46 supérieur d'une branche d'action atomique ;
supérieur : L'utilisateur de service CCR qui demande
req primitive de demande
le commencement d'une branche, qui reçoit l'offre de
(request primitive)
validation et donne l'ordre de validation.
rsp primitive de réponse
(response primitive)
O
4 Abréviations
SACF fonction de contrôle d'association unique
(Single Association Control Function)
La présente Norme internationale utilise les abrévia-
tions suivantes
SA0 objet d'association unique
NOTE - Les abréviations utilisées sont celles de la version (Single Association Object)
anglaise. Dans le présent article, on donne la forme de
ces abréviations développées en français. La forme anglaise
U-ASE ASE utilisateur
est donnée entre parenthèses.
(User Application-Service-Element)
1) La traduction du terme anglais «commitment» utilisée ici n'est pas la même que celle utilisée dans la version
française d'autres Normes internationales (IS0 8571-3, par exemple). Cette traduction est définitive et remplacera
la traduction actuelle à l'occasion de la révision de ces normes.
II est bon de noter que ((validation d'engagement)) est utilisée dans le titre de I'ISO/CEI 9804 ; dans la suite du
texte, cette expression est remplacée par ((validation)) qui est équivalent.
Le terme ((validation)) est employé ici dans un sens différent de celui qu'il a dans l'expression «validation de pro-
tocole».
ISO/CEI 9804 : 1990 (FI
d) durabitit6 : propriété d'un ensemble d'opérations
5 Conventions
liées d'après laquelle les effets des opérations ne
sont pas modifiés par une quelconque défaillance.
La présente Norme Internationale définit les services
CCR en suivant les conventions de description défi-
Dans le cas idéal, toutes ces propriétés d'action ato-
nies dans I'ISO/TR 8509.
mique sont maintenues par l'utilisateur de service
CCR. Cependant, le degré de réalisation de ces pro-
Dans l'article 7, la définition de chaque service CCR
priétés dépend du niveau de compabitilité avec les
comprend un tableau qui fournit la liste des paramè-
règles d'utilisation des primitives CCR (voir annexe
tres des primitives du service. Pour chaque primitive,
A) et des stratégies locales des utilisateurs de service
la présence de chaque paramètre est décrite par une
CCR.
des valeurs suivantes :
La prise de décisions heuristiques est un exemple de
blanc non applicable
la stratégie locale qui pourrait violer les propriétés
C conditionnel
d'une action atomique (voir 6.3). Les décisions heu-
M obligatoire ristiques ne garantissent pas l'atomicité d'une action
atomique. Un autre exemple est l'utilisation de méca-
U aux choix de l'utilisateur
nismes de concurrence qui autorisent que des états
intermédiaires de données liées soient visibles en
Dans ces tableaux, la notation (=) indique qu'une
dehors de l'action atomique.
valeur de paramètre est sémantiquement égale à
celle figurant à sa gauche dans le tableau.
6.1.1.2 Arbre d'action atomique
Les utilisateurs de service CCR qui participent à une
6 Concepts action atomique forment une relation qui a une struc-
ture en arbre. Dans la présente Norme internationale,
une telle relation est représentée par un arbre d'ac-
6.1 Utilisation de CCR dans un environnement
tion atomique (voir figure 1).
d'application répartie
Un arbre d'action atomique est constitué d'utilisa-
Les services CCR sont définis pour une association
teurs de service CCR et de branches d'action atomi-
unique. Ils ne concernent pas et ne traitent pas de
que.
l'organisation et de la topologie d'une application
répartie. Une spécification faisant référence à CCR est
Une invocation d'entité d'application peut représen-
toujours nécessaire pour coordonner l'utilisation de
ter un ou plusieurs utilisateurs de service CCR du
services CCR. Cependant, l'utilisation de services CCR
même ou de différents arbres d'action atomique.
exige de comprendre l'environnement d'application
répartie.
NOTE - Les branches d'action atomique entre des utilisa-
teurs de service CCR dans la même invocation d'entité d'ap-
6.1.1 Environnement d'une action atomique
plication sont en dehors du domaine d'application de la
présente Norme internationale.
6.1.1.1 Propriétés d'une action atomique
Une action atomique est un ensemble spécifique Une branche d'action atomique est la relation entre
d'opérations d'application répartie qui peut être deux utilisateurs de service CCR logiquement adja-
caractérisé par les propriétés suivantes : cents.
a) atomicité : propriété d'un ensemble d'opérations Un arbre d'action atomique est construit dynamique-
ment par la formation de ses branches. L'arbre d'ac-
liées d'après laquelle soit ces opérations sont tou-
tion atomique et ses branches ont une durée de vie
tes exécutées, soit aucune d'entre elles n'est exécu-
égale à celle de l'action atomique.
tée ;
b) cohérence : propriété d'un ensemble d'opéra-
Un arbre d'action atomique naît lorsque un utilisateur
tions liées d'après laquelle ces opérations sont exé-
de service CCR commence la première branche. Cet
cutées de manière exacte, correcte et valide, par
utilisateur de service CCR attribue à cette action ato-
rapport à la sémantique de l'application ;
mique un identificateur d'action atomique dont la
valeur l'identifie de façon unique dans l'environne-
c) isolation : propriété d'un ensemble d'opérations
ment OSI. Cette valeur est propagée dans toute I'ac-
liées d'après laquelle les résultats partiels de l'en-
tion atomique. Un utilisateur de service CCR l'utilise
semble des opérations ne sont pas accessibles sauf
pour maintenir des contrôles de concurrence. A la
par ces opérations. Cette définition implique que
suite d'une défaillance de la communication ou de
différents ensembles d'opérations liées ayant cette
l'application, il est utilisé pour coordonner la reprise
propriété et partageant des données liées soient
des branches interrompues de l'action atomique.
effectués en série ;
ISOICEI 9804 : 1990 (Fi
Figure 1 - Arbre d'action atomique
En se basant sur les besoins de la spécification fai- L'utilisateur de service CCR qui commence une bran-
sant référence à CCR, un utilisateur de service CCR che utilise l'identificateur d'action atomique appro-
peut introduire un autre utilisateur de service CCR prié. II attribue un identificateur de branche dont la
dans l'arbre d'action atomique. Ceci ajoute une nou- valeur est unique dans le domaine d'application de
velle branche à l'arbre d'action atomique.
l'action atomique. Cet identificateur de branche est
utilisé pour identifier une branche donnée d'un arbre
d'action atomique au cours d'une reprise faisant suite
En partant de n'importe quel utilisateur de service
à une défaillance de la communication ou de I'appli-
CCR, un arbre d'action atomique peut être ordonné
cati on.
de façon hiérarchique. Cet ordonnancement qui com-
mence avec l'utilisateur de service CCR qui a démarré
Une branche est prise en charge par une association.
l'action atomique définit le début de l'arbre de I'ac-
En cas de défaillance de la communication ou de I'ap-
tion atomique. La figure 1 montre un arbre d'action
plication, la branche peut subsister et continuer avec
atomique dans cet ordonnancement, démarré par
une autre association (voir 6.2.2.2).
l'utilisateur de service A. La flèche sur chaque bran-
che indique la direction dans laquelle elle a été
@
démarrée. 6.1.3 Données liées
Les opérations d'une action atomique mettent en jeu
A la suite d'une défaillance de la communication ou
des données spécifiques de l'utilisateur de service
de l'application, les facilités de reprise de CCR sont
CCR, déterminées par les besoins de la spécification
utilisées pour s'assurer que les procédures d'achève-
faisant référence à CCR. Pour la présente Norme
ment de branche sont correctement appliquées dans
internationale
...










Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...