IP Library › Granted Patent US 8,892,514
Granted Patent B2
US 8,892,514 · App. 13/618,785 · Granted Nov 18, 2014

Multi-path replication in databases

Inventors: Christopher Hugh Rank (Longmont, CO); Martin Stanley Pieczonka (Gold Canyon, AZ); Shuying Yu (Shanghai, CN); Rene Eduard Alexander Quakkelaar (Ter Aar, NL); Elena Isabel Lora Gallardo (Montrouge, FR)
Assignee: Sybase, Inc.
G06F17/30575
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,892,514
App. No.
13/618,785
Granted
Nov 18, 2014
Kind
B2
Abstract

Systems, methods and computer program products for multi-path replication in databases are described herein. A non-limiting embodiment includes instantiating a plurality of replicate connections to a replicate database, providing transactions to the replicate database through a plurality of transaction streams, where the transaction streams associated with respective instantiated replicate connections. Transactions occurring in distinct transaction streams are applied, in parallel, at the replicate database. Another non-limiting embodiment includes instantiating a plurality of replication sender threads, where the replication sender threads communicate in parallel with respective replication servers over respective replication paths. Data sharing one or more attributes can be bound to a replication path in communication with the respective replication servers.

Claims (33)

1. A computer-implemented method for database replication, comprising:

instantiating a plurality of replicate connections to a replicate database;

providing transactions to said replicate database through a plurality of transaction streams, said transaction streams associated with respective instantiated replicate connections; and

applying, in parallel at said replicate database, transactions occurring in distinct transaction streams in a commit order different from said transactions' commit order at a primary database.

2. The method of claim 1 , further comprising:

applying transactions sharing a transaction stream in a primary database commit order.

3. The method of claim 1 , wherein said providing is performed in accordance with one or more replication subscriptions.

4. The method of claim 1 , further comprising:

instantiating a plurality of connections to replication agent threads associated with a primary database.

5. The method of claim 1 , further comprising:

selectively assigning a replication path to a transaction based on said transaction's replication priority.

6. The method of claim 5 , further comprising:

identifying a replication path with less transaction congestion compared to transaction congestion in other replication paths; and

assigning a replication transaction with high replication priority to said identified replication path.

7. The method of claim 1 , further comprising:

dynamically distributing data to one or more replication connections based on one or more configurable parallelization rules.

8. A processor-based system for database replication, comprising:

a replicate database; and

a primary database comprising a processor and a memory, wherein said memory contains computer program instructions configured to be executed by said processor, and wherein the computer program instructions comprise:

a first module configured to instantiate a plurality of replicate connections to said replicate database;

a second module configured to provide transactions to said replicate database through a plurality of transaction streams, said transaction streams associated with respective said replicate connections; and

a third module configured to apply, in parallel at said replicate database, transactions occurring in distinct transaction streams in a commit order different from said transactions' commit order at said primary database.

9. The system of claim 8 , further comprising:

a fourth module configured to apply transactions in distinct transaction streams, at said replicate database, in a commit order distinct from said transactions' commit order at a primary database.

10. The system of claim 8 , further comprising:

a fourth module configured to instantiate a plurality of connections to replication agent threads associated with a primary database.

11. The system of claim 8 , further comprising:

a fourth module configured to identify a replication path with less transaction congestion compared to transaction congestion in other replication paths; and

a fifth module to assign a replication transaction with high replication priority to said identified replication path.

12. A computer program product including a computer-readable medium having instructions stored thereon that, if executed by a processing device, cause the processing device to perform operations comprising:

instantiating a plurality of replicate connections to a replicate database;

providing transactions to said replicate database through a plurality of transaction streams, said transaction streams associated with respective instantiated replicate connections; and

applying, in parallel at said replicate database, transactions occurring in distinct transaction streams in a commit order different from said transactions' commit order at a primary database.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2012
From: RANK, CHRISTOPHER HUGH; PIECZONKA, MARTIN STANLEY; YU, SHUYING; QUAKKELAAR, RENE EDUARD ALEXANDER; LORA GALLARDO, ELENA ISABEL
To: SYBASE, INC.
Reel/Frame 028962/0981 →
Continuity (2)
Provisional Application 61559845 · Nov 15, 2011
Related Publication 20130124464A1 · May 16, 2013