×

Guaranteeing global serializability by applying commitment ordering selectively to global transactions

  • US 5,504,899 A
  • Filed: 12/02/1994
  • Issued: 04/02/1996
  • Est. Priority Date: 10/17/1991
  • Status: Expired due to Term
First Claim
Patent Images

1. A computer-implemented method of processing global transactions that are distributed across a computing system and local transactions that are not distributed across the computing system, said method comprising the steps of:

  • a) preparing results of said local and global transactions under the control of a resource manager that insures serializability of a local schedule of said local transactions;

    b) checking for memory access conflicts among said local and global transactions, not all of said local and global transactions having memory access conflicts, and when said checking for memory access conflicts finds that one of said local and global transactions has a first operation that conflicts with a second operation in another one of said local and global transactions, recording in memory of said computing system an order of performance for the transactions having the first conflicting operation and the second conflicting operation;

    c) after a plurality of said global transactions which conflict with each other have prepared results that are ready to be committed, selecting an abort set of transactions for a selected one of said plurality of said global transactions which conflict with each other and have prepared results that are ready to be committed, said abort set being selected based on said order of performance having been recorded in said memory and being selected so that(1) each uncommitted global transaction excluded from said abort set other than the selected global transaction would not conflict directly or indirectly with the selected global transaction after aborting all transactions in said abort set, and(2) each transaction for which preparation of results has begun that is not yet ready to be committed and that is excluded from said abort set would not conflict directly or indirectly with the selected global transaction after aborting all transactions in said abort set,whereby said order of performance having been recorded in said memory is consistent with the committing of the selected global transaction and commitment at a later time of global transactions that are excluded from the abort set, andwherein said abort set includes at least one global transaction which conflicts indirectly with the selected global transaction via at least one local transaction conflicting with each of said selected global transaction and said at least one global transaction such that commitment of said at least one global transaction after commitment of the selected global transaction would be inconsistent with said order of performance having been recorded in said memory; and

    d) committing to memory state of said computing system prepared results of said selected global transaction, and aborting prepared results of said transactions in said abort set.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×