# US 11,121,941 B1 · Monitoring communications to identify performance degradation

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

- Number: US 11,121,941 B1
- Document ID: US11121941B1
- Status: Granted
- Kind: B1
- Application number: 16/817,577
- Filed: 2020-03-12
- Published: 2021-09-16
- Granted: 2021-09-14
- Earliest claimed: 2020-03-12
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Jay Kemper Johnston; Magnus Mortensen; David C. White, Jr.
- Web page: https://patentgrep.com/patent/US11121941B1

## CPC

- H04L 41/5009: Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L 43/50: Testing arrangements
- H04L 43/55: Testing of service level quality, e.g. simulating service usage
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/145: avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

This disclosure describes techniques for monitoring communications in an application cloud infrastructure. The techniques may include determining whether a performance issue associated with the communications is related to an application server for a hosted application, or to a computing network that transmits the communications across the application cloud infrastructure. The techniques may also further include testing to define a performance issue, and/or taking action in response to a performance issue, including potentially mitigating the performance issue. As such, monitoring communications may help improve network performance by efficiently identifying and isolating instances of potential performance degradation.

## Claims

### Claim 1

A computing device comprising:
one or more non-transitory computer-readable media storing a first portion of computer-executable instructions related to a hosted application that provides a service to a client device and storing a second portion of computer-executable instructions related to an interface process;
at least a first processor of the computing device that executes the first computer-executable instructions;
at least a second processor of the computing device that executes the second computer-executable instructions, wherein the second portion of the computer-executable instructions cause the second processor of the computing device to:
monitor, at an interface between the computing device and a computing network, one or more communications sent from the client device via the computing network to the hosted application on the computing device, the one or more communications associated with the service provided by the hosted application on the computing device;
monitor, at the interface, one or more responses sent from the hosted application to the client device, the one or more responses corresponding to the service;
identify a performance issue associated with the service based at least in part on the monitoring the one or more communications and the monitoring the one or more responses;
determine whether the performance issue is associated with the hosted application or the computing network; and
based at least in part on whether the performance issue is associated with the hosted application or the computing network, perform an action responsive to the performance issue.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein the second processor is manifest as a network interface controller of the computing device.

### Claim 3 (depends on 2)

The computing device of claim 2, wherein the first processor is manifest as a central processing unit of the computing device.

### Claim 4 (depends on 1)

The computing device of claim 1, wherein the performance issue comprises increased latency associated with execution of the hosted application on the computing device.

### Claim 5 (depends on 1)

The computing device of claim 1, wherein, in an instance where the performance issue is associated with the hosted application on the computing device, the action comprises redirecting a subsequent communication associated with the service to a different computing device.

### Claim 6 (depends on 1)

The computing device of claim 1, wherein, in an instance where the performance issue is associated with the hosted application on the computing device, the action comprises redirecting a subsequent communication associated with the service to a different hosted application on the computing device.

### Claim 7 (depends on 1)

The computing device of claim 1, wherein, in an instance where the performance issue is associated with the hosted application on the computing device, the action comprises sending, to a controller, an indication that the performance issue is associated with the hosted application.

### Claim 8 (depends on 7)

The computing device of claim 7, wherein the second portion of the computer-executable instructions further cause the second processor to:
send a test request to the hosted application; and
receive a test response from the hosted application,
wherein the action further comprises sending a representation of the test response to the controller.

### Claim 9

A computer-implemented method comprising:
monitoring, at an interface between an application server and a computing network, one or more communications sent from a client device via the computing network to a hosted application at the application server, the one or more communications associated with a service provided by the hosted application;
monitoring, at the interface, one or more responses sent from the hosted application to the client device, the one or more responses corresponding to the service;
identifying a performance issue associated with the service based at least in part on the monitoring the one or more communications and the monitoring the one or more responses;
determining whether the performance issue is associated with the hosted application or the computing network; and
based at least in part on whether the performance issue is associated with the hosted application or the computing network, performing an action responsive to the performance issue.

### Claim 10 (depends on 9)

The computer-implemented method of claim 9, wherein:
the interface comprises a first virtual resource running on the application server; and
the hosted application executes in a second virtual resource running on the application server.

### Claim 11 (depends on 9)

The computer-implemented method of claim 9, wherein:
the hosted application is executed by a central processing unit of the application server; and
the computer-implemented method is performed by a network interface controller of the application server.

### Claim 12 (depends on 9)

The computer-implemented method of claim 9, wherein the performance issue comprises increased latency associated with execution of the hosted application on the application server.

### Claim 13 (depends on 9)

The computer-implemented method of claim 9, wherein, in an instance where the performance issue is associated with the hosted application, the action comprises redirecting a subsequent communication associated with the service to a different application server.

### Claim 14 (depends on 9)

The computer-implemented method of claim 9, wherein, in an instance where the performance issue is associated with the computing network, the action comprises employing source routing to bypass a portion of the computing network associated with the performance issue.

### Claim 15 (depends on 9)

The computer-implemented method of claim 9, wherein, in an instance where the performance issue is associated with the hosted application, the action comprises sending, to a controller, an indication that the performance issue is associated with the hosted application.

### Claim 16 (depends on 15)

The computer-implemented method of claim 15, further comprising:
sending a test request to the hosted application; and
receiving a test response from the hosted application,
wherein the action further comprises sending a representation of the test response to the controller.

### Claim 17

An interface device of an application server, the interface device comprising:
at least one processor; and
non-transitory computer-readable media storing computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to:
monitor one or more communications sent from a client device via a computing network to a hosted application on then application server, the one or more communications associated with a service provided by the hosted application;
monitor one or more responses sent from the hosted application to the client device, the one or more responses associated with the service;
identify a performance issue associated with the service based at least in part on monitoring the one or more communications and monitoring the one or more responses;
determine whether the performance issue is associated with the hosted application on the application server or associated with the computing network; and
perform an action responsive to the performance issue.

### Claim 18 (depends on 17)

The interface device of claim 17, wherein, in an instance where the performance issue is with the hosted application, the action comprises communicating with a second interface device to redirect a subsequent communication associated with the service to a second application server associated with the second interface device.

### Claim 19 (depends on 17)

The interface device of claim 17, wherein the computer-executable instructions further cause the at least one processor to:
send a test request to the hosted application on the application server;
receive a test response from the hosted application; and
based on the test request and the test response, determine a round trip time (RTT) associated with the hosted application.

### Claim 20 (depends on 19)

The interface device of claim 19, wherein, in an instance where the RTT is out of compliance with a service level agreement (SLA) of the hosted application, the action comprises sending an indication of the performance issue to a controller.
