Packet Segmentation for Ordered Data Stream Transmission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing systems fail to maintain the ordered sequence of packets in data streams when transmitting them between multiple processors via a switching fabric, leading to potential misordering of packets at the destination device.
Innovation Solution
The system employs a message manager that segments packets into smaller chunks and uses a context field in the packet headers to ensure that packets are transmitted and reassembled in the correct order, using separate segmentation engines to process packets concurrently while maintaining the relative transmission order, and stalls the transmission of subsequent packets until preceding packets are fully transmitted.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If packets are segmented into smaller chunks to reduce message size, then transmission efficiency is improved, but packet order may be lost at the destination device
Solution Approach 1:
The patent segments packets into smaller chunks to reduce message size and improve transmission efficiency. The segmentation is performed by dividing packets at byte boundaries and using separate segmentation engines to process multiple packets concurrently. This resolves the contradiction by enabling efficient transmission while maintaining order through controlled segmentation.
Solution Approach 2:
The patent introduces an intermediary mechanism using context fields in packet headers and a message manager that tracks packet order. The context field acts as a mediator to identify packet boundaries and maintain ordering information, allowing segmented packets to be reassembled in the correct order at the destination device.
2Productivity
If multiple packets are transmitted concurrently to improve throughput, then productivity is improved, but packet ordering is compromised
Solution Approach 1:
The patent uses separate segmentation engines to divide and process multiple packets concurrently, improving throughput. Each segmentation engine operates independently on different packets, enabling parallel processing while maintaining order through the context field mechanism that tracks packet sequences.
Solution Approach 2:
The patent performs preliminary actions by setting context fields in packet headers before transmission and establishing ordering information in advance. This allows the destination device to correctly reassemble packets in the proper sequence even when transmitted concurrently, resolving the ordering issue without reducing throughput.
3Loss of time
If packet size is reduced by segmentation, then transmission time is reduced, but the complexity of maintaining order increases
Solution Approach 1:
The patent segments packets to reduce transmission time while using a systematic approach for order maintenance. The segmentation is performed at byte boundaries with clear delimiters, and the context field provides a simple mechanism for tracking packet order, avoiding complex ordering algorithms.
Solution Approach 2:
The patent changes the packet header structure by adding a context field that encodes ordering information. This parameter change simplifies order maintenance by providing explicit ordering cues in the packet structure itself, rather than requiring complex external tracking mechanisms.
Data Source
AI summary
A source processor can divide each packet of a data stream into multiple segments prior to communication of the packet, allowing a packet to be transmitted in smaller chunks. The source processor can process the segments for two or more packets for a given data stream concurrently, and provide appropriate context information in each segments header to facilitate in order transmission and reception of the packets represented by the individual segments. Similarly, a destination processor can receive the packet segments packets for an ordered data stream from a source processor, and can assign different contexts, based upon the context information in each segments header. When a last segment is received for a particular packet, the context for the particular packet is closed, and a descriptor for the packet is sent to a queue. The order in which the last segments of the packets are transmitted maintains order amongst the packets.


