IP Library Granted Patent US 10,776,374
Granted Patent B2
US 10,776,374 · App. 14/980,455 · Granted Sep 15, 2020

Self-monitoring time series database system based on monitored rate of change

Inventors: Thomas Nicholas Valine (San Jose, CA); Bhinav Sura (San Mateo, CA); Rajavardhan Sarkapally (San Francisco, CA); Dilip Devaraj (Colma, CA)
Assignee: salesforce.com, inc.
G06F16/2477
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,776,374
App. No.
14/980,455
Granted
Sep 15, 2020
Kind
B2
Abstract

A time series database system receives a trigger condition associated with time series data points corresponding to subsystems of the system. The system aggregates the time series data points associated with a first time into a first internal time series data point. The system aggregates the time series data points associated with a second time into a second internal time series data point if the first internal time series data point does not meet the trigger condition. The system calculates a projected internal time series data point based on the first internal time series data point and the second internal time series data point if the second internal time series data point does not meet the trigger condition. The system outputs a projected alert notification associated with the projected internal time series data point and the trigger condition if the projected internal time series data point meets the trigger condition.

Claims (82)

1. A system for a self-monitoring time series database system based on rate of change, the apparatus comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

receive, by a time series database system, an alert trigger condition associated with a plurality of time series data points corresponding to a plurality of subsystems of the time series database system;

aggregate, by the time series database system, the plurality of time series data points associated with a first time into a global counter, in response to the time series database system internally collecting the plurality of time series data points associated with the first time from the plurality of subsystems which determine data independently of communicating externally to the plurality of subsystems of the time series database system;

copy, by the time series database system, the aggregated value in the global counter to a first internal time series data point, the first internal time series data point corresponding to multiple services performed by the time series database system;

evaluate, by the time series database system, whether the first internal time series data point meets the alert trigger condition;

aggregate, by the time series database system, the plurality of time series data points associated with a second time into the global counter when the first internal time series data point does not meet the alert trigger condition;

copy, by the time series database system, the aggregated value in the global counter to a second internal time series data point;

evaluate, by the time series database system, whether the second internal time series data point meets the alert trigger condition;

calculate, by the time series database system, a projected internal time series data point based on the first internal time series data point and the second internal time series data point when the second internal time series data point does not meet the alert trigger condition;

evaluate, by the time series database system, whether the projected internal time series data point meets the alert trigger condition; and

output, by the time series database system, a projected alert notification associated with the projected internal time series data point and the alert trigger condition when the projected internal time series data point meets the alert trigger condition.

2. The system of claim 1 , wherein receiving the alert trigger condition comprises receiving the alert trigger condition from at least one of a system administrator and a configuration file.

3. The system of claim 1 , wherein aggregating the plurality of time series data points associated with the first time into the global counter comprises:

disabling subsystem aggregation tothe global counter;

resetting the global counter; and

enabling subsystem aggregation tothe global counter; and.

4. The system of claim 1 , wherein calculating the projected internal time series data point based on the first internaltime series data point and the second internal time series data point is further based on at least one of the first internal time series data point and the second internal time series data point meeting a data threshold.

5. The system of claim 1 , wherein evaluating whether the projected internaltime series data point meets the alert trigger condition is based on meeting a time threshold.

6. The system of claim 1 , wherein outputting the projected alert notification associated with the projected internaltime series data point and the alert trigger condition comprises determining whether an alert notifier is in a cooldown period for the projected alert notification, and outputting the projected alert notification associated with the first internal time series data point and the alert trigger condition when the alert notifier is not in a cooldown period for the projected alert notification.

7. The system of claim 1 , comprising further instructions, which when executed, cause the one or more processors to:

aggregate, by the time series database system, the first internal time series data point corresponding to the time series database system with another first time series data point corresponding to another time series database system into a first distributed network time series data point;

evaluate, by the time series database system, whether the first distributed network time series data point meets a corresponding alert trigger condition;

aggregate, by the time series database system, the second internal time series data point corresponding to the time series database system with another second time series data point corresponding to the other time series database system into a second distributed network time series data point when the first distributed network time series data point does not meet the corresponding alert trigger condition;

