Adaptive transaction manager for complex transactions and business process
First Claim
Patent Images
1. A computerized method for efficient transaction processing implemented as a defining feature of an Adaptive Transaction Manager (‘
- ATM’
) and for implementing a consistent transaction state as a transaction consistency point, said method comprising;
(a) identifying a first set of consistency conditions among a first set of data elements as comprising at least a first consistency condition;
(b) identifying a second set of consistency conditions among a second set of data elements, not necessarily distinct from the first set of consistency conditions among the first set of data elements, as comprising at least a second consistency condition;
(c) associating the first set of consistency conditions with a first transaction having an initial state and an intended final state, said intended final state being;
represented by the second set of data elements;
required to satisfy the second set of consistency conditions; and
,the first transaction'"'"'s state at successful termination consistent with the second set of consistency conditions, as computed from the initial state and any parameters, and resulting from unexceptional execution;
(d) specifying a first transaction consistency point identified with a first consistent transaction state that is distinct from both the initial state and the intended final state of the first transaction;
(e) representing the first consistent transaction state of the first transaction at least partially by specific values of a subset of the first set of data elements;
(f) determining that the first consistent transaction state of the first transaction is consistent with the first set of consistency conditions;
(g) enabling the first transaction to be restored to the first consistent transaction state of the first transaction after the first transaction'"'"'s state has progressed beyond the first consistent transaction state; and
,(h) recording a denotation of the first consistent transaction state of the first transaction, said denotation being differentiated from any denotation of any transaction state that is not consistent with any identified set of consistency conditions, and from any denotation of any transaction state that is merely any of a synchronization point, a synch point, a savepoint, and a checkpoint.
0 Assignments
0 Petitions
Accused Products
Abstract
This is a method for managing and optimizing transaction processing that: (1) significantly expands the robustness of systems with respect to consistency, reliability, and recoverability; (2) provides multiple performance improvements over traditional methods; (3) enables transactions in a distributed business process to recover from errors without the cost of two-phase commit; (4) enables enhancements to resource management; and, (5) provides improved scheduling. The method further enables a high degree of collaborative and adaptive transaction management over traditional transaction managers.
-
Citations
89 Claims
-
1. A computerized method for efficient transaction processing implemented as a defining feature of an Adaptive Transaction Manager (‘
- ATM’
) and for implementing a consistent transaction state as a transaction consistency point, said method comprising;(a) identifying a first set of consistency conditions among a first set of data elements as comprising at least a first consistency condition; (b) identifying a second set of consistency conditions among a second set of data elements, not necessarily distinct from the first set of consistency conditions among the first set of data elements, as comprising at least a second consistency condition; (c) associating the first set of consistency conditions with a first transaction having an initial state and an intended final state, said intended final state being; represented by the second set of data elements; required to satisfy the second set of consistency conditions; and
,the first transaction'"'"'s state at successful termination consistent with the second set of consistency conditions, as computed from the initial state and any parameters, and resulting from unexceptional execution; (d) specifying a first transaction consistency point identified with a first consistent transaction state that is distinct from both the initial state and the intended final state of the first transaction; (e) representing the first consistent transaction state of the first transaction at least partially by specific values of a subset of the first set of data elements; (f) determining that the first consistent transaction state of the first transaction is consistent with the first set of consistency conditions; (g) enabling the first transaction to be restored to the first consistent transaction state of the first transaction after the first transaction'"'"'s state has progressed beyond the first consistent transaction state; and
,(h) recording a denotation of the first consistent transaction state of the first transaction, said denotation being differentiated from any denotation of any transaction state that is not consistent with any identified set of consistency conditions, and from any denotation of any transaction state that is merely any of a synchronization point, a synch point, a savepoint, and a checkpoint. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89)
-
2. A method as in claim 1, wherein the step of determining further comprises:
accepting an assertion that the first consistent transaction state of the first transaction is consistent with the first set of consistency conditions as valid.
-
3. A method as in claim 2, wherein the assertion that the first consistent transaction state is consistent with the first set of consistency conditions is made by a human user.
-
4. A method as in claim 2, wherein the step of determining further comprises:
establishing that consistency by confirming the assertion'"'"'s validity through at least one computable test.
-
5. A method as in claim 4, wherein the step of determining is accomplished without human involvement.
-
6. A method as in claim 1, wherein the step of recording is at least partially implemented by a human user.
-
7. A method as in claim 1, further comprising:
recording a representation of the first transaction consistency point, the representation being differentiable from that for any other transaction consistency point.
-
8. A method as in claim 1, further comprising:
-
detecting a first undesirable condition at a second transaction state of the first transaction; selecting the first transaction consistency point; and
,recovering from the first undesirable condition, further comprising; using the recorded denotation of the first consistent transaction state to transition the first transaction'"'"'s state to the first transaction consistency point.
-
-
9. A method as in claim 8 wherein the first undesirable condition is a deadlock, further comprising:
automatically recovering from the first undesirable condition without selecting any transaction involved in the deadlock as the transaction to be affected.
-
10. A method as in claim 1, wherein the step of specifying further comprises:
-
automatically detecting the first consistent transaction state; and
,automatically implementing a first savepoint at the first transaction consistency point without any human supplied instruction asserting the first savepoint.
-
-
11. A method as in claim 1, further comprising:
associating a first identifier with the first transaction consistency point distinct from any identifier of any other transaction consistency point of the first transaction.
-
12. A method as in claim 11, further comprising:
determining the first identifier automatically and in accordance with a predefined naming convention.
-
13. A method as in claim 11, further comprising:
determining the first identifier in accordance with at least a first signal originating from a human user.
-
14. A method as in claim 1, further comprising:
making the first consistent transaction state restorable after any catastrophic failure by making the first transaction consistency point durable.
-
15. A method as in claim 1, further comprising:
-
identifying a first intermediate transaction state of the first transaction; determining that the first intermediate transaction state does not satisfy the required properties of any transaction consistency point and that the first intermediate transaction state is at least one of a synchronization point, a synch point, a checkpoint, and a savepoint; determining that the first consistent transaction state is not any of a synchronization point, a synch point, a checkpoint, and a savepoint except insofar as the first consistent transaction state is also a durable transaction consistency point; and
,identifying any of a synchronization point, a synch point, a checkpoint, and a savepoint explicitly with a set of consistency conditions pertaining to a corresponding transaction state only if the corresponding transaction state is also some transaction consistency point.
-
-
16. A method as in claim 1, further comprising:
-
specifying a first detectable condition; creating a first association between the first detectable condition and the first transaction consistency point; detecting the first detectable condition; and
,selectively transitioning the first transaction to the first transaction consistency point responsive to detection of said first detectable condition and as a logical consequence of the first association.
-
-
17. A method as in claim 1, further comprising:
-
creating a first transaction consistency point category; defining the first transaction consistency point category at least partially according to a set of category consistency conditions that any transaction consistency point must satisfy in order to be a member of the first transaction consistency point category; denoting the first transaction consistency point category uniquely by an identifier; and
,determining that at least one transaction consistency point belongs to the first transaction consistency point category.
-
-
18. A method as in claim 17, further comprising:
-
establishing a first error class comprising at least a first type of error; establishing the first transaction consistency point category; and
,associating the first error class with the first transaction consistency point category.
-
-
19. A method as in claim 18, further comprising:
-
determining that a first error has occurred; determining that the first error is of the first type of error and consequently a member of the first error class; determining that the first error class is associated with the first transaction consistency point category; determining that a second transaction consistency point of a second transaction is a member of the first transaction consistency point category; and
,transitioning the second transaction'"'"'s state to the second transaction consistency point.
-
-
20. A method as in claim 1, implementing a defining feature of transaction relaying, further comprising:
-
identifying a first resource set comprising at least a first resource; determining that both a first resource-using transaction and a second resource-using transaction depend on the first resource set; determining that the first resource-using transaction is at a second transaction consistency point; determining that the first resource set'"'"'s state is consistent at the second transaction consistency point; establishing control over the first resource set by the first resource-using transaction such that any predefined isolation level for that first resource-using transaction is maintained; and
,transferring, while the first resource-using transaction'"'"'s state and the first resource set'"'"'s state are at the second transaction consistency point, control over and accessibility to the first resource set and at least one data element of the first resource set'"'"'s state from the first resource-using transaction to the second resource-using transaction, prior to committing either the first resource-using transaction or the second resource-using transaction.
-
-
21. A method as in claim 20, wherein the step of transferring further comprising:
-
disabling modification of at least a first portion of the first resource set by the first resource-using transaction; and
,enabling modification of at least the first portion of the first resource set by the second resource-using transaction.
-
-
22. A method as in claim 20, wherein the step of transferring further comprises:
transferring control over the first resource, associated with a first priority, from the first resource-using transaction to the second resource-using transaction, further comprising; removing the first priority from the first resource-using transaction; and
,assigning the first priority to the second resource-using transaction.
-
23. A method as in claim 20, further comprising:
-
identifying a first transaction group comprising at least the first resource-using transaction; identifying a second transaction group comprising at least the second resource-using transaction; and
,transferring, while the first resource set'"'"'s state is at some transaction consistency point, control over and accessibility to the first resource set and at least one element of its state from the first transaction group to the second transaction group, prior to committing any of the first transaction group and the second transaction group.
-
-
24. A method as in claim 20, further comprising:
-
identifying a third transaction group comprising a plurality of transactions each of which depend on the first resource set; determining that the first resource-using transaction and the second resource-using transaction belong to the third transaction group; and
,maintaining a two phase protocol with respect to controlling access to elements of the first resource set so that the third transaction group behaves as a single transaction with respect to controlling access to any member of the first resource set, and without the need to differentiate which transaction in the third transaction group requests any type of access control, incorporating the ordered substeps of; acquiring all required access control over data elements of the first resource set exclusively during an acquisition phase; and
,releasing all previously acquired access control over data elements of the first resource set exclusively during a release phase, said release phase being subsequent to the completion of said acquisition phase; implementing only one acquisition phase; and
,implementing only one release phase.
-
-
25. A method as in claim 20, further comprising:
-
identifying a third transaction group comprising a plurality of transactions each of which depend on the first resource set; determining that the first resource-using transaction and the second resource-using transaction belong to the third transaction group; and
,selecting an operation from among; escalation in which the scope of access control is increased so as to be over additional resources; de-escalation in which the scope of access control is decreased so as to be over fewer resources executing the operation across the third transaction group as if the third transaction group consisted of a single transaction scope.
-
-
26. A method as in claim 20, further comprising:
-
identifying a third transaction group comprising a plurality of transactions each of which depend on the first resource set; determining that the first resource-using transaction and the second resource-using transaction belong to the third transaction group; selecting an operation from among; promotion in which the number of types of operations permitted by access control on a first controlled resource belonging to the first resource set is increased; and
,demotion in which the number of types of operations permitted by access control on the first controlled resource belonging to the first resource set is decreased; and
,executing the operation across the third transaction group as if it consisted of a single transaction scope.
-
-
27. A method as in claim 20, further comprising:
-
determining that both the first resource-using transaction'"'"'s definition and the second resource-using transaction'"'"'s definition incorporate at least a first redundant instruction specifying an operation on at least the first resource in the first resource set; removing the first redundant instruction from at least one of the first resource-using transaction'"'"'s definition and the second resource-using transaction'"'"'s definition; and
,executing the first redundant instruction only once when the first resource-using transaction and the second resource-using transaction have overlapping executed.
-
-
28. A method as in claim 20, further comprising:
-
determining that the first resource-using transaction'"'"'s definition incorporates at least a first movable instruction; determining that the first movable instruction modifies only elements of the first resource set; removing the first movable instruction from the first resource-using transaction'"'"'s definition so that the first movable instruction is not executed as part of the execution of the first resource-using transaction; and
,inserting the first movable instruction in the second resource-using transaction'"'"'s definition so that the first movable instruction is executed as part of the execution of the second resource-using transaction.
-
-
29. A method as in claim 20, the step of transferring incorporates a publication/subscription sub-method, said sub-method further comprising:
-
determining that the first transaction and the first resource set are consistent with a second consistent transaction state comprising one of the first transaction consistency point, the first transaction'"'"'s initial state, or the first transaction'"'"'s final state; selecting a first publication so as to at least partially convey information about the first transaction while the first transaction'"'"'s state is in the second consistent transaction state and selected from among at least one member of a set comprising consistency conditions, data, events, messages, and the first resource set'"'"'s state; determining a referent to the first publication; maintaining a relationship between the first publication'"'"'s referent and at least a first subscribing entry that can be associated with at least a first subscriber; publishing the first publication at the second consistent transaction state by making the first publication selectively available outside the first transaction'"'"'s scope via the first publication'"'"'s referent; and
,making the first publication accessible to the first subscriber via the first publication'"'"'s referent prior to the first transaction doing any of commit, abort, and rollback.
-
-
30. A method as in claim 29, further comprising:
-
determining that the first transaction and the first resource set are consistent with a second consistent transaction state comprising one of the first transaction consistency point, the first transaction'"'"'s initial state, and the first transaction'"'"'s intended final state; selecting a first constraint satisfied by the second consistent transaction state; selecting a first constraint denotation of the first constraint; selecting the second consistent transaction state denotation that conveys identification of the second consistent transaction state; making the second consistent transaction state denotation accessible outside the first transaction'"'"'s scope; making the first constraint denotation of the first constraint available to a first entity outside the first transaction'"'"'s scope; using the first constraint denotation to make the first constraint available to the first entity; and
,enabling the first entity non-exclusive access to the first constraint by reference to the first constraint denotation.
-
-
31. A method as in claim 29, further comprising:
-
enabling a second subscribing entity to have access to the first publication; and
,selectively permitting at least one of the first subscribing entity and the second subscribing entity to modify the first resource set.
-
-
32. A method as in claim 20, further comprising:
using a locking flag to denote a dependency on a second resource in the first resource set by the first resource-using transaction.
-
33. A method as in claim 32, further comprising:
transferring the control and responsibility over the locking flag to the second resource-using transaction when the second resource-using transaction has not yet attained a consistent state with respect to the second resource and when the first transaction'"'"'s state is consistent with respect to the second resource.
-
34. A method as in claim 20, implementing a defining feature of transaction relaying, wherein the first resource-using transaction belongs to a first resource-using transaction group, and the second resource-using transaction belongs to a second resource-using transaction group, further comprising:
-
identifying a first resource-using transaction group comprising at least the first resource-using transaction; identifying a second resource-using transaction group comprising at least the second resource-using transaction; determining that both the first resource-using transaction group and the second resource-using transaction group depend on the first resource set; determining that the first resource-using transaction group is at the second transaction consistency point; determining that the first resource set'"'"'s state is consistent at the second transaction consistency point; establishing control over the first resource set by the first resource-using transaction group such that any predefined isolation level for that first resource-using transaction is maintained; and
,transferring, while the first resource-using transaction group'"'"'s state and the first resource set'"'"'s state are at the second transaction consistency point, control over and accessibility to the first resource set and at least one element of the first resource set'"'"'s state from the first resource-using transaction group to the second resource-using transaction group, prior to committing the first resource-using transaction group and prior to committing the second resource-using transaction group.
-
-
35. A method as in claim 1, further comprising:
-
using the first transaction consistency point to optimize at least one aspect of commit processing from a set of commit processing optimizables including resource consumption, performance, and concurrency; selecting a first commit processing operation from a set of commit processing operations comprising writing to a transaction log, releasing resources, checkpointing, synchronizing volatile storage with non-volatile storage, and checking consistency conditions; performing at least a portion of the first commit processing operation after the first transaction consistency point and before initiation of a subsequent transaction step, wherein the subsequent transaction step is neither commit nor rollback; and
,initiating the subsequent transaction step.
-
-
36. A method as in claim 1, implementing acceptable states, further comprising:
-
identifying the second set of consistency conditions that the first transaction'"'"'s final state is initially intended to satisfy; identifying an alternative set of consistency conditions, different from the primary set of consistency conditions, that constrains a first acceptable state, the first acceptable state being a second transaction consistency point; enabling the first transaction to reach the first acceptable state as a final state; and
,committing the first transaction.
-
-
37. A method as in claim 1, implementing a defining feature of corrective transactions, further comprising:
-
identifying at least the first transaction by the set of consistency conditions to be enforced on a first resource set comprising at least a first resource; detecting a first exceptional condition during execution of the first transaction; restoring the first transaction to a previous transaction state that is the first consistent transaction state, and without ending the transaction context; selecting a corrective transaction distinct from the first transaction; and
,executing the corrective transaction within the context of the first transaction and thereby transitioning the first transaction to a second transaction consistency point distinct from any previous state of the first transaction other than the first transaction'"'"'s intended final state, said second transaction consistency point.
-
-
38. A method as in claim 37, further comprising:
-
recording the corrective transaction'"'"'s steps; recording the first transaction'"'"'s steps; recording the first exceptional condition; analyzing the relationship among the corrective transaction'"'"'s steps, the first transaction'"'"'s steps, and the first exceptional condition resulting in a first analysis; and determining a subsequent corrective transaction'"'"'s steps at least partially based on the first analysis.
-
-
39. A method as in claim 37, wherein the step of selecting a corrective transaction further comprises, before the step of executing a corrective transaction:
constructing at least a portion of the corrective transaction from a set of partially-ordered interdependent elements wherein each element'"'"'s type is one of transaction, transaction group, group of transaction steps, consistent group, process, activity, task, and transaction step.
-
40. A method as in claim 37, wherein the step of selecting a corrective transaction further comprises, before executing the corrective transaction:
selecting the corrective transaction to be executed according to the set of consistency conditions the corrective transaction'"'"'s final state is required to satisfy.
-
41. A method as in claim 37, wherein the step of selecting a corrective transaction further comprises, before executing the corrective transaction:
selecting the corrective transaction from among a plurality of corrective transactions.
-
42. A method as in claim 41, wherein the step of selecting a corrective transaction further comprises:
-
identifying acceptable sets comprising as members at least both of; (a) a first acceptable set of consistency conditions that the first transaction'"'"'s end state is expected to satisfy after the effect of some corrective transaction incorporated and executed within the first transaction'"'"'s context; and
,(b) the set of consistency conditions that the first transaction'"'"'s end state is expected to satisfy without any effect due to any corrective transaction incorporated and executed within the first transaction'"'"'s context; wherein the first transaction'"'"'s end state is required to satisfy at least one member of the acceptable sets; identifying a desired acceptable state satisfying a target set of acceptable conditions which is a member of the acceptable sets; selecting the corrective transaction so that the corrective transaction'"'"'s end state is consistent with a goal of transitioning the first transaction'"'"'s state to the desired acceptable state; and
,enabling the first transaction to reach the desired acceptable state by invoking the corrective transaction.
-
-
43. A method as in claim 42, wherein the step of selecting a corrective transaction further comprises:
-
incorporating a theorem prover to automatically and at least partially determine via construction of a proof at least one of; (a) a target set of acceptable conditions which the first transaction'"'"'s end state must satisfy on completion; and
,(b) those steps which constitute the corrective transaction by reasoning from the first transaction consistency point as the corrective transaction'"'"'s initial state wherein the corrective transaction'"'"'s initial state is treated as a set of axioms, to some transaction state which meets the target set of acceptable conditions and which becomes the corrective transaction'"'"'s final state, the proofs steps being incorporated as the corrective transaction'"'"'s steps.
-
-
44. A method as in claim 42, wherein the step of selecting a corrective transaction further comprises:
-
identifying a target set of acceptable conditions which the first transaction'"'"'s end state must satisfy at commit; incorporating rule-based inference, further comprising; identifying a first rule the antecedent of which is predicated on the error class; identifying a second rule the consequence of which includes the target set of acceptable conditions; inferring, from at least one of the first rule and the second rule, the target set of acceptable conditions that the corrective transaction must satisfy upon completion.
-
-
45. A method as in claim 42, wherein the step of selecting a corrective transaction (as in claim 41) further comprises:
-
selecting a desired acceptable state from among those transaction states that satisfy the target set of acceptable conditions; identifying the first transaction'"'"'s current state; implementing pre-set business policies via policy-driven programming in deriving the corrective transaction from the difference between the desired acceptable state and the first transaction'"'"'s current state; and
,automatically invoking the corrective transaction to transition the first transaction'"'"'s current state to the desired acceptable state during execution of the corrective transaction.
-
-
46. A method as in claim 42, wherein the step of executing a corrective transaction is selectively not done when the anticipated cost-benefit of an alternative response justifies using the alternative response over using the corrective transaction, further comprising:
-
identifying the first transaction'"'"'s current state; evaluating a first cost-benefit, said first cost-benefit being that of executing a first corrective transaction; evaluating a second cost-benefit, said second cost-benefit being that of executing an alternative response, and said alternative response being distinct from the first corrective transaction; comparing the first cost-benefit and the second cost-benefit, resulting in a first comparison; selecting a first response from among the first corrective transaction and the alternative response based on the first comparison; and
,executing the first response instead of executing the corrective transaction.
-
-
47. A method as in claim 42, wherein the step of selecting a corrective transaction further comprises:
-
selecting a desired acceptable state from among those transaction states that satisfy the target set of acceptable conditions; identifying the first transaction'"'"'s current state; deriving said corrective transaction via goal-oriented programming applied to the difference between the desired acceptable state and the first transaction'"'"'s current state; and
,during execution, applying the corrective transaction to the first transaction'"'"'s state so that the first transaction transitions to the desired acceptable state.
-
-
48. A method as in claim 42, wherein the step of selecting a corrective transaction further comprises:
-
identifying the transaction'"'"'s current state; deriving said corrective transaction via genetic algorithms applied to the difference between the desired acceptable state and the first transaction'"'"'s current state; and
,during execution, applying the corrective transaction to the first transaction'"'"'s current state so that the first transaction'"'"'s state will transition to the desired acceptable state.
-
-
49. A method as in claim 42, wherein the step of selecting a corrective transaction further comprises:
-
identifying the transaction'"'"'s current state; deriving said corrective transaction via back propagation applied to the difference between the desired acceptable state and the first transaction'"'"'s current state; and
,during execution, applying the corrective transaction to the first transaction'"'"'s current state so that the first transaction transitions to the desired acceptable state.
-
-
50. A method as in claim 42, wherein the step of selecting a corrective transaction further comprises:
-
identifying the transaction'"'"'s current state; incorporating algebraic algorithms to calculate the least-cost, highest-benefit corrective transaction that will transition the first transaction'"'"'s state to the desired acceptable state.
-
-
51. A method as in claim 42, wherein the step of selecting a corrective transaction further comprises:
-
selecting a desired acceptable state from among those transaction states that satisfy the target set of acceptable conditions; identifying the first transaction'"'"'s current state; incorporating using single-element redefinition algorithms to calculate the least-cost, highest-benefit corrective transaction that will transition the current transaction state to reach the desired acceptable state.
-
-
52. A method as in claim 42, wherein the step of selecting a corrective transaction further comprises:
-
selecting a minimally-acceptable set of consistency conditions as the target acceptable set; identifying the first transaction'"'"'s current state; incorporating any of a theorem prover, genetic algorithms, back propagation, rule based inference, goal-oriented programming, policy-driven programming, back-chaining, optimization, user preferences, human interaction, cost-benefit analysis, and algebraic algorithms to do any of; (a) determining the corrective transaction to be applied to the first transaction'"'"'s current state based on a best fit approach to satisfying the minimally-acceptable set of conditions; and
,(b) determining the corrective transaction to be applied to the first transaction'"'"'s current state further comprising; determining the corrective transaction so that the corrective transaction'"'"'s end state most closely matches a minimally-acceptable consistent state that satisfies the acceptable conditions; performing the step of executing the corrective transaction; reporting the remaining difference between the corrective transaction'"'"'s final state and the minimally-acceptable consistent state; and
,accepting and executing an instruction group comprising at least a first instruction, so that the instruction group transitions the first transaction'"'"'s state from the corrective transaction'"'"'s final state to the minimally acceptable consistent state.
-
-
53. A method as in claim 41, wherein the step of selecting a corrective transaction incorporates optimization criteria, further comprising:
-
identifying a set of optimization criteria comprising at least a first optimization criterion; identifying a first corrective transaction and a second corrective transaction; determining that first corrective transaction satisfies the set of optimization criteria better than the second corrective transaction; and
,selecting the first corrective transaction as the corrective transaction to be executed.
-
-
54. A method as in claim 53, wherein the set of optimization criteria incorporates at least a first user preferences by which the step of selecting a corrective transaction is influenced.
-
55. A method as in claim 41, wherein the step of selecting a corrective transaction further comprises:
-
identifying that transaction consistency point that will be the corrective transaction'"'"'s initial state; identifying a target set of acceptable conditions which the first transaction'"'"'s end state must satisfy at commit; incorporating back-chaining, further comprising; starting from a desired transaction state that satisfies a target set of acceptable conditions and is therefore a desired transaction consistency point; selectively incorporating a plurality of corrective transaction steps from a pool comprising any of transaction steps, processes, activities, human interactions, operations, and transactions until the desired transaction consistency point is reached; and
,constructing the corrective transaction from the incorporated steps in the reverse order of incorporation such that the desired transaction consistency point is logically inferable from the corrective transaction'"'"'s initial state and the transaction steps that have been incorporated in the corrective transaction.
-
-
56. A method as in claim 41, wherein the step of selecting a corrective transaction further incorporates human interaction.
-
57. A method as in claim 41, wherein the step of selecting a corrective transaction further comprises:
-
selecting an optimization goal; selecting a first component of the corrective transaction from a component set comprising any of acceptable conditions, acceptable state, corrective transaction steps, and ordering of the corrective transaction'"'"'s steps; and
,optimizing the first component of the corrective transaction so as to better achieve the optimization goal.
-
-
58. A method as in claim 37, further comprising:
-
establishing at least a first class of exceptional conditions comprising at least the first exceptional condition; establishing at least a first consistency category comprising at least the second set of consistency conditions; associating the first class of exceptional conditions with the first consistency category; and
,requiring that the first transaction consistency point satisfy at least one set of consistency conditions of those sets that are members of the first consistency category associated with the first class of exceptional conditions.
-
-
59. A method as in claim 58, wherein the first transaction is a portion of a business process, further comprising, before the step of executing a corrective transaction:
-
determining that the second set of consistency conditions is a member of the first consistency category; identifying that transaction consistency point which satisfies the second set of consistency conditions and which would have been the first transaction'"'"'s final state had the first exceptional condition not occurred; and
,selecting the corrective transaction so as to transition the first transaction'"'"'s state from the first transaction consistency point to a third transaction consistency point; and
,determining that the third transaction consistency point also satisfies some set of consistency conditions which is a member of the first consistency category.
-
-
60. A method as in claim 59, further comprising:
constructing the corrective transaction from a set of partially-ordered and interdependent steps in a specification of the business process.
-
61. A method as in claim 59, wherein the corrective transaction uses an alternative resource set distinct from the first resource set used by the first transaction and comprises at least a second resource.
-
62. A method as in claim 59, further comprising, before executing a corrective transaction and on detection of an exceptional condition wherein said exceptional condition is classified:
-
identifying a first class of exceptional conditions of which the exceptional condition is a member; accessing a third consistency category associated with the first class of the exceptional condition; restoring the first transaction to a first transaction consistency point satisfying some set of consistency conditions belonging to the third consistency category; looking up a fourth consistency category associated with that transaction consistency point which is the first transaction'"'"'s intended final state; identifying the corrective transaction so that the corrective transaction'"'"'s end state satisfies some set of consistency conditions belonging to the fourth consistency category; and
,selecting the corrective transaction for execution.
-
-
63. A method as in claim 62, further comprising:
-
determining a minimally acceptable set of consistency conditions; determining a first alternative end state resulting from a first corrective transaction, said first alternative end state satisfying the acceptable conditions; determining a second alternative end state resulting from a second corrective transaction, said second alternative end state satisfying the acceptable conditions; selecting that corrective transaction from among the first corrective transaction and the second corrective transaction, said applicable corrective transaction'"'"'s alternative end state being preferred in relation to the minimally acceptable consistent state; and
,executing that corrective transaction.
-
-
64. A method as in claim 63, further comprising:
-
conveying both the minimally acceptable consistent state and the corrective transaction'"'"'s end state in human readable form; accepting a signal from a human user defining a first manual step; and
,executing the first manual step within the corrective transaction'"'"'s transaction context.
-
-
65. A method as in claim 59, further comprising:
-
creating a first class of exceptional conditions, comprising at least the first exceptional condition; creating a second consistency category comprising at least a fourth set of consistency conditions; creating a denotation of an association between the first exceptional condition class and the second consistency category; and
,storing said denotation.
-
-
66. A method as in claim 59, further comprising:
-
creating a first transaction class; associating the first transaction and the first transaction class.
-
-
67. A method as in claim 59, further comprising:
-
defining a first group of transaction steps comprising steps selected from the first transaction; defining a fifth set of consistency conditions comprising at least a fifth consistency condition; determining that, after successful execution of the first group of transaction steps, the first group of transaction steps'"'"' end state satisfies the fifth set of consistency conditions; and
,associating the first group of transaction steps with the fifth set of consistency conditions.
-
-
68. A method as in claim 1, wherein the first set of consistency conditions, satisfied by the first transaction consistency point are distinct from the second set of consistency conditions satisfied when the first transaction commits.
-
69. A method as in claim 1, implementing a defining feature of lookahead based resource management, further comprising:
-
identifying a first resource on which the first transaction depends; determining that the first resource should be given a degree of resource favoring during subsequent processing of the first transaction; determining a step in the first transaction at which the degree of resource favoring should be altered; specifying how the degree of resource favoring should be altered from among increasing and decreasing; storing at least a first directive comprising denotations of the first resource to be affected by resource favoring, the first transaction, the transaction step; and
how the degree of resource favoring should be altered; and
,responding to the first directive when the first transaction reaches the transaction step comprising altering the degree of resource favoring according to how the degree of resource favoring should be altered.
-
-
70. A method as in claim 69, further comprising:
incorporating a denotation of the first directive within a transaction definition.
-
71. A method as in claim 69, further comprising:
automatically identifying a step that will produce the first transaction consistency point and incorporating a designation of the first transaction consistency point within the transaction definition.
-
72. A method as in claim 69, further comprising:
a submethod of optimizing transaction processing comprising; determining that a transaction step depends on a first data resource; and
,pre-allocating the first data resource at some transaction consistency point prior to executing the step.
-
73. A method as in claim 69, further comprising:
a submethod of optimizing transaction processing comprising; determining that the first transaction comprises a first resource-dependent step that depends on a first data resource; pre-fetching at least a portion of the first data resource at some transaction consistency point of the first transaction prior to executing the first resource-dependent step; and
,caching the portion of the first data resource until the first resource-dependent step is executed.
-
74. A method as in claim 69, further comprising:
a submethod of optimizing transaction processing comprising the steps of; identifying a first transaction step in the first transaction; identifying a second transaction step in the first transaction; determining that the first transaction is defined so as to execute the first transaction step prior to executing the second transaction step; determining that executing the second transaction step prior to executing the first transaction step is an acceptable order of execution consistent with the first transaction'"'"'s definition; determining that executing the second transaction step prior to executing the first transaction step will optimize the first transaction; and
,rewriting the first transaction'"'"'s definition so as to describe executing the second transaction step prior to executing the first transaction step.
-
75. A method as in claim 69, further comprising:
a submethod of optimizing transaction processing comprising the steps of; storing a reference to a first software application; determining that the first software application depends on the first transaction; storing the first transaction'"'"'s definition; storing an association between the first transaction and the first software application; retrieving, via the association between the first transaction and the first software application, the first transaction'"'"'s definition after the first software application is invoked; and
,enabling execution of the first transaction when and as required by the first software application.
-
76. A method as in claim 69, further comprising:
a submethod of optimizing transaction processing comprising the steps of; storing a reference to the first transaction; determining that a first transaction step in the first transaction depends on the first resource; storing a reference to the first resource; storing an association between the first transaction and the first resource; retrieving, via the association between the first transaction and the first resource, the first transaction'"'"'s definition in preparation for the first transaction to be invoked; and
,enabling access to the first resource when and as required by the first transaction.
-
77. A method as in claim 69, further comprising:
a submethod of optimizing transaction processing comprising the steps of; determining that the first transaction depends on both the first resource and a second resource; storing a first temporal property description of a first time-related property, said first time-related property being associated with at least one of the first resource, the second resource, and a relationship among the first resource and the second resource; and
,using the first temporal property description to control the use of at least one of the first resource and the second resource.
-
78. A method as in claim 1 implementing a defining feature of dependency-based concurrency optimization for efficient transaction processing, comprising:
implementing a consistent group as a first grouping of transaction steps, further comprising the steps of; determining that the first transaction comprises both a first transaction step and a second transaction step; determining whether any dependencies exist among the first transaction step and the second transaction step; identifying the first transaction step grouping comprising at least the first transaction step, implementing the first grouping of transaction steps so that every transaction step executed within the first grouping of transaction steps except the first transaction step is dependent on at least one other transaction step within the first grouping of transaction steps; implementing the first grouping of transaction steps so that no transaction step within the first grouping of transaction steps is dependent on any transaction step not within the first grouping of transaction steps; and
,implementing the first grouping of transaction steps so that both the first grouping of transaction steps'"'"' initial state and the first grouping of transaction steps'"'"' final state are transaction consistency points.
-
79. A method as in claim 78, further comprising:
storing and maintaining a plurality of dependencies in a representation of a dependency tree.
-
80. A method as in claim 78, further comprising:
-
determining that a third group of transaction steps comprising at least one transaction step in a third transaction and that a fourth group of transaction steps comprising at least one transaction step in a fourth transaction are neither order interdependent, semantically interdependent, nor resource interdependent, the third group of transaction steps and fourth group of transaction steps are not necessarily in distinct transactions; determining that the third group of transaction steps and the fourth group of transaction steps are not currently specified so as to be executed using some form of overlapping processing; and
,scheduling the third group of transaction steps and the fourth group of transaction steps to be executed using some form of overlapping processing, said form including but not limited to concurrent processing, distributed processing, parallel processing, and asynchronous processing.
-
-
81. A method as in claim 80, further comprising:
-
implementing a concurrency control method; selectively not using the concurrency control method to enforce transaction isolation among the third consistent group and the fourth consistent group when executing the third consistent group and the fourth consistent group.
-
-
82. A method as in claim 81, wherein the type of concurrency control method is one of pessimistic concurrency control, optimistic concurrency control, and versioning.
-
83. A method as in claim 81, further comprising:
selectively and automatically disabling conflict detection, said conflict detection designed to prevent conflicting access by a plurality of transactions to a plurality of resources, among the third group of transaction steps and the fourth group of transaction steps when executing the third group of transaction steps and the fourth group of transaction steps.
-
84. A method as in claim 78, further comprising:
-
defining a plurality of conflict classes, each conflict class comprising a plurality of members that are potentially in mutual conflict when concurrently executing and each member selected from among a consistent group, a transaction, process, activity, task, and a transaction step; determining that a first member belongs to at least a first conflict class; determining that the first member is ready to be scheduled for execution; and
,scheduling the first member for execution only when no other member of any conflict class to which the first member belongs is also scheduled for concurrent execution.
-
-
85. A method as in claim 78, wherein the transaction consistency point is durable.
-
86. A method as in claim 78, further comprising:
-
identifying a first consistent group and a second consistent group; determining an optimized execution order, said optimized execution order specifying the execution order among the first consistent group and the second consistent group and being determined independently of any order specified in any transaction definition and independently of any requested order of execution except by default; and
,executing the first consistent group and the second consistent group in said optimized execution order.
-
-
87. A method as in claim 1, implementing a defining feature of dependency-based concurrency optimization, further comprising:
a submethod of optimizing transaction processing comprising the steps of; storing a reference to the first transaction; storing the first transaction'"'"'s definition containing instructions for a plurality of transaction steps; determining that a second transaction step in the first transaction depends on a third transaction step; storing a first reference to the first transaction resource; and
,augmenting the definition of the first transaction with at least one explicit statement describing at least one dependency among the second transaction step and the third transaction step.
-
88. A method as in claim 1, implementing a defining feature of dependency-based concurrency optimization, further comprising:
a submethod of optimizing transaction processing comprising the steps of; storing a first reference to the first transaction; storing a second reference to a second transaction; storing the first transaction'"'"'s definition containing instructions for a plurality of transaction steps; storing the second transaction'"'"'s definition containing instructions for a plurality of transaction steps; creating a transaction group comprising the first transaction and the second transaction; determining that the first transaction depends on a second transaction; storing a third reference to the transaction group; and
,augmenting at least one of the transaction group, the third transaction group'"'"'s definition, the first reference, the second reference third reference, the first transaction'"'"'s definition, and the second transaction'"'"'s definition with at least one explicit statement describing at least one dependency among the first transaction and the second transaction.
-
89. A method as in claim 1, implementing a defining feature of lookahead based resource management, further comprising:
-
identifying the first resource; selectively re-allocating the first resource at the first transaction consistency point.
-
-
2. A method as in claim 1, wherein the step of determining further comprises:
- ATM’
Specification
- Resources
Thank you for your request. You will receive a custom alert email when the Litigation Campaign Assessment is available.
×
-
Current AssigneeDavid O. Mcgoveran
-
Original AssigneeDavid O. Mcgoveran
-
InventorsMcGoveran, David O.
-
Primary Examiner(s)Wong, Don
-
Assistant Examiner(s)SHECHTMAN, CHERYL MARIA
-
Application NumberUS10/263,589Publication NumberTime in Patent Office1,433 DaysField of Search707/10, 707/101, 707/201, 707/202, 707/103.R, 707/8, 714 1- 57US Class Current1/1CPC Class CodesG06F 11/1474 in transactions G06F16/20 t...G06F 2201/82 Solving problems relating t...G06Q 20/10 specially adapted for elect...G06Q 30/06 Buying, selling or leasing ...Y10S 707/99938 Concurrency, e.g. lock mana...Y10S 707/99953 Recoverability