# US 7,613,740 B2 · Control of a data replication engine using attributes associated with a transaction

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

- Number: US 7,613,740 B2
- Document ID: US7613740B2
- Status: Granted
- Kind: B2
- Application number: 11/367,761
- Filed: 2006-03-03
- Published: 2006-09-07
- Granted: 2009-11-03
- Earliest claimed: 2005-03-03
- Assignees: Gravic, Inc.
- Inventors: Bruce D. Holenstein; Gary E. Strickler; Eugene P. Jarema; Paul J. Holenstein
- Web page: https://patentgrep.com/patent/US7613740B2

## CPC

- G06F 16/275: {Synchronous replication}
- G06F 11/2041: {with more than one idle spare processing component}
- G06F 11/2097: {maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups)}
- Y10S 707/99952: Coherency, e.g. same view to multiple users
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

A data replication engine is controlled in a system that replicates data associated with a plurality of transactions from a source database to a target database. The system includes a change queue that contains transaction data associated with the transactions. The system maintains one or more attributes outside of the change queue which are associated with transactions. One or more attributes outside of the change queue are identified which are associated with a transaction. The one or more of the identified attributes are then used to control the replication engine.

## Claims

### Claim 1

A method of controlling functionality of a data replication engine in a system that replicates data associated with a plurality of transactions from a source database to a target database, the data replication engine including default collision processing logic, the system including a change queue that contains transaction data associated with the transactions, wherein the system maintains one or more attributes outside of the change queue which are associated with transactions, the method comprising:
(a) identifying one or more attributes outside of the change queue which are associated with a transaction; and
(b) using the one or more of the identified attributes to control the functionality of the replication engine by overriding the default collision processing logic within the replication engine.

### Claim 2 (depends on 1)

The method of claim 1 wherein the replication engine controlled in step (b) is at the target database.

### Claim 3 (depends on 2)

The method of claim 2 further comprising, between steps (a) and (b):
(c) sending the one or more identified attributes to the replication engine at the target database; and
(d) sending the transaction that occurred at the source database to the replication engine at the target database.

### Claim 4 (depends on 1)

The method of claim 1 wherein one of the attributes is the user ID or process ID that initiated the transaction.

### Claim 5 (depends on 4)

The method of claim 4 wherein step (b) includes using the user ID or process ID to determine if a transaction should be prevented from being applied.

### Claim 6 (depends on 1)

The method of claim 1 wherein one of the attributes is the time when the transaction was initiated.

### Claim 7 (depends on 6)

The method of claim 6 wherein step (b) includes using the time when the transaction was initiated to determine if a transaction should be prevented from being applied.

### Claim 8 (depends on 1)

The method of claim 1 wherein one of the attributes is the identity of the terminal or device that initiated the transaction.

### Claim 9 (depends on 8)

The method of claim 8 wherein step (b) includes using the identity of the terminal or device that initiated the transaction to determine if a transaction should be prevented from being applied.

### Claim 10 (depends on 1)

The method of claim 1 wherein the replication engine controlled in step (b) is at the source database.

### Claim 11 (depends on 10)

The method of claim 10 wherein the one or more attributes are used to determine if a transaction should be prevented from being sent by the replication engine to the target database.

### Claim 12 (depends on 1)

The method of claim 1 wherein the one or more attributes in step (a) are maintained only outside of the change queue.

### Claim 13 (depends on 1)

The method of claim 1 wherein each transaction includes one or more transaction steps or transaction operations, and the one or more attributes are associated with specific transaction steps or transaction operations.

### Claim 14 (depends on 1)

The method of claim 1 wherein in step (b), the one or more attributes are used to identify a key replay transaction.

### Claim 15

An apparatus comprising a processor for controlling functionality of a data replication engine in a system that replicates data associated with a plurality of transactions from a source database to a target database, the data replication engine including default collision processing logic, the system including a change queue that contains transaction data associated with the transactions, wherein the system maintains one or more attributes outside of the change queue which are associated with transactions, the apparatus comprising:
(a) means for identifying one or more attributes outside of the change queue which are associated with a transaction; and
(b) means for using the one or more of the identified attributes to control the functionality of the replication engine by overriding the default collision processing logic within the replication engine.

### Claim 16 (depends on 15)

The apparatus of claim 15 wherein the replication engine that is being controlled is at the target database.

### Claim 17 (depends on 16)

The apparatus of claim 16 further comprising:
(c) means for sending the one or more identified attributes to the replication engine at the target database after the attributes are identified and before the attributes are used to control the functionality of the replication engine; and
(d) means for sending the transaction that occurred at the source database to the replication engine at the target database after the attributes are identified and before the attributes are used to control the functionality of the replication engine.

### Claim 18 (depends on 15)

The apparatus of claim 15 wherein one of the attributes is the user ID or process ID that initiated the transaction.

### Claim 19 (depends on 18)

The apparatus of claim 18 wherein the user ID or process ID is used by the means for using the one or more of the identified attributes to determine if a transaction should be prevented from being applied.

### Claim 20 (depends on 15)

The apparatus of claim 15 wherein one of the attributes is the time when the transaction was initiated.

### Claim 21 (depends on 20)

The apparatus of claim 20 wherein the time when the transaction was initiated is used by the means for using the one or more of the identified attributes to determine if a transaction should be prevented from being applied.

### Claim 22 (depends on 15)

The apparatus of claim 15 wherein one of the attributes is the identity of the terminal or device that initiated the transaction.

### Claim 23 (depends on 22)

The apparatus of claim 22 wherein the identity of the terminal or device that initiated the transaction is used by the means for using the one or more of the identified attributes to determine if a transaction should be prevented from being applied.

### Claim 24 (depends on 15)

The apparatus of claim 15 wherein the replication engine controlled by the means for using the one or more of the identified attributes is at the source database.

### Claim 25 (depends on 24)

The apparatus of claim 24 wherein the one or more attributes are used to determine if a transaction should be prevented from being sent by the replication engine to the target database.

### Claim 26 (depends on 15)

The apparatus of claim 15 wherein the one or more attributes outside of the change queue are maintained only outside of the change queue.

### Claim 27 (depends on 15)

The apparatus of claim 15 wherein each transaction includes one or more transaction steps or transaction operations, and the one or more attributes are associated with specific transaction steps or transaction operations.

### Claim 28 (depends on 15)

The apparatus of claim 15 wherein the one or more attributes are used by the means for using the one or more of the identified attributes to identify a key replay transaction.

### Claim 29 (depends on 1)

The method of claim 1 further comprising:
(c) inserting the one more attributes that are maintained outside of the change queue into the change queue, wherein step (b) uses the one or more attributes that were inserted into the change queue to control the functionality of the replication engine.

### Claim 30 (depends on 15)

The apparatus of claim 15 further comprising:
(c) means for inserting the one more attributes that are maintained outside of the change queue into the change queue, wherein the one or more attributes that were inserted into the change queue are used to control the functionality of the replication engine.