evaluate, by the time series database system, whether the second distributed network time series data point meets the corresponding alert trigger condition;

calculate, by the time series data base system, a projected distributed network time series data point based on the first distributed network time series data point and the second distributed network time series data point when the second distributed network time series data point does not meet the corresponding alert trigger condition;

evaluate, by the time series data base system, whether the projected distributed network time series data point meets the corresponding alert trigger condition; and

output, by the time series database system, a projected network alert notification associated with the projected distributed network time series data point and the corresponding alert trigger condition when the projected distributed network time series data point meets the corresponding alert trigger condition.

8. A computer program product comprising computer-readable program code to be executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code including instructions to:

receive, by a time series database system, an alert trigger condition associated with a plurality of time series data points corresponding to a plurality of subsystems of the time series data base system;

aggregate, by the time series database system, the plurality of time series data points associated with a first time into a global counter, in response to the time series database system internally collecting the plurality of time series data points associated with the first time from the plurality of subsystems which determine data independently of communicating externally to the plurality of subsystems of the time series database system;

copy, by the time series database system, the aggregated value in the global counter to a first internal time series data point, the first internal time series data point corresponding to multiple services performed by the time series database system;

evaluate, by the time series database system, whether the first internal time series data point meets the alert trigger condition;

aggregate, by the time series database system, the plurality of time series data points associated with a second time into the global counter when the first internal time series data point does not meet the alert trigger condition;

copy, by the time series database system, the aggregated value in the global counter to a second internal time series data point;

evaluate, by the time series database system, whether the second internal time series data point meets the alert trigger condition;

calculate, by the time series database system, a projected internal time series data point based on the first internal time series data point and the second internal time series data point when the second internal time series data point does not meet the alert trigger condition;

evaluate, by the time series database system, whether the projected internal time series data point meets the alert trigger condition; and

output, by the time series database system, a projected alert notification associated with the projected internal time series data point and the alert trigger condition when the projected internal time series data point meets the alert trigger condition.

9. The computer program product of claim 8 , wherein receiving the alert trigger condition comprises receiving the alert trigger condition from at least one of a system administrator and a configuration file.

10. The computer program product of claim 8 , wherein aggregating the plurality of time series data points associated with the first time into the global counter comprises:

disabling subsystem aggregation to the global counter;

resetting the global counter; and

enabling subsystem aggregation to the global counter.

11. The computer program product of claim 8 , wherein calculating the projected internal time series data point based on the first internal time series data point and the second internal time series data point is further based on at least one of the first internal time series data point and the second internal time series data point meeting a data threshold.

12. The computer program product of claim 8 , wherein evaluating whether the projected internal time series data point meets the alert trigger condition is based on meeting a time threshold.

13. The computer program product of claim 8 , wherein outputting the projected alert notification associated with the projected internal time series data point and the alert trigger condition comprises determining whether an alert notifier is in a cooldown period for the projected alert notification, and outputting the projected alert notification associated with the first internal time series data point and the alert trigger condition when the alert notifier is not in a cooldown period for the projected alert notification.

14. The computer program product of claim 8 , wherein the program code comprises further instructions to:

aggregate, by the time series database system, the first internal time series data point corresponding to the time series database system with another first time series data point corresponding to another time series database system into a first distributed network time series data point;

evaluate, by the time series database system, whether the first distributed network time series data point meets a corresponding alert trigger condition;

aggregate, by the time series database system, the second internal time series data point corresponding to the time series database system with another second time series data point corresponding to the other time series database system into a second distributed network time series data point when the first distributed network time series data point does not meet the corresponding alert trigger condition;

evaluate, by the time series database system, whether the second distributed network time series data point meets the corresponding alert trigger condition;

calculate, by the time series database system, a projected distributed network time series data point based on the first distributed network time series data point and the second distributed network time series data point when the second distributed network time series data point does not meet the corresponding alert trigger condition;

evaluate, by the time series database system, whether the projected distributed network time series data point meets the corresponding alert trigger condition; and

output, by the time series database system, a projected network alert notification associated with the projected distributed network time series data point and the corresponding alert trigger condition when the projected distributed networktime series data point meets the corresponding alert trigger condition.

