# US 10,769,040 B2 · Logical equivalent replication with snapshot based fallback of database systems

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

- Number: US 10,769,040 B2
- Document ID: US10769040B2
- Status: Granted
- Kind: B2
- Application number: 15/357,689
- Filed: 2016-11-21
- Published: 2018-05-24
- Granted: 2020-09-08
- Earliest claimed: 2016-11-21
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Reiner Singer; Werner Thesing
- Web page: https://patentgrep.com/patent/US10769040B2

## CPC

- G06F 11/1658: {Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit}
- 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 2201/80: Database-specific techniques
- G06F 2201/855: Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer implemented method for replication includes registering a first database system with a second database system and performing a failback operation on the first database system. The failback operation includes opening a snapshot that includes data known to have existed on the first database system and the second database system at a first time. Transaction log information is requested from the second database system. The transaction log information corresponds to transactions performed on the second database system beginning with the first time. The transaction log information is applied to the snapshot data on the first database system. Related apparatus, systems, techniques and articles are also described.

## Claims

### Claim 1

A computer implemented method comprising:
registering a first database system comprising a first processor and a first memory with a separate and distinct second database system comprising a second processor and a second memory, the first database system comprises multiple snapshots; and
performing a failback operation to restore a state of the first database system comprising:
identifying a most recent snapshot in persistence storage of the second database system that is also present in persistent storage on the first database system, the most recent snapshot being identified as an active snapshot;
opening the snapshot comprising data known to have existed on the first database system and the second database system at a first time;
requesting transaction log information from the second database system, the transaction log information being a delta log corresponding to transactions performed on the second database system beginning with the first time; and
applying the transaction log information to the snapshot data on the first database system;
wherein:
older snapshots are deleted after the opened snapshot is identified as an active snapshot;
after applying the transaction log information to the snapshot data on the first database system, the data on the first database system is logically equivalent and physically different to data on the second database system.

### Claim 2 (depends on 1)

The method of claim 1, wherein the transaction log includes transaction through a current time.

### Claim 3 (depends on 1)

The method of claim 1, wherein the snapshot is retrieved from a persistent storage and saved to a main memory located within the first database system.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first database system registers as a new secondary database system and the second database system is a primary database system.

### Claim 5 (depends on 4)

The method of claim 4, wherein the second database system became the primary database system at a second time after the first time.

### Claim 6 (depends on 5)

The method of claim 5, wherein any transactions on the first database system that occurred after the second time are lost after performing the failback operation.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first database system and the second database system are in memory database (IMDB) systems.

### Claim 8

A system comprising:
a processor; and
a non-transitory computer readable media having computer executable instructions stored therein, which, when executed by the processor, causes the system to perform operations comprising:
registering a first database system comprising a first processor and a first memory with a separate and distinct second database system comprising a second processor and a second memory, the first database system comprises multiple snapshots; and
performing a failback operation to restore a state of the first database system comprising:
identifying a most recent snapshot in persistence storage of the second database system that is also present in persistent storage on the first database system, the most recent snapshot being identified as an active snapshot;
opening the snapshot comprising data known to have existed on the first database system and the second database system at a first time;
requesting transaction log information from the second database system, the transaction log information being a delta log corresponding to transactions performed on the second database system beginning with the first time; and
applying the transaction log information to the snapshot data on the first database system;
wherein:
older snapshots are deleted after the opened snapshot is identified as an active snapshot;
after applying the transaction log information to the snapshot data on the first database system, the data on the first database system is logically equivalent and physically different to data on the second database system.

### Claim 9 (depends on 8)

The system of claim 8, wherein the transaction log includes transaction through a current time.

### Claim 10 (depends on 8)

The system of claim 8, wherein the snapshot is retrieved from a persistent storage and saved to a main memory located within the first database system.

### Claim 11 (depends on 8)

The system of claim 8, wherein the first database system registers as a new secondary database system and the second database system is a primary database system.

### Claim 12 (depends on 11)

The system of claim 11, wherein the second database system became the primary database system at a second time after the first time.

### Claim 13 (depends on 12)

The system of claim 12, wherein any transactions on the first database system that occurred after the second time are lost after performing the failback operation.

### Claim 14 (depends on 8)

The system of claim 8, wherein the first database system and the second database system are in memory database (IMDB) systems.

### Claim 15

Anon-transitory computer program product storing instructions which, when executed by at least one processor, result in operations comprising:
registering a first database system comprising a first processor and a first memory with a separate and distinct second database system comprising a second processor and a second memory, the first database system comprises multiple snapshots; and
performing a failback operation to restore a state of the first database system comprising:
identifying a most recent snapshot in persistence storage of the second database system that is also present in persistent storage on the first database system, the most recent snapshot being identified as an active snapshot;
opening the snapshot comprising data known to have existed on the first database system and the second database system at a first time;
requesting transaction log information from the second database system, the transaction log information being a delta log corresponding to transactions performed on the second database system beginning with the first time; and
applying the transaction log information to the snapshot data on the first database system;
wherein:
older snapshots are deleted after the opened snapshot is identified as an active snapshot;
after applying the transaction log information to the snapshot data on the first database system, the data on the first database system is logically equivalent and physically different to data on the second database system.

### Claim 16 (depends on 15)

The non-transitory computer program product of claim 15, wherein the transaction log includes transaction through a current time.

### Claim 17 (depends on 15)

The non-transitory computer program product of claim 15, wherein the snapshot is retrieved from a persistent storage and saved to a main memory located within the first database system.

### Claim 18 (depends on 15)

The non-transitory computer program product of claim 15, wherein the first database system registers as a new secondary database system and the second database system is a primary database system.

### Claim 19 (depends on 15)

The non-transitory computer program product of claim 15, wherein the second database system became the primary database system at a second time after the first time, and wherein any transactions on the first database system that occurred after the second time are lost after performing the failback operation.

### Claim 20 (depends on 15)

The non-transitory computer program product of claim 15, wherein the first database system and the second database system are in memory database (IMDB) systems.
