Packet Processing Identifier Mapping for Update Overhead Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In OpenFlow technology, when the storage location of an instruction block changes, packet processing apparatuses face high overheads due to the need to update multiple identifiers, leading to inefficient updates.

Innovation Solution

The packet processing apparatus accesses a first entry using a first identifier and a second entry using a second identifier, where the first entry includes a third identifier as the storage address of a second instruction block, allowing it to obtain and update only the third identifier to reflect the new storage location of the second instruction block.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the packet processing apparatus stores multiple identifiers of the same instruction block for different packets, then it can correctly process multiple packets through the same instruction block, but the overhead for updating identifiers increases when the storage location changes

Engineering Contradiction:
Improvepacket processing correctnessVSAvoidupdate overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces an intermediary mapping table that stores the correspondence between instruction block identifiers and their storage locations. Instead of directly storing multiple identical identifiers for different packets, the system uses this mapping table as an intermediate layer. When the storage location of an instruction block changes, the update is performed in the mapping table, and all packets referencing this instruction block automatically benefit from the updated location through the intermediary, thereby reducing update overhead while maintaining processing correctness.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a copy of the instruction block mapping information in the form of a mapping table that can be efficiently updated. Rather than updating all original identifier references when a storage location changes, the system maintains a copied representation in the mapping table that serves as the single source of truth for location information, reducing the complexity and overhead of updates.

Inventive Principle:
Principle #26Copying

2Reliability

If the packet processing apparatus updates multiple identifiers when the storage location of an instruction block changes, then all references remain valid, but the processing overhead and complexity increase

Engineering Contradiction:
Improveidentifier validityVSAvoidupdate complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The mapping table serves as an intermediary structure that centralizes the storage location information. Instead of having to update multiple scattered identifier references across different packet processing contexts, the system performs updates in a single location within the mapping table. This intermediary structure simplifies the update process while ensuring all identifier references remain valid through the centralized mapping.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The mapping table performs multiple functions: it stores the correspondence between identifiers and storage locations, serves as the single update point for location changes, and provides a unified interface for all packets to access instruction block locations. This multi-functional design reduces overall system complexity while maintaining identifier validity.

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

Data Source

PatentUS11184281B2Packet processing method and apparatus
Publication Date: 2021.11.23 HUAWEI TECH CO LTD
  • US11184281B2 patent drawing
  • US11184281B2 patent drawing
  • US11184281B2 patent drawing

AI summary

A packet processing method and apparatus relating to the field of communications technologies are provided, so as to reduce overheads and improve update efficiency. The method includes: receiving a first packet and a second packet; determining a first instruction block; obtaining a first identifier according to the first instruction block and the first packet, and obtaining a second identifier according to the first instruction block and the second packet, the first entry includes a third identifier, and the third identifier is a storage address of a second instruction block; obtaining the third identifier by accessing the first entry indicated by the first identifier, and obtaining the third identifier by accessing the first entry indicated by the second identifier; obtaining the second instruction block according to the third identifier; and processing the first packet and the second packet according to the second instruction block.