Conditional commit for data in a database
First Claim
Patent Images
1. A system for conditionally updating a database, comprising:
- a processor configured to;
start a first transaction that operates on an existing first set of information from a database;
start a second transaction that operates on the existing first set of information from the database;
read, for the first transaction, the first set of information, A, from the database;
read, for the second transaction, the first set of information, A, from the database;
calculate, for the first transaction, a new value A1 based on A;
calculate, for the first transaction, a first set of boundary conditions for the validity of the new value A1;
in the event that a first newly read value for A satisfies the first set of boundary conditions, update for the first transaction A to A1;
in the event that the first newly read value for A does not satisfy the first set of boundary conditions, terminate the first transaction;
calculate, for the second transaction, a new value A2 based on A;
calculate, for the second transaction, a second set of boundary conditions for the validity of the new value A2;
in the event that a second newly read value for A satisfies the second set of boundary conditions, update for the second transaction A to A2;
in the event that the second newly read value for A does not satisfy the second set of boundary conditions, terminate the second transaction,a database interface wherein the interface receives and sends information from a database to the processor, and wherein the database stores the first set information A.
6 Assignments
0 Petitions
Accused Products
Abstract
A database comprises a database interface and a database updater. The database interface enables a reading of a first set of information from the database. The database updater updates a second set of information in the database based at least in part on one or more conditions. The one or more conditions limit changes allowable to the first set of information from the database that occurred after the reading of the first set of information from the database.
17 Citations
27 Claims
-
1. A system for conditionally updating a database, comprising:
-
a processor configured to; start a first transaction that operates on an existing first set of information from a database; start a second transaction that operates on the existing first set of information from the database; read, for the first transaction, the first set of information, A, from the database; read, for the second transaction, the first set of information, A, from the database; calculate, for the first transaction, a new value A1 based on A; calculate, for the first transaction, a first set of boundary conditions for the validity of the new value A1; in the event that a first newly read value for A satisfies the first set of boundary conditions, update for the first transaction A to A1; in the event that the first newly read value for A does not satisfy the first set of boundary conditions, terminate the first transaction; calculate, for the second transaction, a new value A2 based on A; calculate, for the second transaction, a second set of boundary conditions for the validity of the new value A2; in the event that a second newly read value for A satisfies the second set of boundary conditions, update for the second transaction A to A2; in the event that the second newly read value for A does not satisfy the second set of boundary conditions, terminate the second transaction, a database interface wherein the interface receives and sends information from a database to the processor, and wherein the database stores the first set information A. - 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, 26, 27)
-
-
24. A method for a conditionally updating a database, comprising:
-
starting a first transaction that operates on an existing first set of information, A, from a database without; starting a second transaction that operates on the existing first set of information from the database; reading, for the first transaction a first set of information from the database; reading, for the second transaction, the first set of information, A, from the database; calculating, for the first transaction, a new value A1 based on A; calculating, for the first transaction, a first set of boundary conditions for the validity of the new value A1; in the event that a first newly read value for A satisfies the first set of boundary conditions, updating for the first transaction A to A1 by storing A1 in a database; in the event that the first newly read value for A does not satisfy the first set of boundary conditions, terminating the first transaction; calculating, for the second transaction, a new value A2 based on A; calculating, for the second transaction, a second set of boundary conditions for the validity of the new value A2; in the event that a second newly read value for A satisfies the second set of boundary conditions, updating for the second transaction A to A2 by storing A2 in the database; in the event that the second newly read value for A does not satisfy the second set of boundary conditions, terminating the second transaction.
-
-
25. A computer program product for conditionally updating a database, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
-
starting a first transaction that operates on an existing first set of information, A, from a database without; starting a second transaction that operates on the existing first set of information from the database; reading, for the first transaction a first set of information from the database; reading, for the second transaction, the first set of information, A, from the database; calculating, for the first transaction, a new value A1 based on A; calculating, for the first transaction, a first set of boundary conditions for the validity of the new value A1; in the event that a first newly read value for A satisfies the first set of boundary conditions, updating for the first transaction A to A1 by storing A1 in a database; in the event that the first newly read value for A does not satisfy the first set of boundary conditions, terminating the first transaction; calculating, for the second transaction, a new value A2 based on A; calculating, for the second transaction, a second set of boundary conditions for the validity of the new value A2; in the event that a second newly read value for A satisfies the second set of boundary conditions, updating for the second transaction A to A2 by storing A2 in the database; in the event that the second newly read value for A does not satisfy the second set of boundary conditions, terminating the second transaction.
-
Specification