With the 2PC protocol, a task is one invocation of an IMS transaction, and each task can update multiple database management systems (DBMSs).
The processing example in the figure below depicts such a task. The IMS task establishes sessions on the appropriate DBMSs and issues the updates.
A set of updates, such as Updates 1A, 1B, and 1C in the figure, will take the multiple databases from one state to another (in this case, from the initial state to State 1).
The set of updates is referred to as a logical unit of work. After each logical unit of work is completed, there is a “commit” or “rollback” action.
If a failure occurs so that a logical unit of work cannot be completed, the logical unit of work becomes a unit of recovery. The data can be recovered only back to the last completed logical unit of work.