# US 12,003,572 B1 · Two-way replication of search node configuration files using a mediator node

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

- Number: US 12,003,572 B1
- Document ID: US12003572B1
- Status: Granted
- Kind: B1
- Application number: 17/804,260
- Filed: 2022-05-26
- Granted: 2024-06-04
- Earliest claimed: 2016-04-29
- Assignees: Splunk Inc.
- Applicants: Splunk Inc.
- Inventors: Ledion Bitincka; Vishal Patel; Geoffrey Hendrey; Eric Woo
- Web page: https://patentgrep.com/patent/US12003572B1

## CPC

- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 41/0813: characterised by the conditions triggering a change of settings
- H04L 41/0843: {based on generic templates}
- H04L 41/0856: {by backing up or archiving configuration information}
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L 69/329: in the application layer [OSI layer 7]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In a computer-implemented method for configuring a distributed computer system comprising a plurality of nodes of a plurality of node classes, configuration files for a plurality of nodes of each of the plurality of node classes are stored in a central repository. The configuration files include information representing a desired system state of the distributed computer system, and the distributed computer system operates to keep an actual system state of the distributed computer system consistent with the desired system state. The plurality of node classes includes forwarder nodes for receiving data from an input source, indexer nodes for indexing the data, and search head nodes for searching the data. Responsive to receiving changes to the configuration files, the changes are propagated to nodes of the plurality of nodes impacted by the changes based on a node class of the nodes impacted by the changes.

## Claims

### Claim 1

A computer-implemented method comprising:
storing, in a central repository on a management node, configuration files for a plurality of node classes of a data intake and query system; and
propagating changes, to one of the configuration files for one of the node classes comprising search nodes responsible for performing search operations on data collected by the data intake and query system, using two-way replication between the management node and the search nodes via a mediator node of the search nodes.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising propagating other changes, to another one of the configuration files for another one of the node classes, using one-way replication from the management node to nodes of the other node class via another mediator node of the other node class.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the mediator node is in a cluster of the search nodes, wherein the mediator node includes a search head configuration repository that manages, for each of the search nodes in the cluster, configuration checkpoints and deltas from the configuration checkpoints.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the search nodes are configured to asynchronously replicate local configuration files to the mediator node by transmitting deltas from configuration checkpoints.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the search nodes are configured to asynchronously replicate local configuration files to the mediator node by pulling a configuration checkpoint from the mediator node, merging local changes to the local configuration files with the configuration checkpoint to generate merged deltas, and pushing the merged deltas to the mediator node.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein using the two-way replication comprises the search nodes pulling a configuration checkpoint from the mediator node, overwriting a local configuration file using the configuration checkpoint, and subsequently pushing to the mediator node and pulling from the mediator node deltas from the configuration checkpoint.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the mediator node is in a cluster of the search nodes, the computer-implemented method further comprising, upon partitioning the cluster into a majority partition and a minority partition, buffering deltas from configuration checkpoints for a set of the search nodes in the minority partition until the minority partition is healed.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the mediator node is in a cluster of the search nodes, wherein the search nodes are configured to pull snapshots of a search head configuration repository from the mediator node, the computer-implemented method further comprising, upon partitioning the cluster into a majority partition and a minority partition, configuring one of the search nodes in the minority partition as a new mediator node for the minority partition using one of the snapshots of the search head configuration repository for the new mediator node.

### Claim 9

One or more non-transitory computer storage media containing instructions which when executed on one or more data processors, cause the one or more data processors to perform operations comprising:
storing, in a central repository on a management node, configuration files for a plurality of node classes of a data intake and query system; and
propagating changes, to one of the configuration files for one of the node classes comprising search nodes responsible for performing search operations on data collected by the data intake and query system, using two-way replication between the management node and the search nodes via a mediator node of the search nodes.

### Claim 10 (depends on 9)

The one or more non-transitory computer storage media of claim 9, the operations further comprising propagating other changes, to another one of the configuration files for another one of the node classes, using one-way replication from the management node to nodes of the other node class via another mediator node of the other node class.

### Claim 11 (depends on 9)

The one or more non-transitory computer storage media of claim 9, wherein the mediator node is in a cluster of the search nodes, wherein the mediator node include s a search head configuration repository configured to manage, for each of the search nodes in the cluster, configuration checkpoints and deltas from the configuration checkpoints.

### Claim 12 (depends on 9)

The one or more non-transitory computer storage media of claim 9, wherein the search nodes are configured to asynchronously replicate local configuration files to the mediator node by transmitting deltas from configuration checkpoints.

### Claim 13 (depends on 9)

The one or more non-transitory computer storage media of claim 9, wherein the search nodes are configured to asynchronously replicate local configuration files to the mediator node by pulling a configuration checkpoint from the mediator node, merging local changes to the local configuration files with the configuration checkpoint to generate merged deltas, and pushing the merged deltas to the mediator node.

### Claim 14 (depends on 9)

The one or more non-transitory computer storage media of claim 9, wherein using the two-way replication comprises the search nodes pulling a configuration checkpoint from the mediator node, overwriting a local configuration file using the configuration checkpoint, and subsequently pushing to the mediator node and pulling from the mediator node deltas from the configuration checkpoint.

### Claim 15 (depends on 9)

The one or more non-transitory computer storage media of claim 9, wherein the mediator node is in a cluster of the search nodes, the operations further comprising, upon partitioning the cluster into a majority partition and a minority partition, buffering deltas from configuration checkpoints for a set of the search nodes in the minority partition until the minority partition is healed.

### Claim 16 (depends on 9)

The one or more non-transitory computer storage media of claim 9, wherein the mediator node is in a cluster of the search nodes, wherein the search nodes are configured to pull snapshots of a search head configuration repository from the mediator node, the operations further comprising, upon partitioning the cluster into a majority partition and a minority partition, configuring one of the search nodes in the minority partition as a new mediator node for the minority partition using one of the snapshots of the search head configuration repository for the new mediator node.

### Claim 17

A system comprising:
one or more data processors; and
one or more non-transitory computer storage media containing instructions which when executed on the one or more data processors, cause the one or more processors to perform operations comprising:
storing, in a central repository on a management node, configuration files for a plurality of node classes of a data intake and query system; and
propagating changes, to one of the configuration files for one of the node classes comprising search nodes responsible for performing search operations on data collected by the data intake and query system, using two-way replication between the management node and the search nodes via a mediator node of the search nodes.

### Claim 18 (depends on 17)

The system of claim 17, wherein the search nodes are configured to asynchronously replicate local configuration files to the mediator node by transmitting deltas from configuration checkpoints.

### Claim 19 (depends on 17)

The system of claim 17, wherein the search nodes are configured to asynchronously replicate local configuration files to the mediator node by pulling a configuration checkpoint from the mediator node, merging local changes to the local configuration files with the configuration checkpoint to generate merged deltas, and pushing the merged deltas to the mediator node.

### Claim 20 (depends on 17)

The system of claim 17, wherein using the two-way replication comprises the search nodes pulling a configuration checkpoint from the mediator node, overwriting a local configuration file using the configuration checkpoint, and subsequently pushing to the mediator node and pulling from the mediator node deltas from the configuration checkpoint.
