IP Library Granted Patent US 9,305,048
Granted Patent B2
US 9,305,048 · App. 14/035,826 · Granted Apr 5, 2016

System with multiple conditional commit databases

Inventors: David Labuda (Palo Alto, CA); Keith Brefczynski (Saratoga, CA)
Assignee: Matrixx Software, Inc.
G06F17/30371G06F17/30362
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 9,305,048
App. No.
14/035,826
Granted
Apr 5, 2016
Kind
B2
Abstract

A system for processing a transaction is disclosed. The system comprises a processor and a memory. The processor is configured to check a condition using data in a first database, wherein the data is associated with a transaction, wherein the data in the first database is latched before checking the condition and is unlatched after checking the condition. The processor is further configured to indicate to a second database to check the condition using data in the second database, wherein the data is associated with the transaction. The data in the second database is latched before checking the condition and is unlatched after checking the condition. The memory is coupled to the processor and configured to provide the processor with instructions.

Claims (30)

1. A system for processing a transaction, comprising:

a processor configured to check a condition using data in a first database, wherein the data in the first database is associated with the transaction, wherein the data in the first database is locally prepared including checking the condition and creating a local update pending state, wherein the data in the first database is latched before checking the condition and unlatched after checking the condition;

the processor is further configured to indicate to a second database to check the condition using data in the second database, wherein the data in the second database is associated with the transaction, wherein the data in the second database is remotely prepared including checking the condition and creating a remote update pending state, wherein the data in the second database is latched before checking the condition and unlatched after checking the condition;

wherein the transaction is committed in the event that the condition is satisfied in the first database and the second database, wherein committing the transaction comprises the data in the first database and the data in the second database being latched before the commit and unlatched after the commit; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system as in claim 1 , wherein the processor is further configured to receive an indication that the condition was satisfied as part of remotely preparing the data in the second database.

3. The system as in claim 2 , wherein the processor is further configured to determine whether to proceed with processing the transaction based at least in part on the received indication.

4. The system as in claim 1 , wherein creating one of the local update pending state or the remote update pending state comprises allocating a transaction buffer in the event that the condition is satisfied.

5. The system as in claim 4 , wherein the transaction buffer comprises a transaction condition list.

6. The system as in claim 4 , wherein the transaction buffer comprises a transaction command.

7. The system as in claim 1 , wherein creating one of the local update pending state or the remote update pending state comprises creating an update buffer in the event that the condition is satisfied.

8. The system as in claim 7 , wherein the update buffer comprises a maximum value.

9. The system as in claim 7 , wherein the update buffer comprises a minimum value.

10. The system as in claim 7 , wherein the update buffer comprises a number of transactions.

11. The system as in claim 1 , wherein committing the transaction comprises:

implement a commit state associated with the transaction in the first database, wherein the data in the first database is latched before implementing the commit state in the first database and is unlatched after the implementing of the commit state in the first database;

indicate to the second database that the commit state is to be implemented in the second database, wherein the data in the second database is latched before implementing the commit state in the second database and is unlatched after the implementing of the commit state in the second database.

12. The system as in claim 11 , wherein implementing a commit state comprises updating a data.

13. The system as in claim 11 , wherein implementing a commit state comprises updating an update buffer.

14. The system as in claim 11 , wherein implementing a commit state comprises updating a transaction buffer.

15. The system as in claim 1 , wherein checking the condition comprises reading a value of the data and comparing the value to the condition.

16. The system as in claim 15 , wherein the condition comprises a condition that the value of the data is one or more of the following: the same value, above a certain value, not changed more than a certain amount since a prior reading of the value, below a certain value, changed more than a certain amount since a prior reading of the value, not updated since a prior reading of the value, not updated since a specific writing of the value, updated since a specific writing of the value, read since a specific writing of the value, or not read since a specific writing of the value.

17. A method for processing a transaction, comprising:

checking, using a processor, a condition using data in a first database, wherein the data in the first database is associated with the transaction, wherein the data in the first database is locally prepared including checking the condition and creating a local update pending state, wherein the data in the first database is latched before checking the condition and unlatched after checking the condition; and

indicating to a second database to check the condition using data in the second database, wherein the data in the second database is associated with the transaction, wherein the data in the second database is remotely prepared including checking the condition and creating a remote update pending state, wherein the data in the second database is latched before checking the condition and unlatched after checking the condition;

wherein the transaction is committed in the event that the condition is satisfied in the first database and the second database, wherein committing the transaction comprises the data in the first database and the data in the second database being latched before the commit and unlatched after the commit.

18. A computer program product for processing a transaction, the computer program product comprising a non-transitory computer readable storage medium with computer instructions for:

checking a condition using data in a first database, wherein the data in the first database is associated with the transaction, wherein the data in the first database is locally prepared including checking the condition and creating a local update pending state, wherein the data in the first database is latched before checking the condition and unlatched after checking the condition; and

indicating to a second database to check the condition using data in the second database, wherein the data in the second database is associated with the transaction, wherein the data in the second database is remotely prepared including checking the condition and creating a remote update pending state, wherein the data in the second database is latched before checking the condition and unlatched after checking the condition;

wherein the transaction is committed in the event that the condition is satisfied in the first database and the second database, wherein committing the transaction comprises the data in the first database and the data in the second database being latched before the commit and unlatched after the commit.

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 →
Continuity (3)
Continuation 13548074 · Jul 12, 2012
Continuation 12661897 · Mar 24, 2010
Related Publication 20140164340A1 · Jun 12, 2014