# US 11,907,253 B2 · Secure cluster pairing for business continuity and disaster recovery

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

- Number: US 11,907,253 B2
- Document ID: US11907253B2
- Status: Granted
- Kind: B2
- Application number: 17/563,449
- Filed: 2021-12-28
- Published: 2022-04-21
- Granted: 2024-02-20
- Earliest claimed: 2018-07-13
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Geetha Srikantan; Sudarsana Rao Piduri; Siddharth Sambamoorthy; Ashish Hanwadikar; Suresh Dussa; Aaron Anton Kapacinskas; Mohan Kumar
- Web page: https://patentgrep.com/patent/US11907253B2

## CPC

- H04L 41/0663: Performing the actions predefined by failover planning, e.g. switching to standby network elements
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 11/1464: {for networked environments}
- G06F 11/1469: {Backup restoration techniques}
- G06F 11/1484: {involving virtual machines}
- 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 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- H04L 41/0893: Assignment of logical groups to network elements
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 45/02: Topology update or discovery
- H04L 47/728: {for backup paths}
- H04L 47/746: {Reaction triggered by a failure}
- H04L 63/0263: {Rule management}
- H04L 63/0272: {Virtual private networks}
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F 2201/815: Virtual
- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- H04L 41/0853: by actively collecting configuration information or by backing up configuration information
- H04L 41/0873: Checking configuration conflicts between network elements
- H04L 41/12: Discovery or management of network topologies
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques are disclosed for providing backup protection. A first subnet is established for replication in a first cluster that includes a plurality of host devices. Each of the host devices includes a respective controller virtual machine, which together form a virtual local area network for replication. Each of the controller virtual machines is assigned an Ethernet interface. A replication Internet Protocol address is assigned to each of the Ethernet interfaces of the controller virtual machines. Route tables and firewall rules of the controller virtual machines are modified to allow communications between nodes of the first subnet. The first subnet is configured with information related to a second subnet for replication in a second cluster. A dedicated communication channel is generated for replication between the first cluster and the second cluster based on the configuring.

## Claims

### Claim 1

A method comprising:
establishing a first subnet for replication in a first cluster that includes a plurality of host devices, each of the host devices including a respective controller virtual machine, which together form a virtual local area network for replication, each of the controller virtual machines being assigned an Ethernet interface;
assigning a respective replication Internet Protocol (IP) address to the Ethernet interface of each of the controller virtual machines;
modifying route tables and firewall rules of the controller virtual machines to allow communications between nodes of the first subnet;
designating a node in the first cluster to control replication operations with a second cluster, and assigning to the node in the first cluster a replication cluster IP address;
receiving, by the node in the first cluster, via the replication cluster IP address, information related to a second subnet for replication in a second cluster;
determining whether the second subnet and the first subnet are engaged in a self-pairing operation;
in response to determining that the second subnet and the first subnet are not engaged in a self-pairing operation, configuring the first subnet with the information related to the second subnet to pair the first cluster with the second cluster;
generating a dedicated communication channel for replication between the first cluster and the second cluster based on the configuring;
communicating information for disaster recovery to the second cluster through the dedicated communication channel so as to provide backup protection for the first cluster,
determining that the second subnet is not reachable for a predetermined amount of time; and
removing the dedicated communication channel for replication between the first cluster and the second cluster by un-pairing the first cluster from the second cluster, wherein the un-pairing is performed at the first cluster, but not at the second cluster, which is not reachable.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
querying the second cluster to obtain a software version used by the second cluster; and
comparing the software version used by the second cluster with a software version used by the first cluster to determine compatibility.

### Claim 3 (depends on 1)

The method of claim 1, wherein the information related to the second subnet for replication includes one or more of a cluster name of the second cluster, an identifier of the second cluster, an identifier of a gateway of the second subnet, or a replication cluster IP address of the second subnet, wherein the method further comprises:
determining whether the second subnet and the first subnet are engaged in a self-pairing operation by determining whether the information related to the second subnet for replication is different from information related to the first subnet for replication.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
invoking an application programming interface (API) on a management service in the first cluster to configure the first subnet with the information related to the second subnet.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
updating the node in the first cluster to store the information related to the second subnet for replication; and
invoking a callback function in the first cluster such that the node in the first cluster causes other nodes of the first cluster to store the information related to the second subnet for replication.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
modifying the firewall rules for each of the controller virtual machines of the first subnet based on the information related to the second subnet for replication to allow replication traffic from the second subnet to communicate with the first subnet; and
modifying the route tables for each of the controller virtual machines of the first subnet based on the information related to the second subnet for replication to allow replication traffic from the first subnet to communicate with the second subnet.

### Claim 7 (depends on 1)

The method of claim 1, further comprising establishing the first subnet via a fabric interconnect device.

### Claim 8

