# US 2021/0240731 A1 · Cross Cluster Replication

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

- Number: US 2021/0240731 A1
- Document ID: US20210240731A1
- Status: Published application
- Kind: A1
- Application number: 17/235,821
- Filed: 2021-04-20
- Published: 2021-08-05
- Earliest claimed: 2018-12-21
- Assignees: Elasticsearch B.V.
- Applicants: Elasticsearch B.V.
- Inventors: Boaz Leskes
- Web page: https://patentgrep.com/patent/US20210240731A1

## CPC

- G06F 11/1658: {Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/065: {Replication mechanisms}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 11/1407: {Checkpointing the instruction stream}
- G06F 11/1464: {for networked environments}
- G06F 11/2097: {maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups)}
- G06F 11/28: by checking the correct order of processing (G06F11/08 - G06F11/26 take precedence; monitoring patterns of pulse trains H03K5/19)
- G06F 16/275: {Synchronous replication}
- G06F 16/278: {Data partitioning, e.g. horizontal or vertical partitioning}
- H04L 63/0272: {Virtual private networks}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/10: {for controlling access to devices or network resources}
- G06F 11/2035: {without idle spare hardware}
- G06F 11/2048: {where the redundant components share neither address space nor persistent storage}
- G06F 2201/81: Threshold
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- H04L 63/166: {at the transport layer}
- 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

Methods and systems for cross cluster replication are provided. Exemplary methods include: periodically requesting by a follower cluster history from a leader cluster, the history including at least one operation and sequence number pair, the operation having changed data in a primary shard of the leader cluster; receiving history and a first global checkpoint from the leader cluster; when a difference between the first global checkpoint and a second global checkpoint exceeds a user-defined value, concurrently making multiple additional requests for history from the leader cluster; and when a difference between the first global checkpoint and the second global checkpoint is less than a user-defined value, executing the at least one operation, the at least one operation changing data in a primary shard of the follower cluster, such that an index of the follower cluster replicates an index of the leader cluster.

## Claims

### Claim 1

A computer-implemented method for updating history and a global checkpoint comprising:
receiving an operation by a leader cluster, the operation changing data in a primary shard of the leader cluster;
assigning a sequence number to the operation;
incrementing the sequence number;
executing the operation;
evaluating completion of the operation;
when the operation is not successfully completed, rolling back the operation;
when the operation is successfully completed, storing the operation and sequence number in the history of the leader cluster; and
updating the global checkpoint to the sequence number associated with the successfully completed operation.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the operation comprises at least one of creating, indexing, updating, and deleting a document.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the leader cluster include at least one leader index.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein the leader index includes one or more primary shards.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the leader cluster and a follower cluster are the same cluster.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein a follower cluster has at least some of the characteristics of the leader cluster.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the leader cluster and a follower cluster are different clusters and are located in different locations.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the leader cluster and a follower cluster have a same number of primary shards.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein a follower cluster and the leader cluster are located in at least one of different datacenters, different cities, different countries, and different continents.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein a follower cluster and the leader cluster communicate with each other using a cryptographic protocol.

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, further comprising periodically providing the history of the leader cluster to a follower cluster.

### Claim 12 (depends on 1)

The computer-implemented method of claim 1, further comprising sending both the history and the global checkpoint of the leader cluster to a follower cluster.

### Claim 13

A system for cross cluster replication comprising:
a processor; and
a memory communicatively coupled to the processor, the processor storing instructions executable by the processor to perform a method comprising:
receiving an operation by a leader cluster, the operation changing data in a primary shard of the leader cluster;
assigning a sequence number to the operation;
incrementing the sequence number;
executing the operation;
evaluating completion of the operation;
when the operation is not successfully completed, rolling back the operation;
when the operation is successfully completed, storing the operation and sequence number in the history of the leader cluster; and
updating the global checkpoint to the sequence number associated with the successfully completed operation.

### Claim 14 (depends on 13)

The system of claim 13, wherein the operation comprises at least one of creating, indexing, updating, and deleting a document.

### Claim 15 (depends on 13)

The system of claim 13, wherein the leader cluster include at least one leader index.

### Claim 16 (depends on 15)

The system of claim 15, wherein the leader index includes one or more primary shards.

### Claim 17 (depends on 13)

The system of claim 13, wherein the leader cluster and a follower cluster are the same cluster.

### Claim 18 (depends on 13)

The system of claim 13, wherein a follower cluster have at least some of the characteristics of the leader cluster.

### Claim 19 (depends on 13)

The system of claim 13, wherein the leader cluster and a follower cluster are different clusters and are located in different locations.

### Claim 20 (depends on 13)

The system of claim 13, wherein the leader cluster and a follower cluster have a same number of primary shards.
