Multipart File Cloning via Catalog Sharing for Constant-Time Backup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional file cloning techniques are incapable of creating clones of multipart files in constant time due to the parts being stored across multiple volumes and nodes, failing to meet client backup and recovery requirements.
Innovation Solution
A file clone command is declared complete once catalog entries are moved and shared, with the actual cloning of parts performed as a background process, allowing the creation of file clones in constant time by using a clone parent file and block sharing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If conventional file cloning techniques are used for multipart files, then file clones can be created, but the cloning time increases with the number of parts distributed across multiple volumes and nodes
Solution Approach 1:
The invention segments the file cloning process into two distinct phases: a metadata phase that operates immediately on catalog entries, and a data phase that operates asynchronously on actual file parts. This segmentation allows the cloning operation to appear complete quickly while deferring the time-consuming data copying to background processes, thereby resolving the contradiction between cloning time and multipart file complexity.
Solution Approach 2:
The invention performs preliminary actions by creating the clone parent file and moving catalog entries before the actual file parts are copied. By completing the metadata setup in advance and declaring the clone command complete at this stage, the system achieves constant-time cloning appearance while the actual data replication occurs subsequently in the background, addressing the time complexity issue.
2Loss of time
If all parts are cloned synchronously, then data consistency is ensured, but the cloning operation cannot complete in constant time
Solution Approach 1:
The system performs preliminary metadata preparation including clone parent file creation and catalog entry movement before declaring the clone operation complete. This preliminary action establishes the cloning framework and data pointers in advance, allowing the operation to be declared complete in constant time while maintaining consistency through subsequent background synchronization of actual file parts.
Solution Approach 2:
The invention introduces an intermediary mechanism through clone generation values and status tracking that mediates between the immediate clone declaration and the asynchronous data copying. This intermediary layer ensures data consistency by tracking which parts have been cloned and coordinating background processes, thereby maintaining reliability without requiring synchronous completion of all parts.
3Manufacturing precision
If the clone command waits for all parts to be cloned, then complete accuracy is achieved, but client backup and recovery requirements cannot be met
Solution Approach 1:
The system performs preliminary actions by establishing the clone parent file and moving catalog entries to define the cloning structure and data pointers before declaring the clone command complete. This preliminary setup achieves the essential cloning accuracy for metadata and file structure while enabling rapid completion that meets backup speed requirements, with actual part copying occurring asynchronously in the background.
Solution Approach 2:
The invention applies partial action by completing the critical metadata cloning phase immediately while deferring the less time-sensitive data copying phase to background processes. This approach achieves sufficient cloning accuracy for backup operations to proceed, while the deferred data copying ensures complete accuracy is eventually achieved without blocking the backup workflow.
Data Source
AI summary
Techniques are provided for creating file clones of multipart files. Creating clones of files is an integral part of providing backup, restore, and other storage services. However, conventional file cloning techniques are unable to create clones of multipart files that are composed of multiple parts stored across different volumes and/or nodes in a constant time. The disclosed techniques are capable of cloning multipart files by creating a clone parent file into which catalog entries from a source multiple file are moved. A destination multipart file is initially created as an empty clone of the source multipart file. Block sharing of the catalog entries from the clone parent file to the source and destination multipart files is performed, and cloning of the source multipart file is declared complete in a constant time such as within a few seconds or less.


