# US 10,482,104 B2 · Zero-data loss recovery for active-active sites configurations

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

- Number: US 10,482,104 B2
- Document ID: US10482104B2
- Status: Granted
- Kind: B2
- Application number: 14/849,680
- Filed: 2015-09-10
- Published: 2016-08-25
- Granted: 2019-11-19
- Earliest claimed: 2015-02-25
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Serge Bourbonnais; Jing Cheng; You-Chin Fuh; David B. Petersen; James Z. Teng; Hong Jing Ying; Miao Zheng
- Web page: https://patentgrep.com/patent/US10482104B2

## CPC

- G06F 16/273: {Asynchronous replication or reconciliation}
- G06F 11/1402: {Saving, restoring, recovering or retrying}
- G06F 11/2023: {Failover techniques}
- G06F 11/2025: {using centralised failover control functionality}
- G06F 11/2035: {without idle spare hardware}
- G06F 11/2046: {where the redundant components share persistent storage (G06F11/2043 takes precedence)}
- G06F 11/2097: {maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups)}
- G06F 16/275: {Synchronous replication}
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system for providing continuous availability comprises a second computing site that is geographically remote from a first computing site. The second computing site comprises a storage unit configured to store units of work data and data synchronously replicated from the first computing site. The second computing site further comprises a group of workloads configured to process the units of work data asynchronously replicated from the first computing site. The second computing site further comprises a software replication module configured not to replicate any data while the first computing site is available.

## Claims

### Claim 1

A method for providing continuous availability, comprising:
by a first group of workloads of a first computing site, receiving units of work data, processing the units of work data, and outputting data results in response to the processing of the units of work data, wherein the first group of workloads includes a database;
by a first software replication module of the first computing site, asynchronously replicating the units of work data to a second computing site that is geographically remote from the first computing site, wherein the units of work data that are asynchronously replicated includes a subset of logged transactional data, wherein the first software replication module employs a log capture replication technique that filters logged transactional data and provides access to active log buffers via one or more database management system (DBMS) interfaces of the first computing site, wherein the active log buffers store log records at least before the log records are persisted to a disk on a DBMS commit, wherein the log capture replication technique filters out log records by sending to the second computing site only change column values for transactions that update the database;
by a first storage unit of the first computing site, storing the units of work data and storing the outputted data results;
by a first hardware replication module of a first computing site, synchronously replicating, from the first storage unit to the second computing site, the units of work data and the outputted data results, wherein the units of work data and the outputted data results that are synchronously replicated by the first hardware replication module are associated with disk write operations and not with disk read operations;
by a second storage unit of the second computing site, storing the units of work data that were synchronously replicated from the first computing site to the second computing site and storing the outputted data results that were synchronously replicated from the first computing site to the second computing site;
by a second group of workloads of the second computing site, processing the units of work data that were asynchronously replicated from the first computing site;
by a read-only computing component of the second computing site, the read-only component becoming active in response to detecting an outage of the first computing site; and
by a second software replication module of the second computing site, replicating no data while the first computing site is available, and starting asynchronous replication of the units of work data stored in the second storage unit to the second group of workloads in response to the detected outage of the first computing site such that asynchronous replication is resumed for any units of the units of work data that have not been asynchronously replicated to the second group of workloads due to the detected outage of the first computing site.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
by a single computing component of the second computing site, processing no unit of work data while the first computing site is available.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
by the second group of workloads, starting receiving units of work data in response to an outage of the first computing site.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first and second computing sites are separated by a distance greater than a metropolitan area network (MAN).