An apparatus, comprising:
a communication interface that enables network communications;
a hardware processor; and
a memory storing data and instructions executable by the hardware processor,
wherein the hardware processor is configured to execute the instructions to:
establish a first subnet for replication in a first cluster that includes a plurality of host devices, each of the host devices including a respective controller virtual machine, which together form a virtual local area network for replication, each of the controller virtual machines being assigned an Ethernet interface;
assign a respective replication Internet Protocol (IP) address to the Ethernet interface of each of the controller virtual machines;
modify route tables and firewall rules of the controller virtual machines to allow communications between nodes of the first subnet;
designate a node in the first cluster to control replication operations with a second cluster, and assign to the node in the first cluster a replication cluster IP address;
receive, by the node in the first cluster, via the replication cluster IP address, information related to a second subnet for replication in a second cluster;
determine whether the second subnet and the first subnet are engaged in a self-pairing operation;
in response to determining that the second subnet and the first subnet are not engaged in a self-pairing operation, configure the first subnet with the information related to the second subnet to pair the first cluster with the second cluster;
generate a dedicated communication channel for replication between the first cluster and the second cluster based on the configuring;
communicate information for disaster recovery to the second cluster through the dedicated communication channel so as to provide backup protection for the first cluster;
determine that the second subnet is not reachable for a predetermined amount of time; and
remove the dedicated communication channel for replication between the first cluster and the second cluster by un-pairing the first cluster from the second cluster, wherein the un-pairing is performed at the first cluster, but not at the second cluster, which is not reachable.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the hardware processor is further configured to:
query the second cluster to obtain a software version used by the second cluster; and
compare the software version used by the second cluster with a software version used by the first cluster to determine compatibility.

### Claim 10 (depends on 8)

The apparatus of claim 8, wherein the information related to the second subnet for replication includes one or more of a cluster name of the second cluster, an identifier of the second cluster, an identifier of a gateway of the second subnet, or a replication cluster IP address of the second subnet, wherein the hardware processor is further configured to:
determine whether the second subnet and the first subnet are engaged in a self-pairing operation by determining whether the information related to the second subnet for replication is different from information related to the first subnet for replication.

### Claim 11 (depends on 8)

The apparatus of claim 8, wherein the hardware processor is further configured to:
invoke an application programming interface (API) on a management service in the first cluster to configure the first subnet with the information related to the second subnet.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the hardware processor is further configured to:
update the node in the first cluster to store the information related to the second subnet for replication; and
invoke a callback function in the first cluster such that the node in the first cluster causes other nodes of the first cluster to store the information related to the second subnet for replication.

### Claim 13 (depends on 8)

The apparatus of claim 8, wherein the hardware processor is further configured to:
modify the firewall rules for each of the controller virtual machines of the first subnet based on the information related to the second subnet for replication to allow replication traffic from the second subnet to communicate with the first subnet; and
modify the route tables for each of the controller virtual machines of the first subnet based on the information related to the second subnet for replication to allow replication traffic from the first subnet to communicate with the second subnet.

### Claim 14 (depends on 8)

The apparatus of claim 8, wherein the hardware processor is further configured to:
establish the first subnet via a fabric interconnect device.

### Claim 15

A non-transitory computer-readable storage medium encoded with software comprising computer executable instructions which, when executed by a hardware processor of a node in a first computer cluster, cause the hardware processor to:
establish a first subnet for replication in a first cluster that includes a plurality of host devices, each of the host devices including a respective controller virtual machine, which together form a virtual local area network for replication, each of the controller virtual machines being assigned an Ethernet interface;
assign a respective replication Internet Protocol (IP) address to the Ethernet interface of each of the controller virtual machines;
modify route tables and firewall rules of the controller virtual machines to allow communications between nodes of the first subnet;
designate a node in the first cluster to control replication operations with a second cluster, and assign to the node in the first cluster a replication cluster IP address;
receive, by the node in the first cluster, via the replication cluster IP address, information related to a second subnet for replication in a second cluster;
determine whether the second subnet and the first subnet are engaged in a self-pairing operation;
in response to determining that the second subnet and the first subnet are not engaged in a self-pairing operation, configure the first subnet with the information related to the second subnet to pair the first subnet with the second subnet;
generate a dedicated communication channel for replication between the first cluster and the second cluster based on the configuring;
communicate information for disaster recovery to the second cluster through the dedicated communication channel so as to provide backup protection for the first cluster;
determine that the second subnet is not reachable for a predetermined amount of time; and
remove the dedicated communication channel for replication between the first cluster and the second cluster by un-pairing the first cluster from the second cluster, wherein the un-pairing is performed at the first cluster, but not at the second cluster, which is not reachable.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the instructions further cause the hardware processor to:
query the second cluster to obtain a software version used by the second cluster; and
compare the software version used by the second cluster with a software version used by the first cluster to determine compatibility.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the information related to the second subnet for replication includes one or more of a cluster name of the second cluster, an identifier of the second cluster, an identifier of a gateway of the second subnet, or a replication cluster IP address of the second subnet, wherein the instructions further cause the hardware processor to:
determine whether the second subnet and the first subnet are engaged in a self-pairing operation by determining whether the information related to the second subnet for replication is different from information related to the first subnet for replication.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the instructions further cause the hardware processor to:
invoke an application programming interface (API) on a management service in the first cluster to configure the first subnet with the information related to the second subnet.

### Claim 19 (depends on 18)

The non-transitory computer-readable storage medium of claim 18, wherein the instructions further cause the hardware processor to:
update the node in the first cluster to store the information related to the second subnet for replication; and
invoke a callback function in the first cluster such that the node in the first cluster causes other nodes of the first cluster to store the information related to the second subnet for replication.

### Claim 20 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the instructions further cause the hardware processor to:
modify the firewall rules for each of the controller virtual machines of the first subnet based on the information related to the second subnet for replication to allow replication traffic from the second subnet to communicate with the first subnet; and
modify the route tables for each of the controller virtual machines of the first subnet based on the information related to the second subnet for replication to allow replication traffic from the first subnet to communicate with the second subnet.
