# US 11,444,836 B1 · Multiple clusters managed by software-defined network (SDN) controller

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

- Number: US 11,444,836 B1
- Document ID: US11444836B1
- Status: Granted
- Kind: B1
- Application number: 16/912,596
- Filed: 2020-06-25
- Granted: 2022-09-13
- Earliest claimed: 2020-06-25
- Assignees: Juniper Networks, Inc.
- Applicants: Juniper Networks, Inc.
- Inventors: Yuvaraja Mariappan; Sachchidanand Vaidya; James Nicholas Davey; Margarida Correia
- Web page: https://patentgrep.com/patent/US11444836B1

## CPC

- H04L 41/0893: Assignment of logical groups to network elements
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/0843: {based on generic templates}
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 45/586: of virtual routers
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- 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

In general, the disclosure describes examples where a single software-defined network (SDN) controller is configured to receive an indication of a first cluster identifier for a first cluster of computing devices and receive an indication of a second cluster identifier for a second cluster of computing devices. In response to a determination that first configuration information indicates the first cluster identifier, the SDN controller is configured to configure a first set of virtual routers at the first cluster to connect the first group of workloads to a network using the first configuration information. In response to a determination that second configuration information indicates the second cluster identifier, the SDN controller is configured to configure a second set of virtual routers at the second cluster to connect the second group of workloads to a network using the second configuration information.

## Claims

### Claim 1

A system comprising a single software-defined networking (SDN) controller, executing on processing circuitry, configured to:
receive an indication of a first cluster identifier for a first cluster of computing devices, wherein the first cluster is implemented using a first orchestrator controller of a container orchestration system, the first orchestrator controller configured to establish a first group of workloads for the first cluster;
receive an indication of a second cluster identifier for a second cluster of computing devices, wherein the second cluster is implemented using a second orchestrator controller of the container orchestration system that is different from the first orchestrator controller, the second orchestrator controller configured to establish a second group of workloads for the second cluster;
in response to a determination that first configuration information indicates the first cluster identifier, configure a first set of virtual routers at the first cluster to connect the first group of workloads to a network using the first configuration information;
in response to a determination that the first configuration information does not indicate the second cluster identifier, refrain from configuring a second set of virtual routers at the second cluster to connect the second group of workloads to the network using the first configuration information;
in response to a determination that second configuration information indicates the second cluster identifier, configure the second set of virtual routers at the second cluster to connect the second group of workloads to the network using the second configuration information; and
in response to a determination that the second configuration information does not indicate the first cluster identifier, refrain from configuring the first set of virtual routers at the first cluster to connect the first group of workloads to the network using the second configuration information.

### Claim 2 (depends on 1)

The system of claim 1, wherein the SDN controller is configured to:
determine whether the first configuration information indicates a project identifier; and
determine the first group of workloads is assigned to the project identifier, wherein the SDN controller is configured to configure the first set of virtual routers at the first cluster to connect the first group of workloads to the network using the first configuration information further in response to the determination that the first configuration information indicates the project identifier.

### Claim 3 (depends on 2)

The system of claim 2, wherein the SDN controller is configured to:
determine whether the second configuration information indicates the project identifier; and
determine the second group of workloads is assigned to the project identifier, wherein the SDN controller is configured to configure the second set of virtual routers at the second cluster to connect the second group of workloads to the network using the second configuration information further in response to the determination that the second configuration information indicates the project identifier.

### Claim 4 (depends on 2)

The system of claim 2, wherein the project identifier is a first project identifier and wherein the SDN controller is configured to:
determine whether the second configuration information indicates a second project identifier; and
determine the second group of workloads is assigned to the second project identifier, wherein the SDN controller is configured to configure the second set of virtual routers at the second cluster to connect the second group of workloads to the network using the second configuration information further in response to the determination that the second configuration information indicates the second project identifier.

### Claim 5 (depends on 1)

The system of claim 1,
wherein the SDN controller is associated with a software application template;
wherein the first cluster is associated with a first software application generated using the software application template; and
wherein the second cluster is associated with a second software application generated using the software application template.

### Claim 6 (depends on 1)

The system of claim 1,
wherein the first cluster comprises a first edge device; and
wherein the second cluster comprises a second edge device different from the first edge device.

### Claim 7

