# US 10,503,616 B2 · Periodic data replication

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

- Number: US 10,503,616 B2
- Document ID: US10503616B2
- Status: Granted
- Kind: B2
- Application number: 15/439,513
- Filed: 2017-02-22
- Published: 2017-06-08
- Granted: 2019-12-10
- Earliest claimed: 2010-11-29
- Assignees: CA, Inc.
- Applicants: CA, Inc.
- Inventors: Xiaopin Wang; Haiyang Zhang; Shaorong Li
- Web page: https://patentgrep.com/patent/US10503616B2

## CPC

- G06F 11/2038: {with a single idle spare processing component}
- G06F 11/1464: {for networked environments}
- G06F 11/1662: {the resynchronized component or unit being a persistent storage device (re-synchronization of failed mirror storage G06F11/2082; rebuild or reconstruction of parity RAID storage G06F11/1008)}
- G06F 11/2097: {maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups)}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods for replicating data from a production server to a backup server include recording at least one operation on one or more data items stored in a volume of a production server. The operation may be recorded as at least one journal event in a memory. A determination may then be made regarding whether a system malfunction incident has occurred in the production server and if so, a first set of journal events may be transferred from the memory to an auxiliary storage at a first time instant. At a second time instant, a second set of journal events recorded in the memory between the first and second time instants may be transferred to the auxiliary storage. At one journal event stored in the auxiliary storage unit may then be sent for replication to a backup server.

## Claims

### Claim 1

A method, comprising:
determining whether a system malfunction incident has occurred in a production server that has recorded an operation performed on a data item stored in a volume of the production server as a journal event in a memory, wherein:
the system malfunction incident comprises:
a storage capacity of the memory reaching a threshold;
failure of a connection between the production and backup servers; and/or
failure to capture the snapshot of the volume of the production server; and
the system malfunction prevents or halts replication from the operational production server to a backup server, prevents or halts recording of the operation performed on the data item, and/or prevents or halts capturing in the operational production server of a snapshot of data for replication;
transferring the journal event from the memory to an auxiliary storage unit at a first time instant, responsive to a determination that the system malfunction incident has occurred;
transferring, at a second time instant, an additional journal event recorded in the memory between the first and second time instants to the auxiliary storage unit; and
sending the journal event stored in the auxiliary storage unit for replication to a backup server.

### Claim 2 (depends on 1)

The method of claim 1, further comprising consolidating the journal event with a previously recorded journal event as the journal event is recorded in the memory.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
consolidating the journal event and the additional journal event in the auxiliary storage as an event sequence; and
sending at least part of the event sequence for replication to a backup server.

### Claim 4 (depends on 1)

The method of claim 1, wherein the operation is recorded as the journal event without recording data content associated with the operation.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
capturing a snapshot of the volume of the production server; and
sending a point in time of the capturing of the snapshot to the backup server.

### Claim 6 (depends on 5)

The method of claim 5, wherein the capturing the snapshot invokes the transferring step at the second time instant.

### Claim 7 (depends on 5)

The method of claim 5, further comprising:
retrieving data associated with the journal event stored in the auxiliary storage unit from the captured snapshot; and.
sending the retrieved data along with the journal event stored in the auxiliary storage unit to the backup server.

### Claim 8 (depends on 1)

The method of claim 1, comprising:
steps for data replication from a primary server to replica server.

### Claim 9 (depends on 1)

The method of claim 1, the auxiliary storage unit comprises means for acting as a backup server.

### Claim 10 (depends on 1)

The method of claim 1, comprising steps for copying data items in a consistent state.

### Claim 11 (depends on 1)

The method of claim 1, comprising steps for performing an initial synchronization.

### Claim 12

