Priority-Based Data Replication in Distributed Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional distributed cluster environments lack the ability to coordinate priority-based data replication processes among compute nodes, leading to potential storage overflow, data corruption, Service-Level Agreement (SLA) violations, and application downtime due to uneven resource allocation and lack of communication between compute nodes regarding their urgent replication needs.
Innovation Solution
A system and method that collect storage-utilization totals from virtual machines, prioritize data replication based on these totals, and schedule processes to ensure that compute nodes with higher storage needs initiate replication first, potentially involving multiple nodes in aggressive replication jobs to manage resource allocation effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If compute nodes independently schedule their own data replication processes without coordination, then each node can manage its own replication needs, but the system cannot prioritize replication based on urgent storage needs leading to potential storage overflow and SLA violations
Solution Approach 1:
The patent introduces a coordinator component that acts as an intermediary between compute nodes and the data node. This coordinator collects storage utilization information from compute nodes, determines replication priorities based on storage needs, and schedules replication processes accordingly. This mediator resolves the contradiction by enabling system-wide prioritization without requiring complex peer-to-peer coordination between compute nodes.
Solution Approach 2:
The system implements feedback mechanisms where compute nodes report their storage utilization status to the coordinator, which then adjusts replication scheduling based on this feedback. The coordinator continuously monitors storage utilization totals and dynamically prioritizes replication processes accordingly, ensuring that nodes with higher storage needs receive priority service while maintaining system-wide coordination.
2Productivity
If compute nodes with lower storage utilization perform replication first, then resource allocation appears evenly distributed, but urgent replication needs are delayed causing storage overflow and data corruption risks
Solution Approach 1:
The patent changes the scheduling parameter from first-come-first-served or round-robin to priority-based scheduling where the priority is determined by storage utilization total. The coordinator assigns higher priority to compute nodes with greater storage needs, ensuring that replication throughput is directed toward nodes at risk of storage overflow while maintaining data integrity through timely replication.
Solution Approach 2:
The system performs preliminary assessment of storage utilization needs before scheduling replication processes. By evaluating storage utilization totals in advance, the coordinator can proactively prioritize replication for nodes that are approaching storage capacity, preventing storage overflow and data corruption before they occur rather than reacting after problems arise.
3Reliability
If the system implements priority-based scheduling of data replication, then urgent replication needs are addressed first preventing storage overflow, but the system requires centralized coordination and information collection infrastructure
Solution Approach 1:
The coordinator component performs multiple functions: collecting storage utilization information from compute nodes, determining replication priorities, scheduling replication processes, and monitoring replication progress. This multi-functional approach consolidates the coordination infrastructure into a single component that handles all priority-based scheduling tasks, reducing overall system complexity compared to distributing coordination functions across multiple components.
Data Source
AI summary
The disclosed computer-implemented method for performing data replication in distributed cluster environments may include (1) identifying a distributed cluster environment that includes (A) a plurality of compute nodes that execute a plurality of virtual machines and (B) a data node that stores data that has been replicated from storage devices used by the virtual machines, (2) determining, at the data node, storage-utilization totals for the virtual machines that represent amounts of storage space on the storage devices used by the virtual machines, (3) identifying, based at least in part on the storage-utilization totals, a virtual machine whose storage-utilization total is highest among the plurality of virtual machines, (4) prioritizing the virtual machine and then in response to the prioritization, (5) directing the compute node to initiate a data replication process with the data node in connection with the virtual machine. Various other methods, systems, and computer-readable media are also disclosed.


