# US 12,015,521 B2 · Using an application programming interface (API) gateway to manage communications in a distributed system

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

- Number: US 12,015,521 B2
- Document ID: US12015521B2
- Status: Granted
- Kind: B2
- Application number: 17/724,853
- Filed: 2022-04-20
- Published: 2023-10-26
- Granted: 2024-06-18
- Earliest claimed: 2022-04-20
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Nathan Sowatskey; John Joyce
- Web page: https://patentgrep.com/patent/US12015521B2

## CPC

- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- H04L 12/66: Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
- H04L 41/0836: {to enhance reliability, e.g. reduce downtime}
- H04L 43/08: Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L 47/82: {Miscellaneous aspects}
- 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/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 43/0829: Packet loss
- H04L 43/087: Jitter
- H04L 43/16: Threshold monitoring
- H04L 43/20: the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Techniques for an Application Programming Interface (API) gateway to workload placement and load balancing in a distributed system. The API gateway may route API requests, responses, and so forth, via a plurality of paths between the API gateway, API endpoint devices and API client devices. The API gateway may collect the path properties for the plurality of paths between itself, and the client devices and API endpoints. Additionally, or alternatively, the API gateway may collect process properties indicating the statistics of specific processes. Using this data, the API gateway may determine that a particular path, a particular process, etc., has experienced performance degradation. The API gateway may further determine, and perform, a remedial action to take to remedy the performance degradation of the path or processes.

## Claims

### Claim 1

A method of monitoring path properties for one or more paths between a client device and an Application Programming Interface (API) gateway or between the API gateway and an endpoint, the method comprising:
identifying a first network path between the client device and the API gateway, the first network path configured to communicate API requests from the client device and to the API gateway;
identifying a second network path between the API gateway and the endpoint that services the API requests, the second network path configured to communicate the API requests between the API gateway and the endpoint;
collecting one or more path properties associated with the second network path indicating a performance of the second network path when communicating the API requests;
monitoring the one or more path properties to determine that the second network path has experienced performance degradation;
determining a remedial action to take to that improves the performance degradation experienced by the second network path between the API gateway and the endpoint; and
performing the remedial action that improves the performance degradation experienced by the second network path.

### Claim 2 (depends on 1)

The method of claim 1, wherein monitoring the one or more path properties includes determining that at least one of latency, jitter, encryption, packet loss, a broken connection, or quality of service of a portion the second network path has degraded below a threshold.

### Claim 3 (depends on 1)

The method of claim 1, wherein performing the remedial action includes:
moving the API gateway to a new location.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
determining that the first network path experienced respective performance degradation; and
instructing a network controller associated with a Software Defined-Wide Area network (SD-WAN) to increase network resources of the first network path.

### Claim 5 (depends on 1)

The method of claim 1, wherein:
the remedial action comprises moving the endpoint to a new location.

### Claim 6 (depends on 1)

The method of claim 1, wherein performing the remedial action comprises:
removing the endpoint from being associated with the second network path; and
creating a new endpoint associated with a third network path between the API gateway and the new endpoint.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
receiving a Border Gateway Protocol (BGP) ASN, by a path property agent, at the API gateway;
identifying a network controller associated with the first network path; and
instructing the network controller to change from sending traffic over the first network path and to a third path between the client device and the API gateway.

### Claim 8 (depends on 1)

The method of claim 1, further comprising analyzing the one or more path properties to determine that the performance degradation is caused at least partly by the API gateway.

### Claim 9 (depends on 8)

The method of claim 8, further comprising allocating additional resources for use by the API gateway.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
receiving performance data indicating a performance metric associated with the endpoint;
determining that the performance metric has fallen below a threshold performance metric permitted for the endpoint indicating degradation in performance of the endpoint; and
performing an additional remedial action to remedy the degradation in the performance of the endpoint.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
analyzing the one or more path properties to determine that the performance degradation is caused at least partly by the API gateway; and
instructing a network controller to modify the second network path based at least in part on the analyzing.

### Claim 12 (depends on 1)

The method of claim 1, further comprising triggering a remediation, by the API gateway, to a workload optimizer upon receiving a notification of the performance degradation.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
analyzing the one or more path properties to determine that the performance degradation is caused at least partly by the API gateway;
tearing down the API gateway;
allocating additional computing resources to the API gateway; and
creating a new API gateway; or
modifying a configuration parameter of the API gateway.

### Claim 14

A system for monitoring path properties for one or more paths between a client device and an Application Programming Interface (API) gateway or between the API gateway and an endpoint, the system comprising:
one or more processors; and
one or more non-transitory computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to:
identify a first network path between a client device and the API gateway, the first network path configured to communicate API requests from the client device and to the API gateway;
identify a second network path between the API gateway and an endpoint that services the API requests, the second network path configured to communicate the API requests between the API gateway and the endpoint;
collect one or more path properties associated with the second network path indicating a performance of the second network path when communicating the API requests;
monitor the one or more path properties to determine that the second network path has experienced performance degradation;
determine a remedial action to take to that improves the performance degradation experienced by the second network path between the API gateway and the endpoint; and
perform the remedial action that improves the performance degradation experienced by the second network path.

### Claim 15 (depends on 14)

The system of claim 14, wherein monitoring the one or more path properties includes determining that at least one of latency, jitter, encryption, packet loss, a broken connection, or quality of service of a portion the second network path has degraded below a threshold.

### Claim 16 (depends on 14)

The system of claim 14, wherein the performing the remedial action includes at least one of:
moving the API gateway to a new location;
allocating additional computing resources to the API gateway;
creating first additional instances of the API gateway; or
creating second additional instances that are geographically distributed.

### Claim 17 (depends on 14)

The system of claim 14, wherein performing the remedial action includes instructing a network controller associated with a Software Defined-Wide Area network (SD-WAN) to increase network resources of the first network path.

### Claim 18 (depends on 14)

The system of claim 14, wherein:
the remedial action comprises moving the endpoint to a new location.

### Claim 19 (depends on 14)

The system of claim 14, wherein performing the remedial action includes at least one of:
removing the endpoint;
allocating additional computing resources to the endpoint; or
creating a new endpoint.

### Claim 20

At least one non-transitory computer-readable storage medium having stored therein instructions which, when executed by one or more processors, cause the one or more processors to:
identify a first network path between a client device and an API gateway, the first network path configured to communicate API requests from the client device and to the API gateway;
identify a second network path between the API gateway and an endpoint that services the API requests, the second network path configured to communicate the API requests between the API gateway and the endpoint;
collect one or more path properties associated with the second network path indicating a performance of the second network path when communicating the API requests;
monitor the one or more path properties to determine that the second network path has experienced performance degradation;
determine a remedial action to take to that improves the performance degradation experienced by the second network path between the API gateway and the endpoint; and
perform the remedial action that improves the performance degradation experienced by the second network path.
