IP Library Granted Patent US 10,454,889
Granted Patent B2
US 10,454,889 · App. 14/923,033 · Granted Oct 22, 2019

Automatic anomaly detection framework for grid resources

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,454,889
App. No.
14/923,033
Granted
Oct 22, 2019
Kind
B2
Abstract

In one embodiment, a workflow data structure may be generated, updated, or obtained. The workflow data structure may represent system processes, relationships among the system processes, data input to the system processes, data generated by the system processes, and estimated running times associated with the system processes, wherein the data generated by the system processes includes a plurality of metrics. A scheduling map may be generated or updated based, at least in part, on the relationships among the system processes and the estimated running times associated with the system processes, where the scheduling map indicates estimated times at which the metrics are anticipated to be available. The metrics may be monitored based, at least in part, on the scheduling map. Anomalies may be detected according to a result of monitoring the metrics.

Claims (64)

1. A method, comprising:

generating or updating, by one or more servers, a directed graph representing relationships among a plurality of system processes of a computing system, wherein edges of the directed graph represent the system processes, values assigned to the edges of the directed graph represent estimated running times associated with the system processes, and nodes of the directed graph include input nodes representing data input to the system processes and output nodes representing data generated by the system processes, wherein the data generated by the system processes include a plurality of metrics;

generating or updating, by the one or more servers, a scheduling map based, at least in part, on the relationships among the system processes and the estimated running times associated with the system processes, wherein the scheduling map indicates estimated times at which the plurality of metrics are anticipated to be available for retrieval from one or more data stores;

monitoring, by the one or more servers, the plurality of metrics generated by the system processes, wherein monitoring includes interacting with the one or more data stores based, at least in part, on the scheduling map;

detecting, by the one or more servers, anomalies according to a result of monitoring the plurality of metrics; and

transmitting, by the one or more servers via a network, a notification pertaining to the anomalies that have been detected.

2. The method as recited in claim 1 , wherein the directed graph further represents latencies associated with at least a portion of the input nodes, and wherein the scheduling map is generated or updated based, at least in part, on the latencies.

3. The method as recited in claim 1 , wherein detecting anomalies in the monitored plurality of metrics comprises detecting an anomaly in a value of one of the plurality of metrics based upon one or more anomaly detection rules.

4. The method as recited in claim 1 , wherein detecting anomalies in the monitored plurality of metrics comprises determining that one of the plurality of metrics is not present in the one or more data stores.

5. The method as recited in claim 4 , further comprising:

responsive to determining that one of the plurality of metrics is not present in the one or more data stores,

waiting a period of time;

raising an alert level;

ascertaining whether the one of the plurality of metrics is present in the one or more data stores after the period of time; and

transmitting a notification based, at least in part, on the alert level and whether the one of the plurality of metrics is present in the one or more data stores after the period of time.

6. The method as recited in claim 4 , further comprising:

responsive to determining that one of the plurality of metrics is not present in the one or more data stores,

waiting a period of time;

ascertaining whether the one of the plurality of metrics is present in the one or more data stores after the period of time; and

transmitting a notification based, at least in part, on the period of time and whether the one of the plurality of metrics is present in the one or more data stores after the period of time.

7. A non-transitory computer-readable storage medium storing thereon computer-readable instructions comprising:

instructions for generating or updating, by one or more servers, a workflow data structure representing system processes of a computing system, relationships among the system processes, data input to the system processes, data generated by the system processes, and estimated running times associated with the system processes, wherein the data generated by the system processes includes a plurality of metrics;

instructions for generating or updating, by the one or more servers, a scheduling map based, at least in part, on the relationships among the system processes and the estimated running times associated with the system processes, wherein the scheduling map indicates estimated times at which the plurality of metrics are anticipated to be available for retrieval from one or more data stores;

instructions for monitoring, by the one or more servers, the plurality of metrics generated by the system processes, wherein monitoring includes interacting with the one or more data stores based, at least in part, on the scheduling map;

instructions for detecting, by the one or more servers, anomalies according to a result of monitoring the plurality of metrics; and

instructions for transmitting, by the one or more servers via a network, a notification pertaining to the anomalies that have been detected.

8. The non-transitory computer-readable storage medium as recited in claim 7 , wherein the workflow data structure further represents latencies associated with at least a portion of the data input to the system processes, and wherein the scheduling map is generated or updated based, at least in part, on the latencies.

9. The non-transitory computer-readable storage medium as recited in claim 7 , wherein the workflow data structure comprises a directed graph, wherein nodes of the directed graph represent the data input to the system processes and the data generated by the system processes, wherein edges of the directed graph represent the system processes, and wherein values assigned to the edges of the directed graph represent the estimated running times associated with the system processes.

10. The non-transitory computer-readable storage medium as recited in claim 7 , wherein detecting anomalies in the monitored plurality of metrics comprises detecting an anomaly in a value of one of the plurality of metrics based upon one or more anomaly detection rules.

