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

Processing in parallel units of work that perform DML operations on the same spanning rows

Assignee: Oracle International Corp
•
Filing: 2001-01-25
•
Granted: 2005-11-01
•
Expires: 2021-01-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A mechanism is described for constructing work granules, where the work granules are constructed independently of whether two or more of the work granules are assigned to operate on a logical storage unit that contains a portion of the same row. A database system maintains transaction control data for data blocks in a manner that avoids self-deadlocks for slaves that follow a row collision protocol. A row collision protocol is a set of rules or steps that slaves follow to ensure that only one subtransaction in a distributed transaction updates a spanning row. Thus, for a particular spanning row, a single subtransaction modifies all the row pieces of the spanning row in any data block containing any row pieces of the spanning row. Consequently, a given data block may be affected by multiple subtransactions in a distributed transaction, one subtransaction affecting a row piece in the data block, another subtransaction affecting other rows in the data block.

Inventors

  • 👤 Rosanne Park Toohey
  • 👤 Jonathan D. Klein
  • 👤 Amit Ganesh
  • 👤 Gary C. Ngai
  • 👤 Dmitry Mikhailovich Potapov

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 16:22
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2453; G06F16/24532; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99942; Y10S707/99944

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 198 words
A computer implemented method of modifying data in a database system, the method comprising the steps of: constructing work granules that manipulate rows in a manner that groups the rows within said work granules according to logical storage units that contain the rows; and during execution by an entity of a particular work granule that involves manipulation operations for rows in a logical storage unit: causing said entity to perform said manipulation operation for rows completely contained in said logical storage unit; determining that a set of spanning rows that are partially contained in said logical storage unit satisfy a particular condition that relates to which portion of each spanning row of said set of spanning rows resides in said logical storage unit; and causing said entity to perform said manipulation operations for all pieces of all spanning rows in said set of spanning rows based on the step of determining, and wherein said work granules are executed as part of a transaction that includes a first subtransaction and a second subtransaction, wherein a first work granule is executed as part of said first subtransaction and a second work granule is executed as part of said second subtransaction.
Claim 2
Dependent Claim 198 words
A computer implemented method of modifying data in a database system, the method comprising the steps of: constructing work granules that manipulate rows in a manner that groups the rows within said work granules according to logical storage units that contain the rows; and during execution by an entity of a particular work granule that involves manipulation operations for rows in a logical storage unit: causing said entity to perform said manipulation operation for rows completely contained in said logical storage unit; determining that a set of spanning rows that are partially contained in said logical storage unit satisfy a particular condition that relates to which portion of each spanning row of said set of spanning rows resides in said logical storage unit; and causing said entity to perform said manipulation operations for all pieces of all spanning rows in said set of spanning rows based on the step of determining, and wherein said work granules are executed as part of a transaction that includes a first subtransaction and a second subtransaction, wherein a first work granule is executed as part of said first subtransaction and a second work granule is executed as part of said second subtransaction.
Claim 3
Dependent Claim 24 words
The method of claim 1 , wherein said particular condition is that each spanning row in said set start in said logical storage unit.
Claim 4
Dependent Claim 125 words
The method of claim 1 , wherein: the first work granule involves manipulation operations for a first logical storage unit that includes a portion of a row; the second work granule involves manipulation operations for a second logical storage unit that also includes another portion of said row; the method further includes: during execution of said first work granule, determining that said row satisfies said particular condition, and in response to determining that said row satisfies said particular condition, performing a manipulation operation for said row; and during execution of said second work granule, determining that said row does not satisfy said particular condition, and in response to determining that said row does not satisfy said particular condition, foregoing any manipulation operation for said row.
Claim 5
Dependent Claim 66 words
The method of claim 1 , wherein said first work granule involves manipulation operations for a first logical storage unit that includes a portion of a row; said second work granule involves manipulation operations for a second logical storage unit that also includes another portion of said row; and the method further includes executing a manipulation operation for said row as part of said first subtransaction.
Claim 6
Dependent Claim 62 words
The method of claim 4 , wherein said first logical storage unit contains a first transaction list with a first entry, wherein said second logical storage unit contains a second transaction list with a second entry, wherein said step of executing a manipulation operation for said row includes assigning ownership of said first entry and said second entry to said first subtransaction.
Claim 7
Dependent Claim 20 words
The method of claim 1 , wherein said particular logical storage unit includes a data block in said database system.
Claim 8
Independent Claim 161 words
A method of inserting rows into logical storage units that store information in a database system, the method comprising the steps of: inserting a first row piece of a spanning row into a first logical storage unit of said logical storage units; wherein a certain data structure in each logical storage unit of said logical storage units is used to identify interested transactions and is not used to store any row of said each logical storage unit; prior to inserting a second row piece of said spanning row into a second logical storage unit, determining whether one or more criteria is satisfied, wherein said one or more criteria include that said second logical storage unit has enough space allocated to allow the respective certain data structure to identify at least a threshold number of interested transactions; and inserting said second row piece of said spanning row into said second logical storage unit only when said one or more criteria are satisfied.
Claim 9
Independent Claim 161 words
A method of inserting rows into logical storage units that store information in a database system, the method comprising the steps of: inserting a first row piece of a spanning row into a first logical storage unit of said logical storage units; wherein a certain data structure in each logical storage unit of said logical storage units is used to identify interested transactions and is not used to store any row of said each logical storage unit; prior to inserting a second row piece of said spanning row into a second logical storage unit, determining whether one or more criteria is satisfied, wherein said one or more criteria include that said second logical storage unit has enough space allocated to allow the respective certain data structure to identify at least a threshold number of interested transactions; and inserting said second row piece of said spanning row into said second logical storage unit only when said one or more criteria are satisfied.
Claim 10
Dependent Claim 30 words
The method of claim 7 , wherein said certain data structure is a transaction list with entries, wherein each entry of said entries may be owned by an interested transaction.
Claim 11
Dependent Claim 29 words
The method of claim 7 , wherein said one or more criteria include that said second row piece be the second or greater row piece in said spanning row.
Claim 12
Dependent Claim 35 words
The method of claim 7 , wherein said threshold number is greater than the sum of the quantity of overflow row pieces stored in said second logical storage unit after inserting said second row piece.
Claim 13
Dependent Claim 218 words
A computer-readable medium carrying one or more sequences of instructions for modifying data in a database system, wherein execution of the one or more sequences of instruction by one or more processors to perform the steps of: constructing work granules that manipulate rows in a manner that groups the rows within said work granules according to logical storage units that contain the rows; and during execution by an entity of a particular work granule that involves manipulation operations for rows in a logical storage unit: causing said entity to perform said manipulation operations for rows completely contained in said logical storage unit; determining that a set of spanning rows that are partially contained in said logical storage unit satisfy a particular condition that relates to which portion of each spanning row of said set of spanning rows resides in said logical storage unit; and causing said entity to perform said manipulation operations for all pieces of all spanning rows in said set of spanning rows based on the step of determining, and wherein said work granules are executed as apart of a transaction that incudes a first subtransaction and a second substransaction, wherein a first work granule is executed as part of said first subtransaction and a second work granule is executed as part of said second subtransaction.
Claim 14
Dependent Claim 218 words
A computer-readable medium carrying one or more sequences of instructions for modifying data in a database system, wherein execution of the one or more sequences of instruction by one or more processors to perform the steps of: constructing work granules that manipulate rows in a manner that groups the rows within said work granules according to logical storage units that contain the rows; and during execution by an entity of a particular work granule that involves manipulation operations for rows in a logical storage unit: causing said entity to perform said manipulation operations for rows completely contained in said logical storage unit; determining that a set of spanning rows that are partially contained in said logical storage unit satisfy a particular condition that relates to which portion of each spanning row of said set of spanning rows resides in said logical storage unit; and causing said entity to perform said manipulation operations for all pieces of all spanning rows in said set of spanning rows based on the step of determining, and wherein said work granules are executed as apart of a transaction that incudes a first subtransaction and a second substransaction, wherein a first work granule is executed as part of said first subtransaction and a second work granule is executed as part of said second subtransaction.
Claim 15
Dependent Claim 25 words
The computer-readable media of claim 11 , wherein said particular condition is that each spanning row in said set start in said logical storage unit.
Claim 16
Dependent Claim 130 words
The computer-readable media of claim 11 , wherein: the first work granule involves manipulation operations for a first logical storage unit that includes a portion of a row; the second work granule involves manipulation operations for a second logical storage unit that also includes another portion of said row; the computer-readable media further includes instructions for performing: during execution of said first work granule, determining that said row satisfies said particular condition, and in response to determining that said row satisfies said particular condition, performing a manipulation operation for said row; and during execution of said second work granule, determining that said row does not satisfy said particular condition, and in response to determining that said row does not satisfy said particular condition, foregoing any manipulation operation for said row.
Claim 17
Dependent Claim 70 words
The computer-readable media of claim 11 , wherein said first work granule involves manipulation operations for a first logical storage unit that includes a portion of a row; said second work granule involves manipulation operations for a second logical storage unit that also includes another portion of said row; and the computer-readable media further includes instructions for executing a manipulation operation for said row as part of said first subtransaction.
Claim 18
Dependent Claim 63 words
The computer-readable media of claim 14 , wherein said first logical storage unit contains a first transaction list with a first entry, wherein said second logical storage unit contains a second transaction list with a second entry, wherein said step of executing a manipulation operation for said row includes assigning ownership of said first entry and said second entry to said first subtransaction.
Claim 19
Dependent Claim 21 words
The computer-readable media of claim 11 , wherein said particular logical storage unit includes a data block in said database system.
Claim 20
Dependent Claim 189 words
A computer-readable medium carrying one or more sequences of instructions for inserting rows into logical storage units that store information in a database system, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: inserting a first row piece of a spanning row into a first logical storage unit of said logical storage units; wherein a certain data structure in each logical storage unit of said logical storage units is used to identify interested transactions and is not used to store any row of said each logical storage unit; prior to inserting a second row piece of said spanning row into a second logical storage unit, determining whether one or more criteria is satisfied, wherein said one or more criteria include that said second logical storage unit has enough space allocated to allow the respective certain data structure to identify at least a threshold number of interested transactions; and inserting said second row piece of said spanning row into said second logical storage unit only when said one or more criteria are satisfied.
Claim 21
Dependent Claim 189 words
A computer-readable medium carrying one or more sequences of instructions for inserting rows into logical storage units that store information in a database system, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: inserting a first row piece of a spanning row into a first logical storage unit of said logical storage units; wherein a certain data structure in each logical storage unit of said logical storage units is used to identify interested transactions and is not used to store any row of said each logical storage unit; prior to inserting a second row piece of said spanning row into a second logical storage unit, determining whether one or more criteria is satisfied, wherein said one or more criteria include that said second logical storage unit has enough space allocated to allow the respective certain data structure to identify at least a threshold number of interested transactions; and inserting said second row piece of said spanning row into said second logical storage unit only when said one or more criteria are satisfied.
Claim 22
Dependent Claim 31 words
The computer-readable media of claim 17 , wherein said certain data structure is a transaction list with entries, wherein each entry of said entries may be owned by an interested transaction.
Claim 23
Dependent Claim 30 words
The computer-readable media of claim 17 , wherein said one or more criteria include that said second row piece be the second or greater row piece in said spanning row.
Claim 24
Dependent Claim 36 words
The computer-readable media of claim 17 , wherein said threshold number is greater than the sum of the quantity of overflow row pieces stored in said second logical storage unit after inserting said second row piece.

References Cited (Backward Citations)

US5848408A Cited
US5956704A Cited
US6078924A Cited
US6065012A Cited
US6108653A Cited
US6518974B2 Cited
US6339777B1 Cited
US6438562B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2008-10-31 2009-05-02 2009-11-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2012-10-31 2013-05-02 2013-11-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2016-10-31 2017-05-02 2017-11-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag