×

Multiple version database concurrency control system

  • US 5,280,612 A
  • Filed: 11/26/1991
  • Issued: 01/18/1994
  • Est. Priority Date: 11/26/1991
  • Status: Expired due to Fees
First Claim
Patent Images

1. In a computer-implemented concurrent transaction and readonly query processing system in which a plurality N of versions of a database are maintained during a present version period (v), said database including a plurality of data records that are updated by said transactions and read by said queries, a plurality of versions of each of said plurality of data records being distributed among said database versions, each said database version (i) consisting essentially of said data records existing at the beginning of the corresponding said version period (i), each said version period (i) being the time interval between one said database version (i) and the next subsequent said database version (i+1), said database versions including a present database version (v), a present stable database version (v-1) and an oldest database version (v-N+1), wherein N is a positive integer greater than 2, a method for concurrency control comprising the unordered steps of:

  • (a) maintaining a dynamic Uncommitted List (UL) of all said transactions that are uncommitted;

    (b) maintaining for said present database version (v) a present version (v) of a Non-Stable and Uncommitted List (NSUL) of all said transactions that are either uncommitted or were committed no earlier than during said present version period(v);

    directing all said read-only queries that arrive during said present version period (v) to said data records in said present stable database version (v-1); and

    (d) refreshing said present database version (v) by performing the steps of(d.1) setting a refresh time t after all said read-only queries that arrived during said oldest version period (v-N+2) are terminated,(d.2) creating a new version (v+1) of said database containing said data records existing at said refresh time t,(d.3) creating a new version (v+1) of said NSUL containing said transactions listed at said refresh time t in said dynamic UL, and(d.4) initiating a new version period (v+1) at said refresh time t by assigning said present database version (v) to be the new present stable database version (v), whereby database atomicity is maintained buy using said present stable database version (v) for subsequent read-only query processing without lock conflict or transaction rollback.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×