Programmable Hardware Packet Tunneling for Protocol Adaptability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hardware-based network processing solutions are limited in their ability to implement new tunneling protocols without relying on software-based methods, which reduces speed optimizations and becomes costly and obsolete in dynamic networking environments.

Innovation Solution

Implementing programmable tunnel creation within hardware-based packet processing systems, allowing specialized hardware like ASICs to insert tunnel headers using programmable tunnel header data stored in memories, enabling the application of new tunneling protocols without software assistance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If hardware-based packet processing is used, then processing speed is improved, but adaptability to new tunneling protocols deteriorates

Engineering Contradiction:
Improvepacket processing speedVSAvoidadaptability to new tunneling protocols
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic configuration mechanism where tunneling protocol parameters are stored in programmable memory rather than hardwired circuitry. This allows the hardware packet processor to be reconfigured for different tunneling protocols by loading new parameter sets from memory, enabling adaptability while maintaining hardware-based processing speed. The system can dynamically switch between different tunneling protocols without requiring physical hardware changes.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If software-based tunneling protocol implementation is used, then adaptability is improved, but processing speed deteriorates

Engineering Contradiction:
Improvetunneling protocol flexibilityVSAvoidpacket processing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent introduces an intermediary layer consisting of programmable memory structures that store tunneling protocol parameters. This intermediary allows the hardware processor to access multiple protocol configurations without switching to software processing. The memory acts as a bridge between the fixed hardware architecture and the need for protocol flexibility, enabling fast hardware processing with software-like adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If dedicated hardware for each tunneling protocol is implemented, then processing speed is improved, but device complexity and cost deteriorate

Engineering Contradiction:
Improveprotocol-specific processing speedVSAvoidhardware complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent creates a universal hardware packet processing structure that can handle multiple tunneling protocols through a single set of programmable components. Instead of implementing separate dedicated hardware circuits for each protocol, the system uses a unified architecture with programmable memory that can be configured for different protocols, reducing hardware complexity and cost while maintaining processing efficiency.

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

Solution Approach 2:

The patent implements protocol-specific processing by changing parameters stored in memory rather than changing the physical hardware structure. Different tunneling protocols are supported by loading different parameter sets (such as header formats, encapsulation rules, and processing algorithms) into the programmable memory, allowing the same hardware to efficiently process multiple protocols without physical reconfiguration.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10673650B2Programmable tunnel creation for hardware-based packet processing
Publication Date: 2020.06.02 AMAZON TECH INC
  • US10673650B2 patent drawing
  • US10673650B2 patent drawing
  • US10673650B2 patent drawing

AI summary

A packet processor may implement programmable tunnel creation. A network packet may be received at a packet processor. A tunneling protocol may be identified for the network packet. The packet processor may access one or more memories to obtain tunnel header data that includes a tunnel header and field identifiers which indicate respective fields in the tunnel header that are determined based on data in the network packet. The tunnel header data may have been stored in the one or more memories prior to receiving the network packet. The network packet may be modified to insert the tunnel header into the network packet including the respective fields indicated by the field identifiers. The modified packet may then be transmitted.