# US 11,907,294 B2 · Efficient and scalable time-series data storage and retrieval over a network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,294 B2
- Document ID: US11907294B2
- Status: Granted
- Kind: B2
- Application number: 17/700,890
- Filed: 2022-03-22
- Published: 2022-07-07
- Granted: 2024-02-20
- Earliest claimed: 2019-05-24
- Assignees: Hydrolix Inc.
- Applicants: Hydrolix Inc.
- Inventors: Hasan Alayli
- Web page: https://patentgrep.com/patent/US11907294B2

## CPC

- G06F 16/221: {Column-oriented storage; Management thereof}
- G06F 16/901: Indexing; Data structures therefor; Storage structures (for retrieval from the web G06F16/951)
- G06F 16/90335: {Query processing}
- G06F 16/9035: Filtering based on additional data, e.g. user or group profiles
- G06F 16/908: using metadata automatically derived from the content
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Time-series columnar-based information is received and indexed in a compute infrastructure for cost-effective cloud-based object storage. The approach leverages a file format that enables highly-performant search and retrieval of the data stored in the cloud. In operation, an indexer receives the time-series information, indexes that information according to the file format, and forwards the indexed information for storage to the object store, where it is stored as a set of time-based partitions. A partition comprises a set of files, namely, a manifest file, a data file, and an index file. These files are structured as a compact instance of a set of raw unstructured data that comprises the given partition. Highly-performant information retrieval is enabled in response to a time-bounded query, because operations at a query peer (with respect to one or more partitions) are carried out in real-time during query processing and without requiring retrieval of the data file as a whole.

## Claims

### Claim 1

A method of retrieving time-series columnar-based information, wherein the information comprises a set of time-based partitions that are stored across a cloud-based object store in directories each of which include a set of files, the set of files comprising a first file, a second file, and a third file, wherein the first, second and third files for a given time-based partition together comprise a compact instance of a set of raw unstructured data that comprises the given time-based partition, wherein the column data is stored in the second file in contiguous byte-ranges, comprising:
at a given query peer of a set of query peers, and in response to receipt of a query:
identifying a list of time-based partitions considered to contain data responsive to a query;
distributing to each of the other query peers a subset of the time-based partitions identified in the list;
for a given time-based partition, and without requiring retrieval of the second file as a whole, receiving contiguous byte-ranges from the second file; and
consolidating data derived by and received from the other query peers to generate a response to the query.

### Claim 2 (depends on 1)

The method as described in claim 1 wherein first file includes a dictionary of data strings seen in a column during indexing of the information together with byte-range data configured to selectively retrieve data from the second and third files, the second file stores column data seen during the indexing, and the third file contains a posting-list for each data string in the first file.

### Claim 3 (depends on 1)

The method as described in claim 1 further including scaling a number of query peers in the set as necessary to process the query.

### Claim 4 (depends on 1)

The method as described in claim 1 wherein the set of query peers is independent of the cloud-based object store.

### Claim 5 (depends on 1)

The method as described in claim 1 wherein the retrieval is carried out on behalf of a tenant, the tenant being one of a set of tenants that use the cloud-based object store to store time-series columnar-based information.

### Claim 6 (depends on 1)

The method as described in claim 1 further including caching the first file and the data blocks at the given query peer.
