A process group resource manager for managing protected resources during
transaction processing is disclosed. The process group resource manager
comprises a first process configured to provide access to a protected
resource during one or more transactions, the first process being further
configured to construct a transaction record for each respective
transaction, wherein each transaction record includes each request
message received by the first process and each response message sent by
the first process during a particular transaction. The process group
resource manager further comprises a second process configured to
serially replay the transactions in which the first process participates,
the second process being configured to cause a particular transaction to
rollback if the replay of that transaction does not match the transaction
record constructed by the first process for that transaction. The process
group resource manager also comprises a third process configured to store
a durable image of the third process for use in reconstructing either the
first process or the second process.