IP Library Granted Patent US 12,222,991
Granted Patent B2
US 12,222,991 · App. 17/886,088 · Granted Feb 11, 2025

Anomaly database system for processing telemetry data

Inventors: Gurashish Singh Brar (Belmont, CA); Karan Jayesh Bavishi (San Francisco, CA); Gurjeet S. Arora (Sunnyvale, CA)
Assignee: Rubrik, Inc.
G06F16/906G06F16/2471G06F16/90335G06F17/18H04L65/613H04L65/65
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 12,222,991
App. No.
17/886,088
Granted
Feb 11, 2025
Kind
B2
Abstract

In some examples, an anomaly database system is provided for processing metrics in telemetry data. An example anomaly database system comprises a continuous data management (CDM) node, the CDM node including a metrics library for sending out system metrics in a sparse manner and a statistics relay for receiving streaming metrics from nodes in a node cluster, the node cluster including the CDM node, the statistics relay pushing the received metrics to a metrics collector. A sparse consumers module pulls metrics, from the metrics collector, pushed to the metrics collector by the statistics relay.

Claims (58)

1. An apparatus, comprising:

at least one processor;

memory coupled to the at least one processor; and

instructions stored in the memory and executable by the at least one processor to:

store telemetry data at a plurality of nodes in a data management system, wherein the plurality of nodes are connected to each other via a network, and wherein the plurality of nodes store one or more snapshots of a computing object, the telemetry data comprising a plurality of data points that indicate performance information related to the data management system;

receive a query at a first node of the plurality of nodes in the data management system, the query comprising a request to display at least a portion of the telemetry data via a user interface associated with the data management system, wherein some or all of the at least the portion of the telemetry data is stored at a second node of the plurality of nodes in the data management system and the second node is different from the first node;

obtain, based at least in part on the query, a subset of the at least the portion of the telemetry data from the plurality of nodes by running a sparse algorithm on the at least the portion of the telemetry data, wherein the sparse algorithm includes, in the subset of the at least the portion of the telemetry data, data points that:

are outside a standard deviation band of the at least the portion of the telemetry data,

are different from one or more previous data points, or

satisfy respective difference thresholds with respect to the one or more previous data points or one or more subsequent data points; and

output, in response to the query, an indication of the subset of the at least the portion of the telemetry data for display via the user interface.

2. The apparatus of claim 1 , wherein, to obtain the subset of the at least the portion of the telemetry data, the instructions are executable by the at least one processor to cause the apparatus to:

obtain a first portion of the subset of the at least the portion of the telemetry data from the first node of the plurality of nodes in the data management system; and

obtain a second portion of the subset of the at least the portion of the telemetry data from the second node of the plurality of nodes in the data management system.

3. The apparatus of claim 1 , wherein the instructions are further executable by the at least one processor to cause the apparatus to:

transmit the some or all of the at least the portion of the telemetry data from the second node to the first node in response to the query.

4. The apparatus of claim 1 , wherein, to receive the query at the first node of the plurality of nodes in the data management system, the instructions are executable by the at least one processor to cause the apparatus to:

receive, via the user interface, the request indicating to display telemetry data associated with a designated time range, wherein the subset of the at least the portion of the telemetry data comprises a subset of the plurality of data points that correspond to the designated time range.

5. The apparatus of claim 1 , wherein, the instructions are executable by the at least one processor to cause the apparatus to:

determine that a variance of a data point with respect to a previous data point or a subsequent data point is above a threshold, wherein the at least the portion of the telemetry data comprises the previous data point, the data point, and the subsequent data point; and

select the data point to include in the subset of the at least the portion of the telemetry data based at least in part on the determination.

6. The apparatus of claim 1 , wherein the performance information comprises system failure information, resource utilization information, system activity information, or a combination thereof.

7. The apparatus of claim 1 , wherein the instructions are executable by the at least one processor to cause the apparatus to:

receive the query at the first node of the plurality of nodes in the data management system, wherein a first portion of the subset is obtained from the first node, and wherein a second portion of the subset is obtained from the second node of the plurality of nodes.

8. A method, comprising:

storing telemetry data at a plurality of nodes in a data management system, wherein the plurality of nodes are connected to each other via a network, and wherein the plurality of nodes store one or more snapshots of a computing object, the telemetry data comprising a plurality of data points that indicate performance information related to the data management system;

receiving a query at a first node of the plurality of nodes in the data management system, the query comprising a request to display at least a portion of the telemetry data via a user interface associated with the data management system, wherein some or all of the at least the portion of the telemetry data is stored at a second node of the plurality of nodes in the data management system and the second node is different from the first node;

obtaining, based at least in part on the query, a subset of the at least the portion of the telemetry data from the plurality of nodes by running a sparse algorithm on the at least the portion of the telemetry data, wherein the sparse algorithm includes, in the subset of the at least the portion of the telemetry data, data points that:

