Dynamic Data Log Ingestion Throttling via Age Threshold

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems face limitations in ingesting incoming data due to finite data logs and resource bottlenecks, leading to abrupt variations in data ingestion speeds, which negatively impact host application performance and user experience.

Innovation Solution

A technique that dynamically controls the acceptance of host application data into a data log by comparing the age of the oldest entry with a dynamically updated age threshold, temporarily refusing new entries when the oldest entry exceeds the threshold and placing them in a pending list, thereby preventing resource overload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the data log accepts all incoming data without throttling, then data ingestion speed is high, but the data log may become full and cause IO requests to be refused

Engineering Contradiction:
Improvedata ingestion speedVSAvoidIO request completion rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system continuously monitors the age of the oldest log entry and compares it against a dynamically updated age threshold. This feedback mechanism allows the data log to adjust its acceptance behavior in real-time, preventing fullness while maintaining high ingestion speeds when resources are available.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The age threshold is dynamically updated based on system heuristics rather than being fixed. This dynamic adjustment allows the system to adapt to changing load conditions, optimizing the balance between accepting new data and preventing resource exhaustion.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the data log refuses new entries when the oldest entry is old, then resource overload is prevented, but data ingestion speed decreases

Engineering Contradiction:
Improvesystem stabilityVSAvoiddata ingestion speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system takes preliminary action by refusing new log entries before the data log becomes full. By monitoring the age of the oldest entry and comparing it to the threshold, the system prevents resource overload conditions from developing, maintaining system stability proactively rather than reactively.

Inventive Principle:
Principle #9Preliminary anti-action

Solution Approach 2:

The system prepares by maintaining a pending list of IO requests that cannot be immediately processed. This preliminary organization of refused requests allows for efficient later processing when resources become available, minimizing the impact on overall productivity.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If host applications retry IO requests after data log refusal, then data can eventually be written, but application performance becomes inefficient due to abrupt speed changes

Engineering Contradiction:
Improvedata write completionVSAvoidapplication performance efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system preliminarily stores refused IO requests in a pending list rather than immediately rejecting them. This preliminary action preserves the requests in an organized manner, allowing the host application to continue processing without interruption while the data log prepares to accept them later.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The pending list acts as an intermediary between the host application and the data log. It buffers the abrupt transitions in data ingestion speed by holding requests temporarily, smoothing out the performance impact on host applications while ensuring data eventually reaches the log.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9747222B1Dynamic ingestion throttling of data log
Publication Date: 2017.08.29 EMC IP HLDG CO LLC
  • US9747222B1 patent drawing
  • US9747222B1 patent drawing
  • US9747222B1 patent drawing

AI summary

A technique for controlling acceptance of host application data into a data log in a data storage system includes selectively accepting or refusing newly arriving host data into the data log based on a comparison between an oldest entry in the data log and an age threshold. The age threshold is dynamically updated based on system heuristics. As long as the oldest log entry is younger than the age threshold, the data log continues to accept newly arriving host application data, acknowledging IO requests to host applications as the data specified in those requests is entered into the log. However, when the oldest log entry is older than the age threshold, new log entries are temporarily refused entry into the data log. Instead, newly arriving data are placed in a pending list, where they are kept until the data log is again accepting new log entries.