UPF Packet Processing via Flow Key Lookup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for packet processing in User Plane Function (UPF) modules in 5G communications networks face significant latency and throughput challenges due to inefficient Packet Detection Rule (PDR) searching and instruction set application processes, particularly when handling large volumes of data packets from numerous user equipment (UEs).
Innovation Solution
The implementation of a 'fast path' processing method within the UPF module that bypasses the PDR search and instruction set application for subsequent data packets of a flow by using a flow key lookup, reducing latency and increasing throughput by storing the instruction set and flow key for subsequent packets, allowing them to be processed directly without re-searching.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional PDR searching method is used for each data packet, then packet processing accuracy is maintained, but packet processing latency increases and throughput decreases
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing flow keys and their corresponding instruction set identifiers in a flow table before packet processing. When a packet arrives, the system performs a quick flow key match in the flow table rather than executing the complete PDR search algorithm, thereby significantly reducing processing latency while maintaining accuracy.
Solution Approach 2:
The patent creates a simplified copy of the PDR matching functionality through the flow table, which stores pre-computed flow keys and instruction set identifiers. This copy enables rapid lookup and processing for subsequent packets without repeating the full PDR search, thus improving throughput while preserving the correctness of packet processing decisions.
2Measurement precision
If PDR search is performed for every data packet, then correct instruction set is determined, but processing time complexity remains linear O(n)
Solution Approach 1:
The system performs the complex PDR search and instruction set identification in advance, storing the results as flow key-to-instruction-set mappings in the flow table. This preliminary computation transforms the time complexity from linear O(n) per packet to constant O(1) lookup time, while the stored mappings ensure accurate instruction set determination is maintained.
Solution Approach 2:
The flow table acts as an intermediary data structure between incoming packets and the instruction set application process. It pre-stores flow keys extracted from packet headers and their corresponding instruction set identifiers, enabling rapid intermediate lookup that bridges packet reception and processing without requiring full PDR search execution for each packet.
3Reliability
If complete PDR and instruction set search process is executed for each packet, then processing accuracy is ensured, but system throughput is reduced
Solution Approach 1:
The system executes the complete PDR search and instruction set identification process in advance for the first packet of each flow, storing the resulting flow key and instruction set identifier in the flow table. Subsequent packets of the same flow benefit from this preliminary work through rapid flow table lookup, maintaining processing accuracy while significantly improving system throughput.
Solution Approach 2:
The flow table creates a simplified copy of the packet processing decision logic by storing flow keys and their corresponding instruction set identifiers. This copy allows subsequent packets to be processed through fast lookup rather than complete PDR search, preserving accuracy while enhancing throughput by eliminating redundant computation.
Data Source
AI summary
Described is a method of processing data packets in a communications network. The method comprises receiving a first data packet of a data packet flow from a network device and determining an instruction set for processing said first data packet. A flow key for said first data packet is determined. The first data packet is processed according to the determined instruction set. The method includes receiving a subsequent data packet and determining if a flow key of said subsequent data packet matches said flow key of said first data packet. If yes, the subsequent data packet is processed using the instruction set determined for said first data packet.


