Distributed Device Packet Processing Using Port Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed processing architectures face challenges in handling data with high change speed or large amounts, leading to inefficient resource utilization and failed packet processing due to the need for synchronous replication of data across processing units, especially in network devices like firewalls and server load balancers.

Innovation Solution

A packet processing method in a distributed device that uses offloading units and processing units to allocate IP addresses and port numbers based on data flow identifiers, ensuring that both uplink and downlink data streams are processed by the same processing unit, using a hash algorithm and adjustable values to optimize resource allocation and address translation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous replication of data is used on each processing unit, then data consistency is maintained, but resource consumption increases and scalability is limited for data with high change speed or large amount

Engineering Contradiction:
Improvedata consistencyVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent divides the session table data management into two parts: complete session table data is stored in a distributed storage system (external to processing units), while only session identifiers and mapping relationships are kept in memory on processing units. This segmentation allows multiple processing units to access session data without requiring full replication, reducing memory resource consumption while maintaining data consistency through centralized storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (session manager or control plane) that handles session table synchronization and data distribution between the distributed storage system and processing units. This intermediary manages the complexity of data consistency without requiring each processing unit to maintain complete replicated copies, thereby reducing resource consumption while ensuring reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If complete session table data is replicated on each processing unit, then packet processing can be performed independently, but storage resource consumption increases significantly

Engineering Contradiction:
Improveindependent packet processingVSAvoidstorage resource consumption
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent applies local quality by having each processing unit store only the specific session data it needs for its assigned traffic flows, rather than replicating the complete session table. Session identifiers and mapping relationships are kept locally in memory for fast access, while the full session table resides in distributed storage. This approach enables independent packet processing for each unit's assigned flows while dramatically reducing storage resource consumption.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If session table data is distributed across processing units, then resource consumption is reduced, but packet processing fails when uplink and downlink streams are offloaded to different processing units

Engineering Contradiction:
Improveresource consumptionVSAvoidpacket processing reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where session identifiers and mapping relationships are maintained in memory on each processing unit based on the distributed session table data. When a packet arrives, the processing unit queries its local memory for the session identifier, retrieves the mapping relationship if needed from distributed storage, and uses this information to determine the correct egress processing unit. This feedback loop ensures that even with distributed data, packets are correctly routed to the same processing unit for both uplink and downlink streams, maintaining processing reliability while keeping resource consumption low.

Inventive Principle:
Principle #23Feedback

4Productivity

If distributed storage of session table is used, then scalability is improved, but data synchronization and maintenance complexity increases

Engineering Contradiction:
ImprovescalabilityVSAvoiddata synchronization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary session manager that handles the complexity of session table synchronization and data distribution. This intermediary component manages the distributed storage system, handles data consistency protocols, and provides a simplified interface to processing units. By centralizing the synchronization logic in this intermediary layer, the system achieves scalability through distributed storage while the intermediary abstracts away the synchronization complexity from individual processing units.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3780552B1Message processing method in distributed device and distributed device
Publication Date: 2023.03.22 HUAWEI TECH CO LTD
  • EP3780552B1 patent drawingFigure 1
  • EP3780552B1 patent drawingFigure 2
  • EP3780552B1 patent drawingFigure 3

AI summary

This application discloses a packet processing method in a distributed device, to resolve a problem of a packet processing failure. The distributed device includes a first offloading unit, a second offloading unit, and at least two processing units. The first offloading unit receives a first packet from a first network and sends the first packet to a first processing unit. The first processing unit allocates an IP address and a port number to the first packet, where the allocated port number satisfies a condition: Based on a data flow identifier of a reverse packet of an address-translated first packet and a second offloading algorithm, a second processing unit selected from the at least two processing units is a same processing unit as the first processing unit, a source port number of the address-translated first packet is the allocated port number, and the second offloading algorithm is an algorithm used by a second offloading unit to offload the reverse packet. The first processing unit performs address translation on the first packet. The second offloading unit sends the address-translated first packet to a second network.