Extended transactions
First Claim
Patent Images
1. A system comprising:
- a database system comprising;
a first database tangibly stored in at least a first computer-readable medium;
first atomic transaction means for using a first processor communicatively coupled to a first memory to execute a first component transaction instance atomically on the first database, the first atomic transaction means comprising;
first operation execution means to perform a first operation to produce first application data within an atomicity guarantee of the first component transaction instance;
first application data storage means for storing the first application data in a first record of the first database within the atomicity guarantee of the first component transaction instance;
first state storage means for storing a first state of a computation, based on the first operation, in a second record of the first database within the atomicity guarantee of the first component transaction instance;
a second database tangibly stored in at least a second computer-readable medium;
second atomic transaction means for using a second processor communicatively coupled to a second memory to execute a second component transaction instance atomically on the second database, the second atomic transaction means comprising;
means for reading the first state of the computation from the second record of the first database;
second operation execution means to perform a second operation, in response to the first state, to produce second application data within an atomicity guarantee of the second component transaction instance;
second application data storage means for storing the second application data in a third record of the second database within the atomicity guarantee of the second component transaction instance; and
second state storage means for storing a second state of the computation, based on the second operation, in a fourth record of the second database within the atomicity guarantee of the second component transaction instance;
wherein the system further comprises;
means for attempting to write, into the plurality of fields having a plurality of original values in a plurality of databases, a plurality of new values; and
means for returning the plurality of fields to the plurality of original values to the plurality of original values if the attempt fails with respect to at least one of the plurality of fields.
0 Assignments
0 Petitions
Accused Products
Abstract
Multiple atomic “component” database transactions are combined into a single extended transaction through message passing. The multiple component transactions that comprise a single extended transaction may, in combination, perform a single computation. The component transactions may pass messages to each other by writing and reading records to and from one or more databases. The resulting extended transaction may be distributed and/or long-lived.
-
Citations
22 Claims
-
1. A system comprising:
-
a database system comprising; a first database tangibly stored in at least a first computer-readable medium; first atomic transaction means for using a first processor communicatively coupled to a first memory to execute a first component transaction instance atomically on the first database, the first atomic transaction means comprising; first operation execution means to perform a first operation to produce first application data within an atomicity guarantee of the first component transaction instance; first application data storage means for storing the first application data in a first record of the first database within the atomicity guarantee of the first component transaction instance; first state storage means for storing a first state of a computation, based on the first operation, in a second record of the first database within the atomicity guarantee of the first component transaction instance; a second database tangibly stored in at least a second computer-readable medium;
second atomic transaction means for using a second processor communicatively coupled to a second memory to execute a second component transaction instance atomically on the second database, the second atomic transaction means comprising;means for reading the first state of the computation from the second record of the first database; second operation execution means to perform a second operation, in response to the first state, to produce second application data within an atomicity guarantee of the second component transaction instance; second application data storage means for storing the second application data in a third record of the second database within the atomicity guarantee of the second component transaction instance; and second state storage means for storing a second state of the computation, based on the second operation, in a fourth record of the second database within the atomicity guarantee of the second component transaction instance; wherein the system further comprises; means for attempting to write, into the plurality of fields having a plurality of original values in a plurality of databases, a plurality of new values; and means for returning the plurality of fields to the plurality of original values to the plurality of original values if the attempt fails with respect to at least one of the plurality of fields. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-implemented method for use with a database system, the method performed by a processor executing computer program instructions tangibly embodied in a first computer-readable storage medium, the database system comprising first database and second database tangibly stored in at least one second computer-readable storage medium, the method comprising:
-
(A) executing a first component transaction instance atomically on the first database, comprising; (1) performing a first operation and thereby producing first application data within an atomicity guarantee of the first component transaction instance; (2) storing the first application data in a first record of the first database within the atomicity guarantee of the first component transaction instance; and (3) storing a first state of a computation, based on the first operation, in a second record of the first database within the atomicity guarantee of the first component transaction instance; (B) executing a second component transaction instance atomically on the second database, comprising; (1) reading the first state of the computation from the second record of the first database; (2) performing a second operation, in response to the first state, to produce second application data within an atomicity guarantee of the second component transaction instance; (3) storing the second application data in a third record of the second database within the atomicity guarantee of the second component transaction instance; and (4) storing a second state of the computation, based on the second operation, in a fourth record of the second database within the atomicity guarantee of the second component transaction instance; wherein (A) further comprises; attempting to write, into a plurality of fields having a plurality of original values in a plurality of databases, a plurality of new values; and returning the plurality of fields to the plurality of original values if the attempt fails with respect to at least one of the plurality of fields. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
Specification