# US 12,111,752 B2 · Intelligent services for application dependency discovery, reporting, and management tool

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

- Number: US 12,111,752 B2
- Document ID: US12111752B2
- Status: Granted
- Kind: B2
- Application number: 18/223,208
- Filed: 2023-07-18
- Published: 2023-12-14
- Granted: 2024-10-08
- Earliest claimed: 2019-06-27
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Muralidharan Balasubramanian; Eric K. Barnum; Julie Dallen; David Watson
- Web page: https://patentgrep.com/patent/US12111752B2

## CPC

- G06F 11/3055: {Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available (error or fault processing without redundancy G06F11/0703; error detection or correction by redundancy in data representation G06F11/08; error detection or correction of the data by redundancy in operations G06F11/14; error detection or correction by redundancy in hardware G06F11/16)}
- G06F 11/3672: {Test management}
- G06F 11/302: {where the computing system component is a software system}
- G06F 11/3409: {for performance assessment}
- G06F 11/3466: {Performance evaluation by tracing or monitoring}
- G06F 11/3668: Testing of software
- G06N 5/022: Knowledge engineering; Knowledge acquisition
- G06N 20/00: Machine learning
- G06F 2201/865: Monitoring of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Techniques for monitoring operating statuses of an application and its dependencies are provided. A monitoring application may collect and report the operating status of the monitored application and each dependency. Through use of existing monitoring interfaces, the monitoring application can collect operating status without requiring modification of the underlying monitored application or dependencies. The monitoring application may determine a problem service that is a root cause of an unhealthy state of the monitored application. Dependency analyzer and discovery crawler techniques may automatically configure and update the monitoring application. Machine learning techniques may be used to determine patterns of performance based on system state information associated with performance events and provide health reports relative to a baseline status of the monitored application. Also provided are techniques for testing a response of the monitored application through modifications to API calls. Such tests may be used to train the machine learning model.

## Claims

### Claim 1

A computer-implemented method comprising:
determining a plurality of dependencies associated with a first application;
querying a monitoring interface application to determine a set of monitoring interfaces associated with the plurality of dependencies;
identifying one or more first monitoring interfaces of the set of monitoring interfaces based on at least a first monitoring dashboard provided by the monitoring interface application and associated with at least one dependency of the plurality of dependencies;
configuring the monitoring application to monitor the at least one dependency using the one or more first monitoring interfaces;
detecting, by the monitoring application and based on a plurality of monitoring interfaces including the first monitoring interfaces, a current operating status of the first application and the plurality of dependencies;
generating, using a machine learning model trained to determine a likelihood that the first application will enter an unhealthy status based on one or more patterns of performance, a health report based on the current operating status of the first application and the plurality of dependencies, wherein:
each pattern of performance indicates a potential correlation between the first application entering an unhealthy status and an attribute of a dependency of the first application, and
the machine learning model is trained based on a training data set comprising a plurality of system state records, each system state record corresponding to a respective performance event and comprising corresponding system state information corresponding to the first application and one or more of the plurality of dependencies during the performance event;
determining, based on the health report, a first dependency, of the plurality of dependencies, that corresponds to a source of risk for the first application; and
generating a suggested action to mitigate a risk associated with the determined first dependency, wherein the suggested action is generated using the machine learning model and based on a first pattern of performance associated with the first dependency.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
generating a notification that indicates the suggested action.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
automatically implementing the suggested action.

### Claim 4 (depends on 1)

The method of claim 1, wherein a first system state record further comprises information indicating a corrective action taken in response to a corresponding first incident event, and wherein determining the suggested action based on the first pattern of performance comprises:
determining, using the machine learning model, the suggested action based on the corrective action taken in response to the first incident event.

### Claim 5 (depends on 1)

The method of claim 1, wherein the suggested action comprises bypassing the first dependency.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first dependency corresponds to an Application Programming Interface (API) associated with a resource utilized by the first application.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first pattern of performance is a pattern of failure and indicates a potential correlation between a first attribute of the first dependency and the first application entering an unhealthy operating status.

### Claim 8 (depends on 1)

The method of claim 1, wherein the first pattern of performance is a pattern of latency and indicates a potential correlation between a first attribute of the first dependency and a latency associated with requests to the first application.

### Claim 9 (depends on 1)

