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

Techniques for resuming a transaction after an error

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

Abstract

Abstract Techniques for executing an atomic transaction include performing a first operation of a first set of operations. The atomic transaction involves the first set of operations for causing changes to a first set of data. A first error that prevents completion of the atomic transaction is detected. In response to detecting the first error, a second set of operations is performed for resolving the first error. It is then determined whether a resolution of the first error is obtained in response to performing the second set of operations. If the resolution is obtained, then execution of the first set of operations is resumed. These techniques allow atomic transactions to be resumed after resolving an error without undoing all the operations accomplished for the transaction at the time the error occurred.

Inventors

  • 👤 Amit Ganesh
  • 👤 Ekrem Soylemez
  • 👤 Benoit Dageville

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 03:32
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1474; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 48
Claim 1
Independent Claim 117 words
A method for executing an atomic transaction that involves a first plurality of operations that causes changes to a first set of data, the method comprising the steps of: performing a first operation of said first plurality of operations associated with the atomic transaction; during said step of performing the first operation, detecting a first error that prevents completion of the first plurality of operations; in response to detecting the first error, performing a second plurality of operations for resolving the first error; determining whether a resolution of the first error is obtained in response to performing the second plurality of operations; and if the resolution is obtained, then resuming execution of the first plurality of operations.
Claim 2
Independent Claim 117 words
A method for executing an atomic transaction that involves a first plurality of operations that causes changes to a first set of data, the method comprising the steps of: performing a first operation of said first plurality of operations associated with the atomic transaction; during said step of performing the first operation, detecting a first error that prevents completion of the first plurality of operations; in response to detecting the first error, performing a second plurality of operations for resolving the first error; determining whether a resolution of the first error is obtained in response to performing the second plurality of operations; and if the resolution is obtained, then resuming execution of the first plurality of operations.
Claim 3
Dependent Claim 69 words
The method of claim 1 , wherein: the step of determining whether the resolution is obtained includes determining whether the resolution is obtained within a particular time period; and the method further comprises the step of, if the resolution is not obtained within said particular time period, then performing a third plurality of operations to remove all changes made by the atomic transaction to said first set of data.
Claim 4
Dependent Claim 69 words
The method of claim 1 , wherein: the method further comprises the step of determining whether the first error is a member of a predetermined set of errors for which corrective action is available for allowing the atomic transaction to be completed; and said step of performing the second plurality of operations is initiated upon determining that the first error is a member of the predetermined set of errors.
Claim 5
Dependent Claim 48 words
The method of claim 1 , wherein: the method further comprises the step of detecting that the first error indicates a lack of sufficient resources to complete said atomic transaction; and the step of performing the second plurality of operations includes performing operations directed to obtaining additional resources.
Claim 6
Dependent Claim 26 words
The method of claim 4 , wherein the step of performing operations directed to obtaining additional resources includes inviting human intervention to supply the additional resources.
Claim 7
Dependent Claim 23 words
The method of claim 4 , wherein the additional resources include at least one of durable storage space, memory, processors, and communication bandwidth.
Claim 8
Dependent Claim 47 words
The method of claim 4 , wherein the additional resources include at least one of: storage space for a database associated with said first set of data; and storage space for storing undo information that indicates how to undo said changes to said first set of data.
Claim 9
Dependent Claim 61 words
The method of claim 1 , wherein: said step of performing the first operation further comprises the step of requesting a first resource by calling a first instance of a service; and said steps of detecting the first error, performing the second plurality of operations, and determining whether the resolution is obtained are performed by the first instance of the service.
Claim 10
Dependent Claim 26 words
The method of claim 8 , further comprising requesting a second resource during said requesting the first resource by calling a second instance of the service.
Claim 11
Dependent Claim 30 words
The method of claim 9 , further comprising the second instance performing the steps of: detecting the first error; and passing data indicating the first error to the first instance.
Claim 12
Dependent Claim 29 words
The method of claim 10 , further comprising the second instance performing the step of aborting the request for the second resource in response to detecting the first error.
Claim 13
Dependent Claim 32 words
The method of claim 1 , wherein the step of performing the second plurality of operations includes performing an operation that suspends execution of remaining operations of the first plurality of operations.
Claim 14
Dependent Claim 31 words
The method of claim 1 , wherein the step of performing the second plurality of operations includes releasing all locks held on all resources as a result of the first operation.
Claim 15
Independent Claim 129 words
A method for handling a call that requests a resource in a computer system, the method comprising the steps of: receiving said call at a first instance of a service; in response to said call, performing the steps of adding to a data structure data indicating a first pending request for a first resource; requesting the first resource; determining whether a first error occurs during said requesting the first resource; and if the first error occurs, then determining whether data indicating a second pending request for a second resource precedes the data indicating the first pending request in the data structure, and if the data indicating the second pending request precedes the data indicating the first pending request, then responding to said call with data indicating the first error.
Claim 16
Independent Claim 129 words
A method for handling a call that requests a resource in a computer system, the method comprising the steps of: receiving said call at a first instance of a service; in response to said call, performing the steps of adding to a data structure data indicating a first pending request for a first resource; requesting the first resource; determining whether a first error occurs during said requesting the first resource; and if the first error occurs, then determining whether data indicating a second pending request for a second resource precedes the data indicating the first pending request in the data structure, and if the data indicating the second pending request precedes the data indicating the first pending request, then responding to said call with data indicating the first error.
Claim 17
Dependent Claim 54 words
The method of claim 14 wherein said step of requesting the first resource comprises the steps of: determining whether providing the first resource depends upon obtaining a second resource; and if providing the first resource depends upon obtaining the second resource, then calling a second instance of the service to provide the second resource.
Claim 18
Dependent Claim 34 words
The method of claim 15 , further comprising, if providing the first resource does not depend upon obtaining the second resource, then performing the step of requesting the first resource from an operating system.
Claim 19
Dependent Claim 32 words
The method of claim 14 further comprising, if the first error is not detected, then performing the step of responding to said call with data indicating a reference for the first resource.
Claim 20
Dependent Claim 77 words
The method of claim 14 , further comprising, if no data indicating the second pending request precedes the data indicating the first pending request, then performing the steps of: performing a plurality of operations for resolving the first error; determining whether a resolution of the first error is obtained in response to performing the plurality of operations; and if the resolution is obtained, then responding to said call with data indicating a reference for the first resource.
Claim 21
Dependent Claim 29 words
The method of claim 18 , further comprising, if the resolution is not obtained, then performing the step of responding to said call with data indicating the first error.
Claim 22
Dependent Claim 37 words
The method of claim 14 , further comprising removing the data indicating the first pending request from the data structure before returning control to a routine that made the call to the first instance of the service.
Claim 23
Dependent Claim 31 words
The method of claim 14 , further comprising the step of de-allocating the data structure in response to determining that the data structure does not include at least one pending request.
Claim 24
Independent Claim 223 words
A method for executing an atomic transaction that involves a first plurality of operations that causes changes to a first set of data, the method comprising the steps of: performing a first operation of said first plurality of operations associated with the atomic transaction; during said step of performing the first operation, detecting a first error that prevents completion of the first plurality of operations; determining whether the first error is a member of a predetermined set of errors for which corrective action is available for allowing the atomic transaction to be completed; and upon determining that the first error is a member of the predetermined set of errors, performing a second plurality of operations for resolving the first error, including releasing all locks held on all resources as a result of the first operation, and performing an operation that suspends execution of remaining operations of the first plurality of operations; determining whether a resolution of the first error is obtained within a particular time period in response to performing the second plurality of operations; if the resolution is obtained, then resuming execution of the first plurality of operations; and if the resolution is not obtained within said particular time period, then performing a third plurality of operations to remove all changes made by the atomic transaction to said first set of data.
Claim 25
Independent Claim 223 words
A method for executing an atomic transaction that involves a first plurality of operations that causes changes to a first set of data, the method comprising the steps of: performing a first operation of said first plurality of operations associated with the atomic transaction; during said step of performing the first operation, detecting a first error that prevents completion of the first plurality of operations; determining whether the first error is a member of a predetermined set of errors for which corrective action is available for allowing the atomic transaction to be completed; and upon determining that the first error is a member of the predetermined set of errors, performing a second plurality of operations for resolving the first error, including releasing all locks held on all resources as a result of the first operation, and performing an operation that suspends execution of remaining operations of the first plurality of operations; determining whether a resolution of the first error is obtained within a particular time period in response to performing the second plurality of operations; if the resolution is obtained, then resuming execution of the first plurality of operations; and if the resolution is not obtained within said particular time period, then performing a third plurality of operations to remove all changes made by the atomic transaction to said first set of data.
Claim 26
Dependent Claim 128 words
The computer-readable storage medium carrying instructions for executing an atomic transaction that involves a first plurality of operations that causes changes to a first set of data, the instructions for causing one or more processors to perform the steps of: performing a first operation of said first plurality of operations associated with the atomic transaction; during said step of performing the first operation, detecting a first error that prevents completion of the first plurality of operations; in response to detecting the first error, performing a second plurality of operations for resolving the first error; determining whether a resolution of the first error is obtained in response to performing the second plurality of operations; and if the resolution is obtained, then resuming execution of the first plurality of operations.
Claim 27
Dependent Claim 128 words
The computer-readable storage medium carrying instructions for executing an atomic transaction that involves a first plurality of operations that causes changes to a first set of data, the instructions for causing one or more processors to perform the steps of: performing a first operation of said first plurality of operations associated with the atomic transaction; during said step of performing the first operation, detecting a first error that prevents completion of the first plurality of operations; in response to detecting the first error, performing a second plurality of operations for resolving the first error; determining whether a resolution of the first error is obtained in response to performing the second plurality of operations; and if the resolution is obtained, then resuming execution of the first plurality of operations.
Claim 28
Dependent Claim 78 words
The computer-readable storage medium of claim 23 , wherein: the step of determining whether the resolution is obtained includes determining whether the resolution is obtained within a particular time period; and the instructions further cause the one or more processors to perform the step of, if the resolution is not obtained within said particular time period, then performing a third plurality of operations to remove all changes made by the atomic transaction to said first set of data.
Claim 29
Dependent Claim 78 words
The computer-readable storage medium of claim 23 , wherein: the instructions further cause the one or more processors to perform the step of determining whether the first error is a member of a predetermined set of errors for which corrective action is available for allowing the atomic transaction to be completed; and said step of performing the second plurality of operations is initiated upon determining that the first error is a member of the predetermined set of errors.
Claim 30
Dependent Claim 57 words
The computer-readable storage medium of claim 23 , wherein: the instructions further cause the one or more processors to perform the step of detecting that the first error indicates a lack of sufficient resources to complete said atomic transaction; and the step of performing the second plurality of operations includes performing operations directed to obtaining additional resources.
Claim 31
Dependent Claim 28 words
The computer-readable storage medium of claim 26 , wherein the step of performing operations directed to obtaining additional resources includes inviting human intervention to supply the additional resources.
Claim 32
Dependent Claim 25 words
The computer-readable storage medium of claim 26 , wherein the additional resources include at least one of durable storage space, memory, processors, and communication bandwidth.
Claim 33
Dependent Claim 49 words
The computer-readable storage medium of claim 26 , wherein the additional resources include at least one of: storage space for a database associated with said first set of data; and storage space for storing undo information that indicates how to undo said changes to said first set of data.
Claim 34
Dependent Claim 63 words
The computer-readable storage medium of claim 23 , wherein: said step of performing the first operation further comprises the step of requesting a first resource by calling a first instance of a service; and said steps of detecting the first error, performing the second plurality of operations, and determining whether the resolution is obtained are performed by the first instance of the service.
Claim 35
Dependent Claim 37 words
The computer-readable storage medium of claim 30 , the instructions further cause the one or more processors to perform requesting a second resource during said requesting the first resource by calling a second instance of the service.
Claim 36
Dependent Claim 42 words
The computer-readable storage medium of claim 31 , the instructions further cause the second instance to cause the one or more processors to perform the steps of: detecting the first error; and passing data indicating the first error to the first instance.
Claim 37
Dependent Claim 41 words
The computer-readable storage medium of claim 32 , the instructions further cause the second instance to cause the one or more processors to perform the steps of aborting the request for the second resource in response to detecting the first error.
Claim 38
Dependent Claim 34 words
The computer-readable storage medium of claim 23 , wherein the step of performing the second plurality of operations includes performing an operation that suspends execution of remaining operations of the first plurality of operations.
Claim 39
Dependent Claim 33 words
The computer-readable storage medium of claim 23 , wherein the step of performing the second plurality of operations includes releasing all locks held on all resources as a result of the first operation.
Claim 40
Dependent Claim 139 words
A computer-readable storage medium carrying instructions for handling a call that requests a resource in a computer system, the instructions causing one or more processors to perform the steps of: receiving said call at a first instance of a service; in response to said call, performing the steps of adding to a data structure data indicating a first pending request for a first resource; requesting the first resource; determining whether a first error occurs during said requesting the first resource; and if the first error occurs, then determining whether data indicating a second pending request for a second resource precedes the data indicating the first pending request in the data structure, and if the data indicating the second pending request precedes the data indicating the first pending request, then responding to said call with data indicating the first error.
Claim 41
Dependent Claim 139 words
A computer-readable storage medium carrying instructions for handling a call that requests a resource in a computer system, the instructions causing one or more processors to perform the steps of: receiving said call at a first instance of a service; in response to said call, performing the steps of adding to a data structure data indicating a first pending request for a first resource; requesting the first resource; determining whether a first error occurs during said requesting the first resource; and if the first error occurs, then determining whether data indicating a second pending request for a second resource precedes the data indicating the first pending request in the data structure, and if the data indicating the second pending request precedes the data indicating the first pending request, then responding to said call with data indicating the first error.
Claim 42
Dependent Claim 57 words
The computer-readable storage medium of claim 36 , wherein said step of requesting the first resource comprises the steps of: determining whether providing the first resource depends upon obtaining a second resource; and if providing the first resource depends upon obtaining the second resource, then calling a second instance of the service to provide the second resource.
Claim 43
Dependent Claim 44 words
The computer-readable storage medium of claim 37 , the instructions further causing the one or more processors to perform the step of, if providing the first resource does not depend upon obtaining the second resource, then requesting the first resource from an operating system.
Claim 44
Dependent Claim 43 words
The computer-readable storage medium of claim 36 , the instructions further causing the one or more processors to perform the step of, if the first error is not detected, then responding to said call with data indicating a reference for the first resource.
Claim 45
Dependent Claim 79 words
The computer-readable storage medium of claim 36 , further comprising, if no data indicating the second pending request precedes the data indicating the first pending request, then performing the steps of: performing a plurality of operations for resolving the first error; determining whether a resolution of the first error is obtained in response to performing the plurality of operations; and if the resolution is obtained, then responding to said call with data indicating a reference for the first resource.
Claim 46
Dependent Claim 39 words
The computer-readable storage medium of claim 40 , the instructions further causing the one or more processors to perform the step of, if the resolution is not obtained, then responding to said call with data indicating the first error.
Claim 47
Dependent Claim 51 words
The computer-readable storage medium of claim 36 , the instructions further causing the one or more processors to perform the step of removing the data indicating the first pending request from the data structure before returning control to a routine that made the call to the first instance of the service.
Claim 48
Dependent Claim 42 words
The computer-readable storage medium of claim 36 , the instructions further causing the one or more processors to perform the step of de-allocating the data structure in response to determining that the data structure does not include at least one pending request.

References Cited (Backward Citations)

US5269017A Cited
US6493826B1 Cited
US6523134B2 Cited
US6594779B1 Cited
US6594781B1 Cited
US6643797B1 Cited
US6697901B1 Cited
US20020178395A1 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