Packet Reorder Unit for Parallel Processing Sequence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices face challenges in maintaining the order of packets within a data flow during parallel processing, especially when fragmentation or multicasting occurs, leading to potential packet reordering and increased processing complexity.
Innovation Solution
A method and circuit design that utilize a reorder unit to map packet identifications into a data structure like linked lists, generating new packet instances as needed, and inserting these into the data structure to maintain sequence, allowing for efficient transmission without halting packet processing elements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple packet processing elements process packets in parallel, then processing bandwidth is improved, but packet sequence order may be disrupted
Solution Approach 1:
The patent segments packets into different groups based on their sequence numbers, with each group being processed by a dedicated processing element. This segmentation allows parallel processing while maintaining sequence order within each group, resolving the contradiction between improved bandwidth and preserved packet ordering.
Solution Approach 2:
The patent introduces an intermediary component that manages the distribution of packets to processing elements and reassembles them in the correct sequence. This intermediary layer enables parallel processing without disrupting the overall packet sequence, balancing productivity improvement with order stability.
2Adaptability or versatility
If packet fragmentation and multicasting are performed during processing, then network functionality is improved, but processing complexity increases
Solution Approach 1:
The patent performs preliminary actions by pre-establishing fragmentation and multicasting rules before packet processing begins. This allows the system to handle complex operations automatically without increasing real-time processing complexity, enabling enhanced network functionality while maintaining manageable processing complexity.
Solution Approach 2:
The patent applies different processing qualities to different parts of the packet stream, with fragmentation applied to specific packets that require it and multicasting applied to particular packet flows. This localized approach enables enhanced functionality without uniformly increasing processing complexity across all packets.
3Stability of the object's composition
If packet sequence is maintained through traditional checking methods, then packet order is preserved, but processing efficiency decreases
Solution Approach 1:
The patent implements self-service by having packets carry their own sequence number information and processing elements automatically managing sequence maintenance without requiring external checking. This self-managing approach preserves packet order while eliminating the need for halting processing elements to perform checks, thereby maintaining both order stability and processing efficiency.
Data Source
AI summary
Aspects of the disclosure provide a method for packet processing. The method includes receiving a plurality of packets at a port of a network device. The plurality of packets belong to a packet flow having a sequence within a stream of packets. The method then includes mapping identifications respectively allocated to the plurality of packets into a data structure of ordered identifications to maintain the sequence, and generating a new packet instance during processing of a specific packet. The specific packet has a specific identification and is one of the plurality of the packets. Then, the method includes inserting a new identification allocated to the new packet instance into the data structure of ordered identifications next to the specific identification to maintain the sequence and transmitting the plurality of packets and the new packet instance from the network device according to the sequence maintained in the data structure.