The method of claim 1, wherein the health report comprises at least one metric associated with performance of the first dependency, and wherein determining the first dependency that corresponds to a source of risk for the first application is based on the at least one metric associated with performance of the first dependency.

### Claim 10 (depends on 1)

The method of claim 1, wherein determining the first dependency that corresponds to a source of risk for the first application comprises:
determining a likelihood that a current condition of the first dependency will cause the first application to enter an unhealthy state.

### Claim 11 (depends on 1)

The method of claim 1, wherein the first application is determined to have an unhealthy status based on whether one or more metrics associated with the first application satisfy one or more operating status thresholds.

### Claim 12 (depends on 1)

The method of claim 1, wherein the first monitoring dashboard is associated with a second application that also depends on the first dependency.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
determining, based on the first monitoring dashboard, a first unhealthy operating status threshold associated with the first dependency,
wherein configuring the monitoring application to monitor the first dependency using the one or more first monitoring interfaces is based on the determined first unhealthy operating status threshold.

### Claim 14

A computer-implemented method comprising:
determining a plurality of dependencies associated with a first application;
querying a monitoring interface application to determine a set of monitoring interfaces associated with the plurality of dependencies;
identifying one or more first monitoring interfaces of the set of monitoring interfaces based on at least a first monitoring dashboard provided by the monitoring interface application and associated with at least one dependency of the plurality of dependencies;
configuring the monitoring application to monitor the at least one dependency using the one or more first monitoring interfaces;
detecting, by the monitoring application and based on a plurality of monitoring interfaces including the first monitoring interfaces, a current operating status of the first application and the plurality of dependencies;
generating, using a machine learning model trained to determine a likelihood that the first application will enter an unhealthy status based on one or more patterns of performance, a health report based on the current operating status of the first application and the plurality of dependencies, wherein:
each pattern of performance indicates a potential correlation between the first application entering an unhealthy status and an attribute of a dependency of the first application, and
the machine learning model is trained based on a training data set comprising a plurality of system state records, each system state record corresponding to a respective performance event and comprising corresponding system state information corresponding to the first application and one or more of the plurality of dependencies during the performance event;
determining, based on the health report, a first dependency, of the plurality of dependencies, that corresponds to a source of risk for the first application; and
generating a notification that indicates a cause of risk associated with the determined first dependency, wherein the cause of risk is generated using the machine learning model and based on a first pattern of performance associated with the first dependency.

### Claim 15 (depends on 14)

The method of claim 14, wherein the first dependency corresponds to an Application Programming Interface (API) associated with a resource utilized by the first application.

### Claim 16 (depends on 14)

The method of claim 14, wherein the first pattern of performance is a pattern of failure and indicates a potential correlation between a first attribute of the first dependency and the first application entering an unhealthy operating status.

### Claim 17 (depends on 14)

The method of claim 14, wherein the first pattern of performance is a pattern of latency and indicates a potential correlation between a first attribute of the first dependency and a latency associated with requests to the first application.

### Claim 18 (depends on 14)

The method of claim 14, wherein the health report comprises at least one metric associated with performance of the first dependency, and wherein determining the first dependency that corresponds to a source of risk for the first application is based on the at least one metric associated with performance of the first dependency.

### Claim 19 (depends on 14)

The method of claim 14, wherein the health report comprises a visualization of the plurality of dependencies.

### Claim 20 (depends on 14)

The method of claim 14, wherein determining the first dependency that corresponds to a source of risk for the first application comprises:
determining a likelihood that a current condition of the first dependency will cause the first application to enter an unhealthy state.

### Claim 21 (depends on 14)

The method of claim 14, wherein the first monitoring dashboard is associated with a second application that also depends on the first dependency.

### Claim 22 (depends on 14)

The method of claim 14, further comprising:
determining, based on the first monitoring dashboard, a first unhealthy operating status threshold associated with the first dependency,
wherein configuring the monitoring application to monitor the first dependency using the one or more first monitoring interfaces is based on the determined first unhealthy operating status threshold.

### Claim 23

