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

Performing 2-phase commit with delayed forget

Assignee: Oracle International Corp
•
Filing: 1998-12-29
•
Granted: 2002-12-10
•
Expires: 2018-12-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for performing a two-phase commit of a transaction is provided. The mechanisms described herein perform a two-phase commit in a manner that reduces the number of messages transmitted between a coordinating database system and the participating database systems, and the number of log flushes performed to complete a two-phase commit. Once the coordinating database system determines that all participating database systems participating in a database transaction are prepared to commit, the coordinating database system commits the transaction on the coordinating database system. Forget requests are then transmitted to each of the participating database systems. Rather than waiting to receive a forget acknowledgment and performing other forget processing operations, the coordinating database system delegates this work to a forget collector. A commit acknowledgement may be sent to a user by the coordinating database system prior to receiving the forgot acknowledgements, and the user may proceed as if the whole transaction is committed on all database systems. When a participating database system receives a forget request for a transaction, the participating database system commits the transaction by generating a commit record in its log. Rather than flushing the log to make the commit persistent, and performing other forget processing operations, the participating database system hands off this work to a forget collector.

Inventors

  • 👤 Amit Ganesh
  • 👤 Gary C. Ngai

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 18:38
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/23; G06F16/2308; G06F16/2336; G06F16/2343; G06F16/2365; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 132 words
A method of providing atomicity for transactions executing on a database system, the method comprising the steps of: a first database system receiving a request to commit a first transaction, wherein said first transaction includes modifications to a second database system; determining whether said second database system is prepared to commit said first transaction; if said second database system is prepared to commit said first transaction, then: committing said first transaction on said first database system; transmitting to a first forget collector a request to complete forget processing of said first transaction on said first database system, said first forget collector being a process dedicated to completing forget processing on said first database system for one or more transactions; and said first forget collector completing said forget processing of said first transaction.
Claim 2
Independent Claim 132 words
A method of providing atomicity for transactions executing on a database system, the method comprising the steps of: a first database system receiving a request to commit a first transaction, wherein said first transaction includes modifications to a second database system; determining whether said second database system is prepared to commit said first transaction; if said second database system is prepared to commit said first transaction, then: committing said first transaction on said first database system; transmitting to a first forget collector a request to complete forget processing of said first transaction on said first database system, said first forget collector being a process dedicated to completing forget processing on said first database system for one or more transactions; and said first forget collector completing said forget processing of said first transaction.
Claim 3
Dependent Claim 35 words
The method of claim 1 , wherein the step of said first forget collector completing said forget processing includes releasing locks on resources locked on said second database system on behalf of said first transaction.
Claim 4
Dependent Claim 100 words
The method of claim 1 , wherein the method further includes the steps of: said first database system transmitting a forget request to said second database system; said second database system receiving said forget request; said second database system recording in a log a commit of said first transaction on said second database system without flushing said log; said second database system transmitting a request to a second forget collector to complete forget processing of said first transaction on said second database system; and said second forget collector completing forget processing of said first transaction on said second database system.
Claim 5
Dependent Claim 43 words
The method of claim 3 , wherein the step of said second forget collector completing forget processing of said first transaction on said second database system includes releasing locks on resources locked on said second database system on behalf of said first transaction.
Claim 6
Dependent Claim 55 words
The method of claim 4 , wherein the step of said first forget collector completing said forget processing of said first transaction includes: said first forget collector receiving said forget acknowledgement; and in response to receiving said forget acknowledgement, releasing locks on resources locked on said first database system on behalf of said first transaction.
Claim 7
Dependent Claim 65 words
The method of claim 3 , wherein: the step of completing said processing of said first transaction on said second database system includes detecting that said commit recorded in said log is persistent; and the method further includes the step of transmitting a forget acknowledgment to said first forget collector indicating that said commit is persistent in response to detecting that said commit is persistent.
Claim 8
Dependent Claim 142 words
The method of claim 3 , wherein the method further including the step of maintaining a log for said second database system; the step of said first forget collector completing said forget processing of said first transaction includes: receiving data indicating that a particular log record in said log has been stored to non-volatile storage device; determining whether a first log record recording the commit of said first transaction and a second log record recording the commit of a second transaction are both stored in non-volatile storage based on said data indicating that said particular log record has been stored in non-volatile storage; and if said first log record and said second log record are both stored in non-volatile storage, then transmitting a message to said first forget collector indicating that the commits of said first transaction and said second are persistent.
Claim 9
Dependent Claim 84 words
The method of claim 7 , wherein the method further includes the steps of: committing said first transaction on said first database system; storing commit data that indicates that said first transaction has committed, in a log used by said first database system; receiving a request to recover one or more modifications to data on said third database system, wherein said one or more modifications belong to said first transaction; and determining whether said first transaction has been committed based on said commit data.
Claim 10
Dependent Claim 27 words
The method of claim 8 , wherein the step of persistently recording commit data includes recording one or more participating database systems involved in said first transaction.
Claim 11
Dependent Claim 168 words
A computer-readable medium carrying one or more sequences of one or more instructions for providing atomicity for transactions executing on a database system, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: a first database system receiving a request to commit a first transaction, wherein said first transaction includes modifications to a second database system; determining whether said second database system is prepared to commit said first transaction; if said second database system is prepared to commit said first transaction, then: committing said first transaction on said first database system; transmitting to a first forget collector a request to complete forget processing of said first transaction on said first database system, said first forget collector being a process dedicated to completing forget processing on said first database system for one or more transactions; and said first forget collector completing said forget processing of said first transaction.
Claim 12
Dependent Claim 168 words
A computer-readable medium carrying one or more sequences of one or more instructions for providing atomicity for transactions executing on a database system, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: a first database system receiving a request to commit a first transaction, wherein said first transaction includes modifications to a second database system; determining whether said second database system is prepared to commit said first transaction; if said second database system is prepared to commit said first transaction, then: committing said first transaction on said first database system; transmitting to a first forget collector a request to complete forget processing of said first transaction on said first database system, said first forget collector being a process dedicated to completing forget processing on said first database system for one or more transactions; and said first forget collector completing said forget processing of said first transaction.
Claim 13
Dependent Claim 36 words
The computer-readable medium of claim 10 , wherein the step of said first forget collector completing said forget processing includes releasing locks on resources locked on said second database system on behalf of said first transaction.
Claim 14
Dependent Claim 107 words
The computer-readable medium of claim 10 , wherein the computer-readable medium further includes sequences of instructions for performing the steps of: said first database system transmitting a forget request to said second database system; said second database system receiving said forget request; said second database system recording in a log a commit of said first transaction on said second database system without flushing said log; said second database system transmitting a request to a second forget collector to complete forget processing of said first transaction on said second database system; and said second forget collector completing forget processing of said first transaction on said second database system.
Claim 15
Dependent Claim 149 words
The computer-readable medium of claim 12 , wherein the computer-readable medium further including sequences of instructions for performing the step of maintaining a log for said second database system; the step of said first forget collector completing said forget processing of said first transaction includes: receiving data indicating that a particular log record in said log has been stored to non-volatile storage device; determining whether a first log record recording the commit of said first transaction and a second log record recording the commit of a second transaction are both stored in non-volatile storage based on said data indicating that said particular log record has been stored in non-volatile storage; and if said first log record and said second log record are both stored in nonvolatile storage, then transmitting a message to said first forget collector indicating that the commits of said first transaction and said second are persistent.
Claim 16
Dependent Claim 86 words
The computer-readable medium of claim 13 , wherein the computer-readable medium further includes the steps of: committing said first transaction on said first database system; storing commit data that indicates that said first transaction has committed, in a log used by said first database system; receiving a request to recover one or more modifications to data on said third database system, wherein said one or more modifications belong to said first transaction; and determining whether said first transaction has been committed based on said commit data.
Claim 17
Dependent Claim 28 words
The computer-readable medium of claim 14 , wherein the step of persistently recording commit data includes recording one or more participating database systems involved in said first transaction.
Claim 18
Dependent Claim 72 words
The computer-readable medium of claim 12 , wherein: the step of completing said processing of said first transaction on said second database system includes detecting that said commit recorded in said log is persistent; and the computer-readable medium further includes sequences of instructions for performing the step of transmitting a forget acknowledgment to said first forget collector indicating that said commit is persistent in response to detecting that said commit is persistent.
Claim 19
Dependent Claim 44 words
The computer-readable medium of claim 12 , wherein the step of said second forget collector completing forget processing of said first transaction on said second database system includes releasing locks on resources locked on said second database system on behalf of said first transaction.
Claim 20
Dependent Claim 56 words
The computer-readable medium of claim 17 , wherein the step of said first forget collector completing said forget processing of said first transaction includes: said first forget collector receiving said forget acknowledgement; and in response to receiving said forget acknowledgement, releasing locks on resources locked on said first database system on behalf of said first transaction.
Claim 21
Independent Claim 134 words
A method of providing atomicity for transactions executing on a database system, the method comprising the steps of: for each transaction of said transactions, performing the steps of: a first process on a first database system receiving a request to commit said each transaction, wherein said each transaction includes modifications to another database system; determining whether said other database system is prepared to commit said each transaction; if said other database system is prepared to commit said each transaction, then: committing said each transaction on said first database system; transmitting to a first forget collector a request to complete forget processing of said each transaction on said first database system; said first forget collector completing forget processing for said transactions; and wherein said first forget collector is a process different than said first process.
Claim 22
Independent Claim 134 words
A method of providing atomicity for transactions executing on a database system, the method comprising the steps of: for each transaction of said transactions, performing the steps of: a first process on a first database system receiving a request to commit said each transaction, wherein said each transaction includes modifications to another database system; determining whether said other database system is prepared to commit said each transaction; if said other database system is prepared to commit said each transaction, then: committing said each transaction on said first database system; transmitting to a first forget collector a request to complete forget processing of said each transaction on said first database system; said first forget collector completing forget processing for said transactions; and wherein said first forget collector is a process different than said first process.
Claim 23
Dependent Claim 78 words
The method of claim 19 , wherein the steps further include: for each transaction of another set of transactions executed by a second process on said first database system, said first database system transmitting to said first forget collector a request to complete forget processing of said each transaction of said other set of transactions; wherein said second process is a process different than said forget collector; and said first forget collector completing said other set of transactions.
Claim 24
Dependent Claim 79 words
The computer-readable medium of claim 19 , wherein the steps further include: for each transaction of another set of transactions executed by a second process on said first database system, said first database system transmitting to said first forget collector a request to complete forget processing of said each transaction of said other set of transactions; wherein said second process is a process different than said forget collector; and said first forget collector completing said other set of transactions.
Claim 25
Dependent Claim 170 words
A computer-readable medium carrying one or more sequences of one or more instructions for providing atomicity for transactions executing on a database system, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: for each transaction of said transactions, performing the steps of: a first process on a first database system receiving a request to commit said each transaction, wherein said each transaction includes modifications to another database system; determining whether said other database system is prepared to commit said each transaction; if said other database system is prepared to commit said each transaction, then: committing said each transaction on said first database system; transmitting to a first forget collector a request to complete forget processing of said each transaction on said first database system; said first forget collector completing forget processing for said transactions; and wherein said first forget collector is a process different than said first process.
Claim 26
Dependent Claim 170 words
A computer-readable medium carrying one or more sequences of one or more instructions for providing atomicity for transactions executing on a database system, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: for each transaction of said transactions, performing the steps of: a first process on a first database system receiving a request to commit said each transaction, wherein said each transaction includes modifications to another database system; determining whether said other database system is prepared to commit said each transaction; if said other database system is prepared to commit said each transaction, then: committing said each transaction on said first database system; transmitting to a first forget collector a request to complete forget processing of said each transaction on said first database system; said first forget collector completing forget processing for said transactions; and wherein said first forget collector is a process different than said first process.

References Cited (Backward Citations)

US5432926A Cited
US6202079B1 Cited
US6021443A Cited
US5884327A Cited
US6049809A Cited
US6101527A Cited
US6105147A Cited
US6182080B1 Cited
US6247023B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-12-09 2006-06-10 2006-12-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-12-09 2010-06-10 2010-12-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-12-09 2014-06-10 2014-12-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag