Dynamic Shard Data Redistribution for Search Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems experience high search latency when data size in shards approaches storage capacity, leading to inefficient query response times due to the need to manage large data sets in sharded databases.

Innovation Solution

A method that dynamically transfers data from a full shard to another when the data size exceeds a threshold, utilizing historical activity data to optimize transfer times when the user is inactive, thereby reducing latency by balancing data distribution across shards.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If data is stored in a single shard, then data storage is simple, but search latency increases as data size approaches storage capacity

Engineering Contradiction:
Improvedata storage structureVSAvoidsearch latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent divides the dataset into multiple shards (first shard, second shard, third shard, fourth shard) and dynamically redistributes data between them based on size thresholds. This segmentation allows the system to maintain fast search performance by preventing any single shard from becoming too large, while the sharding mechanism itself is implemented through database tables and standard SQL operations, keeping the overall complexity manageable.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data is transferred between shards during active user sessions, then data distribution is optimized, but user experience deteriorates due to interrupted queries

Engineering Contradiction:
Improvedata distribution efficiencyVSAvoiduser experience continuity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs data transfers between shards during periods when user activity indicates low demand (such as overnight hours or weekends), rather than during active user sessions. This preliminary action during off-peak times allows the system to optimize data distribution without interrupting ongoing queries or degrading user experience during critical periods.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic data redistribution based on real-time monitoring of shard sizes and user activity patterns. The system adjusts transfer timing and data selection dynamically according to current system state, using thresholds and activity data to determine when and what to transfer, thereby adapting to changing user behavior patterns while maintaining optimal performance.

Inventive Principle:
Principle #15Dynamics

3Productivity

If the system monitors and responds to shard size thresholds, then search performance is optimized, but system complexity increases due to additional monitoring and transfer logic

Engineering Contradiction:
Improvesearch performanceVSAvoidsystem architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system continuously monitors shard data sizes and user activity patterns, using this feedback to trigger data transfers when thresholds are exceeded. The monitoring mechanism queries database tables to assess shard contents, and the feedback loop automatically initiates transfers based on predefined conditions, creating a self-regulating system that optimizes performance without requiring complex manual intervention.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240362221A1Systems, apparatuses, methods, and computer program products for optimizing search latency
Publication Date: 2024.10.31 HONEYWELL INTERNATIONAL INC
  • US20240362221A1 patent drawing
  • US20240362221A1 patent drawing
  • US20240362221A1 patent drawing

AI summary

Systems, apparatuses, methods, and computer program products are provided. For example, a computer-implemented method may include receiving one or more datasets from a user. In some embodiments, computer-implemented method may include storing at least a portion of the one or more datasets in a first shard during a first time period. In some embodiments, the first shard comprises shard data. In some embodiments, the shard data is associated with a data size. In some embodiments, computer-implemented method may include determining that the data size of the shard data in the first shard is greater than a first data size threshold. In some embodiments, computer-implemented method may include in response to the determination that the data size of the shard data in the first shard is greater than the first data size threshold, transferring at least a portion of the shard data in the first shard to a second shard.