Reliable Messaging Across Volatile Networks Using Sequence Numbers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network protocols, such as HTTP and TCP, are inadequate for reliably maintaining real-time continuous communications sessions across network disconnections and reconnections, leading to issues with message ordering, duplication, and authentication, especially in volatile networking conditions.
Innovation Solution
A system and method that utilize transmission sequence numbers (TSN) and release sequence numbers (RSN) to ensure reliable messaging by generating and managing sequence numbers for transport messages, ensuring messages are delivered and released in the correct order without duplication, and maintaining session state across network changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If standard network protocols (HTTP, TCP) are used for communication, then ease of operation is improved, but reliability deteriorates under volatile networking conditions
Solution Approach 1:
The communication protocol is segmented into distinct layers: transport layer (handling message transmission) and application layer (handling data processing). The transport layer independently manages reliability through sequence numbers and acknowledgments, while the application layer focuses on ease of operation. This segmentation allows each layer to optimize for its specific function without compromising the other.
Solution Approach 2:
A transport agent acts as an intermediary between the application and the network protocol stack. This intermediary manages the complexity of reliable communication (sequence numbers, acknowledgments, retransmissions) transparently, allowing applications to operate easily while maintaining high reliability through the intermediary's sophisticated message management.
2Reliability
If sequence numbers are implemented for reliable message ordering, then reliability is improved, but device complexity increases
Solution Approach 1:
The patent implements sequence numbers only where necessary - at the transport message level - rather than throughout the entire system. This partial application of sequencing provides sufficient reliability for message ordering without adding excessive complexity to all communication layers. The sequencing is applied selectively to transport messages while keeping application data simple.
Solution Approach 2:
The transport agent automatically generates, tracks, and manages sequence numbers without requiring application-level intervention. The system self-services by autonomously handling the complexity of sequence number management, including generating TSNs for outgoing messages and verifying RSNs for incoming messages, thereby reducing the perceived complexity for users and developers.
3Reliability
If messages are buffered until sequence verification, then reliability is improved, but loss of time increases
Solution Approach 1:
Sequence numbers are generated and attached to messages in advance during the transmission phase, rather than being verified only after receipt. This preliminary action allows the receiving end to immediately verify sequence numbers upon message arrival, reducing buffering time. The TSN is prepared beforehand, enabling rapid comparison and decision-making at the receiving end.
Solution Approach 2:
The patent changes the timing parameter of sequence verification from post-receipt to immediate post-receipt validation. By implementing real-time sequence number checking as soon as a message arrives, the system minimizes buffering delays while ensuring reliability. The parameter change transforms the verification process from a delayed batch operation to an immediate inline operation, reducing time loss.
Data Source
AI summary
An electronic device is provided comprising a processor, a memory coupled to the processor, and a communications module saved in the memory and an application saved in the memory. The communications module configures the processor to generate a first transmission sequence number associated with a transport message to be sent to a remote device, include the first transmission sequence number in the transport message, and send the transport message to the remote device.


