Packet Protocol Processing With Precision Timing Support
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complexity of multiple communication protocols in a network, where each protocol defines information placement uniquely, leads to difficulties in processing data packets, especially when timing-related messages need to be coordinated across devices using different protocols.
Innovation Solution
A method and device with sequentially arranged comparison blocks that compare packet information to parameter values representing various protocols, using offset indicators to determine actions, including modifying time stamps and aligning data, to handle packets formatted with multiple protocols.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If multiple communication protocols are used to synchronize clocks and coordinate network devices, then timing accuracy and coordination capability are improved, but protocol complexity and processing difficulty increase
Solution Approach 1:
The packet processing function is segmented into multiple comparison blocks arranged in sequence, where each block handles comparison with a specific protocol type. This segmentation allows the system to process different protocols independently through dedicated blocks, reducing the complexity of handling multiple protocols simultaneously while maintaining timing accuracy for each protocol type.
Solution Approach 2:
The comparison blocks serve as intermediary components between the received packets and the timing protocol processing logic. Each comparison block acts as a mediator that identifies the packet type and routes it to the appropriate processing path, simplifying the overall protocol handling by introducing these intermediate comparison stages.
2Adaptability or versatility
If packets are formatted according to multiple nested protocols, then versatility and compatibility across different network standards are improved, but processing time and computational overhead increase
Solution Approach 1:
The comparison blocks perform preliminary identification and classification of packet types before the main processing occurs. By pre-comparing packet information against protocol parameter values in sequence, the system determines the appropriate processing path in advance, avoiding unnecessary processing steps and reducing overall processing time for multi-protocol packets.
Solution Approach 2:
The processing of nested protocols is segmented across multiple comparison blocks, where each block handles a specific protocol layer or type. This segmentation allows parallel or sequential processing of different protocol layers without requiring the entire packet to be processed through all protocol checks, thereby reducing computational overhead and processing time.
3Reliability
If sequential comparison blocks are used to identify protocol types, then processing accuracy and protocol identification reliability are improved, but device complexity and processing steps increase
Solution Approach 1:
The system dynamically adjusts the processing flow based on the outcomes of each comparison block. Rather than using a fixed complex structure for all packets, the sequential comparison blocks enable the processing path to adapt dynamically to the actual packet type, achieving high identification accuracy while keeping the actual processing path relatively simple for each specific protocol type.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Device and methods determine timing parameters and associated timing actions from timing messages in communication packets. The timing messages may be encapsulated with plurality of communication protocols. An example timing message may be an IEEE 1588 timing message encapsulated in an Internet protocol packet encapsulated in an Ethernet protocol packet. The protocols are matched in classifier blocks by comparing portions of the packet to bit values or ranges of values. Operation of other than the first classifier block depends on results of matching in the preceding block by using offset values passed between blocks that indicate starting points for the matching. The final classifier block matches values in timing messages to identify timing parameters and associated timing actions in the message.