IP Library Granted Patent US 8,301,593
Granted Patent B2
US 8,301,593 · App. 12/483,849 · Granted Oct 30, 2012

Mixed mode synchronous and asynchronous replication system

Assignee: Gravic, Inc.
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,301,593
App. No.
12/483,849
Granted
Oct 30, 2012
Kind
B2
Abstract

A replication system that includes an asynchronous replication mode and a synchronous replication mode replicates data associated with a plurality of transactions. The replication system includes one or more target nodes connected via communication media in a topology. Each target node includes a database and a plurality of appliers allocated thereto. Each transaction has one or more transaction steps or operations. A first set of transaction steps or operations are allocated to the plurality of appliers on an object-by-object basis when the replication system operates in asynchronous replication mode. A second set of transaction steps or operations are allocated to the plurality of appliers on a transaction-by-transaction basis when the replication system operates in synchronous replication mode. The replication system further includes one or more originating nodes, and the requests for the first and second sets of transaction steps or operations to execute on an originating node can be initiated during the same time period.

Claims (49)

1. A method of operating a replication system that includes an asynchronous replication mode and a synchronous replication mode, the replication system replicating data associated with a plurality of transactions, the replication system including one or more target nodes and one or more originating nodes connected via communication media in a topology, each target node including a database and a plurality of appliers allocated thereto, each transaction having one or more transaction steps or operations, the method comprising:

(a) allocating a first set of transaction steps or operations from one of the originating nodes to the plurality of appliers of a target node on an object-by-object basis when the replication system operates in asynchronous replication mode; and

(b) allocating a second set of transaction steps or operations from the same originating node as step (a) to the plurality of appliers of the same target node as in step (a) on a transaction-by-transaction basis when the replication system operates in synchronous replication mode,

wherein the replication system allows for both the asynchronous replication mode and the synchronous replication mode at the same time, thereby allowing steps (a) and (b) to occur at the same time.

2. The method of claim 1 further comprising:

(c) initiating requests for the first and second sets of transaction steps or operations to execute on an originating node during the same time period, wherein steps (a) and (b) occur after the requests are initiated and during the same time period.

3. The method of claim 1 wherein at least one of steps (a) and (b) is performed by an application.

4. The method of claim 3 wherein the application uses an intercept library.

5. The method of claim 1 wherein the replication system is a bidirectional replication system.

6. The method of claim 1 wherein the object is a range of rows of a table.

7. The method of claim 1 wherein the plurality of appliers are separate processes.

8. The method of claim 1 wherein the plurality of appliers are located at the target node.

9. The method of claim 1 wherein step (a) further comprises allocating all transaction steps or operations to the plurality of appliers on an object-by-object basis when the replication system operates in asynchronous replication mode.

10. The method of claim 1 wherein step (b) further comprises allocating all transaction steps or operations to the plurality of appliers on a transaction-by-transaction basis when the replication system operates in synchronous replication mode.

11. The method of claim 1 further comprising:

(c) allocating a third set of transaction steps or operations to the plurality of appliers on a transaction-by-transaction basis when the replication system operates in asynchronous replication mode.

12. The method of claim 1 further comprising:

(c) allocating a third set of transaction steps or operations to the plurality of appliers on an object-by-object basis when the replication system operates in synchronous replication mode.

13. The method of claim 1 further comprising:

(c) switching from the synchronous replication mode to the asynchronous mode when synchronous replication cannot be ensured.

14. The method of claim 1 wherein when the replication system is operating according to step (a), the method further comprising:

(c) switching from the asynchronous replication mode to the synchronous mode by:

(i) allocating selective transaction steps or operations to the plurality of appliers on an object-by-object basis in a synchronous replication mode, and

(ii) allocating selective transaction steps or operations according to step (b).

15. The method of claim 1 further comprising:

(c) preventing selective transaction steps or operations that are requested to execute on the originating node from being initiated when replication cannot be ensured.

16. The method of claim 1 wherein the transaction steps or operations in step (a) are mutually exclusive with respect to the transaction steps or operations in step (b).

17. The method of claim 1 wherein the target node is remote from the originating node.

18. A method of operating a replication system that replicates data associated with a plurality of transactions, the replication system including one or more target nodes and one or more originating nodes connected via communication media in a topology, each target node including a database and a plurality of appliers allocated thereto, each transaction having one or more transaction steps or operations, the method comprising:

(a) providing a replication system that includes an asynchronous replication mode and a synchronous replication mode that can both operate during the same time period to replicate data associated with a plurality of transactions from the one or more originating nodes to the same target node;

(b) identifying a first set of transaction steps or operations that are requested to execute on one of the originating nodes to the replication system for replication to one of the target nodes in an asynchronous replication mode; and

(c) identifying a second set of transaction steps or operations that are requested to execute on the same originating node of step (b) to the replication system for replication to the same target node in step (b) in a synchronous replication mode; and

(d) using the plurality of appliers to replicate the first and second set of transaction steps or operations in their respective asynchronous and synchronous replication modes,

wherein the transaction steps or operations that are requested to execute on the originating node in steps (b) and (c) occur during the same time period, thereby allowing different sets of transaction steps or operations to be replicated to the same target node asynchronously and synchronously during the same time period.

19. The method of claim 18 wherein at least one of steps (b) and (c) is performed by an application.

20. The method of claim 19 wherein the application uses an intercept library.

21. The method of claim 18 wherein step (d) is performed by an application.

22. The method of claim 21 wherein the application uses an intercept library.

23. The method of claim 18 wherein the replication system is a bidirectional replication system.

24. The method of claim 18 wherein the plurality of appliers are separate processes.

25. The method of claim 18 wherein the plurality of appliers are located at the target node.

26. The method of claim 18 wherein step (d) further comprises replicating the identified second set of transaction steps or operations asynchronously when synchronous replication cannot be ensured.

27. The method of claim 18 wherein the step (d) further comprises preventing selective transaction steps or operations in the second set that are requested to execute on the originating node from being initiated when synchronous replication cannot be ensured.

28. The method of claim 18 wherein the transaction steps or operations in step (b) are mutually exclusive with respect to the transaction steps or operations in step (c).

29. The method of claim 18 wherein the target node is remote from the originating node.

30. The method of claim 18 wherein the plurality of appliers in step (d) are at the same target node.

31. The method of claim 18 wherein at least one of steps (b) and (c) is performed by the replication system.

32. The method of claim 18 wherein the second set of transaction steps or operations is replicated by the plurality of appliers in step (d) using coordinated commits.

33. The method of claim 18 wherein the replication system includes a collector.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2009
From: HOFFMAN, JOHN R.; HOLENSTEIN, PAUL J.; STRICKLER, GARY E.; HOLENSTEIN, BRUCE D.
To: GRAVIC, INC.
Reel/Frame 022860/0640 →
Continuity (4)
Provisional Application 61061040 · Jun 12, 2008
Provisional Application 61098509 · Sep 19, 2008
Provisional Application 61208273 · Feb 20, 2009
Related Publication 20090313311A1 · Dec 17, 2009