Group Snapshot Management Using UPIT B+ Tree
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current snapshot technologies face scalability issues with managing large numbers of snapshots, particularly with redo-log based methods requiring intensive computations and tree-based methods having complex intertwined structures, making it difficult to manage snapshots of storage objects effectively.
Innovation Solution
The implementation of a universal point-in-time (UPIT) manager using a copy-on-write (COW) B+ tree structure to organize storage objects and their snapshots, allowing for efficient creation, deletion, and management of snapshots within a single storage structure, ensuring consistency and preventing data corruption, while supporting group snapshots across multiple storage objects.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If redo-log based snapshot techniques are used, then snapshot changes can be maintained separately, but the system cannot scale to manage a large number of snapshots and requires intensive computations to consolidate across different snapshots
Solution Approach 1:
The patent segments snapshot data into individual snapshot records within a single B+ tree structure, where each snapshot is represented as a separate node or set of nodes. This allows the system to manage hundreds of snapshots independently without requiring intensive consolidation computations, as each snapshot remains distinctly organized yet accessible within the unified tree structure.
Solution Approach 2:
The B+ tree structure serves multiple functions simultaneously: it stores snapshot data, maintains snapshot metadata, enables efficient search and retrieval, and supports scalability. This universal data structure eliminates the need for separate redo-log mechanisms while providing both consistency and scalability.
2Productivity
If tree-based snapshot techniques are used, then scalability to manage large numbers of snapshots is improved, but the snapshot structure becomes intertwined and complex
Solution Approach 1:
The patent segments the complex snapshot management problem into manageable components by organizing snapshots as distinct nodes within the B+ tree. Each snapshot can be independently created, accessed, and managed through clear node references, reducing the perceived complexity despite handling large numbers of snapshots.
Solution Approach 2:
The patent changes the structural parameters by using a B+ tree with specific optimizations for snapshot data, including dedicated metadata fields and organized node structures. This parameter optimization simplifies the management interface and operations while maintaining the scalability benefits of tree-based structures.
3Reliability
If a single storage structure is used to contain native parent and referenced snapshots, then data integrity is maintained and crash consistency is ensured, but the storage structure must handle increased complexity of managing multiple storage objects
Solution Approach 1:
The single B+ tree structure is designed to universally handle multiple storage objects and their snapshots through a unified interface. The tree structure inherently maintains data integrity through its self-balancing properties and transactional support, while the multi-functionality allows it to manage diverse storage objects without requiring separate structures for each.
Solution Approach 2:
The B+ tree acts as an intermediary layer between the storage objects and the snapshot management system. It provides a standardized interface for creating, accessing, and managing snapshots across multiple storage objects, simplifying the management complexity by abstracting the underlying storage details.
Data Source
AI summary
System and method for creating group snapshots of multiple storage objects uses storage structures to store the storage objects in a storage system. In order to create a group snapshot of storage objects, a prepare snapshot process is executed at each of multiple host computers managing the storage objects as storage structures to block input and output operations on the storage objects stored in the storage structures. A commit snapshot process is then executed at each of the multiple host computers to create snapshots of the storage object in the respective storage structures. In addition, the snapshots of the storage object are recorded in the respective storage structures as snapshot entries in the respective storage structures.


