Asynchronous Messaging Synchronization via Status Flags
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computer networks, existing communication protocols face a dilemma between pessimistic and optimistic approaches, where pessimistic protocols ensure openness but lack flexibility, while optimistic protocols offer flexibility but compromise on openness, making it difficult to manage multiple modifications to data objects efficiently.
Innovation Solution
A computer-implemented method and system that uses status objects and flags to manage data object modifications, allowing users to enter changes without waiting for confirmation, while ensuring that notifications are sent only after confirmation is received, thereby combining the advantages of both pessimistic and optimistic protocols.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a pessimistic communication protocol is used, then reliability of data synchronization is improved, but flexibility and ease of operation deteriorate because users must wait for confirmation before making modifications
Solution Approach 1:
The system performs preliminary actions by sending notification messages for multiple modifications before receiving confirmation. The purchaser can enter multiple modifications and have them queued for transmission, so that when confirmation is received, all modifications are sent together rather than waiting for each individual confirmation.
Solution Approach 2:
The communication protocol dynamically adjusts between pessimistic and optimistic approaches based on confirmation status. When no confirmation is received, the system allows multiple modifications to be entered and queued (optimistic behavior). When confirmation is received, the system ensures reliable synchronization before allowing further modifications (pessimistic behavior).
2Ease of operation
If an optimistic communication protocol is used, then flexibility and ease of operation are improved, but reliability of data synchronization deteriorates because modifications may be lost or inconsistent
Solution Approach 1:
The system uses feedback from confirmation messages to ensure reliable synchronization. When a confirmation message is received from the supplier system, the purchaser system uses this feedback to determine that all queued modifications have been successfully transmitted and synchronized, thereby ensuring data consistency while maintaining operational flexibility.
Solution Approach 2:
The system introduces an intermediary mechanism (the notification message queue with confirmation tracking) between the modification entry and the actual transmission. This intermediary ensures that modifications are not lost by buffering them until confirmation is received, while still allowing users to enter modifications freely without waiting.
3Measurement precision
If multiple modifications are sent separately with confirmation waiting, then data synchronization accuracy is improved, but productivity deteriorates due to repeated waiting periods
Solution Approach 1:
The system merges multiple modifications into a single notification message transmission. Instead of sending each modification separately and waiting for confirmation after each one, the system accumulates multiple modifications and sends them together in one transmission upon receiving confirmation, thereby maintaining synchronization accuracy while significantly improving productivity.
Solution Approach 2:
The system maintains continuous useful action by allowing users to enter multiple modifications without interruption. The modifications are queued and prepared for transmission continuously, and when confirmation is received, all queued modifications are transmitted in sequence without requiring the user to wait between entries, thus maintaining continuous productive work flow.
Data Source
AI summary
A computer-implemented method of, and system for, messaging in a computer network is disclosed. The computer network comprises at least two computer-based participant systems communicating through asynchronous exchange of messages. The first system maintains one or more data objects and notifies another system of modifications of the data objects by sending messages. Each time a data object is modified, the corresponding status object is updated and a modification status flag is checked. In response, a communication status flag is checked and a notification message is sent to the other system if necessary. The modification status flag is then reset. Upon receipt of a confirmation message from the other system, the communication status flag is then reset to the original status.


