System and Method for Caching Time Series Data
Abstract
The present invention provides a method and system for caching time series data. A computer system for caching time series data is disclosed. The computer system comprises one or more processors, at least one cache, and a computer readable storage medium. The computer readable storage medium contains instructions that, when executed by the one or more processors, causes the one or more processors to perform a set of steps comprising fetching the time series data from a time series data source, calculating one or more expiry timestamps, grouping the plurality of time series datum in to one or more time data chunks based on the one or more expiry timestamps, and storing a copy of the time series data and the one or more expiry timestamps in the at least one cache.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer system for caching time series data, the computer system comprising:
one or more processors; at least one cache; and a computer readable storage medium, wherein the computer readable storage medium contains instructions that, when executed by the one or more processors, causes the one or more processors to perform a set of steps comprising: i. fetching the time series data from a time series data source, wherein the time series data comprises a plurality of time series datum and a fetch timestamp; ii. calculating one or more expiry timestamps, wherein each expiry timestamp from the one or more expiry timestamps is calculated using a composite function of the fetch timestamp of the time series data and a recording time associated with a time series datum, such that the expiry timestamp is inversely proportional to the recording time associated with the time series datum and directly proportional to the fetch timestamp of the time series data; iii. grouping the plurality of time series datum in to one or more time data chunks based on the one or more expiry timestamps, wherein each time data chunk from the one or more time data chunks comprises a distinct set of time series datum from the time series data; and iv. storing a copy of the time series data and the one or more expiry timestamps in the at least one cache.
2 . The computer system as claimed in claim 1 , wherein the one or more processors are configured to
i. receive a request for the time series data; ii. decompose the request into one or more sub requests based on the one or more time data chunks of the time series data; iii. determine the validity of the one or more time data chunks of the time series data based on the one or more expiry timestamps; and iv. serve the one or more sub requests from one of a group consisting of the time series data source and the at least one cache, based on the validity of the one or more time data chunks of the time series data.
3 . The computer system as claimed in claim 1 , wherein the one or more processors are configured to determine the validity of the one or more time data chunks by comparing an associated expiry timestamp with a request timestamp associated with the request.
4 . The computer system as claimed in claim 1 , wherein the composite function is monotonically non-increasing function with a predetermined upper limit.
5 . The computer system as claimed in claim 1 , wherein the at least one cache is a browser cache.
6 . A computer implemented method for caching time series data, the computer implemented method comprising:
i. fetching, by one or more processors, the time series data from a time series data source, wherein the time series data comprises a plurality of time series datum and a fetch timestamp; ii. calculating, by the one or more processors, one or more expiry timestamps, wherein each expiry timestamp from the one or more expiry timestamps is calculated using a composite function of the fetch timestamp of the time series data and a recording time associated with a time series datum, such that the expiry timestamp is inversely proportional to the recording time associated with the time series datum and directly proportional to the fetch timestamp of the time series data; iii. grouping, by the one or more processors, the plurality of time series datum in to one or more time data chunks based on the one or more expiry timestamps, wherein each time data chunk from the one or more time data chunks comprises a distinct set of time series datum from the time series data; and iv. storing, by the one or more processors, a copy of the time series data and the one or more expiry timestamps in at least one cache.
7 . The computer implemented method as claimed in claim 6 , further comprising:
i. receiving, by the one or more processors, a request for the time series data; ii. decomposing, by the one or more processors, the request into one or more sub requests based on the one or more time data chunks of the time series data; iii. determining, by the one or more processors, the validity of the one or more time data chunks of the time series data based on the one or more expiry timestamps; and iv. serving, by the one or more processors, the one or more sub requests from one of a group consisting of the time series data source and the at least one cache, based on the validity of the one or more time data chunks of the tune series data.
8 . The computer implemented method as claimed in claim 6 , wherein determining the validity of the one or more time data chunks comprises comparing an associated expiry timestamp with a request timestamp associated with the request.
9 . The computer implemented method as claimed in claim 6 , wherein the composite function is monotonically non-increasing function with a predetermined upper limit.
10 . A computer implemented method for serving time series data, the computer implemented method comprising:
i. receiving, by one or more processors, a request for the time series data; ii. calculating, by the one or more processors, one or more expiry timestamps, wherein each expiry timestamp from the one or more expiry timestamps is calculated using a composite function of current time and a recording time associated with a time series datum, such that the expiry timestamp is inversely proportional to the recording time associated with the time series datum and directly proportional to the current time iii. decomposing, by the one or more processors, the request into one or more sub requests based on the one or more expiry timestamps; and iv. serving, by the one or more processors, the one or more sub requests from one of a group consisting of the time series data source and the at least one cache, based on the one or more expiry timestamps.Join the waitlist — get patent alerts
Track US2015242326A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.