FlowSifter Counting Automaton for L7 Field Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network devices struggle with online L7 field extraction due to the difficulty in automated translation from grammar representations to automata implementations and the need for efficient context-switching and line-speed processing, as they must handle millions of concurrent multiplexed network flows without buffering, which current solutions either require high production costs or use unoptimizable parsing models.

Innovation Solution

A computer-implemented system, FlowSifter, that generates a counting automaton from a context-free grammar-based extraction specification, using counting regular grammars and automata to efficiently extract L7 fields by transforming the specification into an equivalent regular grammar and optimizing the parsing model with counters and guards, allowing for automated optimization and efficient context-switching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hand optimized parsing solutions are used, then parsing performance is improved, but production cost increases and error susceptibility increases

Engineering Contradiction:
Improveparsing performanceVSAvoidproduction cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The system uses automated translation tools that convert grammar representations to automata implementations without requiring manual optimization. The grammar translator automatically generates optimized parsing code from high-level grammar specifications, making the system self-sufficient in producing optimized parsers without human intervention in the optimization process.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical optimization processes with automated computational translation. Instead of hand-optimizing parsing code, the system uses grammar translation mechanisms that automatically convert grammatical specifications into optimized automata implementations, substituting human expertise with automated systems.

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

2Productivity

If hand optimized parsing solutions are used, then parsing performance is improved, but error susceptibility increases

Engineering Contradiction:
Improveparsing performanceVSAvoiderror susceptibility
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The automated translation system eliminates human errors in optimization by using consistent, rule-based conversion from grammar representations to automata. The system translates grammatical specifications uniformly without introducing human errors in the optimization process, thereby improving reliability while maintaining performance.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Manual optimization processes that are prone to human errors are replaced with automated computational translation. The grammar translator systematically converts grammatical rules into automata implementations, eliminating errors associated with manual coding while preserving parsing performance through automated optimization.

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

3Adaptability or versatility

If recursive descent parsing with code execution is used, then parsing flexibility is improved, but automated optimization becomes impossible

Engineering Contradiction:
Improveparsing flexibilityVSAvoidautomated optimization
Core Design Contradiction:
Adaptability or versatilityVSExtent of automation

Solution Approach 1:

The patent segments the parsing system into two independent parts: a high-level grammar representation layer that provides flexibility and a separate automata implementation layer that enables automation. The grammar translator acts as an intermediary that converts flexible grammatical specifications into automated automata, allowing both flexibility and automation to coexist.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The grammar translator serves as an intermediary between the flexible grammar representations and the automated automata implementations. It converts high-level grammatical specifications into optimized automata code, enabling automated optimization while preserving the flexibility of the original grammar-based approach.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If selective parsing is used to achieve line-speed extraction, then throughput is improved, but automated translation and optimization becomes difficult

Engineering Contradiction:
ImprovethroughputVSAvoidautomated translation and optimization
Core Design Contradiction:
ProductivityVSExtent of automation

Solution Approach 1:

The patent changes the fundamental parameter of the parsing model from traditional CFGs to Counting Regular Grammars (CRGs). This parameter change enables the grammar to naturally represent selective parsing capabilities while maintaining regular language properties that are suitable for automated translation and optimization, achieving both high throughput and automation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The grammar system dynamically adapts to different parsing needs through automated optimization. The CRG framework allows the system to automatically adjust parsing behavior for different protocols and requirements, enabling line-speed extraction performance while maintaining automated translation capabilities through the structured grammar formalism.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8897151B2Systematic framework for application protocol field extraction
Publication Date: 2014.11.25 BOARD OF TRUSTEES OPERATING MICHIGAN STATE UNIV
  • US8897151B2 patent drawing
  • US8897151B2 patent drawing
  • US8897151B2 patent drawing

AI summary

A computer-implemented system is provided for implementing application protocol field extraction. The system includes: an automata generator configured to receive the extraction specification that specifies data elements to be extracted from data packets and generate a counting automaton; and a field extractor configured to receive a data flow and operates to extract data elements from the data packets in accordance with the counting automaton. The extraction specification is expressed in terms of a context-free grammar, where the grammar defines grammatical structures of data packets transmitted in accordance with an application protocol and includes counters used to chronicle parsing history of production rules comprising the grammar.