11. The non-transitory computer-readable storage medium as recited in claim 7 , wherein detecting anomalies in the monitored plurality of metrics comprises determining that one of the plurality of metrics is not present in the one or more data stores.

12. The non-transitory computer-readable storage medium as recited in claim 11 , further comprising:

instructions for transmitting a notification pertaining to the one of the plurality of metrics.

13. The non-transitory computer-readable storage medium as recited in claim 11 , further comprising:

instructions for waiting a period of time responsive to determining that one of the plurality of metrics is not present in the one or more data stores;

instructions for raising an alert level;

instructions for ascertaining whether the one of the plurality of metrics is present in the one or more data stores after the period of time; and

instructions for transmitting a notification based, at least in part, on the alert level and whether the one of the plurality of metrics is present in the one or more data stores after the period of time.

14. The non-transitory computer-readable storage medium as recited in claim 11 , further comprising:

instructions for waiting a period of time responsive to determining that one of the plurality of metrics is not present in the one or more data stores; and

instructions for ascertaining whether the one of the plurality of metrics is present in the one or more data stores after the period of time;

wherein the notification is transmitted based, at least in part, on the period of time and whether the one of the plurality of metrics is present in the one or more data stores after the period of time.

15. An apparatus, comprising:

a processor; and

a memory, at least one of the processor or the memory being configured to:

obtain, generate, or update a workflow data structure representing system processes, relationships among the system processes of a computing system, data input to the system processes, data generated by the system processes, and estimated running times associated with the system processes, wherein the data generated by the system processes includes a plurality of metrics;

generate or update a scheduling map based, at least in part, on the relationships among the system processes and the estimated running times associated with the system processes, wherein the scheduling map indicates estimated times at which the plurality of metrics are anticipated to be available for retrieval from one or more data stores;

monitor the plurality of metrics generated by the system processes by interacting with the one or more data stores based, at least in part, on the scheduling map;

detect anomalies according to a result of monitoring the plurality of metrics; and

transmit, via a network, a notification pertaining to the anomalies that have been detected.

16. The apparatus as recited in claim 15 , wherein the workflow data structure further represents latencies associated with at least a portion of the data input to the system processes, and wherein the scheduling map is generated or updated based, at least in part, on the latencies.

17. The apparatus as recited in claim 15 , wherein the workflow data structure comprises a directed graph, wherein nodes of the directed graph represent the data input to the system processes and the data generated by the system processes, wherein edges of the directed graph represent the system processes, and wherein values assigned to the edges of the directed graph represent the estimated running times associated with the system processes.

18. The apparatus as recited in claim 15 , wherein detecting anomalies in the monitored plurality of metrics comprises detecting an anomaly in a value of one of the plurality of metrics based upon one or more anomaly detection rules.

19. The apparatus as recited in claim 15 , wherein detecting anomalies in the monitored plurality of metrics comprises determining that one of the plurality of metrics is not present in the one or more data stores.

20. The apparatus as recited in claim 19 , wherein at least one of the processor or the memory are further configured to:

responsive to determining that one of the plurality of metrics is not present in the one or more data stores, wait a period of time; and

ascertain whether the one of the plurality of metrics is present in the one or more data stores after the period of time; and

wherein the notification is transmitted based, at least in part, on the period of time and whether the one of the plurality of metrics is present in the one or more data stores after the period of time.

21. The method as recited in claim 1 , the plurality of metrics comprising a measurement of performance of at least one of hardware or software components of the computing system.

22. The apparatus as recited in claim 18 , the one or more anomaly detection rules indicating an acceptable range of values of one of the plurality of metrics.

23. The method as recited in claim 1 , wherein detecting anomalies according to a result of monitoring the plurality of metrics comprises applying a sequential analysis technique.

24. The method as recited in claim 1 , the plurality of metrics comprising at least one of:

a number of visitors of a web site supported by the computing system during a particular time period; or

an average response time provided to the visitors of the web site.

25. The method as recited in claim 1 , wherein monitoring is not one of the system processes.

Assignments (5)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
Cited By (45)
US 12,526,297 US 12,537,836 US 12,537,837 US 12,537,839 US 12,537,840 US 12,537,884 US 12,549,575 US 12,549,577 US 12,556,548 US 12,556,559 US 12,563,060 US 12,563,064 US 12,563,071 US 12,563,072 US 12,580,932 US 12,580,934 US 12,580,935 US 12,580,936 US 12,580,937 US 12,587,553 US 12,592,950 US 12,598,205 US 12,613,930 US 12,615,271 US 12,621,324 US 12,621,329 US 12,627,686 US 12,627,687 US 12,627,690 US 12,634,312 US 12,634,376 US 12,652,302 US 12,659,325 US 12,659,326 US 12,659,327 US 12,659,333 US 12,676,874 US 12,689,638 US 12,689,640 US 12,695,768 US 12,706,931 US 12,706,932 US 12,706,933 US 12,706,980 US 12,712,897