A system comprising:
a first application having a plurality of dependencies, wherein a first dependency of the plurality of dependencies comprises an Application Programming Interface (API) utilized by the first application;
a monitoring interface application providing a plurality of monitoring interfaces, wherein a first monitoring interface of the plurality of monitoring interfaces is configured to retrieve operating status information for the first application and a second monitoring interface of the plurality of monitoring interfaces is configured to retrieve operating status information for the first dependency; and
a monitoring device implementing a monitoring application and comprising one or more processors and memory storing instructions that, when executed by the one or more processors, cause the monitoring device to:
determine the plurality of dependencies associated with the first application;
query the monitoring interface application to determine a set of monitoring interfaces associated with the plurality of dependencies;
identify one or more first monitoring interfaces of the set of monitoring interfaces based on at least a first monitoring dashboard provided by the monitoring interface application and associated with at least one dependency of the plurality of dependencies;
configure the monitoring application to monitor the at least one dependency using the one or more first monitoring interfaces;
detect, by the monitoring application and based on the plurality of monitoring interfaces including the first monitoring interfaces, a current operating status of the first application and the plurality of dependencies;
generate, using a machine learning model trained to determine a likelihood that the first application will enter an unhealthy status based on one or more patterns of performance, a health report based on the current operating status of the first application and the plurality of dependencies, wherein:
each pattern of performance indicates a potential correlation between the first application entering an unhealthy status and an attribute of a dependency of the first application, and
the machine learning model is trained based on a training data set comprising a plurality of system state records, each system state record corresponding to a respective performance event and comprising corresponding system state information corresponding to the first application and one or more of the plurality of dependencies during the performance event;
determine, based on the health report, a first dependency, of the plurality of dependencies, that corresponds to a source of risk for the first application; and
generate a notification that indicates a suggested action to mitigate a risk associated with the determined first dependency, wherein the suggested action is generated using the machine learning model and based on a first pattern of performance associated with the first dependency.

### Claim 24 (depends on 23)

The system of claim 23, wherein the instructions further cause the monitoring device to:
automatically implement the suggested action; or
implement the suggested action based on a user response to the notification.

### Claim 25 (depends on 23)

The system of claim 23, wherein a first system state record further comprises information indicating a corrective action taken in response to a corresponding first incident event, and wherein instructions cause the monitoring device to determine the suggested action based on the first pattern of performance by causing the monitoring device to:
determine, using the machine learning model, the suggested action based on the corrective action taken in response to the first incident event.

### Claim 26 (depends on 23)

The system of claim 23, wherein the first monitoring dashboard is associated with a second application that also depends on the first dependency.

### Claim 27

A system comprising:
a first application having a plurality of dependencies, wherein a first dependency of the plurality of dependencies comprises an Application Programming Interface (API) utilized by the first application;
a monitoring interface application providing a plurality of monitoring interfaces, wherein a first monitoring interface of the plurality of monitoring interfaces is configured to retrieve operating status information for the first application and a second monitoring interface of the plurality of monitoring interfaces is configured to retrieve operating status information for the first dependency; and
a monitoring device implementing a monitoring application and comprising one or more processors and memory storing instructions that, when executed by the one or more processors, cause the monitoring device to:
determine the plurality of dependencies associated with the first application;
query the monitoring interface application to determine a set of monitoring interfaces associated with the plurality of dependencies;
identify one or more first monitoring interfaces of the set of monitoring interfaces based on at least a first monitoring dashboard provided by the monitoring interface application and associated with at least one dependency of the plurality of dependencies;
configure the monitoring application to monitor the at least one dependency using the one or more first monitoring interfaces;
detect, by the monitoring application and based on the plurality of monitoring interfaces including the first monitoring interfaces, a current operating status of the first application and the plurality of dependencies;
generate, using a machine learning model trained to determine a likelihood that the first application will enter an unhealthy status based on one or more patterns of performance, a health report based on the current operating status of the first application and the plurality of dependencies, wherein:
each pattern of performance indicates a potential correlation between the first application entering an unhealthy status and an attribute of a dependency of the first application, and
the machine learning model is trained based on a training data set comprising a plurality of system state records, each system state record corresponding to a respective performance event and comprising corresponding system state information corresponding to the first application and one or more of the plurality of dependencies during the performance event;
determine, based on the health report, a first dependency, of the plurality of dependencies, that corresponds to a source of risk for the first application; and
generate a notification that indicates a cause of risk associated with the determined first dependency, wherein the cause of risk is generated using the machine learning model and based on a first pattern of performance associated with the first dependency.

