Patent US5870743A successfully refreshed from Google Patents.
US5870743A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for parallelizing operations that create a table
Assignee: Oracle International Corp
•
Filing: 1996-06-24
•
Granted: 1999-02-09
•
Expires: 2016-06-24
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 create the set of data to be added to the database.
Inventors
- 👤 Jeffrey I. Cohen
- 👤 William H. Waddington
- 👤 Daniel Leary
- 👤 Jonathan Klein
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 07:38
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2453; G06F16/24532; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99938; Y10S707/99951; Y10S707/99952
Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
136 words
A method for processing a statement that requires generation of a set of data that is to be written to a database, the method comprising the steps of: receiving said statement; generating a first set of work granules in response to said statement; assigning said first set of work granules to a first set of processes to cause said first set of processes to write subsets of said set of data to a plurality of segments within the database, wherein more than one process of said first set of processes is able to access at least one segment of said plurality of segments, and no more than one process in said first set of processes writes to any segment of said plurality of segments; and merging said plurality of segments to create said set of data.
Claim 2
Independent Claim
136 words
A method for processing a statement that requires generation of a set of data that is to be written to a database, the method comprising the steps of: receiving said statement; generating a first set of work granules in response to said statement; assigning said first set of work granules to a first set of processes to cause said first set of processes to write subsets of said set of data to a plurality of segments within the database, wherein more than one process of said first set of processes is able to access at least one segment of said plurality of segments, and no more than one process in said first set of processes writes to any segment of said plurality of segments; and merging said plurality of segments to create said set of data.
Claim 3
Dependent Claim
41 words
The method of claim 1 wherein: a plurality of processes write data to said database through a shared buffer cache; and said first set of processes write said subsets directly to said plurality of segments without using said shared buffer cache.
Claim 4
Dependent Claim
32 words
The method of claim 2 wherein said first set of processes write said subsets to said plurality of segments without generating an undo log record for removing said subsets from said database.
Claim 5
Dependent Claim
34 words
The method of claim 1 wherein said first set of processes write said subsets directly to said segments within said database without generating an undo log record for removing said subsets from said database.
Claim 6
Dependent Claim
38 words
The method of claim 1 wherein the method further comprises the steps of: reading a second set of data from said database; and generating said subsets, by said first set of processes, from said second set of data.
Claim 7
Dependent Claim
70 words
The method of claim 5 wherein the step of reading the second set of data from said database includes the steps of: generating a second set of work granules in response to said statement; and assigning said second set of work granules to a second set of processes to cause each of said second set of processes to read a portion of said second set of data from said database.
Claim 8
Dependent Claim
45 words
The method of claim 6 further comprising the steps of: causing said second plurality of processes to transmit said second set of data to a table queue; and causing said first set of processes to receive said second set of data from said table queue.
Claim 9
Dependent Claim
55 words
The method of claim 5 wherein: the step of reading said second set of data includes reading data from one or more tables identified in said statement; and the step of merging said plurality of segments to create said set of data comprises the step of merging said plurality of segments to create a table.
Claim 10
Independent Claim
136 words
A method for creating a second set of data in a database that contains a first set of data, the method comprising the steps of: receiving a statement that identifies said first set of data; causing a first plurality of processes to read said first set of data from said database and store said first set of data in dynamic memory, wherein each process of said first plurality of processes reads a separate portion of said first set of data from the database; causing each process of a second plurality of processes to read a portion of said first set of data from dynamic memory and to write said portion to a distinct segment of the database; and merging the segments written to by said second plurality of processes to create said second set of data.
Claim 11
Independent Claim
136 words
A method for creating a second set of data in a database that contains a first set of data, the method comprising the steps of: receiving a statement that identifies said first set of data; causing a first plurality of processes to read said first set of data from said database and store said first set of data in dynamic memory, wherein each process of said first plurality of processes reads a separate portion of said first set of data from the database; causing each process of a second plurality of processes to read a portion of said first set of data from dynamic memory and to write said portion to a distinct segment of the database; and merging the segments written to by said second plurality of processes to create said second set of data.
Claim 12
Dependent Claim
102 words
The method of claim 9 wherein: the step of receiving said statement is performed by a first process; the first process creates a first set of work granules and a second set of work granules in response to said statement; the first process assigns said first set of work granules to said first plurality of processes to cause said first plurality of processes to read said first set of data; and the first process assigns said second set of work granules to said second plurality of processes to cause said second plurality of processes to write said portions to said distinct segments.
Claim 13
Dependent Claim
26 words
The method of claim 10 wherein the step of merging the segments written to by said second plurality of processes is performed by a single process.
Claim 14
Dependent Claim
25 words
The method of claim 11 wherein the step of merging the segments written to by said plurality of processes is performed by said first process.
Claim 15
Dependent Claim
68 words
The method of claim 9 wherein: the step of causing a first plurality of processes to read said first set of data from said database comprises the step of causing said first plurality of processes to read data from one or more tables in said database; and the step of merging the segments written to by said second plurality of processes includes merging the segments into a table.
Claim 16
Dependent Claim
47 words
The method of claim 9 wherein: a plurality of processes read and write data to said database through a shared buffer cache; and the step of writing portions to said segments is performed by writing the portions directly to the database without using the shared buffer cache.
Claim 17
Dependent Claim
33 words
The method of claim 9 wherein the step of writing said portions into the database is performed without generating an undo log record that indicates how to remove the portions from the database.
Claim 18
Dependent Claim
33 words
The method of claim 14 wherein the step of writing said portions into the database is performed without generating an undo log record that indicates how to remove the portions from the database.
Claim 19
Dependent Claim
173 words
A computer-readable medium having stored thereon a plurality of sequences of instructions, the plurality of sequences of instructions including sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: receiving a statement that identifies a first set of data in a database that resides on a static storage device; causing a first plurality of processes to read said first set of data from said database and store said first set of data in dynamic memory, wherein each process of said first plurality of processes reads a separate portion of said first set of data from the database; causing each process of a second plurality of processes to read a portion of said first set of data from dynamic memory and to write to a distinct segment of the database a portion of said second set of data from said first set of data; and merging the segments generated by said second plurality of processes to create said second set of data.
Claim 20
Dependent Claim
173 words
A computer-readable medium having stored thereon a plurality of sequences of instructions, the plurality of sequences of instructions including sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: receiving a statement that identifies a first set of data in a database that resides on a static storage device; causing a first plurality of processes to read said first set of data from said database and store said first set of data in dynamic memory, wherein each process of said first plurality of processes reads a separate portion of said first set of data from the database; causing each process of a second plurality of processes to read a portion of said first set of data from dynamic memory and to write to a distinct segment of the database a portion of said second set of data from said first set of data; and merging the segments generated by said second plurality of processes to create said second set of data.
Claim 21
Dependent Claim
50 words
The computer-readable medium of claim 17 further including instructions for: causing said second plurality of processes to write said portions to segments of said database that are marked as temporary; and marking said segments of said database as permanent after merging the segments written by said second plurality of processes.
Claim 22
Dependent Claim
29 words
The computer-readable medium of claim 17 further including instructions for causing a single process to perform the step of merging the segments to create said second set of data.
Claim 23
Dependent Claim
67 words
The computer-readable medium of claim 19 wherein the sequence of instructions for causing each process of a second plurality of processes to write to a distinct segment of that database includes instructions for writing said portion of the second set of data directly to a segment of the database without generating a log for removing the said portion of said second set of data from the database.
References Cited (Backward Citations)
US4853843A
Cited
US5265245A
Cited
US5222235A
Cited
US5247672A
Cited
US5255387A
Cited
US5491819A
Cited
US5499367A
Cited
US5355477A
Cited
US5557792A
Cited
US5485607A
Cited
US5623659A
Cited
US5590326A
Cited
US5546579A
Cited
US5675791A
Cited
US5603026A
Cited
US5546570A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-02-08 | 2002-08-10 | 2003-02-09 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-02-08 | 2006-08-10 | 2007-02-09 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-02-08 | 2010-08-10 | 2011-02-09 | $7700.00 | Window Closed / Lapsed |