Packet Ordering Unit for Parallel Processing Network Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices face challenges in maintaining the order of packets within a data flow during parallel processing, as packets are completed by multiple processing elements at different latencies, leading to out-of-order transmission.
Innovation Solution
The implementation of an ordering unit that distributes packets among multiple processing elements and queues them according to their order within the data flow, ensuring transmission only when processing is complete and the packet is at the head of its queue, using packet IDs and actions database to manage packet classes and updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If packets are distributed among multiple packet processing elements for parallel processing, then processing throughput is improved, but packet order within the data flow deteriorates
Solution Approach 1:
The patent segments the packet processing function by distributing packets among multiple packet processing elements (PPEs) for parallel processing. Each PPE independently processes packets assigned to it, improving throughput while the central controller maintains overall packet order through coordination
Solution Approach 2:
The patent introduces a central controller as an intermediary between packet reception and transmission. This controller assigns packets to PPEs, receives processed packets from PPEs, and manages the output queue to ensure packets are transmitted in the correct order, resolving the contradiction between parallel processing and order maintenance
2Speed
If packets are processed by multiple processing elements concurrently, then processing speed is improved, but transmission order reliability deteriorates
Solution Approach 1:
The patent applies preliminary action by having the central controller assign packets to specific PPEs before processing begins and maintain an output queue that buffers packets. This ensures that even though PPEs process packets at different speeds, the controller can release them in the correct order, maintaining reliability while enabling concurrent processing
Solution Approach 2:
The patent implements feedback mechanisms where PPEs report packet processing status back to the central controller, which then manages the output queue accordingly. This feedback loop ensures the controller has real-time information about processing completion and can maintain transmission order reliability
Data Source
AI summary
A plurality of packets that belong to a data flow are received and are distributed to two or more packet processing elements, wherein a packet is sent to a first packet processing element. A first instance of the packet is queued at a first packet processing element according to an order of the packet within the data flow. The first instance of the packet is caused to be transmitted when processing of the first instance is completed and the first instance of the packet is at a head of a queue at the first ordering unit. A second instance of the packet is queued at a second ordering unit. The second instance of the packet is caused to be transmitted when processing of the second instance is completed and the second instance of the packet is at a head of a queue at the second ordering unit.