are outside a standard deviation band of the at least the portion of the telemetry data,

are different from one or more previous data points, or

satisfy respective difference thresholds with respect to the one or more previous data points; and

outputting, in response to the query, an indication of the subset of the at least the portion of the telemetry data for display via the user interface.

9. The method of claim 8 , wherein obtaining the subset of the at least the portion of the telemetry data comprises:

obtaining a first portion of the subset of the at least the portion of the telemetry data from the first node of the plurality of nodes in the data management system; and

obtaining a second portion of the subset of the at least the portion of the telemetry data from the second node of the plurality of nodes in the data management system.

10. The method of claim 8 , further comprising:

transmitting the some or all of the at least the portion of the telemetry data from the second node to the first node in response to the query.

11. The method of claim 8 , wherein receiving the query at the first node of the plurality of nodes in the data management system comprises:

receiving, via the user interface, the request indicating to display telemetry data associated with a designated time range, wherein the subset of the at least the portion of the telemetry data comprises a subset of the plurality of data points that correspond to the designated time range.

12. The method of claim 8 , further comprising:

determining that a variance of a data point with respect to a previous data point or a subsequent data point is above a threshold, wherein the at least the portion of the telemetry data comprises the previous data point, the data point, and the subsequent data point; and

selecting the data point to include in the subset of the at least the portion of the telemetry data based at least in part on the determination.

13. The method of claim 8 , wherein the performance information comprises system failure information, resource utilization information, system activity information, or a combination thereof.

14. A non-transitory computer-readable medium storing code, the code comprising instructions executable by at least one processor to:

store telemetry data at a plurality of nodes in a data management system, wherein the plurality of nodes are connected to each other via a network, and wherein the plurality of nodes store one or more snapshots of a computing object, the telemetry data comprising a plurality of data points that indicate performance information related to the data management system;

receive a query at a first node of the plurality of nodes in the data management system, the query comprising a request to display at least a portion of the telemetry data via a user interface associated with the data management system, wherein some or all of the at least the portion of the telemetry data is stored at a second node of the plurality of nodes in the data management system and the second node is different from the first node;

obtain, based at least in part on the query, a subset of the at least the portion of the telemetry data from the plurality of nodes by running a sparse algorithm on the at least the portion of the telemetry data, wherein the sparse algorithm includes, in the subset of the at least the portion of the telemetry data, data points that:

are outside a standard deviation band of the at least the portion of the telemetry data,

are different from one or more previous data points, or

satisfy respective difference thresholds with respect to the one or more previous data points; and

output, in response to the query, an indication of the subset of the at least the portion of the telemetry data for display via the user interface.

15. The non-transitory computer-readable medium of claim 14 , wherein, to obtain the subset of the at least the portion of the telemetry data, the instructions are executable by the at least one processor to:

obtain a first portion of the subset of the at least the portion of the telemetry data from the first node of the plurality of nodes in the data management system; and

obtain a second portion of the subset of the at least the portion of the telemetry data from the second node of the plurality of nodes in the data management system.

16. The non-transitory computer-readable medium of claim 14 , wherein the instructions are further executable by the at least one processor to:

transmit the some or all of the at least the portion of the telemetry data from the second node to the first node in response to the query.

17. The non-transitory computer-readable medium of claim 14 , wherein, to receive the query at the first node of the plurality of nodes in the data management system, the instructions are executable by the at least one processor to:

receive, via the user interface, the request indicating to display telemetry data associated with a designated time range, wherein the subset of the at least the portion of the telemetry data comprises a subset of the plurality of data points that correspond to the designated time range.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 64659/0236 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071566/0187 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Aug 21, 2023
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 064659/0236 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2023
From: BRAR, GURASHISH SINGH; BAVISHI, KARAN JAYESH; ARORA, GURJEET S.
To: RUBRIK, INC.
Reel/Frame 062713/0582 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2022
From: BRAR, GURASHISH SINGH; BAVISHI, KARAN JAYESH; ARORA, GURJEET S.
To: RUBRIK, INC.
Reel/Frame 060786/0675 →
Continuity (2)
Continuation 17068209 · Oct 12, 2020
Related Publication 20220382812A1 · Dec 1, 2022
References Cited (6)
US 20160234087A1 · Nyerges · 2016 [cited by examiner]
US 20180365298A1 · Poghosyan et al. · 2018 [cited by applicant]
US 20190294485A1 · Kukreja · 2019 [cited by examiner]
US 20210294818A1 · Savalle et al. · 2021 [cited by applicant]
US 20220114216A1 · Brar et al. · 2022 [cited by applicant]
U.S. Appl. No. 17/068,209, filed Oct. 12, 2020, Patented, U.S. Pat. No. 11,436,285. [cited by applicant]