A system comprising:
a hardware processor system configured to:
determine whether a system malfunction incident has occurred in a production server that has recorded an operation performed on a data item stored in a volume of the production server as a journal event in a memory, wherein:
the system malfunction incident comprises:
a storage capacity of the memory reaching a threshold;
failure of a connection between the production and backup servers; and/or
failure to capture the snapshot of the volume of the production server; and
the system malfunction prevents or halts replication from the operational production server to a backup server, prevents or halts recording of the operation performed on the data item, and/or prevents or halts capturing in the operational production server of a snapshot of data for replication;
transfer the journal event from the memory to an auxiliary storage unit at a first time instant, responsive to a determination that the system malfunction incident has occurred;
transfer, at a second time instant, an additional journal event recorded in the memory between the first and second time instants to the auxiliary storage unit; and
send the journal event stored in the auxiliary storage unit for replication to a backup server.

### Claim 13 (depends on 12)

The system of claim 12, wherein the processor system is further configured to consolidate the journal event with a previously recorded journal event as the journal event is recorded in the memory.

### Claim 14 (depends on 12)

The system of claim 12, wherein the processor system is further configured to:
consolidate the journal event and the additional journal event in the auxiliary storage as an event sequence; and
send at least part of the event sequence for replication to a backup server.

### Claim 15 (depends on 14)

The system of claim 14, wherein the operation is recorded as the journal event without recording data content associated with the operation.

### Claim 16 (depends on 12)

The system of claim 12, wherein the processor system is further configured to:
capture a snapshot of the volume of the production server; and
send a point in time of the capturing of the snapshot to the backup server.

### Claim 17 (depends on 16)

The system of claim 16, wherein the processor system is further configured to transfer the additional journal event at the second time instant after capturing a snapshot of the volume of the production server.

### Claim 18 (depends on 16)

The system of claim 16, wherein the processor system is further configured to:
retrieve data associated with the journal event stored in the auxiliary storage unit from the captured snapshot; and
send the retrieved data along with the journal event stored in the auxiliary storage unit to the backup server.

### Claim 19 (depends on 12)

The system of claim 12, wherein:
the hardware processor system is configured to execute steps for data replication from a primary server to replica server.

### Claim 20 (depends on 12)

The system of claim 12, the auxiliary storage unit comprises means for acting as a backup server.

### Claim 21 (depends on 12)

The system of claim 12, wherein the hardware processor system is configured to execute steps for copying data items in a consistent state.

### Claim 22 (depends on 12)

The system of claim 12, wherein the hardware processor system is configured to execute steps for performing an initial synchronization.

### Claim 23

A computer program product comprising:
a non-transitory computer readable storage medium storing information, the stored information comprising:
instructions configured to cause a processor to:
determine whether a system malfunction incident has occurred in a production server that has recorded an operation performed on a data item stored in a volume of the production server as a journal event in a memory, wherein:
the system malfunction incident comprises:
a storage capacity of the memory reaching a threshold;
failure of a connection between the production and backup servers; and/or
failure to capture the snapshot of the volume of the production server; and
the system malfunction prevents or halts replication from the operational production server to a backup server, prevents or halts recording of the operation performed on the data item, and/or prevents or halts capturing in the operational production server of a snapshot of data for replication;
transfer the journal event from the memory to an auxiliary storage unit at a first time instant, responsive to a determination that the system malfunction incident has occurred;
transfer, at a second time instant, an additional journal event recorded in the memory between the first and second time instants to the auxiliary storage unit; and
send the journal event stored in the auxiliary storage unit for replication to a backup server.

### Claim 24 (depends on 23)

The computer program product of claim 23, further comprising instructions configured to cause the processor to:
consolidate the journal event and the additional journal event in the auxiliary storage as an event sequence; and
send at least part of the event sequence for replication to a backup server.

### Claim 25 (depends on 23)

The computer program product of, claim 23, further comprising instructions configured to cause the processors to:
retrieve data associated with the journal event stored in the auxiliary storage unit from the captured snapshot; and
send the retrieved data along with the journal event stored in the auxiliary storage unit to the backup server.
