# US 12,771,597 B2 · Recommending configuration changes in software-defined networks using machine learning

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

- Number: US 12,771,597 B2
- Document ID: US12771597B2
- Status: Granted
- Kind: B2
- Application number: 17/532,452
- Filed: 2021-11-22
- Published: 2023-05-25
- Granted: 2026-10-20
- Earliest claimed: 2021-11-22
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Grégory Mermoud; Stéphane Bernard Martin; Jean-Philippe Vasseur
- Web page: https://patentgrep.com/patent/US12771597B2

## CPC

- H04L 41/082: the condition being updates or upgrades of network functionality
- H04L 41/0823: characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability (for optimising operational conditions of wireless networks H04W24/02)
- H04L 41/0886: {Fully automatic configuration}
- H04L 41/16: using machine learning or artificial intelligence
- H04L 41/5025: by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In one embodiment, a device associates application performance of an online application with network configuration changes implemented across one or more software-defined networks. The device trains a machine learning model to predict an effect of a configuration change on the application performance for any given portion of the one or more software-defined networks. The device generates a recommended configuration change for a particular portion of the one or more software-defined networks, using the machine learning model. The device causes the recommended configuration change to be implemented in the particular portion of the one or more software-defined networks.

## Claims

### Claim 1

A method comprising:
associating, by a device, application performance of an online application with network configuration changes implemented across one or more software-defined networks;
storing, by the device, a plurality of subgraphs, wherein the plurality of subgraphs are extracted from the one or more software-defined networks to comprise network devices and paths linking the network devices of respective different portions of the one or more software-defined networks;
jointly training using the plurality of subgraphs, by the device and based on differences in configuration of different portions of the one or more software-defined networks, a first model comprising a generative network that generates possible configuration changes that includes routing or policy changes and a second model comprising an evaluation network that predicts effects of the possible configuration changes on the application performance for any given portion of the one or more software-defined networks;
identifying, by the device and by using the first model, a first subgraph of the plurality of subgraphs that is similar to a second subgraph of the plurality of subgraphs, wherein determining that the first subgraph is similar to the second subgraph is based on one or more of: a geographic location, a device type, a software version, or a traffic pattern for the online application;
determining, based on comparing the first subgraph to the second subgraph, difference data;
generating, based on the difference data between the first subgraph and the second subgraph and by the device and by using the first model and the second model, a recommended configuration change for a particular portion of the one or more software-defined networks, wherein the recommended configuration change is generated by the first model and comprises a change to a routing policy, further wherein the recommended configuration change is predicted by the second model to improve performance of the particular portion of the one or more software-defined networks; and
causing, by the device, the recommended configuration change to be implemented in the particular portion of the one or more software-defined networks.

### Claim 2 (depends on 1)

The method as in claim 1, wherein the application performance of the online application is quantified based on service level agreement violations by network paths that are used to convey traffic associated with the online application.

### Claim 3 (depends on 1)

The method as in claim 1, wherein the application performance of the online application is quantified based on feedback provided by users of the online application.

### Claim 4 (depends on 1)

The method as in claim 1, wherein the one or more software-defined networks comprise at least two networks operated by different entities.

### Claim 5 (depends on 1)

The method as in claim 1, wherein causing the recommended configuration change to be implemented in the particular portion of the one or more software-defined networks comprises:
providing, by the device, the recommended configuration change for display.

### Claim 6 (depends on 1)

The method as in claim 1, wherein the one or more software-defined networks comprise at least one software-defined wide area network (SD-WAN).

### Claim 7 (depends on 1)

The method as in claim 1, wherein the online application is a software-as-a-service (SaaS) application.

### Claim 8

