US5956704A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for parallelizing operations that insert data into an existing data container
Assignee: Oracle International Corp
•
Filing: 1997-06-05
•
Granted: 1999-09-21
•
Expires: 2017-06-05
Abstract
Abstract A method and apparatus for parallelizing operations that change a database is provided. A coordinator process receives a statement that requires data to be written into the database. In response to the statement, the coordinator process assigns granules of work to multiple processes. Each of the multiple processes executes the granule of work by writing to the database a distinct portion of the set of data that is to be added to the database. The various portions of data are then merged to update the set of data to be added to the database.
Inventors
- 👤 Jyotin Gautam
- 👤 William H. Waddington
- 👤 Leng Leng Tan
- 👤 Gary Hallmark
- 👤 Jonathan Klein
- 👤 Allen Brumm
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-03 20:51
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/23; G06F16/2379; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99938
Claims Analysis
Total Claims: 32
Claim 1
Independent Claim
106 words
A method for processing a statement that requires insertion of data into a preexisting data container, the method comprising the steps of: receiving the statement; causing a first write process to write a first subset of the set of data to a first area that is external to the data container; causing a second write process to write a second subset of the set of data to a second area that is external to the data container in parallel with the first write process writing the first subset to the first area; and merging the first area and the second area into the preexisting data container.
Claim 2
Independent Claim
106 words
A method for processing a statement that requires insertion of data into a preexisting data container, the method comprising the steps of: receiving the statement; causing a first write process to write a first subset of the set of data to a first area that is external to the data container; causing a second write process to write a second subset of the set of data to a second area that is external to the data container in parallel with the first write process writing the first subset to the first area; and merging the first area and the second area into the preexisting data container.
Claim 3
Dependent Claim
75 words
The method of claim 1 wherein: the first area and the second area are marked as temporary areas while the first write process and the second write process are writing to the first area and the second area; the first write process writes the first subset to the first area without generating an undo log record; and the second write process writes the second subset to the first area without generating an undo log record.
Claim 4
Dependent Claim
45 words
The method of claim 1 wherein: the first write process writes the first subset directly to the first area without using a shared buffer cache; and the second write process writes the second subset directly to the second area without using the shared buffer cache.
Claim 5
Dependent Claim
38 words
The method of claim 1 wherein the step of merging includes the steps of: pre-merging the first area and the second area together to create a third area; and merging the third area into the preexisting data container.
Claim 6
Dependent Claim
107 words
The method of claim 1 wherein: a first extent map includes a first set of records that identify extents that belong to the data container; a second extent map includes a second set of records that identify extents that belong to the first area; a third extent map includes a third set of records that identify extents that belong to the second area; and the step of merging the first area and the second area into the preexisting data container includes the step of writing the second set of records into the first extent map and writing the third set of records into the first extent map.
Claim 7
Dependent Claim
49 words
The method of claim 1 wherein: the method comprises the steps of generating a plurality of work granules based on the statement; and causing a coordinator process to assign the plurality of granules to a plurality of write processes including the first write process and the second write process.
Claim 8
Dependent Claim
58 words
The method of claim 6 wherein: the plurality of processes send messages to the coordinator process when they have completed execution of the plurality of work granules; when all of the plurality of work granules have been completed, the coordinator process executes the step of merging the first area and the second area into the preexisting data container.
Claim 9
Independent Claim
214 words
A method for inserting data into a partitioned data container, the method comprising the steps of: causing a first process to write a first subset of the data into a first partition of the partitioned data container; wherein the first partition comprises a region of allocated space that includes a used portion and an unused portion; wherein a first data value is maintained to indicate a boundary between the used portion and the unused portion; wherein the first process writes the first subset of data into the unused portion; causing a second process to write a second subset of the data into a second partition of the partitioned data container in parallel with the first process writing the first subset of data into the first partition; wherein the second partition comprises a region of allocated space that includes a used portion and an unused portion; wherein a second data value is maintained to indicate a boundary between the used portion and the unused portion; wherein the second process writes the second subset of data into the unused portion; and merging the first subset and the second subset into the data container by updating the first data value and the second data value to include the first subset and second subset in the used portions.
Claim 10
Independent Claim
214 words
A method for inserting data into a partitioned data container, the method comprising the steps of: causing a first process to write a first subset of the data into a first partition of the partitioned data container; wherein the first partition comprises a region of allocated space that includes a used portion and an unused portion; wherein a first data value is maintained to indicate a boundary between the used portion and the unused portion; wherein the first process writes the first subset of data into the unused portion; causing a second process to write a second subset of the data into a second partition of the partitioned data container in parallel with the first process writing the first subset of data into the first partition; wherein the second partition comprises a region of allocated space that includes a used portion and an unused portion; wherein a second data value is maintained to indicate a boundary between the used portion and the unused portion; wherein the second process writes the second subset of data into the unused portion; and merging the first subset and the second subset into the data container by updating the first data value and the second data value to include the first subset and second subset in the used portions.
Claim 11
Dependent Claim
33 words
The method of claim 8 wherein the first process writes the first subset without generating an undo log record and the second process writes the second subset without generating an undo log record.
Claim 12
Dependent Claim
123 words
A computer-readable medium having stored thereon sequences of instructions for processing a statement that requires insertion of data into a preexisting data container in a database, the sequences of instructions including sequences of instructions for performing the steps of: receiving the statement; causing a first write process to write a first subset of the set of data to a first area that is external to the data container; causing a second write process to write a second subset of the set of data to a second area that is external to the data container in parallel with the first write process writing the first subset to the first area; and merging the first area and the second area into the preexisting data container.
Claim 13
Dependent Claim
123 words
A computer-readable medium having stored thereon sequences of instructions for processing a statement that requires insertion of data into a preexisting data container in a database, the sequences of instructions including sequences of instructions for performing the steps of: receiving the statement; causing a first write process to write a first subset of the set of data to a first area that is external to the data container; causing a second write process to write a second subset of the set of data to a second area that is external to the data container in parallel with the first write process writing the first subset to the first area; and merging the first area and the second area into the preexisting data container.
Claim 14
Dependent Claim
76 words
The computer-readable medium of claim 10 wherein: the first area and the second area are marked as temporary areas while the first write process and the second write process are writing to the first area and the second area; the first write process writes the first subset to the first area without generating an undo log record; and the second write process writes the second subset to the first area without generating an undo log record.
Claim 15
Dependent Claim
46 words
The computer-readable medium of claim 10 wherein: the first write process writes the first subset directly to the first area without using a shared buffer cache; and the second write process writes the second subset directly to the second area without using the shared buffer cache.
Claim 16
Dependent Claim
39 words
The computer-readable medium of claim 10 wherein the step of merging includes the steps of: pre-merging the first area and the second area together to create a third area; and merging the third area into the preexisting data container.
Claim 17
Dependent Claim
108 words
The computer-readable medium of claim 10 wherein: a first extent map includes a first set of records that identify extents that belong to the data container; a second extent map includes a second set of records that identify extents that belong to the first area; a third extent map includes a third set of records that identify extents that belong to the second area; and the step of merging the first area and the second area into the preexisting data container includes the step of writing the second set of records into the first extent map and writing the third set of records into the first extent map.
Claim 18
Dependent Claim
58 words
The computer-readable medium of claim 10 wherein: the sequence of instructions further comprises sequences of instructions for performing the steps of generating a plurality of work granules based on the statement; and causing a coordinator process to assign the plurality of granules to a plurality of write processes including the first write process and the second write process.
Claim 19
Dependent Claim
58 words
The computer-readable of claim 15 wherein: the plurality of processes send messages to the coordinator process when they have completed execution of the plurality of work granules; when all of the plurality of work granules have been completed, the coordinator process executes the step of merging the first area and the second area into the preexisting data container.
Claim 20
Dependent Claim
226 words
A computer-readable medium comprising sequences of instructions for inserting data into a partitioned data container, the sequences of instructions comprising sequences of instructions for performing the steps of: causing a first process to write a first subset of the data into a first partition of the partitioned data container; wherein the first partition comprises a region of allocated space that includes a used portion and an unused portion; wherein a first data value is maintained to indicate a boundary between the used portion and the unused portion; wherein the first process writes the first subset of data into the unused portion; causing a second process to write a second subset of the data into a second partition of the partitioned data container in parallel with the first process writing the first subset of data into the first partition; wherein the second partition comprises a region of allocated space that includes a used portion and an unused portion; wherein a second data value is maintained to indicate a boundary between the used portion and the unused portion; wherein the second process writes the second subset of data into the unused portion; and merging the first subset and the second subset into the data container by updating the first data value and the second data value to include the first subset and second subset in the used portions.
Claim 21
Dependent Claim
226 words
A computer-readable medium comprising sequences of instructions for inserting data into a partitioned data container, the sequences of instructions comprising sequences of instructions for performing the steps of: causing a first process to write a first subset of the data into a first partition of the partitioned data container; wherein the first partition comprises a region of allocated space that includes a used portion and an unused portion; wherein a first data value is maintained to indicate a boundary between the used portion and the unused portion; wherein the first process writes the first subset of data into the unused portion; causing a second process to write a second subset of the data into a second partition of the partitioned data container in parallel with the first process writing the first subset of data into the first partition; wherein the second partition comprises a region of allocated space that includes a used portion and an unused portion; wherein a second data value is maintained to indicate a boundary between the used portion and the unused portion; wherein the second process writes the second subset of data into the unused portion; and merging the first subset and the second subset into the data container by updating the first data value and the second data value to include the first subset and second subset in the used portions.
Claim 22
Dependent Claim
34 words
The computer-readable medium of claim 17 wherein the first process writes the first subset without generating an undo log record and the second process writes the second subset without generating an undo log record.
Claim 23
Dependent Claim
37 words
The method of claim 1 wherein the preexisting data container is a container within a database system; and the steps causing the first write, causing the second write and merging are all performed within the database system.
Claim 24
Dependent Claim
154 words
The method of claim 1 wherein: the step of causing the first write process to write the first subset of the set of data to the first area includes the step of causing the first write process to write the first subset of the set of data to a first segment that is external to the data container; the step of causing the second write process to write the second subset of the set of data to the second area includes the step of causing the second write process to write the second subset of the set of data to a second segment that is external to the data container in parallel with the first write process writing the first subset to the first segment; and the step of merging the first area and the second area includes the step of merging the first segment and the second segment into the preexisting data container.
Claim 25
Dependent Claim
38 words
The computer-readable medium of claim 10 wherein: the preexisting data container is a container within a database system; and the steps causing the first write, causing the second write and merging are all performed within the database system.
Claim 26
Dependent Claim
155 words
The computer-readable medium of claim 10 wherein: the step of causing the first write process to write the first subset of the set of data to the first area includes the step of causing the first write process to write the first subset of the set of data to a first segment that is external to the data container; the step of causing the second write process to write the second subset of the set of data to the second area includes the step of causing the second write process to write the second subset of the set of data to a second segment that is external to the data container in parallel with the first write process writing the first subset to the first segment; and the step of merging the first area and the second area includes the step of merging the first segment and the second segment into the preexisting data container.
Claim 27
Dependent Claim
146 words
A computer system for processing a statement that requires insertion of data into a preexisting data container, the system comprising: a memory; one or more processors coupled to the memory; and a set of instructions contained in the memory, the set of instructions including instructions which when executed by the one or more processors, cause the one or more processors to perform the steps of: causing a first write process to write a first subset of the set of data to a first area that is external to the data container; causing a second write process to write a second subset of the set of data to a second area that is external to the data container in parallel with the first write process writing the first subset to the first area; and merging the first area and the second area into the preexisting data container.
Claim 28
Dependent Claim
146 words
A computer system for processing a statement that requires insertion of data into a preexisting data container, the system comprising: a memory; one or more processors coupled to the memory; and a set of instructions contained in the memory, the set of instructions including instructions which when executed by the one or more processors, cause the one or more processors to perform the steps of: causing a first write process to write a first subset of the set of data to a first area that is external to the data container; causing a second write process to write a second subset of the set of data to a second area that is external to the data container in parallel with the first write process writing the first subset to the first area; and merging the first area and the second area into the preexisting data container.
Claim 29
Dependent Claim
75 words
The system of claim 23 wherein: the first area and the second area are marked as temporary areas while the first write process and the second write process are writing to the first area and the second area; the first write process writes the first subset to the first area without generating an undo log record; and the second write process writes the second subset to the first area without generating an undo log record.
Claim 30
Dependent Claim
45 words
The system of claim 23 wherein: the first write process writes the first subset directly to the first area without using a shared buffer cache; and the second write process writes the second subset directly to the second area without using the shared buffer cache.
Claim 31
Dependent Claim
54 words
The system of claim 23 wherein: the system is a database system; the data container is contained within the database system; and the set of instructions are executed by the database system such that the steps of causing the first write, causing the second write and merging are all performed within the database system.
Claim 32
Dependent Claim
154 words
The system of claim 23 wherein: the step of causing the first write process to write the first subset of the set of data to the first area includes the step of causing the first write process to write the first subset of the set of data to a first segment that is external to the data container; the step of causing the second write process to write the second subset of the set of data to the second area includes the step of causing the second write process to write the second subset of the set of data to a second segment that is external to the data container in parallel with the first write process writing the first subset to the first segment; and the step of merging the first area and the second area includes the step of merging the first segment and the second segment into the preexisting data container.
References Cited (Backward Citations)
US5590326A
Cited
US5434994A
Cited
US5761658A
Cited
US5737600A
Cited
US5581754A
Cited
US5603026A
Cited
US5790848A
Cited
US5758149A
Cited
US5870743A
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 |