Clustered Object Synchronization Using On-Demand Node Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Updating a node in a clustered system leads to high workload and increased hardware costs due to the need for constant synchronization of all nodes, resulting in slow performance and inefficient resource utilization.
Innovation Solution
Implementing a method where a storage system receives I/O requests, modifies data in a first storage node, and transfers only the modified data to a master storage node, which maintains an update descriptor list, allowing each node to update only the changed data instead of replacing all data, thereby reducing inter-cluster communication and improving processing speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all nodes are updated simultaneously for every I/O operation, then data consistency is maintained, but workload on storage system and network increases significantly
Solution Approach 1:
The patent segments the node update process into individual node updates rather than simultaneous updates of all nodes. When an I/O operation modifies data, only the specific node containing that data is updated, and changes are propagated to other nodes on-demand based on subsequent I/O requests, thereby reducing overall workload while maintaining consistency.
Solution Approach 2:
The patent implements preliminary action by maintaining a master object update descriptor list that tracks which nodes have which versions of objects. This allows the system to determine in advance which nodes need updates for subsequent I/O operations, avoiding unnecessary updates and reducing workload.
2Reliability
If all nodes are updated simultaneously for every I/O operation, then data consistency is maintained, but network traffic and hardware costs increase
Solution Approach 1:
The patent extracts only the necessary update information from I/O operations. Instead of propagating all changes to all nodes, the system extracts and transfers only the specific modified data to the master node, which then selectively propagates only relevant updates to specific nodes based on the update descriptor list, reducing network traffic.
Solution Approach 2:
The patent applies partial action by updating only the necessary subset of nodes rather than all nodes. The update descriptor list enables the system to identify exactly which nodes require updates for each I/O operation, performing only the partial updates needed to maintain consistency without the excess of updating all nodes.
3Reliability
If constant updating of all nodes is performed, then data consistency is ensured, but processing speed decreases
Solution Approach 1:
The patent segments the update process into discrete, on-demand node updates triggered by specific I/O operations rather than continuous simultaneous updates of all nodes. This segmentation allows processing to proceed at full speed for I/O operations on nodes that don't require updates, while maintaining consistency for nodes that do need updates.
Solution Approach 2:
The patent uses preliminary action through the master object update descriptor list to pre-determine which nodes require updates before executing I/O operations. This allows the system to proceed with processing at full speed by skipping updates for nodes that don't need them, while ensuring consistency is maintained for nodes that do require updates.
Data Source
AI summary
A storage system in a clustered system may receive a first input/output (I/O) request. The storage system may include one or more storage nodes. Each of the one or more storage nodes may have a copy of a particular object stored thereon. The storage system may execute the first I/O request. Executing the first I/O request may modify data of a first object in a first storage node. The first object may be a copy of the particular object. The storage system may transfer the modified data of the first object to a master storage node. The master storage node may include a master object update descriptor list.


