Dependent commit queue for a database
First Claim
Patent Images
1. A database configured for conditional updating, comprising:
- a database interface, wherein the database interface;
receives a first conditional update command from a first process, wherein the first conditional update command comprises an update to a first set of information in the database and a first condition, wherein the update to the first set of information comprises an update of at least one database entry to a second value, wherein the first process calculates the update to the first set of information based at least in part on a first value of the at least one database entry, wherein the first condition comprises a first set of boundary conditions for validity of the first value of the at least one database entry; and
receives a second conditional update command from a second process, wherein the second conditional update command comprises an update to a second set of information in the database and a second condition, wherein the update to the second set of information comprises an update of the at least one database entry to a third value, wherein the second process calculates the update to the second set of information based at least in part on the first value of the at least one database entry, wherein the second condition comprises a second set of boundary conditions for validity of the second value of the at least one database entry; and
a processor configured to;
conditionally update the first set of information according to the first conditional update command, wherein conditionally updating the first set of information comprises comparing the first value of the at least one database entry in the first set of information to the first set of boundary conditions, and in the event that the first condition is passed, submitting a first update to a commit queue;
conditionally update the second set of information according to the second conditional update command, wherein conditionally updating the second set of information comprises comparing the second value of the at least one database entry in the second set of information to the second set of boundary conditions, and in the event that the second condition is passed, submitting a second update to the commit queue, and;
in the event that the first update in the commit queue has been successfully committed, commit the second update in the commit queue.
4 Assignments
0 Petitions
Accused Products
Abstract
A database comprises a database interface and a database updater. The database interface receives a first set of information and a second set of information to be updated in the database. The database updater updates a second set of information in the database based at least in part on a condition that a first set of information in the database has been previously updated.
-
Citations
23 Claims
-
1. A database configured for conditional updating, comprising:
-
a database interface, wherein the database interface; receives a first conditional update command from a first process, wherein the first conditional update command comprises an update to a first set of information in the database and a first condition, wherein the update to the first set of information comprises an update of at least one database entry to a second value, wherein the first process calculates the update to the first set of information based at least in part on a first value of the at least one database entry, wherein the first condition comprises a first set of boundary conditions for validity of the first value of the at least one database entry; and receives a second conditional update command from a second process, wherein the second conditional update command comprises an update to a second set of information in the database and a second condition, wherein the update to the second set of information comprises an update of the at least one database entry to a third value, wherein the second process calculates the update to the second set of information based at least in part on the first value of the at least one database entry, wherein the second condition comprises a second set of boundary conditions for validity of the second value of the at least one database entry; and a processor configured to; conditionally update the first set of information according to the first conditional update command, wherein conditionally updating the first set of information comprises comparing the first value of the at least one database entry in the first set of information to the first set of boundary conditions, and in the event that the first condition is passed, submitting a first update to a commit queue; conditionally update the second set of information according to the second conditional update command, wherein conditionally updating the second set of information comprises comparing the second value of the at least one database entry in the second set of information to the second set of boundary conditions, and in the event that the second condition is passed, submitting a second update to the commit queue, and; in the event that the first update in the commit queue has been successfully committed, commit the second update in the commit queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method for conditionally updating a database, comprising:
-
receiving a first conditional update command from a first process, wherein the first conditional update command comprises an update to a first set of information in the database and a first condition, wherein the update to the first set of information comprises an update of at least one database entry to a second value, wherein the first process calculates the update to the first set of information based at least in part on a first value of the at least one database entry, wherein the first condition comprises a first set of boundary conditions for validity of the first value of the at least one database entry; receiving a second conditional update command from a second process, wherein the second conditional update command comprises an update to a second set of information in the database and a second condition, wherein the update to the second set of information comprises an update of the at least one database entry to a third value, wherein the second process calculates the update to the second set of information based at least in part on the first value of the at least one database entry, wherein the second condition comprises a second set of boundary conditions for validity of the second value of the at least one database entry; conditionally updating, using a processor, the first set of information according to the first conditional update command, wherein conditionally updating comprises comparing the first value of the at least one database entry in the first set of information to the first set of boundary conditions, and in the event that the first condition is passed, submitting a first update to a commit queue; conditionally updating the second set of information according to the second conditional update command, wherein conditionally updating comprises comparing the second value of the at least one database entry in the second set of information to the second set of boundary conditions, and in the event that the second condition is passed, submitting a second update to the commit queue in the event that queue; and in the event that the first update in the commit queue has been successfully committed, committing the second conditional update in the commit queue.
-
-
23. A computer program product for conditionally updating a database, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions or executable instructions when executed by a computer processor to perform a steps of:
-
receiving a first conditional update command from a first process, wherein the first conditional update command comprises an update to a first set of information in the database and a first condition, wherein the update to the first set of information comprises an update of at least one database entry to a second value, wherein the first process calculates the update to the first set of information based at least in part on a first value of the at least one database entry, wherein the first condition comprises a first set of boundary conditions for the validity of the first value of the at least one database entry; receiving a second conditional update command from a second process, wherein the second conditional update command comprises an update to a second set of information in the database and a second condition, wherein the update to the second set of information comprises an update of the at least one database entry to a third value, wherein the second process calculates the update to the second set of information based at least in part on the first value of the at least one database entry, wherein the second condition comprises a second set of boundary conditions for validity of the second value of the at least one database entry; conditionally updating, using a processor, the first set of information according to the first conditional update command, wherein conditionally updating comprises comparing the first value of the at least one database entry in the first set of information to the first set of boundary conditions, and in the event that the first condition is passed, submitting a first update to a commit queue; conditionally updating the second of information according to the second conditional update command, wherein conditionally updating comprises comparing the second value of the at least one database entry in the second set of information to the second set of boundary conditions, and in the event that the second condition is passed, submitting the second conditional a second update to the commit queue; and in the event that the first update in the commit queue has been successfully committed, committing the second update in the commit queue.
-
Specification