Two-Stage Hash Scheme for Network Connection Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network connection tracking systems face challenges in efficiently managing millions of connections, leading to resource-intensive monitoring that can slow down packet throughput due to the need for extensive system resources.

Innovation Solution

A two-stage hash scheme is implemented to validate connection states for incoming packets by generating two hash values, using the first hash to access a hash bucket index and the second hash to locate a connection state entry within the bucket, minimizing sequential memory accesses and optimizing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If extensive system resources are used to monitor connection state information for millions of packets, then connection tracking accuracy is improved, but packet throughput slows down

Engineering Contradiction:
Improveconnection tracking accuracyVSAvoidpacket throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the connection tracking system into multiple segments: a connection tracking table storing connection state information, a hash function module that generates hash values from packet data, and a lookup module that queries the table. This segmentation allows efficient organization and access of connection data without requiring extensive system resources for monitoring all packets sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms packet data parameters (source IP, destination IP, source port, destination port, protocol) into hash value parameters through a hash function. This parameter transformation enables rapid lookup in the connection tracking table by converting complex packet identification into simplified hash key comparisons, improving both tracking accuracy and throughput.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If extensive system resources are allocated for tracking millions of connections, then connection state monitoring is improved, but system resource consumption increases

Engineering Contradiction:
Improveconnection state monitoringVSAvoidsystem resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent creates a simplified copy of connection information in the form of hash values that can be rapidly compared against stored connection states. Instead of processing and comparing full packet data structures, the system uses compact hash representations that consume fewer system resources while maintaining accurate connection tracking capability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces complex mechanical comparison operations (comparing full packet data structures) with computational hash function operations. The hash function module efficiently transforms packet parameters into hash values that can be quickly matched against stored connections, substituting resource-intensive data structure comparisons with lighter computational operations.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If simple hash lookup is used for connection validation, then packet processing speed is improved, but accuracy in locating connection state entries may deteriorate due to hash collisions

Engineering Contradiction:
Improvepacket processing speedVSAvoidconnection entry location accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent introduces the hash value as an intermediary between packet data and connection state entries in the tracking table. The hash function module generates this intermediary representation that serves as a key for efficient lookup, balancing both processing speed and location accuracy by reducing the complexity of direct packet-data comparison while maintaining precise connection identification.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10049078B1Accessing a memory location using a two-stage hash scheme
Publication Date: 2018.08.14 AMAZON TECH INC
  • US10049078B1 patent drawing
  • US10049078B1 patent drawing
  • US10049078B1 patent drawing

AI summary

A method for accessing a memory location may include receiving packet data associated with a network connection. A first hash value and a second hash value are generated using the packet data. The first hash value identifies a hash bucket with a plurality of connection state entries. An index entry of the hash bucket is accessed using the first hash value. The index entry includes a plurality of hash keys for the corresponding plurality of connection state entries. The second hash value is matched with one of the plurality of hash keys in the index entry to obtain an offset. One of the plurality of connection state entries for the network connection is identified based on the first hash value and the offset. The identified connection state entry is accessed.