Packet Core Pinning via TEID Hashing for Wireless Traffic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In telecommunications systems, existing methods for routing data packets in multi-core networks are inefficient, leading to increased cache misses and data corruption due to the lack of flexibility in packet core selection, which affects throughput and user experience, especially in distinguishing between system-initiated proxy traffic and downstream UE traffic.
Innovation Solution
The system uses a tunnel endpoint identifier (TEID) and workflow session ID to pin packet processing to a specific core, employing a hashing algorithm to distribute traffic and splitting the MPLS label space to differentiate between UE and proxy traffic, while embedding core ID information in NAT addresses for enhanced load balancing and cache utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple processor cores are used for packet processing, then processing capacity and throughput are improved, but cache misses and data corruption increase due to lack of packet core selection flexibility
Solution Approach 1:
The patent segments packet processing by creating distinct processing domains for different traffic types (UE traffic vs. proxy traffic). Each domain is assigned to specific processor cores, ensuring that packets of the same type are consistently processed by the same core. This segmentation prevents cache misses and data corruption while maintaining high throughput through parallel processing across multiple cores.
Solution Approach 2:
The patent introduces an intermediary mechanism (the load balancer with hashing algorithm) that determines packet core selection based on packet characteristics. This intermediary ensures that packets are routed to appropriate cores while maintaining processing consistency, thereby preventing data corruption and cache misses without reducing overall processing capacity.
2Productivity
If packet core selection is made flexible to reduce cache misses, then processing efficiency is improved, but difficulty in distinguishing between UE traffic and proxy traffic increases
Solution Approach 1:
The patent applies local quality by treating different traffic types (UE traffic and proxy traffic) differently in the core selection process. UE traffic is processed using one hashing method while proxy traffic uses another, allowing the system to optimize for each traffic type's specific characteristics. This approach improves processing efficiency while maintaining clear differentiation between traffic types.
Solution Approach 2:
The patent changes the parameter used for core selection based on traffic type. For UE traffic, the hashing algorithm uses certain packet fields, while for proxy traffic, different fields are used. This parameter change enables efficient processing while maintaining the ability to distinguish between traffic types through the hashing process itself.
3Productivity
If hashing algorithm is used to distribute traffic across cores, then load balancing is improved, but complexity of the packet routing system increases
Solution Approach 1:
The patent implements self-service by using hashing algorithms that automatically distribute packets across cores based on packet content. The system serves itself by making routing decisions without complex external control, achieving excellent load balancing through simple, deterministic hashing functions. This approach improves productivity while minimizing the addition of system complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems and methods related to the confinement, or "pinning," of packet processing for a given wireless subscriber to a single "packet handler" core, to improve throughput in a telecommunication system and reduce the probability and incidence of cache misses. Packet header data can include a subscriber's tunnel endpoint identifier ("TEID") and/or a session identifier. A load balancer core can use one or both identifiers to select a packet handler core through which the packet's bidirectional traffic will be directed. A hashing algorithm can be used to distribute multiple UEs to each of multiple packet handler cores. Other embodiments relate to differentiating between system-initiated proxy traffic and downstream UE traffic using a partitioned multiprotocol label switching ("MPLS") label space. For example, the MPLS label space can be split into a UE Pool Address Domain and a Proxy Loopback Address Domain.