Version-Matched Update Handling in Distributed Data Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveconcurrent request handlingVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #23Feedback

2Loss of information

If response messages are transmitted for all update attempts, then clients can detect update status, but network traffic increases

Engineering Contradiction:
Improveupdate status informationVSAvoidnetwork traffic
Core Design Contradiction:
Loss of informationVSLoss of energy

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

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12072865B2Competing updates from multiple servicing instances
Publication Date: 2024.08.27 INTUIT INC
  • US12072865B2 patent drawing
  • US12072865B2 patent drawing
  • US12072865B2 patent drawing

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.