A method and system for backing up primary nodes onto backup nodes where
the primary nodes can each originate a distributed transaction and can
participate in a distributed transaction. The backup nodes, after a
primary node failure, undo all transactions whose state is unknown on the
backup node and all committed transactions which, if kept, would lead to
an inconsistent set of backup nodes. First, committed transactions are
undone if commits for them were not received on all back up nodes to the
primary nodes that participated in the transaction. Second, all committed
transactions that potentially depend on the committed transactions that
were undone are also undone. Only those transactions that are provably
independent of the committed transactions that were undone are kept. The
result is a set of back up nodes which can support operations until the
failing primary node is restored.
Um método e um sistema para suportar acima dos nós preliminares nos nós backup onde os nós preliminares enlatam cada um originam uma transação distribuída e podem participar em uma transação distribuída. Os nós backup, após uma falha preliminar do nó, undo todas as transações cujo o estado é desconhecido em nó backup e em todas as transações cometidas que, se mantidos, conduziriam a um jogo inconsistent de nós backup. Primeiramente, as transações cometidas undone se cometer para elas não forem recebidos em todos os nós alternativos aos nós preliminares que participaram na transação. Em segundo, todas as transações cometidas que dependem potencial das transações cometidas que undone undone também. Somente aquelas transações que são provably independent das transações cometidas que undone são mantidas. O resultado é um jogo dos nós alternativos que podem suportar operações até que o nó preliminar de falha esteja restaurado.