Determining problem dependencies in application dependency discovery, reporting, and management tool

US10521235B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10521235-B1
Application numberUS-201916454551-A
CountryUS
Kind codeB1
Filing dateJun 27, 2019
Priority dateJun 27, 2019
Publication dateDec 31, 2019
Grant dateDec 31, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: determining a plurality of services associated with a first application and organized as a dependency tree, wherein the plurality of services comprises: one or more first services corresponding to one or more immediate dependencies of the first application; and one or more second services corresponding to one or more sub-dependencies of the first application, wherein each of the second services corresponds to a respective dependency of a corresponding immediate dependency or sub-dependency of the first application; configuring a monitoring application to monitor the plurality of services using a plurality of monitoring interfaces; automatically identifying, by the monitoring application, a problem service of the plurality of services through a tree traversal process, wherein the tree traversal process begins at a first layer, as a current layer, of the dependency tree that corresponds to the one or more immediate dependencies of the first application and comprises: determining, based on the plurality of monitoring interfaces, an operating status of each service included in the current layer of the dependency tree; and based on whether a first service of the current layer is identified as having an unhealthy status, and based on whether each service of the current layer is identified as having a healthy status: when the first service is identified as having an unhealthy status, continuing to traverse the dependency tree to identify the problem service by advancing to a next layer of the dependency tree as the current layer, wherein the next layer of the dependency tree comprises services corresponding to one or more dependencies of the first service; and when each service of the current layer is identified as having a healthy status, identifying a parent service, of an immediately prior layer of the dependency tree, that has an unhealthy status as the problem service; and generating, by the monitoring application, a notification indicating that the parent service is the problem service, wherein determining the operating status of a given service comprises determining, using a corresponding monitoring interface, one or more of: whether a resource associated with the corresponding dependency is accessible; a response latency associated with requests to the corresponding dependency; an error rate associated with requests to the corresponding dependency; or an error state or error message provided by the corresponding dependency. 2. The method of claim 1 , wherein at least one service of the plurality of services corresponds to an Application Programming Interface (API) associated with a resource utilized by the first application. 3. The method of claim 1 , wherein at least one service of the plurality of services corresponds to a network utilized by the first application to communicate with another dependency. 4. The method of claim 1 , wherein the first application comprises an Application Programming Interface (API). 5. The method of claim 1 , wherein a given service is determined to have an unhealthy status based on whether one or more metrics associated with the corresponding dependency satisfy one or more operating status thresholds. 6. The method of claim 5 , wherein configuring the monitoring application to monitor the plurality of services comprises: configuring the monitoring application to associate the one or more operating status thresholds with the corresponding dependencies. 7. The method of claim 1 , wherein determining the operating status of a given service is based on a predetermined time period prior to a current time. 8. The method of claim 1 , wherein the plurality of monitoring interfaces comprises a first monitoring interface configured to enable monitoring of a second service utilized by the first application, wherein the first monitoring interface is generated by a first monitoring interface application and is configured to determine at least one metric associated with the second service. 9. The method of claim 8 , wherein configuring the monitoring application to monitor the plurality of services using the plurality of monitoring interfaces comprises: configuring the monitoring application to utilize the first monitoring interface through at least one monitoring query associated with the first monitoring interface application. 10. The method of claim 8 , wherein the plurality of monitoring interfaces comprises a second monitoring interface configured to enable monitoring of a third service utilized by the first application, wherein the second monitoring interface is generated by a second monitoring interface application and is configured to determine at least one metric associated with the third service, wherein the second monitoring interface application is different from the first monitoring interface application and utilizes a different query protocol. 11. The method of claim 1 wherein determining the operating status of each service included in the current layer of the dependency tree comprises: determining whether the operating status of a given service, of the services in the current layer, has previously been determined by the monitoring application during the tree traversal process; and based on determining that that operating status has already been determined, using the previously determined operating status for the given service. 12. The method of claim 1 , further comprising: generating, by the monitoring application, a health report for the first application by traversing the dependency tree to determine an operating status of each service of the plurality of services, wherein the monitoring application is configured to periodically generate the health report for the first application. 13. The method of claim 12 , wherein determining, as part of the tree traversal process, the operating status of each service included in a current layer of the dependency tree is based on operating statuses determined during generating the health report. 14. An apparatus comprising: one or more processors; and memory storing instructions that, when executed, cause the apparatus to: determine a plurality of services associated with a first application, wherein the plurality of services comprises: one or more first level services corresponding to one or more first level dependencies of the first application; one or more second level services corresponding to one or more second level dependencies of the first application, wherein each second level dependency is a dependency of a corresponding first level dependency; and one or more third level services corresponding to one or more third level dependencies of the first application, wherein each third level dependency is a dependency of a corresponding second level dependency; configure a monitoring application to monitor the plurality of services using a plurality of monitoring interfaces; generate, based on the plurality of monitoring interfaces, a health report for the first application, wherein the instructions cause the apparatus to generate the health report by causing the apparatus to: determine an operating status of the first application; determine, based on the plurality of monitoring interfaces, an operating status of each of the first level dependencies; identify a first service of the first level services as having an unhealthy operating status; determine, based on the plurality of monitoring interfaces, an operating status of each of the second level dependencies that are dependencies of a first level dependency corresponding to the first service; i

Assignees

Inventors

Classifications

  • for performance assessment · CPC title

  • Monitoring arrangements determined by the means or processing involved in reporting the monitored data (error or fault reporting or logging G06F11/0766) · CPC title

  • where the computing system component is a software system · CPC title

  • Threshold · CPC title

  • where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10521235B1 cover?
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 dep…
Who is the assignee on this patent?
Capital One Services Llc
What technology area does this patent fall under?
Primary CPC classification G06N20/00. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 31 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).