IP Library Granted Patent US 9,794,158
Granted Patent B2
US 9,794,158 · App. 14/847,666 · Granted Oct 17, 2017

System event analyzer and outlier visualization

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 9,794,158
App. No.
14/847,666
Granted
Oct 17, 2017
Kind
B2
Abstract

An event analysis system receives events in a time-series from a set of monitored systems and identifies a set of alert threshold values for each of the types of events to identify outliers in the time-series at an evaluated time. Portions of historic event data is selected to identify windows of event data near the evaluated time at a set of seasonally-adjusted times to predict the value of the event type. The alert threshold value may also account for a prediction based on recent, higher-frequency events. Using the alert threshold values for a plurality of event types, the event data is compared with the alert threshold values to determine an alert level for the data. The event data types are also clustered and displayed with the alert levels to provide a visualization of the event data and identify outliers when the new event data is received.

Claims (70)

1. A method comprising:

receiving a time-series sequence of event data for each event type in a plurality of event types;

determining a set of correlations between pairs of the event types in the plurality of event types based on a comparison of the time-series sequence of each event type;

clustering the event types based on the set of correlations;

identifying subject event data for each event type in the plurality of event types for an evaluation time;

comparing the subject event data for each event type to one or more alert threshold values for each event type;

determining an alert level for each event data type based on the comparison of the subject event data; and

generating a display including each event data type represented by a node, the event data types at a location in the display based on the clustering and each event data type coded according to the alert level for the event data type.

2. The method of claim 1 , further comprising:

determining whether the correlation between each pair of connections between event types exceeds a threshold; and

responsive to the correlation exceeding the threshold, adding a connection between the nodes of the pair of connections in the display.

3. The method of claim 1 , further comprising:

identifying a centrality score for each event type based on the correlation pairs;

determining a notification score based on the alert level for each event node, the centrality score of each event node, and, for pairs of event nodes associated with the node, an alert level above an alert threshold; and

sending a notification when the notification score exceeds a threshold.

4. The method of claim 1 , further comprising:

displaying a timeline user interface element in the display;

receiving a selection of a second evaluation time; and

updating the display with alert levels for the second evaluation time.

5. The method of claim 1 , wherein the clustering is based on an absolute value of the correlations in the set of correlations.

6. A non-transitory computer-readable medium having instructions stored thereon, the instructions executable by a processor and when executed causing the processor to:

receive a time-series sequence of event data for each event type in a plurality of event types;

determine a set of correlations between pairs of the event types in the plurality of event types based on a comparison of the time-series sequence of each event type;

cluster the event types based on the set of correlations;

identify subject event data for each event type in the plurality of event types for an evaluation time;

compare the subject event data for each event type to one or more alert threshold values for each event type;

determine an alert level for each event data type based on the comparison of the subject event data; and

generate a display including each event data type represented by a node, the event data types at a location in the display based on the clustering and each event data type coded according to the alert level for the event data type.

7. The computer-readable medium of claim 6 , the instructions further causing the processor to:

determine whether the correlation between each pair of connections between event types exceeds a threshold; and

responsive to the correlation exceeding the threshold, add a connection between the nodes of the pair of connections in the display.

8. The computer-readable medium of claim 6 , the instructions further causing the processor to:

identify a centrality score for each event type based on the correlation pairs;

determine a notification score based on the alert level for each event node, the centrality score of each event node, and, for pairs of event nodes associated with the node, an alert level above an alert threshold; and

send a notification when the notification score exceeds a threshold.

9. The computer-readable medium of claim 6 , further comprising:

display a timeline user interface element in the display;

receive a selection of a second evaluation time; and

update the display with alert levels for the second evaluation time.

10. The computer-readable medium of claim 6 , wherein the clustering is based on an absolute value of the correlations in the set of correlations.

11. A method comprising:

receiving a time-series sequence of event data for each event type in a plurality of event types associated with one or more monitored systems;

determining a set of correlation scores between pairs of the event types in the plurality of event types based on a comparison of the time-series sequence of each event type;

identifying subject event data for each event type in the plurality of event types for an evaluation time;

comparing the subject event data for each event type to one or more alert threshold values for each event type;

determining an alert level for each event data type based on the comparison of the subject event data;

determining a system health score for the plurality of event types, the system health score combining the alert levels for each event data type, the alert level for each data type increased based on the correlation scores for the pairs of event types including that data type;

determining whether the system health score exceeds a notification threshold; and

responsive to determining the system health score exceeds the notification threshold, generating a notification for an operator of the of notifying an operator of the monitored systems.

12. The method of claim 11 , further comprising

identifying annotation data associated with one or more of the event types in the plurality of event types, the annotation data indicating an action that may affect the event data of the one or more event types; and

modifying the alert levels for the one or more event types for the system health score based on the annotation data.

13. The method of claim 12 , wherein the annotation data is selected from among a group consisting of: a code change, service pricing, planned downtime, weather, gatherings, and any combination thereof.

14. The method of claim 11 , wherein the notification is generated when the system health score also exceeds the notification threshold for a designated amount of time.

15. The method of claim 11 , wherein the system health score is increased for an event type when another event type, having a correlation with the event type higher than a correlation threshold, has an alert level.

16. The method of claim 11 , wherein system health score is compared with a plurality of notification thresholds, and a notification level is selected based on the comparison to the plurality of notification thresholds.

17. The method of claim 16 , further comprising selecting the operator to notify based on which of the selected notification level from the plurality of notification thresholds.

18. A non-transitory computer-readable medium having instructions stored thereon, the instructions executable by a processor and when executed causing the processor to:

receive a time-series sequence of event data for each event type in a plurality of event types associated with one or more monitored systems;

determine a set of correlation scores between pairs of the event types in the plurality of event types based on a comparison of the time-series sequence of each event type;

identify subject event data for each event type in the plurality of event types for an evaluation time;

compare the subject event data for each event type to one or more alert threshold values for each event type;

determine an alert level for each event data type based on the comparison of the subject event data;

determine a system health score for the plurality of event types, the system health score combining the alert levels for each event data type, the alert level for each data type increased based on the correlation scores for the pairs of event types including that data type;

determine whether the system health score exceeds a notification threshold; and

responsive to determining the system health score exceeds the notification threshold, generate a notification for an operator of the of notifying an operator of the monitored systems.

19. The computer-readable medium of claim 18 , the instructions further causing the processor to:

identify annotation data associated with one or more of the event types in the plurality of event types, the annotation data indicating an action that may affect the event data of the one or more event types; and

modify the alert levels for the one or more event types for the system health score based on the annotation data.

20. The computer-readable medium of claim 19 , wherein the annotation data is selected from among a group consisting of: a code change, service pricing, planned downtime, weather, gatherings, and any combination thereof.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069110/0508 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT (TERM LOAN) AT REEL 050767, FRAME 0076 Recorded Sep 11, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069133/0167 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 055547/0404 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0109 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0076 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 45853 FRAME: 418. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 26, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 049259/0064 →
SECURITY INTEREST Recorded Apr 6, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 045853/0418 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2016
From: BELL, FRANZISKA; PURDY, DAVID; KORSOS, LASZLO; HE, SHAN
To: UBER TECHNOLOGIES, INC.
Reel/Frame 039213/0319 →