Packet Order Maintenance in Multi-Processor Network Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices face challenges in maintaining the order of packets during parallel processing, as packets are processed independently by multiple elements, leading to out-of-order completion due to latency variations when accessing external resources.
Innovation Solution
A method and network device configuration that assigns packets to classes based on attributes, queues them according to reception order, and performs actions only when packets reach the head of their queues, ensuring order is maintained through a system of packet processing node elements and an ordering unit that manages packet classes and processing actions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If packets are processed independently by multiple packet processing node elements in parallel, then processing speed and productivity are improved, but packet order is lost due to latency variations when accessing external resources
Solution Approach 1:
The patent segments packets into different packet classes based on attributes, with each class assigned to dedicated queues. This segmentation allows parallel processing of different classes while maintaining order within each class, resolving the contradiction between parallel processing speed and packet order maintenance.
Solution Approach 2:
The ordering unit acts as an intermediary between packet processing node elements and the external interface. It receives packets, assigns them to classes and queues, and releases them in order, mediating between parallel processing needs and order maintenance requirements.
2Reliability
If packets are queued in separate queues by packet class, then packet order within each class is maintained, but device complexity increases due to multiple queues and class management
Solution Approach 1:
The ordering unit performs multiple functions: it classifies packets into different classes, assigns them to appropriate queues, and manages the release of packets in order. This multi-functionality consolidates complex queue management into a single unit, reducing overall device complexity while maintaining packet order.
3Reliability
If processing actions are delayed until packets reach the head of their queues, then packet order is preserved, but processing time increases due to waiting
Solution Approach 1:
By segmenting packets into different classes with separate queues, the system allows packets in different classes to be processed independently without blocking each other. This reduces waiting time while maintaining order within each class, resolving the contradiction between order preservation and processing speed.
Data Source
AI summary
A plurality of packets are received by a packet processing device, and the packets are distributed among two or more packet processing node elements for processing of the packets. The packets are assigned to respective packet classes, each class corresponding to a group of packets for which an order in which the packets were received is to be preserved. The packets are queued in respective queues corresponding to the assigned packet classes and according to an order in which the packets were received by the packet processing device. The packet processing node elements issue respective instructions indicative of processing actions to be performed with respect to the packets, and indications of at least some of the processing actions are stored. A processing action with respect to a packet is performed when the packet has reached a head of a queue corresponding to the class associated with the packet.


