PID Event Ingestion Throttling for Target Lag Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex IT systems face challenges in managing and processing vast numbers of events due to their complexity, leading to performance degradation and inefficient manual techniques that are labor-intensive and costly, with existing throttling methods often causing unnecessary rejection of events.

Innovation Solution

Implementing a proportional-integral-derivative (PID) controller to dynamically throttle event ingestion rates based on measured lag times, prioritizing recent events and adjusting throttled rate limits to optimize event processing within target lag times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual techniques and pre-programmed rules are used for event management, then event processing can be performed, but the labor intensity and cost increase significantly

Engineering Contradiction:
Improveevent processing efficiencyVSAvoidlabor intensity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system implements self-service through automated event management using a PID controller that dynamically adjusts rate limits based on measured lag times. The controller automatically monitors processing performance and modifies ingestion rates without human intervention, replacing manual techniques and eliminating the need for labor-intensive event management while maintaining high productivity

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system employs feedback mechanisms by continuously measuring lag times between event ingestion and processing completion. The PID controller uses this feedback to dynamically adjust rate limits, creating a closed-loop control system that automatically optimizes event processing efficiency without manual intervention

Inventive Principle:
Principle #23Feedback

2Reliability

If simple throttling methods are used to limit event ingestion rates, then processing overload is prevented, but recent events are unnecessarily rejected

Engineering Contradiction:
Improveprocessing stabilityVSAvoidevent processing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements dynamic throttling by using a PID controller that continuously adjusts rate limits based on real-time lag measurements. Unlike static throttling methods, the controller adapts the ingestion rate dynamically, preventing processing overload while minimizing rejections of recent events by optimizing the rate limit according to current system performance

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the rate limit parameter dynamically based on measured lag times. The PID controller adjusts this critical parameter in response to system conditions, allowing the throttling mechanism to prevent overload while adapting to varying processing capacities and minimizing unnecessary event rejections

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11681273B2PID controller for event ingestion throttling
Publication Date: 2023.06.20 PAGERDUTY INC
  • US11681273B2 patent drawing
  • US11681273B2 patent drawing
  • US11681273B2 patent drawing

AI summary

A method for event processing includes accepting for processing, as accepted events and according to a target rate limit, at least a subset of received events; associating respective ingested timestamps with the accepted events; associating respective processing completion timestamps with processed events of the accepted events; determining an average measured lag time using at least a subset of the respective processing completion timestamps and corresponding respective ingested timestamps; obtaining a throttled rate limit using a proportional-integral-derivative (PID) controller; and accepting subsequent events according to the throttled rate limit. The PID controller can be configured to use, as an input, an error value that is a difference between a target lag time and the average measured lag time. An integral part of the PID controller can be set to zero responsive to an accumulated average lag time being less than the target lag time.