A method comprising:
receiving an indication of a first cluster identifier for a first cluster of computing devices, wherein the first cluster is implemented using a first orchestrator controller of a container orchestration system, the first orchestrator controller configured to establish a first group of workloads for the first cluster;
receiving an indication of a second cluster identifier for a second cluster of computing devices, wherein the second cluster is implemented using a second orchestrator controller of the container orchestration system that is different from the first orchestrator controller, the second orchestrator controller configured to establish a second group of workloads for the second cluster;
in response to determining that first configuration information indicates the first cluster identifier, configuring a first set of virtual routers at the first cluster to connect the first group of workloads to a network using the first configuration information;
in response to determining that the first configuration information does not indicate the second cluster identifier, refraining from configuring a second set of virtual routers at the second cluster to connect the second group of workloads to the network using the first configuration information;
in response to determining that second configuration information indicates the second cluster identifier, configuring the second set of virtual routers at the second cluster to connect the second group of workloads to the network using the second configuration information; and
in response to determining that the second configuration information does not indicate the first cluster identifier, refraining from configuring the first set of virtual routers at the first cluster to connect the first group of workloads to the network using the second configuration information.

### Claim 8 (depends on 7)

The method of claim 7, comprising:
determining whether the first configuration information indicates a project identifier; and
determining the first group of workloads is assigned to the project identifier, wherein configuring the first set of virtual routers at the first cluster to connect the first group of workloads to the network using the first configuration information is further in response to determining that the first configuration information indicates the project identifier.

### Claim 9 (depends on 8)

The method of claim 8, comprising:
determining whether the second configuration information indicates the project identifier; and
determining the second group of workloads is assigned to the project identifier, wherein configuring the second set of virtual routers at the second cluster to connect the second group of workloads to the network using the second configuration information is further in response to determining that the second configuration information indicates the project identifier.

### Claim 10 (depends on 8)

The method of claim 8, wherein the project identifier is a first project identifier, the method further comprising:
determining whether the second configuration information indicates a second project identifier; and
determining the second group of workloads is assigned to the second project identifier, wherein configuring the second set of virtual routers at the second cluster to connect the second group of workloads to the network using the second configuration information is further in response to determining that the second configuration information indicates the second project identifier.

### Claim 11 (depends on 7)

The method of claim 7,
wherein the first cluster is associated with a first software application generated using a software application template; and
wherein the second cluster is associated with a second software application generated using the software application template.

### Claim 12 (depends on 7)

The method of claim 7,
wherein the first cluster comprises a first edge device; and
wherein the second cluster comprises a second edge device different from the first edge device.

### Claim 13

A non-transitory computer-readable storage medium storing instructions thereon that when executed cause one or more processors, via execution of a single software-defined networking (SDN) controller, to:
receive an indication of a first cluster identifier for a first cluster of computing devices, wherein the first cluster is implemented using a first orchestrator controller of a container orchestration system, the first orchestrator controller configured to establish a first group of workloads for the first cluster;
receive an indication of a second cluster identifier for a second cluster of computing devices, wherein the second cluster is implemented using a second orchestrator controller of the container orchestration system that is different from the first orchestrator controller, the second orchestrator controller configured to establish a second group of workloads for the second cluster;
in response to a determination that first configuration information indicates the first cluster identifier, configure a first set of virtual routers at the first cluster to connect the first group of workloads to a network using the first configuration information;
in response to a determination that the first configuration information does not indicate the second cluster identifier, refrain from configuring a second set of virtual routers at the second cluster to connect the second group of workloads to the network using the first configuration information;
in response to a determination that second configuration information indicates the second cluster identifier, configure the second set of virtual routers at the second cluster to connect the second group of workloads to the network using the second configuration information; and
in response to a determination that the second configuration information does not indicate the first cluster identifier, refrain from configuring the first set of virtual routers at the first cluster to connect the first group of workloads to the network using the second configuration information.

### Claim 14 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein the instructions further cause the one or more processors to:
determine whether the first configuration information indicates a project identifier; and
determine the first group of workloads is assigned to the project identifier, wherein the instructions further cause the one or more processors to configure the first set of virtual routers at the first cluster to connect the first group of workloads to the network using the first configuration information further in response to the determination that the first configuration information indicates the project identifier.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the instructions further cause the one or more processors to:
determine whether the second configuration information indicates the project identifier; and
determine the second group of workloads is assigned to the project identifier, wherein the instructions further cause the one or more processors to configure the second set of virtual routers at the second cluster to connect the second group of workloads to the network using the second configuration information further in response to the determination that the second configuration information indicates the project identifier.

### Claim 16 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the project identifier is a first project identifier and wherein the instructions further cause the one or more processors to:
determine whether the second configuration information indicates a second project identifier; and
determine the second group of workloads is assigned to the second project identifier, wherein the instructions further cause the one or more processors to configure the second set of virtual routers at the second cluster to connect the second group of workloads to the network using the second configuration information further in response to the determination that the second configuration information indicates the second project identifier.

### Claim 17 (depends on 13)

The non-transitory computer-readable storage medium of claim 13,
wherein the first cluster is associated with a first software application generated using a software application template; and
wherein the second cluster is associated with a second software application generated using the software application template.
