IP Library Granted Patent US 8,788,472
Granted Patent B2
US 8,788,472 · App. 13/658,112 · Granted Jul 22, 2014

Conditional commit for data in a database

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,788,472
App. No.
13/658,112
Granted
Jul 22, 2014
Kind
B2
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.

Claims (30)

1. A conditionally updated database, comprising:

a database interface, wherein the database interface enables a reading of a first set of information from the database during a first transaction and receiving a conditional update instruction for a second set of information in the database during the first transaction based at least in part on the first set of information from the database;

a database updater, comprising a processor, wherein the database updater allows other transactions to read and modify the first set of information and the second set of information in the database, wherein the database updater is configured to:

in the event that one or more conditions in the conditional update instruction are met, commit an update of the second set of information in the database to a commit queue, wherein the one or more conditions limit changes allowable to the second set of information from the database that occurred after the reading of the first set of information from the database, wherein the one or more conditions comprise at least one of the following: a condition that a database entry is less than an upper limit, is less than or equal to the upper limit value, is more than a lower limit value, is more than or equal to the lower limit, is equal to a predetermined value, or the condition comprises an action related to a database value since a specific prior read or a specific prior write; and

in the event that the update of the second set of information reaches an end of the commit queue and in the event that the one or more conditions in the conditional update instruction are met, the update of the second set of information is written to a logging storage.

2. A database as in claim 1 , wherein the first set of information from the database comprises one or more data entries in the database.

3. A database as in claim 1 , wherein the second set of information from the database comprises one or more data entries in the database.

4. A database as in claim 1 , wherein one of the second set of information is updated to a first absolute value.

5. A database as in claim 1 , wherein one of the second set of information is updated to a value relative to a current value.

6. A database as in claim 5 , wherein the value relative to the current value is a value less than the current value.

7. A database as in claim 5 , wherein the value relative to the current value is a value greater than the current value.

8. A database as in claim 1 , wherein the reading of the first set of information from the database is read without a lock occurring during the read in the database.

9. A database as in claim 1 , wherein the reading of the first set of information from the database is read with a latch occurring during the read in the database.

10. A database as in claim 1 , wherein the reading of the first set of information from the database is read without a latch occurring during the read in the database.

11. A database as in claim 1 , wherein the action related to a database value comprises writing.

12. A database as in claim 1 , wherein the action related to a database value comprises not writing.

13. A database as in claim 1 , wherein the action related to a database value comprises reading.

14. A database as in claim 1 , wherein the action related to a database value comprises not reading.

15. A method for a conditionally updated database, comprising:

enabling a reading of a first set of information from the database during a first transaction;

receiving a conditional update data instruction for a second set of information in the database during the first transaction based at least in part on the first set of information from the database; and

allowing other transactions to read and modify the first set of information and second set of information in the database;

in the event that one or more conditions in the conditional update instruction are met, committing, using a processor, an update of the second set of information in the database based at least in part on one or more conditions to a commit queue, wherein the one or more conditions limit changes allowable to the second set of information from the database that occurred after the reading of the first set of information from the database, wherein the one or more conditions comprise at least one of the following: a condition that a database entry is less than an upper limit, is less than or equal to the upper limit value, is more than a lower limit value, is more than or equal to the lower limit, is equal to a predetermined value, or the condition comprises an action related to a database value since a specific prior read or a specific prior write;

in the event that the update of the second set of information reaches an end of the commit queue and in the event that the one or more conditions in the conditional update instruction are met, the update of the second set of information is written to a logging storage.

16. A computer program product for a database, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

enabling a reading of a first set of information from the database during a first transaction;

receiving a conditional update data instruction for a second set of information in the database during the first transaction based at least in part on the first set of information from the database;

allowing other transactions to read and modify the first set of information and second set of information in the database;

in the event that one or more conditions in the conditional update instruction are met, committing, using a processor, an update of the second set of information in the database based at least in part on one or more conditions to a commit queue, wherein the one or more conditions limit changes allowable to the second set of information from the database that occurred after the reading of the first set of information from the database, wherein the one or more conditions comprise at least one of the following: a condition that a database entry is less than an upper limit, is less than or equal to the upper limit value, is more than a lower limit value, is more than or equal to the lower limit, is equal to a predetermined value, or the condition comprises an action related to a database value since a specific prior read or a specific prior write;

in the event that the update of the second set of information reaches an end of the commit queue and in the event that the one or more conditions in the conditional update instruction are met, the update of the second set of information is written to a logging storage.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY, RECORDED AT REEL: 057719, FRAME: 0417 Recorded Dec 23, 2025
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: MATRIXX SOFTWARE, INC.
Reel/Frame 074052/0748 →
SECURITY INTEREST Recorded Feb 14, 2024
From: MATRIXX SOFTWARE, INC.
To: SILICON VALLEY BANK
Reel/Frame 066597/0905 →
SECURITY INTEREST Recorded Dec 7, 2021
From: MATRIXX SOFTWARE, INC.
To: SILICON VALLEY BANK
Reel/Frame 058322/0431 →
SECURITY INTEREST Recorded Oct 6, 2021
From: MATRIXX SOFTWARE, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB (AS AGENT)
Reel/Frame 057719/0417 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 3, 2019
From: MATRIXX SOFTWARE, INC.
To: SILICON VALLEY BANK
Reel/Frame 048783/0582 →