US5630124A
Expired / Lapsed
US
⏱️ 0.0 years remaining
System and method for assuring atomicity of distributed update requests in a parallel database
Assignee: International Business Machines Corp
•
Filing: 1993-12-06
•
Granted: 1997-05-13
•
Expires: 2013-12-06
Abstract
Abstract In parallel database management systems, database update requests typically result in activity at several nodes. Rollback of all updates is required if the update of any node fails. A coordination process monitors for failure or success of updates. The coordinator further provides for distinguishing activities that have taken place at any given node from the other nodes for different database update requests. Savepoints are local. This allows rollback of a selected update without affecting nodes which did not process the update.
Inventors
- 👤 Daniel J. Coyle, Jr.
- 👤 Amy Chang
- 👤 Timothy R. Malkemus
- 👤 Walter G. Wilson
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-03 20:22
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1471
Claims Analysis
Total Claims: 20
Claim 1
Independent Claim
141 words
A method of managing distributed requests on a parallel database management system wherein each distributed request comprises a plurality of request instances which may span a plurality of subordinate processes, comprising: distributing a plurality of request instances for a selected request to a plurality of subordinate processes, each request instance including associated request savepoint data; responsive to receipt of a request instance on a selected subordinate process, updating a local savepoint with the associated request savepoint data and locally generated savepoint data; executing the request instance for each selected subordinate process; indicating to a coordination process success or failure of execution on each request instance; and responsive to indication of failure of execution for any request instance of the selected request, performing a rollback on each subordinate process which the local savepoint indicates executed a request instance for the selected request.
Claim 2
Independent Claim
141 words
A method of managing distributed requests on a parallel database management system wherein each distributed request comprises a plurality of request instances which may span a plurality of subordinate processes, comprising: distributing a plurality of request instances for a selected request to a plurality of subordinate processes, each request instance including associated request savepoint data; responsive to receipt of a request instance on a selected subordinate process, updating a local savepoint with the associated request savepoint data and locally generated savepoint data; executing the request instance for each selected subordinate process; indicating to a coordination process success or failure of execution on each request instance; and responsive to indication of failure of execution for any request instance of the selected request, performing a rollback on each subordinate process which the local savepoint indicates executed a request instance for the selected request.
Claim 3
Dependent Claim
71 words
A method of managing distributed requests on a parallel database management system as set forth in claim 1, and further comprising: responsive to initiation of a transaction, initializing a request counter for the coordination process; responsive to receipt of a request from an application program by the coordination process, incrementing the request counter for the coordination process; and the step of distributing including passing the request counter as request savepoint data.
Claim 4
Dependent Claim
35 words
A method of managing distributed requests on a parallel database management system as set forth in claim 2, wherein locally generated savepoint data includes a log sequence number tracking instances of changes to a partition.
Claim 5
Dependent Claim
60 words
A method of managing distributed requests on a parallel database management system as set forth in claim 3, and further comprising: responsive to initiation of a transaction, initializing the local savepoint for all of a plurality of distributed processes by setting the local request counter and the log sequence number to value indicating no prior issuance of request savepoint data.
Claim 6
Dependent Claim
38 words
A method of managing distributed requests on a parallel database management system as set forth in claim 4, wherein updating of a local savepoint further includes adding a current value for the log sequence number to the savepoint.
Claim 7
Dependent Claim
69 words
A method of managing distributed requests on a parallel database management system as set forth in claim 5, and further comprising: responsive to issuance of a request instance to a selected subordinate process, discarding any prior savepoint for the selected subordinate processes; responsive to rolling back to a savepoint on a subordinate process, discarding the savepoint; and responsive to conclusion of the transaction, discarding savepoints across all subordinate processes.
Claim 8
Dependent Claim
176 words
A parallel database management system for managing distributed requests which each comprise a plurality of request instances which may span a plurality of subordinate processes, comprising: a network having a plurality of computers; a database distributed among partitions on the plurality of computers; a plurality of subordinate processes resident on the plurality of computers for generating local savepoints for the partitions, for executing a request instance and for signalling over the network failure or success of execution; a coordinator resident on a computer for receiving requests from applications wherein each request comprises a plurality of request instances, for distributing request instances and request savepoint data relating to the request to selected subordinate processes and for issuing a rollback request with a reference for comparison to the local savepoints upon receipt of a signal indicating failure of execution by a subordinate process; memory for each of the plurality of computers for storing the local savepoints between the requests; and the subordinate processes being responsive to the reference of the matching the local savepoints for executing a rollback.
Claim 9
Dependent Claim
176 words
A parallel database management system for managing distributed requests which each comprise a plurality of request instances which may span a plurality of subordinate processes, comprising: a network having a plurality of computers; a database distributed among partitions on the plurality of computers; a plurality of subordinate processes resident on the plurality of computers for generating local savepoints for the partitions, for executing a request instance and for signalling over the network failure or success of execution; a coordinator resident on a computer for receiving requests from applications wherein each request comprises a plurality of request instances, for distributing request instances and request savepoint data relating to the request to selected subordinate processes and for issuing a rollback request with a reference for comparison to the local savepoints upon receipt of a signal indicating failure of execution by a subordinate process; memory for each of the plurality of computers for storing the local savepoints between the requests; and the subordinate processes being responsive to the reference of the matching the local savepoints for executing a rollback.
Claim 10
Dependent Claim
58 words
A parallel database management system for managing distributed requests as set forth in claim 7, and further comprising: a log sequence number generator for each computer for tracking all changes to the partition during a transaction; and means with each computer responsive to receipt of a request instance for placing a log sequence number into the local savepoint.
Claim 11
Dependent Claim
30 words
A parallel database management system for managing distributed requests as set forth in claim 8, wherein the request savepoint data includes a value for the request count for the coordinator.
Claim 12
Dependent Claim
35 words
A parallel database management system for managing distributed requests as set forth in claim 9, the coordinator further including a process responsive to entry to a transaction for initiating a request counter for the coordinator.
Claim 13
Dependent Claim
44 words
A parallel database management system for managing distributed requests as set forth in claim 10, the subordinate processes further including a process responsive to entry to a transaction for initiating a request counter for each subordinate process and for initiating the log sequence count.
Claim 14
Dependent Claim
170 words
A data processing program product for assuring atomicity of distributed update requests on a parallel database management system wherein each distributed update request comprises a plurality of request instances which may span a plurality of subordinate processes, said data processing program product comprising media storing: instruction means for distributing a plurality of request instances for a selected request to a plurality of subordinate processes, each request instance including associated request savepoint data; instruction means responsive to receipt of a request instance on a selected subordinate process for updating a local savepoint with the request savepoint data associated and locally generated savepoint data; instruction means for executing the request instance for each selected subordinate process; instruction means for indicating to a coordination process success or failure of execution on each request instance; and instruction means responsive to indication of failure of execution for any request instance of the selected request for performing a rollback on each subordinate process which the local savepoint indicates executed a request instance for the selected request.
Claim 15
Dependent Claim
170 words
A data processing program product for assuring atomicity of distributed update requests on a parallel database management system wherein each distributed update request comprises a plurality of request instances which may span a plurality of subordinate processes, said data processing program product comprising media storing: instruction means for distributing a plurality of request instances for a selected request to a plurality of subordinate processes, each request instance including associated request savepoint data; instruction means responsive to receipt of a request instance on a selected subordinate process for updating a local savepoint with the request savepoint data associated and locally generated savepoint data; instruction means for executing the request instance for each selected subordinate process; instruction means for indicating to a coordination process success or failure of execution on each request instance; and instruction means responsive to indication of failure of execution for any request instance of the selected request for performing a rollback on each subordinate process which the local savepoint indicates executed a request instance for the selected request.
Claim 16
Dependent Claim
75 words
A data processing program product as set forth in claim 12, the media further comprising: instruction means responsive to initiation of a transaction for initializing a request counter for the coordination process; instruction means responsive to receipt of a request from an application program by the coordination process for incrementing the request counter for the coordination process; and the instruction means for distributing including instruction means for passing the request counter as request savepoint data.
Claim 17
Dependent Claim
28 words
A data processing program product as set forth in claim 13, wherein locally generated savepoint data includes a log sequence number tracking instances of changes to a partition.
Claim 18
Dependent Claim
57 words
A data processing program product as set forth in claim 14, the media further comprising: instruction means responsive to initiation of a transaction for initializing the local savepoint for all of a plurality of distributed processes by setting the local request counter and the log sequence number to value indicating no prior issuance of request savepoint data.
Claim 19
Dependent Claim
38 words
A data processing program product as set forth in claim 15, wherein the instruction means for updating of a local savepoint further includes instruction means for adding a current value for the log sequence number to the savepoint.
Claim 20
Dependent Claim
72 words
A data processing program product as set forth in claim 16, the media further comprising: instruction means responsive to issuance of a request instance to a selected subordinate process for discarding any prior savepoint for the selected subordinate processes; instruction means responsive to rolling back to a savepoint on a subordinate process for discarding the savepoint; and instruction means responsive to conclusion of the transaction for discarding savepoints across all subordinate processes.
References Cited (Backward Citations)
US5140689A
Cited
US5201044A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-05-12 | 2000-11-11 | 2001-05-13 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-05-12 | 2004-11-11 | 2005-05-13 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-05-12 | 2008-11-11 | 2009-05-13 | $7700.00 | Window Closed / Lapsed |