This is the part of the ISO Common Applications Service Elements which
provides some of the functionality outlined above.
[Ref ISO 8649 and ISO 8650 part 3].
In the ISO standardization work on Job Transfer and Manipulation protocols, a
requirement for application support for synchronization, consistency and
commitment was realized. Since the OSI model (see chapter 6) is designed
to avoid duplicate functionality, and the Standards bodies decided that these
features should be available to other applications too, they form a separate
standard. CCR is now available for the ISO File Transfer, Access and Management
(FTAM) protocol as well.
CCR is designed to handle end system crashes during critical operations, and
loss of network connectivity between one update and another.
CCR allows the applications programmer to build a tree of processes/activities.
The top of the tree is some master, and lower down are sub-ordinates.
This is called the ;SPM_quot;Atomic Action Tree;SPM_quot;.
Just as we have described above, the protocol CCR defines follows the normal
Note that one a superior has issued a C-Begin, it must eventually complete or
rollback. This ensures that the sub-ordinate always (eventually) frees the
concurrency controls (and therefore allows other clients/superiors to access
CCR contains the amusing concept of ;SPM_quot;Heuristic Commitment and Rollback;SPM_quot;. This
facility allows sub-ordinates to decide to commit or rollback after losing
contact with a superior (say after sending it a C-Ready), based on <#686#>
CCR contains part of the ideas of timing out atomic actions (and locks/deadlock
arising from them) by defining a ;SPM_quot;period of use;SPM_quot; for any data item.
CCR also includes the notion of nested atomic actions. One action can be
;SPM_quot;wrapped;SPM_quot; around others (just as a single simple action is made out of some
number of non-atomic operations).
A superior issues a C-Begin to start an Atomic action.
Actual data starts to be exchanged, and
(locally specific) concurrency control mechanisms are used.
The superior issues a C-Prepare primitive indicating that it has finished
the set of operations that make up this Action.
The sub-ordinate issues a C-Ready indicating that it can now ensure either
commitment to this action, or rollback.
The superior issues a C-Commit or a C-Rollback
The sub-ordinate acknowledges the C-Commit or C-Rollback having released all