Time Ordered Message Serializer Using Key-Time Pairs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems struggle to maintain the chronological order of messages received from remote devices, particularly in scenarios where messages are lost or received out of order due to network congestion or heavy loads, leading to processing inefficiencies.

Innovation Solution

A method involving the generation of key-time pairs for each message, storage in a priority queue and timer queue, and dispatching messages based on their chronological order, ensuring that messages are processed in the intended order by utilizing a shared hash map and compute nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If messages are processed in the order of receipt at the remote facility, then processing speed is improved, but message processing accuracy deteriorates because messages may be processed out of their intended order due to network delays, losses, and retransmissions

Engineering Contradiction:
Improveprocessing speedVSAvoidmessage processing accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by assigning sequence numbers to messages at the source before transmission. This allows the system to pre-establish the correct processing order without needing to wait for messages to arrive in sequence. The sequence numbers are embedded in each message, enabling the remote facility to sort and process messages in their original chronological order even when they arrive out of sequence due to network variations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If messages are buffered and sorted by sequence number to maintain chronological order, then message processing accuracy is improved, but processing time increases due to the additional sorting and buffering operations required

Engineering Contradiction:
Improvemessage processing accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies segmentation by dividing the message stream into individually numbered messages, each with its own sequence number. This allows the system to process messages independently while maintaining overall chronological order. Instead of buffering entire message batches, the system can process individual messages as they arrive once sorted by sequence number, reducing buffer requirements and processing overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses sequence numbers as an intermediary mechanism to bridge the gap between out-of-order message arrival and in-order processing requirements. The sequence numbers act as a mediator that enables sorting without requiring complex timing synchronization or extensive buffering, thus minimizing processing time while ensuring accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If sequence numbers are assigned to each message and messages are stored in data structures with priority queues, then message order management is improved, but system complexity increases due to the additional data structures and management overhead

Engineering Contradiction:
Improvemessage order managementVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by using sequence numbers that serve multiple functions: they identify message order, enable sorting, and can be used for acknowledgment and retransmission tracking. This single mechanism handles multiple aspects of message management without requiring separate complex systems for each function, thus reducing overall system complexity while improving reliability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10382348B2Time ordered message serializer
Publication Date: 2019.08.13 GENERAL MOTORS LLC
  • US10382348B2 patent drawing
  • US10382348B2 patent drawing
  • US10382348B2 patent drawing

AI summary

A system and method for processing a plurality of vehicle messages, wherein the method comprises: receiving a plurality of vehicle messages from a plurality of vehicles; generating a key n-tuple including a key and a time indicator for each of the vehicle messages; storing each of the vehicle messages in a data structure that comprises a priority queue for each key; storing each of the key n-tuples in a timer queue; obtaining a key n-tuple from the timer queue; recalling a vehicle message from a corresponding priority queue; and sending the vehicle message to at least one of a plurality of compute nodes.