Version-Matched Update Handling in Distributed Data Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed systems, updating data without compromising data consistency is challenging due to the risk of overwritten data or error messages when multiple instances compete to service update requests.
Innovation Solution
A method where an update message is received by a class with an expected version, and only applied if it matches the current version, with a response message transmitted as a success or failure based on the update's success, and subsequent updates sent to a unicast address for efficient processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple instances service update requests in a distributed system, then the system can handle more requests concurrently, but data consistency is compromised due to overwritten data or error messages
Solution Approach 1:
The system performs preliminary actions by including the current version of the object in the update message before the update is applied. This allows the servicing instance to verify version match beforehand, preventing conflicting updates from overwriting each other while maintaining concurrent processing capability
Solution Approach 2:
The system implements feedback by having servicing instances send response messages back to clients indicating whether the update was successfully applied. This feedback mechanism allows clients to detect version conflicts and retry with updated version information, maintaining data consistency across multiple concurrent instances
2Loss of information
If response messages are transmitted for all update attempts, then clients can detect update status, but network traffic increases
Solution Approach 1:
The system applies partial action by transmitting response messages selectively - only when necessary to provide update status information. Response messages are sent to inform clients of update outcomes, but the system avoids excessive messaging by not requiring acknowledgments for every single processing step, thus reducing overall network traffic while maintaining sufficient information flow
Data Source
AI summary
A method services competing updates from multiple servicing instances. An update message is received by a class of a plurality of classes that service an object. The update message includes an update to the object and an expected version for the object. A version match is determined between the expected version and a current version of the object. When the version match is successful, the update is applied to the object. A response message including the current version of the object is generated. The response message is transmitted. When the update is successfully applied, the response message is transmitted as a success message. When the update is not successfully applied, the response message is transmitted as a failure message.


