Template-Based Packet Encapsulation for High-Speed Network Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Micro-coded engines in network devices face performance limitations, complexity, and long development schedules when encapsulating packets with headers, especially at high port rates and with varying protocol sets, limiting flexibility and efficiency.

Innovation Solution

Assigning unique encoded values (mnemonics) to protocol headers and defining templates stored in a template table, allowing for fast packet encapsulation without micro-code, enabling line-rate performance and flexibility in selecting protocol stacks for packets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If micro-coded engines are used for packet header encapsulation, then protocol flexibility is achieved, but processing performance deteriorates due to instruction execution time

Engineering Contradiction:
Improveprotocol flexibilityVSAvoidprocessing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the packet encapsulation process into distinct template-based operations. Instead of using a sequential micro-coded instruction engine, the system divides header encapsulation into pre-defined template slots (e.g., L2 header template, L3 header template, L4 header template) that can be independently selected and populated, enabling parallel processing and eliminating instruction execution overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by pre-defining header templates with all possible protocol field configurations stored in template tables before packet processing. These templates contain pre-calculated offset values, length values, and format specifications for various protocols (Ethernet, IPv4, IPv6, TCP, UDP, etc.), allowing the encapsulation engine to simply select and populate templates rather than compute header structures during packet processing.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If micro-coded engines are used for packet header encapsulation, then protocol flexibility is achieved, but device complexity increases

Engineering Contradiction:
Improveprotocol flexibilityVSAvoidengine complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent uses copying by creating reusable template patterns for common protocol headers. Instead of implementing complex logic to generate each header type, the system maintains template tables with pre-defined patterns for Ethernet headers, IPv4 headers, IPv6 headers, TCP headers, UDP headers, and other protocols. These templates can be copied and populated with specific packet data, dramatically simplifying the encapsulation engine architecture.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements universality through a single template-based encapsulation engine that can handle multiple protocol types (Layer 2 Ethernet, Layer 3 IPv4/IPv6, Layer 4 TCP/UDP, Fibre Channel, etc.) using the same fundamental mechanism. The universal template structure accommodates different protocol formats through configurable parameters rather than requiring separate processing logic for each protocol family.

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

3Adaptability or versatility

If micro-coded engines are used for packet header encapsulation, then protocol flexibility is achieved, but development time increases

Engineering Contradiction:
Improveprotocol flexibilityVSAvoiddevelopment schedule
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies self-service by enabling the encapsulation system to automatically adapt to new protocols through a configuration-driven approach. Rather than requiring software engineers to write and debug micro-code for each new protocol, the system allows protocol definitions to be specified through template configuration parameters (header formats, field offsets, length values), which the engine automatically processes. This self-configuring capability significantly reduces development time for protocol support.

Inventive Principle:
Principle #25Self-service

4Adaptability or versatility

If micro-coded engines are used for packet header encapsulation, then protocol flexibility is achieved, but processing speed deteriorates at high port rates

Engineering Contradiction:
Improveprotocol flexibilityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent replaces the mechanical sequential instruction execution system with a data-driven template population system. Instead of a micro-coded engine that fetches and executes instructions sequentially (mechanical process), the system uses pre-computed template data structures that can be populated in parallel through simple memory operations and data movement, eliminating the bottleneck of instruction cycle execution and enabling line-rate processing at high port rates.

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

Data Source

PatentUS8705533B1Fast packet encapsulation using templates
Publication Date: 2014.04.22 JUNIPER NETWORKS INC
  • US8705533B1 patent drawing
  • US8705533B1 patent drawing
  • US8705533B1 patent drawing

AI summary

A network device assigns unique encoded values, represented by mnemonics, to protocol headers supported by the network device, and defines a plurality of templates, where each template includes a set of the mnemonics. The network device also stores the plurality of templates in a template table, where the template table enables the network device to create one or more protocol headers for packets transmitted by the network device.