Storage Snapset ID Assignment for Deterministic Identification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face challenges in deterministically identifying sets of snapshots due to non-deterministic naming conventions, especially in automated snapshot creation environments where generation numbers change frequently, leading to confusion and difficulty in managing snapsets.
Innovation Solution
Assigning a globally unique snapset ID to each snapshot set at creation, which remains constant regardless of other snapshot creations or deletions, allowing for easy identification and management of snapsets, while optionally using generation IDs for backward compatibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If generation numbers are used to identify snapshots, then snapshots can be differentiated by time, but the identification becomes non-deterministic when snapshots are created or deleted
Solution Approach 1:
The identification system is segmented into two independent parts: snapset ID for identifying the set of snapshots taken together, and generation ID for identifying individual snapshots within a storage volume. This segmentation allows the snapset ID to remain constant while generation IDs can change, resolving the contradiction between differentiation capability and identification consistency.
Solution Approach 2:
The snapset ID acts as an intermediary identifier that links multiple snapshots across different storage volumes taken at the same time. Instead of relying on generation numbers that change with each snapshot operation, the snapset ID provides a stable reference point that mediates the relationship between snapshots and their creation event, ensuring deterministic identification.
2Ease of operation
If manual snapshot creation is used, then users can control snapshot timing, but management becomes difficult in automated environments with frequent snapshots
Solution Approach 1:
The system automatically assigns snapset IDs to snapshots when they are created, eliminating the need for manual identification management. In automated snapshot environments, the storage system itself services the identification needs by generating and maintaining snapset IDs, which allows users to simply reference the snapset ID without worrying about generation number management or snapshot timing coordination.
3Adaptability or versatility
If storage volumes are added to storage group and individual snapshots are taken, then flexibility is increased, but tracking snapshots by snapset becomes difficult
Solution Approach 1:
The snapset ID serves multiple functions simultaneously: it identifies the set of snapshots taken together, tracks which snapshots belong to the same snapset across different storage volumes, and provides a universal reference that works whether snapshots are created individually or as part of a group. This multi-functionality maintains flexibility in snapshot creation while preventing loss of information about snapset composition.
Data Source
AI summary
Snapsets containing snapshots from a group of storage volumes are assigned snapset IDs. The same snapset ID is applied to each snapshot of the snapset, and is a globally unique value within the storage system. The snapset ID is assigned to a snapshot upon creation, and remains the same regardless of creation or deletion of other snapshots on the storage volume. By assigning a snapset ID to each snapshot of the snapset, and maintaining the snapset ID as a constant value as long as the snapshot is maintained on the storage system, it is possible to easily determine which snapshots form a given snapset. Control operations on particular storage groups or across storage groups are implemented by specifying particular actions to be taken on snapsets or snapshots, which are identified using the snapset IDs.


