Commitment, Concurrency and Recovery Service Elements (CCR or CCRSE)

This provides mechanism for coordinating dialogues between various application entities, where the entire set of dialogues is to be viewed as an atomic action.

Either the entire atomic action proceeds to completion, or it is abandoned, with no trace of its existence remaining.

To best explain how CCR works, and indeed to give an indication as to what practical applications it has, we will use an example.

Consider a distributed database which we wish to update. A single transaction may result in an update to records in several different physical locations. In this example it is clear that we want to be sure all the records are updated, before we deem the transaction complete.

It was for situations of this type that CCR was devised. The set of updates in the database may be regarded as an atomic action. The controlled completion of an atomic action is achieved in CCR by means of a two stage commitment procedure. That is to say that once each entity has completed its part of the transaction it indicates this to a controlling entity, but the updates are not applied until the controlling entity indicates that it is ready. It will do this when all entities have indicated they have completed their tasks.

CCR has what are referred to as 'ACID' properties. In fact CCR does not actually offer any concurrency mechanism.{9804 Annex C.4 - 'the preservation of the atomic action requires that the implementation considers concurrency.'}

Please click below to learn more about CCR.

The CCR management philosophy

Stages in CCR

CCR service primitives

One final point

The view is held that, how the offer of commitment is to be interpreted is noting to do with CCR, and therefore should not be a specific CCR parameter. Any implied degree of commitment is now conveyed as user data, and is for the service user to worry about.

I hope you enjoyed your tour through the wonderful world of Commitment, Concurrency and Recovery Service Elements. Do come again, and take a friend!