Parser Engine Programming Tool for Network Packet Headers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional hardware implementations for parsing network packets are inflexible and resource inefficient, failing to effectively handle various combinations of packet headers.

Innovation Solution

A parser engine programming tool that receives an XML configuration file representing a directly connected cyclical graph or tree of decision points, automatically generates all possible paths and headers, and converts them into a format suitable for programming TCAM and SRAM pairs of parser engines to parse incoming packet headers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional hardware implementations are used for parsing network packets, then the implementation is simple and reliable, but the system becomes inflexible and resource inefficient

Engineering Contradiction:
Improveflexibility in parsing different packet headersVSAvoidcomplexity of parser configuration and programming
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A parser compiler acts as an intermediary between the high-level XML configuration and the low-level hardware programming. The compiler translates the abstract graph representation of packet headers into concrete programming values for TCAM and SRAM, eliminating the need for manual hardware configuration while maintaining flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the parameter representation from low-level hardware registers to high-level XML configuration files. By allowing users to configure parsers through XML graphs rather than direct hardware programming, the system achieves flexibility without increasing operational complexity.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If traditional hardware implementations are used for parsing network packets, then the hardware structure is fixed, but resource efficiency decreases when handling various packet header combinations

Engineering Contradiction:
Improveefficiency in handling packet header parsingVSAvoidmemory resources required for parsing
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The parser configuration becomes dynamic through the XML graph representation, allowing the same hardware resources to be reconfigured for different packet header combinations. The graph structure enables flexible path selection and header parsing sequences without requiring dedicated hardware for each protocol scenario.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The parser engine achieves multi-functionality by using a single configurable hardware structure that can handle multiple packet header types. The XML configuration file enables the same parsing hardware to efficiently process different protocol combinations (IPv4, IPv6, TCP, UDP, etc.) without requiring separate dedicated hardware paths.

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

3Extent of automation

If manual configuration of parser engines is performed, then the programming process is transparent and controllable, but the process becomes time consuming and error prone

Engineering Contradiction:
Improveautomation of parser configurationVSAvoidaccuracy of parser programming
Core Design Contradiction:
Extent of automationVSManufacturing precision

Solution Approach 1:

The parser compiler performs preliminary analysis of the XML graph configuration to automatically generate all necessary programming values before hardware programming occurs. This preliminary processing ensures that all possible packet header paths are correctly translated into hardware registers, eliminating manual errors while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system incorporates validation feedback mechanisms where the parser compiler verifies the XML configuration graph structure and generated programming values. This feedback loop ensures configuration accuracy by detecting errors in the graph definition or generated code before hardware programming, preventing propagation of incorrect configurations.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9606781B2Parser engine programming tool for programmable network devices
Publication Date: 2017.03.28 MARVELL ASIA PTE LTD
  • US9606781B2 patent drawing
  • US9606781B2 patent drawing
  • US9606781B2 patent drawing

AI summary

A parser engine programming tool configured to receive an input file representing a directly connected cyclical graph or tree of decision points for parsing a range of incoming packet headers, automatically generate all possible paths within the graph and thereby the associated possible headers, and convert the determined paths/headers into a proper format for programming memory of a parser engine to parse the determined headers (represented by the paths).