Session-Aware Packet Core Assignment for Network Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core network devices, indiscriminate allocation of packets to processing cores can result in out-of-order datagrams and reduced throughput due to different cores having varying processing performance based on load.

Innovation Solution

Implement a method where each received datagram is assigned to a specific core based on criteria such as header fields or payload content, ensuring datagrams belonging to the same session are processed by the same core.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If packets are allocated indiscriminately to multiple cores, then processing capacity is increased, but packet ordering is compromised and throughput decreases

Engineering Contradiction:
Improveprocessing capacityVSAvoidpacket ordering
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the packet processing function by assigning packets from the same data session to specific cores based on session identification. This segmentation ensures that while multiple cores can process different sessions simultaneously (maintaining productivity), each core maintains proper ordering for its assigned sessions (maintaining reliability).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making different cores have different responsibilities for specific data sessions. Each core is assigned to handle particular sessions, creating localized processing domains where ordering is guaranteed, while the overall system maintains high throughput through parallel processing of multiple sessions across different cores.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If different cores process different packets of the same session, then load balancing is improved, but packet reordering occurs and throughput decreases

Engineering Contradiction:
Improveload balancingVSAvoiddata throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments sessions among cores such that each session is assigned to a specific core for processing. This segmentation achieves load balancing across cores (as different sessions are distributed to different cores) while preventing packet reordering (as all packets of a session remain on the same core), thereby maintaining high throughput.

Inventive Principle:
Principle #1Segmentation

3Productivity

If multiple cores are used to process packets, then processing performance is improved, but packet drops increase due to reordering

Engineering Contradiction:
Improveprocessing performanceVSAvoidpacket delivery accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments packet processing by session, assigning each session to a specific core. This allows multiple cores to process different sessions in parallel (improving processing performance) while ensuring that packets within each session are processed in order by a single core (preventing packet drops due to reordering), thus maintaining packet delivery accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by ensuring that each core maintains strict ordering for its assigned sessions while the overall system benefits from parallel processing. This localized ordering guarantee prevents packet drops, while the distributed architecture across multiple cores maintains high processing performance.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12255808B2Methods and systems for sending packets through a plurality of tunnels
Publication Date: 2025.03.18 PISMO LABS TECH
  • US12255808B2 patent drawing
  • US12255808B2 patent drawing
  • US12255808B2 patent drawing

AI summary

Described in example embodiments herein are methods and systems for implementing sending packets from a first network node to a second network node. Packets belonging to the same session may be sent through the same or different tunnels. The second network node processes packets belonging to the same session using the same core. In accordance with an example embodiment, the first network node informs the second network code the core to process the packets. Optionally, selection of core at the second network node is assisted by a core identity created by the first network based on the session. The core identity may be stored in the header or payload of the packets. In an example embodiment, the second network determines the core for processing packet belonging to the same session.