Binary Tree Indexing for Time-Series Data Existence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing indexing approaches are not optimized for time-series data, leading to inefficiencies in processing large volumes of time-series data, particularly in high-data-rate or high-quantity scenarios, resulting in increased CPU workload and latency due to unnecessary requests.

Innovation Solution

A binary tree indexing method is employed, where each node represents a time range with start and end fields, and existence of a leaf node indicates the presence of corresponding time-series data records, allowing for efficient determination of data existence and avoidance of unnecessary requests by maintaining a cache-aware index.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a simple application cache is used to store copies of recently requested data, then data retrieval speed is improved for repeated requests, but the system cannot determine whether data exists in the data store before making requests, leading to unnecessary requests and increased CPU workload

Engineering Contradiction:
Improvedata retrieval speedVSAvoidCPU utilisation
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent introduces an index structure as an intermediary between the cache and the data store. This index contains metadata about data existence in time ranges, allowing the system to determine before making cache requests whether data likely exists in the data store. The index acts as a mediator that filters unnecessary requests, reducing CPU workload while maintaining fast cache retrieval for valid data.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary action by maintaining an index of data existence information before making cache requests. The index pre-stores metadata about which time ranges contain data records, allowing the system to check data existence beforehand and avoid making unnecessary cache requests. This preliminary indexing action prevents wasted CPU cycles on requests for non-existent data.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If existing indexing approaches are used for time-series data, then general data retrieval is supported, but the indexing is not optimized for time-series data characteristics, resulting in increased latency and CPU workload for time-series queries

Engineering Contradiction:
Improvedata retrieval capabilityVSAvoidprocessing latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies local quality by creating an index structure specifically optimized for time-series data characteristics rather than using general-purpose indexing. The index is organized with time-range metadata that reflects the temporal nature of time-series data, allowing queries to efficiently filter and retrieve only relevant time-range information. This localized optimization for time-series characteristics reduces processing latency while maintaining versatility for various time-series query patterns.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes parameters by organizing the index around time-range metadata (start time, end time) rather than traditional key-value structures. This parameter transformation allows the index to efficiently handle time-series queries by directly filtering on time parameters, reducing the computational overhead and latency associated with general-purpose indexing approaches that must process and filter time information less efficiently.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If a comprehensive index is maintained to track all data records, then data existence can be accurately determined, but the index structure becomes complex and requires significant memory resources

Engineering Contradiction:
Improvedata existence determination accuracyVSAvoidindex structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the index into hierarchical levels rather than maintaining a single comprehensive flat structure. The index is segmented into parent nodes representing broader time ranges and child nodes representing more specific time ranges. This segmentation allows the system to determine data existence by checking only relevant segments, reducing overall index complexity while maintaining accurate data existence determination through the hierarchical organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions to another dimension by organizing the index hierarchically across multiple levels rather than using a flat single-level structure. This dimensional change introduces parent-child relationships and time-range hierarchies, allowing the index to represent data existence information more compactly. The hierarchical dimension enables efficient traversal and determination of data existence without requiring a comprehensive flat index, thereby reducing complexity while maintaining reliability.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11816083B2Method and system for indexing of time-series data
Publication Date: 2023.11.14 FUTURE GRID PTY LTD
  • US11816083B2 patent drawing
  • US11816083B2 patent drawing
  • US11816083B2 patent drawing

AI summary

A method of maintaining an index of time-series data records held in a data store comprises identifying one or more time-series data records not currently indexed in a binary tree structure and corresponding with a time range, and creating a new leaf node. Start-time and end-time fields of the new leaf node are populated with values encompassing the time range corresponding with identified time-series data records. The binary tree structure is updated such that the new leaf node is added as a first or second child node of a parent node representing a time range encompassing the values of the start-time and end-time fields of the new leaf node. Existence of the new leaf node in the binary tree structure is thereby indicative of existence of the one or more identified time-series data records in the data store.