### Claim 28 (depends on 27)

The system of claim 27, wherein the first pattern of performance is a pattern of failure and indicates a potential correlation between a first attribute of the first dependency and the first application entering an unhealthy operating status.

### Claim 29 (depends on 27)

The system of claim 27, wherein the first pattern of performance is a pattern of latency and indicates a potential correlation between a first attribute of the first dependency and a latency associated with requests to the first application.

### Claim 30 (depends on 27)

The system of claim 27, wherein the first monitoring dashboard is associated with a second application that also depends on the first dependency.

### Claim 31

One or more non-transitory computer readable media storing instructions that, when executed by one or more processors, cause a monitoring device to perform steps comprising:
configuring a monitoring application to monitor a first application and a plurality of dependencies of the first application using a plurality of monitoring interfaces;
detecting, by the monitoring application and based on the plurality of monitoring interfaces, a current operating status of the first application and the plurality of dependencies;
generating, using a machine learning model trained to determine a likelihood that the first application will enter an unhealthy status based on one or more patterns of performance, a health report based on the current operating status of the first application and the plurality of dependencies, wherein:
each pattern of performance indicates a potential correlation between the first application entering an unhealthy status and an attribute of a dependency of the first application, and
the machine learning model is trained based on a training data set comprising a plurality of system state records, each system state record corresponding to a respective performance event and comprising corresponding system state information corresponding to the first application and one or more of the plurality of dependencies during the performance event;
determining, based on the health report, a first dependency, of the plurality of dependencies, that corresponds to a source of risk for the first application; and
generating a suggested action to mitigate a risk associated with the determined first dependency, wherein the suggested action is generated using the machine learning model and based on a first pattern of performance associated with the first dependency.

### Claim 32 (depends on 31)

The computer readable media of claim 31, wherein the instructions cause the monitoring device to perform further steps comprising:
automatically implementing the suggested action.

### Claim 33 (depends on 31)

The computer readable media of claim 31, wherein the instructions cause the monitoring device to perform further steps comprising:
implementing the suggested action based on a user response to the notification.

### Claim 34 (depends on 31)

The computer readable media of claim 31, wherein the first monitoring dashboard is associated with a second application that also depends on the first dependency.

### Claim 35

One or more non-transitory computer readable media storing instructions that, when executed by one or more processors, cause a monitoring device to perform steps comprising:
determining a plurality of dependencies associated with a first application;
querying a monitoring interface application to determine a set of monitoring interfaces associated with the plurality of dependencies;
identifying one or more first monitoring interfaces of the set of monitoring interfaces based on at least a first monitoring dashboard provided by the monitoring interface application and associated with at least one dependency of the plurality of dependencies;
configuring the monitoring application to monitor the at least one dependency using the one or more first monitoring interfaces;
detecting, by the monitoring application and based on a plurality of monitoring interfaces including the first monitoring interfaces, a current operating status of the first application and the plurality of dependencies;
generating, using a machine learning model trained to determine a likelihood that the first application will enter an unhealthy status based on one or more patterns of performance, a health report based on the current operating status of the first application and the plurality of dependencies, wherein:
each pattern of performance indicates a potential correlation between the first application entering an unhealthy status and an attribute of a dependency of the first application, and
the machine learning model is trained based on a training data set comprising a plurality of system state records, each system state record corresponding to a respective performance event and comprising corresponding system state information corresponding to the first application and one or more of the plurality of dependencies during the performance event;
determining, based on the health report, a first dependency, of the plurality of dependencies, that corresponds to a source of risk for the first application; and
generating a notification that indicates a cause of risk associated with the determined first dependency, wherein the cause of risk is generated using the machine learning model and based on a first pattern of performance associated with the first dependency.

### Claim 36 (depends on 35)

The computer readable media of claim 35, wherein the first pattern of performance is a pattern of failure and indicates a potential correlation between a first attribute of the first dependency and the first application entering an unhealthy operating status.

### Claim 37 (depends on 35)

The computer readable media of claim 35, wherein the first pattern of performance is a pattern of latency and indicates a potential correlation between a first attribute of the first dependency and a latency associated with requests to the first application.

### Claim 38 (depends on 35)

The computer readable media of claim 35, wherein the first monitoring dashboard is associated with a second application that also depends on the first dependency.
