Packet Reorder Unit for Parallel Processing Sequence

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Productivity

If multiple packet processing elements process packets in parallel, then processing bandwidth is improved, but packet sequence order may be disrupted

Engineering Contradiction:
Improveprocessing bandwidthVSAvoidpacket sequence order
Core Design Contradiction:
ProductivityVSStability of the object's composition

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If packet fragmentation and multicasting are performed during processing, then network functionality is improved, but processing complexity increases

Engineering Contradiction:
Improvenetwork functionalityVSAvoidprocessing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #3Local quality

3Stability of the object's composition

If packet sequence is maintained through traditional checking methods, then packet order is preserved, but processing efficiency decreases

Engineering Contradiction:
Improvepacket orderVSAvoidprocessing efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10104003B1Method and apparatus for packet processing
Publication Date: 2018.10.16 MARVELL ISRAEL (M L S L) LTD
  • US10104003B1 patent drawing
  • US10104003B1 patent drawing
  • US10104003B1 patent drawing

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.