Overlapping Time Windows for High Availability Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face challenges in ensuring high availability and fault tolerance, particularly in distributing data across multiple storage devices to prevent data loss when some portions become unavailable, such as during hardware updates or failures.

Innovation Solution

A data processing system uses multiple data structures associated with different time windows to distribute data across sets of storage devices, ensuring mutual exclusivity of storage locations between time windows, allowing for efficient restart and maintenance without data unavailability, by mapping data items to distinct sets of storage locations within overlapping time windows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is distributed across multiple storage devices to ensure high availability, then fault tolerance is improved, but storage location management complexity increases

Engineering Contradiction:
Improvefault toleranceVSAvoidstorage location management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the storage system into multiple time windows (first time window, second time window, etc.), where each time window has its own dedicated set of storage locations. This segmentation allows independent management of storage locations for different time periods, reducing the complexity of managing all storage locations simultaneously while maintaining fault tolerance through distributed storage across these segmented time windows.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent establishes storage location mappings in advance for multiple time windows before data storage operations begin. By pre-defining which storage locations correspond to which time windows, the system eliminates the need for complex real-time decisions about where to store data, thereby reducing management complexity while ensuring data is distributed across multiple devices for fault tolerance.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If storage locations are mutually exclusive between time windows, then data accessibility during maintenance is improved, but storage space utilization decreases

Engineering Contradiction:
Improvedata accessibilityVSAvoidstorage space utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements periodic time windows that cycle through different storage locations. Each time window is associated with specific storage locations, and as time windows progress, the system periodically switches between different sets of storage locations. This periodic action ensures that while one set of storage locations is being maintained or updated, another set remains accessible, maintaining data accessibility without permanently dedicating all storage space to multiple simultaneous uses.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent allows storage locations to be temporarily discarded (made unavailable) for one time window while being recovered (made available) for another time window. This approach enables maintenance activities on specific storage locations during periods when they are not actively needed for current time window operations, ensuring data accessibility continues while optimizing storage space utilization over time through repeated use of the same physical storage locations across different time windows.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS20240281408A1High Availability Storage using Overlapping Time Windows
Publication Date: 2024.08.22 DATADOG INC
  • US20240281408A1 patent drawing
  • US20240281408A1 patent drawing
  • US20240281408A1 patent drawing

AI summary

Methods and systems are configured for receiving data associated with a data item, accessing first data structures, corresponding to a first time window, and comprising a first data structure that maps to first storage locations and a second data structure that maps to second storage locations. Second data structures corresponding to the second time window are accessed. The second data structures comprise a first data structure that maps to a set of storage locations that are absent the storage locations of the first storage locations and a second data structure that maps to a set of storage locations that are absent the storage locations of the second storage locations. Elements of each of the first data structures second data structures are identified. First and second storage locations are selected based on the elements.