IP Library Granted Patent US 10,235,081
Granted Patent B2
US 10,235,081 · App. 15/141,323 · Granted Mar 19, 2019

Provisioning timestamp-based storage units for time series data

Inventors: Thomas Nicholas Valine (San Jose, CA); Bhinav Sura (San Mateo, CA); Kirankumar Kakanuru Gowdru (Sunnyvale, CA); Dilip Devaraj (Colma, CA); Rajavardhan Sarkapally (San Francisco, CA)
Assignee: salesforce.com, inc
G06F3/0644G06F3/0604G06F3/0689G06F17/30551G06F17/30584
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,235,081
App. No.
15/141,323
Granted
Mar 19, 2019
Kind
B2
Abstract

Provisioning timestamp-based storage units for time series data is described. A time series database system determines a remaining time period for a first storage unit to reach a storage capacity, the first storage unit storing first data with a first minimum timestamp. The time series database system provisions a second storage unit if the remaining time period for the first storage unit satisfies the provisioning threshold and stores second data with a second minimum timestamp to the second storage unit. The time series database system dispatches a query for third time series data to any storage unit if a time span from a minimum timestamp to a maximum timestamp associated with the storage unit includes at least part of a time range associated with the third time series data. The time series database system responds to the query for the third time series data based on dispatching the query.

Claims (37)

1. A system for provisioning timestamp-based storage units for time series data, the system 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:

determine, by a time series database system, a remaining time period for a first storage unit to reach a storage capacity and whether the remaining time period satisfies a provisioning threshold, the first storage unit storing first time series data associated with a first minimum timestamp;

provision, by the time series database system, a second storage unit in response to a determination that the remaining time period for the first storage unit satisfies the provisioning threshold;

store, by the time series database system, second time series data to the provisioned second storage unit, the second time series data being associated with a second minimum timestamp;

dispatch, by the time series database system, a query for third time series data to any storage unit in response to a determination that a time span from a minimum timestamp to a maximum timestamp associated with the storage unit comprises at least part of a time range associated with the third time series data; and

respond, by the time series database system, to the query for the third time series data based on dispatching the query.

2. The system of claim 1 , wherein determining the remaining time period is based on a remaining storage capacity and a diminishing storage capacity rate for the first storage unit.

3. The system of claim 1 , wherein the provisioning threshold is based on at least one of a historical provisioning time, a projected provisioning time, and a worst case provisioning time.

4. The system of claim 1 , wherein at least one of the first storage unit and the second storage unit comprises a corresponding plurality of storage devices.

5. The system of claim 1 , comprising further instructions, which when executed, cause the one or more processors to associate a maximum timestamp with the first storage unit in response to a determination that the first storage unit has reached a maximum storage capacity threshold.

6. The system of claim 1 , comprising further instructions, which when executed, cause the one or more processors to convert the first storage unit to a read-only storage unit in response to a determination that the first storage unit has reached a maximum storage capacity threshold.

7. The system of claim 5 , wherein the maximum timestamp associated with the first storage unit is greater than the second minimum timestamp associated with the second storage unit.

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:

determine, by a time series database system, a remaining time period for a first storage unit to reach a storage capacity and whether the remaining time period satisfies a provisioning threshold, the first storage unit storing first time series data associated with a first minimum timestamp;

provision, by the time series database system, a second storage unit in response to a determination that the remaining time period for the first storage unit satisfies the provisioning threshold;

store, by the time series database system, second time series data to the provisioned second storage unit, the second time series data being associated with a second minimum timestamp;

dispatch, by the time series database system, a query for third time series data to any storage unit in response to a determination that a time span from a minimum timestamp to a maximum timestamp associated with the storage unit comprises at least part of a time range associated with the third time series data; and

respond, by the time series database system, to the query for the third time series data based on dispatching the query.

9. The method of claim 8 , wherein determining the remaining time period is based on a remaining storage capacity and a diminishing storage capacity rate for the first storage unit.

10. The computer program product of claim 8 , wherein the provisioning threshold is based on at least one of a historical provisioning time, a projected provisioning time, and a worst case provisioning time.

11. The computer program product of claim 8 , wherein at least one of the first storage unit and the second storage unit comprises a corresponding plurality of storage devices.

12. The computer program product of claim 8 , wherein the program code comprises further instructions to associate a maximum timestamp with the first storage unit in response to a determination that the first storage unit has reached a maximum storage capacity threshold, wherein the maximum timestamp associated with the first storage unit is greater than the second minimum timestamp associated with the second storage unit.

13. The computer program product of claim 8 , wherein the program code comprises further instructions to convert the first storage unit to a read-only storage unit in response to a determination that the first storage unit has reached a maximum storage capacity threshold, wherein the maximum timestamp associated with the first storage unit is greater than the second minimum timestamp associated with the second storage unit.

14. A method for provisioning timestamp-based storage units for time series data, the method comprising:

determining, by a time series database system, a remaining time period for a first storage unit to reach a storage capacity and whether the remaining time period satisfies a provisioning threshold, the first storage unit storing first time series data associated with a first minimum timestamp;

provisioning, by the time series database system, a second storage unit in response to a determination that the remaining time period for the first storage unit satisfies the provisioning threshold;

storing, by the time series database system, second time series data to the provisioned second storage unit, the second time series data being associated with a second minimum timestamp;

dispatching, by the time series database system, a query for third time series data to any storage unit in response to a determination that a time span from a minimum timestamp to a maximum timestamp associated with the storage unit comprises at least part of a time range associated with the third time series data; and

responding, by the time series database system, to the query for the third time series data based on dispatching the query.

15. The method of claim 14 , wherein determining the remaining time period is based on a remaining storage capacity and a diminishing storage capacity rate for the first storage unit.

16. The method of claim 14 , wherein the provisioning threshold is based on at least one of a historical provisioning time, a projected provisioning time, and a worst case provisioning time.

17. The method of claim 14 , wherein at least one of the first storage unit and the second storage unit comprises a corresponding plurality of storage devices.

18. The method of claim 14 , wherein the method further comprises associating a maximum timestamp with the first storage unit in response to a determination that the first storage unit has reached a maximum storage capacity threshold.

19. The method of claim 14 , wherein the method further comprises converting the first storage unit to a read-only storage unit in response to a determination that the first storage unit has reached a maximum storage capacity threshold.

20. The method of claim 18 , wherein the maximum timestamp associated with the first storage unit is greater than the second minimum timestamp associated with the second storage unit.

Assignments (2)
CHANGE OF NAME Recorded Oct 30, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065394/0169 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2016
From: VALINE, THOMAS NICHOLAS; SURA, BHINAV; GOWDRU, KIRANKUMAR KAKANURU; DEVARAJ, DILIP; SARKAPALLY, RAJAVARDHAN
To: SALESFORCE.COM, INC.
Reel/Frame 038412/0306 →
Continuity (1)
Related Publication 20170315749A1 · Nov 2, 2017