Extended Finite Automata for Deep Packet Inspection Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep packet inspection in modern networking devices faces challenges in achieving high-speed processing due to the state space explosion problem with deterministic finite automata (DFAs) and inefficiencies with nondeterministic finite automata (NFAs), particularly in matching complex regular expressions for intrusion detection and prevention systems.

Innovation Solution

Extended Finite Automata (XFAs) are introduced, which use a small amount of 'scratch memory' to record progress in matching signatures, avoiding state space explosion and offering a balance between memory usage and processing speed by separating information into bits, counters, and other data structures, allowing for compact representation and efficient matching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If deterministic finite automata (DFAs) are used for signature matching, then processing speed is improved, but memory requirements become infeasibly large due to state space explosion

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory requirements
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the DFA into multiple smaller DFAs, each handling a subset of signatures. This segmentation reduces the state space of each individual DFA, making them feasible for implementation while maintaining the ability to match multiple signatures through coordinated operation of the segmented components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the matching process by using multiple DFAs operating in parallel, each responsible for a specific subset of signatures. This dimensional approach allows the system to achieve both speed (through deterministic matching) and memory efficiency (through reduced individual state spaces).

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

2Quantity of substance

If nondeterministic finite automata (NFAs) are used for signature matching, then memory requirements are reduced, but processing speed becomes hundreds of times slower than DFAs

Engineering Contradiction:
Improvememory requirementsVSAvoidprocessing speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent segments the NFA into multiple smaller NFAs, each handling a subset of signatures. This segmentation reduces the computational overhead of NFA matching by limiting the number of states that need to be tracked simultaneously, thereby improving processing speed while maintaining memory efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the matching process by using multiple NFAs operating in parallel, each responsible for a specific subset of signatures. This dimensional approach allows the system to achieve both memory efficiency (through reduced state tracking) and improved speed (through parallel processing of segmented signature sets).

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

3Quantity of substance

If multiple DFAs are used to reduce state space explosion, then memory usage is improved, but the number of DFAs increases leading to more complex system management

Engineering Contradiction:
Improvememory usageVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent designs each DFA in the multiple-DFA system to be universal within its subset, using standardized structures and transition formats. This universality simplifies system management by allowing consistent handling of multiple DFAs through unified control mechanisms, reducing the complexity overhead despite having multiple automata.

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

Solution Approach 2:

The patent organizes multiple DFAs into a structured dimensional framework where each DFA operates in a specific dimension (subset of signatures). This organizational structure simplifies management by providing clear boundaries and responsibilities for each DFA, making the overall system more manageable despite the increased number of components.

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

Data Source

PatentUS7962434B2Extended finite state automata and systems and methods for recognizing patterns in a data stream using extended finite state automata
Publication Date: 2011.06.14 WISCONSIN ALUMNI RES FOUND
  • US7962434B2 patent drawing
  • US7962434B2 patent drawing
  • US7962434B2 patent drawing

AI summary

Deterministic finite automata (DFAs) are popular solutions to deep packet inspection because they are fast and DFAs corresponding to multiple signatures are combinable into a single DFA. Combining such DFAs causes an explosive increase in memory usage. Extended finite automata (XFAs) are an alternative to DFAs that avoids state-space explosion problems. XFAs extend DFAs with a few bytes of “scratch memory” used to store bits and other data structures that record progress. Simple programs associated with automaton states and/or transitions manipulate this scratch memory. XFAs are deterministic in their operation, are equivalent to DFAs in expressiveness, and require no custom hardware support. Fully functional prototype XFA implementations show that, for most signature sets, XFAs are at least 10,000 times smaller than the DFA matching all signatures. XFAs are 10 times smaller and 5 times faster or 5 times smaller and 20 times faster than systems using multiple DFAs.