← Back to Patent Explorer
US5452445A Expired / Lapsed US ⏱️ 0.0 years remaining

Two-pass multi-version read consistency

Assignee: Oracle International Corp
•
Filing: 1992-04-30
•
Granted: 1995-09-19
•
Expires: 2012-04-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention describes a method and apparatus that forces all parts of an update transaction to commit automatically using a two-phase commit. The present invention uses the two-phase commit messages to negotiate a system commit number (SCN) that is then recorded on each of the nodes as the logical point in time that the distributed transaction committed. The two-phase commit scheme of the present invention consists of a "prepare" phase and a "commit" phase. The transaction in the distributed database environment involves multiple participants (databases). In the prepare phase, one of the N database participants is selected as the "commit point." The commit point includes the log into which the information is written that states the transaction has committed. The remaining N-1 participants enter a "prepare phase." In the prepare phase, the prepare participants lock their databases and enter a state in which they are ready to roll back or commit to the transaction. The mid-point of the two-phase commit is the point at which the commit point database (nth participant) writes the commit transaction to its log. In the second phase, the remaining participants are informed to commit the transaction and release locks that have been set.

Inventors

  • 👤 Gary Hallmark
  • 👤 Roger Bamford

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 13:31
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/23; G06F16/2379; G06F16/27; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 155 words
A method for executing a distributed transaction in a distributed database having at least first and second databases comprising the steps of: generating a first system commit number associated with a first data block to be modified at said first database; generating a second system commit number associated with a second data block to be modified at said second database; comparing said first system commit number with said second system commit number; defining said first system commit number as a transaction system commit number if said first system commit number has a value greater than said second system commit number; defining said second system commit number as a transaction system commit number if said second system commit number has a value greater than said first system commit number; providing said transaction system commit number to said first database and said second database associated with said first block of data and said second block of data.
Claim 2
Independent Claim 155 words
A method for executing a distributed transaction in a distributed database having at least first and second databases comprising the steps of: generating a first system commit number associated with a first data block to be modified at said first database; generating a second system commit number associated with a second data block to be modified at said second database; comparing said first system commit number with said second system commit number; defining said first system commit number as a transaction system commit number if said first system commit number has a value greater than said second system commit number; defining said second system commit number as a transaction system commit number if said second system commit number has a value greater than said first system commit number; providing said transaction system commit number to said first database and said second database associated with said first block of data and said second block of data.
Claim 3
Dependent Claim 25 words
The method of claim 1 wherein said distributed transaction is executed in a two phase commit protocol having a prepare phase and a commit phase.
Claim 4
Dependent Claim 26 words
The method of claim 2 wherein said first system commit number and said second system commit number are associated with said prepare phase of said transaction.
Claim 5
Dependent Claim 20 words
The method of claim 3 wherein said transaction system commit number is associated with said commit phase of said transaction.
Claim 6
Dependent Claim 58 words
The method of claim 4 further including the steps of: initiating a read operation at said first database; assigning a read operation system commit number to said read operation; allowing said read operation to read a data block only when said read operation system commit number is greater than a system commit number associated with said data block.
Claim 7
Dependent Claim 58 words
The method of claim 5 wherein a system commit number associated with a prepare phase of a transaction is defined as T p , a system commit number associated with a commit phase of a transaction is defined as T c , and a system commit number associated with a read operation is defined as T s .
Claim 8
Dependent Claim 20 words
The method of claim 6 wherein a read operation cannot read a data block when T s <T p .
Claim 9
Dependent Claim 20 words
The method of claim 7 wherein a read operation waits when T s ≧T p and T c is unknown.
Claim 10
Dependent Claim 24 words
The method of claim 8 wherein a read operation reads a data block when T s ≧T p and T s ≧T c .
Claim 11
Dependent Claim 25 words
The method of claim 9 wherein a read operation cannot read a data block when T s ≧T p and T s <T c .
Claim 12
Independent Claim 237 words
An apparatus for executing a distributed transaction in a distributed database having at least first and second databases comprising: first system commit number generating means, said first system commit number generating means generating a first system commit number associated with a first data block to be modified at said first database; second system commit number generating means, said second system commit number generating means generating a second system commit number associated with a second data block to be modified at said second database; comparing means coupled to said first system commit number generating means and said second system commit number generating means, said comparing means comparing said first system commit number with said second system commit number; controlling means coupled to said comparing means, said controlling means selecting a value for a transaction system commit number equal to the value of said first system commit number if said first system commit number has a value greater than said second system commit number; said controlling means selecting a value for said transaction system commit number equal to the value of said second system commit number if said second system commit number has a value greater than said first system commit number; transmission means coupled to said controlling means, said transmission means providing said transaction system commit number to said first database and said second database associated with said first block of data and said second block of data.
Claim 13
Independent Claim 237 words
An apparatus for executing a distributed transaction in a distributed database having at least first and second databases comprising: first system commit number generating means, said first system commit number generating means generating a first system commit number associated with a first data block to be modified at said first database; second system commit number generating means, said second system commit number generating means generating a second system commit number associated with a second data block to be modified at said second database; comparing means coupled to said first system commit number generating means and said second system commit number generating means, said comparing means comparing said first system commit number with said second system commit number; controlling means coupled to said comparing means, said controlling means selecting a value for a transaction system commit number equal to the value of said first system commit number if said first system commit number has a value greater than said second system commit number; said controlling means selecting a value for said transaction system commit number equal to the value of said second system commit number if said second system commit number has a value greater than said first system commit number; transmission means coupled to said controlling means, said transmission means providing said transaction system commit number to said first database and said second database associated with said first block of data and said second block of data.
Claim 14
Dependent Claim 25 words
The apparatus of claim 11 wherein said distributed transaction is executed in a two phase commit protocol having a prepare phase and a commit phase.
Claim 15
Dependent Claim 26 words
The apparatus of claim 12 wherein said first system commit number and said second system commit number are associated with said prepare phase of said transaction.
Claim 16
Dependent Claim 20 words
The apparatus of claim 13 wherein said transaction system commit number is associated with said commit phase of said transaction.
Claim 17
Dependent Claim 98 words
The apparatus of claim 14 further including: initiating means, said initiating means initiating a read operation at said first database; said first system commit number generating means, said first system commit number generating a read operation system commit number to said read operation; said comparing means comparing said read operation system commit number to a system commit number associated with said first data block; said controlling means allowing said read operation to read said first data block only when said read operation system commit number is greater than said system commit number associated with said first data block.
Claim 18
Dependent Claim 58 words
The apparatus of claim 15 wherein a system commit number associated with a prepare phase of a transaction is defined as T p , a system commit number associated with a commit phase of a transaction is defined as T c , and a system commit number associated with a read operation is defined as T s .
Claim 19
Dependent Claim 20 words
The apparatus of claim 16 wherein a read operation cannot read a data block when T s <T p .
Claim 20
Dependent Claim 20 words
The apparatus of claim 17 wherein a read operation waits when T s ≧T p and T c is unknown.
Claim 21
Dependent Claim 24 words
The apparatus of claim 18 wherein a read operation reads a data block when T s ≧T p and T s ≧T c .
Claim 22
Dependent Claim 25 words
The apparatus of claim 19 wherein a read operation cannot read a data block when T s ≧T p and T s <T c .

References Cited (Backward Citations)

US5140689A Cited
EP0456492A2 Cited
EP0458564A2 Cited
US5212788A Cited
US5293627A Cited
US5280612A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-09-18 1999-03-20 1999-09-19 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-09-18 2003-03-20 2003-09-19 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-09-18 2007-03-20 2007-09-19 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag