# US 11,030,219 B1 · Method for replacing a currently operating data replication engine with a new data replication engine without application downtime and while preserving target database consistency, and by using audit trail tokens

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,030,219 B1
- Document ID: US11030219B1
- Status: Granted
- Kind: B1
- Application number: 16/680,004
- Filed: 2019-11-11
- Granted: 2021-06-08
- Earliest claimed: 2016-12-20
- Assignees: Gravic, Inc.
- Applicants: Gravic, Inc.
- Inventors: Paul J. Holenstein; Bruce D. Holenstein; John R. Hoffmann; Wilbur H. Highleyman
- Web page: https://patentgrep.com/patent/US11030219B1

## CPC

- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/273: {Asynchronous replication or reconciliation}
- G06F 9/466: {Transaction processing}
- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- G06F 11/2097: {maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups)}
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 11/1471: involving logging of persistent data for recovery
- G06F 11/1474: in transactions (updating of structured data in databases G06F16/23)
- G06F 2201/80: Database-specific techniques
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An automated method is provided for replacing a currently operating data replication engine with a new data replication engine. The currently operating data replication engine replicates source database transactions including any new source database transactions committed in an audit trail of the source database before the currently operating data replication engine stops replicating. A list of active database transactions is generated and recorded as a first token in the audit trail. The currently operating data replication engine is stopped when all of the database transactions in the first token have completed. The new data replication engine is started and positioned to begin processing source database transactions in the audit trail of the source database at a beginning position that is located at or prior to the position of the first token in the audit trail. The new data replication engine replicates source database transactions by ignoring source database transactions listed in the first token and those which completed prior to the position where the currently operating data replication engine stopped, and replicates remaining source database transactions started prior to the current engine stopping, plus those new database transactions started after the currently operating data replication engine stopped.

## Claims

### Claim 1

An automated method for replacing a currently operating data replication engine with a new data replication engine without application downtime and while preserving target database consistency,
the currently operating data replication engine and the new data replication engine replicating source database transactions from an audit trail of a source database in a source system to a target database;
the method comprising replacing the currently operating data replication engine with the new data replication engine, the replacing comprising the steps of:
(a) the currently operating data replication engine replicating source database transactions including any new source database transactions committed in the audit trail of the source database before the currently operating data replication engine stopped replicating;
(b) generating a list of active database transactions, and recording the list of active database transactions as a first token into a position in the audit trail;
(c) stopping the currently operating data replication engine when all of the database transactions in the first token have completed;
(d) starting the new data replication engine;
(e) positioning the new data replication engine to begin processing source database transactions in the audit trail of the source database at a beginning position that is located at or prior to the position of the first token in the audit trail; and
(f) the new data replication engine replicating source database transactions, the replicating comprising:
(i) ignoring source database transactions in the first token,
(ii) ignoring source database transactions which completed prior to the position where the currently operating data replication engine stopped,
(iii) replicating remaining source database transactions from the source database to the target database, the remaining source database transactions being source database transactions started prior to the current data replication engine stopping, and not replicated by the currently operating data replication engine, and
(iv) replicating all new source database transactions started after the currently operating data replication engine stopped.

### Claim 2 (depends on 1)

The method of claim 1 wherein the first token position is a physical event written into the audit trail.

### Claim 3 (depends on 1)

The method of claim 1 wherein the first token position is a virtual event which is not recorded into the audit trail.

### Claim 4 (depends on 1)

The method of claim 1 wherein the replicating occurs in the source database transaction commit order.

### Claim 5 (depends on 1)

The method of claim 1 further comprising:
(g) recording as a second token a position in the audit trail when all of the transactions in the first token have completed, wherein the second token position is used as the position where the currently operating data replication engine stopped.

### Claim 6 (depends on 5)

The method of claim 5 wherein the second token position is a physical event written into the audit trail.

### Claim 7 (depends on 5)

The method of claim 5 wherein the second token position is a virtual event which is not recorded into the audit trail.

### Claim 8 (depends on 1)

The method of claim 1 wherein the new data replication engine is started in step (d) when the currently operating data replication engine is stopped.

### Claim 9 (depends on 1)

The method of claim 1 wherein the list of active database transactions is provided by the data replication engine.

### Claim 10 (depends on 1)

The method of claim 1 wherein the list of active database transactions is provided by a database management system (DBMS) or a transaction management facility (TMF).

### Claim 11 (depends on 1)

The method of claim 1 wherein the list of active database transactions is provided by searching the audit trail from a current time stamp back to or past an abort timer time.
