A transaction that involves a number of servers: for example, a banking transaction which requires account details to be updated at a server located at the bank's headquarters and a server at one of the bank's branches. There are potentially a number of problems with such transactions. For example, the time at one server may be different from the time at another server, and some parts of the transaction may need to be carried out before other parts. Also one or more of the servers may fail to carry out its part in the transaction so that the transaction may have to be returned to its initial state. The management and administration of transactions is carried out using a program known as a transaction processing monitor.