Patent US5956731A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5956731A Expired / Lapsed US ⏱️ 0.0 years remaining

Sharing snapshots for consistent reads

Assignee: Oracle International Corp
•
Filing: 1997-04-23
•
Granted: 1999-09-21
•
Expires: 2017-04-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for supplying data from a database to a group of transactions is provided. A value is maintained for the group of transactions. The value indicates a target snapshot of the database. When a transaction within the group of transactions accesses a data item, it is determined whether the transaction can use the target snapshot. If the transaction can use the target snapshot, then the transaction is supplied a version of the data item that belongs to the target snapshot. If the transaction cannot use the target snapshot, then the transaction is supplied a version of the data item other than the version of the data item that belongs to the target snapshot. Trying to supply data from the same snapshot to all of the transactions in the group increases the likelihood that the transactions will be able to use the same version of any given data item. Consequently, fewer reconstruction operations will have to be performed, and dynamic memory is less likely to become filled with different versions of the same data items.

Inventors

  • 👤 Roger Bamford
  • 👤 Boris Klots
  • 👤 Garret Swart

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 17:07
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/466; G06F16/00; G06F16/20; G06F16/23; G06F16/2308; G06F16/2315; G06F16/2329; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99938; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 123 words
A method for supplying data from a database to a group of independently executing transactions, the method comprising the steps of: maintaining for the group of independently executing transactions a value that indicates a target snapshot of the database; when a transaction within the group of independently executing transactions accesses a data item, performing the steps of determining whether the transaction can use the target snapshot; if the transaction can use the target snapshot, then supplying the transaction a version of the data item that belongs to the target snapshot; and if the transaction cannot use the target snapshot, then supplying the transaction a version of the data item other than the version of the data item that belongs to the target snapshot.
Claim 2
Independent Claim 123 words
A method for supplying data from a database to a group of independently executing transactions, the method comprising the steps of: maintaining for the group of independently executing transactions a value that indicates a target snapshot of the database; when a transaction within the group of independently executing transactions accesses a data item, performing the steps of determining whether the transaction can use the target snapshot; if the transaction can use the target snapshot, then supplying the transaction a version of the data item that belongs to the target snapshot; and if the transaction cannot use the target snapshot, then supplying the transaction a version of the data item other than the version of the data item that belongs to the target snapshot.
Claim 3
Dependent Claim 45 words
The method of claim 1 wherein the step of determining whether the transaction can use the target snapshot includes the step of determining whether the transaction has been supplied data that was updated by a committed transaction that is not included in the target snapshot.
Claim 4
Dependent Claim 70 words
The method of claim 2 wherein the step of determining whether the transaction has been supplied data that was updated by a committed transaction that is not included in the target snapshot includes the step of: determining a commit time associated with the target snapshot; determining whether the transaction has been supplied data that was updated by a transaction that committed after the commit time associated with the target snapshot.
Claim 5
Dependent Claim 102 words
The method of claim 3 wherein the step of determining whether the transaction has been supplied data that was updated by a transaction that committed after the commit time associated with the target snapshot includes the step of: maintaining a MUST-SEE value associated with the transaction; when the transaction is supplied a version of data, updating the MUST-SEE value to reflect the greater of the MUST-SEE value and the commit time of the latest committed transaction that updated the version of the data item; and comparing the MUST-SEE value associated with the transaction to the commit time associated with the target snapshot.
Claim 6
Dependent Claim 83 words
The method of claim 1 wherein: the method further comprises the steps of executing a plurality of database instances; all transactions in the group of transactions are connected to a particular database instance of said plurality of database instances; and the step of maintaining for the group of transactions a value that indicates a target snapshot of the database includes the step of maintaining for all transactions connected to said particular database instance a value that indicates a target snapshot of the database.
Claim 7
Dependent Claim 63 words
The method of claim 4 further comprising the steps of: if the MUST-SEE value associated with the transaction is less than the commit time associated with the target snapshot, then supplying the transaction a version of the data item that belongs to the target snapshot; and setting the MUST-SEE value associated with the transaction to the commit time associated with the target snapshot.
Claim 8
Dependent Claim 27 words
The method of claim 1 further comprising the step of updating the target snapshot to include updates made by all transactions that committed before a predetermined time.
Claim 9
Dependent Claim 19 words
The method of claim 7 wherein the step of updating the target snapshot is performed on a periodic basis.
Claim 10
Dependent Claim 20 words
The method of claim 8 wherein the predetermined time is a predetermined amount of time prior to a current time.
Claim 11
Independent Claim 199 words
A method for supplying data to a group of transactions, the method comprising the steps of: maintaining a group MUST-SEE value associated with the group of transactions; maintaining a MUST-SEE value for each transaction in the group of transactions; when a transaction in the group of transactions accesses a data item, performing the steps of setting the MUST-SEE value of the transaction to the greater of the group MUST-SEE value and the MUST-SEE value of the transaction; comparing the MUST-SEE value of the transaction with commit times of transactions in an EXCLUDE SET associated with a first version of the data item; if the MUST-SEE value of the transaction is less than the commit times of transactions in the EXCLUDE SET associated with the first version of the data item, then supplying the transaction the first version of the data item; if the MUST-SEE value of the transaction is not less than the commit times of transactions in the EXCLUDE SET associated with the first version of the data item, then supplying the transaction a second version of the data item, where the second version of the data item is different from the first version of the data item.
Claim 12
Independent Claim 199 words
A method for supplying data to a group of transactions, the method comprising the steps of: maintaining a group MUST-SEE value associated with the group of transactions; maintaining a MUST-SEE value for each transaction in the group of transactions; when a transaction in the group of transactions accesses a data item, performing the steps of setting the MUST-SEE value of the transaction to the greater of the group MUST-SEE value and the MUST-SEE value of the transaction; comparing the MUST-SEE value of the transaction with commit times of transactions in an EXCLUDE SET associated with a first version of the data item; if the MUST-SEE value of the transaction is less than the commit times of transactions in the EXCLUDE SET associated with the first version of the data item, then supplying the transaction the first version of the data item; if the MUST-SEE value of the transaction is not less than the commit times of transactions in the EXCLUDE SET associated with the first version of the data item, then supplying the transaction a second version of the data item, where the second version of the data item is different from the first version of the data item.
Claim 13
Dependent Claim 42 words
The method of claim 10 further comprising the step of, after the transaction commits, setting an INCLUDE value associated with the first version of the data item to a commit time assigned to the transaction if the transaction updates the data item.
Claim 14
Dependent Claim 16 words
The method of claim 10 further comprising the step of periodically updating the group MUST-SEE value.
Claim 15
Dependent Claim 144 words
A computer readable medium having stored thereon sequences of instructions for supplying data from a database to a group of transactions, the sequences of instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: maintaining for the group of transactions a value that indicates a target snapshot of the database; when a transaction within the group of transactions accesses a data item, performing the steps of determining whether the transaction can use the target snapshot; if the transaction can use the target snapshot, then supplying the transaction a version of the data item that belongs to the target snapshot; and if the transaction cannot use the target snapshot, then supplying the transaction a version of the data item other than the version of the data item that belongs to the target snapshot.
Claim 16
Dependent Claim 144 words
A computer readable medium having stored thereon sequences of instructions for supplying data from a database to a group of transactions, the sequences of instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: maintaining for the group of transactions a value that indicates a target snapshot of the database; when a transaction within the group of transactions accesses a data item, performing the steps of determining whether the transaction can use the target snapshot; if the transaction can use the target snapshot, then supplying the transaction a version of the data item that belongs to the target snapshot; and if the transaction cannot use the target snapshot, then supplying the transaction a version of the data item other than the version of the data item that belongs to the target snapshot.
Claim 17
Dependent Claim 47 words
The computer readable medium of claim 13 wherein the step of determining whether the transaction can use the target snapshot includes the step of determining whether the transaction has been supplied data that was updated by a committed transaction that is not included in the target snapshot.
Claim 18
Dependent Claim 72 words
The computer readable medium of claim 14 wherein the step of determining whether the transaction has been supplied data that was updated by a committed transaction that is not included in the target snapshot includes the step of: determining a commit time associated with the target snapshot; determining whether the transaction has been supplied data that was updated by a transaction that committed after the commit time associated with the target snapshot.
Claim 19
Dependent Claim 104 words
The computer readable medium of claim 15 wherein the step of determining whether the transaction has been supplied data that was updated by a transaction that committed after the commit time associated with the target snapshot includes the step of: maintaining a MUST-SEE value associated with the transaction; when the transaction is supplied a version of data, updating the MUST-SEE value to reflect the greater of the MUST-SEE value and the commit time of the latest committed transaction that updated the version of the data item; and comparing the MUST-SEE value associated with the transaction to the commit time associated with the target snapshot.
Claim 20
Dependent Claim 72 words
The computer readable medium of claim 13 wherein: all transactions in the group of transactions are connected to a particular database instance of a plurality of database instances; and the step of maintaining for the group of transactions a value that indicates a target snapshot of the database includes the step of maintaining for all transactions connected to said particular database instance a value that indicates a target snapshot of the database.
Claim 21
Dependent Claim 73 words
The computer readable medium of claim 16 wherein the sequences of instructions further comprise instructions for performing the steps of: if the MUST-SEE value associated with the transaction is less than the commit time associated with the target snapshot, then supplying the transaction a version of the data item that belongs to the target snapshot; and setting the MUST-SEE value associated with the transaction to the commit time associated with the target snapshot.
Claim 22
Dependent Claim 37 words
The computer readable medium of claim 13 wherein the sequences of instructions further comprise instructions for performing the step of updating the target snapshot to include updates made by all transactions that committed before a predetermined time.
Claim 23
Dependent Claim 22 words
The computer readable medium of claim 19 wherein the predetermined time is a predetermined amount of time prior to a current time.

References Cited (Backward Citations)

US5317731A Cited
US5280612A Cited
US5452445A Cited
US5553279A Cited
US5613113A Cited
US5758149A Cited
US5870758A Cited
US5873098A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag