# US 12,192,071 B2 · Microservices application network control plane

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

- Number: US 12,192,071 B2
- Document ID: US12192071B2
- Status: Granted
- Kind: B2
- Application number: 18/438,000
- Filed: 2024-02-09
- Published: 2024-08-01
- Granted: 2025-01-07
- Earliest claimed: 2019-09-05
- Assignees: Kong Inc.
- Applicants: Kong Inc.
- Inventors: Marco Palladino; Augusto Marietti
- Web page: https://patentgrep.com/patent/US12192071B2

## CPC

- H04L 41/5025: by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
- G06F 11/3428: {Benchmarking}
- G06F 11/3495: {for systems}
- H04L 12/66: Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
- H04L 41/0661: {by reconfiguring faulty entities}
- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- H04L 43/062: related to network traffic
- H04L 43/0817: by checking functioning
- H04L 43/0852: Delays
- H04L 43/16: Threshold monitoring
- H04L 67/1034: Reaction to server failures by a load balancer
- H04L 67/133: Protocols for remote procedure calls [RPC]
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/56: Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54)
- G06F 11/3419: {by assessing time}
- G06F 2201/875: Monitoring of systems including the internet
- H04L 41/14: Network analysis or design
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 43/045: for graphical visualisation of monitoring data
- H04L 43/08: Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L 43/106: using time related information in packets, e.g. by adding timestamps
- H04L 43/50: Testing arrangements
- H04L 67/50: Network services
- 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

Disclosed embodiments are directed at systems, methods, and architecture for operating a control plan of a microservices application. The control plane corresponds with data plane proxies associated with each of a plurality of APIs that make up the microservices application. The communication between the data plane proxies and the control plane enables automatic detection of service groups of APIs and automatic repair of application performance in real-time in response to degrading service node conditions.

## Claims

### Claim 1

A system comprising:
an application control plane including a machine learning model,
wherein a training set for the machine learning model includes a history of a plurality of anomalies, conditions or states associated with a detection of each of the plurality of anomalies, and one or more successful remedial actions; and
a service group of a microservice architecture application, the service group including a plurality of services that interact to perform an overall application function,
wherein each of the plurality of services includes an application programming interface (API) and a data plane proxy that is communicatively coupled to the application control plane,
wherein the application control plane is configured to:
inject API traffic into a starting service of the service group,
wherein each data plane proxy of a corresponding service of the service group is configured to:
generate, based on the API traffic, a report including one or more metrics,
wherein the machine learning model is configured to:
receive, from the data plane proxy of the corresponding service of the service group, the report including the one or more metrics,
make a determination, based on the one or more metrics and at least one system benchmark, that a network issue has begun to degrade a performance of the microservice architecture application,
identify an anomaly from the plurality of anomalies that corresponds to the network issue, and
select, based on the determination and the anomaly identified from the plurality of anomalies, a remedial action from the one or more successful remedial actions, and
wherein the application control plane is further configured to:
execute the remedial action.

### Claim 2 (depends on 1)

The system of claim 1, wherein the remedial action is selected from a first set of remedial actions, and wherein the machine learning model is further configured to:
receive, subsequent to the application control plane executing the remedial action, a second report from the data plane proxy of at least one service of the service group; and
select, based on the second report, another remedial action from a second set of remedial actions that is different from the first set of remedial actions.

### Claim 3 (depends on 2)

The system of claim 2, wherein each of the second set of remedial actions has a greater severity or magnitude than each of the first set of remedial actions.

### Claim 4 (depends on 1)

The system of claim 1, wherein the machine learning model includes a hidden Markov model and/or a convolutional neural network.

### Claim 5 (depends on 1)

The system of claim 1, wherein the at least one system benchmark is determined based on the training set.

### Claim 6 (depends on 1)

The system of claim 1, wherein the determination that the network issue will degrade the performance of the microservice architecture application is based on at least one of the one or more metrics exceeding the at least one system benchmark.

### Claim 7 (depends on 1)

The system of claim 1, wherein the determination that the network issue will degrade the performance of the microservice architecture application comprises identifying an anomalous behavior between a first service in the service group and a second service in the service group.

### Claim 8 (depends on 7)

The system of claim 7, wherein the one or more successful remedial actions includes at least one of:
rerouting additional API traffic from the first service to a third service in the service group with a functionality similar to the second service;
deprioritizing or deactivating the first service or the second service;
load balancing the service group by rate-limiting one or more services; or
rolling-back a version of the API associated with the first service or the second service to a previous stable version.

### Claim 9 (depends on 8)

The system of claim 8, wherein the load balancing the service group comprises a decentralized load balancing operation that includes at least one of: a round robin protocol, a ring hash protocol, or a maglev protocol.

### Claim 10 (depends on 1)

The system of claim 1, wherein the one or more metrics comprise at least one of a timestamp, a duration associated with processing the API traffic in the corresponding service, a throughput, an uptime or a downtime, a Layer 4 metric, a Layer 7 metric, a number of errors, an ingress traffic rate, or an egress traffic rate.

### Claim 11 (depends on 10)

The system of claim 10, wherein the application control plane is further configured to:
generate, based on the one or more metrics, at least one visualization for display on a dashboard accessible by an administrator of the application control plane.

### Claim 12

A method comprising:
training, by an application control plane, a machine learning model using a training set that includes a history of a plurality of anomalies, conditions or states associated with a detection of each of the plurality of anomalies, and one or more successful remedial actions;
injecting application programming interface (API) traffic into a starting service of a service group of a microservice architecture application, the service group comprising a plurality of services that interact to perform an overall application function, wherein each of the plurality of services comprises an API and a data plane proxy that is communicatively coupled to the application control plane;
receiving, from each data plane proxy of a corresponding service of the service group, a report comprising one or more metrics;
making a determination, based on the one or more metrics and at least one system benchmark, that a network issue has begun to degrade a performance of the microservice architecture application;
identifying an anomaly from the plurality of anomalies that corresponds to the network issue;
selecting, based on the determination and the anomaly identified from the plurality of anomalies, a remedial action from the one or more successful remedial actions; and
executing the remedial action.

### Claim 13 (depends on 12)

The method of claim 12, wherein the machine learning model includes a hidden Markov model and/or a convolutional neural network.

### Claim 14 (depends on 12)

The method of claim 12, wherein the at least one system benchmark is determined based on the training set.

### Claim 15 (depends on 12)

The method of claim 12, wherein the determination that the network issue will degrade the performance of the microservice architecture application is based on at least one of the one or more metrics exceeding the at least one system benchmark.

### Claim 16 (depends on 12)

The method of claim 12, wherein the determination that the network issue will degrade the performance of the microservice architecture application comprises identifying an anomalous behavior between a first service in the service group and a second service in the service group.

### Claim 17 (depends on 16)

The method of claim 16, wherein the one or more successful remedial actions includes at least one of:
rerouting additional API traffic from the first service to a third service in the service group with a functionality similar to the second service;
deprioritizing or deactivating the first service or the second service;
load balancing the service group by rate-limiting one or more services; or
rolling-back a version of the API associated with the first service or the second service to a previous stable version.

### Claim 18

An apparatus comprising:
one or more processors, implemented in an application control plane including a machine learning model, configured to:
train the machine learning model using a training set that includes a history of a plurality of anomalies, conditions or states associated with a detection of each of the plurality of anomalies, and one or more successful remedial actions;
inject application programming interface (API) traffic into a starting service of a service group of a microservice architecture application, the service group comprising a plurality of services that interact to perform an overall application function, wherein each of the plurality of services comprises an API and a data plane proxy that is communicatively coupled to the application control plane;
receive, from each data plane proxy of a corresponding service of the service group, a report comprising one or more metrics;
make a determination, based on the one or more metrics and at least one system benchmark, that a network issue has begun to degrade a performance of the microservice architecture application;
identify an anomaly from the plurality of anomalies that corresponds to the network issue;
select, based on the determination and the anomaly identified from the plurality of anomalies, a remedial action from the one or more successful remedial actions; and
execute the remedial action.

### Claim 19 (depends on 18)

The apparatus of claim 18, wherein the API traffic includes a plurality of packets, wherein each of the plurality of packets includes a known packet identifier that is updated subsequent to processing by a service of the plurality of services, and wherein the report is generated based on the known packet identifier of the plurality of packets.

### Claim 20 (depends on 18)

The apparatus of claim 18, wherein the API traffic includes a plurality of requests and a plurality of responses, and wherein the report is generated based on at least one request from the plurality of requests and an associated response from the plurality of responses.
