Timer Scheduler for High-Throughput Packet Timeout Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing millions of network connections requires extensive system resources, leading to slowed packet throughput due to the difficulty in monitoring large numbers of timers in existing software packages like Netfilter.

Innovation Solution

A timer scheduler is used with a single hardware timer to generate timeout values, which are tracked in a linked list and connection state table, reducing the frequency of accessing the linked list and optimizing packet throughput by updating only the connection state table upon packet receipt.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a separate hardware timer is used for every packet or connection, then timeout tracking accuracy is improved, but device complexity and system resource usage increase significantly

Engineering Contradiction:
Improvetimeout tracking accuracyVSAvoidsystem resource usage
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges thousands of individual timer functions into a single hardware timer that generates periodic interrupts. Instead of having separate timers for each connection, one shared timer service all timeout tracking needs by incrementing a global clock value that all connections reference, dramatically reducing hardware complexity while maintaining timing accuracy.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single hardware timer is designed to be universal, serving multiple functions: it tracks timeouts for millions of connections, provides periodic interrupts for batch processing, and maintains a global time reference for all packet transmission tracking. This multi-functional design eliminates the need for dedicated timers per connection.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If the linked list is accessed frequently to update timeout values, then timeout tracking reliability is improved, but packet throughput decreases due to increased processing overhead

Engineering Contradiction:
Improvetimeout tracking reliabilityVSAvoidpacket throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-calculating timeout values and organizing connections in a linked list structure during idle periods or batch operations. Timeout values are预先 set based on connection state, allowing the system to defer expensive linked list traversals until necessary, reducing real-time packet processing overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of continuously accessing the linked list for every packet, the system uses periodic batch processing triggered by hardware timer interrupts. At these periodic intervals, the system efficiently traverses the linked list to check and update timeout values for active connections, rather than performing these operations on every packet arrival.

Inventive Principle:
Principle #19Periodic action

3Device complexity

If timeout values are tracked in a single large data structure, then device complexity is reduced, but access time increases making it difficult to monitor millions of connections

Engineering Contradiction:
Improvedata structure simplicityVSAvoidaccess time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the timeout tracking data structure into two parts: a compact linked list containing only active connections with their timeout values, and a separate connection state table. This segmentation allows efficient traversal of only active connections in the linked list rather than searching through all possible connections, reducing access time while maintaining structural simplicity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system adds a temporal dimension to timeout tracking by using a global clock value that increments over time. Instead of comparing timeout values against each other, the system compares the current clock value against stored timeout values, enabling efficient O(1) timeout checks without complex data structure traversals.

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

Data Source

PatentUS10333813B1Time-out tracking for high-throughput packet transmission
Publication Date: 2019.06.25 AMAZON TECH INC
  • US10333813B1 patent drawing
  • US10333813B1 patent drawing
  • US10333813B1 patent drawing

AI summary

A timer scheduler is used to track timeout values for network connections. A single hardware timer generates timeout values that can be tracked per connection in a linked list that is processed at set time intervals. All tracked connections can have a future timeout scheduled. Future timeout values can be stored in both a linked list and a connection state table that cross-reference each other. The linked list is traversed at predetermined intervals to determine which entries have timed out. For each entry that timed out, a second check is made against a timeout value in the connection state table. If timeout value within the connection state table indicates that a timeout occurred, then the network connection is terminated.