15. A method for a self-monitoring time series database system based on monitored rate of change, the method comprising:

receiving by a time series database system, an alert trigger condition associated with a plurality of time series data points corresponding to a plurality of subsystems of the time series database system;

aggregating, by the time series database system, the plurality of time series data points associated with a first time into a global counter, in response to the time series database system internally collecting the plurality of time series data points associated with the first time from the plurality of subsystems which determine data independently of communicating externally to the plurality of subsystems of the time series database system;

copying, by the time series database system, the aggregated value in the global counter to a first internal time series data point, the first internal time series data point corresponding to multiple services performed by the time series database system;

evaluating, by the time series database system, whether the first internaltime series data point meets the alert trigger condition;

aggregating, by the time series database system, the plurality of time series data points associated with a second time into the global counter when the first internal time series data point does not meet the alert trigger condition;

copying, by the time series database system, the aggregated value in the global counter to a second internal time series data point;

evaluating, by the time series database system, whether the second internal time series data point meets the alert trigger condition;

calculating, by the time series database system, a projected internal time series data point based on the first internal time series data point and the second internal time series data point when the second internaltime series data point does not meet the alert trigger condition;

evaluating, by the time series database system, whether the projected internal time series data point meets the alert trigger condition; and

outputting, by the time series database system, a projected alert notification associated with the projected internal time series data point and the alert trigger condition when the projected internal time series data point meets the alert trigger condition.

16. The method of claim 15 , wherein receiving the alert trigger condition comprises receiving the alert trigger condition from at least one of a system administrator and a configuration file.

17. The method of claim 15 , wherein aggregating the plurality of time series data points associated with the first time into the global counter comprises:

disabling subsystem aggregation to the global counter;

resetting the global counter; and

enabling subsystem aggregation to the global counter.

18. The method of claim 15 , wherein calculating the projected internaltime series data point based on the first internaltime series data point and the second internal time series data point is further based on at least one of the first internal time series data point and the second internal time series data point meeting a data threshold, and wherein evaluating whether the projected internal time series data point meets the alert trigger condition is based on meeting a time threshold.

19. The method of claim 15 , wherein outputting the projected alert notification associated with the projected internaltime series data point and the alert trigger condition comprises determining whether an alert notifier is in a cooldown period for the projected alert notification, and outputting the projected alert notification associated with the first internal time series data point and the alert trigger condition when the alert notifier is not in a cooldown period for the projected alert notification.

20. The method of claim 15 , wherein the method further comprises:

aggregating, by the time series database system, the first internal time series data point corresponding to the time series database system with another first time series data point corresponding to another time series database system into a first distributed network time series data point;

evaluating, by the time series database system, whether the first distributed network time series data point meets a corresponding alert trigger condition;

aggregating, by the time series database system, the second internal time series data point corresponding to the time series database system with another second time series data point corresponding to the other time series database system into a second distributed network time series data point when the first distributed network time series data point does not meet the corresponding alert trigger condition;

evaluating, by the time series database system, whether the second distributed network time series data point meets the corresponding alert trigger condition;

calculating, by the time series database system, a projected distributed network time series data point based on the first distributed network time series data point and the second distributed network time series data point in response to an evaluation that the second distributed network time series data point does not meet the corresponding alert trigger condition;

evaluating, by the time series database system, whether the projected distributed network time series data point meets the corresponding alert trigger condition; and

outputting, by the time series database system, a projected network alert notification associated with the projected distributed network time series data point and the corresponding alert trigger condition when the projected distributed network time series data point meets the corresponding alert trigger condition.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069430/0944 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2015
From: VALINE, THOMAS NICHOLAS; SURA, BHINAV; SARKAPALLY, RAJAVARDHAN; DEVARAJ, DILIP
To: SALESFORCE.COM, INC.
Reel/Frame 037366/0803 →
Continuity (1)
Related Publication 20170185639A1 · Jun 29, 2017
Cited By (13)
US 12,204,536 US 12,204,593 US 12,248,484 US 12,265,525 US 12,271,389 US 12,287,790 US 12,393,631 US 12,436,963 US 12,585,638 US 12,613,864 US 12,639,379 US 12,650,965 US 12,670,152