An apparatus, comprising:
one or more network interfaces;
a processor coupled to the one or more network interfaces and configured to execute one or more processes; and
a memory configured to store a process that is executable by the processor, the process when executed configured to:
associate an application performance of an online application with network configuration changes implemented across one or more software-defined networks;
storing, by a device, a plurality of subgraphs, wherein the plurality of subgraphs are extracted from the one or more software-defined networks to comprise network devices and paths linking the network devices of respective different portions of the one or more software-defined networks;
jointly train using the plurality of subgraphs, based on differences in configuration of different portions of the one or more software-defined networks, a first model comprising a generative network that generates possible configuration changes that includes routing or policy changes and a second model comprising an evaluation network that predicts effects of the possible configuration changes on the application performance for any given portion of the one or more software-defined networks;
identify, by using the first model, a first subgraph of plurality of subgraphs that is similar to a second subgraph of the plurality of subgraphs, wherein determining that the first subgraph is similar to the second subgraph is based on one or more of: a geographic location, a device type, a software version, or a traffic pattern for the online application;
determine, based on comparing the first subgraph to the second subgraph, difference data;
generate, based on the difference data between the first subgraph and the second subgraph and by using the first model and the second model, a recommended configuration change for a particular portion of the one or more software-defined networks, wherein the recommended configuration change is generated by the first model and comprises a change to a routing policy, further wherein the recommended configuration change is predicted by the second model to improve performance of the particular portion of the one or more software-defined networks; and
cause the recommended configuration change to be implemented in the particular portion of the one or more software-defined networks.

### Claim 9 (depends on 8)

The apparatus as in claim 8, wherein the application performance of the online application is quantified based on service level agreement violations by network paths that are used to convey traffic associated with the online application.

### Claim 10 (depends on 8)

The apparatus as in claim 8, wherein the application performance of the online application is quantified based on feedback provided by users of the online application.

### Claim 11 (depends on 8)

The apparatus as in claim 8, wherein the one or more software-defined networks comprise at least two networks operated by different entities.

### Claim 12 (depends on 8)

The apparatus as in claim 8, wherein the apparatus causes the recommended configuration change to be implemented in the particular portion of the one or more software-defined networks by:
providing the recommended configuration change for display.

### Claim 13 (depends on 8)

The apparatus as in claim 8, wherein the one or more software-defined networks comprise at least one software-defined wide area network (SD-WAN).

### Claim 14

A tangible, non-transitory, computer-readable medium storing program instructions that cause a device to execute a process comprising:
associating, by the device, application performance of an online application with network configuration changes implemented across one or more software-defined networks;
storing, by the device, a plurality of subgraphs, wherein the plurality of subgraphs are extracted from the one or more software-defined networks to comprise network devices and paths linking the network devices of respective different portions of the one or more software-defined networks;
jointly training using the plurality of subgraphs, by the device and based on differences in configuration of different portions of the one or more software-defined networks, a first model comprising a generative network that generates possible configuration changes that includes routing or policy changes and a second model comprising an evaluation network that predicts effects of the possible configuration changes on the application performance for any given portion of the one or more software-defined networks;
identifying, by the device and by using the first model, a first subgraph of the plurality of subgraphs that is similar to a second subgraph of the plurality of subgraphs, wherein determining that the first subgraph is similar to the second subgraph is based on one or more of: a geographic location, a device type, a software version, or a traffic pattern for the online application;
determining, based on comparing the first subgraph to the second subgraph, difference data;
generating, based on the difference data between the first subgraph and the second subgraph and by the device and by using the first model and the second model, a recommended configuration change for a particular portion of the one or more software-defined networks, wherein the recommended configuration change is generated by the first model and comprises a change to a routing policy, further wherein the recommended configuration change is predicted by the second model to improve performance of the particular portion of the one or more software-defined networks; and
causing, by the device, the recommended configuration change to be implemented in the particular portion of the one or more software-defined networks.

### Claim 15 (depends on 14)

The tangible, non-transitory, computer-readable medium of claim 14, wherein the application performance of the online application is quantified based on service level agreement violations by network paths that are used to convey traffic associated with the online application.

### Claim 16 (depends on 14)

The tangible, non-transitory, computer-readable medium of claim 14, wherein the application performance of the online application is quantified based on feedback provided by users of the online application.

### Claim 17 (depends on 14)

The tangible, non-transitory, computer-readable medium of claim 14, wherein the one or more software-defined networks comprise at least two networks operated by different entities.

### Claim 18 (depends on 14)

The tangible, non-transitory, computer-readable medium of claim 14, wherein causing the recommended configuration change to be implemented in the particular portion of the one or more software-defined networks comprises:
providing, by the device, the recommended configuration change for display.

### Claim 19 (depends on 14)

The tangible, non-transitory, computer-readable medium of claim 14, wherein the one or more software-defined networks comprise at least one software-defined wide area network (SD-WAN).

### Claim 20 (depends on 14)

The tangible, non-transitory, computer-readable medium of claim 14, wherein the online application is a software-as-a-service (SaaS) application.
