IP Library Granted Patent US 9,904,721
Granted Patent B1
US 9,904,721 · App. 14/942,481 · Granted Feb 27, 2018

Source-side merging of distributed transactions prior to replication

Inventors: Paul J. Holenstein (Downingtown, PA); Bruce D. Holenstein (Media, PA); John R. Hoffmann (Kennett Square, PA)
Assignee: Gravic, Inc.
G06F17/30578G06F17/30377
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,904,721
App. No.
14/942,481
Granted
Feb 27, 2018
Kind
B1
Abstract

Methods and apparatus are provided for performing source-side merging of distributed transactions prior to replication, wherein a distributed transaction occurs at a plurality of nodes. A first node includes a database and an audit trail that stores database change events from the database of the first node. One or more other nodes each include a database and an audit trail that stores database change events from the database of the respective node. In use, a transaction is initiated which updates the database of the first node and the database at one or more of the other nodes. The database updates are captured in the audit trails of the respective nodes involved with the transaction. The first node receives and merges the database change events from the audit trails of each of the nodes involved in the transaction. The merged database change events are replicated via a replication engine only from the first node.

Claims (29)

1. A method of source-side merging of distributed transactions prior to replication in a transaction processing system that includes a plurality of nodes and a replication engine, wherein a distributed transaction occurs at a plurality of the nodes, a first node on a source system of the transaction processing system including (i) a database, (ii) an audit trail that stores database change events from the database of the first node, and (iii) an audit trail reader, and one or more other nodes on the source system each including (i) a database, (ii) an audit trail that stores database change events from the database of the respective node, and (iii) a daemon that receives the database change events from the audit trails of their respective nodes, the method comprising:

(a) initiating a distributed transaction in the transaction processing system which updates the database of the first node and the database at one or more of the other nodes;

(b) capturing the database updates in the audit trails of the respective nodes involved with the distributed transaction;

(c) the first node on the source system receiving and merging the database change events from the audit trails of each of the nodes involved in the distributed transaction; and

(d) replicating the merged database change events via the replication engine to a target system of the transaction processing system only from the first node on the source system,

wherein the audit trail reader sends requests to the respective daemons to send the database change events from the audit trails of each of the nodes involved in the distributed transaction to the first node on the source system for use in the merging, and

wherein the first node on the source system receives the database change events from the audit trails of each of the nodes involved in the distributed transaction via the daemons of the respective nodes.

2. The method of claim 1 wherein the first node on the source system is a root node for the distributed transaction and the one or more other nodes on the source system are subordinate nodes for the distributed transaction.

3. The method of claim 1 wherein the merged database change events are in natural-flow order.

4. The method of claim 1 wherein the merged database change events are in landed order.

5. The method of claim 1 wherein merging the database change events from the audit trails of each of the nodes involved in the distributed transaction uses memory buffers.

6. A transaction processing system for source-side merging of distributed transactions prior to replication, wherein a distributed transaction occurs at a plurality of nodes, the transaction processing system comprising:

(a) a first node on a source system of the transaction processing system including:

(i) a computer database,

(ii) an audit trail that stores computer database change events from the computer database of the first node, and

(iii) an audit trail reader;

(b) one or more other nodes on the source system each including:

(i) a computer database,

(ii) an audit trail that stores computer database change events from the computer database of the respective node, and

(iii) a daemon that receives the computer database change events from the audit trails of their respective nodes;

(c) a computer-executable application that initiates a distributed transaction in the transaction processing system which updates the computer database of the first node and the computer database at one or more of the other nodes, wherein the computer database updates are captured in the audit trails of the respective nodes involved with the distributed transaction;

(d) a computer-executable component included only in the first node on the source system that merges computer database change events from the audit trail of the first node on the source system and audit trails of the respective other nodes involved with the distributed transaction; and

(e) a replication engine that receives the merged computer database change events from the computer-executable component and replicates the merged computer database change events to a target system only from the first node on the source system,

wherein the audit trail reader sends requests to the respective daemons to send the computer database change events from the audit trails of each of the nodes involved in the distributed transaction to the first node on the source system for use in the merging, and

wherein the first node on the source system receives the computer database change events from the audit trails of each of the nodes involved in the distributed transaction via the daemons of the respective nodes.

7. The system of claim 6 wherein the first node, on the source system is a root node for the distributed transaction and the one or more other nodes on the source system are subordinate nodes for the distributed transaction.

8. The system of claim 6 wherein the merged computer database change events are in natural-flow order.

9. The system of claim 6 wherein the merged computer database change events are in landed order.

10. The system of claim 6 wherein the computer-executable component uses memory buffers.

Assignments (7)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Feb 19, 2019
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 048376/0915 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2019
From: GRAVIC, INC.
To: RPX CORPORATION
Reel/Frame 047943/0765 →
Continuity (2)
Continuation 14163362 · Jan 24, 2014
Provisional Application 61756831 · Jan 25, 2013