I/O Command Logging for Application-Consistent Snapshots
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for generating high-frequency application-consistent snapshots in computing systems are costly and disruptive, as they require signaling applications to quiesce, leading to increased resource usage and service interruptions.
Innovation Solution
The technique involves configuring applications to stream I/O commands to a secondary site, where they are logged and replayed to form data-consistent restore points, eliminating the need for frequent quiescing and reducing resource demands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If administrators increase the frequency of snapshots to capture more recent data, then data recovery completeness improves, but resource consumption and service disruption increase
Solution Approach 1:
The system performs preliminary actions by streaming I/O commands to a log in advance, maintaining a record of all I/O operations. This preliminary logging allows the system to reconstruct data states without requiring frequent application quiescing, thus improving data recovery completeness while reducing resource consumption during snapshot operations.
Solution Approach 2:
Instead of copying actual data blocks during snapshots, the system copies and logs I/O commands that describe the data changes. This command logging approach creates a lightweight representation of data state changes, enabling high-frequency snapshot capability with minimal resource consumption while maintaining complete data recovery ability.
2Reliability
If administrators increase the frequency of snapshots to capture more recent data, then data recovery completeness improves, but service interruption increases
Solution Approach 1:
The system performs preliminary I/O command logging continuously in the background before any snapshot is needed. This preliminary action ensures that when a snapshot is required, the system can immediately reconstruct data states without interrupting application service, thus improving data recovery completeness while maintaining continuous service availability.
Solution Approach 2:
The system copies I/O commands to a log instead of interrupting the application to quiesce. This copying approach allows snapshots to be formed by replaying logged commands without service interruption, enabling high-frequency snapshots that improve data recovery completeness while maintaining ease of operation with no service disruption.
3Manufacturing precision
If the system waits for application quiescence confirmation before taking snapshots, then data consistency is ensured, but snapshot frequency and speed decrease
Solution Approach 1:
The system copies I/O commands to a persistent log with sequence numbers and timestamps, creating a reliable record of all data changes. This command copying mechanism ensures data consistency by maintaining the exact sequence of operations, while enabling high snapshot frequency since no application quiescence is required—snapshots can be instantly reconstructed by replaying the logged commands.
Solution Approach 2:
The system performs preliminary I/O command logging continuously before snapshots are needed, maintaining an accurate record of all operations. This preliminary logging ensures data consistency is captured in advance, allowing snapshots to be formed immediately at high frequency without waiting for application quiescence confirmation.
4Reliability
If administrators send snapshots frequently to remote sites, then data recovery capability improves, but network bandwidth consumption increases
Solution Approach 1:
Instead of copying and transmitting actual data blocks, the system copies and transmits only the I/O commands that describe data changes. This command copying approach dramatically reduces the amount of data sent over the network while maintaining complete data recovery capability, as the remote site can replay the commands to reconstruct the exact data state.
Solution Approach 2:
The system performs preliminary logging of I/O commands locally before transmission, compressing the data representation. This preliminary action reduces network bandwidth consumption by sending compact command logs instead of raw data, while maintaining the ability to fully reconstruct data states at the remote site for complete recovery capability.
Data Source
AI summary
The disclosed systems emulate high-frequency application-consistent snapshots by forming restore point data sets based on remote site replay of I/O commands. A method embodiment commences upon identifying a primary computing site and a secondary computing site, then identifying an application to be restored from the secondary computing site after a disaster. Prior to the disaster, a group of computing entities of the application to be restored from the secondary computing site are identified. Input/output operations that are performed over any of the computing entities at the primary site are streamed to the secondary site where they are stored. An I/O map that associates a time with an indication of a last received I/O command that had been performed over a changing set of computing entities is sent to the secondary site. An agent at the secondary site accesses the I/O map and the streamed-over I/Os to construct recovery data.


